﻿//helper function to create the form
var productDetailPage_AddToCart = false;
function getNewSubmitForm(){
 var submitForm = document.createElement("FORM");
 document.body.appendChild(submitForm);
 submitForm.method = "POST"; 
 return submitForm;
}
//helper function to add elements to the form
function createNewFormElement(inputForm, elementName, elementValue){
 var newElement = document.createElement('span');
 newElement.innerHTML = "<input type='hidden' name='"+ elementName +"' value='"+ elementValue +"'>";
 inputForm.appendChild(newElement);
 return newElement;
}
function AddToShoppingCart(ProductID, VariantID)
{
   var submitForm = getNewSubmitForm();
   createNewFormElement(submitForm, "ProductID", ProductID);
   createNewFormElement(submitForm, "VariantID", VariantID);
   createNewFormElement(submitForm, "Quantity", "1");
   submitForm.action = "/addtocart.aspx";
   submitForm.submit();
}
function setColorToolTip(colorDropDown)
{
    var colorString = $(colorDropDown).val().replace(',','');
    if(colorString != '--')
    {
        $(colorDropDown).attr('title', colorString)
    }
    else
    {
        $(colorDropDown).removeAttr('title');
    }
}

function AddMultiProducts(cartType) {
    var ProductIDs = '', VariantIDs = '', Colors = '', Quantities = '', ProductID = '', VariantID = '', Color = '', Quantity = '', Sizes = '', Size = '';
    var styleSelectedValue = "", styleColor = "", initialWord = "", styleSelectedText = "", calculatedNewPrice = "";
    var monogramStyles = "", monogramColors = "", monogramTexts = "";

    $("#tblMultiVariant tr[variantid]").each(function() {
        var colorfound = false;
        var sizefound = false;
        var isCustomMonogram = false;
        ProductID = $(this).attr("productid");
        VariantID = $(this).attr("variantid");
        Quantity = parseInt($(this).find("#Quantity_"+ProductID+"_"+VariantID+"").val());
        if($(this).find("#Color_"+ProductID+"_"+VariantID+"").length > 0)
        {
            colorfound = true;
        }
        if($(this).find("#Size_"+ProductID+"_"+VariantID+"").length > 0)
        {
            sizefound = true;
        }
        if(colorfound)
        {
            Color = $(this).find("#Color_"+ProductID+"_"+VariantID+"").val().replace(',','');
        }
        else
        {
            Color = 'NotSelected';
        }
        if(sizefound)
        {
            Size = $(this).find("#Size_"+ProductID+"_"+VariantID+"").val().replace(',','');
        }
        else
        {
            Size = 'NotSelected';
        }
        //check if custom monogramming has been selected.
        if ($("#selectedMonogram_" + VariantID + " #MonoSelectedStyleID_" + VariantID + "").length > 0) 
        {
            isCustomMonogram = true;
        }
        if (isCustomMonogram) 
        {
            //get monogram details.
            styleSelectedText = $("#selectedMonogram_" + VariantID + " #MonoselectedStyle_" + VariantID + "").html().replace("Style: ", ""); ;
            styleColor = $("#selectedMonogram_" + VariantID + " #MonoselectedColor_" + VariantID + "").html().replace("Color: ", "");
            initialWord = $("#selectedMonogram_" + VariantID + " #MonoInitials_" + VariantID + "").html().replace("Initials: ", "");
            styleSelectedValue = $("#selectedMonogram_" + VariantID + " #MonoSelectedStyleID_" + VariantID + "").html();

            //alert("Text:" + styleSelectedText + "Color:" + styleColor + "Words:" + initialWord + "StyleID:" + styleSelectedValue);
        }
        else 
        {
            styleColor = "NotSelected";
            initialWord = "NotSelected";
            styleSelectedValue = 0;
        }
        if((Quantity > 0 && !isNaN(Quantity)))
        {
            var addItem = true;
            if(sizefound)
            {
              if(Size == '--')
              {
                addItem = false;
              }
            }
            
            if(colorfound)
            {
              if(Color == '--')
              {
                addItem = false;
              }
            }
            
            if(addItem)
            {
                ProductIDs += ProductID + ',' ;
                VariantIDs += VariantID + ',';
                Colors += Color + ',';
                Sizes += Size + ',';
                Quantities += Quantity + ',';
                monogramStyles += styleSelectedValue + ',';
                monogramTexts += initialWord + ',';
                monogramColors += styleColor + ',';
                //alert("Colors:" +  Colors + "\r\nSizes:" + Sizes + "\r\nProductID:" + ProductIDs +  "\r\nVariantID:" + VariantIDs + "\r\nMonogramStyles:" + monogramStyles + "\r\nMonogramTexts:" + monogramTexts + "\r\nMonogramColors:" + monogramColors);
            }
        }
    })
    if(Quantities != '')
    {  
       if(cartType === 0) // 0 = Shoppingcart.
       {
        SetAddToCartProcess(true,false);
        $.ajax({ type: "POST",
            url: "addtocart.aspx",
            cache: false,
            data: { "ProductIDs": ProductIDs, "VariantIDs": VariantIDs, "Quantities": Quantities, "Colors": Colors, "Sizes": Sizes, "AddMultiple": true, "CartType": cartType, "MonogramStyleIDs": monogramStyles, "MonogramColors": monogramColors, "MonogramTexts": monogramTexts },
            timeout: 15000,
            error: function (xhr, ajaxOptions, thrownError) { alert("Error is occuring while adding product"); SetAddToCartProcess(false, false); },
            success: function (response) {
                //Update minicart and open it
                if (typeof (aspdnsf.Controls.Minicart) != "undefined") {
                    var miniCart = aspdnsf.Controls.Minicart.getInstance();
                    if (miniCart) {
                        MinicartPagePostBack = true;
                        var req = Sys.WebForms.PageRequestManager.getInstance();
                        var fx = function () {
                            miniCart.show();
                            miniCart.set_suppressAutoHide(false);
                            req.remove_endRequest(fx);
                            SetMiniCartClose();
                        }
                        req.add_endRequest(fx);

                        miniCart.refresh();
                    }
                }
                productDetailPage_AddToCart = true;
            }
        });
        }
        else if(cartType === 3) // 3= GiftRegistry Cart.
        {
            var submitForm = getNewSubmitForm();
            createNewFormElement(submitForm, "ProductIDs", ProductIDs);
            createNewFormElement(submitForm, "VariantIDs", VariantIDs);
            createNewFormElement(submitForm, "Quantities", Quantities);
            createNewFormElement(submitForm, "Colors", Colors);
            createNewFormElement(submitForm, "Sizes", Sizes);
            createNewFormElement(submitForm, "AddMultiple", true);
            createNewFormElement(submitForm, "CartTypeMultiple", "GiftRegistryCart");
            submitForm.action = "/addtocart.aspx";
            submitForm.submit();
        }
        else  // executed for CartType = 1 => Wishcart
        {
            var submitForm = getNewSubmitForm();
            createNewFormElement(submitForm, "ProductIDs", ProductIDs);
            createNewFormElement(submitForm, "VariantIDs", VariantIDs);
            createNewFormElement(submitForm, "Quantities", Quantities);
            createNewFormElement(submitForm, "Colors", Colors);
            createNewFormElement(submitForm, "Sizes", Sizes);
            createNewFormElement(submitForm, "AddMultiple", true);
            createNewFormElement(submitForm, "CartTypeMultiple", "WishCart");
            submitForm.action = "/addtocart.aspx";
            submitForm.submit();
        }
        
    }
    else
    {
        alert("Please select colors & quantity.");
    }
}

