﻿function PayNow(oID) {
    ShowMessageOnOverlay("Please wait...");
    $.get("Paypal.ashx?oID=" + oID, function(data) {
        $('body').append(data);
    });
    return false;
}
//function SetColors(sID) {
//    $("option", ddlProdColors).remove();
//    ddlProdColors.append("<option value=''>Select Colour</option>");
//    for (var o in ProdColors[sID]) {
//        ddlProdColors.append("<option value='" + ProdColors[sID][o][0] + "'>" + ProdColors[sID][o][1] + "</option>");
//    }
//    $("#WebUserControl_ddlColour option:nth(1)").attr("selected", "selected");
//}
function SetColors(sID) {
    if ($("#WebUserControl_ddlSize option:selected").val() != "") {
        $("option", ddlProdColors).remove();
        ddlProdColors.append("<option value=''>Select Colour</option>");
        for (var o in ProdColors[sID]) {
            if (ProdColors[sID][o][2] > 0)
                ddlProdColors.append("<option value='" + ProdColors[sID][o][0] + "'>" + ProdColors[sID][o][1] + "</option>");
        }
        $("#WebUserControl_ddlColour option:nth(1)").attr("selected", "selected");
        var vPrice = ProdColors[$("#WebUserControl_ddlSize").val()][0][3];
        $("#LPrice").html(vPrice.toFixed(2));
    }
}
function SetPriceBySizeIDAndColorID() {
    if ($("#WebUserControl_ddlColour option:selected").val() != "")
        $("#LPrice").html(ProdColors[$("#WebUserControl_ddlSize").val()][$("#WebUserControl_ddlColour").get(0).selectedIndex - 1][3]);
}

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 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]:checked").val(),
            ShippingID: $("input[name=ShippingAddressID]:checked").val(),
            ShippingOption: $("input[name=ShippingOption]:checked").val()
        }, function(data) {
            DisableOverlayMessage();
            $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
            ShowResult(data);
        });
    } 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()
            }, function(data) {
                DisableOverlayMessage();
                $("form input,form select").removeAttr("disabled").css({ opacity: "1" });
                ShowResult(data);
            });
        } else { alert(Errors); }
    }
    return false;
}

function RestOfWorldShipping() {

    alert($("input[name='ShippingAddressID']").filter("[checked=true]").val());
    $.post(BasePath + "Controller.ashx", {
        Action: "RestOfWorldShipping",
        ShippingAddressID: $("input[name='ShippingAddressID']").filter("[checked=true]").val()
    }, function(data) {
        $("#RoW_Shipping").html(data);
        //ShowResult(data);
    });
    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 rssFeed() {

    ShowMessageOnOverlay("Please wait...");
    $.post(BasePath + "Controller.ashx", {
        Action: "rssFeed"
    }, function(data) {
        DisableOverlayMessage();
    });
    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 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(),
            NewsLetter: $("#chkNewsletter").is(":checked")
        }, 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() {
    if (jQuery.browser.msie) {
        $(".AllFiveRounded").corner("round 5px");
        $(".AllTenRounded").corner("round 10px");
        $(".AllTenRounded h2").corner("round 10px tl tr");
        $(".AllTenRounded .Body").corner("round 10px bl br");
    }
    FormValidator = $("#form1").validate({
        errorPlacement: function(error, element) {
            Errors += error.html() + "\n";
        }
    });
});

function ShowLoginWindow4Checkout(rURL) {
    //alert("check");
    NewRedirectURL = rURL;
    ShowControlOnOverlay('Login', 600, 0, false, 'sc=1');
    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);
        } else {
            ShowResult(data, function() {
                DisableOverlay();
            }, function() {
                DisableOverlay();
            });
        }
    });
    return false;
}
function UpdateCartItemCount(data) {

    data = eval('(' + data + ')');
    if (data.Status == "Ok") {
        $.post(BasePath + "Controller.ashx", {
            Action: "GetCartItemCount"
        }, function(data1) {
            data1 = eval('(' + data1 + ')');
            $("#CartBasket").html(data1.Anchor).append(data1.CountText);
            $("#CartText").html(data1.CountText);
        });
    }
}
function DeleteCartItem(AttributeID) {
    $.post(BasePath + "Controller.ashx", {
        Action: "DeleteCartItem",
        AttributeID: AttributeID
    }, function(data) {
        UpdateCartItemCountComman();
        ShowResult(data, function() {
            DisableOverlay();
        }, function() {
            DisableOverlay();
        });

    });
    return false;
}
function UpdateCartItemCountComman() {
    $.post(BasePath + "Controller.ashx", {
        Action: "GetCartItemCount"
    }, function(data1) {
        data1 = eval('(' + data1 + ')');
        $("#CartBasket").html(data1.Anchor).append(data1.CountText);
        $("#CartText").html(data1.CountText);
    });
}

