﻿function OutOfStock(URL) {
    ShowDialog("Error", "Hawk Alarms Product Status", "Product out of stock!<br/><br/>Please come again later.<br/><br/><a href='" + URL + "'>click here</a> to contact us.", "Ok");
    return false;
}

function UpdateCart(data) {
    data = eval('(' + data + ')');
    $("#CartItemCount").html(data.CartItemCount);
    $("#CartTotal").html(data.CartTotal);
}

function FindMyOrder(url,id) {
    document.location.href = url + "?oNo=" + $("#OrderRef" + id).val() + "&p=" + $("#OrderPostCode" + id).val();
    return false;
}

function SendRMA() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });

    $("#YourEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#YourName").rules("add", { required: true, messages: { required: "Please enter your name"} });
    $("#YourAddress").rules("add", { required: true, messages: { required: "Please enter your address"} });

    $("#BrandModel").rules("add", { required: true, messages: { required: "Please enter Brand/Model No"} });
    $("#InvoiceNo").rules("add", { required: true, messages: { required: "Please enter your Invoice No"} });
    $("#InvoiceDate").rules("add", { required: true, messages: { required: "Please enter your Invoice Date"} });
    $("#SerialNo").rules("add", { required: true, messages: { required: "Please enter your Serial No"} });
    $("#FaultDesc").rules("add", { required: true, messages: { required: "Please state fault description"} });
    $("#Comments").rules("add", { required: true, messages: { required: "Please enter comments"} });

    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "SendRMA",
            YourEmail: $("#YourEmail").val(),
            YourName: $("#YourName").val(),
            YourAddress: $("#YourAddress").val(),
            ContactPerson: $("#ContactPerson").val(),
            YourTelephone: $("#YourTelephone").val(),
            YourFax: $("#YourFax").val(),
            PurchaseDate: $("#PurchaseDate").val(),
            BrandModel: $("#BrandModel").val(),
            InvoiceNo: $("#InvoiceNo").val(),
            InvoiceDate: $("#InvoiceDate").val(),
            SerialNo: $("#SerialNo").val(),
            FaultDesc: $("#FaultDesc").val(),
            Comments: $("#Comments").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            DisableOverlay();
            ShowResult(data, function () {
                theForm.reset();
            });
        });
    } else { alert(Errors); }
    return false;
}

function SendENote() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });

    $("#EnquiryType").rules("add", { required: true, messages: { required: "Please select enquiry type"} });
    $("#YourName").rules("add", { required: true, messages: { required: "Please enter your name"} });
    $("#YourEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#YourTelephone").rules("add", { required: true, messages: { required: "Please enter your daytime telephone"} });
    $("#Details").rules("add", { required: true, messages: { required: "Please enter details for your eNote"} });
    $("#SecurityCode").rules("add", { required: true, messages: { required: "Please enter the code shown in image"} });
    
    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "SendENote",
            EnquiryType: $("#EnquiryType").val(),
            YourName: $("#YourName").val(),
            YourEmail: $("#YourEmail").val(),
            YourTelephone: $("#YourTelephone").val(),
            Details: $("#Details").val(),
            SecurityCode: $("#SecurityCode").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            DisableOverlay();
            ShowResult(data, function () {
                $("#EnquiryType").val("");
                $("#YourName").val("");
                $("#YourEmail").val("");
                $("#YourTelephone").val("");
                $("#Details").val("");
                $("#SecurityCode").val("");
            });
        });
    } else { alert(Errors); }
    return false;
}

function UpdateProfile() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });

    $("#ProfileFirstName").rules("add", { required: true, messages: { required: "Please enter your first name"} });
    $("#ProfileLastName").rules("add", { required: true, messages: { required: "Please enter your last name"} });

    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "UpdateProfile",
            FirstName: $("#ProfileFirstName").val(),
            LastName: $("#ProfileLastName").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            DisableOverlay();
            ShowResult(data, function () {
                RemoveDialog();
                document.location.reload();
            });
        });
    } else { alert(Errors); }
    return false;
}

