/*************************************************************************
*	checkForm is used to check the fields from a formular. It just
*	controls if the required once are empty or not.
*
*	str_formName = name of the formular
*	str_RequiredFieldsChar = char that means the field is required
*	str_WarningMessage = msg that displays an error message
*	str_CSS = CSS name of the error fields
*	bln_AskConfirmation = asking confirmation when formular is ok ?
*	str_Confirmation = msg asking for confirmation
*************************************************************************/
function checkForm(str_formName,str_RequiredFieldsChar,str_WarningMessage,str_CSS,bln_AskConfirmation,str_Confirmation){
	int_NbFields = document.forms[str_formName].elements.length;
	int_NbRequiredFieldsChar = str_RequiredFieldsChar.length;
	bln_Validation = true;
	for(i = 0 ; i < int_NbFields ; i++){
		str_CurrentClassName = document.forms[str_formName].elements[i].className;
		str_FieldName = document.forms[str_formName].elements[i].name;
		
		if(!str_FieldName.indexOf(str_RequiredFieldsChar,0)){
			if(document.forms[str_formName].elements[i].value == ""){
				document.forms[str_formName].elements[i].id = str_CSS;
				bln_Validation = false;
			}else{
				document.forms[str_formName].elements[i].id = null;
				str_name = document.forms[str_formName].elements[i].name;
			}
		}
	}
	if(bln_Validation == true){
		for(i = 0 ; i < int_NbFields ; i++){
			str_FieldName = document.forms[str_formName].elements[i].name;
			if(!str_FieldName.indexOf(str_RequiredFieldsChar,0)){
				str_FieldName = document.forms[str_formName].elements[i].name;
				document.forms[str_formName].elements[i].name = str_FieldName.substr(1);
			}
		}
		if(bln_AskConfirmation == true){
			if(confirm(str_Confirmation)){
				return true;
			}else{
				return false;
			}
		}
	}else{
		alert(str_WarningMessage);
		return false;
	}
			
}
function displayImg(bln_Open,arr_PhotoIt,titleExpo){

	var obj_Mask = document.getElementById("hidder");
	var obj_ImgWrap = document.getElementById("imgWrapExpo");
	var obj_CloseTxt = document.getElementById("closeExpo");
	window['titleExpo'] = titleExpo;
	if(arr_PhotoIt != null){
		arr_Photo = arr_PhotoIt;
		current_img = 0;
		nb_img = arr_Photo.length;
		if(nb_img == 1){
			document.getElementById("previousExpoBtn").style.display = "none";
			document.getElementById("nextExpoBtn").style.display = "none";
		}else{
			document.getElementById("previousExpoBtn").style.display = "block";
			document.getElementById("nextExpoBtn").style.display = "block";
		}
	}
	
	if(bln_Open == 1){
		obj_Mask.className = "bodyHidder";
		obj_ImgWrap.style.display = "block";
		obj_CloseTxt.style.display = "block";
		
		// affiche l'image
		document.getElementById("wrapImg").innerHTML = "<img id='mainImg' src='"+arr_Photo[0]+"' />";
		document.getElementById("counter").innerHTML = '<a>'+(current_img+1)+" / "+nb_img+'</a>';
		document.getElementById("titleExpo").innerHTML = '<a>'+window['titleExpo']+'</a>';
	}else{
		obj_Mask.className = "";
		obj_ImgWrap.style.display = "none";
		obj_CloseTxt.style.display = "none";
	}
}

function changeImg(str_Action){
	if(str_Action == "next"){
		if(current_img == nb_img-1){
			current_img = 0;
		}else{
			current_img += 1;
		}
	}else if(str_Action == "previous"){
		if(current_img == 0){
			current_img = nb_img-1;
		}else{
			current_img -= 1;
		}
	}
	document.getElementById("wrapImg").innerHTML = "<img id='mainImg' src='"+arr_Photo[current_img]+"' />";
	document.getElementById("counter").innerHTML = '<a>'+(current_img+1)+" / "+nb_img+'</a>';
	document.getElementById("titleExpo").innerHTML = '<a>'+window['titleExpo']+'</a>';
}

/*************************************************************************
*	actionConfirm is used to ask for a confirmation.
*
*	str_Msg = msg that ask for confirmation
*	str_Destination = URL to follow if confirmation is OK
*************************************************************************/
function actionConfirm(str_Msg,str_Destination){
	if(confirm(str_Msg)){
		document.location.href = str_Destination;
	}
}

/*************************************************************************
*	checkValidate is used to check the radio button
*************************************************************************/
function checkValidate(Radio_Name,str_FrmName, str_Champs)
{
	Obj1 = document.forms[str_FrmName].elements[str_Champs];
	
	if(Radio_Name.value==1){
		Obj1.disabled=false;
		Obj1.focus();
	}else{
		Obj1.value=null;
		Obj1.disabled=true;
	}
}

