﻿/*-------------------------------GLOBAL VARIABLES------------------------------------*/
// virtual tour specific

var currentImage = 0;
var media = document.getElementById("media");
var vtListUL = document.getElementById("vtListUL");

var locationMapTrigger;
var photoGalleryTrigger;

var btnVTMapTriggerID = "";
var btnVTPhotoTriggerID = "";

var vtBrandFieldID = "";
var vtVendorFieldID = "";

var g_vtListLink;

/*-----------------------------------------------------------------------------------------------*/


/*===================================================================================*/
/* Virtual Tour Functions     */
/* Written by Brenda Remedios */


// This function sets the caption/title/image on the screen
function displayImage()
{
    var imageID = currentImage;
    var vtListType = getElementsByClass("vtListType", vtListUL);
    var vtListUrl = getElementsByClass("vtListUrl", vtListUL);

    var oMedia = document.getElementById("media");
    var oMediaImage = document.getElementById(g_vtImageID);
    var oQTMedia = document.getElementById("quicktimeMedia");
    var oOverlay = document.getElementById("overlay");

    if (vtListType[currentImage].value == "4")
    {

        // The quicktime div's default content is a message with instructions on downloading Quicktime.    
        if (CheckForQuicktime())
        {
            // Quicktime
            oMedia.style.display = "none";
            oQTMedia.style.display = "block";
            
            if (!browser)
	        {	        
	            getBrowserInfo();
	        }
            if ( browser == "Safari" )
            {
                // bug with safari with dynamically creating quicktime objects
                //  it seems that changing focus back and forth 'fixes' the 
                //  problem.
                // However, this following line breaks in IE, so it is only
                //  called in Safari.
                oMedia.focus();
            }
            
            if (browser != "Safari" )
            {
                // bug with IE6+7 that will display the QT movie in the upper left corner
                //  if the qtmedia div is displayed when it is recreated dynamically.
                oQTMedia.style.display = "none";
            }
            
            oQTMedia.innerHTML = "<object style=\"display: block; visibility: visible;\" id=\"objMediaSource\" classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\" width=\"420\" height=\"315\">" +
                "<param name=\"cache\" value=\"true\">" +
                "<param name=\"src\" value=\"" + vtListUrl[currentImage].value + "\">" +
                "<param name=\"autoplay\" value=\"true\">" +
                "<param name=\"controller\" value=\"false\">" +
                "<embed bgcolor=\"#ffffff\" width=\"420\" height=\"315\" src=\"" + vtListUrl[currentImage].value + "\" controller=\"false\" border=\"0\" pluginspage=\"http://www.apple.com/quicktime/download/\" cache=\"true\">" +
                "</object>";
            
            if (browser != "Safari" )
            {
                // bug with IE6+7 that will display the QT movie in the upper left corner
                //  if the qtmedia div is displayed when it is recreated dynamically.
                oQTMedia.style.display = "block";
            }
            oQTMedia.focus();
            oMedia.innerHTML = "";
        }
        else
        {
            oMedia.style.display = "none";
            oQTMedia.style.display = "block";
        }
        
    }
    else if (vtListType[currentImage].value == "10"){
        getNextImage();
    } else {
        
        // Others
        oMedia.innerHTML = "<img class=\"vtPhoto\" id=\"imgMediaSource\" width=\"420\" height=\"315\" src=\"" +
	     	    vtListUrl[currentImage].value + "\" alt=\"\" />";

        oMedia.style.display = "block";
        oQTMedia.style.display = "none";
        
    } 
    
    //only show the arrow and bold text if it's not a header
    if(vtListType[currentImage].value != 10){
        //g_vtListLink[currentImage].style.fontWeight = "bold";
        g_vtListLink[currentImage].style.background = "url(/reservations/gfx/blue_arrow.gif) no-repeat";
    }

    var oTitle = document.getElementById("vtTitle");
    if (oTitle != null)
    oTitle.innerHTML = g_vtListLink[currentImage].innerHTML;

    var oCaption = document.getElementById("vtCaption");
    oCaption.innerHTML = g_vtListLink[currentImage].title;

    
}

