Subversion Repositories SmartDukaan

Rev

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