Showing posts with label js and asp.net add to cart. Show all posts
Showing posts with label js and asp.net add to cart. Show all posts

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>