/***
	Scripts permettant d'effectuer des contrôles JavaScript sur les champs d'un formulaire

	Permet d'afficher un symbole "correct" ou "incorrect" derrière le champ, en temps réel
	Ainsi qu'un message d'erreur si nécessaire
***/

function setSuccess( span ){
	a = document.getElementById(span);
	a.className='succesInput';
	a.innerHTML = "";
}
function setError( span, message ){
  a = document.getElementById(span);
  a.className = 'erreurInput';
  a.innerHTML = "<span class='erreurMessage'>" + message + "</span>";
}

/**
*/
function checkMail( champ, status ){
  res = document.getElementById(status);
  if ( isMail(champ.value))
  	res.className="succesInput";
  else
    res.className="erreurInput";
  res.innerHTML = "&nbsp;";
}
function isMail( email ){
	var filter=/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(filter.test(email))
		return true;
	else
		return false;
}

/**
*/
function checkTime( hour, minutes, status ){
  if ( isTime(hour.value, minutes.value))
	setSuccess(status);
  else	
    setError(status, "Cette heure n'est pas valide");
}
function isTime( hour, minutes ){
  	if ( isInt(hour) && isInt(minutes)){
	  	if ( hour >= 0 && hour < 24){
	  		if ( minutes >= 0 && minutes < 60 ){
	  	 		return true; 
	  	 	}
		}
	}
	return false;
}

/**
*/
function checkNotNull( string, status ){
  if ( isNotNull(string.value))
	setSuccess(status);
  else
	setError(status,"Ce champ ne doit pas être vide");
}
function isNotNull( string ){
	if ( string == "" )
  		return false;
	else 
		return true;
}

/**
*/
function checkNum( num, status ){}
function isNum( num ){}

/**
*/
function checkAlpha( alpha, status ){}
function isAlpha( string ){}

/**
*/
function checkInt( intValue, status){
	if ( isInt(intValue.value))
		setSuccess(status);
	else
  		setError(status, "Cette valeur n'est pas correcte");
}
function isInt(intValue){
	var myMod = intValue % 1;
	if (myMod == 0) 
		return true;
	else
		return false;
}

function changeQuantity( field ){

  	if ( ! isInt(field.value ))
  		field.value = "";
  	else{
  	  	/* Total du produit */
  	  	var produit_id = field.name.split("[")[1].split("]")[0];
  	  	var prix = document.getElementById("prix_produit" + produit_id).innerHTML.split(" ")[0];
		//document.getElementById("total_produit" + produit_id ).innerHTML = field.value * prix + " &euro;";
		document.getElementById("total_produit" + produit_id ).value = field.value * prix;// + " &euro;";
		/* Total de la commande */
		var total = 0;
		for ( i = 0; i < produits_id.length; i++ ){
			//var pc = document.getElementById("total_produit" + produits_id[i] ).innerHTML.split(" ")[0];
			var pc = document.getElementById("total_produit" + produits_id[i] ).value;
			if ( pc != "" ){
				if ( isInt(pc))
					total += parseInt(pc);
			}
		}
		//total += 2; // frais de port
		document.getElementById("montant_total").innerHTML = total + " &euro;";
	}	
}

function submitOrder(){
  	var ok = 0;
  	for ( i = 0; i < produits_id.length; i++ ){
		var pc = document.getElementById("quantite["+produits_id[i]+"]" );
		if ( pc != null ){
			pc = pc.value;
		
			if ( isInt(pc)){
				if ( parseInt(pc) > 0 )
					ok = 1;
			}
		}
	}
	if (ok==1)
		document.forms['order'].submit();

}

/**
*/
function checkCodePostal( cp, status ){
  if ( isCodePostal(cp.value))
		setSuccess(status);
	else
  		setError(status, "Le code postal n'est pas valide");
}
function isCodePostal( cp ){
	if ( cp.length == 5 && isInt(cp))
		return true;
	return false;
}