﻿function displaySubMenu() {
    document.getElementById("submenu").style.display = "block"
}

function shortBreakPrices() {
    document.getElementById("shortbreakprices").style.display = "block"
}

function hideSubMenu() {
    document.getElementById("submenu").style.display = "none"

    if (document.getElementById("shortbreakprices")) {
        document.getElementById("shortbreakprices").style.display = "none"
    
    }
}

function showDropDown(id) {
    document.getElementById(id).style.display = "block";
}

function hideDropDown(id) {
    document.getElementById(id).style.display = "none";
}

var getElemsByRel = function(rel) {
    aElements = document.getElementsByTagName("a");
    relElems = [];
    for (i = 0; i < aElements.length; i++) {
        if (aElements[i].rel == 'rel') {
            relElems.push(aElements[i]);
        }
    }

    return relElems;
}

var preLoadSpecialOfferImageNames = new Array();
var preLoadImageUrls = new Array();
var preLoadImageChaletTxt = new Array();
var interval = 5500;
var random_display = 0;
var imageNum = 0;
var imageUrlsNum = 0;
var chaletTxtNum = 0;
var timerID;
var imageArray = new Array();
var imageUrlsArray = new Array();
var chaletTxtArray = new Array();

/* Preloading Images, Text and URLS  */
function preLoadSpecialOfferImages(imageNames, chaletTxt, urls) {
    preLoadSpecialOfferImageNames = imageNames;
    preLoadImageChaletTxt = chaletTxt;
    if (urls != null) {
        preLoadImageUrls = urls;
    }
    
    if (window.addEventListener) {
        window.addEventListener('load', function() { defaultSpecialOffersPageLoaded(); }, false);
    }
    else if (window.attachEvent) {
        window.attachEvent('onload', defaultSpecialOffersPageLoaded);
    }
    else {
        window.onload = function() { defaultSpecialOffersPageLoaded(); };
    }
}

/* Preload main images, text and urls and fade them  */

function defaultSpecialOffersPageLoaded() {

    imageArray = new Array();
    imageUrlsArray = new Array();
    chaletTxtArray = new Array();
    
    imageArray[imageNum++] = new imageItem('/images/chaletimages/' + preLoadSpecialOfferImageNames[0] + '.jpg');
    imageArray[imageNum++] = new imageItem('/images/chaletimages/' + preLoadSpecialOfferImageNames[1] + '.jpg');
    imageArray[imageNum++] = new imageItem('/images/chaletimages/' + preLoadSpecialOfferImageNames[2] + '.jpg');
    imageArray[imageNum++] = new imageItem('/images/chaletimages/' + preLoadSpecialOfferImageNames[3] + '.jpg');
    imageArray[imageNum++] = new imageItem('/images/chaletimages/' + preLoadSpecialOfferImageNames[4] + '.jpg');
    
    chaletTxtArray[chaletTxtNum++] = preLoadImageChaletTxt[0];
    chaletTxtArray[chaletTxtNum++] = preLoadImageChaletTxt[1];
    chaletTxtArray[chaletTxtNum++] = preLoadImageChaletTxt[2];
    chaletTxtArray[chaletTxtNum++] = preLoadImageChaletTxt[3];
    chaletTxtArray[chaletTxtNum++] = preLoadImageChaletTxt[4];

    if (preLoadImageUrls.length > 0) {
        imageUrlsArray[imageUrlsNum++] = preLoadImageUrls[0] + '.aspx';
        imageUrlsArray[imageUrlsNum++] = preLoadImageUrls[1] + '.aspx';
        imageUrlsArray[imageUrlsNum++] = preLoadImageUrls[2] + '.aspx';
        imageUrlsArray[imageUrlsNum++] = preLoadImageUrls[3] + '.aspx';
        imageUrlsArray[imageUrlsNum++] = preLoadImageUrls[4] + '.aspx';
    }
    
    FadeInImage();
}

function imageItem(image_location) {
    this.image_item = new Image();
    this.image_item.src = image_location;
}


function get_ImageItemLocation(imageObj) {
    return (imageObj.image_item.src)
}

function randNum(x, y) {
    var range = y - x + 1;
    return Math.floor(Math.random() * range) + x;
}

