Subversion Repositories SmartDukaan

Rev

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