Subversion Repositories SmartDukaan

Rev

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