﻿function formatAmount(value) {
    value = value / 100;
    return value.toFixed(2);
}
function CreateDropDown(selectlinkid) {
    if (selectlinkid != null)
        $("#" + selectlinkid).addClass("selected");
    $("#linkExpressInterest").tooltip({
        position: "bottom center",
        offset: [0, 25],
        tip: '#dropdownMenu',
        delay: 30
    });
}
function CreateTooltips(selector) {
    $(selector).tooltip({
        position: "center right",
        offset: [-2, 10],
        effect: "fade",
        tip: '#tooltip'
    });
}
function isvalidbookingaddrdetails() {
    var emailregex = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
    var mobileregex = /^\d{7,16}$/;
    var phoneregex = /^\d{1,3}-\d{1,6}-\d{4,9}$/;
    
    if ($("#primaryfname").val().replace(/\s*/g, '') == '')
        $("#primaryfname").addClass("input-validation-error");
    if ($("#primarysname").val().replace(/\s*/g, '') == '')
        $("#primarysname").addClass("input-validation-error");
    if ($("#primaryemail").val().search(emailregex) == -1)
        $("#primaryemail").addClass("input-validation-error");
    if ($("#primarymobile").val().search(mobileregex) == -1)
        $("#primarymobile").addClass("input-validation-error");
    if ($("#primaryphone").val().replace(/\s*/g, '') != '' && $("#primaryphone").val().search(phoneregex) == -1)
        $("#primaryphone").addClass("input-validation-error");
    if (!isvalidagegroup("#primaryage"))
        $("#primaryage").addClass("input-validation-error");
}
function buildstep2primarydetails() {
    $("#step2primarydetails tbody").empty();
    $("#step2primarydetails tbody").append("<tr>"
                + "<td>" + $("#primaryfname").val() + "</td>"
                + "<td>" + $("#primarysname").val() + "</td>"
                + "<td>" + getagegroupname($("#primaryage").val()) + "</td>"
                + "<td>" + ($('input[name=primaryaccoassist]:radio:checked').val() == 1 ? "Yes" : "No") + "</td>" 
                + "</tr>");
}
function isvalidaddondetails() {
    for (var j = 1; j <= 5; j++) {
        if ($("#addonfname" + j).val().replace(/\s*/g, '') != '') {
            if ($("#addonsname" + j).val().replace(/\s*/g, '') == '')
                $("#addonsname" + j).addClass("input-validation-error");
            if (!isvalidagegroup("#addonage" + j))
                $("#addonage" + j).addClass("input-validation-error");
        }
        else {
            $("#addonsname" + j).val('');
            $("#addonage" + j).val(5);
            $("#addonaccassist" + j).val(0);
            $("#addonspecial" + j).val('');
        }
    }
}
function isvalidticketselection() {
    if ($("#ticketoptions").val() == 1) {
        if($("#dailyticketoptions").val() != 1 && $("#dailyticketoptions").val() != 2 && $("#dailyticketoptions").val() != 3)
            $("#dailyticketoptions").addClass("input-validation-error");
    }
    else {
        if ($("#fulleventticketoptions").val() != 1 && $("#fulleventticketoptions").val() != 2 && $("#fulleventticketoptions").val() != 3)
            $("#fulleventticketoptions").addClass("input-validation-error");
    }
}
function isvalidagegroup(selector) {
    if ($(selector).val() == 5 || $(selector).val() == 11 || $(selector).val() == 100)
        return true;
    return false;
}
function buildconfirmationtable() {
    var ticketopt = $("#ticketoptions").val();
    var passsel = (ticketopt == 1) ? "Daily Pass for Day " + $("#dailyticketoptions").val() : "Full 3 Day Event Pass of " + geteventpassnames();
    var rownum = 1;
    var totalpayable = parseFloat(getcosts($("#primaryage").val(), ticketopt));

    $("#confirmationtable tr:gt(0)").remove();
    $("#yourselection").html("You have selected " + passsel);
    $("#confirmationtable").append("<tr>" +
        "<td class='smallcolumn'>" + rownum + ".</td>" +
        "<td>" + $("#primaryfname").val() + "</td>" +
        "<td>" + $("#primarysname").val() + "</td>" +
        "<td>" + getagegroupname($("#primaryage").val()) + "</td>" +
        "<td>" + getcosts($("#primaryage").val(), ticketopt) + "</td>" +
        "</tr>");
    for (var j = 1; j <= 5; j++) {
        if ($("#addonfname" + j).val().replace(/\s*/g, '') != '') {
            rownum++;
            totalpayable = totalpayable + parseFloat(getcosts($("#addonage" + j).val(), ticketopt));
            $("#confirmationtable").append("<tr>" +
                "<td class='smallcolumn'>" + rownum + ".</td>" +
                "<td>" + $("#addonfname" + j).val() + "</td>" +
                "<td>" + $("#addonsname" + j).val() + "</td>" +
                "<td>" + getagegroupname($("#addonage" + j).val()) + "</td>" +
                "<td>" + getcosts($("#addonage" + j).val(), ticketopt) + "</td>" +
                "</tr>");
        }
    }
    $("#totalpayable").html("The total amount payable for this booking is <span style='color: #FF0000;'>AU $" + totalpayable + ".00</span>");
}
function getcosts(age, ticketoption) {
    var value = (ticketoption == 1) ? $("#dailyticketoptions").val() : $("#fulleventticketoptions").val();
    
    if (age == 5) return "0.00";
    else if (age == 11) {
        if (ticketoption == 1) {
            if (value == 1) return "12.00";
            else return "30.00";
        }
        else return "65.00";
    }
    else {
        if (ticketoption == 1) {
            if (value == 1) return "15.00";
            else return "40.00";
        }
        else {
            if (value == 3) return "85.00";
            else if (value == 2) return "120.00";
            else return "150.00";
        }
    }
}
function geteventpassnames() {
    if ($("#fulleventticketoptions").val() == 3) return "Roupya Patrika";
    else if ($("#fulleventticketoptions").val() == 2) return "Suvarna Patrika";
    else return "Hirak Patrika";
}
function getagegroupname(value) {
    if (value == 5) return "Below 5";
    else if (value == 11) return "Between 5-11";
    else return "Over 11";
}
function displayenquiryresponse(result) {
    restfinaliseform();
    $("#loadingprogress").hide();
    switch (result.Response) {
        case 1:
            $("#bookingform").resetForm();
            $("span.ui-icon-m").addClass("ui-icon-m-success");
            $("span.new-validation-summary-errors").html('Success');
            $("ul.new-validation-summary-errors").html("<li>Thank you for your intrest. Your booking request was successful.</li>");
            $("#registrationsuccessamt").html("AU $ " + formatAmount(result.AmountDue));
            $("#registrationsuccessref").html(result.ReferenceNumber);
            $("#registrationsuccess").show();
            break;
        default:
            $("span.ui-icon-m").addClass("ui-icon-m-warning");
            $("span.new-validation-summary-errors").html('Booking submission error');
            $("ul.new-validation-summary-errors").empty();
            $.each(result.Errors, function(i, r) {
                $("ul.new-validation-summary-errors").append("<li>" + r + "</li>");
            });
            $("#registrationunsuccess").show();
            break;
    }
    $("div.new-validation-summary").show();
}
function restfinaliseform() {
    if ($("span.ui-icon-m").hasClass("ui-icon-m-warning") == true) $("span.ui-icon-m").removeClass("ui-icon-m-warning");
    if ($("span.ui-icon-m").hasClass("ui-icon-m-success") == true) $("span.ui-icon-m").removeClass("ui-icon-m-success");
    $("#registrationsuccess").hide();
    $("#registrationunsuccess").hide();
    $("div.new-validation-summary").hide();
}