﻿var preLoadedVillasImageNames = new Array(8);
var preLoadedVillaImages = new Array(8);

function preLoadedVillaImage(imageNames) {

    preLoadedVillasImageNames = imageNames

    preLoadedVillaImages = new Array(preLoadedVillasImageNames.length);

    if (window.addEventListener) {
        window.addEventListener('load', function() { villaPageLoaded(); }, false);
    }
    else if (window.attachEvent) {
    window.attachEvent('onload', villaPageLoaded);
    }
    else {
        window.onload = function() { villaPageLoaded(); };
    }
}

function villaPageLoaded() {
    for (var i = 0; i < preLoadedVillasImageNames.length; i++) {
        preLoadedVillaImages[i] = new Image();
        preLoadedVillaImages[i].src = preLoadedVillasImageNames[i];
    }

    preLoadedVillaImages[0] = '/images/villas/big/' + preLoadedVillasImageNames[0] + '.jpg';
    preLoadedVillaImages[1] = '/images/villas/big/' + preLoadedVillasImageNames[1] + '.jpg';
    preLoadedVillaImages[2] = '/images/villas/big/' + preLoadedVillasImageNames[2] + '.jpg';
    preLoadedVillaImages[3] = '/images/villas/big/' + preLoadedVillasImageNames[3] + '.jpg';
    preLoadedVillaImages[4] = '/images/villas/big/' + preLoadedVillasImageNames[4] + '.jpg';
    preLoadedVillaImages[5] = '/images/villas/big/' + preLoadedVillasImageNames[5] + '.jpg';
    preLoadedVillaImages[6] = '/images/villas/big/' + preLoadedVillasImageNames[6] + '.jpg';
    preLoadedVillaImages[7] = '/images/villas/big/' + preLoadedVillasImageNames[7] + '.jpg';
}

function swapImage(imgIndex) {
    document.getElementById('bigimage').src = preLoadedVillaImages[imgIndex];
}

function checkEmail(elementID) {
    var retVal = false;
    var str = getElement(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)) {
            getElement(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;
}

function emptyTextField(elementId, defaultText) {
    var fieldText = getElement(elementId).value;
    var defaultText = defaultText;
    if (getElement(elementId).value == defaultText) {
        getElement(elementId).value = '';
    }
}

function bookmarkPage() {
    url = window.location;
    title = document.title;
    if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
        window.external.AddFavorite(url, title);
    } else if (navigator.appName == "Netscape") {
        window.sidebar.addPanel(title, url, "");
    } else {
        alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark this page");
    }
}

function getElement(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    } else {
        return document.all[elementId];
    }
}

String.prototype.trim = function() {
    return this.replace(/^\s*|\s*$/g, '');
}

/* Preloaded Captiva Images, Captiva Only */

var preLoadedCaptivaImageNames = new Array(36);
var preLoadedCaptivaImages = new Array(36);

function preLoadedCaptivaImage(imageNames) {

    preLoadedCaptivaImageNames = imageNames

    preLoadedCaptivaImages = new Array(preLoadedCaptivaImageNames.length);

    if (window.addEventListener) {
        window.addEventListener('load', function() { captivaPageLoaded(); }, false);
    }
    else if (window.attachEvent) {
    window.attachEvent('onload', captivaPageLoaded);
    }
    else {
        window.onload = function() { captivaPageLoaded(); };
    }
}

function captivaPageLoaded() {
    for (var i = 0; i < preLoadedCaptivaImageNames.length; i++) {
        preLoadedCaptivaImages[i] = new Image();
        preLoadedCaptivaImages[i].src = preLoadedCaptivaImageNames[i];
    }

    preLoadedCaptivaImages[0] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[0] + '.jpg';
    preLoadedCaptivaImages[1] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[1] + '.jpg';
    preLoadedCaptivaImages[2] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[2] + '.jpg';
    preLoadedCaptivaImages[3] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[3] + '.jpg';
    preLoadedCaptivaImages[4] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[4] + '.jpg';
    preLoadedCaptivaImages[5] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[5] + '.jpg';
    preLoadedCaptivaImages[6] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[6] + '.jpg';
    preLoadedCaptivaImages[7] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[7] + '.jpg';
    preLoadedCaptivaImages[8] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[8] + '.jpg';
    preLoadedCaptivaImages[9] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[9] + '.jpg';
    preLoadedCaptivaImages[10] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[10] + '.jpg';
    preLoadedCaptivaImages[11] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[11] + '.jpg';
    preLoadedCaptivaImages[12] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[12] + '.jpg';
    preLoadedCaptivaImages[13] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[13] + '.jpg';
    preLoadedCaptivaImages[14] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[14] + '.jpg';
    preLoadedCaptivaImages[15] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[15] + '.jpg';
    preLoadedCaptivaImages[16] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[16] + '.jpg';
    preLoadedCaptivaImages[17] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[17] + '.jpg';
    preLoadedCaptivaImages[18] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[18] + '.jpg';
    preLoadedCaptivaImages[19] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[19] + '.jpg';
    preLoadedCaptivaImages[20] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[20] + '.jpg';
    preLoadedCaptivaImages[21] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[21] + '.jpg';
    preLoadedCaptivaImages[22] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[22] + '.jpg';
    preLoadedCaptivaImages[23] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[23] + '.jpg';
    preLoadedCaptivaImages[24] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[24] + '.jpg';
    preLoadedCaptivaImages[25] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[25] + '.jpg';
    preLoadedCaptivaImages[26] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[26] + '.jpg';
    preLoadedCaptivaImages[27] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[27] + '.jpg';
    preLoadedCaptivaImages[28] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[28] + '.jpg';
    preLoadedCaptivaImages[29] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[29] + '.jpg';
    preLoadedCaptivaImages[30] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[30] + '.jpg';
    preLoadedCaptivaImages[31] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[31] + '.jpg';
    preLoadedCaptivaImages[32] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[32] + '.jpg';
    preLoadedCaptivaImages[33] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[33] + '.jpg';
    preLoadedCaptivaImages[34] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[34] + '.jpg';
    preLoadedCaptivaImages[35] = '/images/villas/captiva/big/' + preLoadedCaptivaImageNames[35] + '.jpg';
}