function getNextImage() {

    var totalImages;
    var chaletName = document.getElementById("chaletname");
    var imageurl = document.getElementById("imageurl"); 
    
    totalImages = imageArray.length;

    if (random_display) {
        imageNum = randNum(0, totalImages - 1);
    }
    else {
        imageNum = (imageNum + 1) % totalImages;
    }

    chaletName.innerHTML = preLoadImageChaletTxt[imageNum];
    if (imageUrlsArray.length > 0) {
        imageurl.href = imageUrlsArray[imageNum];
        document.getElementById("chaletimages").alt = chaletTxtArray[imageNum];
    }
    
    
    var new_image = get_ImageItemLocation(imageArray[imageNum]);
    return (new_image);
}


function SetOpacity(object, opacityPct) {
    // IE.
    object.style.filter = 'alpha(opacity=' + opacityPct + ')';
    // Old mozilla and firefox
    object.style.MozOpacity = opacityPct / 100;
    // Everything else.
    object.style.opacity = opacityPct / 100;
}

function ChangeOpacity(id, msDuration, msStart, fromO, toO) {
    var element = document.getElementById(id);
    var opacity = element.style.opacity * 100;
    var msNow = (new Date()).getTime();

    opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
    
    if (opacity < 0)
        SetOpacity(element, 0)
    else if (opacity > 100)
        SetOpacity(element, 100)
    else {
        SetOpacity(element, opacity);
        element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")", 1);
    }
}

function FadeInImage() {

    var foregroundID;
    var backgroundID;

    foregroundID = document.getElementById("chaletimages");
    backgroundID = document.getElementById("imgholder");
   
    if (backgroundID) {
        if (backgroundID) {
            
            backgroundID.style.backgroundImage = 'url(' + foregroundID.src + ')';
            backgroundID.style.backgroundRepeat = 'no-repeat';
        }
    }
    
    SetOpacity(foregroundID, 0);

    foregroundID.src = getNextImage();
    

    if (foregroundID.timer) window.clearTimeout(foregroundID.timer);

    var startMS = (new Date()).getTime();

    foregroundID.timer = window.setTimeout("ChangeOpacity('" + foregroundID.id + "', 1000," + startMS + ",0,100)", 10);
    
    var timerID = setTimeout("FadeInImage()", interval);
}

function emptyTextField(elementId, defaultText) {
    var fieldText = document.getElementById("txtemail").value;
    var textDefault = defaultText;
    if (document.getElementById("txtemail").value == textDefault) {
        document.getElementById("txtemail").value = '';
    }
}

/* Check footer email is valid */
function checkFooterEmail(elementID) {
    var retVal = false;
    var str = document.getElementById(elementID).value.trim().toLowerCase();
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (str) {
        if (filter.test(str)) {
            document.getElementById(elementID).value = str;
            retVal = true;
        } else {
            alert("Please enter a valid email address.");
            retVal = false;
        }
    } else {
        alert("Please enter a valid email address.");
        retVal = false;
    }
    return retVal;
}

/* Check email is valid */
function checkEmail(email) {
    var retVal = false;
    var str = email
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (str) {
        if (filter.test(str)) {
            retVal = true;
        } else {
            alert("Please enter a valid email address.");
            retVal = false;
        }
    } else {
        alert("Please enter a valid email address.");
        retVal = false;
    }
    return retVal;
}

function getElement(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    } else {
        return document.all[elementId];
    }
}

function toggleTabs(show, hide1, hide2, hide3, hide4, hide5, hide6, hide7, hide8, hide9, hide10, hide11, hide12) {
    if (document.getElementById(show) && document.getElementById(hide1) && document.getElementById(hide2) && document.getElementById(hide3) && document.getElementById(hide4) && document.getElementById(hide5)) {
        document.getElementById(show).style.display = "block";
        document.getElementById(hide1).style.display = "none";
        document.getElementById(hide2).style.display = "none";
        document.getElementById(hide3).style.display = "none";
        document.getElementById(hide4).style.display = "none";
        document.getElementById(hide5).style.display = "none";
        
        if (document.getElementById(hide6)) {
            document.getElementById(hide6).style.display = "none";
        }
        if (document.getElementById(hide7)) {
            document.getElementById(hide7).style.display = "none";
        }
        if (document.getElementById(hide8)) {
            document.getElementById(hide8).style.display = "none";
        }
        if (document.getElementById(hide9)) {
            document.getElementById(hide9).style.display = "none";
        }
        if (document.getElementById(hide10)) {
            document.getElementById(hide10).style.display = "none";
        }
        if (document.getElementById(hide11)) {
            document.getElementById(hide11).style.display = "none";
        }
        if (document.getElementById(hide12)) {
            document.getElementById(hide12).style.display = "none";
        }
    }
}

var previousThis = null;
var previousObject = null;
var previousObj = null;