function Add2CartWithQty(pID, qID, t) {

    if (ValidateQty("#" + qID)) {
        var Qty = jQuery("#" + qID).val();

        //        var vColour = jQuery("#" + qColour + " option:selected").val();
        //        var vSize = jQuery("#" + qSize + " option:selected").val();

        //        if (typeof vSize == 'undefined' || vColour == '') {
        //            alert("Please select size");
        //            return false;
        //        }
        //        if (typeof vColour == 'undefined' || vColour == '') {
        //            alert("Please select colour");
        //            return false;
        //        }

        ShowMessageOnOverlay("Please wait..");

        $.post(BasePath + "Controller.ashx", {
            Action: "Add2Cart",
            ProductID: pID,
            Quantity: Qty,
            type: t
            //Color: vColour,
            //Size: vSize
        }, function(data) {
            ShowResult(data, function() {
                DisableOverlay();
            }, function() {
                DisableOverlay();
            });
            UpdateCartItemCount(data);
        });
    } else {
        ShowDialog("Error", "Loveiwear", "Invalid Quantity.", "ok", function() { $("#" + qID).focus(); });
    }
    return false;
}



function UnSubscribe(pID, t) {


    //    if (ValidateQty("#" + qID)) {
    //        var Qty = jQuery("#" + qID).val();
    ShowMessageOnOverlay("Please wait..");
    $.post(BasePath + "Controller.ashx", {
        Action: "UnSubscribe",
        ProductID: pID,
        type: t
    }, function(data) {
        ShowResult(data, function() {
            DisableOverlay();
        }, function() {
            DisableOverlay();
        });
    });
    //    } else {
    //        ShowDialog("Error", "PremiumBuys", "Invalid Quantity.", "ok", function() { $("#" + qID).focus(); });
    //    }
    return false;
}
function ContactUsMail() {
    Errors = "";
    $("form input,form select,form textarea").each(function() {
        $(this).removeClass("error").rules("remove");
    });
    $("#ContactName").rules("add", { required: true, messages: { required: "Please enter your Name"} });
    $("#ContactEmail").rules("add", { required: true, email: true, messages: { required: "Please enter your Email Address", email: "Invalid email!! Please try user@domain.com"} });
    $("#ContactSubject").rules("add", { required: true, messages: { required: "Please enter enquery Subject"} });
    $("#ContactMessage").rules("add", { required: true, messages: { required: "Please enter enquery Message"} });
    if (FormValidator.form()) {
        ShowMessageOnOverlay("Please wait..");
        $.post(BasePath + "Controller.ashx", {
            Action: "ContactUsMail",
            Name: $("#ContactName").val(),
            Email: $("#ContactEmail").val(),
            Subject: $("#ContactSubject").val(),
            Message: $("#ContactMessage").val(),
            ProductCode: $("#ProductCode").val()
        }, function(data) {
            ShowResult(data, function() {
                DisableOverlay();
            }, function() {
                DisableOverlay();
            });
        });
    } else
    { alert(Errors); }
    return false;
}

function SubscribeNewsletter() {
    Errors = "";
    $("form input,form select,form textarea").each(function() {
        $(this).removeClass("error").rules("remove");
    });

    $("#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",

            Email: $("#NewsletterEmail").val()
        }, function(data) {
            DisableOverlay();
            ShowResult(data);

            $("#NewsletterEmail").val("E-mail Address");
        });
    } else { alert(Errors); }
    return false;
}

function ValidateQty(o) {
    var Qty = jQuery(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 Search() {
    document.location.href = $("#ResultPage").val();
    return false;
}

function SetImage(PIMAGENAME) {

    //document.getElementById('<%=hfImageName.ClientID%>').value = PIMAGENAME;
    //var strPass = document.getElementById('#<%=hfImageName.ClientID %>');
    alert(PIMAGENAME);
    //document.getElementById("ctl00_ContentPlaceHolder1_pic").src = "getimage2.aspx?w=201&h=340&PImagename=" + PIMAGENAME;
}


$(function() {
    if (jQuery.browser.msie) {
        $(".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";
        }
    });

    /***************************** 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;
    });
    /**************************************************************/
});
