Subversion Repositories SmartDukaan

Rev

Rev 4372 | Rev 4786 | 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('-');
2811 rajveer 30
	    addToCart(itemsarray[1], itemsarray[0]);
4372 varun.gupt 31
	    trackEventWithGA('Home Page', 'Add to Cart Click', '');
2762 rajveer 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
 
4372 varun.gupt 48
		$.fn.colorbox({
49
			inline:true, 
50
			href:".colorSelLightBoxColor", 
51
			open:true, 
52
			onComplete:function(){
53
				var posLeft = (document.documentElement.clientWidth / 2) - (parseInt($('#colorbox').css('width')) / 2);
54
				var posTop = (document.documentElement.clientHeight / 2) - (parseInt($('#colorbox').css('height')) / 2);
1189 varun.gupt 55
 
4372 varun.gupt 56
				$('#colorbox').css('top', posTop);
57
				$('#colorbox').css('left', posLeft);
58
			    trackEventWithGA('Home Page', 'Add to Cart Click', '');
59
			}
60
		});
637 rajveer 61
	});
762 rajveer 62
 
3080 rajveer 63
 
64
	$('#notify').live('click', function() {
65
		emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
66
		email=$('#emailId').val();
67
		if(!email.match(emailExp)){
68
			alert("Please enter valid email.");
69
			return false;
70
		}
71
		itemId=$('#itemId').val();
72
		emailId=$('#emailId').val();
73
		jQuery.ajax({
74
   		 type: "POST",
75
   		 url: "/product-notification",
76
   		 data: "emailId="+emailId+"&itemId="+itemId,
77
   		 success: function(msg){
3255 rajveer 78
   			$('#notificationBox').html("<h3>We will notify you once we get the stock.</h3>");	 
3080 rajveer 79
   		 }
80
   	 	});
81
	});
3283 rajveer 82
 
83
 
84
    $("#query").autocomplete({  autoFocus: true, minLength: 3,
85
    	source: "/auto-suggest",
86
    	select: function( event, ui ) {
87
    		this.value = ui.item.value;
3830 chandransh 88
			$('#formSearch').submit();
3283 rajveer 89
			return false;
90
		}
91
    });
92
 
637 rajveer 93
});
94
 
2811 rajveer 95
function addToCart(refdivid,reqtype){
2755 rajveer 96
     var seldata="";
97
     var tot=0;
98
     var saprt="";
99
     if(reqtype == "multi"){
100
          var containerdiv = "#" + refdivid;
101
          var par= containerdiv + " input[type=checkbox]:checked";
102
          var isMulti = false;
103
          $(par).each(function(){
104
 
105
	       	   var totalcolors = $(this).attr('totalcolors');
106
	           saprt = (tot>0)? "_":"";
107
               seldata += saprt+$(this).attr('itemid');
108
 
109
	           if(totalcolors != 1)	{
110
	        	   isMulti = true;
111
	       	   }
112
               tot++;
113
          });
114
          if(isMulti == true){
115
        	  alert("Some items are available in multiple colors. Please go to product page and select color you want.");
116
        	  return;
117
          } else	{
118
        	  var items = seldata.split('_');
119
        	  for(var i in items)	{
120
        		  trackEventWithGA('Order', 'Add to Cart', items[i]);
121
        	  }
122
          }
123
     }else if(reqtype == "single"){
124
          seldata = $("#item_id").val();
125
		  trackEventWithGA('Order', 'Add to Cart', seldata + '');
126
          tot=1;
127
     }else if(reqtype == "list"){
128
    	  var seldata=refdivid;
129
		  trackEventWithGA('Order', 'Add to Cart', seldata + '');
130
          tot=1;
131
     }
132
 
133
     if(tot > 0)	{
134
    	 jQuery.ajax({
135
    		 type: "POST",
136
    		 url: "/addtocart",
137
    		 data: "productid=" + seldata,
138
    		 success: function(msg){
139
    			 if(msg==""){
140
    				 window.location = "/cart";
141
    			 }else{
4740 amit.gupta 142
    				 trackEventWithGA('Order', 'OOS Lightbox', seldata + '');
2810 rajveer 143
    				 displayRelatedProducts(msg);
2755 rajveer 144
    			 }
145
    		 }
146
    	 });
147
     } else	{
148
    	 alert("Please select atleast one product");
149
     }
150
}
151
 
152
 
