function ChargePage(what) {
	$("Page").innerHTML='<p style="color:white;background-color:red;">Chargement en cours...</p>';
 new Ajax.Updater("Page", "ajax.php",{parameters: { page: what }, evalScripts: true});
}

// Identique à ChargePage mais avec un paramétre en plus
function ChargePage2(what, todo) {
	$("Page").innerHTML='<p style="color:white;background-color:red;">Chargement en cours...</p>';
 new Ajax.Updater("Page", "ajax.php",{parameters: { page:what, action:todo }, evalScripts: true});
}

function ChargePage3(what, formString) {
	$("Page").innerHTML='<p style="color:white;background-color:red;">Chargement en cours...</p>';
 new Ajax.Updater("Page", "ajax.php",{parameters: { page:what, formulaire:formString }, evalScripts: true});
}

function ChargeElement(element_id,what) {
	$(element_id).innerHTML='<p style="color:white;background-color:red;">Chargement en cours...</p>';
 //On parse what pour savoir si il y aplusieurs paramètres à passer
 var parametres=what.split('&');
 var ajaxRequest='{';
 for (i=0;i<parametres.length;i++) {
	var parametres2=parametres[i].split('=');
	if (ajaxRequest.length!=1) {ajaxRequest+=',';}
	ajaxRequest+=parametres2[0]+':"'+parametres2[1]+'"';
 }
	ajaxRequest='new Ajax.Updater(element_id, "ajax.php",{parameters: '+ajaxRequest+'}, evalScripts: true});';
	

	eval(ajaxRequest);
}

function menuDynamique() {
	$('menuCat').onclick=function (){
		$('menuCat').onmouseout=function (){$('SsmenuCat').style.visibility='visible';}
		$('SsmenuCat').style.visibility='visible';
	}
	$('menuCat').onmouseout=function (){$('SsmenuCat').style.visibility='hidden';}
	$('SsmenuCat').onmouseout=function (){$('SsmenuCat').style.visibility='hidden';}
	$('menuCat').onmouseover=function (){$('SsmenuCat').style.visibility='visible';}
	$('menuCat').onmouseover=function (){$('SsmenuCat').style.visibility='visible';}
}

function Afficher() {
	if ($('other_address_div').visible()) {
		$('other_address_div').hide();
	} else {
		$('other_address_div').show();
	}
}

function affPageAJax(where,div,formString, useLoadDiv) {

	if (useLoadDiv && $('load')) {
		$('load').show();
	}
	
	new Ajax.Request("/ajax.php", { parameters: { page: where, formulaire:formString }, 
		evalScripts: true,
		onSuccess: function(transport) {
			if (transport.responseText != '	') {
				$(div).innerHTML = transport.responseText;
			}
			if ($('load')) $('load').hide();
		}
	});
}

function disable_element(id){
	document.getElementById(id).disabled = true;
}

function enable_element(id){
	document.getElementById(id).disabled = false;
}

function com_verifcheckboxsearch(){
	var good = false;
	if (document.getElementById('company_name') 	&& document.getElementById('company_name').checked 		=== true){
		good = true;
	}
	if (document.getElementById('lastname_contact') && document.getElementById('lastname_contact').checked 	=== true){
		good = true;
	}
	if (document.getElementById('call_contact') 	&& document.getElementById('call_contact').checked 		=== true){
		good = true;
	}
	if (document.getElementById('email_contact') 	&& document.getElementById('email_contact').checked 	=== true){
		good = true;
	}
	if (document.getElementById('id_client') 	&& document.getElementById('id_client').checked 	=== true){
		good = true;
	}
	if (document.getElementById('id_credit') 	&& document.getElementById('id_credit').checked 	=== true){
		good = true;
	}
	if (document.getElementById('id_project') 	&& document.getElementById('id_project').checked 	=== true){
		good = true;
	}
	
	if (good === true){
		document.getElementById('input_search_simple').disabled = false;
		document.getElementById('simple_search_button').disabled = false;
		document.getElementById('simple_search_button1').disabled = false;
		document.getElementById('all_my_clients_button').disabled = true;
	}
	else {
		document.getElementById('input_search_simple').disabled = true;
		document.getElementById('simple_search_button').disabled = true;
		document.getElementById('simple_search_button1').disabled = true;
		document.getElementById('all_my_clients_button').disabled = false;
	}
	
	return good;
}

function display_div(id){
	var objet = document.getElementById(id); // entre les deux ' tu mes le nom du div que tu veux faire apparaître !
	objet.style.display = "block";
}

