Subversion Repositories SmartDukaan

Rev

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