function AskQuestion() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });

    $("#YourName").rules("add", { required: true, messages: { required: "Please enter your name"} });
    $("#YourEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#Subject").rules("add", { required: true, messages: { required: "Please enter subject"} });

    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "AskQuestion",
            ProductID: $("#ProductID").val(),
            YourName: $("#YourName").val(),
            YourEmail: $("#YourEmail").val(),
            Subject: $("#Subject").val(),
            YourQuestion: $("#YourQuestion").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data, function () {
                $("#YourName").val("");
                $("#YourEmail").val("");
                $("#Subject").val("");
                $("#YourQuestion").val("");
                DisableOverlay();
            });
        });
    } else { alert(Errors); }
    return false;
}

function WriteReviewNow() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });

    $("#ReviewType").rules("add", { required: true, messages: { required: "Please select whether you are adding a review or comment"} });
    $("#ReviewTitle").rules("add", { required: true, messages: { required: "Please enter a title for the review/comment"} });
    $("#ReviewRating").rules("add", { required: true, messages: { required: "Please select a rating for the product"} });
    $("#SecurityCode").rules("add", { required: true, messages: { required: "Please enter the verification text as shown in the image"} });

    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "AddReview",
            ProductID: $("#ProductID").val(),
            ReviewType: $("#ReviewType").val(),
            ReviewTitle: $("#ReviewTitle").val(),
            ReviewContent: $("#ReviewContent").val(),
            ReviewRating: $("#ReviewRating").val(),
            ReviewedBy: $("#ReviewedBy").val(),
            SecurityCode: $("#SecurityCode").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data, function () {
                DisableOverlay();
            });
        });
    } else { alert(Errors); }
    return false;
}

function Search() {
    document.location.href = $("#ResultPage").val();
    return false;
}

function PayLater(oID) {
    if (!confirm("Are you sure, you want to save this order and pay later?\n\nNote: You must have to pay this order with in 7 days. After this your order will be automatically deleted."))
        return false;
    ShowMessageOnOverlay("Please wait...");
    $.post("Controller.ashx", {
        Action: "PayLater",
        OrderID: oID
    }, function (data) {
        DisableOverlayMessage();
        ShowResult(data);
    });
    return false;
}

function PayNow(oID) {
    ShowMessageOnOverlay("Please wait...");
    $.get("Paypal.ashx?oID=" + oID + "&" + Math.random(), function (data) {
        ShowResult(data, function () { }, function () {
            DisableOverlay();
        });
    });
    return false;
}


