﻿var tabClicked = false;

/* Map */
function getTopPos(inputObj) {
    var returnValue = inputObj.offsetTop;
    while ((inputObj = inputObj.offsetParent) != null) returnValue += inputObj.offsetTop;
    return returnValue;
}
function getLeftPos(inputObj) {
    var returnValue = inputObj.offsetLeft;
    while ((inputObj = inputObj.offsetParent) != null) returnValue += inputObj.offsetLeft;
    return returnValue;
}
function showPreview(newSrc, imageIndex) {
    if (!previewImage) {
        var images = document.getElementById('previewPane').getElementsByTagName('IMG');
        if (images.length > 0) {
            previewImage = images[0];
        } else {
            previewImage = document.createElement('IMG');
            document.getElementById('previewPane').appendChild(previewImage);
        }
    }
    previewImage.src = newSrc;
}
function initSlide(e) {
    if (document.all) e = event;

    //if (this.src.indexOf('over') < 0) this.src = this.src.replace('.jpg', '-over.jpg');

    var hiddenAreaHeight = previewImageParent.offsetHeight - previewImagePane.offsetHeight;
    var overDownArrow = this.src.indexOf('down') > -1;
    if (overDownArrow)
        var isAtEnd = parseInt(previewImagePane.style.top) < hiddenAreaHeight;
    else
        var isAtEnd = parseInt(previewImagePane.style.top) > 0;
    
    if (!isAtEnd) {
        slideSpeed = 5 * (overDownArrow ? -1 : 1); //e.clientY + Math.max(document.body.scrollTop, document.documentElement.scrollTop) - getTopPos(this);
        slideSpeed = Math.round(slideSpeed * 10 / arrowImageHeight);
    }



    //console.log("speed=" + slideSpeed);
    
}
function stopSlide() {

    slideSpeed = 0;
    this.src = this.src.replace('-over', '');
}
function slidePreviewPane() {
    if (slideSpeed != 0) {
        var topPos = previewImagePane.style.top.replace(/[^\-0-9]/g, '') / 1;


        
        //if (slideSpeed < 0 && slideEndMarker.offsetTop < (previewImageParent.offsetHeight - topPos)) {
        //    slideSpeed = 0;
        //}
        topPos = topPos + slideSpeed;

        var hiddenAreaHeight = -1 * Math.max(0, previewImagePane.offsetHeight - previewImageParent.offsetHeight);
        //console.log("pos=" + slideEndMarker.offsetTop + "|" + previewImageParent.offsetHeight + "|" + topPos + "|" + hiddenAreaHeight + "|" + (previewImageParent.offsetHeight - previewImagePane.offsetHeight) );


        if (topPos > 0) {
            topPos = 0;
            slideSpeed = 0;
        } else if (topPos < hiddenAreaHeight) {
            topPos = hiddenAreaHeight;
            slideSpeed = 0;
        }

        previewImagePane.style.top = topPos + 'px';
    }
    setTimeout('slidePreviewPane()', 30);
}
function revealThumbnail() {
    this.style.filter = 'alpha(opacity=100)';
    this.style.opacity = 1;
}
function hideThumbnail() {
    this.style.filter = 'alpha(opacity=50)';
    this.style.opacity = 0.5;
}
function initGalleryScript() {
    previewImageParent = document.getElementById('theImages');
    previewImagePane = document.getElementById('theImages').getElementsByTagName('DIV')[0];
    previewImagePane.style.top = '0px';
    galleryContainer = document.getElementById('galleryContainer');
    var images = previewImagePane.getElementsByTagName('IMG');
    for (var no = 0; no < images.length; no++) {
        images[no].onmouseover = revealThumbnail;
        images[no].onmouseout = hideThumbnail;
    }
    slideEndMarker = document.getElementById('slideEnd');

    document.getElementById('arrow_up_image').onmousemove = initSlide;
    document.getElementById('arrow_up_image').onmouseout = stopSlide;

    document.getElementById('arrow_down_image').onmousemove = initSlide;
    document.getElementById('arrow_down_image').onmouseout = stopSlide;
    var divs = previewImageParent.getElementsByTagName('DIV');

    slidePreviewPane();
}
/* Animated Moving Truck */
var left = 590;
var t

function initTruck() {
    left = left - 2;
    var truck = gId('truck_image');
    truck.style.left = left + "px";
    t = setTimeout("initTruck()", 1);
    if (left <= 0) {
        clearTimeout(t);
    }
}
function switchToStreet() {
    streetView();
    var d1 = document.getElementById('displayNearby');
    d1.style.display = "none";
    var d2 = document.getElementById('displayStreet');
    d2.style.display = "block";
}

