﻿$(document).ready(function () {

    var ps = {
        pid: 0,
        mnu: 0,
        all: 0,
        pg: 1,
        brd: 0,
        srt: 0,
        dsc: 0,
        src: "",
        dst: 0,
        ln: "",

        getPs: function () {
            var queryStr = window.location.search;
            queryStr = queryStr.replace("#", "");
            pid = GetPostArg(queryStr, 'pid=');
            if ((pid != null) && (pid != "")) {
                ps.pid = GetPostArg(queryStr, 'pid=');
                queryStr = queryStr.replace('pid=' + ps.pid + '&', '');
            }
            else
                ps.pid = 0;
            mnu = GetPostArg(queryStr, 'mnu=');
            if ((mnu != null) && (mnu != "")) {
                ps.mnu = GetPostArg(queryStr, 'mnu=');
                queryStr = queryStr.replace('mnu=' + ps.mnu + '&', '');
            }
            else
                ps.mnu = 0;
            all = GetPostArg(queryStr, 'all=');
            if ((all != null) && (all != "")) {
                ps.all = GetPostArg(queryStr, 'all=');
                queryStr = queryStr.replace('all=' + ps.all + '&', '');
            }
            else
                ps.all = 0;
            pg = GetPostArg(queryStr, 'pg=');
            if ((pg != null) && (pg != "")) {
                ps.pg = GetPostArg(queryStr, 'pg=');
                queryStr = queryStr.replace('pg=' + ps.pg + '&', '');
            }
            else
                ps.pg = 1;
            brd = GetPostArg(queryStr, 'brd=');
            if ((brd != null) && (brd != "")) {
                ps.brd = GetPostArg(queryStr, 'brd=');
                queryStr = queryStr.replace('brd=' + ps.brd + '&', '');
            }
            else
                ps.brd = 0;
            srt = GetPostArg(queryStr, 'srt=');
            if ((srt != null) && (srt != "")) {
                ps.srt = GetPostArg(queryStr, 'srt=');
                queryStr = queryStr.replace('srt=' + ps.srt + '&', '');
            }
            else
                ps.srt = 1;
            dsc = GetPostArg(queryStr, 'dsc=');
            if ((dsc != null) && (dsc != "")) {
                ps.dsc = GetPostArg(queryStr, 'dsc=');
                queryStr = queryStr.replace('dsc=' + ps.dsc + '&', '');
            }
            else
                ps.dsc = 0;
            src = GetPostArg(queryStr, 'src=');
            if ((src != null) && (src != "")) {
                ps.src = GetPostArg(queryStr, 'src=');
                ps.src = decodeURI(ps.src);
                queryStr = queryStr.replace('src=' + ps.src + '&', '');
            }
            else
                ps.src = "";
            dst = GetPostArg(queryStr, 'dst=');
            if ((dst != null) && (dst != "")) {
                ps.dst = GetPostArg(queryStr, 'dst=');
                queryStr = queryStr.replace('dst=' + ps.dst + '&', '');
            }
            else
                ps.dst = 0;
            ln = GetPostArg(queryStr, 'ln=');
            if ((ln != null) && (ln != "")) {
                ps.ln = GetPostArg(queryStr, 'ln=');
                queryStr = queryStr.replace('ln=' + ps.ln + '&', '');
            }
            else
                ps.ln = 0;
        },

        setPs: function () {
            var queryStr = "";
            var StrIsNull = "";
            if (ps.pid > 0) {
                queryStr += StrIsNull + "pid=" + ps.pid;
                StrIsNull = "&";
            }
            if (ps.mnu > 0) {
                queryStr += StrIsNull + "mnu=" + ps.mnu;
                StrIsNull = "&";
            }
            if (ps.all > 0) {
                queryStr += StrIsNull + "all=" + ps.all;
                StrIsNull = "&";
            }
            if (ps.pg > 1) {
                queryStr += StrIsNull + "pg=" + ps.pg;
                StrIsNull = "&";
            }
            if (ps.brd > 0) {
                queryStr += StrIsNull + "brd=" + ps.brd;
                StrIsNull = "&";
            }
            if (ps.srt > 1) {
                queryStr += StrIsNull + "srt=" + ps.srt;
                StrIsNull = "&";
            }
            if (ps.dsc > 0) {
                queryStr += StrIsNull + "dsc=" + ps.dsc;
                StrIsNull = "&";
            }
            if ((ps.src != null) && (ps.src != "")) {
                queryStr += StrIsNull + "src=" + ps.src;
                StrIsNull = "&";
            }
            if (ps.dst > 0) {
                queryStr += StrIsNull + "dst=" + ps.dst;
                StrIsNull = "&";
            }
            if (ps.ln > 0) {
                queryStr += StrIsNull + "ln=" + ps.ln;
                StrIsNull = "&";
            }
            return queryStr;
        },

        setData: function () {
            var key = document.getElementById(_hdKey).value;
            return "{'pid': " + this.pid + ", 'mnu': " + this.mnu + ", 'all': " + this.all + ", 'pg': " + this.pg + ", 'brd': " + this.brd + ", " +
                  "'srt': " + this.srt + ", 'dsc': " + this.dsc + ", 'src': '" + this.src + "', 'dst': " + this.dst + ", 'ln': '" + this.ln +
                  "', 'key': '" + key + "'}";
        }
    }

    var licColorSize = parseInt(document.getElementById(_licColorSize).value);
    var licDiscounts = parseInt(document.getElementById(_licDiscounts).value);
    var licAvailability = parseInt(document.getElementById(_licAvailability).value);
    var currencySymbol = document.getElementById(_hdCurrencySymbol).value;
    var currencyDigits = parseInt(document.getElementById(_hdCurrencyDigits).value);

    var ColorSizesArray = [];
    var ColorCount = 0;
    var SizesCount = 0;
    var CSRecord = 8;
    var VatPrcnt = 0;
    var hasColor = 1;
    var hasSize = 1;

    // Define what happens when the textbox comes under focus
    // Remove the watermark class and clear the box
    $(_txtSearch).focus(function () {

        $(this).filter(function () {

            // We only want this to apply if there's not
            // something actually entered
            return $(this).val() == "" || $(this).val() == _quickSearch;

        }).removeClass("watermarkOn").val("");
    });

    // Define what happens when the textbox loses focus
    // Add the watermark class and default text
    $(_txtSearch).blur(function () {
        $(this).filter(function () {

            // We only want this to apply if there's not
            // something actually entered
            return $(this).val() == ""

        }).addClass("watermarkOn").val(_quickSearch);
    });

    $(".sortLink2").click(function () {
        $(this).focus();
    });

    $("#divSortList").mouseleave(function () {
        $(this).removeClass();
        $(this).addClass("sortNonVisible");
        $("#" + _lstMenus).focus();
    });

    $("#divBrandList").mouseleave(function () {
        $(this).removeClass();
        $(this).addClass("sortNonVisible");
        $("#" + _lstMenus).focus();
    });

    Initialization();

    $(".aSort").click(function () {
        ToggleSortList();
    });

    $(".aBrand").click(function () {

        if ($("#divBrandList").attr("class") == "sortNonVisible") {

            $("#divBrandList").removeClass();

        }
        else {
            $("#divBrandList").removeClass();
            $("#divBrandList").addClass("sortNonVisible");
        }
    });

    $(_alinkMnu).click(function () {
        ps.getPs();
        var pid = ps.pid;
        window.open('ProductImage.aspx?pid=' + pid, 'ProductImage', 'toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=920,height=800,top=200,left=200');
    });

    $("#alinkMnu2").click(function () {
        ps.getPs();
        var pid = ps.pid;
        window.open('ProductImage.aspx?pid=' + pid, 'ProductImage', 'toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=920,height=800,top=200,left=200');
    });

    function SelectCS() {
        var selColor = $(_lstColors + " option:selected").text();
        var sCidx = $(_lstColors + " option:selected").attr("cix");
        var selSize = $(_lstSizes + " option:selected").text();
        var sSidx = $(_lstSizes + " option:selected").attr("six");
        $("#lblSelColor").attr("innerHTML", selColor);
        $("#lblSelSize").attr("innerHTML", selSize);

        if (parseInt(hasColor) + parseInt(hasSize) > 1) {
            if ((sCidx == "-1") || (sSidx == "-1"))
                $("#lblCSSelected").attr("innerHTML", "---");
            else
                $("#lblCSSelected").attr("innerHTML", selColor + " - " + selSize);
        }
        else {
            if (parseInt(hasColor) == 1) {
                if (sCidx == "-1")
                    $("#lblCSSelected").attr("innerHTML", "---");
                else
                    $("#lblCSSelected").attr("innerHTML", selColor);
            }
            else {
                if (sSidx == "-1")
                    $("#lblCSSelected").attr("innerHTML", "---");
                else
                    $("#lblCSSelected").attr("innerHTML", selSize);
            }
        }

        var id1 = "-1"; var id2 = "-2"; var i = -1; var j = -1;
        if (hasColor == 1) {
            id1 = $(_lstColors + " option:selected").attr("cix");
            i = parseInt(id1);
        }
        if (hasSize == 1) {
            id2 = $(_lstSizes + " option:selected").attr("six");
            j = parseInt(id2);
        }

        if (((hasColor == 1) && (i == -1)) || ((hasSize == 1) && (j == -1))) {
            setClass(_btnBuy, "imgBuyDisabled");
            SetPrice('0', '0', '0', '0', '0', '0', "", '0');    //erase prices
            $(_lblPrice).attr("innerHTML", "-");
        }
        else {
            var cc = 0;
            if ((i > -1) && (j > -1)) {
                cc = i * (SizesCount * CSRecord) + j * CSRecord;
            }
            else {
                if (i > -1) {
                    cc = i * CSRecord;
                }
                else {
                    cc = j * CSRecord;
                }
            }

            FixBasket(cc);
        }
    }

    function FixBasket(ccIdx) {
        var cc = parseInt(ccIdx);
        var nprCS = ColorSizesArray[cc + 0];
        var dscCS = ColorSizesArray[cc + 1];
        var oprCS = ColorSizesArray[cc + 2];
        var prCS = ColorSizesArray[cc + 3];
        var vatpCS = ColorSizesArray[cc + 4];
        var MT = ColorSizesArray[cc + 5];
        var plid = ColorSizesArray[cc + 6];
        var DiscountPrcnt = ColorSizesArray[cc + 7];

        SetPrice(oprCS, VatPrcnt, vatpCS, nprCS, DiscountPrcnt, dscCS, prCS, MT);

        if (prCS == "") {
            setClass(_btnBuy, "imgBuyDisabled");
        }
        else {
            setClass(_btnBuy, "imgBuy");
        }

        if ((plid != "0") && (plid != "")) {
            $(_btnBuy).attr("plid", plid);
            $(_btnBuy).attr("pid", "0");
        }
    }

    $(_lstColors).change(function () {
        SelectCS();
    });

    $(_lstSizes).change(function () {
        SelectCS();
    });

    $(".boxC").click(function () {
        var cid = $(this).attr("cid");
        var sid = 0;
        var iid1 = cid;
        var i = parseInt(iid1);
        var cc = i * CSRecord;

        FixBasket(cc, cid, sid);

        plid = ColorSizesArray[parseInt(cc) + 6];
        $(_btnBuy).attr("plid", plid);

        var active = $(".boxCActive");
        active.removeClass();
        active.addClass('boxC');
        var newActive = $(this);
        newActive.removeClass();
        newActive.addClass('boxCActive');
        $("#lblSelColor").attr("innerHTML", $(this).attr("innerHTML"));
    });

    $(".boxS").click(function () {
        var cid = 0;
        var sid = $(this).attr("sid");
        var iid2 = sid;
        var j = parseInt(iid2);
        var cc = j * CSRecord;

        FixBasket(cc, cid, sid);
        plid = ColorSizesArray[parseInt(cc) + 6];
        $(_btnBuy).attr("plid", plid);

        var active = $(".boxSActive");
        active.removeClass();
        active.addClass('boxS');
        var newActive = $(this);
        newActive.removeClass();
        newActive.addClass('boxSActive');
        $("#lblSelSize").attr("innerHTML", $(this).attr("innerHTML"));
    });

    $(_btnBuy).click(function () {
        var plid = $(this).attr("plid");
        var pid = $(this).attr("pid");
        ps.getPs();
        if ($(this).attr("class") == "imgBuy") {
            window.open('Basket.aspx?pid=' + pid + '&plid=' + plid + "&ln=" + ps.ln, '', 'toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=1020,height=800,top=200,left=150');
        }
    });

    $(_lblBasket).click(function () {
        ps.getPs();
        window.open('Basket.aspx?ln=' + ps.ln, '', 'toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=1020,height=800,top=200,left=150');
    });
    $(_imgBasket).click(function () {
        ps.getPs();
        window.open('Basket.aspx?ln=' + ps.ln, '', 'toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=1020,height=800,top=200,left=150');
    });
    /*
    $("#btnGoBack").click(function () {
    history.back();
    });
    */
    /********************************************************************************************************/
    /********************************************************************************************************/
    /*       FUNCTIONS         */
    /********************************************************************************************************/

    function Initialization() {
        $("#" + _lstMenus).focus();
        ps.getPs();
        if (ps.pid != "0") {
            if ((document.getElementById(_hdMnImg) != null) && (document.getElementById(_hdMnImg).value != null) && (document.getElementById(_hdMnImg).value != ""))
                $("#mainItemImg").attr("src", "productImages/" + document.getElementById(_hdMnImg).value);
            if ((document.getElementById(_hdCImg) != null) && (document.getElementById(_hdCImg).value != null) && (document.getElementById(_hdCImg).value != ""))
                $("#imgBrandtip").attr("src", "productImages/" + document.getElementById(_hdCImg).value);
            var Data = '';
            if (document.getElementById(_hdDataOut) != null)
                Data = document.getElementById(_hdDataOut).value;
            Data = decodeHtml(Data);
            ColorCount = document.getElementById(_ColorCount).value;
            SizesCount = document.getElementById(_SizeCount).value;
            if (ColorCount == "")
                ColorCount = "0";
            if (SizesCount == "")
                SizesCount = "0";
            if (parseInt(ColorCount) == 0)
                hasColor = 0;
            if (parseInt(SizesCount) == 0)
                hasSize = 0;
            if (parseInt(ColorCount) + parseInt(SizesCount) > 0)
                makeInvisible(_trPriceCS);
            /*if (parseInt(ColorCount) + parseInt(SizesCount) > 0)
                makeInvisible(_trColSave);*/
            
            fixSizeColorLine(Data, ColorCount, SizesCount);
        }
    }

    function RenderSQuares(Data, colorCount, sizeCount) {
        ColorsArray = new Array(parseInt(colorCount));
        SizesArray = new Array(parseInt(sizeCount));

        for (var i = 0; i < 16; i++) {
            var objd = "#cd" + i.toString();
            $(objd).attr("innerHTML", "");
            var objd = "#sd" + i.toString();
            $(objd).attr("innerHTML", "");
        }

        for (var i = 0; i < 16; i++) {
            var objd = "#cd" + i.toString();
            $(objd).removeClass();
            if (i < parseInt(colorCount)) {
                var ttls = GetSubStr(Data, 'c' + i);
                var ttl = GetSubStr(ttls, 'cid');
                var ttlnm = GetSubStr(ttls, 'cnm');
                var isAct = GetSubStr(ttls, 'cAct');
                if (isAct == "1") {
                    $(objd).attr("innerHTML", ttlnm);
                    /*$(objd).attr("cid", ttl);*/
                    $(objd).attr("cid", i.toString());
                    ColorsArray[i] = ttl;
                    setClass(objd, "boxC");
                }
                else {
                    makeInvisible(objd);
                }
            }
            else {
                makeInvisible(objd);
            }
        }

        for (var i = 0; i < 16; i++) {
            var objd = "#sd" + i.toString();
            $(objd).removeClass();
            if (i < parseInt(sizeCount)) {
                var ttls = GetSubStr(Data, 's' + i);
                var ttl = GetSubStr(ttls, 'sid');
                var ttlnm = GetSubStr(ttls, 'snm');
                var isAct = GetSubStr(ttls, 'cAct');
                if (isAct == "1") {
                    $(objd).attr("innerHTML", ttlnm);
                    /*$(objd).attr("sid", ttl);*/
                    $(objd).attr("sid", i.toString());
                    SizesArray[i] = ttl;
                    setClass(objd, "boxS");
                }
                else {
                    makeInvisible(objd);
                }
            }
            else {
                makeInvisible(objd);
            }
        }
    }

    function DefineColorArray(Data, colorCount, sizeCount, colorsizeCount) {

        if (parseInt(hasColor) + parseInt(hasSize) == 2) {
            ColorSizesArray = new Array(parseInt(colorsizeCount) * CSRecord);
        }
        else {
            if (parseInt(hasColor) == 1)
                ColorSizesArray = new Array(parseInt(colorCount) * CSRecord);
            else
                ColorSizesArray = new Array(parseInt(sizeCount) * CSRecord);
        }

        var idx = 0;
        for (var i = 0; i < colorsizeCount; i++) {
            var ttl = GetSubStr(Data, 'cs' + i);
            var cid = GetSubStr(ttl, 'cid');
            var sid = GetSubStr(ttl, 'sid');

            var nprCS = GetSubStr(ttl, 'nprCS');
            var dscCS = GetSubStr(ttl, 'dscCS');
            var oprCS = GetSubStr(ttl, 'oprCS');
            var vatpCS = GetSubStr(ttl, 'vatpCS');
            var prCS = GetSubStr(ttl, 'prCS');
            var plid = GetSubStr(ttl, 'plid');
            var dsc = GetSubStr(ttl, 'dsc');

            MT = GetSubStr(ttl, 'MT');
            if (MT != "")
                MT += currencySymbol;

            ColorSizesArray[idx + 0] = nprCS;
            ColorSizesArray[idx + 1] = dscCS;
            ColorSizesArray[idx + 2] = oprCS;
            ColorSizesArray[idx + 3] = prCS;
            ColorSizesArray[idx + 4] = vatpCS;
            ColorSizesArray[idx + 5] = MT;
            ColorSizesArray[idx + 6] = plid;
            ColorSizesArray[idx + 7] = dsc;
            idx += CSRecord;
        }

    }

    function fixSizeColorLine(Data, colorCount, sizeCount) {
        var colorsizeCount = GetSubStr(Data, 'hcsc');
        VatPrcnt = GetSubStr(Data, 'vat');

        if (parseInt(hasColor) + parseInt(hasSize) == 0) {
            makeInvisible(_trColorSize);
            setClass(_btnBuy, "imgBuy");
        }
        else {
            setClass(_btnBuy, "imgBuyDisabled");
        }

        if (parseInt(hasColor) + parseInt(hasSize) > 0)
            DefineColorArray(Data, colorCount, sizeCount, colorsizeCount);
    }

    function SetPrice(oldPrice, vat, vatPrice, netprice, discPrcent, discount, price, MT) {
        if (price != "") {
            if (parseFloat(discPrcent) > 0)
                $(_lblOldPrice).attr("innerHTML", oldPrice);
            else
                $(_lblOldPrice).attr("innerHTML", "");
            $(_lblVat).attr("innerHTML", "(" + vat + ")");
            $(_lblPriceVat).attr("innerHTML", vatPrice);
            $(_lblPriceNet).attr("innerHTML", netprice);
            $(_lblDiscount).attr("innerHTML", "-" + discPrcent);
            $(_lblPrice).attr("innerHTML", price);
            $(_lblMinShippingTitle).attr("innerHTML", "");
            if (MT != "") {
                $(_lblMinShippingTitle).attr("innerHTML", _minShippingCostLabel);
                $(_lblMinShipping).attr("innerHTML", MT);
            }
            makeVisible(_trPriceCS);
            setClass("#lblLabelPrice", "lblItemCaption");
            if (parseFloat(discPrcent) > 0)
            {
                makeVisible(_trColSave);
            }
            else
            {
                makeInvisible(_trColSave);
            }
        }
        else {
            $(_lblOldPrice).attr("innerHTML", "");
            $(_lblVat).attr("innerHTML", "");
            $(_lblPriceVat).attr("innerHTML", "");
            $(_lblPriceNet).attr("innerHTML", "");
            $("#lblDiscPrc").attr("innerHTML", "");
            $(_lblDiscount).attr("innerHTML", "");                        
            $(_lblPrice).attr("innerHTML", _NotAvailable);
            $(_lblMinShippingTitle).attr("innerHTML", "");
            $(_lblMinShipping).attr("innerHTML", "");
            makeInvisible(_trPriceCS);
            makeInvisible(_trColSave);
            makeInvisible("#lblLabelPrice");
        }
    }

    function GetBrandList() {
        AjaxErrorOnLoadGrid = "0";

        ps.getPs();
        $.ajax({
            type: "POST",
            url: "FetchRes.asmx/GetBrandFilter",
            data: ps.setData(),
            contentType: "application/json; charset=Windows-1253",
            dataType: "json",
            success: function (msg) {
                var htmlOut = msg.d;
                if (htmlOut != "") {
                    var ipage = parseInt(GetSubStr(htmlOut, 'recCount')) + 1;

                    for (var i = 0; i < ipage; i++) {
                        var tr = "#brlstTR" + i;
                        $(tr).removeClass();
                        name = GetSubStr(htmlOut, 'n' + i);
                        $("#brlst" + i).attr("name", name);
                        if (i > 0)
                            name += " (<b>" + GetSubStr(htmlOut, 'c' + i) + "</b>)";
                        sort = GetSubStr(htmlOut, 'm' + i);
                        $("#brlst" + i).attr("sort", sort);
                        $("#brlst" + i).attr("innerHTML", name);
                    }
                    ps.getPs();
                }
            },
            error: function (msg) {
                AlertErrorMessage();
                AjaxErrorOnLoadGrid = "1";
            }
        });
    }

    function ToggleSortList() {
        var divlist = $("#divSortList");
        if (divlist.attr("class") == "sortNonVisible") {
            divlist.removeClass();
            $("#divSortList").focus();
        }
        else {
            divlist.addClass("sortNonVisible");
        }
    }

    /*********************************************************************************/
    /*********************************************************************************/
    /***********************EVENTS****************************************************/
    /***********************EVENTS****************************************************/
    /*********************************************************************************/
    /*********************************************************************************/

    $("#mainItemImg").load(function () {
        $(this).removeClass();
        $(this).addClass("mainItemImage");
        $(this).fadeIn();
    });

    $(".ItemImage").load(function () {
        $(this).removeClass("loadingSM");
        $(this).fadeIn();
    });

    $("#imgBrandtip").load(function () {
        $(this).removeClass();
    });

});

