/***********************************************
* Accordion Content script- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
* This notice must stay intact for legal use
***********************************************/
ddaccordion.init({
	headerclass: "expandable", //Shared CSS class name of headers group that are expandable
	contentclass: "categoryitems", //Shared CSS class name of contents group
	revealtype: "mouseover", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
	mouseoverdelay: 75, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
	collapseprev: true, //Collapse previous content (so only one open at any time)? true/false 
	defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content
	onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
	animatedefault: false, //Should contents open by default be animated into view?
	persiststate: false, //persist state of opened contents within browser session?
	toggleclass: ["", "openheader"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
	togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
	animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
	oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
		//do nothing
	},
	onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
		//do nothing
	}
})
/***********************************************/

/**
 * 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;
}

/**
 * Récupère le div parent pour tester s'il est affiché
 */

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) {
	
	var couleur = "#AAC425";
	
	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 solid "+ couleur;			
				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 solid "+ couleur;

			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 solid "+couleur;
			alert("L'adresse email saisie n'est pas valide.");
			return false;
		}
	}
	return true;
}

/**
 * 
 * @param img
 * @return
 */
function refreshImg(img) {	
	var date=new Date();
	var time = date.getTime();
	img.src="inclusions/image_controle.php?"+time;
}