﻿//JScript File
var doSubmit = 0;
var iMonthLimit = 6;
var iCurrentColor = 1;
var iSelectedday = 0;
var OneWay = 1;
var flag = false;
var currOpn = "#jBlue";
//MM_preloadImages(Imageurl + 'coach_carousel_Tab_Eurolines.gif', Imageurl + 'glastonbury_strip.gif', Imageurl + 'travel_coach_strip_hover.gif', Imageurl + 'brit_xplore_strip.gif', Imageurl + 'travel_coach_strip.gif', Imageurl + 'glastonbury_strip_hover.gif', Imageurl + 'brit_xplore_strip_hover.gif', Imageurl + 'coach_carousel_Tab_Eurolines_hover.gif',Imageurl + 'coches_blue_pk.jpg', Imageurl + 'coches_purple_pk.jpg', Imageurl + 'coches_yellow_pk.jpg', Imageurl + 'Coach_carousel_Euroline_Birthday.jpg');
MM_preloadImages(CoachImages[0], CoachImages[1], CoachImages[2], CoachImages[3], CoachImageshover[0], CoachImageshover[1], CoachImageshover[2], CoachImageshover[3], LeftCoachImages[0], LeftCoachImages[1], LeftCoachImages[2], LeftCoachImages[3]);

document.aspnetForm.action = 'http://www.nationalexpress.com/coach/index.cfm';
$().ready(function() {
    $("#txtFrom").autocomplete("FromLocation.aspx");
    $("#txtTo").autocomplete("ToLocation.aspx");
});

