Saturday, March 10, 2012

JavaScript(Add To Cart Functionality)



<
script type="text/javascript">

   <!--Add To Cart JavaScript-->
    <script type="text/javascript">
        var cartArray = new Array();
        var delCrgArr = new Array();
        var joVendorid = '';
        var joItemID  = '';
        var joDealPrice  = '';
        var joDealName  = '';
        var joDealQty  = '';
        var joTotalAmount = 0;
        var joVendorName  = '';
        var joVendorAddress = '';
        var josessionValue = null;
        var JoGstAmount = 0;

        function pageLoad() {
            joTotalAmount = 0;
            if (cartArray.length != 0 || cartArray.length != null) {

                if (document.cookie.valueOf("CookieName") != null) {
                    var strArr = unescape(document.cookie.valueOf("CookieName"));
                    if (strArr.indexOf("CookieName=") != -1)
                        strArr = strArr.replace("CookieName=", "");
                    else {
                            //to Fix IE issue
                        strArr = strArr.replace("CookieName", "");
                    }

                    if (strArr.length > 0) {

                        $('#cartItems').html("");
                        $('#finalOrder').html("");

                        var ARRcookies = strArr.split("|");
                        for (var i = 0; i < ARRcookies.length; i++) {
                            cartArray[i] = ARRcookies[i];
                            var dict = new Array();
                            var cookiesvalue = ARRcookies[i].split("Ώ");

                            for (var j = 0; j < cookiesvalue.length; j++) {

                                var keyValuePair = cookiesvalue[j].split('=');
                                dict[keyValuePair[0]] = keyValuePair[1];
                            }

                            joTotalAmount = (parseFloat(joTotalAmount) + parseFloat(dict[‘ItemPrice’]));

                            $('#cartItems').append("<!-- order dec --><div class='order_task'><div class='order_des'>" + dict['VndName'] + "-" + dict['ItemName'] + " x " + dict[‘ItemQty’] + " </div><div class='order_rem'><div class='order_rem_link'><a href='#' onClick='RemoveOrder(\"" + escape(dict['ItemName']) + "\",\"" + dict[‘ItemQty’] + "\",\"" + (dict[‘ItemPrice’]) + "\",\"" + (dict[VndID]) + "\");'>Remove</a></div></div><div class='order_price'>Rs. " + dict[‘ItemPrice’] + "</div></div><!-- end order dec -->");

                            $('#viewOrderData').append("<!-- view data --><div class='data_grid'><input type='hidden' id='odrItemId_Qty" + i + "' value='" + dict['ItemID'] + "'/><input type='hidden' id='odrItemName_Qty" + i + "' value='" + escape(dict['ItemName']) + "'/><input type='hidden' id='odrVendorId_Qty" + i + "' value='" + dict[VndID] + "'/><div class='sr_txt'>" + (i + 1) + "</div><div class='des_txt'>" + dict['VndName'] + "-" + dict['ItemName'] + "</div><div class='price_txt'>" + dict[‘ItemRate’] + "</div><div class='qty_txt'><input name='' id='Qty" + i + "' maxlength='4' value='" + dict[‘ItemQty’] + "' oncopy='return false;' onkeypress='Numeric(event);' onblur='bNumeric(this);'  onChange='updateItemQuantity(this)'  type='text'></div><div class='amount_txt'>" + dict[‘ItemPrice’] + "</div><div class='clear'></div><div class='remove_order'><a href='#' onClick='RemoveOrder(\"" + escape(dict['ItemName']) + "\",\"" + dict[‘ItemQty’] + "\",\"" + (dict[‘ItemPrice’]) + "\",\"" + (dict[VndID]) + "\");'>Remove</a></div></div>");

                            $('#finalOrder').append("<!-- view data --><div class='data_grid'><div class='sr_txt'>" + (i + 1) + "</div><div class='des_txt'>" + dict['VndName'] + "-" + dict['ItemName'] + "</div><div class='price_txt'>" + dict[‘ItemRate’] + "</div><div class='qty_txt'>" + dict[‘ItemQty’] + "</div><div class='amount_txt'>" + dict[‘ItemPrice’] + "</div></div><!-- end view data -->");
                        }

                    }
                }
            }


            //Update Cart
            var y3 = document.getElementById('loginCart');
            if (y3==null) {
                $('#ctl00_loginCart').html("View Order (" + cartArray.length + " item)");
            } else {
                $('#loginCart').html("View Order (" + cartArray.length + " item)");
            }

            var y3 = document.getElementById('logoutCart');
            if (y3 == null) {
                $('#ctl00_logoutCart').html("View Order (" + cartArray.length + " item)");
            } else {
                $('#logoutCart').html("View Order (" + cartArray.length + " item)");
            }
        
            setTotal(joTotalAmount);
        }



        //CheckCart
        function checkCart() {
            if (cartArray.length > 0){
                window.location = 'vieworder.aspx';
              }
            else {
                    }
        }



        // Cookie Exists //
        pageLoad();

        // Write Cookie //
        function WriteCookie() {
            if (cartArray.length != 0 || cartArray.length != null) {

                var now = new Date();
                now.setMinutes( now.getMinutes() + 5 );
                var cookievalue = escape(cartArray.join('|')) + ";";
                document.cookie = "CookieName=" + cookievalue + ";expires=" + now.toGMTString() + ";path=/";
            }
        }

        //Set Delivery Charges//
        function setDeliveryCharges() {
            var h = 00;
           
            for (var k in delCrgArr) {
                if (delCrgArr.hasOwnProperty(k)) {
                    h = parseFloat(delCrgArr[k]) + h;
                }
            }


            var y1 = document.getElementById('ContentPlaceHolder1_deliveryCharges');
            if (y1 == null) {
                $("#ctl00_ContentPlaceHolder1_deliveryCharges").text(h);
            }
            else {
                $("#ContentPlaceHolder1_deliveryCharges").text(h);
            }

            var y2 = document.getElementById('ContentPlaceHolder1_finalDelCharges')
            if (y2==null) {
                $("#ctl00_ContentPlaceHolder1_finalDelCharges").text(h);
            } else {
                $("#ContentPlaceHolder1_finalDelCharges").text(h);
            }
           

            return h;
        }
    
        //Calculate Total//
        function setTotal(amountValue) {
            amountValue = amountValue + setDeliveryCharges();

            //FIRST TOTAL AMOUNT
            y5 = document.getElementById('ContentPlaceHolder1_firstTotalAmount');
            if (y5 == null) {
                $('#ctl00_ContentPlaceHolder1_firstTotalAmount').text(amountValue);
            } else {
                $('#ContentPlaceHolder1_firstTotalAmount').text(amountValue);
            }


            //VIEW TOTAL AMOUNT
            y4 = document.getElementById('ContentPlaceHolder1_totalAmount');
            if (y4 == null) {
                $('#ctl00_ContentPlaceHolder1_totalAmount').text(amountValue);
            } else {
                $('#ContentPlaceHolder1_totalAmount').text(amountValue);
            }

          
            //FINAL TOTAL AMOUNT
            y6 = document.getElementById('ContentPlaceHolder1_finalTotalAmount');
            if (y6==null) {
                $('#ctl00_ContentPlaceHolder1_finalTotalAmount').text(amountValue);
            } else {
                $('#ContentPlaceHolder1_finalTotalAmount').text(amountValue) ;
            }
        }

        // Remove Functionality //
        function RemoveOrder(Name, Qty, Price, Vendor) {
            Name = unescape(Name);
            for (var i = 0; i < cartArray.length; i++) {

                var value = cartArray[i].split("Ώ");
                var dict = new Array();

                for (var j = 0; j < value.length; j++) {

                    var keyValuePair = value[j].split('=');
                    dict[keyValuePair[0]] = keyValuePair[1];
                }
                if ((dict['ItemName'] == Name) && (dict[‘ItemQty’] == Qty) && (dict[VndID] == Vendor)) {
                    cartArray.splice(i, 1);
                    var now = new Date();
                    now.setMinutes( now.getMinutes() + 5 );
                    var cookievalue = escape(cartArray.join('|')) + ";";
                    document.cookie = "CookieName=" + cookievalue + ";expires=" + now.toGMTString() + ";path=/";

                    $('#cartItems').html("");
                    $('#viewOrderData').html("");
                    RemoveVendorFromChargesArray(Vendor);
                    pageLoad();
                    return false;
                }
            }
        }

        //Update vendor Delivery Chrges//
        function RemoveVendorFromChargesArray(Vendor) {

            for (var i = 0; i < cartArray.length; i++) {

                var value = cartArray[i].split("Ώ");
                var dict = new Array();

                for (var j = 0; j < value.length; j++) {
                    var keyValuePair = value[j].split('=');
                    dict[keyValuePair[0]] = keyValuePair[1];
                }
                if (dict[VndID] == Vendor) {
                    return false;
                }
            }

            delete delCrgArr[Vendor];

        }


