Subversion Repositories SmartDukaan

Rev

Rev 2759 | Rev 2810 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
538 rajveer 1
/* 
2
     Example:
3
     addResearch(refdivid,reqtype) refdivid=pane1, reqtype=single/multi
4
     Multiple request: onclick="javascript:addResearch('pane2','multi');"
5
     Single request: onclick="javascript:addResearch('','single');"
6
 
7
     addToCart(refdivid,reqtype) refdivid=pane1, reqtype=single/multi
8
     Multiple request: onclick="javascript:addToCart('pane2','multi');"
9
     Single request: onclick="javascript:addToCart('','single');"
10
 
11
     NOTE: incase reqtype=list then refdivid should be product id
12
*/
1922 varun.gupt 13
 
1829 varun.gupt 14
function trackEventWithGA(eventCategory, actionName, label)	{
2038 vikas 15
	if(typeof _gaq != "undefined" && _gaq != null)	{
16
		_gaq.push(['_trackEvent', eventCategory, actionName, label, 2]);
17
	}
1829 varun.gupt 18
}
2110 vikas 19
 
20
function trackPageWithGA(page)	{
21
	if(typeof _gaq != "undefined" && _gaq != null)	{
22
		_gaq.push(['_trackPageview', page]);
23
	}
24
}
1922 varun.gupt 25
 
637 rajveer 26
$(function() {
2762 rajveer 27
	  $('.add-to-cart-icon').live('click', function() {
28
	    var items = this.id;
29
	    var itemsarray = items.split('-');
30
	    var catalogid = $(this).attr('catalogid');
31
	    addToCart(itemsarray[1], itemsarray[0], catalogid);
32
	    return false;
33
	  });
34
 
1199 vikas 35
	$("a.addtocart").live('click', function() {
637 rajveer 36
		var catalogid = $(this).attr('catalogid');
1795 varun.gupt 37
 
762 rajveer 38
		var radBtn = "";
39
		var param = "PARAMETERS_" + catalogid;
2762 rajveer 40
		radBtn += '<input type="hidden" id="selected_catalog_id" value=' + catalogid + ' />';
762 rajveer 41
		$.each(eval(param), function(val, text) {
42
			radBtn += '<label><input type="radio" name="radColorSel" value="' + val + '" /> <span>' + text + '</span></label>';
43
		});
44
 
45
		radBtn += '<div class="clearBoth"></div>';
46
		$(".colorSelLightBoxColor .content").html(radBtn);
637 rajveer 47
 
1189 varun.gupt 48
		$.fn.colorbox({inline:true, href:".colorSelLightBoxColor", open:true, onComplete:function(){
49
			var posLeft = (document.documentElement.clientWidth / 2) - (parseInt($('#colorbox').css('width')) / 2);
50
			var posTop = (document.documentElement.clientHeight / 2) - (parseInt($('#colorbox').css('height')) / 2);
51
 
52
			$('#colorbox').css('top', posTop);
53
			$('#colorbox').css('left', posLeft);
54
		}});
637 rajveer 55
	});
762 rajveer 56
 
637 rajveer 57
});
58
 
2755 rajveer 59
 
60
 