// Fonction qui change le sous menu dans Admin->Gestion->Projets->Valider
function ChangeSubMenu(Project_State, id_div) {
	if(Project_State == 1) document.getElementById(id_div).style.background = 'white';
	if(Project_State == 2) document.getElementById(id_div).style.background = 'cyan';
	if(Project_State == 3) document.getElementById(id_div).style.background = 'red';
	
}

// Fonction qui change le sous menu note dans Admin->Gestion->Notes->Correspondre
function ChangeSubMenu_note(Project_State, id_div) {
	
	if(Project_State == 'null') document.getElementById(id_div).style.background = 'pink';	// En attente de note
	if(Project_State == '0') document.getElementById(id_div).style.background = 'orange';	// Sans note
	if(Project_State == 'x') document.getElementById(id_div).style.background = 'cyan';		// Avec note
	
}

function GoAnchor (sAnchorName) { 
	document.location = '#' + sAnchorName;
}

function notdisplay_div(id){
	document.getElementById(id).style.display = 'none';
}

function SubmitForm(form, where, div, likehtml) {
	//console.log('Appel de la fonction SubmitForm');
    if (!div) { div = 'Page'; } 
	if(likehtml) var formString = returnParamFormLikeHTML(form);
	else var formString = returnParamForm(form);
	
	//$(div).innerHTML='<p style="color:white;background-color:red;">Chargement en cours...</p>';
	/*Si upload de fichiers avec le formulaire....*/
	if (typeof( window[ 'fileList' ] ) != "undefined" && fileList != null) {
		if ($('Secret')==null) {alert('Merci de bien v�rifier la pr�sence d\'un div "Secret" , afin d\'utiliser cette fonctionnalit�e !');}
		new Ajax.Updater("Secret", "/ajax.php", {parameters: { page: where, formulaire:formString }, evalScripts: true, onComplete : function(transport){
					if (fileList != null) {
					supUrl='';
					if ($('class_id')!=null) {supUrl += '&class_id='+$F('class_id');}
					if ($('subclass_id')!=null) {supUrl += '&subclass_id='+$F('subclass_id');}
					urlUpLoAd = "/ajax.php?page="+where+supUrl;
					//console.log("urlUpload : "+urlUpLoAd);
					for(var i in fileList) {
						uploader.upload(i, urlUpLoAd);//La variable urlUpLoAd se trouve dans le tpl appelé.
					}
					}	
			//console.log("L'image a été chargé !");
			fileList = null;
			//On envoi ensuite le formulaire reçu dans Secret !, mais cette fois-ci pour le div de départ...
			new Ajax.Updater(div, urlUpLoAd, {evalScripts: true});
			//console.log("Div initial rechargé !");
		}});
		
		//new Ajax.Updater(div, "ajax.php",{parameters: { page: where, formulaire:formString }, evalScripts: true});
		
	} else {
		//console.log('Pas de Fichier en attente de transfert détécté !');
		new Ajax.Updater(div, "/ajax.php", {parameters: { page: where, formulaire:formString }, evalScripts: true,
		onSuccess:function(transport){
			$(div).show();
			}
		});
	}

}

function returnParamForm(form) {
	var formString='';
	for (var i=0;i<form.length;i++) {
		if (form.elements[i].disabled === false) {
			if (form.elements[i].type=='checkbox' || form.elements[i].type=='radio') {
				if (form.elements[i].checked === true) {
					var name = str_replace('#','' , form.elements[i].name); 
					name = str_replace('|','' , name); 	
					var value = str_replace('#',' ', form.elements[i].value); 
					value = str_replace('|','' , value); 
					if(formString != '') formString += '#';
					formString += name+'|'+value;
				}
			}
			else if (form.elements[i].options && form.elements[i].options[form.elements[i].options.selectedIndex].value){

				var name = str_replace('#','' , form.elements[i].name); 
				name = str_replace('|','' , name); 	
				var value = str_replace('#',' ' , form.elements[i].options[form.elements[i].options.selectedIndex].value); 
				value = str_replace('|','' , value); 
				if(formString != '') formString += '#';
				formString += name+'|'+value;
			}
			else {
				if (form.elements[i].name != null && form.elements[i].name != undefined && form.elements[i].value != '' && form.elements[i].value != 'Séléctionner') {			
					var name = str_replace('#','' , form.elements[i].name); 
					name = str_replace('|','' , name); 	
					var value = str_replace('|','' , form.elements[i].value); 
					value = str_replace('#',' ' , value); 
					if(formString != '') formString += '#';
					formString += name+'|'+value;
				}	
			}
		}
	}
	return formString;
}