function AddOrder() {
    if ($("#CheckoutType").val() == "WithLogin") {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "AddOrder",
            BillingID: $("input[name='BillingAddressID']").filter("[checked=true]").val(),
            ShippingID: $("input[name='ShippingAddressID']").filter("[checked=true]").val(),
            ShippingOption: $("input[name='ShippingOption']").filter("[checked=true]").val(),
            CouponCode: $("#CouponCode").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data, function () { }, function () {
                DisableOverlay();
                $("#CouponCode").focus();
            });
        });
    } else {
        Errors = "";
        $("form input,form select").each(function () {
            $(this).removeClass("error").rules("remove");
        });

        $("#BillingEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Billing Email Address", email: "Invalid billing email!! Please try user@domain.com"} });
        $("#BillingFirstName").rules("add", { required: true, messages: { required: "Please enter your Billing First Name"} });
        $("#BillingLastName").rules("add", { required: true, messages: { required: "Please enter your Billing Last Name"} });
        $("#BillingAddress1").rules("add", { required: true, messages: { required: "Please enter your Billing Address1"} });
        $("#BillingCity").rules("add", { required: true, messages: { required: "Please enter your Billing Town/City"} });
        $("#BillingState").rules("add", { required: true, messages: { required: "Please enter your Billing State/County"} });
        $("#BillingZipCode").rules("add", { required: true, messages: { required: "Please enter your Billing Post/ZipCode"} });
        $("#BillingPhone").rules("add", { required: true, messages: { required: "Please enter your Billing Phone"} });

        $("#ShippingEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Shipping Email Address", email: "Invalid shipping email!! Please try user@domain.com"} });
        $("#ShippingFirstName").rules("add", { required: true, messages: { required: "Please enter your Shipping First Name"} });
        $("#ShippingLastName").rules("add", { required: true, messages: { required: "Please enter your Shipping Last Name"} });
        $("#ShippingAddress1").rules("add", { required: true, messages: { required: "Please enter your Shipping Address1"} });
        $("#ShippingCity").rules("add", { required: true, messages: { required: "Please enter your Shipping Town/City"} });
        $("#ShippingState").rules("add", { required: true, messages: { required: "Please enter your Shipping State/County"} });
        $("#ShippingZipCode").rules("add", { required: true, messages: { required: "Please enter your Shipping Post/ZipCode"} });
        $("#ShippingPhone").rules("add", { required: true, messages: { required: "Please enter your Shipping Phone"} });

        if (FormValidator.form()) {
            ShowMessageOnOverlay("Please wait...");
            $.post(BasePath + "Controller.ashx", {
                Action: "AddOrderSkipLogin",
                BillingEmail: $("#BillingEmail").val(),
                BillingFirstName: $("#BillingFirstName").val(),
                BillingLastName: $("#BillingLastName").val(),
                BillingAddress1: $("#BillingAddress1").val(),
                BillingAddress2: $("#BillingAddress2").val(),
                BillingCity: $("#BillingCity").val(),
                BillingState: $("#BillingState").val(),
                BillingCountry: $("#BillingCountry").val(),
                BillingZipCode: $("#BillingZipCode").val(),
                BillingPhone: $("#BillingPhone").val(),

                ShippingEmail: $("#ShippingEmail").val(),
                ShippingFirstName: $("#ShippingFirstName").val(),
                ShippingLastName: $("#ShippingLastName").val(),
                ShippingAddress1: $("#ShippingAddress1").val(),
                ShippingAddress2: $("#ShippingAddress2").val(),
                ShippingCity: $("#ShippingCity").val(),
                ShippingState: $("#ShippingState").val(),
                ShippingCountry: $("#ShippingCountry").val(),
                ShippingZipCode: $("#ShippingZipCode").val(),
                ShippingPhone: $("#ShippingPhone").val(),

                ShippingOption: $("input[name='ShippingOption']").filter("[checked=true]").val(),
                CouponCode: $("#CouponCode").val()
            }, function (data) {
                DisableOverlayMessage();
                $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
                ShowResult(data, function () { }, function () {
                    DisableOverlay();
                    $("#CouponCode").focus();
                });
            });
        } else { alert(Errors); }
    }
    return false;
}

function AddAnotherAddress() {
    RemoveDialog();
    ClearAddressFields(); 
    $('#Email').focus();
}
function ClearAddressFields() {
    $("#Email").val("");
    $("#FirstName").val("");
    $("#LastName").val("");
    $("#Address1").val("");
    $("#Address2").val("");
    $("#City").val("");
    $("#State").val("");
    $("#Country").val("");
    $("#ZipCode").val("");
    $("#Phone").val("");
}

function AddNewAddress() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    
    $("#Email").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#FirstName").rules("add", { required: true, messages: { required: "Please enter your First Name"} });
    $("#LastName").rules("add", { required: true, messages: { required: "Please enter your Last Name"} });
    $("#Address1").rules("add", { required: true, messages: { required: "Please enter your Address1"} });
    $("#City").rules("add", { required: true, messages: { required: "Please enter your Town/City"} });
    $("#State").rules("add", { required: true, messages: { required: "Please enter your State/County"} });
    $("#ZipCode").rules("add", { required: true, messages: { required: "Please enter your Post/ZipCode"} });
    $("#Phone").rules("add", { required: true, messages: { required: "Please enter your Phone"} });

    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "AddAddress",
            AddressType: $("#AddressType").val(),
            Email: $("#Email").val(),
            FirstName: $("#FirstName").val(),
            LastName: $("#LastName").val(),
            Address1: $("#Address1").val(),
            Address2: $("#Address2").val(),
            City: $("#City").val(),
            State: $("#State").val(),
            Country: $("#Country").val(),
            ZipCode: $("#ZipCode").val(),
            Phone: $("#Phone").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data, function () {
                document.location.reload();
            });
        });
    } else { alert(Errors); }
    return false;
}

function Logout() {
    if (confirm("Are you sure, you want to logged out from your account?")) {
        ShowMessageOnOverlay("Please wait...");
        $.post(BasePath + "Controller.ashx", {
            Action: "DoLogout"
        }, function (data) {
            ShowResult(data);
        });
    }
    return false;
}

