jQuery(document).ready( function() {
	
		jQuery(".accountArea #destinationForm .newAddress").hide();
		jQuery("#destinationForm #livraison").bind("click",moreAddress);
		/* check formulaire coordonn�es
		************************************************/
		jQuery("#destinationForm #livraison").bind("click",moreAddress);
		jQuery("#destinationForm input[type=submit]").bind("click",checkDestinationForm);
		
		jQuery("#checkoutValidationForm input#continuer").bind('click',checkCgv);
		
		jQuery("#checkOutLoginForm input#connexion").bind("click",checkLogin);
		jQuery("#checkOutLoginForm a").bind("click",forgotPass);
        
        jQuery("#checkOutLostPwdForm input#continuer").bind("click",checkMail);
		
        delivery();
		bag();
        
});

/* panier
************************************************/
function bag(){
	var myTransformation = {
		selects : function(el){
			var myClean = jQuery(el).parent()[0];
			var myControl = ""
			switch(el.value) {
				case "1":
					var myControl = '<div class="control"><span class="less hidden">-</span><input type="text" disabled  class="quantite" value="'+el.value+'" /><span class="more">+</span></div>';
					break;
				case "2":					
					var myControl = '<div class="control"><span class="less">-</span><input type="text" disabled  class="quantite" value="'+el.value+'" /><span class="more">+</span></div>';
					break;
				case "3" :
					var myControl = '<div class="control"><span class="less">-</span><input type="text" disabled  class="quantite" value="'+el.value+'" /><span class="more hidden">+</span></div>';
					break;
			};
			
			jQuery(myClean).html(myControl);
		},
		deletes : function(el){
			var myClean = jQuery(el).parent()[0];
			jQuery(myClean).html('<img src="/FRONT/KOOPLES/medias/img/global/delete.png" class="delete" alt="Supprimer"/>')
		}
	};
	jQuery("form#basketForm select").each(function(i){
		myTransformation.selects(this);
	});
	jQuery("form input[value=supprimer]").each(function(i){
		myTransformation.deletes(this);
	});
	jQuery(".control .less").bind("click",productLess);
	jQuery(".control .more").bind("click",productMore);
	jQuery(".supprimer img.delete").bind("click",productDelete);
	jQuery("input#recalculer").hide();
	//jQuery("form#basketForm").bind("submit",productUpdate)
};

function updatebag(e,f){
    var prd = jQuery(e).parents("tr").find("input[name=prdcode_product]");
	var myPrd =  jQuery(prd).val();
    var price = jQuery(e).parents("tr").find("input[name=price]");
    var myPrice = jQuery(price).val();
    var totalPrice = jQuery(e).parents("tr").find("td.prix span");
    var qty = jQuery(e).parent().find("input.quantite");
    var myQty = jQuery(qty).val();
    if(f =="less"){
        myQty--;  
    }else{
        myQty++;
    }
    if (myQty >= 1 && myQty <= 3) {
    	$.ajax({
    		type: "POST",
    		url: "/FRONT/KOOPLES/include/calculPanier.php",
    		data: "recalcul=1&quantite_"+myPrd+"="+myQty,
    		success: function(data){
               var myData = eval("("+data+")");
               var updBag = myData.result.nbPanier;
               var updTotal = myData.result.totalPanier;
               var updTva = myData.result.totalTva;
               
               jQuery("#searchForm .serviceArea .lastItem a span").html("("+updBag+")");
               jQuery(qty).val(myQty); 
               var updPrice = myPrice*myQty;
               jQuery(totalPrice).html(updPrice);
               jQuery("table.totaux tr.total td span").html(updTotal);
               jQuery("table.totaux tr.tva td span").html(updTva);
    		}
    	});
    }
}