function SetAddToCartProcess(processStarted,resetQty)
{
    if (processStarted) {
        $("div.dvCustomAddToCart input").addClass('inputButtonDisabled');
        $("div.dvCustomAddToCart img").show();
    }
    else {
        $("div.dvCustomAddToCart input").removeClass('inputButtonDisabled');
        $("div.dvCustomAddToCart img").hide();
    }

    if (resetQty) {
        $("#tblMultiVariant select[id^='Color_']").each(function () {
            $(this).val("-,-");
        });
        $("#tblMultiVariant select[id^='Size_']").each(function () {
            $(this).val("-,-");
        });
        $("#tblMultiVariant input[id^='Quantity_']").each(function () {
            $(this).val("0");
        });
    }
}
var MinicartPagePostBack = false;
function SetMiniCartClose() {
    if (productDetailPage_AddToCart) {
        productDetailPage_AddToCart = false;
        SetAddToCartProcess(false, true);
    }
    //closeminicart
    try {
        if (MinicartPagePostBack) {
            $('#divTempCart').css('display', 'block');
            scroll(0, 0);
        }
    }
    catch (er) { }
    $("#MiniCartCloseAnchor").click(function () {
        try {
            if ($find("ctl00_ctl07_extCollapseMinicart") != null) {
                $find("ctl00_ctl07_extCollapseMinicart").set_Collapsed(true);
            }
            else if ($find("ctl00_ctl09_extCollapseMinicart") != null) {
                $find("ctl00_ctl09_extCollapseMinicart").set_Collapsed(true);
            }
            else if ($find("ctl00_ctl08_extCollapseMinicart") != null) {
                $find("ctl00_ctl08_extCollapseMinicart").set_Collapsed(true);
            }
            else {
                $find("ctl00_ctl10_extCollapseMinicart").set_Collapsed(true);
            }
        } catch (er) { }
    });
}

