Subversion Repositories SmartDukaan

Rev

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