2762 rajveer 61
function addToCart(refdivid,reqtype, catalogid){
2755 rajveer 62
     var seldata="";
63
     var tot=0;
64
     var saprt="";
65
     if(reqtype == "multi"){
66
          var containerdiv = "#" + refdivid;
67
          var par= containerdiv + " input[type=checkbox]:checked";
68
          var isMulti = false;
69
          $(par).each(function(){
70
 
71
	       	   var totalcolors = $(this).attr('totalcolors');
72
	           saprt = (tot>0)? "_":"";
73
               seldata += saprt+$(this).attr('itemid');
74
 
75
	           if(totalcolors != 1)	{
76
	        	   isMulti = true;
77
	       	   }
78
               tot++;
79
          });
80
          if(isMulti == true){
81
        	  alert("Some items are available in multiple colors. Please go to product page and select color you want.");
82
        	  return;
83
          } else	{
84
        	  var items = seldata.split('_');
85
        	  for(var i in items)	{
86
        		  trackEventWithGA('Order', 'Add to Cart', items[i]);
87
        	  }
88
          }
89
     }else if(reqtype == "single"){
90
          seldata = $("#item_id").val();
91
		  trackEventWithGA('Order', 'Add to Cart', seldata + '');
92
          tot=1;
93
     }else if(reqtype == "list"){
94
    	  var seldata=refdivid;
95
		  trackEventWithGA('Order', 'Add to Cart', seldata + '');
96
          tot=1;
97
     }
98
 
99
     if(tot > 0)	{
100
    	 jQuery.ajax({
101
    		 type: "POST",
102
    		 url: "/addtocart",
103
    		 data: "productid=" + seldata,
104
    		 success: function(msg){
105
    			 if(msg==""){
106
    				 window.location = "/cart";
107
    			 }else{
2762 rajveer 108
    				 displayRelatedProducts(msg, catalogid);
2755 rajveer 109
    			 }
110
    		 }
111
    	 });
112
     } else	{
113
    	 alert("Please select atleast one product");
114
     }
115
}
116
 
117
 
762 rajveer 118
function selectColor(){
119
	var selected = $(".colorSelLightBoxColor .content input[name='radColorSel']:checked");
120
	var itemid = selected.val();
2762 rajveer 121
 
122
	var catalogid = $(".colorSelLightBoxColor .content #selected_catalog_id").val();
1829 varun.gupt 123
	trackEventWithGA('Order', 'Select Product Color', itemid);
762 rajveer 124
 
1795 varun.gupt 125
	if(itemid == undefined)	{
762 rajveer 126
		alert('Please select a color.');
1795 varun.gupt 127
	} else	{
2762 rajveer 128
		addToCart(itemid,'list', catalogid);
762 rajveer 129
	}
130
}
131
 
637 rajveer 132
 
2762 rajveer 133
function displayRelatedProducts(message, catalogId){
2755 rajveer 134
	var radBtn = "<div id='cartRecommendationBox'>";
135
	jQuery.ajax({
136
		type: "GET",
2762 rajveer 137
		url: "/related-products/" + catalogId,
2755 rajveer 138
		success: function(msg)	{
139
			radBtn += "<h3 style='margin-top:5px; margin-bottom:5px;'>" + message + "</h3>";
140
			if($.trim(msg)!=""){
141
				radBtn += "<span style='font-size:14px; color:#003300; background-color:#ffffdd;  margin-bottom:8px;'>You can check out following similar products</span><hr size=1/>";
142
			}
143
			radBtn += msg;
144
			radBtn += '<div class="clearBoth"></div></div>';
145
 
146
	    	$.colorbox({
147
	    		html:radBtn,
148
	    		width:"400px",
149
	    		height:"410px",
150
 
151
	    		onComplete: function(){
152
	    			$('#cartRecommendationBox').show().find('.widgetChkBox').hide();
153
	    		},
154
	    		onCleanup: function(){
155
	    			$('#cartRecommendationBox').hide();
156
	    		}
157
	    	});
158
		}
159
	});		
160
}
161
 
162
 
163
 