function ResetPassword() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    $("#fpwdEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait..");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "RecoverPassword",
            Email: $("#fpwdEmail").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data, function () {
                DisableOverlay();
            }, function () {
                $("#fpwdEmail").focus();
                $("#fpwdEmail").select();
            });
        });
    } else { alert(Errors); }
    return false;
}

function SkipLogin() {
    ShowMessageOnOverlay("Please wait...");
    $.post(BasePath + "Controller.ashx", {
        Action: "GuestLogin"
    }, function (data) {
        ShowResult(data);
    });
    return false;
}

function UpdatePassword() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    $("#OldPassword").rules("add", { required: true, minlength: 6, messages: { required: "Please enter your old Password", minlength: "Password must atleat 6 characters long"} });
    $("#NewPassword").rules("add", { required: true, minlength: 6, messages: { required: "Please enter your new Password", minlength: "Password must atleat 6 characters long"} });
    $("#ConfirmPassword").rules("add", { required: true, minlength: 6, messages: { required: "Please confirm your new Password", minlength: "Password must atleat 6 characters long"} });

    if (FormValidator.form()) {
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        ShowMessageOnOverlay("Please wait...");
        $.post(BasePath + "Controller.ashx", {
            Action: "UpdatePassword",
            OldPassword: $("#OldPassword").val(),
            NewPassword: $("#NewPassword").val(),
            ConfirmPassword: $("#ConfirmPassword").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            if ($(".OverlayBox").length == 0) DisableOverlay();
            ShowResult(data, function () {
                DisableOverlay();
                }, function () {
                    $("#OldPassword").select();
                }
            );
        });
    } else { alert(Errors); }
    return false;
}

function SignIn() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    $("#LoginEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#LoginPassword").rules("add", { required: true, minlength: 6, messages: { required: "Please enter your Password", minlength: "Password must atleat 6 characters long"} });
    if (FormValidator.form()) {
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        ShowMessageOnOverlay("Please wait...");
        $.post(BasePath + "Controller.ashx", {
            Action: "SignIn",
            Email: $("#LoginEmail").val(),
            Password: $("#LoginPassword").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            if ($(".OverlayBox").length == 0) DisableOverlay();
            ShowResult(data, function () { }, function () {
                $("#LoginEmail").select();
            });
        });
    } else { alert(Errors); }
    return false;
}


function RegisterMe() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    $("#Email").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#ConfirmEmail").rules("add", { equalTo: "#Email", messages: { equalTo: "Email and Confirm Email must match"} });
    $("#Password").rules("add", { required: true, minlength: 6, messages: { required: "Please enter your Password", minlength: "Password must atleat 6 characters long"} });
    $("#ConfirmPassword").rules("add", { equalTo: "#Password", messages: { equalTo: "Password and Confirm Password must match"} });

    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait...");
        $("form input,form select").attr("disabled", "disabled").css({ opacity: "0.3" });
        $.post(BasePath + "Controller.ashx", {
            Action: "RegisterMe",
            Email: $("#Email").val(),
            Password: $("#Password").val(),
            FirstName: $("#FirstName").val(),
            LastName: $("#LastName").val(),
            Address1: $("#Address1").val(),
            Address2: $("#Address2").val(),
            City: $("#City").val(),
            State: $("#State").val(),
            Country: $("#Country").val(),
            ZipCode: $("#ZipCode").val(),
            Phone: $("#Phone").val()
        }, function (data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data, function () {
                DisableOverlay();
            }, function () {
                $("#Email").focus();
                $("#Email").select();
            });
        });
    } else { alert(Errors); }
    return false;
}

function ShowSecond() {
    Errors = "";
    $("form input,form select").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    $("#FirstName").rules("add", { required: true, messages: { required: "Please enter your First Name"} });
    $("#LastName").rules("add", { required: true, messages: { required: "Please enter your Last Name"} });
    $("#Address1").rules("add", { required: true, messages: { required: "Please enter your Address1"} });
    $("#City").rules("add", { required: true, messages: { required: "Please enter your Town/City"} });
    $("#State").rules("add", { required: true, messages: { required: "Please enter your State/County"} });
    $("#ZipCode").rules("add", { required: true, messages: { required: "Please enter your Post/ZipCode"} });
    $("#Phone").rules("add", { required: true, messages: { required: "Please enter your Phone"} });
    if (FormValidator.form()) {
        $("#FirstStep").slideToggle();
        $("#SecondStep").slideToggle(function () {
            $("#Email").select();
        });
    } else { alert(Errors); }
    return false;
}