function returnParamFormLikeHTML(form) {
	var formString='';
	for (var i=0;i<form.length;i++) {
		if ((form.elements[i].type=='checkbox' || form.elements[i].type=='radio')) {
			if (form.elements[i].checked === true) {
		
				name = str_replace('#','' , form.elements[i].name); 
				name = str_replace('|','' , name); 	
				value = str_replace('#',' ', form.elements[i].value); 
				value = str_replace('|','' , value); 
				if(formString != '') formString += '#';
				formString += name+'|'+value;

			}
		} else if (form.elements[i].name != null && form.elements[i].name != undefined) {
		
			name = str_replace('#','' , form.elements[i].name); 
			name = str_replace('|','' , name); 	
			value = str_replace('#',' ', form.elements[i].value); 
			value = str_replace('|','' , value); 
			if(formString != '') formString += '#';
			formString += name+'|'+value;
		
		}
	}	
	return formString;
}

function addLoadEvent(func)
{
   var oldonload = window.onload;
   if(typeof window.onload != 'function') {
      window.onload = func;
   } else {
      window.onload = function()
      {
         oldonload();
         func();
      }
   }
}

function manageDiv(id) {
	var link = document.getElementById('link_'+id);				//correspond au lien click (petit + ou petit -)
	var div = document.getElementById('contentsItem_'+id);		//correspond au div contenant les departements pour une region
	if (link.innerHTML == '+') {	
		link.innerHTML = '-';
		div.style.display = 'block';
	} else {
		link.innerHTML = '+';
		div.style.display = 'none';
	}
}


// Control en direct le numéro de telephone
function checkphone(object) {
   reg = new RegExp('[^0-9]+', 'g');
   valeur = object.value;
   if(reg.test(valeur)) {
	   object.value = object.value.replace(/[^0-9]+/, '');
   }
   return true;
}




function MultipleManageDiv(id, div) {
	var link = $('link_'+id);				//correspond au lien click (petit + ou petit -)
	var img = $('img_'+id);				//correspond au lien click (petit + ou petit -)
	var div = $('contents'+div+'_'+id);		//correspond au div contenant les departements pour une region
	if (link.title == 'Ouvrir') {	
		link.title = 'Fermer';
		img.src = 'htdocs/templates/imgs/moins.gif';
		div.style.display = 'block';
	} else {
		link.title = 'Ouvrir';
		img.src = 'htdocs/templates/imgs/plus.gif';
		div.style.display = 'none';
	}
}

// Arnaud doit se motiver pour le faire
function testouille(id,div) {
	var link = $('link_'+id);				//correspond au lien click (petit + ou petit -)
	var div = $('contents'+div+'_'+id);		//correspond au div contenant les departements pour une region
	if (div.style.display == 'block') {
		div.style.display = 'none';
	} else { 
		div.style.display = 'block';
	}
}

//on parse tt les departement et si
var iInit = 0;
	
function DisplaySubitemFromItem(iCount, sNameDiv, bInit) {	
	if (bInit == undefined) {	
		if (iInit == 1) return;
		iInit = 1;
	}
	e = 0;
	for (i=1; e<iCount; i++) {
		if ($(sNameDiv+i) != null) {						//on est dans une boucle mais defois les id ne se suive pas 
			$$('#'+sNameDiv+i+' input').each(function(s) {		
				if (s.checked==true && $(sNameDiv+i).style.display == 'none') {
					var link = $('link_'+i);
					var img = $('img_'+i);
					link.title = 'Fermer';
					img.src = 'htdocs/templates/imgs/moins.gif';
					$(sNameDiv+i).style.display = 'block';
				}
			});	
			e++;
		}
	}
}

// utilisé sur le com
function VerifSelectMethod() {
	$('france').style.display		= 'none';
	$('regions').style.display		= 'none';
	$('departements').style.display	= 'none';
	$('post_code').style.display	= 'none';
	$('city').style.display			= 'none';
	$('import').style.display		= 'none';
	$('form_submitt').style.display	= 'block';
	
	if ($('selectMethodFrance').checked==true) {
		$('france').style.display='block';
	}
	if ($('selectMethodRegion').checked==true) {
		$('regions').style.display='block';
	}
	if ($('selectMethodDept').checked==true) {		
		$('departements').style.display='block';
	}	
	if ($('selectMethodCp').checked==true) {		
		$('post_code').style.display='block';
		$('form_submitt').style.display='none';
	}
	if ($('selectMethodCity').checked==true) {		
		$('city').style.display='block';
		$('form_submitt').style.display='none';
	}
		if ($('selectMethodImport').checked==true) {		
		$('import').style.display='block';
		$('form_submitt').style.display='none';
	}
}

function trim(string) {	
	return string.replace(/(^\s*)|(\s*$)/g,''); 
}