1829 varun.gupt 164
function addResearch(refdivid, reqtype){
165
     var research_tot = $("#research_total").val();
166
     var seldata = [];
167
     var tot = 0;
538 rajveer 168
 
1829 varun.gupt 169
     if(reqtype == "multi")	{
538 rajveer 170
          var containerdiv = "#" + refdivid;     
1829 varun.gupt 171
          var par = containerdiv + " input[type=checkbox]:checked";
538 rajveer 172
          $(par).each(function(){
1761 vikas 173
               seldata.unshift($(this).val());
1829 varun.gupt 174
               tot ++;
538 rajveer 175
          });
1829 varun.gupt 176
     }else if(reqtype == "single")	{
1761 vikas 177
    	  seldata.unshift($("#product_id").val());
2633 rajveer 178
          tot = 1;
1829 varun.gupt 179
     }else if(reqtype == "list"){
1761 vikas 180
    	  seldata.unshift(refdivid);
2633 rajveer 181
          tot = 1;
538 rajveer 182
     }
1795 varun.gupt 183
 
184
     if(tot > 0)	{
879 rajveer 185
          //alert("AJAX request to add products in My research. Product ID: "+seldata+" and total: "+tot);
538 rajveer 186
          jQuery.ajax({
187
               type: "POST",
1614 rajveer 188
                      url: "/addtoresearch",
1829 varun.gupt 189
                      data: "productid=[" + seldata +  "]",
1047 vikas 190
                      success: function(msg){
2759 varun.gupt 191
                           var postSuccessDOMProcessing = function(objValue)	{
192
                        	   trackEventWithGA('Research', 'Add to Research', objValue);
193
                        	   add_to_storage_set("resitems", objValue);
194
                        	   var tblid = "#pane1 #" + objValue + " td";
195
                        	   $(tblid + " div a.truncate").truncate({addtitle: true});
196
                        	   $(tblid + " div div.price").truncate({addtitle: true});
197
                        	   $(tblid + " div div.text").truncate({addtitle: true});
198
                        	   $(tblid).animate({ backgroundColor: "#fcffb3" }, 'slow');
199
                        	   $(tblid).animate({ backgroundColor: "#F5F5F5" }, 'slow');
200
                           };
1047 vikas 201
 
202
                           if(msg == 0){
203
                                alert( "Product is already in my research" );
2759 varun.gupt 204
                           } else	{
1829 varun.gupt 205
                                var t = (research_tot * 1) + (tot * 1);
538 rajveer 206
                                $("#research_total").val(t);
2759 varun.gupt 207
                                if(t > 0)	{
538 rajveer 208
                                     $("#research_default").css("display","none");
209
                                }     
210
                                $("#pane1").prepend(msg);
211
 
2759 varun.gupt 212
                                if(reqtype == "multi")	{
213
                                     jQuery.each(seldata,function(intIndex, objValue)	{
214
                                    	 postSuccessDOMProcessing(objValue);
538 rajveer 215
                                     });
216
 
2759 varun.gupt 217
                                } else if(reqtype == "single")	{
218
                                	postSuccessDOMProcessing(seldata);
219
 
220
                                } else if(reqtype == "list")	{
221
                                	postSuccessDOMProcessing(seldata);
222
                                }
538 rajveer 223
                           }
224
                      }
225
          });
2759 varun.gupt 226
     } else	{
538 rajveer 227
          alert("Please select atleast one product");
228
     }
229
}
230
 
231
 
1873 varun.gupt 232
 
233
 
1047 vikas 234
function scrollWinToTop(){
235
    $('html, body').animate({
236
      scrollTop: $("body").offset().top
237
    }, 0);
238
}
239
 
240
function resetShipForm(){
241
  $('#shipName').val("");
242
  $('#shipAddress1').val("");
243
  $('#shipAddress2').val("");
244
  $('#shipState').val("");
245
  $('#shipCity').val("");
246
  $('#shipPin').val("");
247
  $('#shipPhone').val("");
248
	$('#newShipAdr').hide();
249
	scrollWinToTop();
250
}
251
 
252
function changeShipAddress(id){
253
  addressId = id.substring(20);
254
 //alert("TODO AJAX request to change shipping address. " + addressId);
255
   jQuery.ajax({
256
      type: "POST",
1919 rajveer 257
      url: "/shipping",
1047 vikas 258
      data: "action=change&addressid="+addressId,
259
      success: function(msg){
260
         $("#addressid").val(msg);
261
      }
262
   });
263
  document.getElementById('shipAddressContainer').innerHTML = document.getElementById(id).innerHTML;
264
	$(".proceed-bttn .yellow-image").removeClass('imgDisableButton').addClass('imgEnableButton');
265
	$(".proceed-bttn input[disabled='']").removeAttr('disabled');
2633 rajveer 266
 
267
	$('#newShipAdr').hide();
1047 vikas 268
	scrollWinToTop();
269
 
270
}
1053 vikas 271
 
1761 vikas 272
function merge_history_items(){
273
	params = $.Storage.get("histitems");
274
 
275
	jQuery.ajax({
276
		type: "POST",
277
		url: "/browse-history",
278
		data: "id="+params,
279
		cache: false,
280
		success: function(json) {
281
		    $.Storage.set("histitems", json);
282
		    load_history_widget();
283
	    }
284
	});
285
}
286
 
