﻿function pageSelect(show, obj) {

    var page1 = document.getElementById('p1');
    var page2 = document.getElementById('p2');
    var page3 = document.getElementById('p3');
    var page4 = document.getElementById('p4');
    var pageNumber1 = document.getElementById('pagenumber1');
    var pageNumber2 = document.getElementById('pagenumber2');
    var pageNumber3 = document.getElementById('pagenumber3');
    var pageNumber4 = document.getElementById('pagenumber4');
    var skiArea = document.getElementById('skiarea');
    var resortInfo = document.getElementById('resortinfo');

    if (page1 != undefined) {
        page1.style.textDecoration = 'none';
        pageNumber1.style.textDecoration = 'none';
        page1.style.display = 'none';
    }

    if (page2 != undefined) {
        page2.style.textDecoration = 'none';
        pageNumber2.style.textDecoration = 'none';
        page2.style.display = 'none';
    }

    if (page3 != undefined) {
        page3.style.textDecoration = 'none';
        pageNumber3.style.textDecoration = 'none';
        page3.style.display = 'none';
    }

    if (page4 != undefined) {
        page4.style.textDecoration = 'none';
        pageNumber4.style.textDecoration = 'none';
        page4.style.display = 'none';
    }

    if (skiArea != undefined) {
        skiArea.style.textDecoration = 'none';
        skiArea.style.display = 'none';
    }

    if (resortInfo != undefined) {
        resortInfo.style.textDecoration = 'none';
        resortInfo.style.display = 'none';
    }

    document.getElementById(show).style.display = 'block';

    if (obj == "") {
        obj = null;
    }
    
    if (obj != undefined) {
        document.getElementById(obj.id).style.textDecoration = 'underline';
        document.getElementById(obj.id).style.fontWeight = 700;
    }
    
}

function closeHotelInfo() {

    if (document.getElementById('hotellistholder')) {
        document.getElementById('hotellistholder').style.display = 'block';
    }

    if (document.getElementById('currenthotelinfo')) {
        document.getElementById('currenthotelinfo').style.display = 'none';
    }

    if (document.getElementById('budgethotels')) {
        document.getElementById('budgethotels').style.display = 'none';
    }
    
   
    if (document.getElementById('specifichotels')) {
        document.getElementById('specifichotels').style.display = 'none';
    }

    if (previousElement != null) {
        previousElement.style.color = 'gray';
    }
    
    toggleTabs5();
}


var preLoadedChaletImageNames = new Array();
var preLoadedChaletImages = new Array();
var preLoadedResortImageNames = new Array();
var preLoadedResortImages = new Array();
var preLoadChaletTxt = new Array();
var preLoadResortTxt = new Array();
var clear;
var previousImage;
var imageNumber = 0;
var previousObj2 = null;
var previousElement = null;

function preLoadedResortImage(imageNames, resortText) {
    
    preLoadedResortImageNames = imageNames;
    preLoadResortTxt = resortText;

    preLoadedResortImages = new Array(preLoadedResortImageNames.length);

    if (window.addEventListener) {
        window.addEventListener('load', function() { resortPageLoaded(); }, false);
    }
    else if (window.attachEvent) {
        window.attachEvent('onload', resortPageLoaded);
    }
    else {
        window.onload = function() { resortPageLoaded(); };
    }
}

function resortPageLoaded() {
    var resortTxtArray = new Array();

    for (var i = 0; i < preLoadedResortImages.length; i++) {
        preLoadedResortImages[i] = new Image();
        preLoadedResortImages[i] = '/ski/images/resorts/big/' + preLoadedResortImageNames[i] + '.jpg';
        resortTxtArray[i] = preLoadResortTxt[i];
    }

    scrollMainPics();
    
}

function preLoadedChaletImage(imageNames, chaletText) {

    preLoadedChaletImageNames = imageNames;
    preLoadChaletTxt = chaletText;
    
    preLoadedChaletImages = new Array(preLoadedChaletImageNames.length);

    if (window.addEventListener) {
        window.addEventListener('load', function() { chaletPageLoaded(); }, false);
    }
    else if (window.attachEvent) {
        window.attachEvent('onload', chaletPageLoaded);
    }
    else {
        window.onload = function() { chaletPageLoaded(); };
    }
}

