﻿var imageOverSuffix = "_over";
var imageOutSuffix = "_up";
var imageSelectedSuffix = "_selected";
var largeImageSuffix = "_large";

/***** Image Replace *****/

function changeNavImage (obj, action) {
    
    var image = findChildNodeByName(obj, 'IMG');
    
    if (image) {
        imageReplace(image, obj, action);
    }
}

function findChildNodeByName(obj, name) {
    var children = obj.childNodes;
    var result;
    
    for (var i = 0; i < children.length; i++) {
        var nextNode = children[i];
        if (nextNode.nodeName == name) {
            result = nextNode;
        }    
    }
    
    return result;
}

function imageReplace(target, link, action) {

    var s = getImageSrc(target,action);
    var t = '.' + getImageType(target);
    var newImg = imageOverSuffix;
    
    if (link.parentNode.className.indexOf("Selected") !== -1) {
        if (link.parentNode.className.indexOf("ChildSelected") !== -1) {
            if (action == "over") {
                newImg = imageSelectedSuffix;
            } else {
                newImg = imageOverSuffix;
            }
        } else {
            newImg = imageSelectedSuffix;
        }
    } else {
        if (action == "over") {
            newImg = imageOverSuffix;
        } else {
            newImg = imageOutSuffix;
        }
    }
    target.src = s + newImg + t;

}

function getImageSrc(target) {
    var s = target.src;
    var targetSuffix = imageOutSuffix;
    
    if (s.indexOf(imageOverSuffix + '.') !== -1) {
        targetSuffix = imageOverSuffix;
    }
    else if (s.indexOf(imageOutSuffix + '.') !== -1) {
        targetSuffix = imageOutSuffix;
    }
    else if (s.indexOf(imageSelectedSuffix + '.') !== -1) {
        targetSuffix = imageSelectedSuffix;
    }
    
    s = s.substring(0, s.indexOf(targetSuffix + '.'));
    return s;
}

function getImageType(target) {
    var s = target.src;
    var t = s.substring(s.length - 3, s.length);
    return t;
}

/***** Enlarge Photo *****/

function enlargePhoto(obj, imgWidth, imgHeight) {

    var newImage = getEnlargedImageSrc(obj);
    var background = document.createElement("div");
    
    background.setAttribute("id", "photo_overlay");
    background.setAttribute("onclick", "closePhoto();");
    
    var link = document.createElement("a");
    link.setAttribute("id", "close_button");
    link.setAttribute("href", "javascript:closePhoto();");
    var linktext = document.createTextNode("X CLOSE");
    
    link.appendChild(linktext);
    
    var photo = document.createElement("div");
    photo.setAttribute("id", "photo_large");
    

    var image = document.createElement("img");
    image.setAttribute("src", newImage);
    
    photo.appendChild(link);
    photo.appendChild(image);
    
    var overlay = document.createElement("div");
    overlay.setAttribute("id", "overlay");
    
    
    
    overlay.appendChild(background);
    overlay.appendChild(photo);
    document.body.appendChild(overlay);
    
    if (imgWidth && imgHeight) {
        var windowHeight = document.documentElement.clientHeight;
        var windowWidth = document.documentElement.clientWidth;
        var scrollOffset = window.pageYOffset;
        if (!scrollOffset) {
            scrollOffset = document.documentElement.scrollTop;
        }
        photo.style.top = ((windowHeight/2) - ((imgHeight + 14)/2) + scrollOffset) + "px";
        photo.style.left = ((windowWidth/2) - ((imgWidth + 14)/2)) + "px";
    } else {
        var imageCoords = findPos(obj);
        photo.style.top = (imageCoords[1] - 30) + "px";
        photo.style.left = (imageCoords[0] - 30) + "px";
    }
    
}

function positionImage(image, photo, windowHeight, windowWidth) {
    var imageHeight = image.offsetHeight;
    var imageWidth = image.offsetWidth;
    
}

function closePhoto() {
    var overlay = document.getElementById("overlay");
    document.body.removeChild(overlay);
}

function getEnlargedImageSrc(obj) {
    var oldSrc = obj.src;
    var s = oldSrc.substring(0, oldSrc.indexOf("_small."));
    var t = oldSrc.substring((oldSrc.indexOf("_small.") + 7), oldSrc.length);
    return s + "_large." + t;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

/***** Live Cameras *****/

function openIframe(src, target, width, height) {

    target.style.width = width + "px";
    target.style.height = height + "px";
    target.src = src;

}

/***** Preload Images *****/

var imagesToPreload = ["leftnav/explore_over.gif","leftnav/explore_up.gif","leftnav/lift_rates_over.gif","leftnav/lift_rates_up.gif","leftnav/news_over.gif","leftnav/news_up.gif","leftnav/trip_over.gif","leftnav/trip_up.gif","leftnav/what_to_do_over.gif","leftnav/what_to_do_up.gif","template/navigation_bg.gif","template/navigation_bottom_cap.gif"];

function preloadImages() {

for (var i=0; i<imagesToPreload.length; i++) {
    pic = new Image();
    pic.src = "images/" + imagesToPreload[i];
}

}


/***** Enlarge Photo *****/

function PlayVideoFlash(objvid, imgWidth, imgHeight) {

//    var newImage = getEnlargedImageSrc(obj);
    var background = document.createElement("div");
    
    background.setAttribute("id", "photo_overlay");
    background.setAttribute("onclick", "closePhoto();");
    
    var link = document.createElement("a");
    link.setAttribute("id", "close_button");
    link.setAttribute("href", "javascript:closePhoto();");
    var linktext = document.createTextNode("X CLOSE");
    
    link.appendChild(linktext);
    
    var heading = document.createElement("div");
    heading.setAttribute("id", "vid_heading");
    heading.appendChild(link);
    
    
    var video = document.createElement("div");
    video.setAttribute("id", "video_large");
     
    
    var overlay = document.createElement("div");
    overlay.setAttribute("id", "overlay");
    
    overlay.appendChild(background);
    overlay.appendChild(heading);
    overlay.appendChild(video);
    document.body.appendChild(overlay);


    var fo = new FlashObject(objvid,"ss",imgWidth,imgHeight,"6","#FFFFFF");
    fo.addParam("menu","false");
    fo.addParam("quality","best");
    fo.addParam("salign","LT");
    fo.addParam("scale","noscale");
    fo.addParam("wmode", "transparent");
    fo.write("video_large");
    
    
    if (imgWidth && imgHeight) {
        var windowHeight = document.documentElement.clientHeight ;
        var windowWidth = document.documentElement.clientWidth ;
        var scrollOffset = window.pageYOffset;
        if (!scrollOffset) {
            scrollOffset = document.documentElement.scrollTop;
        }
        heading.style.top = ((windowHeight/2) - ((imgHeight + 14)/2) + scrollOffset - 25) + "px";
        heading.style.width = imgWidth;
        heading.style.height = 25;
        heading.style.left = ((windowWidth/2) - ((imgWidth + 14)/2)) + "px";

        video.style.top = ((windowHeight/2) - ((imgHeight + 14)/2) + scrollOffset) + "px";
        video.style.left = ((windowWidth/2) - ((imgWidth + 14)/2)) + "px";
    } 
}