function swapCaptivaImage(imgIndex) {
    if (imgIndex == 13 || imgIndex == 17 || imgIndex == 26 || imgIndex == 27 || imgIndex == 30 || imgIndex == 34) {
        document.getElementById('mainimage').style.width = 305 + 'px'
        document.getElementById('mainimage').style.marginLeft = 200 + 'px'
    } else {
        document.getElementById('mainimage').style.width = 685 + 'px'
        document.getElementById('mainimage').style.marginLeft = 10 + 'px'
    }
    document.getElementById('mainimage').src = preLoadedCaptivaImages[imgIndex];
}

var m = 0;
var imageNumber = 0;
var previousImage;
var t;
var clear;
var clearTimer;

function scrollImagesLeft() {

    if (m <= -1640) {
        m = -1640;
        document.getElementById("imagebox").style.marginLeft = m + "px";
    }
    else {
        m = m - 60;
        document.getElementById("imagebox").style.marginLeft = m + "px";
    }
}

function scrollImagesRight() {

    if (m <= 0) {
        m = 0;
    } else if (m >= -960) {
        m = m + 60;
    } else {
        m = 0;
    }
    document.getElementById("imagebox").style.marginLeft = m + "px";
}

///* Make the the picture scroll bar scroll */

function picsScrollBarRight() {

    document.getElementById("imagebox").style.marginLeft = m + "px";
    m = m - 3;

    if (m <= -1646) {
        m = -1646;
    }

    t = setTimeout('picsScrollBarRight()', 10);
}

function picsScrollBarLeft() {

    document.getElementById("imagebox").style.marginLeft = m + "px";
    m = m + 3;

    if (m >= 0) {
        m = 0;
        clearTimeout(t);
    } else {
        t = setTimeout('picsScrollBarLeft()', 10);
    }
}

function stopScroll() {
    clearTimeout(t)
}

if (window.addEventListener) {
    window.addEventListener('load', function() { windowLoadEvents(); }, false);
} else if (window.attachEvent) {
    window.attachEvent('onload', windowLoadEvents);
} else {
    window.onload = function() { windowLoadEvents(); };
}

function windowLoadEvents() {
    link = window.location.href;
    if (link == 'http://www.dialaflightusavillas.co.uk/captiva.aspx' || link == 'http://localhost:61259/captiva.aspx') {
        scrollMainPics();
    }
}

function scrollMainPics(imgIndex) {

    if (imgIndex !== undefined) {
        document.getElementById(imgIndex).style.border = "none";
    }

    swapCaptivaImage(imageNumber);

    previousImage = imageNumber - 1;

    if (imageNumber == 36) {
        picsScrollBarLeft();
        imageNumber = 0;
    }

    if (imageNumber == 9) {
        scrollToNextTen();
    }

    if (imageNumber == 29) {
        scrollToLastTen();
    }

    if (imageNumber == 20) {
        scrollToMiddleTen();
    }

    imageBorder(imageNumber, previousImage);

    imageNumber++;

    clear = setTimeout('scrollMainPics()', 3500);
}

function scrollToNextTen() {

    document.getElementById("imagebox").style.marginLeft = m + "px";
    m = m - 7;

    if (m <= -644) {
        m = -644
        document.getElementById("imagebox").style.marginLeft = m + "px";
        clearTimer = clearTimeout(clearTimer);
    } else {
        clearTimer = setTimeout('scrollToNextTen()', 15);
    }
}

function scrollToMiddleTen() {

    document.getElementById("imagebox").style.marginLeft = m + "px";
    m = m - 7;

    if (m <= -1239) {
        m = -1235
        document.getElementById("imagebox").style.marginLeft = m + "px";
        clearTimer = clearTimeout(clearTimer);
    } else {
    clearTimer = setTimeout('scrollToMiddleTen()', 15);
    }

}

function scrollToLastTen() {

    document.getElementById("imagebox").style.marginLeft = m + "px";
    m = m - 7;

    if (m <= -1659) {
        m = -1659
        document.getElementById("imagebox").style.marginLeft = m + "px";
        clearTimer = clearTimeout(clearTimer);
    } else {
        clearTimer = setTimeout('scrollToLastTen()', 15);
    }

}

function stopMainPics(imgIndex) {
    clearTimeout(clear);
    swapCaptivaImage(imgIndex);
    imageNumber = imageNumber - 1;
    imageBorder(imgIndex, imageNumber);
}

function imageBorder(image, previousImage) {

    if (previousImage !== -1) {
        document.getElementById(previousImage).style.border = "none";
    }

    document.getElementById(image).style.border = "solid 1px white";
}