Subversion Repositories SmartDukaan

Rev

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