function ShowFirst() {
    $("#FirstStep").slideToggle(function () {
        $("#FirstName").focus();
    });
    $("#SecondStep").slideToggle();
    return false;
}

function ShowLoginWindow4Checkout(rURL) {
    NewRedirectURL = rURL;
    ShowControlOnOverlay('Login', 600,0,false,'sc=1');
    return false;
}

function NewsletterSubscribeChange(s) {
    var msg = s ? "Are you sure, you want to unsubscribe yourself from the newsletter subscriptions?" : "Are you sure, you want to subscribe for the newsletter subscriptions?";
    if (confirm(msg)) {
        ShowMessageOnOverlay("Please wait..");
        $.post(BasePath + "Controller.ashx", {
            Action: "NewsletterSubscribeChange",
            Status: s
        }, function (data) {
            DisableOverlay();
            ShowResult(data, function () {
                document.location.reload(true);
            });
        });
    }
    return false;
}

function ManageSubscriptions() {
    PostHandler = function (data) {
        DisableOverlay();
        setTimeout(function () {
            var msg = data.SubscriptionStatus == "true" ? "Are you sure, you want to unsubscribe yourself from the newsletter subscriptions?" : "Are you sure, you want to subscribe for the newsletter subscriptions?";
            if (confirm(msg)) {
                ShowMessageOnOverlay("Please wait..");
                $.post(BasePath + "Controller.ashx", {
                    Action: "NewsletterSubscribeChange",
                    Status: data.SubscriptionStatus
                }, function (data) {
                    DisableOverlay();
                    ShowResult(data, function () {
                        document.location.href = data.RedirectURL;
                    });
                });
            } else {
                document.location.href = data.RedirectURL;
            }
        }, 100);
    } 
    ShowControlOnOverlay('Login', 600);
    return false;
}

function SubscribeNewsletter() {
    Errors = "";
    $("form input,form select,form textarea").each(function () {
        $(this).removeClass("error").rules("remove");
    });
    $("#NewsletterName").rules("add", { required: true, messages: { required: "Please enter your Name"} });
    $("#NewsletterEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait..");
        $.post(BasePath + "Controller.ashx", {
            Action: "SubscribeNewsletter",
            Name: $("#NewsletterName").val(),
            Email: $("#NewsletterEmail").val()
        }, function (data) {
            DisableOverlay();
            ShowResult(data);
            $("#NewsletterName").val("Name");
            $("#NewsletterEmail").val("E-mail Address");
        });
    } else { alert(Errors); }
    return false;
}

function DeleteFromWishList(pID) {
    if (confirm("Are you sure, you want to remove this product from your wishlist?")) {
        ShowMessageOnOverlay("Please wait..");
        $.post(BasePath + "Controller.ashx", {
            Action: "DeleteFromWishList",
            ProductID: pID
        }, function (data) {
            DisableOverlay();
            ShowResult(data, function () {
                pID = pID.replace("-", "");
                pID = pID.replace("-", "");
                pID = pID.replace("-", "");
                pID = pID.replace("-", "");
                $("#FeaturedProduct_" + pID).fadeOut(1000);
            });
        });
    }
    return false;
}


function Add2WishList(pID, uL) {
    if (uL) {
        ShowMessageOnOverlay("Please wait..");
        $.post(BasePath + "Controller.ashx", {
            Action: "Add2WishList",
            ProductID: pID
        }, function (data) {
            DisableOverlay();
            ShowResult(data);
        });
    } else {
        PostHandler = function () {
            DisableOverlayMessage();
            ShowMessageOnOverlay("Please wait..");
            $.post(BasePath + "Controller.ashx", {
                Action: "Add2WishList",
                ProductID: pID
            }, function (data) {
                DisableOverlay();
                ShowResult(data, function () {
                    document.location.reload(true);
                }, function () {
                    document.location.reload(true);
                });
            });
        };
        ShowControlOnOverlay('Login', 600);
    }
    return false;
}

