/**
 * 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 clear_input(element, value) {
	if(element.value == value) {
		element.value='';
	} else if(element.value=='') {
		element.value = value;
	}
}

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) {
	
	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(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_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('client_tel').value == '' 
			&& document.getElementById('client_mobile').value == '') {
				document.getElementById('client_tel').style.border = "1px red solid";
				document.getElementById('client_mobile').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;
}
/**
 * FIANET 
 */
function submit_form_trois_fois(){
	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_fianet_comptant').submit();
		} else if(document.getElementsByName('mode_paiement')[2].checked) {
			document.getElementById('form_fianet_trois_fois').submit();
		} else if(document.getElementsByName('mode_paiement')[3].checked) {
			document.getElementById('form_cheque').submit();
		} else if(document.getElementsByName('mode_paiement')[4].checked){
			document.getElementById('form_virement').submit();
		} else {
			alert('Veuillez choisir un moyen de paiement.');
		}	
	}
}

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_fianet_comptant').submit();		} else if(document.getElementsByName('mode_paiement')[2].checked) {			document.getElementById('form_cheque').submit();		} else if(document.getElementsByName('mode_paiement')[3].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 popuprnp3x () {
window.open('https://www.kwixo.com/static/payflow/html/popup-3x.htm','KWIXO','width=800, height=600, resizable, scrollbars');
}