function toggleTabs4(show, hide1, hide2, hide3, obj) {

    if (previousThis != null) {
        previousThis.style.color = 'white';
    }

    if (obj != undefined) {
        obj.style.color = '#e38015';
        previousThis = obj;
    }
    
    
    if (document.getElementById(show) && document.getElementById(hide1) && document.getElementById(hide2) && document.getElementById(hide3)) {
        document.getElementById(show).style.display = "block";
        document.getElementById(hide1).style.display = "none";
        document.getElementById(hide2).style.display = "none";
        document.getElementById(hide3).style.display = "none";
    }

}


function toggleTabs5(show, hide1, hide2, hide3, obj) {

    if (previousObject != null) {
        previousObject.style.color = 'gray';
    }

    if (obj != undefined) {
        obj.style.color = '#e38015';
        previousObject = obj;
    }


    if (document.getElementById(show) && document.getElementById(hide1) && document.getElementById(hide2) && document.getElementById(hide3)) {
        document.getElementById(show).style.display = "block";
        document.getElementById(hide1).style.display = "none";
        document.getElementById(hide2).style.display = "none";
        document.getElementById(hide3).style.display = "none";
    }

}

var previousId = null;

function showJob(id) {
    
    if (document.getElementById(id)) {
        document.getElementById(id).style.display = 'block';
    }
    
    if (previousId != null){
        document.getElementById(previousId).style.display = 'none';
    }

    previousId = id;
}

function validateCallback() {

    var name = document.getElementById('name').value;
    var email = document.getElementById('emailaddress').value;
    var telephone = document.getElementById('telephone').value;
    var day = document.getElementById('day').value;
    var time = document.getElementById('time').value;
    var errorMsg = '';
    
    if (name.length == 0){
        errorMsg += 'Please enter your name. <br />';
    }

    if (email.length > 0 && checkEmail(email)) {
        
    } else {
        errorMsg += 'Please enter a valid e-mail address. <br />';
    }
    
    if (telephone.length == 0) {
        errorMsg += 'Please enter a telephone number <br />';
    }
    
    if (day == '0') {
        errorMsg += 'Please select a preferred day <br />';
    }
    
    if (time == '0') {
        errorMsg += 'Please select preferred time <br />';
    }

    if (errorMsg != '') {
        document.getElementById('callbackerror').innerHTML = errorMsg;
        document.getElementById('callbackerror').style.display = 'block';
        document.getElementById('callbackmsg').style.display = 'none';
        return false;
    } else {
        document.getElementById('callbackmsg').innerHTML = 'Thank you for your call back request one of our team will contact you shortly';
        document.getElementById('callbackerror').style.display = 'none';
        document.getElementById('callbackmsg').style.display = 'block';
        return true;
    }

}

function validateQuoteRequest() {

    var name = document.getElementById('holidayname').value;
    var email = document.getElementById('holidayemailaddress').value;
    var telephone = document.getElementById('holidaytelephone').value;
    var adults = document.getElementById('adults').value;
    var dateOfTravel = document.getElementById('dateoftravel').value;
    var errorMsg = '';

    if (name.length == 0) {
        errorMsg += 'Please enter your name. <br />';
    }

    if (email.length > 0 && checkEmail(email)) {

    } else {
        errorMsg += 'Please enter a valid e-mail address. <br />';
    }

    if (telephone.length == 0) {
        errorMsg += 'Please enter a telephone number <br />';
    }

    if (adults.length == 0) {
        errorMsg += 'Please enter number of adults travelling <br />';
    }

    if (dateOfTravel.length == 0) {
        errorMsg += 'Please enter a date of travel <br />';
    }

    if (errorMsg != '') {
        document.getElementById('errorholidayfeedback').innerHTML = errorMsg;
        document.getElementById('errorholidayfeedback').style.display = 'block';
        if (document.getElementById('ctl00_ContentPlaceHolder2_quotefeedback')) {
            document.getElementById('ctl00_ContentPlaceHolder2_quotefeedback').style.display = 'none';
        }
        document.getElementById('holidayfeedBack').style.display = 'none';
        return false;
    } else {
        document.getElementById('errorholidayfeedback').style.display = 'none';
        return true;
    }

}


/* Check email is valid */
function checkEmail(email) {
    var retVal = false;
    var str = email
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (str) {
        if (filter.test(str)) {
            retVal = true;
        } else {
            alert("Please enter a valid email address.");
            retVal = false;
        }
    } else {
        alert("Please enter a valid email address.");
        retVal = false;
    }
    return retVal;
}