// ADDBOOKS //
        $('.AddBOOK').click(function () {

            //ADD Quantity
            joDealQty  = 1;
            joVendorid = document.getElementById('hdnBOOKVendorId' + this.id).value;
            joItemID  = document.getElementById('hdnBOOKItemId' + this.id).value;
            joDealPrice  = document.getElementById('hdnBOOKPrice' + this.id).value;
            joDealName  = document.getElementById('hdnBOOKName' + this.id).value;
            joVendorName  = document.getElementById('hdnBOOKVendorName').value;
            joVendorAddress = document.getElementById('hdnBOOKVendorAddress').value;
            var strRate = joDealPrice ;

            joDealPrice  = joDealPrice  * joDealQty ;

            if (cartArray.length > 0) {

                var strChkexixts = false;
                for (var i = 0; i < cartArray.length; i++) {

                    var strStored = new Array();
                    var strColnSprtr = cartArray[i].split("Ώ");
                    for (var k = 0; k < strColnSprtr.length; k++) {
                        var ValuePair = strColnSprtr[k].split('=');
                        strStored[ValuePair[0]] = ValuePair[1];
                    }

                    if ((strStored[VndID] == strVendorid) && (strStored['ItemID'] == joItemID ) && (strStored['ItemName'] == joDealName )) {
                        var strNewQty = parseInt(strStored[‘ItemQty’]) + parseInt(joDealQty );
                        joDealPrice  = document.getElementById('hdnBOOKPrice' + this.id).value;

                        //add values in the Array
                        cartArray[i] = "VndID=" + joVendorid + "ΏVndName=" + joVendorName  + "ΏItemID=" + joItemID  + "ΏItemName=" + joDealName  + "ΏItemQty=" + strNewQty + "ΏItemRate=" + strRate + "ΏItemPrice=" + (joDealPrice  * strNewQty) + "ΏVndAdrss=" + joVendorAddress + "ΏisDeal=False" ;
                        strChkexixts = true;
                    }
                }

                if (strChkexixts == false) {
                    //push values in the Array
                    cartArray.push("VndID=" + joVendorid + "ΏVndName=" + joVendorName  + "ΏItemID=" + joItemID  + "ΏItemName=" + joDealName  + "ΏItemQty=" + joDealQty  + "ΏItemRate=" + strRate + "ΏItemPrice=" + joDealPrice  + "ΏVndAdrss=" + joVendorAddress + "ΏisDeal=False");
                }
            } else {
                //push values in the Array
                cartArray.push("VndID=" + joVendorid + "ΏVndName=" + joVendorName  + "ΏItemID=" + joItemID  + "ΏItemName=" + joDealName  + "ΏItemItemQty=" + joDealQty  + "ΏItemRate=" + strRate + "ΏItemPrice=" + joDealPrice  + "ΏVndAdrss=" + joVendorAddress + "ΏisDeal=False");
            }

            WriteCookie();

            joTotalAmount = (parseFloat(joTotalAmount) + parseFloat(joDealPrice ));
            setTotal(joTotalAmount);
            pageLoad();

            //Update Cart
            $('#loginCart').html("View Order (" + cartArray.length + " item)");
            $('#logoutCart').html("View Order (" + cartArray.length + " item)");

        });
        // END ADDBOOKS //

