
/*overstate*/
$(document).ready(function () {
    //cufon

    //Cufon.replace('#header, #nav h1, #nav p, #nav ul, #footer span, .box h1, .box p, .box ul, .box-nb h1, .box-nb p, .box-nb ul, .cf, .blue, .address-table, #time-top, .timetable-table, #join-form, .plane-details, .book');
    Cufon.replace('#nav a, #nav h1, #nav p, #nav ul, #footer span, .box h1, .box h2, .box h3, .box-nb h1, .box-nb ul, .cf, .blue, #time-top, .timetable-table, #join-form, .plane-details, .cufon, .big-title', { hover: true });

    //menu
    $("#menu-link").click(function () {
        $("#nav-wrapper").slideToggle();
    });

    //slideshows
    $('#s-home').cycle({
        fx: 'fade',
        timeout: 4000,
        pager: '#nav-home',
        slideExpr: 'img'
    });

    //slideshows
    $('#s-city').cycle({
        fx: 'fade',
        timeout: 4000,
        pager: '#nav-home',
        slideExpr: 'img'
    });

    $('[id^=s-hotel]').each(function () {
        var pagerID = '#nav-hotel' + $(this).attr('id').replace('s-hotel', '');
        $(this).cycle({
            fx: 'fade',
            timeout: 4000,
            pager: pagerID,
            slideExpr: 'img'
        });
    });

});

function post_to_url(path, params, method) {
    method = method || "post"; // Set method to post by default, if not specified.

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);

    for (var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);    // Not entirely sure if this is necessary
    form.submit();
}

function createSabreSonicPost(departDateDay, departDateMonth, departDateYear, returnDateDay, returnDateMonth, returnDateYear, departureCity, returnCity, adults, children, infants, oneway) {
    post_to_url("https://cat.sabresonicweb.com/meridia?", {
        "posid": "A0EE",
        "language": "GB",
        "page": "requestAirMessage_air",
        "action": "airRequest",
        "currency": "GBP",
        "actionType": "nonFlex",
        "depTime": "anytimeFromHost",
        "retTime": "anytimeFromHost",
        "realRequestAir": "realRequestAir",
        "depDay": departDateDay,
        "depMonth": departDateMonth,
        "depYear": departDateYear,
        "retDay": returnDateDay,
        "retMonth": returnDateMonth,
        "retYear": returnDateYear,
        "departCity": departureCity,
        "hidDepartCity": "",
        "returnCity": returnCity,
        "hidReturnCity": "",
        "ADT": adults,
        "CHD": children,
        "INF": infants,
        "direction": oneway == true ? "onewaytravel" : "returntravel"
    }, "post");
}

function characterLimit(sender, maxChars, onlyNumbers, e) {
    var keynum
    var keychar
    var numcheck

    if (window.event) // IE
    {
        keynum = e.keyCode
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which
    }
    
    keychar = String.fromCharCode(keynum);
    if (sender.value.length == maxChars) {
        return !keynum || keynum == 8;
    }

    if (onlyNumbers) {
        numcheck = /\d/
        return numcheck.test(keychar) || !keynum || keynum == 8;
    }

    return true;
}