287
function load_research_items(){
288
	jQuery.ajax({
289
		type: "GET",
290
		url: "/myresearch",
291
		cache: false,
292
		success: function(json) {
293
		    $.Storage.set("resitems", json);
294
		    load_research_widget();
295
	    }
296
	});
297
}
298
 
1372 vikas 299
function load_research_widget(){
1761 vikas 300
	var params = "";
301
	params = "/" + $.Storage.get("resitems");
302
 
303
	jQuery.ajax({
1372 vikas 304
		type : "GET",
1761 vikas 305
		url : "/myresearch" + params,
1567 vikas 306
		cache: false,
1372 vikas 307
		success : function(html) {
1761 vikas 308
   		    $("#myresearch").html(html);
1372 vikas 309
 
1761 vikas 310
		    // Product Title
2718 varun.gupt 311
		    $("#myresearch table td div a.truncate").each(function() {
1761 vikas 312
					$(this).truncate({addtitle : true});
313
		    });
1372 vikas 314
 
1761 vikas 315
		    // Product Price
316
		    $("#myresearch table td div div.price").each(function() {
317
					$(this).truncate({addtitle : true});
318
			});
1372 vikas 319
 
1761 vikas 320
		    // Product Details
321
		    $("#myresearch table td div div.text").each(function() {
322
					$(this).truncate( {addtitle : true});
323
			});
324
	    }
1372 vikas 325
	});
326
}
327
 
1623 rajveer 328
function load_history_widget() {
1614 rajveer 329
	var params = "";
1761 vikas 330
	params = "/" + $.Storage.get("histitems");
1614 rajveer 331
 
1372 vikas 332
	jQuery.ajax({
333
		type: "GET",
1614 rajveer 334
		url: "/browse-history" + params,
1567 vikas 335
		cache: false,
1372 vikas 336
		success: function(html){
1761 vikas 337
		    $("#browsehistory").html(html);
1372 vikas 338
 
1761 vikas 339
		    // Product Title
340
		    $("#browsehistory table td div a").each(function(){
341
			    $(this).truncate({addtitle: true}); 
342
		    });
1372 vikas 343
 
1761 vikas 344
    		// Product Price
345
	    	$("#browsehistory table td div div.price").each(function(){
346
		    	$(this).truncate({addtitle: true});
347
		    });
1372 vikas 348
 
1761 vikas 349
		    // Product Details
350
		    $("#browsehistory table td div div.text").each(function(){
351
			    $(this).truncate({addtitle: true});
352
		    });
353
	    }
354
	});
355
}
356
 
357
function add_to_storage_set(key, id) {
358
	var set = eval($.Storage.get(key));
359
	if (set) {
360
		$.each(set, function(index, value) {
361
			if (value == id) {
362
				set.splice(index, 1);
363
			}
1372 vikas 364
		});
365
	}
1761 vikas 366
	set.unshift(id);
1964 vikas 367
	if (set.length>10)
368
	{
369
		set.splice(10, set.length-10);
370
	}
1761 vikas 371
	$.Storage.set(key, "[" + set.toString() + "]");
1372 vikas 372
}
373
 
1761 vikas 374
function delete_from_storage_set(key, id) {
375
	var set = eval($.Storage.get(key));
376
	if (set) {
377
		$.each(set, function(index, value) {
378
			if (value == id) {
379
				set.splice(index, 1);
380
			}
381
		});
382
	}
383
	$.Storage.set(key, "[" + set.toString() + "]");
1866 vikas 384
}
385
 
1868 vikas 386
function add_track_log(event, url, data) {
1999 vikas 387
	if ($.cookie("uafc")) {
1866 vikas 388
		jQuery.ajax( {
1919 rajveer 389
			url : "/tracking",
1866 vikas 390
			type : "POST",
391
			data : {
1868 vikas 392
				"event" : event,
1866 vikas 393
				"url" : url,
394
				"data" : data
395
			},
396
			cache : false
397
		});
398
	}
1761 vikas 399
}