function productLess(){
	updatebag(this,"less");
	return false;
}
function productMore(){
	updatebag(this,"more");
	return false;
}
function productDelete(){
    
        var prd = jQuery(this).parents("tr").find("input[name=prdcode_product]");
	    var myPrd =  jQuery(prd).val();
        var ligne = jQuery(this).parents("tr")[0];
        var cells = jQuery(this).parents("tr").find("td");
    	$.ajax({
    		type: "POST",
    		url: "/FRONT/KOOPLES/include/calculPanier.php",
    		data: "recalcul=1&supp_"+myPrd+"= 1",
    		success: function(data){
               var myData = eval("("+data+")");
               var updBag = myData.result.nbPanier;
               var updTotal = myData.result.totalPanier;
               var updTva = myData.result.totalTva;
               
               jQuery("#searchForm .serviceArea .lastItem a span").html("("+updBag+")");
               jQuery("table.totaux tr.total td span").html(updTotal);
               jQuery("table.totaux tr.tva td span").html(updTva);
               
               jQuery(ligne).fadeOut(200, function(){
                   jQuery(ligne).remove()
               })
    		}
    	});
               
	return false;
}
/* check formulaire coordonn�es
************************************************/
function moreAddress(){
	if(jQuery("#destinationForm #livraison:checked").length > 0){
		if(jQuery("#destinationForm .more").length == 0 && jQuery("#destinationForm .newAddress").length == 0){
			jQuery("#destinationForm label[for=livraison]").after('<div class="more" style="display:none"></div>')
		};
		if(jQuery("#destinationForm .newAddress").length == 0){
			jQuery("#destinationForm .more").load(this.value+".html .newAddress", function(){
				jQuery("#destinationForm .more").show("blind", { direction: "vertical" }, 200);
			});
			jQuery("#destinationForm .newAddress").addClass("toCheck");
		}else{
			jQuery("#destinationForm .newAddress").show("blind", { direction: "vertical" }, 200);
			jQuery("#destinationForm .newAddress").addClass("toCheck");
		};
	}else if(jQuery("#destinationForm .more").length > 0){
		jQuery("#destinationForm .more").hide("blind", { direction: "vertical" }, 200);
		jQuery("#destinationForm .more").empty();
		jQuery("#destinationForm .newAddress").removeClass("toCheck");
	}else{
		jQuery("#destinationForm .newAddress").hide("blind", { direction: "vertical" }, 200);
		jQuery("#destinationForm .newAddress").removeClass("toCheck");
	};
};

function checkDestinationForm(){
    
    
    jQuery("#E_contentArea p.ok").hide();
    
	var myForm = new Array();
	var myRadios = new Array();
	//var myNonRadios = new Array();
	var myTexts = new Array();
	var myPass = new Array();
	var myErrors = new Array();
	
	var myCheckMethods = {
		
		error : function(el){
			var myLabel = jQuery("form label[for="+el.id+"]")[0];
			jQuery(myLabel).addClass("error");
			var myStar = myLabel.innerHTML.indexOf(" *");
			var myLabel = myLabel.innerHTML.substr(0, myStar);
			myErrors.push("| "+myLabel);
		}
	}
	if(jQuery("form div.toCheck input[type=radio][name=civilite].required:checked").length == 0){
		myErrors.push("| Civilit&eacute;");
		var thisLabel = jQuery("form label.civilite")[0];
		jQuery(thisLabel).addClass("error");
	}else{
		var thisLabel = jQuery("form label.civilite")[0];
		jQuery(thisLabel).removeClass("error");
	};
	if(jQuery("form div.toCheck input[type=radio][name=civilite_addr]").length > 0 && jQuery("form input[type=radio][name=civilite_addr].required:checked").length == 0){
		myErrors.push("| Civilité");
		var thisLabel = jQuery("form label.civilite_addr")[0];
		jQuery(thisLabel).addClass("error");
	}else{
		var thisLabel = jQuery("form label.civilite_addr")[0];
		jQuery(thisLabel).removeClass("error");
	}
	
	jQuery("form div.toCheck input[type=text].required").each(function(i){			/*test text*/
		if(this.value == ""){										/*Champ vide*/
			myCheckMethods.error(this);
		}else if(this.name == "email" || this.name == "email_addr"){								/*Champ email*/
			var regmail = new RegExp(/^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$/);
			if(!this.value.match(regmail)){
				myCheckMethods.error(this);
			}else{
				myTexts.push(this.value);
				var thisLabel = jQuery("form label[for="+this.id+"]")[0];
				jQuery(thisLabel).removeClass("error");
			};
		}else if(this.id == "tel" || this.id == "tel_addr"){								/*Champ tel*/
			var regphone = new RegExp(/^((\(\d{3,4}\)|\d{3,4}-)\d{4,9}(-\d{1,5}|\d{0}))|(\d{4,12})+$/);
			if(!this.value.match(regphone)){
				myCheckMethods.error(this);
			}else{
				myTexts.push(this.value);
				var thisLabel = jQuery("form label[for="+this.id+"]")[0];
				jQuery(thisLabel).removeClass("error");
			};
		}else{														/*Champ Ok*/
			myTexts.push(this.value);
			var thisLabel = jQuery("form label[for="+this.id+"]")[0];
			jQuery(thisLabel).removeClass("error");
		}
	});
	
	jQuery("form div.toCheck input[type=password].required").each(function(i){		/*test password*/
		if(this.value == ""){										/*Champ vide*/
			myCheckMethods.error(this);
		}else if(this.name == "pwd"){								/*Champ password*/
			if(this.value.length > 4 && this.value == jQuery("form #verif").val()){	/*+ de 5 caractères et confirmation idem*/
				myPass.push(this.value);
			}else{
				myCheckMethods.error(this);
				var thisLabel = jQuery("form label[for="+this.id+"]")[0];
				jQuery(thisLabel).removeClass("error");
			};
		}
	});
	
	if(myErrors.length == 0){
		return;
	}else{
		var myErrorText = "Les champs suivants sont incorrects :<br />";
		if(jQuery("#E_contentArea p.error").css('display') == "none"){
			var ct = 0;
		}
		for(i=0;i<myErrors.length; i++){
			myErrorText = myErrorText+" "+myErrors[i];
		};
		myErrorText = myErrorText+".";
		jQuery("#E_contentArea p.error").html(myErrorText);
		if(ct == 0){
			jQuery("#E_contentArea p.error").show("blind",{ direction: "vertical" }, 200);
			ct = 1;
		}
		return false;
	}
};

