var assu_total=new Array(77,154,230,383,764,1145,2287,3301,4001,5001,6801,8301,9901,11001);
var assu_price=new Array(12,16,24,31,48,66,120,180,220,275,380,460,550,650);
var tva=0.196;
var order_page_url="446-commande";

$("document").ready(function(){	
	
	/*
	function updateTotal()
	{
		var total=0;
		$("#panier .prod-quantity").each(function(){
			
			id=$(this).attr("id");
						
			quantity=parseInt($(this).html());			
			id_part=id.split("-");
			price=parseInt($(".panier #prod-"+id_part[1]+"-price").attr('value'));
			
			$(".panier #prod-"+id_part[1]+"-total").html(quantity*price);
			total+=quantity*price;
			
		});
				
		$(".panier #total-price").html(numberFormat(total)+" &euro;");  //deux affectation dans la page commande
		
		
		assu=0;
		for(i=0;i<assu_total.length;i++)
		{
			if(total<assu_total[i])
			{
				assu=assu_price[i];
				break;
			}	
		}
		
		
		total_net=total+assu;
		tva=total_net*0.196;
		
		$(".panier #assurance").html(numberFormat(assu)+" &euro;");
		$(".panier #total-net").html(numberFormat(total_net)+" &euro;");
		$(".panier #tva").html(numberFormat(tva)+" &euro;");
		$(".panier #final-price").html(numberFormat(total_net+tva)+" &euro;");
		
	}
	*/
	
	$.ajaxSetup({ scriptCharset: "utf-8" ,contentType: "application/x-www-form-urlencoded; charset=UTF-8" });
	
	addPlusMinsEvent("");	
	//plus moins	
	function addPlusMinsEvent(parent)
	{
		$(parent+" .prod-pm").click(function(){

			id=$(this).attr("id");
			prod_id=id.split("-")[1];
			
			var quantity=0;
			var plus_mins=$(this);
						
			$(".prod-"+prod_id+"-quantity").each(function(){
				
				quantity=parseInt($(this).html());
			    
				if(plus_mins.hasClass("prod-plus"))
				{
					$(this).html(++quantity);				
				}				
				else if(plus_mins.hasClass("prod-mins") && quantity>1)
				{
					$(this).html(--quantity);			
				}

			});
			
			unit_price=parseFloat($("#prod-"+prod_id+"-up").html());
			if(unit_price>0)
			{
				$(".prod-"+prod_id+"-lp").html(numberFormat(quantity*unit_price));
			}
			
			updateTotal();
			
		});
		
		//delete product
		$(".panier .delete").click(function(){
						
			var id=$(this).attr("id");		
			var prod_id=id.split("-")[1];
			
			args="prod_id="+prod_id+"&remove=1";
			
			$.ajax({
				type: "GET",
				url: "ajax-page/product/panier",
				data: args,
				success: function(msg){			
					$(".prod-"+prod_id+"-line").remove();//addClass("hidden");
					updateTotal();
				}
				});

		});		
		

	}	
	
	function updateTotal()
	{
		var total=0;

		$("#shop-header .panier .line-price").each(function(){
			total+=parseFloat($(this).html().replace(".","").replace(",","."));
		});
		
		assu=0;		
		for(i=0;i<assu_total.length;i++)
		{
			if(total<assu_total[i])
			{
				assu=assu_price[i];
				break;
			}	
		}
		
		if(assu==0)
			assu=assu_price[assu_price.length-1];
			
		total_net=total+assu;
		tva_val=total_net*tva;
		total_ttc=total_net+tva_val;
		
		$(".panier #total-ht #value").html(numberFormat(total));
		$(".panier #total-assu #value").html(numberFormat(assu));
		$(".panier #total-net #value").html(numberFormat(total_net));
		$(".panier #tva #value").html(numberFormat(tva_val));
		$(".panier #total-ttc #value").html(numberFormat(total_ttc));
		
	}
	

	//add product
	$(".prod-submit").click(function(){
		
		id=$(this).attr("id");
		
		var prod_id=id.split("-")[1];		
		var ref=$("#prod-"+prod_id+" .ref .value").html();
		var quantity=parseInt($(".prod-"+prod_id+"-quantity").html());		
		
		args="prod_id="+prod_id+"&prod_quantity="+quantity;
		
		$.ajax({
		type: "GET",
		url: "ajax-page/product/panier",
		data: args,
		success: function(msg){
			msg_part=msg.split("~~~");
			
			if(msg_part[0]==1 && msg_part[1]!="")
			{
				$(".panier #list-table tbody").append(msg_part[1]);
				updateTotal();
				addPlusMinsEvent(".prod-"+prod_id+"-line");	
			}
						
		}
		});
		
		$(this).html("Mettre à jour");
	})
	
	$(".panier #submit").click(function(){
		
		submitPanier(order_page_url);

	});
	
	$("#order #form form").submit(function(){
	
		var args="";
		var pi=0;
		
		$("#shop-header .panier .prod-line").each(function(){
			
			var prod_id=parseInt($(this).children(".ref").children(".prod-id").html());
			var quantity=parseInt($(this).children(".quantity").html());
			
			args+="&prod_"+pi+"_id="+prod_id+"&prod_"+pi+"_quantity="+quantity;
			pi++;

		});
		
		if(pi>0)
		{
			$.ajax({
			type: "GET",
			url: "ajax-page/product/panier",
			data: args,
			success: function(msg){				
			}
			});	
		}	
		
	});
	
	function submitPanier(url)
	{
		var args="";
		var pi=0;
		
		$("#shop-header .panier .prod-line").each(function(){
			
			var prod_id=parseInt($(this).children(".ref").children(".prod-id").html());
			var quantity=parseInt($(this).children(".quantity").html());
			
			args+="&prod_"+pi+"_id="+prod_id+"&prod_"+pi+"_quantity="+quantity;
			pi++;

		});
		
		if(pi>0)
		{
			$.ajax({
			type: "GET",
			url: "ajax-page/product/panier",
			data: args,
			success: function(msg){
				document.location=url;		
			}
			});	
		}	
	}
	
	$("#order #form #conditions").change(function(){
		
		if($(this).attr("checked"))
			$("#order #form #submit").attr("disabled","");
		else
			$("#order #form #submit").attr("disabled","disabled");
		
	});
	
				
});

function numberFormat(number)
{
	sign='';
	if(number<0)
	{
		number=-1*number;
		sign='-';
	}
	
	dec_part=(number%1).toFixed(2);			
	int_part=parseInt(number-number%1);
    	
	if(dec_part==1.0)
	{
		dec_part=0.0;
		int_part+=1;
	}
	
	//int_part
	int_str=int_part.toString();
	len=int_str.length;
	result="";
	
	for(i=len-1, j=0;i>=0;i--,j++)
	{
		d=int_str.charAt(i);
		
		if(j!=0 && j%3==0)
		{
			result="."+result;	
		}
		
		result=d+result;
	}
	
	//dec_part
	
	if(dec_part==0.0)
	{
		dec="00";
	}
	else
	{
		dec_str=dec_part.toString();
		dec_split=dec_str.split(".");	
		dec=dec_split[1];
	}

	return  sign+result+','+dec;
}

