jQuery(document).ready(function(){
	
	if(jQuery('form[name*=cart]').length == 1){

		// html remove 
		jQuery('.remove').css({display:'block'})
		jQuery('.remove').prev().css({display:'none'});	
		
		// html counter
		/*var cont = jQuery('<div>');
		cont.addClass('adder');
		var ul = jQuery('<ul>');
		var li = jQuery('<li>');
		li.addClass('plus');
		ul.append(li);
		var li = jQuery('<li>');
		li.addClass('minus');
		ul.append(li);		
		cont.append(ul);		
		jQuery('form[name*=cart] .itemnumber').append(cont);
		
		*/
		
		// click events
		jQuery('.remove').click(function(){
			
			jQuery(this).prev().attr("checked", true);
		 	
			var form = jQuery('form[name*=cart]');
			
			var spalte = jQuery(this).parent('td').parent('tr');	
			
			//checkfreeproduct();
			cartupdate(form);
			
			spalte.remove();
			
			
			
			
		});
		
		jQuery(".adder div").click(function(){

			var oper = jQuery(this).attr('class');
			var counter = jQuery(this).parent('li').parent('ul').parent('div').prev();
			var counter_number = parseInt(counter.attr('value'));
			if(oper=="plus"){
				counter_number++;
			}else if(oper=="minus"){
				counter_number--;
				if( parseInt(counter_number)==0){
					return;					
				}
			}
			
			counter.val(counter_number);
			var form = jQuery('form[name*=cart]');
			cartupdate(form);
				
			
		});
		
		}// end if
		
	});
	
	function cartupdate(form){

			//console.log(form);
			var action = protocolfilter(form.attr('action'));
		
			

			jQuery.ajax({
				url : action,
				data : {formvalues:form.serialize() + "&ajax=true&json=true"},
				type : 'POST',
				dataType : 'json',
				success: function(data){
					
					var cart_data = [];
					var cart_tax = [];
					
					for( var i in data.cart_data){
						cart_data.push(data.cart_data[i]);						
					}
					if(typeof(cart_data[0]) === "undefined"){
						jQuery('form[name*=cart]').remove();
						jQuery.get('', {page:'cart', ajax:true},function(data){
							jQuery('#cart').parent().html(data)
						} );
						return;
					}
					
										
					for( var i in data.cart_tax){
						cart_tax.push(data.cart_tax[i]);						
					}
					//console.log(cart_data);
					
					jQuery('#cart .base .final_price').each(function(i){	
						if(typeof(cart_data[i])!=="undefined"){
							jQuery(this).css('display','none').html(cart_data[i].products_final_price.formated).fadeIn();	
						}											
					});
					
					jQuery('.final_price .tax').html(cart_tax[0].tax_value.formated);
					jQuery('.final_price .cart_total').html(data.cart_total);
					jQuery('.final_price .discount').html();
					jQuery('.final_price .cart_total_weight').html(data.cart_total_weight + " KG");
					
				if(typeof(data.couponed)!== "undefined") {	
					
				if (typeof(data.couponed.formated) !== "undefined") {
					var cart_tax = [];					
					for (var i in data.cart_tax) {
						cart_tax.push(data.cart_tax[i]);
					}					
					jQuery('.final_price .couponed').html(data.couponed.formated );
					jQuery('.couponedlabel').html(data.couponed.label);
				}else if(typeof(data.couponed.label)!=='undefined'){
					jQuery('.couponedlabel').html(data.couponed.label);
					jQuery('.couponed').html("<br/>");
				}
				}
					
					
					
				}
				
				
			});

	}
	
	function protocolfilter(url){
		
		// protocol filter
		
	
		var action_protocol = url.match(/http.+?/);
		var action_rest = url.match(/http.+?([0-9A-Za-z\.].*)/);
		
		if(action_protocol[0] !== window.location.protocol){
			url = window.location.protocol + "//" + action_rest[1];
		}
		
		return url;
	}
	
	function https_protocolfilter(url){
		
		var action_rest = url.match(/http.+?([0-9A-Za-z\.].*)/);
		
		
		url = "https://" + action_rest[1];
		
		
		return url;
	}
	
	
	