function verifemail(email) { // vérif validité email par REGEXP
	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
	return (reg.exec(email)!=null)
}






// Fonction qui limite le nombre de caractere dans un input
// Utilisé sur le com et l'admin
function LimiterNbCara(text, length, div) {
	if(text.value.length>length) text.value=text.value.substr(0,length);
	msg = length-text.value.length+' caractère';
	if(length-text.value.length > 1) msg += 's';
	msg += ' restant';
	if(length-text.value.length > 1) msg += 's';
	if($(div) != null) $(div).innerHTML = msg;
}





// Appel ajax pour afficher la liste des taches dans le div de droite (DateObtenu)
function fiches_taches_all(echeance, display_old, display_new) {
	affPageAJax('taches_all', 'DateObtenu', 'echeance|'+echeance+'#display_old|'+display_old+'#display_new|'+display_new);
}

//Cherche si une echéance existe
function popup_alert(echeance) {
	//ShowWaitMessage("true");
	
	//Si l'objet existe d�j� on abandonne la requ�te et on le supprime
	if(XHR && XHR.readyState != 0)
	{
		XHR.abort();
		delete XHR;
	}

	//Création de l'objet XMLHTTPRequest
	XHR = getXMLHTTP();
	
	//URL du script de sauvegarde auquel on passe la requéte à exécuter
	XHR.open("GET", "ajax.php?page=popup_alert&id=0&echeance="+echeance, true);

	//On se sert de l'événement OnReadyStateChange pour supprimer l'input et le replacer par son contenu
	XHR.onreadystatechange = function() {
		//Si le chargement est terminé
		if (XHR.readyState == 4) {
			//ShowWaitMessage("false");
			if(XHR.responseText && XHR.responseText != '') {
				document.getElementById("popupalert").innerHTML += XHR.responseText;
				initbox();
			}
		}
	}

	//Envoi de la requ?te
	XHR.send(null);
}


//envoi de infos geo (client / admin, update / new ) 
//le but du jeux et denvoyer le bon formulaire en fonction de la methode selectionner 
function SubmitInfosGeo(sType) {
	var formString = returnParamForm($('formInfosGeo'));		//formulaire methode select + client id action ...
	
	if ($('selectMethodRegion').checked==true) {					//form region
		var sParamGeo = returnParamForm(document.forms['formByReg']);	
	}
	if ($('selectMethodDept').checked==true) {					//form dep
		var sParamGeo = returnParamForm(document.forms['formByDept']);
	}
	
	sParam = formString + '#' + sParamGeo;

	if (sType == 'site_client') {								//site client
		affPageAJax('client_infos_geo', 'page', sParam);
	}  else if (sType == 'stats_project2Prev') { 
		affPageAJax('stats_project2', 'Page', sParam + '#action|prev#');
	} else if (sType == 'stats_project2Next') { 
		affPageAJax('stats_project2', 'Page', sParam + '#action|next#');
	} else if (sType == 'inscr_client_pro') {
		affPageAJax('inscr_client_infos_geo', 'page', sParam);
	}
}


//PLIE ou deplis toute les categories (cette fonctiion marchera pas si l'architecture HTML et pas similaire au tpl client_infos_geo 
function ColspanAllClass(sSens) {
	$$('#container_class div').each(function(s) {		
		if (s.id != undefined && s.id != '') {
			if (s.id.substr(0,5) == 'class') {
				var id = s.id.substr(6, s.id.length - 6);
				$('contentsItemClass_' + id).style.display = sSens;
			}
		}
	});		
}

function str_replace(a, b, str) {
    return str_replace2(str, a, b);
}

function str_replace2(SRs, SRt, SRu) {
  /*
  **  Replace a token in a string
  **    s  string to be processed
  **    t  token to be found and removed
  **    u  token to be inserted
  **  returns new String
  */
  SRRi = SRs.indexOf(SRt);
  SRRr = '';
  if (SRRi == -1) return SRs;
  SRRr += SRs.substring(0,SRRi) + SRu;
  if ( SRRi + SRt.length < SRs.length)
    SRRr += str_replace2(SRs.substring(SRRi + SRt.length, SRs.length), SRt, SRu);
  return SRRr;
}

//UTILISER dans le formulaire de sous categorie pour afficher le nombre de catégorie cocher / nombre de cat total
function SetNbSubClassChecked(sDivContainer, sDivNumber) {
	var i = 0;
	$$('#'+sDivContainer+' input').each(function(s) {
		if (s.checked) i++;			//nombre de case cocher 
	});
	if($(sDivNumber)!=null) $(sDivNumber).innerHTML = i + '/' + $$('#'+sDivContainer+' input').length;
}