// Add Items To Cart //
            $('.btnAddDeal').click(function () {
                joDealQty  = document.getElementById('txtQty' + this.id).value;
                if (joDealQty  != null) {
                    if (joDealQty  != "") {
                        if (joDealQty  > 0) {
                            joVendorid = document.getElementById('hdnDealVendorId' + this.id).value;
                            joItemID  = document.getElementById('hdnDealItemId' + this.id).value;
                            joDealPrice  = document.getElementById('hdnDealPrice' + this.id).value;
                            joDealName  = document.getElementById('hdnDealName' + this.id).value;
                            joVendorName  = document.getElementById('hdnVendorName').value;
                            joVendorAddress = document.getElementById('hdnVendorAddress').value;
                            strisDeal = document.getElementById('hdnDealisDeal' + this.id).value;

                            var strRate = joDealPrice ;
                            joDealPrice  = joDealPrice  * joDealQty ;
                            if (cartArray.length > 0) {
                                var strChkexixts = false;
                                for (var i = 0; i < cartArray.length; i++) {

                                    var strStored = new Array();
                                    var strColnSprtr = cartArray[i].split("Ώ");
                                    for (var k = 0; k < strColnSprtr.length; k++) {
                                        var ValuePair = strColnSprtr[k].split('=');
                                        strStored[ValuePair[0]] = ValuePair[1];
                                    }

                                    if ((strStored[VndID] == strVendorid) && (strStored['ItemID'] == joItemID ) && (strStored['ItemName'] == joDealName )) {
                                        var strNewQty = parseInt(strStored['ItemQty']) + parseInt(joDealQty );
                                        joDealPrice  = document.getElementById('hdnDealPrice' + this.id).value;
                                        //add values in the Array
                                        cartArray[i] = "VndID=" + joVendorid + "ΏVndName=" + joVendorName  + "ΏItemID=" + joItemID  + "ΏItemName=" + joDealName  + "ΏItemQty=" + strNewQty + "ΏItemRate=" + strRate + "ΏItemPrice=" + (joDealPrice  * strNewQty) + "ΏVndAdrss=" + joVendorAddress + "ΏisDeal=" + strisDeal;
                                        strChkexixts = true;
                                    }
                                }

                                if (strChkexixts == false) {
                                    //push values in the Array
                                    cartArray.push("VndID=" + joVendorid + "ΏVndName=" + joVendorName  + "ΏItemID=" + joItemID  + "ΏItemName=" + joDealName  + "ΏItemQty=" + joDealQty  + "ΏItemRate=" + strRate + "ΏItemPrice=" + joDealPrice  + "ΏVndAdrss=" + joVendorAddress + "ΏisDeal=" + strisDeal);
                                    $('#cartItems').append("<!-- order dec --><div class='order_task'><div class='order_des'>" + joVendorName  + "-" + joDealName  + " x " + joDealQty  + " </div><div class='order_rem'><div class='order_rem_link'><a href='#' onClick='RemoveOrder(\"" + joDealName  + "\",\"" + joDealQty  + "\",\"" + joDealPrice  + "\",\"" + joVendorid + "\");'>Remove</a></div></div><div class='order_price'>" + joDealPrice  + "</div></div><!-- end order dec -->");
                                }

                            } else {
                                //push values in the Array
                                cartArray.push("VndID=" + joVendorid + "ΏVndName=" + joVendorName  + "ΏItemID=" + joItemID  + "ΏItemName=" + joDealName  + "ΏItemQty=" + joDealQty  + "ΏItemRate=" + strRate + "ΏItemPrice=" + joDealPrice  + "ΏVndAdrss=" + joVendorAddress + "ΏisDeal=" + strisDeal);
                                $('#cartItems').append("<!-- order dec --><div class='order_task'><div class='order_des'>" + joVendorName  + "-" + joDealName  + " x " + joDealQty  + " </div><div class='order_rem'><div class='order_rem_link'><a href='#' onClick='RemoveOrder(\"" + joDealName  + "\",\"" + joDealQty  + "\",\"" + joDealPrice  + "\",\"" + joVendorid + "\");'>Remove</a></div></div><div class='order_price'>" + joDealPrice  + "</div></div><!-- end order dec -->");
                            }

                            WriteCookie();

                            joTotalAmount = (parseFloat(joTotalAmount) + parseFloat(joDealPrice ));
                            setTotal(joTotalAmount);
                            pageLoad();

                            document.getElementById('txtQty' + this.id).value = '';

                            //Update Cart
                            $('#loginCart').html("View Order (" + cartArray.length + " item)");
                            $('#logoutCart').html("View Order (" + cartArray.length + " item)");
                        }
                    }
                }
            });
            // END ADD-DEALS //



        //Update Quantity Item//
        function updateItemQuantity(rowId) {

            if (this.value != NaN) {

                if (cartArray.length > 0) {
                    var strChkexixts = false;
                    for (var i = 0; i < cartArray.length; i++) {

                        var strStored = new Array();
                        var strColnSprtr = cartArray[i].split("Ώ");
                        for (var k = 0; k < strColnSprtr.length; k++) {
                            var ValuePair = strColnSprtr[k].split('=');
                            strStored[ValuePair[0]] = ValuePair[1];
                        }

                        var strValue1 = $('#odrVendorId_' + rowId.id).val();
                        var strValue2 = $('#odrItemId_' + rowId.id).val();
                        var strValue3 = $('#odrItemName_' + rowId.id).val();
                       
                        strValue3 = unescape(strValue3);

                        if ((strStored[VndID] == strValue1) && (strStored['ItemID'] == strValue2) && (strStored['ItemName'] == strValue3)) {

                            //update values in the Array
                            cartArray[i] = "VndID=" + strStored[VndID] + "ΏVndName=" + strStored['VndName'] + "ΏItemID=" + strStored['ItemID'] + "ΏItemName=" + strStored['ItemName'] + "ΏItemQty=" + rowId.value + "ΏItemRate=" + strStored[‘ItemRate’] + "ΏItemPrice=" + (parseFloat(rowId.value) * parseFloat(strStored[‘ItemRate’])) + "ΏVndAdrss=" + strStored[‘VndAdrss’] + "ΏisDeal=" + strStored['isDeal'];

                            var now = new Date();
                            now.setMinutes( now.getMinutes() + 5 );
                            var cookievalue = escape(cartArray.join('|')) + ";";
                            document.cookie = "CookieName=" + cookievalue + ";expires=" + now.toGMTString() + ";path=/";
                            $('#cartItems').html("");
                            $('#viewOrderData').html("");
                            $('#finalOrder').html("");

                            pageLoad();

                            return false;
                        }
                    }
                }
            }
        }
    </script>
    <!--End Add To Cart JavaScript-->

</script>



No comments:

Post a Comment