Subversion Repositories SmartDukaan

Rev

Rev 6453 | Rev 6598 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(function(){
        function CollapsibleWidget(container)   {
                
                this.widgetContainer = container;
                this.collapsbiles = $(container).children('.common-widget-control-bar, .common-widget-content-area');
                this.isCollapsed = null;
                
                this.collapse = function()      {
                        $(this.collapsbiles).each(function()    {
                                $(this).slideUp();
                        });
                        this.isCollapsed = true;
                };
                
                this.open = function()  {
                        $(this.collapsbiles).each(function()    {
                                $(this).slideDown();
                        });
                        this.isCollapsed = false;
                };
                
                this.test = function()  {
                };
        }
        
        ResearchWidget.prototype = new CollapsibleWidget();
        ResearchWidget.prototype.constructor = CollapsibleWidget;
        
        function ResearchWidget(container)      {
                CollapsibleWidget.call(this, container);
        }
        
        function updateCompareCount()   {
                $('#research_compare_count').html($('#myresearch input[type="checkbox"]:checked').length);
        }
        
        /** Sidebar Widgets **/
        
        $('#shoppingExpInfo').click(function(){
                $.colorbox({
                width: "550px",
                height: "320px",
                inline: true,
                href: "<h3>Shopping with Saholic.com is completely safe</h3><br />" +
                "<b>1.</b> We are part of Spice Group - India's # 1 Mobile retailer.<br /><br />" +
                "<b>2.</b> We procure directly from the Manufacturers - Hence we only sell genuine products with full Manufacturer Warranty.<br /><br />" +
                "<b>3.</b> We provide free Next Day Delivery to most locations - You can check the delivery time to your location by entering your pin code on the product page.<br /><br />" +
                "<b>4.</b> We use the best Internet Security technology - Your payment is 100% secure.<br />",
                        onComplete: function(){
                                trackEventWithGA('Widget', 'Safe shopping sticky banner is clicked', '');
                        }
        });
        });
        
        $('#emiInfo').click(function(){
                $.colorbox({
                width: "550px",
                height: "450px",
                inline: true,
                href: "<h3>EMI Details</h3><br />" +
                "<ul style = 'list-style : disc inside none'>"+
                "<li>All Inclusive Processing Fee is as follows</li><br />" +
                "<table width='46%' cellspacing='0' cellpadding='0' border='0' id='emiwidget' style='padding-top: 2px; padding-bottom: 2px; border-top-width: 0px; border-left-width: 0px;margin-left: 13px'>" +
                "<thead>"+
                "<tr>"+
                "<th width='50%' style='border-left: 1px solid gray; border-top: 1px solid gray;border-bottom: 1px solid gray;text-align: center;'>Months</th>"+
                "<th width='50%' style='border:1px solid gray;text-align: center;'>Processing Fee*</th>"+
                "</tr>"+
                "</thead>"+
                "<tbody>"+
                "<tr>"+
                "<td style='border-bottom: 1px solid gray; border-left: 1px solid gray; text-align: center;'>3</td>"+
                "<td style='border-right: 1px solid gray; border-bottom: 1px solid gray; border-left: 1px solid gray;text-align: center;'>0</td>"+
                "</tr>"+
                "<tr>"+
                "<td style='border-bottom: 1px solid gray; border-left: 1px solid gray; text-align: center;'>6</td>"+
                "<td style='border-right: 1px solid gray; border-bottom: 1px solid gray; border-left: 1px solid gray;text-align: center;'>4.05%</td>"+          "</tr>"+
                "<tr>"+
                "<td style='border-bottom: 1px solid gray; border-left: 1px solid gray; text-align: center;'>9</td>"+
                "<td style='border-right: 1px solid gray; border-bottom: 1px solid gray; border-left: 1px solid gray;text-align: center;'>6.57%</td>"+
                "</tr>"+
                "<tr>"+
                "<td style='border-bottom: 1px solid gray; border-left: 1px solid gray; text-align: center;'>12</td>"+
                "<td style='border-right: 1px solid gray; border-bottom: 1px solid gray; border-left: 1px solid gray;text-align: center;'>8.82%</td>"+
                "</tr>"+
                "</tbody>"+
                "</table>"+
                "<span style='padding-left:13px'>*Inclusive of service tax.<br/></span>"+
                "<br />"+
                "<li>Select EMI on Make Payment Page to see Monthly EMI and Total Amount Paid.</li><br />" +
                "<li>Minimum purchase of Rs. 200</li><br />"+
                "<li>For HDFC Credit Card Holders, other Banks Coming Soon.</li><br />"+
                "<li>Credit limit of full amount is needed and blocked at the time of buying on EMI.</li><br />"+
                "<li>As you pay the installments, correspondingly your credit limit will increase.</li><br />"+
                "</ul>",
                        onComplete: function(){
                                trackEventWithGA('Widget', 'Emi info widget is clicked', '');
                        }
        });
        });
        
        
        $('#pickupstoreInfo').click(function(){
                $.colorbox({
                width: "550px",
                height: "370px",
                inline: true,
                href: "<h3>Frequently Asked Questions</h3><br />" +
                "<b>Q)</b> What is 'Buy Online & Pickup in Store' ?<br /><br />" +
                "<b>A)</b> Buy Online from Saholic.Com and pickup your product from the nearest Spice Hotspot Retail Store.<br /><br />" +
                "<b>Q)</b> How do i avail this facility ?<br /><br />" +
                "<b>A)</b> Simply select Pickup In Store On the Shipping Page and select your nearest store. Please note this facility is available only in Delhi/NCR.</a><br /><br />"+
                "<b>Q)</b> When will the product be available for pickup ?<br /><br />" +
                "<b>A)</b> You can enter your pin code on the Product Page to find estimated time to deliver. After placing the order we will also give you the estimated date for pickup.</a><br /><br />",
                
                        onComplete: function(){
                                var ev = "Product Page";
                                var label = window.location.pathname;
                                if (label=="" || label=="#")
                                {
                                        label = "";
                                        ev = "Home Page";
                                }
                                else if (label.indexOf("shipping") != -1){
                                        ev = "Shipping Page";
                                        var blkstr = [];
                                        jQuery("#cartDetail").find("span.cart-item-name").each(function(key,str){
                                                blkstr.push(str);
                                        });
                                        label = blkstr.join(", ");
                                } else if (label.substr(label.lastIndexOf('/') + 1).length==5 && typeof label.substr(label.lastIndexOf('/') + 1) =="number") {
                                        ev = "Category Page";
                                } else if (label.substr(label.lastIndexOf('-') + 1).length==7  && typeof label.substr(label.lastIndexOf('-') + 1) =="number") {
                                        ev = "Product Page";
                                }
                                trackEventWithGA('Pickup in Store LightBox', ev, label);
                        }
        });
        });

        $('.common-widget-top-bar').live('click', function(e, callback){
                var isColapsed = $(this).data('is_colapsed') == true ? true : false;
                var widgetBox = $(this).siblings('.common-widget-content-area');
                var controlBox = $(this).siblings('.common-widget-control-bar');
                var controlBoxArrowImg = $(this).find('img');
                
                if (isColapsed) {
                        if(controlBox.length > 0)       {
                                $(controlBox).slideDown('fast', function(){
                                        $(widgetBox).slideDown('fast', callback);
                                        $(controlBoxArrowImg).attr('src', '/images/IconDownArrow_UnselectedTab.png');
                                });
                        } else  {
                                $(widgetBox).slideDown();
                                $(controlBoxArrowImg).attr('src', '/images/IconDownArrow_UnselectedTab.png');
                        }
                } else  {
                        $(widgetBox).slideUp(function(){
                                $(controlBox).slideUp('fast');
                                $(controlBoxArrowImg).attr('src', '/images/IconRightArrow_UnselectedTab.png');
                        });
                }
                $(this).data('is_colapsed', !isColapsed);
        });
        
        /**
         * Update count of products checked for comparison
         **/
        $('#myresearch input[type="checkbox"]').live('click', function(){
                updateCompareCount();
        });
        
        $("#research_compare").live('click', function(){
                var seldata = "";
                var prodnames = "";
                var tot = 1;
                var saprt = "";
                var par = $('#myresearch').find('input[type=checkbox]:checked');
                var haveSameProductType = true;
                var productType = null;
                
                $(par).each(function(){
                        
                        if(productType != null && productType != $(this).attr('producttype'))   {
                                haveSameProductType = false;
                        }
                        productType = $(this).attr('producttype');
                        
                        if(tot == 1)    {
                                prodnames += $(this).attr("title").replace(/ +/g, '-').replace(/\/+/g,'-').replace(/-+/g,'-').toLowerCase();
                                seldata += "p" + tot + "=" + $(this).val();
                        } else  {
                                seldata += "&p" + tot + "=" + $(this).val();
                                prodnames += "-vs-" + $(this).attr("title").replace(/ +/g, '-').replace(/\/+/g,'-').replace(/-+/g,'-').toLowerCase();
                        }
                        tot ++;
                });
                
                if(! haveSameProductType)       {
                        alert("Only products of same category can be compared");
                } else if(tot > 6)      {
                        alert("Can compare upto five products only.");
                } else if(tot > 2)      {
                        window.location = "/compare-" + productType.replace(/ +/g, '-').toLowerCase() + "/" + prodnames + "?" + seldata+"&fromsrc=comparison_widget";
                } else  {
                        alert("Please select atleast two products");
                }
        });
        
        $("#research_delete").live('click', function(){
                var research_tot = $("#research_total").val();
                var seldata = [];
                var tot = 0;
                var saprt = "";
                var par = $('#myresearch').find('input[type=checkbox]:checked');

                $(par).each(function(){
                        seldata.unshift($(this).val());
                        tot ++;
                });

                if(tot > 0)     {
                        var t = (research_tot * 1) - (tot * 1);
                        $("#research_total").val(t);

                        jQuery.ajax({
                                type: "GET",
                                url: "/deletefromresearch/[" + seldata + "]?_method=delete",
                                success: function(msg)  {
                                        jQuery.each(seldata, function(intIndex, objValue){
                                                delete_from_storage_set("resitems", objValue);
                                                $("#myresearch").find("#" + objValue).fadeOut('slow', function() {
                                                        $(this).remove();
                                                        if(t === 0)     {
                                                                $("#research_default").css("display", "block");
                                                        }
                                                });
                                        });
                                        
                                        //Updating the count
                                        $('#research_compare_count').html($('#myresearch input[type="checkbox"]:checked').length - seldata.length);
                                        
                                        if ($('#myresearch input[type="checkbox"]').length - seldata.length <= 0)       {
                                                $("#myresearch").children(".common-widget-top-bar").trigger('click');
                                        }
                                }
                        });
                } else  {
                        alert("Please select atleast one product");
                }
        });
        
        // No uid cookie
        if (!$.cookie("uid"))   {
                // No uid in storage
                if (!$.Storage.get("uid"))      {
                        if (!$.Storage.get("resitems")) {
                                $.Storage.set("resitems", "[]");
                        }
                        if (!$.Storage.get("histitems"))        {
                                $.Storage.set("histitems", "[]");
                        }
                }
                else    {                       // uid in storage : logout
                        $.Storage.remove("uid");
                        $.Storage.set("resitems", "[]");
                        $.Storage.set("histitems", "[]");
                }
                load_research_widget();
                load_history_widget();
        }
        else    {                               // With uid cookie
                var cookie = $.cookie("uid");
                // Just logged in merge storage items
                if (!$.Storage.get("uid"))      {
                        $.Storage.set("uid", cookie);
                        merge_history_items();
                        load_research_items();
                }
                else    {
                        // UID changed
                        if ( cookie != $.Storage.get("uid"))    {
                                $.Storage.set("uid", cookie);
                                $.Storage.set("resitems", "[]");
                                $.Storage.set("histitems", "[]");
                                merge_history_items();
                                load_research_items();
                        }
                        else    {               // Uid is same
                                if (!$.Storage.get("resitems")) {
                                        $.Storage.set("resitems", "[]");
                                        load_research_items();
                                }
                                else    {
                                        load_research_widget();
                                }
                                
                                if (!$.Storage.get("histitems"))        {
                                        $.Storage.set("histitems", "[]");
                                        merge_history_items();
                                }
                                else    {
                                        load_history_widget();
                                }
                        }
                }
        }
        
        function load_research_items(){
                jQuery.ajax({
                        type: "GET",
                        url: "/myresearch",
                        cache: false,
                        success: function(json) {
                            $.Storage.set("resitems", json);
                            load_research_widget();
                    }
                });
        }

        function load_research_widget(){
                var myResearchWidgetContainer = $("#myresearch");
                
                if($(myResearchWidgetContainer).length == 0) {
                        return;
                }
                var resitems = $.Storage.get("resitems");
                
                if (resitems == "[]") {
                        var emptyResWidgetHtml = '<table border="0" width="100%" cellspacing="1" cellpadding="0" id="research_default">\
                      <tbody>\
                        <tr><td align="center"><b>Add items to compare list</b></td></tr>\
                       </tbody>\
                      </table>';
                        $(myResearchWidgetContainer).find(".common-widget-content-area").html(emptyResWidgetHtml);
                        $(myResearchWidgetContainer).children(".common-widget-top-bar").trigger('click');
                        return;
                }
                var params = "/" + resitems;
                
                jQuery.ajax({
                        type : "GET",
                        url : "/myresearch" + params,
                        cache: true,
                        success : function(html) {
                            $("#myresearch").html(html);
                                updateCompareCount();

                            // Product Title
                            $("#myresearch table td div a.truncate").each(function() {
                                                $(this).truncate({addtitle : true});
                            });

                            // Product Price
                            $("#myresearch table td div div.price").each(function() {
                                                $(this).truncate({addtitle : true});
                                });

                            // Product Details
                            $("#myresearch table td div div.text").each(function() {
                                                $(this).truncate( {addtitle : true});
                                });
                    }
                });
        }
});