$(function () {

    loadingImg = new Image();
    loadingImg.src = "/global/img/booking/switchpage.gif";

    $("form.val_bookingForm").submit(function () {
        return validateBookingForm($(this));
    });

    $("input#search_again").click(function () {
        return validateBookingForm($(this).parents(".val_bookingForm"));
    });

    if ($('div#ftr_wrapper').length > 0) {
        $.get('/global/ajax/footer.php', function (data) {
            $('div#ftr_wrapper').html(data);
            Cufon.refresh();
            $('label.overlay').labelOver();
            $("a#win_a_break_submit").click(function () {
                if (!validateEmailFromString($("input#win_a_break").val())) {
                    alert("Please enter a valid email address");
                }
                else {
                    $("form#win_a_break_form").submit();
                }
                return false;
            });

            $("a#send_suggestion").click(function () {
                var val = $("#suggestions").val();
                if ($("#suggestions").prev("label").text() == val || val == "") {
                    alert("Please type a suggestion");
                }
                else {
                    var pageLocation = window.location; val = val.replace(/&/g, "&");
                    val = val.replace(/'/g, "''");
                    val = val.replace(/</g, "''");
                    pageLocation = escape(pageLocation);
                    $.post('/global/ajax/feedback.aspx', {
                        'feedback': val,
                        'pagelocation': pageLocation,
                        'res': $(window).width() + 'x' + $(window).height()
                    });

                    $("div#main_feedback form").html("<li><p style=\"font-size: 14px; margin-top: 10px;\" class=\"text\">Thank you for your comments. Please note these comments are reviewed automatically and we cannot respond.  Please see <a href=\"/help-and-advice/faqs.htm\">FAQs</a> if you need help.</p></li>");
                }
                return false;
            });
        });
    }

    if ($('#nav').length > 0) {
        $('#our_holiday_parks_drop').bgiframe({ left: '0', width: '710px', height: '261px' });
        $('#accommodation_drop').bgiframe({ left: '0', width: '217px', height: '218px' });
        $('#entertainment_drop').bgiframe({ left: '0', width: '217px', height: '319px' });
        $('#touring_and_camping_drop').bgiframe({ left: '0', width: '191px', height: '158px' });
        $('#nav ul li').click(function () {
            $(this).find('a').addClass('open');
            $('div', this).stop(true, true).slideDown(200); $('#nav ul li').mouseenter(function () {
                if (!$(this).find('a').hasClass('open')) {
                    $('#nav ul li div').slideUp(200);
                    $('#nav ul li a').removeClass('open');
                    $('div', this).stop(true, true).slideDown(200);
                    $(this).find('a').addClass('open');
                    $.stop();
                }
            });
            return false;
        });
    }

    $('#nav ul li a').click(function () {
        window.location = $(this).attr('href');
    });

    $('#sidebar .menu ul li ul li a').click(function () {
        window.location = $(this).attr('href');
    });

    $(':not(#nav ul li)').click(function () {
        $('#nav ul li').unbind('mouseenter').unbind('mouseleave');
        $('#nav ul li div').slideUp(200);
        $('#nav ul li a').removeClass('open');
        return true;
    });

    $('label.overlay').labelOver();

    if ($.client.os == 'Mac' && $.client.browser == 'Safari') { $('body').addClass('macSafari'); }
    if ($.client.os == 'Mac' && $.client.browser == 'Firefox') { $('body').addClass('macFirefox'); }

    getTel(true);
});

function validateBookingForm(form) {
    var error = ''
    if (form.find('.ddlPark').val() == '') {
        error += '\nPark & Region'
    }
    if (form.find('.ddlNights').val() == '') {
        error += '\nNights'
    }
    if (form.find('.ddlMonth').val() == '') {
        error += '\nMonth Of Arrival'
    }
    if (form.find('.ddlDate').val() == '') {
        error += '\nDate Of Arrival'
    }
    if (error != '') {
        alert('Please check the following before you proceed:\n' + error);
        return false;
    } else {
        form.find(".ddlMonth, .ddlDate").attr("disabled", "");
        $.colorbox({
            html: '<html><head></head><body><img src="/global/img/booking/switchpage.gif" /></body>',
            open: true,
            height: "350px",
            width: '700px'
        });
    }
}

function getTel(updateHeader) {
    if (updateHeader) { $("#hdr h4").load('/global/ajax/ccOpen.aspx', {}, function () { Cufon.refresh(); }) }; var teleNo = '0844 335 3450'; var allcookies = document.cookie; var pos = allcookies.indexOf("webapp="); if (pos != -1) { var start = pos + 7; var end = allcookies.indexOf(";", start); if (end == -1) end = allcookies.length; var value = allcookies.substring(start, end); value = unescape(value); var arrValues = value.split("&"); for (var iCount = 0; iCount < arrValues.length; iCount++) { if (arrValues[iCount].substring(0, 2) == "T=") { teleNo = arrValues[iCount].substring(2, arrValues[iCount].length); } } }
    if (updateHeader) { $("#hdr h3 span").text(teleNo) }; return teleNo;
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return false;
}

function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

function validateEmailFromString(str) { var at = "@"; var dot = "."; var lat = str.indexOf(at); var lstr = str.length; var ldot = str.indexOf(dot); if (str.indexOf(at) == -1) return false; if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) return false; if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) return false; if (str.indexOf(at, (lat + 1)) != -1) return false; if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) return false; if (str.indexOf(dot, (lat + 2)) == -1) return false; if (str.indexOf(" ") != -1) return false; return true; }

function newDate(str) {//helper function to create date because new Date() in ie doesnt always work as expected
    str = str.split('-');
    var date = new Date();
    date.setUTCFullYear(str[0], str[1] - 1, str[2]);
    date.setUTCHours(0, 0, 0, 0);
    return date;
}