function hideVT()
{
    var oMedia = document.getElementById("media");
    var oQTMedia = document.getElementById("quicktimeMedia");
    var omylightbox = document.getElementById("mylightbox");
    var menuBlocker = document.getElementById("menuBlocker");
    menuBlocker.style.visibility = "hidden";
    
    
    omylightbox.style.left = "-9999px";
    oQTMedia.innerHTML = "";
    oMedia.innerHTML = "";
    oQTMedia.style.display = "block";
    oQTMedia.focus();
    oMedia.style.display = "block";
    oMedia.focus();
    omylightbox.style.display = "none";

    lightbox.prototype.deactivate();
}

// This function displays the map instead of the images!
function displayMap()
{
    hideCurrentImage();

    currentImage = g_vtListLink.length - 1;
    displayImage();
}

function getNextImage()
{ 
    if(currentImage < g_vtListLink.length - 1)
    {
        hideCurrentImage();

        currentImage++;
        displayImage();
    }
}

function getPrevImage()
{
    var vtListType = getElementsByClass("vtListType", vtListUL);
    if(currentImage > 0)
    {
        hideCurrentImage();

        currentImage--;
        //go back one more image if it's a header and not the first index
        if(vtListType[currentImage].value == 10 && currentImage > 0){
            currentImage--;
        }
        displayImage();
    }
}

function getImage(imageID)
{
    if (imageID < g_vtListLink.length)
    {
        hideCurrentImage();
        currentImage = imageID;
        displayImage();
    }
}

function hideCurrentImage()
{
    var oMedia = document.getElementById("media");
    var oOverlay = document.getElementById("overlay");
    var vtListType = getElementsByClass("vtListType", vtListUL);
    
    //change font weight & background only if it's not a header
    if(vtListType[currentImage].value != 10){
        //g_vtListLink[currentImage].style.fontWeight = "normal";
        g_vtListLink[currentImage].style.background = "none";    
    }

}

function setCurrentResources(brandID, vendorID)
{
    var vtBrandField = document.getElementById(vtBrandFieldID);
    var vtVendorField = document.getElementById(vtVendorFieldID);
    
    vtBrandField.value = brandID;
    vtVendorField.value = vendorID;
}

var g_clicked = false;
function triggerVTMap()
{
    if ( g_clicked == false )
    {
        g_clicked = true;
        var btnVTMapTrigger = document.getElementById(btnVTMapTriggerID);
        btnVTMapTrigger.click();
    }
}


function triggerVTPhoto()
{
    if ( g_clicked == false )
    {
        g_clicked = true;
        var btnVTPhotoTrigger = document.getElementById(btnVTPhotoTriggerID);
        btnVTPhotoTrigger.click();
    }
}

// Atlas Callback Handlers
/******************************************************************/

function displayLightBox(postBackElementID)
{
    // Initialize & Activate LightBox
    initialize();
    
    lightbox.prototype.setLightBoxName("mylightbox");
    lightbox.prototype.activate();

    center("mylightbox", 670, 420);
    $("mylightbox").style["zIndex"] = 1001;
    
    var menuBlocker = document.getElementById("menuBlocker");
    var mylightbox = document.getElementById("mylightbox");
    
    menuBlocker.style.left = mylightbox.offsetLeft + "px";
    menuBlocker.style.top = mylightbox.offsetTop + "px";
    menuBlocker.style.width = mylightbox.offsetWidth + "px";
    menuBlocker.style.height = mylightbox.offsetHeight + "px";
    //menuBlocker.style.display = "block";
    menuBlocker.style.visibility = "visible";
    menuBlocker.style.zIndex = "999";
    
    currentImage = 0;
    
    g_vtListLink = getElementsByClass("vtListLink", vtListUL);

    if (postBackElementID.indexOf("btnVTMapTrigger") > -1)
    {
        displayMap();
    }
    else
    {
        displayImage();
    }
}

function getOffsetLeft(objThis)
{
	var objOffsetParent = objThis.offsetParent;
	if (objOffsetParent)
	{
		return objThis.offsetLeft + getOffsetLeft(objOffsetParent);
	}
	else
	{
		return 0;
	}
}

function getOffsetTop(objThis)
{
	var objOffsetParent = objThis.offsetParent;
	if (objOffsetParent)
	{
		return objThis.offsetTop + getOffsetTop(objOffsetParent);
	}
	else
	{
		return 0;
	}
}
