Subversion Repositories SmartDukaan

Rev

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