function SubmitClick() {
    if (doSubmit != 0) {
        document.aspnetForm.submit();
        return true;
    }

    if (document.getElementById('txtFrom').value == '') {
        document.getElementById('from_error').style.display = "block";
        document.getElementById('from_error').innerHTML = "Please type and choose where you are travelling from";
        return false;
    }
    else {
        document.getElementById('from_error').style.display = "none";
    }

    if (document.getElementById('txtTo').value == '') {
        document.getElementById('to_error').style.display = "block";
        //document.getElementById('to_error').innerHTML = "Please enter where you are travelling to";
        document.getElementById('to_error').innerHTML = "Please type and choose where you are travelling to";
        return false;
    }
    else {
        document.getElementById('to_error').style.display = "none";
    }
    if (document.getElementById('txtFrom').value != '' && document.getElementById('txtTo').value != '') {
        if (document.getElementById('txtFrom').value == document.getElementById('txtTo').value) {
            document.getElementById('to_error').style.display = "block";
            document.getElementById('to_error').innerHTML = 'Please ensure the from and to locations are different';
            return false;
        }
        else
            document.getElementById('to_error').style.display = "none";
    }

    if (document.getElementById('txtDeparting').value == '' || document.getElementById('txtDeparting').value == 'DD/MM/YYYY') {
        document.getElementById('departing_error').style.display = "block";
        return false;
    }
    else if (!ValidateForm(document.getElementById('txtDeparting').value)) {

        document.getElementById('departing_error').style.display = "block";
        document.getElementById('departing_error').innerHTML = "Please enter a valid format DD/MM/YYYY";
        return false;
    }
    else if (!CheckDateValidation(document.getElementById('txtDeparting').value)) {
        document.getElementById('departing_error').style.display = "block";
        if (flag == true) {
            document.getElementById('departing_error').innerHTML = "Please enter a valid date (the date entered is in the past)";
            flag = false;
        }
        else
            document.getElementById('departing_error').innerHTML = "Please enter a valid date (no more than 6 months ahead)";
        return false;
    }
    else {
        dFromDateArray = document.getElementById('txtDeparting').value.split('/');
        document.getElementById('od').value = dFromDateArray[0];
        document.getElementById('om').value = GetMonthinMMMFormat(dFromDateArray[1]);
        document.getElementById('departing_error').style.display = "none";
    }


    if (document.getElementById('rbReturn').checked) {
        document.getElementById('jt').value = 'R';
        if (document.getElementById('txtArriving').value == '' || document.getElementById('txtArriving').value == 'DD/MM/YYYY') {
            document.getElementById('return_error').style.display = "block";
            document.getElementById('return_error').innerHTML = 'Please select the date you are returning';
            return false;
        }
        else if (!ValidateForm(document.getElementById('txtArriving').value)) {
            document.getElementById('return_error').style.display = "block";
            document.getElementById('return_error').innerHTML = "Please enter a valid format DD/MM/YYYY";
            return false;
        }
        else if (!CheckDateValidation(document.getElementById('txtArriving').value)) {
            document.getElementById('return_error').style.display = "block";
            if (flag == true) {
                document.getElementById('return_error').innerHTML = "Please enter a valid date (the date entered is in the past)";
                flag = false;
            }
            else
                document.getElementById('return_error').innerHTML = "Please enter a valid date (no more than 6 months ahead)";
            return false;
        }
        else {
            dToDateArray = document.getElementById('txtArriving').value.split('/');
            dFromDate = dFromDateArray[1] + '/' + dFromDateArray[0] + '/' + dFromDateArray[2];
            dToDate = dToDateArray[1] + '/' + dToDateArray[0] + '/' + dToDateArray[2];
            if (Date.parse(dFromDate) > Date.parse(dToDate)) {
                document.getElementById('return_error').style.display = "block";
                document.getElementById('return_error').innerHTML = 'The return date cannot be earlier than the outward date';
                return false;
            }
            else if (Date.parse(dFromDate) == Date.parse(dToDate)) {
                if (document.getElementById('ochoice').value == 'pm' && document.getElementById('rchoice').value == 'am') {
                    document.getElementById('return_error').style.display = "block";
                    document.getElementById('return_error').innerHTML = 'Return date is too early';
                    return false;
                }
            }
        }
        dToDateArray = document.getElementById('txtArriving').value.split('/');
        document.getElementById('rd').value = dToDateArray[0];
        document.getElementById('rm').value = GetMonthinMMMFormat(dToDateArray[1]);
        document.getElementById('return_error').style.display = "none";
    }
    else if (document.getElementById('rbOneWay').checked) {
        document.getElementById('jt').value = 'S';
    }
    else if (document.getElementById('rbopen').checked) {
        document.getElementById('jt').value = 'O';
    }
    var LocationFrom = document.getElementById('txtFrom').value;
    var LocationTo = document.getElementById('txtTo').value;
    if (!IsFromLightBox || !IsToLightBox) {
        $.ajax
        ({
            url: "ToLocationId.aspx",
            data: "q=" + LocationTo + "&q1=" + LocationFrom,
            success: function(message1) {
                var rows1 = message1.split("\n");
                var a = TrimUsingWhileLoop(rows1[0]).substring(0, rows1[0].length - 1);
                var b = TrimUsingWhileLoop(rows1[1]).substring(0, rows1[1].length - 1);
                if (!IsToLightBox) {
                    if (a == '0') {
                        document.getElementById('To').value = document.getElementById('txtTo').value;
                        document.getElementById('jptype').value = 'own';
                    }
                    else {
                        document.getElementById('toc').value = a;
                    }
                }
                if (!IsFromLightBox) {
                    if (b == '0') {
                        document.getElementById('from').value = document.getElementById('txtFrom').value;
                        document.getElementById('jptype').value = 'own';
                    }
                    else {
                        document.getElementById('fromc').value = b;
                    }
                }
                bt = document.getElementById("btSubmit");
                doSubmit = 1;
                bt.click();

            }
        });
    }
    else {
        bt = document.getElementById("btSubmit");
        doSubmit = 1;
        bt.click();
        IsLightBox = false;


    }


    return false;
}

$(document).ready(function() {
    $("input[name='rbtn1']").click(function() {
        if ($("#rbOneWay").is(":checked")) {
            $("#divArriveOn").hide();
            $("#cal_image").show();
            $("#cal_image_disabled").hide();

        }
        else if ($("#rbReturn").is(":checked")) {
            $("#divArriveOn").show();
            $("#txtArriving").attr("disabled", false);
            $("#rchoice").attr("disabled", false);
            $("#cal_image").show();
            $("#cal_image_disabled").hide();
        }
        else if ($("#rbopen").is(":checked")) {
            $("#divArriveOn").hide();
            $("#txtArriving").attr("disabled", true);
            $("#rchoice").attr("disabled", true);
            $("#return_error").hide();
            $("#cal_image").hide();
            $("#cal_image_disabled").show();

        }
    })
})
function CheckOneWayRaio() {
    var rdoOneWay = document.getElementById("rbOneWay");
    var rdoReturn = document.getElementById("rbReturn");
    if (rdoOneWay.checked) {
        OneWay = 1;
    }
    else if (rdoReturn.checked) {
        OneWay = 0;
    }
}