/* Check phone number is just digits */
function isNumeric(telephone) {
    var digits = '0123456789';

    if (telephone.length > 0) {
        for (var i = 0; i < telephone.length; i++) {
            if (digits.indexOf(telephone.substr(i, 1)) == -1) {
                alert("Please Enter a valid Telephone number.")
                return false;
            }
        }

        return true
    }
    else {
        return false;
    }
}

function showPricetable(id) {

    if (id != '') {

        if (document.getElementById(id).style.display == 'block') {
            document.getElementById(id).style.display = 'none'
        } else {
            document.getElementById(id).style.display = 'block';
        }

    }

}

function validateApplication() {

    var errorMsg = '';

    if (document.getElementById("surname").value.length == 0) {
        errorMsg += 'Please enter your Surname \n'
    }

    if (document.getElementById("firstname").value.length == 0) {
        errorMsg += 'Please enter your Firstname \n'
    }

    if (document.getElementById("address").value.length == 0) {
        errorMsg += 'Please enter your address \n'
    }

    if (document.getElementById("emailaddress").value.length == 0) {
        errorMsg += 'Please enter your e-mail address \n'
    }

    if (document.getElementById("hometelephone").value.length == 0) {
        errorMsg += 'Please enter your e-mail address \n'
    }

    if (document.getElementById("dateofbirth").value.length == 0) {
        errorMsg += 'Please enter your date of birth \n'
    }

    if (document.getElementById("placeofbirth").value.length == 0) {
        errorMsg += 'Please enter your place of birth \n'
    }

    if (document.getElementById("nationality").value.length == 0) {
        errorMsg += 'Please enter your nationality \n'
    }

    if (document.getElementById("insuranceno").value.length == 0) {
        errorMsg += 'Please enter your National Insurance No. \n'
    }

    if (errorMsg != '') {
        document.getElementById('error').innerHTML = errorMsg;
        document.getElementById('error').style.display = 'block';
        return false;
    } else {
        document.getElementById('error').style.display = 'none';
        return true;
    }

}

var moveUp = 0;
var speed = 850;
var currentPosition;
var timer;
var move = -60;
var firstTimer;
var moveTop3 = 0;
var moveBottom3 = 195;

function scrollNewsItems() {

    if (document.getElementById('topthreenewsandspecials') && document.getElementById('bottomthreenewsandspecials')) {
    
        document.getElementById('topthreenewsandspecials').style.top = moveTop3 + 'px';
        document.getElementById('bottomthreenewsandspecials').style.top = moveBottom3 + 'px';

        if (moveUp < move) {
            if (moveUp == -195) {
                moveTop3 = 195;
                document.getElementById('topthreenewsandspecials').style.top = moveTop3 + 'px';
                moveUp = moveUp - 5;
                move = -60;
                timer = setTimeout('scrollNewsItems()', 100);
            } else if (moveUp == -390) {
                moveBottom3 = 195;
                document.getElementById('bottomthreenewsandspecials').style.top = moveBottom3 + 'px';
                moveUp = moveUp - 5;
                moveUp = 0;
                move = -60;
                timer = setTimeout('scrollNewsItems()', speed);
            } else {
                move = move + -65;
                clearTimeout(firstTimer);
                timer = setTimeout('scrollNewsItems()', speed);
            }
        } else {
            moveUp = moveUp - 5;
            if (moveUp < -195) {
                moveTop3 = moveTop3 - 5;
            } else {
                moveTop3 = moveUp;
            }

            moveBottom3 = moveBottom3 - 5;
            clearTimeout(firstTimer);
            timer = setTimeout('scrollNewsItems()', 100);
        }
    }
}


function stopNewsItemScroll() {

    clearTimeout(timer);

}


if (window.addEventListener) {
    window.addEventListener('load', function() { windowLoadEvents(); }, false);
} else if (window.attachEvent) {
    window.attachEvent('onload', windowLoadEvents);
} else {
    window.onload = function() { windowLoadEvents() };
}

function windowLoadEvents() {

    querySt();
    scrollNewsItems();
    firstTimer = setTimeout('scrollNewsItems()', 3500);
    

}

