/**
 * Script de
 * @param champ
 * @return
 */
function display_adresses(element) {
	if(element.value == 'retrait') {
		/*document.getElementById('adresse_boutique').style.display = 'block';*/
		/*document.getElementById('adresses').style.display = 'none';*/
	} else if(element.value == 'coli') {
		/*document.getElementById('adresse_boutique').style.display = 'none';*/
		document.getElementById('adresses').style.display = 'block';
	} else {
		/*document.getElementById('adresse_boutique').style.display = 'none';*/
		document.getElementById('adresses').style.display = 'none';
	}
}

/**
 * Script de controle si le cp commence par 20
 * @param champ
 * @return
 */
function controle_corse(id)  {
	
	if(document.getElementById(id).value.length <5) {
		alert("Veuillez saisir un code postal valide.");
		return false;
	} else {
		if(document.getElementById(id).value.substr(0,2) == '20') {
			alert("La livraison en Corse n'est possible qu'en Colissimo.");
			return false;
		} else {
			return true;
		}
	}
}

/**
 * Script de controle de champ email
 * @param champ
 * @return
 */
function isMailValide (champ) {
	var str = champ.value;
	var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{2,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");

	if(!regexp.test(str)) {
		return false;
	}
	
	return true;
}

function getParent(child,tag) {
  if(child != null) {
	  var parent = child.parentNode;
	  if(parent != null) {
		  while(parent!=null && parent.tagName != tag ) {
			  parent = parent.parentNode;
		  }
	  }
	  return parent;
  }
  return null;
}

/**
 * Script de controle de formulaire,
 * 
 * tous les champs dont l'id commence par required_ sont obligatoires
 * @return
 */

function controle_form(email, mdp, tel, cgv, confirm_email) {
	
	var retour = true;
	
	/**
	 * Parcours des éléments INPUT de la page
	 */
	var listOfInput = document.getElementsByTagName('INPUT');
	
	var numberOfInput = listOfInput.length;
	for(var i=0;i<numberOfInput;i++){		
		listOfInput[i].style.border = "";
		if(listOfInput[i].id.substr(0,9) == 'required_') {
			var div_parent = getParent(listOfInput[i],'DIV');		
			if(listOfInput[i].value=="" && div_parent != null && div_parent.style.display != 'none') {		
				listOfInput[i].style.border = "1px red solid";			
				retour = false;
			}
		}
	}
	
	/**
	 * Parcours des éléments TEXTAREA de la page
	 */
	listOfInput = document.getElementsByTagName('TEXTAREA');
	
	numberOfInput = listOfInput.length;
	for(var j=0;j<numberOfInput;j++){		
		listOfInput[j].style.border = "";
		
		var div_parent = getParent(listOfInput[j],'DIV');
		if(listOfInput[j].id.substr(0,9) == 'required_' && listOfInput[j].value=="" && div_parent != null && div_parent.style.display != 'none') {
			listOfInput[j].style.border = "1px red solid";

			retour = false;
		}
	}
	
	if(!retour) {
		alert("Veuillez remplir tous les champs requis, SVP.");
		return false;
	}
	
	if(email && email != null) {		
		if(!isMailValide(email)){
			email.style.border = "1px red solid";
			alert("L'adresse email saisie n'est pas valide.");
			return false;
		}
	}
	
	if(confirm_email) {
		if(document.getElementById('required_client_email').value != document.getElementById('required_client_email_confirm').value ) {
			alert("Les adresses emails saisies ne sont pas identiques.");			
			return false;
		}
	}
	
	if(mdp && mdp != null) {
		if(document.getElementById('required_client_mdp').value.length < 4) {
			document.getElementById('required_client_mdp').style.border = "1px red solid";
			document.getElementById('required_client_mdp2').style.border = "1px red solid";
			alert("Les mots de passe doivent au minimum comporter 4 caractères.");
			return false;
		}
		if(document.getElementById('required_client_mdp2')) {
			if(document.getElementById('required_client_mdp').value != document.getElementById('required_client_mdp2').value) {
				document.getElementById('required_client_mdp').style.border = "1px red solid";
				document.getElementById('required_client_mdp2').style.border = "1px red solid";
				alert("Les mots de passe ne correspondent pas.");
				return false;		
			}
		}
		
	}	
	
	if(tel && tel != null) {
		if(document.getElementById(tel[0]).value == '' 
			&& document.getElementById(tel[1]).value == '') {
				document.getElementById(tel[0]).style.border = "1px red solid";
				document.getElementById(tel[1]).style.border = "1px red solid";
				alert("Vous devez renseigner au moins un numéro de téléphone.");
				return false;	
		}
	}
	
	if(cgv && cgv != null) {
		if(!document.getElementById('cgv').checked){
			alert('Vous devez accepter les conditions générales de ventes');
			return false;
		}	
	}
	
	return true;
}


/**
 *
 */
function toggle_display(id_element,show) {
	if(show) {
		$("#"+id_element+":hidden").show("blind",'',500);		
	} else {
		$("#"+id_element+":visible").hide("blind",'',500);
	}
}

/**
 * Force l'utilisateur a accepter les CGV
 * @return
 */
function accepte_cgv(){
	
	if(!document.getElementById('cgv').checked){
		alert('Vous devez accepter les conditions générales de ventes');
		return false;
	}		
	return true;
}

function submit_form(){
	
	if(accepte_cgv()){
		if(document.getElementsByName('mode_paiement')[0].checked) {					
			document.getElementById('form_cb').submit();
		} else if(document.getElementsByName('mode_paiement')[1].checked) {
			document.getElementById('form_cheque').submit();
		} else if(document.getElementsByName('mode_paiement')[2].checked){
			document.getElementById('form_virement').submit();
		} else {
			alert('Veuillez choisir un moyen de paiement.');
		}
		
	}
}

function select_checkbox_children(element,base_element) {
	var listOfChildNodes = element.childNodes;
	
	var numberOfChildNodes = listOfChildNodes.length;
	for(var i=0;i<numberOfChildNodes;i++){

		if(listOfChildNodes[i].tagName == 'INPUT') {
			listOfChildNodes[i].checked = base_element.checked;
		} else {				
			if(listOfChildNodes[i].tagName == 'UL' || listOfChildNodes[i].tagName == 'LI') {
				select_checkbox_children(listOfChildNodes[i],base_element);
			}
		}
	}	
}

function formate_prix(chaine) {
	
	var point = chaine.indexOf(".");
	var entier = "";
	var decimale = "";
	if(point != -1) {
		entier = chaine.substr(0,point);
		decimale = chaine.substr(point+1);
		while(decimale.length <2 ) {
			decimale += "0";
		}	
	} else {
		entier = chaine;
		decimale = "00";
	}
	decimale = decimale.substr(0,2);
	return entier+','+decimale;
}

function display_cgv_modal() {
	$("#cgv_modal").dialog("open");
}

function display_size_guide(chaine) {
	$("#guide_taille_modal").dialog("open");
}
$(document).ready(function() {
	$("#guide_taille_modal").dialog({ 
		autoOpen: false,
		width: 800,
		show: 'clip',
		resizable: false,
		modal:true,
		title: "Guide des tailles :"
	});
});