function checkFormValue(obj_HTML,int_Type,str_Type){
	/* building the default regular expressions */
	if(int_Type != null || (str_RegExpr != null && int_Type != null)){
		switch(int_Type){
			case 1:
				str_RegExpr = "[a-z]";
			break;
			case 2:
				str_RegExpr = "[0-9]";
			break;
			case 3:
				str_RegExpr = "^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$";
			break;
			default:
				str_RegExpr = null;
			break;
		}
	}else{
		// regular expression coming from the formular
		str_RegExpr = str_Type;
	}
	if(obj_HTML.value){ // if there is a value, check it with the regular expression
		obj_RegExpr = new RegExp(str_RegExpr);
		if(obj_RegExpr.test(obj_HTML.value)){
			obj_HTML.style.backgroundColor = "white";
		}else{
			obj_HTML.style.backgroundColor = "red";
		}
	}
}

function hideAndDisplay(int_IdObjHtml,str_CssParameter){
	obj_HTML = document.getElementById(int_IdObjHtml);
	if(obj_HTML.style.display=="none"){
		obj_HTML.style.display=str_CssParameter;
	}else if(obj_HTML.style.display==str_CssParameter){
		obj_HTML.style.display="none";
	}
}

function todaysDate(int_IdObjHtml){
	var obj_Data = new Date()
	document.getElementsByName(int_IdObjHtml)[0].value = obj_Data.getDate()+'.'+(obj_Data.getMonth()+1)+'.'+obj_Data.getFullYear();
}

function addDays(date_end,date_begin,add_time){
	if(document.getElementsByName(date_begin)[0].value){
		var regSeparationCharDate = new RegExp("[ .-/]+", "g");
		arr_Data = document.getElementsByName(date_begin)[0].value.split(regSeparationCharDate);
		var today = new Date(arr_Data[2],arr_Data[1]-1,arr_Data[0]);
		today.setDate(today.getDate()+add_time);
		document.getElementsByName(date_end)[0].value = today.getDate()+"."+(today.getMonth()+1)+"."+today.getFullYear();
	}else{
		alert('Aucune date de commencement !');	
	}
}

function showPass(int_IdObjHtmlPass,int_IdObjHtmlButton){
	obj_PassField = document.getElementById(int_IdObjHtmlPass);
	obj_Button = document.getElementById(int_IdObjHtmlButton);
	$userNav = getNavigator();
	if($userNav == "IE"){
			if(confirm("Êtes-vous sûr de vouloir afficher le mot de passe en clair ?")){
				alert(obj_PassField.value);
			}
	}else{
		if(obj_PassField.type == "text"){
			obj_PassField.type = "password";
			obj_Button.innerHTML = "Afficher en clair";
		}else if(obj_PassField.type == "password"){
			if(confirm("Êtes-vous sûr de vouloir afficher le mot de passe en clair ?")){
				obj_PassField.type = "text";
				obj_Button.innerHTML = "Cacher";
			}
		}
	}
}

function getNavigator(){
    var strChUserAgent = navigator.userAgent;
    var intSplitStart = strChUserAgent.indexOf("(",0);
    var intSplitEnd = strChUserAgent.indexOf(")",0);
    var strChStart = strChUserAgent.substring(0,intSplitStart);
    var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
    var strChEnd = strChUserAgent.substring(strChEnd);
    if(strChMid.indexOf("MSIE") != -1){
		return "IE";
	}else if(strChEnd.indexOf("Firefox") != -1){
		return "FIREFOX";
	}else if(strChEnd.indexOf("Netscape") != -1){
		return "NETSCAPE";
	}else if(strChStart.indexOf("Opera") != -1){
		return "OPERA";
	}else{
		return "AUTRE";
	}
}

function formatDate(str_Date){
	var obj_Date = new String(str_Date)
	var regDate = new RegExp("^([0-9]{1,2})([- /.]{1})([0-9]{1,2})([- /.]{1})([0-9]{2,4})$","g");
	if(obj_Date.length < 5 || obj_Date.match(regDate) == null){
		alert("Date invalide");
		return false;
	}else{
		var regSeparationCharDate = new RegExp("[ .-/]+", "g");
		arr_Data = str_Date.split(regSeparationCharDate);
		document.forms['gotodate'].elements['date'].value = arr_Data[2]+"-"+arr_Data[1]+"-"+arr_Data[0];
	}
}

function goToPage(str_Location){
	document.location.href = str_Location;
	return(false);
}

function copyValTo(str_FieldName,str_FieldSource){
	arr_Field = str_FieldName.split(";")
	int_NbFields = arr_Field.length;
	for(i = 0 ; i < int_NbFields ; i++){
		document.getElementById(arr_Field[i]).value = document.getElementById(str_FieldSource).value;
	}
}