function Add2Cart(pID, t) {
    ShowMessageOnOverlay("Please wait..");
    $.post(BasePath + "Controller.ashx", {
        Action: "Add2Cart",
        ProductID: pID,
        Quantity: 1,
        type: t
    }, function (data) {
        if (t == "quick") {
            DisableOverlay();
            ShowResult(data, function () {
                UpdateCart(data);
            });
        } else {
            ShowResult(data, function () {
                DisableOverlay();
                UpdateCart(data);
            }, function () {
                DisableOverlay();
            });
        }
    });
    return false;
}

function Add2CartWithQty(pID, qID, t) {
    if (ValidateQty("#" + qID)) {
        var Qty = $("#" + qID).val();
        ShowMessageOnOverlay("Please wait..");
        $.post(BasePath + "Controller.ashx", {
            Action: "Add2Cart",
            ProductID: pID,
            Quantity: Qty,
            type: t
        }, function (data) {
            ShowResult(data, function () {
                DisableOverlay();
                UpdateCart(data);
            }, function () {
                DisableOverlay();
            });
        });
    } else {
        ShowDialog("Error", "Hawk Alarms", "Invalid Quantity.", "ok", function () { $("#" + qID).focus();});
    }
    return false;
}

function ValidateQty(o) {
    var Qty = $(o).val();
    if (isNaN(Qty) || parseInt(Qty) != Qty || parseInt(Qty)==0) {
        return false;
    }
    return true;
}


function parseXML(xml) {
    var results = [];
    $(xml).find('item').each(function () {
        var ResultTitle = $.trim($(this).find('ResultTitle').text());
        var FormattedHtml = $.trim($(this).find('FormattedHtml').text());
        var FileURL = $.trim($(this).find('FileURL').text());
        results[results.length] = { 'data': { "ResultTitle": ResultTitle, "FormattedHtml": FormattedHtml, "FileURL": FileURL },
            'result': ResultTitle, 'value': FileURL
        };
    });
    return results;
};

function formatItem(data, i, j) {
    return data.FormattedHtml;
};

function formatResult(data) {
    return data.ResultTitle;
};


$(function () {
    if (jQuery.browser.msie || jQuery.browser.opera) {
        $(".AllFiveRounded").corner("round 5px");
        $(".AllTenRounded").corner("round 10px");
        $(".AllTenRounded h2").corner("round 10px tl tr");
        $(".AllTenRounded .Body").corner("round 10px bl br");

        var w = $(".InfoBox").css("width");
        var b = $(".InfoBox").css("borderColor");
        $(".InfoBox").corner("round 5px").css("width", "auto");
        $(".InfoBox").wrap("<div></div>");
        $(".InfoBox").parent().css({ padding: "2px", width: w, backgroundColor: b, margin: "auto" }).corner("round 5px");
    }

    FormValidator = $("#form1").validate({
        errorPlacement: function (error, element) {
            Errors += error.html() + "\n";
        }
    });

    $("#OrderRef0").focus(function () {
        if ($(this).val() == "Order Ref") $(this).val("");
    }).blur(function () {
        if ($(this).val() == "") $(this).val("Order Ref");
    });

    $("#OrderPostCode0").focus(function () {
        if ($(this).val() == "Postcode") $(this).val("");
    }).blur(function () {
        if ($(this).val() == "") $(this).val("Postcode");
    });

    /***************************** Quick Search **************************/
    $("#SearchKeyword").focus(function () {
        if ($(this).val() == "Search") $(this).val("");
    }).autocomplete("Controller.ashx", {
        extraParams: { Action: "Search" },
        width: 395,
        minChars: 1,
        max: 20,
        autoFill: false,
        mustMatch: 1,
        scrollHeight: 400,
        selectFirst: false,
        parse: parseXML,
        formatItem: formatItem,
        formatResult: formatResult,
        cacheLength: 0
    }).result(function (event, item) {
        if (item && item.FileURL.length > 0) window.location.href = item.FileURL;
        return false;
    });
    /**************************************************************/

    $(".DisableMe").attr("disabled", "disabled").css("opacity","0.5");
    $("a.DisableMe").removeAttr("href");
});