762 rajveer 153
function selectColor(){
154
	var selected = $(".colorSelLightBoxColor .content input[name='radColorSel']:checked");
155
	var itemid = selected.val();
2762 rajveer 156
 
1829 varun.gupt 157
	trackEventWithGA('Order', 'Select Product Color', itemid);
762 rajveer 158
 
1795 varun.gupt 159
	if(itemid == undefined)	{
762 rajveer 160
		alert('Please select a color.');
1795 varun.gupt 161
	} else	{
2811 rajveer 162
		addToCart(itemid,'list');
762 rajveer 163
	}
164
}
165
 
637 rajveer 166
 
2810 rajveer 167
function displayRelatedProducts(message){
168
	$.colorbox({
169
		html:message,
3255 rajveer 170
		maxWidth:"400px",
171
		maxHeight:"410px",
2810 rajveer 172
		width:"400px",
173
 
174
		onComplete: function(){
175
			$('#cartRecommendationBox').show().find('.widgetChkBox').hide();
176
		},
177
		onCleanup: function(){
178
			$('#cartRecommendationBox').hide();
2755 rajveer 179
		}
3255 rajveer 180
	});
181
 
2755 rajveer 182
}
183
 
184
 
185
 
1829 varun.gupt 186
function addResearch(refdivid, reqtype){
187
     var research_tot = $("#research_total").val();
188
     var seldata = [];
189
     var tot = 0;
538 rajveer 190
 
1829 varun.gupt 191
     if(reqtype == "multi")	{
538 rajveer 192
          var containerdiv = "#" + refdivid;     
1829 varun.gupt 193
          var par = containerdiv + " input[type=checkbox]:checked";
538 rajveer 194
          $(par).each(function(){
1761 vikas 195
               seldata.unshift($(this).val());
1829 varun.gupt 196
               tot ++;
538 rajveer 197
          });
1829 varun.gupt 198
     }else if(reqtype == "single")	{
1761 vikas 199
    	  seldata.unshift($("#product_id").val());
2633 rajveer 200
          tot = 1;
1829 varun.gupt 201
     }else if(reqtype == "list"){
1761 vikas 202
    	  seldata.unshift(refdivid);
2633 rajveer 203
          tot = 1;
538 rajveer 204
     }
1795 varun.gupt 205
 
206
     if(tot > 0)	{
879 rajveer 207
          //alert("AJAX request to add products in My research. Product ID: "+seldata+" and total: "+tot);
538 rajveer 208
          jQuery.ajax({
209
               type: "POST",
1614 rajveer 210
                      url: "/addtoresearch",
1829 varun.gupt 211
                      data: "productid=[" + seldata +  "]",
1047 vikas 212
                      success: function(msg){
2759 varun.gupt 213
                           var postSuccessDOMProcessing = function(objValue)	{
214
                        	   trackEventWithGA('Research', 'Add to Research', objValue);
215
                        	   add_to_storage_set("resitems", objValue);
216
                        	   var tblid = "#pane1 #" + objValue + " td";
217
                        	   $(tblid + " div a.truncate").truncate({addtitle: true});
218
                        	   $(tblid + " div div.price").truncate({addtitle: true});
219
                        	   $(tblid + " div div.text").truncate({addtitle: true});
220
                        	   $(tblid).animate({ backgroundColor: "#fcffb3" }, 'slow');
221
                        	   $(tblid).animate({ backgroundColor: "#F5F5F5" }, 'slow');
222
                           };
1047 vikas 223
 
224
                           if(msg == 0){
3830 chandransh 225
                                alert( "Product is already in compare list" );
2759 varun.gupt 226
                           } else	{
1829 varun.gupt 227
                                var t = (research_tot * 1) + (tot * 1);
538 rajveer 228
                                $("#research_total").val(t);
2759 varun.gupt 229
                                if(t > 0)	{
538 rajveer 230
                                     $("#research_default").css("display","none");
231
                                }     
232
                                $("#pane1").prepend(msg);
233
 
2759 varun.gupt 234
                                if(reqtype == "multi")	{
235
                                     jQuery.each(seldata,function(intIndex, objValue)	{
236
                                    	 postSuccessDOMProcessing(objValue);
538 rajveer 237
                                     });
238
 
2759 varun.gupt 239
                                } else if(reqtype == "single")	{
240
                                	postSuccessDOMProcessing(seldata);
241
 
242
                                } else if(reqtype == "list")	{
243
                                	postSuccessDOMProcessing(seldata);
244
                                }
538 rajveer 245
                           }
246
                      }
247
          });
2759 varun.gupt 248
     } else	{
538 rajveer 249
          alert("Please select atleast one product");
250
     }
251
}
252
 
