Subversion Repositories SmartDukaan

Rev

Rev 1761 | Rev 1809 | 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
24
		_gaq.push(['_trackEvent', 'Order', 'Add to Cart', catalogid, 2]);
762 rajveer 25
 
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
 
81
 
762 rajveer 82
function selectColor(){
83
	var bValid = true;
84
	var selected = $(".colorSelLightBoxColor .content input[name='radColorSel']:checked");
85
	var itemid = selected.val();
86
 
1795 varun.gupt 87
	//Tracking this click for Google Analytics
88
	_gaq.push(['_trackEvent', 'Order', 'Select Product Color', itemid, 2]);
89
 
90
	if(itemid == undefined)	{
762 rajveer 91
		alert('Please select a color.');
1795 varun.gupt 92
	} else	{
762 rajveer 93
		addToCart(itemid,'list');
94
		$.colorbox.close();
95
	}
96
}
97
 
637 rajveer 98
function onSelectChange(itemid){
879 rajveer 99
	//alert("selected color is"+itemid);
637 rajveer 100
}
101
 
102
 
538 rajveer 103
function addResearch(refdivid,reqtype){
104
     var research_tot=$("#research_total").val();
1761 vikas 105
     var seldata=[];
538 rajveer 106
     var tot=0;
107
 
108
     if(reqtype=="multi"){
109
          var containerdiv = "#" + refdivid;     
110
          var par= containerdiv + " input[type=checkbox]:checked";
111
          $(par).each(function(){
1761 vikas 112
               seldata.unshift($(this).val());
637 rajveer 113
               tot++;
538 rajveer 114
          });
115
     }else if(reqtype=="single"){
1761 vikas 116
    	  seldata.unshift($("#product_id").val());
538 rajveer 117
          var tot=1;
118
     }else if(reqtype=="list"){
1761 vikas 119
    	  seldata.unshift(refdivid);
538 rajveer 120
          var tot=1;
121
     }
1795 varun.gupt 122
 
123
 	//Tracking this click for Google Analytics
124
 	_gaq.push(['_trackEvent', 'Research', 'Add to Research', seldata, 2]);
125
 
126
     if(tot > 0)	{
879 rajveer 127
          //alert("AJAX request to add products in My research. Product ID: "+seldata+" and total: "+tot);
538 rajveer 128
          jQuery.ajax({
129
               type: "POST",
1614 rajveer 130
                      url: "/addtoresearch",
1761 vikas 131
                      data: "productid=["+seldata+"]",
1047 vikas 132
                      success: function(msg){
133
 
134
                           if(msg == 0){
135
                                alert( "Product is already in my research" );
136
                           }else {
137
                                var t=(research_tot*1)+(tot*1);
538 rajveer 138
                                $("#research_total").val(t);
139
                                if(t > 0){
140
                                     $("#research_default").css("display","none");
141
                                }     
142
                                $("#pane1").prepend(msg);
1053 vikas 143
                                // $('#pane1').jScrollPane({showArrows:true, scrollbarWidth: 15, arrowSize: 16});
538 rajveer 144
 
145
                                if(reqtype == "multi"){
1761 vikas 146
                                     jQuery.each(seldata,function(intIndex, objValue){
147
                                    	  add_to_storage_set("resitems", objValue);
148
                                    	  var tblid="#pane1 #"+objValue+ " td";
1242 vikas 149
                                          $(tblid + " div a").truncate({addtitle: true});
150
                                          $(tblid + " div div.price").truncate({addtitle: true});
151
                                          $(tblid + " div div.text").truncate({addtitle: true});
538 rajveer 152
                                          $(tblid).animate({ backgroundColor: "#fcffb3" }, 'slow');
1242 vikas 153
                                          $(tblid).animate({ backgroundColor: "#F5F5F5" }, 'slow');
538 rajveer 154
                                     });
155
 
156
                                }else if(reqtype == "single"){
1761 vikas 157
                                	 add_to_storage_set("resitems", seldata);
538 rajveer 158
                                     var tblid="#pane1 #"+seldata+ " td";
1242 vikas 159
                                     $(tblid + " div a").truncate({addtitle: true});
160
                                     $(tblid + " div div.price").truncate({addtitle: true});
161
                                     $(tblid + " div div.text").truncate({addtitle: true});
538 rajveer 162
                                     $(tblid).animate({ backgroundColor: "#fcffb3" }, 'slow');
163
                                     $(tblid).animate({ backgroundColor: "#F5F5F5" }, 'slow');  
164
                                }else if(reqtype == "list"){
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
	           if(totalcolors != 1){
197
	        	   isMulti = true; 
198
	       	   }
199
	           saprt = (tot>0)? "_":"";
200
               seldata += saprt+$(this).attr('itemid');
201
               tot++;
538 rajveer 202
          });
879 rajveer 203
          //alert("ismulti" + isMulti + " seldata " + seldata + "   refdiv is "+ refdivid + "  par "+ par);
637 rajveer 204
          if(isMulti == true){
205
        	  alert("Some items are available in multiple colors. Please go to product page and select color you want.");
206
        	  return;
207
          }
538 rajveer 208
     }else if(reqtype == "single"){
209
          seldata = $("#item_id").val();
210
          tot=1;
211
     }else if(reqtype == "list"){
637 rajveer 212
    	  var seldata=refdivid;
538 rajveer 213
          var tot=1;
214
     }
1614 rajveer 215
     /*
216
     var historyitems = "";
217
     if($.Storage.get("historyitems")){
218
    	 historyitems = "&historyitems=" +  $.Storage.get("historyitems");
219
    	 $.Storage.remove("historyitems");
220
     }
221
     +historyitems
222
     */
538 rajveer 223
 
224
     if(tot>0){
879 rajveer 225
          //alert("AJAX request to add products in Cart. Product ID: "+seldata+" and total: "+tot); 
538 rajveer 226
          jQuery.ajax({
227
               type: "POST",
1614 rajveer 228
                      url: "/addtocart",
538 rajveer 229
                      data: "productid="+seldata,
230
                      success: function(msg){
231
                           $("#cartItemCount").html(msg*1);
1410 rajveer 232
                           window.location="/cart";
879 rajveer 233
                           //alert( "Data Saved: " + msg );
538 rajveer 234
                      }
235
          });
236
     }else{
237
          alert("Please select atleast one product");
238
     }
239
 
637 rajveer 240
}
241
 
242
function selectProduct(itemId){
879 rajveer 243
	//alert("Selected item is "+ itemId);
1047 vikas 244
}
245
 
246
function scrollWinToTop(){
247
    $('html, body').animate({
248
      scrollTop: $("body").offset().top
249
    }, 0);
250
}
251
 
252
function resetShipForm(){
253
  $('#shipName').val("");
254
  $('#shipAddress1').val("");
255
  $('#shipAddress2').val("");
256
  $('#shipState').val("");
257
  $('#shipCity').val("");
258
  $('#shipPin').val("");
259
  $('#shipPhone').val("");
260
	$('#newShipAdr').hide();
261
	scrollWinToTop();
262
}
263
 
264
function changeShipAddress(id){
265
  addressId = id.substring(20);
266
 //alert("TODO AJAX request to change shipping address. " + addressId);
267
   jQuery.ajax({
268
      type: "POST",
269
      url: "./shipping",
270
      data: "action=change&addressid="+addressId,
271
      success: function(msg){
272
         //alert( "Data Saved: " + msg );
273
         $("#addressid").val(msg);
274
      }
275
   });
276
  //$("#addressid").val(addressId);
277
  document.getElementById('shipAddressContainer').innerHTML = document.getElementById(id).innerHTML;
278
	$(".proceed-bttn .yellow-image").removeClass('imgDisableButton').addClass('imgEnableButton');
279
	$(".proceed-bttn input[disabled='']").removeAttr('disabled');
280
 
281
  //document.getElementById('newShipAdr').style.display = 'none';
282
  $('#newShipAdr').hide();
283
	scrollWinToTop();
284
 
285
}
1053 vikas 286
 
1761 vikas 287
function merge_history_items(){
288
	params = $.Storage.get("histitems");
289
 
290
	jQuery.ajax({
291
		type: "POST",
292
		url: "/browse-history",
293
		data: "id="+params,
294
		cache: false,
295
		success: function(json) {
296
		    $.Storage.set("histitems", json);
297
		    load_history_widget();
298
	    }
299
	});
300
}
301
 
302
function load_research_items(){
303
	jQuery.ajax({
304
		type: "GET",
305
		url: "/myresearch",
306
		cache: false,
307
		success: function(json) {
308
		    $.Storage.set("resitems", json);
309
		    load_research_widget();
310
	    }
311
	});
312
}
313
 
1372 vikas 314
function load_research_widget(){
1761 vikas 315
	var params = "";
316
	params = "/" + $.Storage.get("resitems");
317
 
318
	jQuery.ajax({
1372 vikas 319
		type : "GET",
1761 vikas 320
		url : "/myresearch" + params,
1567 vikas 321
		cache: false,
1372 vikas 322
		success : function(html) {
1761 vikas 323
   		    $("#myresearch").html(html);
1372 vikas 324
 
1761 vikas 325
		    // Product Title
326
		    $("#myresearch table td div a").each(function() {
327
					$(this).truncate({addtitle : true});
328
		    });
1372 vikas 329
 
1761 vikas 330
		    // Product Price
331
		    $("#myresearch table td div div.price").each(function() {
332
					$(this).truncate({addtitle : true});
333
			});
1372 vikas 334
 
1761 vikas 335
		    // Product Details
336
		    $("#myresearch table td div div.text").each(function() {
337
					$(this).truncate( {addtitle : true});
338
			});
339
	    }
1372 vikas 340
	});
341
}
342
 
1623 rajveer 343
function load_history_widget() {
1614 rajveer 344
	var params = "";
1761 vikas 345
	params = "/" + $.Storage.get("histitems");
1614 rajveer 346
 
1372 vikas 347
	jQuery.ajax({
348
		type: "GET",
1614 rajveer 349
		url: "/browse-history" + params,
1567 vikas 350
		cache: false,
1372 vikas 351
		success: function(html){
1761 vikas 352
		    $("#browsehistory").html(html);
1372 vikas 353
 
1761 vikas 354
		    // Product Title
355
		    $("#browsehistory table td div a").each(function(){
356
			    $(this).truncate({addtitle: true}); 
357
		    });
1372 vikas 358
 
1761 vikas 359
    		// Product Price
360
	    	$("#browsehistory table td div div.price").each(function(){
361
		    	$(this).truncate({addtitle: true});
362
		    });
1372 vikas 363
 
1761 vikas 364
		    // Product Details
365
		    $("#browsehistory table td div div.text").each(function(){
366
			    $(this).truncate({addtitle: true});
367
		    });
368
	    }
369
	});
370
}
371
 
372
function add_to_storage_set(key, id) {
373
	var set = eval($.Storage.get(key));
374
	if (set) {
375
		$.each(set, function(index, value) {
376
			if (value == id) {
377
				set.splice(index, 1);
378
			}
1372 vikas 379
		});
380
	}
1761 vikas 381
	set.unshift(id);
382
	$.Storage.set(key, "[" + set.toString() + "]");
1372 vikas 383
}
384
 
1761 vikas 385
function delete_from_storage_set(key, id) {
386
	var set = eval($.Storage.get(key));
387
	if (set) {
388
		$.each(set, function(index, value) {
389
			if (value == id) {
390
				set.splice(index, 1);
391
			}
392
		});
393
	}
394
	$.Storage.set(key, "[" + set.toString() + "]");
395
}