/* Street View */
var myPano;
function streetView() {
    panoramaOptions = { latlng: latlong };
    myPano = new GStreetviewPanorama(document.getElementById("pano"), panoramaOptions);
    GEvent.addListener(myPano, "error", StreetViewError);
}
function StreetViewError(errorCode) {
    if (errorCode == 603) {
        alert("Error: Flash doesn't appear to be supported by your browser");
        return;
    }
    if (errorCode == 600) {
        var box = document.getElementById('displayStreet');
        box.innerHTML = '<div style="background-color: #fff; margin: 10px 0 0 10px; width: 425px; height: 160px; border: 1px solid #658293; padding-top:100px; text-align:center; font-size:14px;">Google Street View is not available at this location.<br /><br /><font style="font-size:14px; text-decoration:underline; cursor:pointer;" onclick="javascript: siteMediaBox.show(document.getElementById(\'tabMap\'))">Return to map</font></div>';
        return;
    }
}
function switchToMap() {
    var d1 = gId('displayNearby');
    d1.style.display = "block";
    var d2 = gId('displayStreet');
    d2.style.display = "none";
}
function popUrl(url, width, height) {
    LeftPosition = (screen.width) ? (screen.width - width) / 2 : 0;
    TopPosition = (screen.height) ? (screen.height - height) / 2 : 0;

    settings = 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=' + width + ',height=' + height + ',top=' + TopPosition + ',left=' + LeftPosition;
    win = window.open(url, null, settings);

    if (win.focus) {
        win.focus();
    }
}



//
//
//
//
//
//
//
//
//
//
//
//

          
// --------------

//function switchToStreet() {
    //streetView();
    //var d1 = document.getElementById('displayMap');
    //d1.style.display = "none";
    //var d2 = document.getElementById('displayStreet');
    //d2.style.display = "block";
//}


(function() {
    window.siteMediaBox = new (function() {
        var that = new Array();
        that.find = function(name) {
            for (var i = 0; i < this.length; i++) {
                if (this[i].name == name)
                    return this[i];
            }
        }
        that.add = function(tabElem, containerId) {
            var uniqueId = tabElem.id;
            var newElem = {
                name: uniqueId,
                tab: {
                    id: tabElem.id,
                    elem: tabElem
                },
                container: {
                    id: containerId,
                    elem: document.getElementById(containerId)
                }
            };
            this.push(newElem);
        }
        function adjustClassName(elem, isActive) {
            if (typeof (elem.className) != "string")
                elem.className = "";
            if (isActive) {
                if (elem.className.indexOf("active") < 0)
                    elem.className += " active";
            } else
                elem.className = elem.className.replace(" active", "");
        }
        that.show = function(tabObj) {
            var activeId = false;
            var vid = document.getElementById("displayVideo");
            if (vid) {
                vid.style.display = "none";
                var mv = document.getElementById("ytPlayer");
                if (mv) try { mv.stopVideo(); } catch (e) { };
            }
            var sv = document.getElementById("displayStreet");
            if (sv)
                sv.style.display = "none";
            for (var i = 0, item; item = this[i], i < this.length; i++) {
                if (!item.container.elem)
                    item.container.elem = document.getElementById(item.container.id);
                if (item.container.elem) {
                    var isActive = (item.name == tabObj.id);
                    adjustClassName(item.tab.elem, isActive);
                    if (isActive) {
                        activeId = item.container.id;
                        item.container.elem.style.display = "block";
                    } else if (!activeId || item.container.id != activeId)
                        item.container.elem.style.display = "none";
                }
            } // for
        }
        return that;
    })();
    window.initSiteMediaTabs = function() {
        var parent = document.getElementById("siteMediaTabs");
        if (parent) {
            var liList = parent.getElementsByTagName("li");
            for (var i = 0, li; li = liList[i], i < liList.length; i++) {
                var forVal = li.getAttribute("for");
                if (i == 0)
                    li.className = (li.className ? li.className + " " : "") + "first";
                if (forVal) {
                    //var a = li.getElementsByTagName("a")[0];
                    siteMediaBox.add(li, forVal);
                    li.onclick = (function(li, containerId) {
                        return function() {
                            tabClicked = true;
                            if (containerId == "displayNearby")
                                initBothMaps(li.id);
                            siteMediaBox.show(li);
                        }
                    })(li, forVal);
                }
            }
            siteMediaBox.show(liList[0], siteMediaBox[0].id);
        } else
            setTimeout("initSiteMediaTabs()", 500);
    }
    initSiteMediaTabs();
})();

 