253
 
1873 varun.gupt 254
 
255
 
1047 vikas 256
function scrollWinToTop(){
257
    $('html, body').animate({
258
      scrollTop: $("body").offset().top
259
    }, 0);
260
}
261
 
262
function changeShipAddress(id){
263
  addressId = id.substring(20);
264
 //alert("TODO AJAX request to change shipping address. " + addressId);
265
   jQuery.ajax({
266
      type: "POST",
1919 rajveer 267
      url: "/shipping",
1047 vikas 268
      data: "action=change&addressid="+addressId,
269
      success: function(msg){
270
         $("#addressid").val(msg);
271
      }
272
   });
273
  document.getElementById('shipAddressContainer').innerHTML = document.getElementById(id).innerHTML;
274
	$(".proceed-bttn .yellow-image").removeClass('imgDisableButton').addClass('imgEnableButton');
275
	$(".proceed-bttn input[disabled='']").removeAttr('disabled');
2633 rajveer 276
 
277
	$('#newShipAdr').hide();
1047 vikas 278
	scrollWinToTop();
279
 
280
}
1053 vikas 281
 
1761 vikas 282
function merge_history_items(){
283
	params = $.Storage.get("histitems");
284
 
285
	jQuery.ajax({
286
		type: "POST",
287
		url: "/browse-history",
288
		data: "id="+params,
289
		cache: false,
290
		success: function(json) {
291
		    $.Storage.set("histitems", json);
292
		    load_history_widget();
293
	    }
294
	});
295
}
296
 
297
function load_research_items(){
298
	jQuery.ajax({
299
		type: "GET",
300
		url: "/myresearch",
301
		cache: false,
302
		success: function(json) {
303
		    $.Storage.set("resitems", json);
304
		    load_research_widget();
305
	    }
306
	});
307
}
308
 
1372 vikas 309
function load_research_widget(){
4276 varun.gupt 310
	var myResearchWidgetContainer = $("#myresearch");
311
	if($(myResearchWidgetContainer).length == 0) {
2921 vikas 312
		return;
313
	}
3057 vikas 314
	var resitems = $.Storage.get("resitems");
315
	if (resitems == "[]") {
316
		var emptyResWidgetHtml = '<table border="0" width="100%" cellspacing="1" cellpadding="0" id="research_default">\
317
	      <tbody>\
318
	        <tr>\
4276 varun.gupt 319
	          <td align="center"><b>Add items to compare list</b></td>\
3057 vikas 320
	         </tr>\
321
	       </tbody>\
322
	      </table>';
4276 varun.gupt 323
		$(myResearchWidgetContainer).find(".common-widget-content-area").html(emptyResWidgetHtml);
324
		$(myResearchWidgetContainer).children(".common-widget-top-bar").trigger('click');
3057 vikas 325
		return;
326
	}
327
	var params = "/" + resitems;
1761 vikas 328
 
329
	jQuery.ajax({
1372 vikas 330
		type : "GET",
1761 vikas 331
		url : "/myresearch" + params,
3034 vikas 332
		cache: true,
1372 vikas 333
		success : function(html) {
1761 vikas 334
   		    $("#myresearch").html(html);
1372 vikas 335
 
1761 vikas 336
		    // Product Title
2718 varun.gupt 337
		    $("#myresearch table td div a.truncate").each(function() {
1761 vikas 338
					$(this).truncate({addtitle : true});
339
		    });
1372 vikas 340
 
1761 vikas 341
		    // Product Price
342
		    $("#myresearch table td div div.price").each(function() {
343
					$(this).truncate({addtitle : true});
344
			});
1372 vikas 345
 
1761 vikas 346
		    // Product Details
347
		    $("#myresearch table td div div.text").each(function() {
348
					$(this).truncate( {addtitle : true});
349
			});
350
	    }
1372 vikas 351
	});
352
}
353
 