$(document).ready(function () {
    $('#dvCartTextLink a:first').click(function () { $('#divTempCart').css('display', 'block'); });
    SetMiniCartClose();
    try {
        if (typeof (Sys.WebForms.PageRequestManager.getInstance()) == 'object') {
            Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(MiniCartUpdatePanelStart);
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest(MiniCartUpdatePanelEnd);
        }
    }
    catch (er) { }

    $(".iframe").fancybox({
     'width': 210,
     'height': 70,
     'autoScale': false,
     'titleShow': false,
     'transitionIn': 'none',
     'transitionOut': 'none',
     'type': 'iframe',
     'onClosed': function () { $("#fancybox-content").removeClass("fancyboxHideScroll fancyboxContentNewsletter"); $("#fancybox-close").removeClass("fancyboxNewsletterClose"); },
     'onStart': function () { $("#fancybox-content").addClass("fancyboxHideScroll fancyboxContentNewsletter"); $("#fancybox-close").addClass("fancyboxNewsletterClose"); return true; }
    });
    
    $(".CustomerService").fancybox({
     'width': 200,
     'height': 300,
     'autoScale': false,
     'titleShow': false,
     'transitionIn': 'none',
     'transitionOut': 'none',
     'type': 'iframe',
     'onClosed': function () { $("#fancybox-content").removeClass("fancyboxHideScroll fancyboxContentNewsletter"); $("#fancybox-close").removeClass("fancyboxNewsletterClose"); },
     'onStart': function () { $("#fancybox-content").addClass("fancyboxHideScroll fancyboxContentNewsletter"); $("#fancybox-close").addClass("fancyboxNewsletterClose"); return true; }
 });
 /*$(".fancyBoxBimg").fancybox();*/
});

function MiniCartUpdatePanelStart(sender, args) {
    var elem = args.get_postBackElement();
    if ($(elem).attr("id").indexOf("_ctrlMiniCart") >= 0) {
        $("#divMiniCart #dvMiniProgress").show();
    }
}
function MiniCartUpdatePanelEnd(sender, args) {
    $("#divMiniCart #dvMiniProgress").hide();
}