//Validation Date functionality


var dtCh = "/";
var minYear = 1900;
var maxYear = 2100;

function isInteger(s) {
    var i;
    for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag) {
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary(year) {
    // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}
function DaysArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 31
        if (i == 4 || i == 6 || i == 9 || i == 11) { this[i] = 30 }
        if (i == 2) { this[i] = 29 }
    }
    return this
}

function isDate(dtStr) {
    var daysInMonth = DaysArray(12)
    var pos1 = dtStr.indexOf(dtCh)
    var pos2 = dtStr.indexOf(dtCh, pos1 + 1)
    var strDay = dtStr.substring(0, pos1)
    var strMonth = dtStr.substring(pos1 + 1, pos2)
    var strYear = dtStr.substring(pos2 + 1)
    strYr = strYear
    if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
    if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
    for (var i = 1; i <= 3; i++) {
        if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1)
    }
    month = parseInt(strMonth)
    day = parseInt(strDay)
    year = parseInt(strYr)
    if (pos1 == -1 || pos2 == -1) {
        //alert("The date format should be : dd/mm/yyyy")
        return false
    }
    if (strMonth.length < 1 || month < 1 || month > 12) {
        //alert("Please enter a valid month")
        return false
    }
    if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
        //alert("Please enter a valid day")
        return false
    }
    if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
        //alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
        return false
    }
    if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
        //alert("Please enter a valid date")
        return false
    }
    return true
}

function ValidateForm(dt) {
    if (isDate(dt) == false) {
        return false
    }
    return true
}


function CheckDateValidation(sDate) {
    var daysInMonth = DaysArray(12)
    var pos1 = sDate.indexOf(dtCh)
    var pos2 = sDate.indexOf(dtCh, pos1 + 1)
    var strDay = sDate.substring(0, pos1)
    var strMonth = sDate.substring(pos1 + 1, pos2)
    var strYear = sDate.substring(pos2 + 1)
    var enterdate = new Date(strYear, strMonth - 1, strDay);
    var today = new Date();
    var currDate = new Date();
    currDate.setDate(currDate.getDate());
    today.setDate(today.getDate() - 1);
    if (today < enterdate) {
        if (today.getMonth() < currDate.getMonth())
            now = new Date(today.getFullYear(), today.getMonth() + 8, 1);
        else
            now = new Date(today.getFullYear(), today.getMonth() + 7, 1);

        now.setDate(now.getDate() - 1);
        if (enterdate <= now) {
            return true;
        }
        else {
            return false;
        }
    }
    else {
        flag = true;
        return false;
    }
}