1623 rajveer 354
function load_history_widget() {
4276 varun.gupt 355
 
356
	var browseHistoryWidgetContainer = $("#browsehistory");
357
 
358
	if($(browseHistoryWidgetContainer).length == 0) {
2921 vikas 359
		return;
360
	}
3057 vikas 361
	var histitems = $.Storage.get("histitems");
362
	if (histitems == "[]") {
4276 varun.gupt 363
		$(browseHistoryWidgetContainer).find(".common-widget-content-area").html("");
364
		$(browseHistoryWidgetContainer).children('.common-widget-top-bar').trigger('click');
3057 vikas 365
		return;
366
	}
367
	var params = "/" + histitems;
1614 rajveer 368
 
1372 vikas 369
	jQuery.ajax({
370
		type: "GET",
1614 rajveer 371
		url: "/browse-history" + params,
3034 vikas 372
		cache: true,
1372 vikas 373
		success: function(html){
1761 vikas 374
		    $("#browsehistory").html(html);
1372 vikas 375
 
1761 vikas 376
		    // Product Title
377
		    $("#browsehistory table td div a").each(function(){
378
			    $(this).truncate({addtitle: true}); 
379
		    });
1372 vikas 380
 
1761 vikas 381
    		// Product Price
382
	    	$("#browsehistory table td div div.price").each(function(){
383
		    	$(this).truncate({addtitle: true});
384
		    });
1372 vikas 385
 
1761 vikas 386
		    // Product Details
387
		    $("#browsehistory table td div div.text").each(function(){
388
			    $(this).truncate({addtitle: true});
389
		    });
390
	    }
391
	});
392
}
393
 
394
function add_to_storage_set(key, id) {
395
	var set = eval($.Storage.get(key));
396
	if (set) {
397
		$.each(set, function(index, value) {
398
			if (value == id) {
399
				set.splice(index, 1);
400
			}
1372 vikas 401
		});
402
	}
1761 vikas 403
	set.unshift(id);
1964 vikas 404
	if (set.length>10)
405
	{
406
		set.splice(10, set.length-10);
407
	}
1761 vikas 408
	$.Storage.set(key, "[" + set.toString() + "]");
1372 vikas 409
}
410
 
1761 vikas 411
function delete_from_storage_set(key, id) {
412
	var set = eval($.Storage.get(key));
413
	if (set) {
414
		$.each(set, function(index, value) {
415
			if (value == id) {
416
				set.splice(index, 1);
417
			}
418
		});
419
	}
420
	$.Storage.set(key, "[" + set.toString() + "]");
1866 vikas 421
}
422
 
1868 vikas 423
function add_track_log(event, url, data) {
1999 vikas 424
	if ($.cookie("uafc")) {
1866 vikas 425
		jQuery.ajax( {
1919 rajveer 426
			url : "/tracking",
1866 vikas 427
			type : "POST",
428
			data : {
1868 vikas 429
				"event" : event,
1866 vikas 430
				"url" : url,
431
				"data" : data
432
			},
433
			cache : false
434
		});
435
	}
3037 rajveer 436
}
437
 
438
function load_accessories_widget(){
4210 varun.gupt 439
	var accessoriesContainer = $("#accessories");
440
 
441
	if(accessoriesContainer.length == 0) {
3037 rajveer 442
		return;
443
	}
4210 varun.gupt 444
 
3037 rajveer 445
	jQuery.ajax({
446
		type : "GET",
447
		url : "/related-accessories/" + $("#product_id").val(),
3040 rajveer 448
		cache: true,
3037 rajveer 449
		success : function(html) {
4210 varun.gupt 450
 
451
			if($.trim(html).length > 0)	{
452
	   		    $(accessoriesContainer).html(html);
453
 
454
	   		    var accessoryInfoContainer = $(accessoriesContainer).find("table td div");
455
			    // Product Title
456
			    $(accessoryInfoContainer).children("a").each(function() {
457
			    	$(this).truncate({addtitle : true});
458
			    });
3037 rajveer 459
 
4210 varun.gupt 460
			    // Product Price
461
			    $(accessoryInfoContainer).children("div.price").each(function() {
462
			    	$(this).truncate({addtitle : true});
463
				});
3037 rajveer 464
 
4210 varun.gupt 465
			    // Product Details
466
			    $(accessoryInfoContainer).children("div.text").each(function() {
467
			    	$(this).truncate( {addtitle : true});
468
				});
469
			} else	{
470
				$(accessoriesContainer).hide();
471
			}
3037 rajveer 472
	    }
473
	});
4210 varun.gupt 474
}