function chaletPageLoaded() {

    var chaletTxtArray = new Array();

    for (var i = 0; i < preLoadedChaletImages.length; i++) {
        preLoadedChaletImages[i] = new Image();
        preLoadedChaletImages[i] = '/ski/images/chalets/big/' + preLoadedChaletImageNames[i] + '.jpg';
        if (preLoadChaletTxt.length > 0) {
            chaletTxtArray[i] = preLoadChaletTxt[i];
        }
    }
    
    scrollMainPics();
    
}

function swapImage(imgIndex) {
    if (preLoadedChaletImages.length > 0) {
        document.getElementById('mainimage').src = preLoadedChaletImages[imgIndex];
        document.getElementById('mainimage').alt = preLoadChaletTxt[imgIndex];
    } else {
        document.getElementById('mainimage').src = preLoadedResortImages[imgIndex];
        document.getElementById('mainimage').alt = preLoadResortTxt[imgIndex];
    }

    if (document.getElementById('chaletimginfo') != undefined) {
        document.getElementById('chaletimginfo').innerHTML = preLoadResortTxt[imgIndex];
    }

    if (preLoadChaletTxt[imgIndex] != undefined) {
        document.getElementById('chaletimginfo').innerHTML = preLoadChaletTxt[imgIndex];
    }
}


function scrollMainPics(imgIndex) {

    previousImage = imageNumber - 1;
    
    if (imgIndex !== undefined) {
        document.getElementById(imgIndex).style.border = "none";
    }
    
    if (preLoadedChaletImages.length > 0) {
        if (imageNumber == preLoadedChaletImages.length) {
            imageNumber = 0;
        }
    } else if (preLoadedResortImages.length > 0) {
        if (imageNumber == preLoadedResortImages.length) {
            imageNumber = 0;
        }
    }
    
    swapImage(imageNumber);

    imageBorder(imageNumber, previousImage);

    imageNumber++;

    clear = setTimeout('scrollMainPics()', 3500);
}

function imageBorder(image, previousImage) {

    if (previousImage !== -1) {
        document.getElementById(previousImage).style.border = 'none';
    }
    
    document.getElementById(image).style.border = 'solid 1px white';

}

function stopMainPics(imgIndex) {
    clearTimeout(clear);
    swapImage(imgIndex);
    imageNumber = imageNumber - 1;
    imageBorder(imgIndex, imageNumber);
}

function toggleTabs2(show, hide1, obj) {

    if (document.getElementById(show) && document.getElementById(hide1)) {
        document.getElementById(show).style.display = 'block';
        document.getElementById(hide1).style.display = 'none';
    }

    if (obj != null) {
        obj.style.textDecoration = 'underline';
    }

    if (previousObj != null) {
        previousObj.style.textDecoration = 'none';
    }

    previousObj = obj;
}


function changeElementColor(element) {
    element.style.color = '#e38015';
    
    if (previousElement != null && element != previousElement) {
        previousElement.style.color = 'gray';
    }

    previousElement = element;

}

function showInfo(id1, id2, id3, id4, obj) {

    if (document.getElementById(id1)) {
        document.getElementById(id1).style.display = 'block';
    }

    if (document.getElementById(id2)) {
        document.getElementById(id2).style.display = 'none';
    }

    if (document.getElementById(id3)) {
        document.getElementById(id3).style.display = 'none';
    }

    if (document.getElementById(id4)) {
        document.getElementById(id4).style.display = 'none';
    }
    
    if (previousObj2 != null) {
        previousObj2.style.textDecoration = 'none';
    }

    if (obj == "") {
        obj = null;
    } 
        
//    if (obj != null) {
//        obj.style.textDecoration = 'underline';
//        previousObj2 = obj;
//    }

}

function showInfo2(id1, id2, obj) {

    if (document.getElementById(id1)) {
        document.getElementById(id1).style.display = 'block';
    }

    if (document.getElementById(id2)) {
        document.getElementById(id2).style.display = 'none';
    }

    if (previousElement != null && obj != previousElement) {
        previousElement.style.color = 'gray';
    }
    
    if (obj == "") {
        obj = null;
    }

    if (obj != null) {
        document.getElementById(obj.id).style.color = '#e38015';
        previousObj2 = obj;
        previousElement = obj;
    }

}

/* GENERIC BROWSER DETECTION FUNCTION */
var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();
