Subversion Repositories SmartDukaan

Rev

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