﻿$.extend({
    getUrlVars: function () {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for (var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    },
    getUrlVar: function (name) {
        return $.getUrlVars()[name];
    }
});

function getRealId(partialid) {
    var re = new RegExp(partialid, 'g');
    var elems = document.getElementsByTagName('*'), i = 0, el;
    while (el = elems[i++]) {
        if (el.id.match(re)) {
            return el.id;
        }
    }
}

function getSelectedTripType() {
    //Because of UserFriendly URL's the segmentID information was lost from the URL.
    //Let's no longer care which segmentID is selected, but match on URL within the rotatormenu.
    //Besides: segmentID and triptypeID' s are not the same anyway.

    var url = document.URL.toLowerCase();
    var theRotatorMenu = document.getElementById(getRealId('rotatormenu'));

    //Determine number of children.
    var numberOfChildren = 0;
    if (navigator.appName.indexOf('Microsoft') > -1) {
        numberOfChildren = theRotatorMenu.childNodes.length;
        if (numberOfChildren > 5) {
            numberOfChildren = 5;
        }
    } else {
        numberOfChildren = theRotatorMenu.childElementCount;
    }

    var iRot = 0;
    while (iRot < numberOfChildren) {
        var currentRotator = theRotatorMenu.children[iRot];
        var needleEnd = currentRotator.innerHTML.indexOf('.html');
        var newString = currentRotator.innerHTML.substring(0, needleEnd);
        var needleStart = newString.lastIndexOf('/') + 1;
        var needle = newString.substring(needleStart).toLowerCase();
        if (url.indexOf(needle) > -1) {
            return (iRot);
        }
        iRot++;
    }
    return -1;
}

if (typeof rotatorstart == 'undefined')
    var rotatorstart = 0;
var animate = true;
var intervalMs = 10;

$(document).ready(function () {
    //var pageId = $.getUrlVar('id');

    $('.white').stop().animate({
        opacity: '0'
    }, 400);
    $('#rotatorslide').find('.rotator1, .rotator2, .rotator3, .rotator4, .rotator5').stop().animate({
        opacity: '0'
    }, 400);
    $('#rotatormenu .rotator' + rotatorstart).addClass('sel');
    $('#rotatormenu .rotator' + rotatorstart).stop().animate({
        width: '282px',
        backgroundPosition: '0 -40px'
    }, 100);
    $('#rotatorslide .rotator' + rotatorstart).find(".rotatortxt").stop().animate({
        opacity: '0.9',
        bottom: 0
    }, 800);
    $('#rotatorslide').find(".rotator" + rotatorstart).stop().animate({
        opacity: 1
    }, 600);

    $('.rotator1, .rotator2, .rotator3, .rotator4, .rotator5').mouseover(function () {
        animate = false;
    });

    $('.rotator1, .rotator2, .rotator3, .rotator4, .rotator5').mouseout(function () {
        animate = true;
    });

    // click
    $('.rotator1, .rotator2, .rotator3, .rotator4, .rotator5').hover(function () {
        var classname = $(this).attr("class");
        if (!$(this).hasClass("sel")) {
            $('#rotatormenu li').removeClass('sel');
            $('#rotatormenu').find("." + classname).addClass('sel');
            $('#rotatormenu li').stop().animate({
                width: '240px',
                backgroundPosition: '0 0'
            }, 100);
            $('#rotatormenu').find("." + classname).stop().animate({
                width: '282px',
                backgroundPosition: '0 -40px'
            }, 100);
            $('#rotatorslide').find('.up').stop().animate({
                opacity: 0
            }, 600);
            $('#rotatorslide div').stop().animate({
                opacity: 0
            }, 600);
            $('#rotatorslide').find("." + classname).stop().animate({
                opacity: 1
            }, 600);
            $('#rotatorslide').find("." + classname).find('.first').stop().animate({
                opacity: 1
            }, 600);
            $('#rotatorslide').find("." + classname).find('.up').stop().animate({ bottom: '0' }, 1000, "linear", function () {
                $(this).animate({
                    opacity: 1
                });
            });
        }
    });

    // next

    var i = getSelectedTripType();
    var intervalID;


    intervalID = setTimeout(function () {
        if (i == -1) {
            i = 0;
        }
        if (animate) {
            if (i == 4) {
                $("#rotatormenu li").eq(0).hover();
                $("#rotatormenu li").eq(i).hover();
            } else {
                $("#rotatormenu li").eq(i).hover();
            }
        }
        i = i == 4 ? 0 : i + 1;
        var selectedTripType = getSelectedTripType();
        if (selectedTripType != -1) {
            i = selectedTripType;
        }
        clearTimeout(intervalID);
    }, intervalMs);

    intervalMs = 2000;

    var intervalID2;
    var i = getSelectedTripType();

    //animate = (getSelectedTripType() == -1);

    intervalID2 = setInterval(function () {
        if (i == -1) {
            i = 0;
        }
        if (animate) {
            if (i == 4) {
                $("#rotatormenu li").eq(0).hover();
                $("#rotatormenu li").eq(i).hover();
            } else {
                $("#rotatormenu li").eq(i).hover();
            }
        }
        i = i == 4 ? 0 : i + 1;
        var selectedTripType = getSelectedTripType();
        if (selectedTripType != -1) {
            i = selectedTripType;
        }
    }, intervalMs);

    // The End
});
