Subversion Repositories SmartDukaan

Rev

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