function checkCgv(){
	if(jQuery("#checkoutValidationForm #cgv:checked").length == 1){
		return;
	}else{
		//if(jQuery("#checkoutValidationForm p.error").length == 0){
			var myErrorText = "Vous devez lire et accepter les Conditions Générales de Vente";
			//jQuery("#checkoutValidationForm img").before('<p class="error"></p>');
			jQuery("#checkoutValidationForm p.error").html(myErrorText);
			jQuery("#checkoutValidationForm p.error").show("blind",{ direction: "vertical" }, 200);
		//};
		return false;
	}
}
function forgotPass(){
	var myForgotenLogin = jQuery(this).attr("href");
	jQuery("#checkOutLoginForm a").unbind("click");
	if(jQuery(".checkoutLogin .forgot").length == 0){
		jQuery(".checkoutLogin .login").before('<div class="forgot" style="display:none;"</div>');
	};
	jQuery(".checkoutLogin .forgot").load(myForgotenLogin+" .lost", function(){
		jQuery(".login").fadeOut(300,function(){
			jQuery(".forgot").fadeIn(300);
			jQuery(".checkoutLogin .forgot p.less a").bind("click",showLogin);
			jQuery("#checkOutLostPwdForm input#continuer").bind("click",checkMail);
			
		});
	});
	return false;
}
function showLogin(){
	jQuery(".checkoutLogin .forgot p.less a").unbind("click");
	jQuery(".forgot").fadeOut(300,function(){
			jQuery(".login").fadeIn(300);
	});
	jQuery("#checkOutLoginForm a").bind("click",forgotPass);
	return false;
}
function checkLogin(){
	if(jQuery("#checkOutLoginForm input#idMail").val() == "" || jQuery("#checkOutLoginForm input#idPwd").val() == ""){
		var myErrorText = "Identifiants incorrects";
		jQuery(".checkoutLogin .login p.error").html(myErrorText);
		jQuery(".checkoutLogin .login p.error").show("blind",{ direction: "vertical" }, 200);
		return false
	}else{
		return;
	};
}
function checkMail(){
	var myEmail = jQuery("#checkOutLostPwdForm input#idMail")[0]
	var regmail = new RegExp(/^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$/);

	if(!myEmail.value.match(regmail)){
		if(jQuery(".checkoutLogin .lost p.error").length == 0){
			var myErrorText = "Adresse email incorrecte";	
            console.log('ERROR');
            jQuery("#checkOutLostPwdForm").before('<p class="error"></p>')
			jQuery(".checkoutLogin .lost p.error").html(myErrorText);
			jQuery(".checkoutLogin .lost p.error").show("blind",{ direction: "vertical" }, 200);
		};
		return false;
	}else{
		/*appel ajax*/
       if (jQuery(".checkoutLogin .lost p.error").length != 0) {
           jQuery(".checkoutLogin .lost p.error").hide();
       }
       
		return true;
	};
}

function delivery(){
    if(jQuery("form#destinationForm div.newAddress").attr("class") == "newAddress"){
        jQuery("form#destinationForm div.newAddress").hide();
    }

}