function querySt() {
    hu = window.location.search.substring(1);
    gy = hu.split("?");
    for (i = 0; i < gy.length; i++) {
        ft = gy[i].split("=");
        switch (ft[1]) {
            case 'article1':
                showInfo('article1', 'article2', 'article3', 'article4', '')
                break;
            case 'article2':
                showInfo('article2', 'article1', 'article3', 'article4', '')
                break;
            case 'article3':
                showInfo('article3', 'article1', 'article2', 'article4', '')
                break;
            case 'article4':
                showInfo('article4','article3', 'article1', 'article2','')
                break;
            default:
                showInfo('article1', 'article3', 'article2', 'article4', '')
                break;
        }
    }
}

var previousObj2 = null;

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;
    }

}


var session = 0;

function chgImage(newImgName, obj, id) {

    var imageLocation;
    var lastIndex;

    if (session == 0) {
        if (document.getElementById('ctl00_ContentPlaceHolder1_' + id)) {
            document.getElementById('ctl00_ContentPlaceHolder1_' + id).style.backgroundColor = '#FF9900';
            session = 1;
        }
    } else {
        document.getElementById('ctl00_ContentPlaceHolder1_' + id).style.backgroundColor = 'silver';
        session = 0;
    }
    
    
    if (newImgName && obj) {
        lastIndex = obj.src.lastIndexOf('/');

        imageLocation = obj.src.substring(0, lastIndex)

        switch (imageLocation) {
            case 'http://localhost:61777/images/resorts/courchevel':
                obj.src = '/images/resorts/courchevel/' + newImgName + '.jpg';
                break;
            case 'http://localhost:61777/images/resorts/stanton':
                obj.src = '/images/resorts/stanton/' + newImgName + '.jpg';
                break;
            case 'http://localhost:61777/images/resorts/zermatt':
                obj.src = '/images/resorts/zermatt/' + newImgName + '.jpg';
                break;
            case 'http://localhost:61777/images/resorts':
                obj.src = '/images/resorts/' + newImgName + '.jpg';
                break;
            case 'http://ski.supertravel.co.uk/images/resorts/courchevel':
                obj.src = '/images/resorts/courchevel/' + newImgName + '.jpg';
                break;
            case 'http://ski.supertravel.co.uk/images/resorts/stanton':
                obj.src = '/images/resorts/stanton/' + newImgName + '.jpg';
                break;
            case 'http://ski.supertravel.co.uk/images/resorts/zermatt':
                obj.src = '/images/resorts/zermatt/' + newImgName + '.jpg';
                break;
            case 'http://ski.supertravel.co.uk/images/resorts':
                obj.src = '/images/resorts/' + newImgName + '.jpg';
                break;
            case 'http://ski.supertravel.co.uk/images/luxuryskichalets':
                obj.src = '/images/luxuryskichalets/' + newImgName + '.jpg';
                break;
            case 'http://localhost:61777/images/luxuryskichalets':
                obj.src = '/images/luxuryskichalets/' + newImgName + '.jpg';
                break;
            default:
                obj.src = '/images/' + newImgName + '.jpg';
                break;
        }
    
    }
    
}

function linkColorChange(id) {

    if (session == 0) {
        if (document.getElementById('ctl00_ContentPlaceHolder1_' + id)) {
            document.getElementById('ctl00_ContentPlaceHolder1_' + id).style.backgroundColor = '#FF9900';
            session = 1;
        }
    } else {
        document.getElementById('ctl00_ContentPlaceHolder1_' + id).style.backgroundColor = 'silver';
        session = 0;
    }

}


function showDiscountInfo(id) {

    var currentUrl = window.location.href;

    if (currentUrl == "http://ski.supertravel.co.uk/specialoffers.aspx" || currentUrl == "http://localhost:61777/specialoffers.aspx") {

        if (id) {
            $('.' + id + '').show(1000);
            $('#' + id + '').show(1000);
        }
            
    } else { 
       
        if (id) {
            $('.' + id + '').show(1000);
            $('#' + id + '').show(1000);

            tempX = tempX - 105;
            tempY = tempY;

            document.getElementById(id).style.position = 'absolute';
            document.getElementById(id).style.top = tempY + 'px';
            document.getElementById(id).style.left = tempX + 'px';
        }
        
    }
 
}

function hideDiscounts(id) {

    if (id) {
        $('.' + id + '').hide(200);
    }

}

var tempY;
var tempX;

$(document).ready(function() {
    $(document).mousemove(function(e) {
        tempX = e.pageX;
        tempY = e.pageY;
    });
})

function scrollUpandDown() {

    $("#top").click(function() {
        $(".mainarticleholder").animate({ "top": "+=50px" }, "slow");
    });

    $("#left").click(function() {
        $(".mainarticleholder").animate({ "top": "-=50px" }, "slow"); 
    });
    
    
    
}

