Subversion Repositories SmartDukaan

Rev

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

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