function loadcarousel() {
    document.getElementById("jImgBlue").src = CoachImageshover[0];
    document.getElementById("jImgPurple").src = CoachImages[1];
    document.getElementById("jImgYellow").src = CoachImages[2];
    document.getElementById("jImgPink").src = CoachImages[3];
    document.getElementById("jMainImage").src = LeftCoachImages[0];

    $("#findoutcost").attr("href", springcoachurl);

    //Blue Hover 
    $("#jBlue").mouseover(function() {
        //$("#findoutcost").attr("href", Siteurl + 'springcoachfares.aspx');
        $("#findoutcost").attr("href", springcoachurl);
        $("#dvMap").addClass("purblue");
        $("#dvMap").removeClass("purpul");
        $("#dvMap").removeClass("purpink");
        $("#dvMap").removeClass("puryello");

        $("#jImgBlue").attr("src", CoachImageshover[0]);
        $("#jImgPurple").attr("src", CoachImages[1]);
        $("#jImgYellow").attr("src", CoachImages[2]);
        $("#jImgPink").attr("src", CoachImages[3]);

        //        $("#jImgPurple").attr("src", Imageurl + "glastonbury_strip.gif");
        //        $("#jImgYellow").attr("src", Imageurl + "brit_xplore_strip.gif");
        //        $("#jImgPink").attr("src", Imageurl + "coach_carousel_Tab_Eurolines.gif");
        //        $("#jImgBlue").attr("src", Imageurl + "travel_coach_strip_hover.gif");

        $("#jBlue").removeClass("spancla");
        $("#jPurple").addClass("spancla");
        $("#jYellow").addClass("spancla");
        $("#jPink").addClass("spancla");

        $("#jImgPurple").addClass("imagebordern");
        $("#jImgYellow").addClass("imagebordern");
        $("#jImgPink").addClass("imagebordern");
        $("#jImgBlue").removeClass("imagebordern");
        $("#jImgBlue").removeClass("imageborderblue");

        $("#LeftChangeColor").removeClass("frm_coachPurple");
        $("#LeftChangeColor").removeClass("frm_coachYellow");
        $("#LeftChangeColor").removeClass("frm_coachPink");
        $("#LeftChangeColor").addClass("frm_coach");

        $("#jImgYellow").removeClass("imagebottomborder");
        $("#jImgPurple").removeClass("imagebottomborder");
        $("#jImgBlue").removeClass("imagebottomborder");

        //$("#jMainImage").attr("src", Imageurl + "coches_blue_pk.jpg");
        $("#jMainImage").attr("src", LeftCoachImages[0]);


        $("#jMainImage").attr("alt", "Seat Sale");
        $("#jMainImage").attr("title", "Seat Sale");
        $("#LeftBanner").hide();
        $("#LeftBanner").show();
    })

    //Purple Hover 
    $("#jPurple").mouseover(function() {

        //$("#findoutcost").attr("href", Siteurl + "festivals.aspx");
        $("#findoutcost").attr("href", festivalurl);
        $("#dvMap").removeClass("purblue");
        $("#dvMap").addClass("purpul");
        $("#dvMap").removeClass("purpink");
        $("#dvMap").removeClass("puryello");

        $("#jImgBlue").attr("src", CoachImages[0]);
        $("#jImgPurple").attr("src", CoachImageshover[1]);
        $("#jImgYellow").attr("src", CoachImages[2]);
        $("#jImgPink").attr("src", CoachImages[3]);

        //      $("#jImgBlue").attr("src", Imageurl + "travel_coach_strip.gif");
        //      $("#jImgYellow").attr("src", Imageurl + "brit_xplore_strip.gif");
        //      $("#jImgPink").attr("src", Imageurl + "coach_carousel_Tab_Eurolines.gif");
        //      $("#jImgPurple").attr("src", Imageurl + "glastonbury_strip_hover.gif");

        $("#jBlue").addClass("spancla");
        $("#jPurple").removeClass("spancla");
        $("#jYellow").addClass("spancla");
        $("#jPink").addClass("spancla");

        $("#jImgBlue").addClass("imageborderblue");
        $("#jImgPurple").removeClass("imagebordern");
        $("#jImgYellow").addClass("imagebordern");
        $("#jImgPink").addClass("imagebordern");

        $("#LeftChangeColor").removeClass("frm_coach");
        $("#LeftChangeColor").removeClass("frm_coachYellow");
        $("#LeftChangeColor").removeClass("frm_coachPink");
        $("#LeftChangeColor").addClass("frm_coachPurple");

        $("#jImgYellow").removeClass("imagebottomborder");
        $("#jImgPurple").removeClass("imagebottomborder");
        $("#jImgBlue").addClass("imagebottomborder");

        //$("#jMainImage").attr("src", Imageurl + "coches_purple_pk.jpg");
        $("#jMainImage").attr("src", LeftCoachImages[1]);


        $("#jMainImage").attr("alt", "Portsmouth and Southampton to London");
        $("#jMainImage").attr("title", "Portsmouth and Southampton to London");
        $("#LeftBanner").hide();
        $("#LeftBanner").show();
    })

    //Yellow Hover 
    $("#jYellow").mouseover(function() {

        //$("#findoutcost").attr("href", Siteurl + "wembleyfootball.aspx");
        $("#findoutcost").attr("href", wembleyurl);
        $("#dvMap").removeClass("purblue");
        $("#dvMap").removeClass("purpul");
        $("#dvMap").removeClass("purpink");
        $("#dvMap").addClass("puryello");

        //      $("#jImgBlue").attr("src", Imageurl + "travel_coach_strip.gif");
        //      $("#jImgPurple").attr("src", Imageurl + "glastonbury_strip.gif");
        //      $("#jImgPink").attr("src", Imageurl + "coach_carousel_Tab_Eurolines.gif");
        //      $("#jImgYellow").attr("src", Imageurl + "brit_xplore_strip_hover.gif");

        $("#jImgBlue").attr("src", CoachImages[0]);
        $("#jImgPurple").attr("src", CoachImages[1]);
        $("#jImgYellow").attr("src", CoachImageshover[2]);
        $("#jImgPink").attr("src", CoachImages[3]);

        $("#jBlue").addClass("spancla");
        $("#jPurple").addClass("spancla");
        $("#jYellow").removeClass("spancla");
        $("#jPink").addClass("spancla");

        $("#jImgBlue").addClass("imageborderblue");
        $("#jImgPurple").addClass("imagebordern");
        $("#jImgYellow").removeClass("imagebordern");
        $("#jImgPink").addClass("imagebordern");

        $("#LeftChangeColor").removeClass("frm_coach");
        $("#LeftChangeColor").removeClass("frm_coachPurple");
        $("#LeftChangeColor").removeClass("frm_coachPink");
        $("#LeftChangeColor").addClass("frm_coachYellow");

        $("#jImgPurple").addClass("imagebottomborder");
        $("#jImgYellow").removeClass("imagebottomborder");
        $("#jImgBlue").removeClass("imagebottomborder");
        //$("#jImgBlue").removeClass("imagetopborderpurple");

        //$("#jMainImage").attr("src", Imageurl + "coches_yellow_pk.jpg");
        $("#jMainImage").attr("src", LeftCoachImages[2]);


        $("#jMainImage").attr("alt", "Travel provider to Wembley Stadium");
        $("#jMainImage").attr("title", "Travel provider to Wembley Stadium");
        $("#LeftBanner").hide();
        $("#LeftBanner").show();
    })
    //Pink Hover 
    $("#jPink").mouseover(function() {

        //$("#findoutcost").attr("href", Siteurl + "coacheurope.aspx");
        $("#findoutcost").attr("href", europeurl);
        $("#dvMap").removeClass("purblue");
        $("#dvMap").removeClass("purpul");
        $("#dvMap").addClass("purpink");
        $("#dvMap").removeClass("puryello");

        //      $("#jImgBlue").attr("src", Imageurl + "travel_coach_strip.gif");
        //      $("#jImgPurple").attr("src", Imageurl + "glastonbury_strip.gif");
        //      $("#jImgYellow").attr("src", Imageurl + "brit_xplore_strip.gif");
        //      $("#jImgPink").attr("src", Imageurl + "coach_carousel_Tab_Eurolines_hover.gif");

        $("#jImgBlue").attr("src", CoachImages[0]);
        $("#jImgPurple").attr("src", CoachImages[1]);
        $("#jImgYellow").attr("src", CoachImages[2]);
        $("#jImgPink").attr("src", CoachImageshover[3]);

        $("#jBlue").addClass("spancla");
        $("#jPurple").addClass("spancla");
        $("#jYellow").addClass("spancla");
        $("#jPink").removeClass("spancla");

        $("#jImgBlue").addClass("imageborderblue");
        $("#jImgPurple").addClass("imagebordern");
        $("#jImgYellow").addClass("imagebordern");
        $("#jImgPink").removeClass("imagebordern");

        $("#LeftChangeColor").removeClass("frm_coach");
        $("#LeftChangeColor").removeClass("frm_coachPurple");
        $("#LeftChangeColor").removeClass("frm_coachYellow");
        $("#LeftChangeColor").addClass("frm_coachPink");

        $("#jImgPurple").removeClass("imagebottomborder");
        $("#jImgBlue").removeClass("imagebottomborder");
        $("#jImgYellow").addClass("imagebottomborder");
        //$("#jMainImage").attr("src", Imageurl + "Coach_carousel_Euroline_Birthday.jpg");
        $("#jMainImage").attr("src", LeftCoachImages[3]);


        $("#jMainImage").attr("alt", "Europe from £10");
        $("#jMainImage").attr("title", "Europe from £10");

        $("#LeftBanner").hide();
        $("#LeftBanner").show();
    })
}
