Subversion Repositories SmartDukaan

Rev

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