//=============================================================================
//				S U I V I  D E S  M O D I F I C A T I O N S 
//============================================================================= 
//040601		JGaudreault
//Chercher	§JG-0601a
//Ajout de l'option de recherche # 4 - sujets d'intérêts
//=============================================================================
//050226		Josée Gaudreault
//Chercher	§JG-0226a
//Retirer la liste des professions en demande de l'option 2 et l'isoler dans une 
//nouvelle option de recherche bien à elle soit l'option 3. Par conséquent, les 
//options 3 et 4 sont renommées 4 et 5.
//=============================================================================

//<script language=javascript>

function InitPage() {
	
	var blnFocus = false;
	var arrURL;
	var objForm;

	ChangeSalaire();
	GererRegionListe();
		//RC-1124 ajouter le code pour activer le bouton approprié
		var intOptChecked;
		
		for (intOptChecked = 0; intOptChecked < document.MAIN_FORM.radopt.length; intOptChecked++) {
			if (document.MAIN_FORM.radopt[intOptChecked].checked) break;
		}
		
		switch (intOptChecked) {
			case 0:
			default:
				//L'option de recherche 1 a été sélectionnée
				if (document.MAIN_FORM.opt1rech[1].checked) {
					document.MAIN_FORM.txtcnp.focus();
					document.MAIN_FORM.btnrechrcnp.disabled = false;
				}
				else {
					document.MAIN_FORM.txtmotcle.focus();
					document.MAIN_FORM.btnrechrmotcle.disabled = false;
				}
				blnFocus = true;
				break;
		
			case 1:
				//L'option de recherche 2 a été sélectionnée
				document.MAIN_FORM.cboregionliste.focus();
				document.MAIN_FORM.btnrechrlisteprof.disabled = false;
				blnFocus = true;
				break;
		
			case 2:
				//L'option de recherche 3 a été sélectionnée		
				//§JG-0226a: Nouvelle option de recherche par liste de professions en demande. 
				document.MAIN_FORM.cboregionlisteprofdemn.focus();
				document.MAIN_FORM.btnrechrlisteprofdemn.disabled = false;
				blnFocus = true;
				break;
						
			case 3:
				//L'option de recherche 4 a été sélectionnée
				//§JG-0226a: L'option de recherche avancée passe de l'option 3 à 4.
				document.MAIN_FORM.cboregion.focus();
				document.MAIN_FORM.btnrechravance.disabled = false;
				blnFocus = true;
				break;

		}
		
}

function ChangeSalaire() {
	
	var element;
	var blnAdd;
	var i;
	var strKey;
	var intSelIndx;
	
	
	//Conserver l'ancienne valeur
		
		if (document.MAIN_FORM.cbosala.selectedIndex >= 0) {
			strOldValue = document.MAIN_FORM.cbosala.options[document.MAIN_FORM.cbosala.selectedIndex].value;
		}
		else {
			strOldValue = "";
		}	

		//Vider Combo Salaire A
		while (document.MAIN_FORM.cbosala.options.length > 0) {
			document.MAIN_FORM.cbosala.options[0] = null;
		}
		//Ajoute l'élément vide
		element = new Option("                    ", "");
		document.MAIN_FORM.cbosala.options[document.MAIN_FORM.cbosala.options.length] = element;	

		intSelIndx = document.MAIN_FORM.cbosalde.selectedIndex;
		if (intSelIndx <= 0) {
			blnAdd = true;
		}
		else {
			strKey = document.MAIN_FORM.cbosalde.options[intSelIndx].value;	
			blnAdd = false;
		}
		for (i=0; i<=arrKeys.length; i++) {
			if (!blnAdd) {
				if (strKey == arrKeys[i]) {
					blnAdd = true;
				}
			}
			else {
				if (arrIndcMax[i] == "1") {
					element = new Option(arrLibl[i], arrKeys[i]);
					document.MAIN_FORM.cbosala.options[document.MAIN_FORM.cbosala.options.length] = element;
				}
			}
		}
	//Si l'ancienne valeur existe toujours on la sélectionne
	SelOldValue(document.MAIN_FORM.cbosala, strOldValue);
}

function ChangeSalaireDe() {
	
	var element;
	var blnAdd;
	var i;
	var strKey;
	
	//Conserver l'ancienne valeur
	
		if (document.MAIN_FORM.cbosalde.selectedIndex >= 0) {
			strOldValue = document.MAIN_FORM.cbosalde.options[document.MAIN_FORM.cbosalde.selectedIndex].value;
		}
		else {
			strOldValue = "";
		}

		//Vider Combo Salaire De
		while (document.MAIN_FORM.cbosalde.options.length > 0) {
			document.MAIN_FORM.cbosalde.options[0] = null;
		}
		//Ajoute l'élément vide
		element = new Option("                    ", "");
		document.MAIN_FORM.cbosalde.options[document.MAIN_FORM.cbosalde.options.length] = element;
		
		blnAdd = true;
		strKey = document.MAIN_FORM.cbosala.options[document.MAIN_FORM.cbosala.selectedIndex].value;
	
		for (i=0; i<=arrKeys.length; i++) {
			if (parseFloat(arrKeys[i]) < parseFloat(strKey) || strKey == "") {
				if (arrIndcMin[i] == "1") {
					element = new Option(arrLibl[i], arrKeys[i]);
					document.MAIN_FORM.cbosalde.options[document.MAIN_FORM.cbosalde.options.length] = element;
				}
			}
		}
	//Si l'ancienne valeur existe toujours on la sélectionne
	SelOldValue(document.MAIN_FORM.cbosalde, strOldValue);
}

function ValiderPage(pstrIdCtrl) {
	
	var blnValid = true;

	switch(pstrIdCtrl) {
			case 'all':
				//RC-1124
				//Un des boutons de recherche a été cliqué (boutons submit).
				//Maintenant on se fie au bouton radio plutôt que la propriété "posted". Cette 
				//dernière contient toujours la valeur "submit" peu importe le bouton utilisé.
				if (document.MAIN_FORM.radopt[0].checked) {
					blnValid = ValiderRechMotCle();
				}
				else if (document.MAIN_FORM.radopt[1].checked == true) {
					blnValid = ValiderRechProf();
				}
				//§JG-0226a: Nouvelle option de recherche par liste de professions en demande. 
				else if (document.MAIN_FORM.radopt[2].checked == true) {
					blnValid = ValiderRechProfDemn();			
				}
				//§JG-0226a: L'option de recherche avancée passe de l'option 3 à 4.
				else if (document.MAIN_FORM.radopt[3].checked == true) {
					blnValid = ValiderRechAvance();			
				}
				break;
				
			case "cbosalde_onchange":
				ChangeSalaire();
				GererSectionActive('V4');
				break;

			case "cbosala_onchange":
				ChangeSalaireDe();
				GererSectionActive('V4');
				break;
			
			case "btnnouvrechr":
				go(URLNOUVRECH);
				/*
				EffacerChamps('all');
				document.MAIN_FORM.txtmotcle.focus();
				document.MAIN_FORM.radopt[0].checked = true;
				*/
				//Annule l'hyperlien
				blnValid = false;
				break;
				
			case "V1":
				GererSectionActive('V1');
				break;
			case "opt1rechmotcle":
			case "txtmotcle":
				GererSectionActive('V1');
				document.MAIN_FORM.opt1rech[0].checked = true;
				document.MAIN_FORM.btnrechrmotcle.disabled = false;
				document.MAIN_FORM.txtcnp.value = "";
				break;
			case "opt1rechcnp":
			case "txtcnp":
				GererSectionActive('V1');
				document.MAIN_FORM.opt1rech[1].checked = true;
				document.MAIN_FORM.btnrechrcnp.disabled = false;
				document.MAIN_FORM.txtmotcle.value = "";
				break;
			
			case "V2":
			case "cbolisteprof":
			case "cboregionliste":
				GererSectionActive('V2');
				break;

			case "V3":
			case "cboregionlisteprofdemn":
				GererSectionActive('V3');
				break;

			case "V4":
			case "cbochampint":
			case "cbocatprof":
			case "cbosalde":
			case "cbosala":
			case "cbonivcomp":
			case "chktresfav":
			case "chkfav":
			case "chkaccpt":
			case "chkrestr":
			case "chktresrestr":
			case "cboregion":
				GererSectionActive('V4');
				break;
			
			//§JG-0601a
			case "V5":
				GererSectionActive('V5');
				break;
	}
	
	return blnValid;
}

//=============================================================================
//GererSectionActive
//
//Cette fonction valide que les informations nécessaires à la recherche par la 
//liste des professions en demande ont été saisies.
//=============================================================================
//Suivi des modifications:
//=============================================================================
//RC-1124	Changer le nom de la fonction et le nom du paramètre.
//				Ajouter le traitement pour désactiver les boutons Submit. 
//				Seul le bouton de la section active demeure actif
//				function EffacerChampsOPT(strBouton) {
//
//§JG-0226a Nouvelle option de recherche par liste de professions en demande.
//				Les options 3 et 4 sont renommées 4 et 5.
//=============================================================================
function GererSectionActive(pstrOptSection) {

		EffacerChamps(pstrOptSection);

		document.MAIN_FORM.radopt[0].checked = false;
		document.MAIN_FORM.radopt[1].checked = false;
		document.MAIN_FORM.radopt[2].checked = false;
		document.MAIN_FORM.radopt[3].checked = false;
		//§ML-0803a -Enlever car le radiobuttion 5 a été retiré...  document.MAIN_FORM.radopt[4].checked = false;
		document.MAIN_FORM.btnrechrmotcle.disabled = true;
		document.MAIN_FORM.btnrechrcnp.disabled = true;
		document.MAIN_FORM.btnrechravance.disabled = true;
		document.MAIN_FORM.btnrechrlisteprof.disabled = true;
		document.MAIN_FORM.btnrechrlisteprofdemn.disabled = true;	

		if (pstrOptSection == "V1") {
			document.MAIN_FORM.radopt[0].checked = true;
			GererRegionListe();
			ChangeSalaireDe();
			ChangeSalaire();
		}
	
		if (pstrOptSection == "V2") {
			document.MAIN_FORM.radopt[1].checked = true;
			document.MAIN_FORM.btnrechrlisteprof.disabled = false;
			ChangeSalaireDe();
			ChangeSalaire();
			GererRegionListe();
		}
		
		//§JG-0226a
		if (pstrOptSection == "V3") {
			document.MAIN_FORM.radopt[2].checked = true;
			document.MAIN_FORM.btnrechrlisteprofdemn.disabled = false;
			GererRegionListe();
		}
		
		//§JG-0226a
		if (pstrOptSection == "V4") {
			document.MAIN_FORM.radopt[3].checked = true;
			document.MAIN_FORM.btnrechravance.disabled = false;
			GererRegionListe();
		}
		//§ML-0803a -Enlever car le radiobuttion 5 a été retiré...
		//if (pstrOptSection == "V5") {
		//	document.MAIN_FORM.radopt[4].checked = true;
		//}
		
}

function EffacerChamps(strVal) {

		if (strVal != "V1") {
			document.MAIN_FORM.txtcnp.value = "";
			document.MAIN_FORM.txtmotcle.value = "";
			document.MAIN_FORM.opt1rech[0].checked = false;
			document.MAIN_FORM.opt1rech[1].checked = false;
		}
			
		if (strVal != "V2") {
			document.MAIN_FORM.cbolisteprof.selectedIndex = 0;
			document.MAIN_FORM.cboregionliste.selectedIndex = 0;
		}
		//§JG-0226a: Nouvelle option de recherche par liste des professions en demande
		if (strVal != "V3") {
			document.MAIN_FORM.cboregionlisteprofdemn.selectedIndex = 0;
		}
		
		//§JG-0226a: Option de recherche 3 et 4 passe de 4 à 5.
		if (strVal != "V4"){
			document.MAIN_FORM.cbocatprof.selectedIndex = 0;
			document.MAIN_FORM.cbosalde.selectedIndex = 0;
			document.MAIN_FORM.cbosala.selectedIndex = 0;
			document.MAIN_FORM.cbonivcomp.selectedIndex = 0;
			document.MAIN_FORM.cbochampint.selectedIndex = 0;
			document.MAIN_FORM.cboregion.selectedIndex = 0;
			document.MAIN_FORM.chktresfav.checked = false;
			document.MAIN_FORM.chkfav.checked = false;
			document.MAIN_FORM.chkaccpt.checked = false;
			document.MAIN_FORM.chkrestr.checked = false;
			document.MAIN_FORM.chktresrestr.checked = false;
			
		}
		
		//§JG-0601a
		//§JG-0226a: Option de recherche 3 et 4 passe de 4 à 5.
		if (strVal != "V5") {
		//rien à faire
		}
}

function ValiderRechMotCle() {
	
	var i;
	var c;
	var strInfo;
	var blnRetour = true;
	var intCmptSpace = 0;
	var intCmptChar = 0;
	var intCmptNbr = 0;
	var strACorr;
	var intLongChamp;
	var blnchar = false;
	var intPos = 0;
	var objTextInput;
	
	if (document.MAIN_FORM.opt1rech[0].checked) {
		objTextInput = document.MAIN_FORM.txtmotcle;
	}
	else {
		objTextInput = document.MAIN_FORM.txtcnp;
	}
	strACorr = objTextInput.value;
	strInfo = fgCorrText(Trim(strACorr));
	intLongChamp = strInfo.length;
	
	
	//Vérifie que le champs n'est pas vide
	if (strInfo == "") {
		if (document.MAIN_FORM.opt1rech[0].checked) {
			ShowAlert(DC956250, '', objTextInput.name);
		}
		else {
			ShowAlert(DC956269, '', objTextInput.name);
		}
		blnRetour = false;
	}
	//Vérifie que les mots contiennent tous 4 lettres min.
	else
	{
		for (i = 0; i < intLongChamp; i++) {
			c = strInfo.charAt(i);
			if ((c >= 'A' && c <= 'Z') ||
			   (c >= 'a' && c <= 'z')	||
			   (c >= '0' && c <= '9') ||
			   (c == " ") ||
			   (c == "")) {
				// C'est bon!
				if (isNaN(c)) {
					intCmptChar = intCmptChar + 1;
				}
				else if	((c == "") || (c == " ")) {
					intCmptSpace = intCmptSpace + 1;
				}
				else
				{
					intCmptNbr = intCmptNbr + 1;
				}
			}	
			else
			{
				if (document.MAIN_FORM.opt1rech[0].checked) {
					ShowAlert(DC956251, '', objTextInput.name);
				}
				else {
					ShowAlert(DC956268, '', objTextInput.name);
				}
				blnRetour = false;
				break;
			}
		}

		if (document.MAIN_FORM.opt1rech[0].checked) {
			//Vérifie la présence de lettres seulement
			if (blnRetour && (intCmptNbr > 0)) {
				ShowAlert(DC956251, '', "txtmotcle");
				blnRetour = false;	
			}
			//Vérifie si l'info dans le champs contient au moins 4 lettres
			if (blnRetour && (intCmptChar < 4) && (intCmptNbr == 0)) {
				ShowAlert(DC956252, '', "txtmotcle");
				blnRetour = false;
			}
			//Vérification de 4 caractères minimum par mots
			if (blnRetour && isNaN(strInfo)) {
				blnRetour = ValdNbCarcMinmParMot(strInfo,4);
				if (blnRetour == false) {
					ShowAlert(DC956252, '', "txtmotcle");
				}
			}
		}
		else {
			//Vérifie la présence de chiffres seulement
			if (blnRetour && ((intCmptChar > 0) || (intCmptSpace > 0))) {
				ShowAlert(DC956268, '', "txtcnp");
				blnRetour = false;	
			}
			//Vérifie si l'info dans le champs contient de 2 à 4 chiffres
			if (blnRetour && ((intCmptNbr < 2) || (intCmptNbr > 4))) {
				ShowAlert(DC956253, '', "txtcnp");
				blnRetour = false;
			}
		}
	}
	return blnRetour;
}

function ValiderRechAvance() {
	
	var i;
	var c;
	var strInfo;
	var blnRetour = true;
	var blnPersProf = true;

		if ((!document.MAIN_FORM.chktresfav.checked) && 
		    (!document.MAIN_FORM.chkfav.checked) &&
		    (!document.MAIN_FORM.chkaccpt.checked) && 
		    (!document.MAIN_FORM.chkrestr.checked) &&
		    (!document.MAIN_FORM.chktresrestr.checked)) {
			blnPersProf = false;
		}	

		//Si au moins une perspective est coché et que la région n'est pas renseigné
		if (blnPersProf && (document.MAIN_FORM.cboregion.selectedIndex <= 0)) {
			ShowAlert(DC956255, '', "cboregion");
			blnRetour = false;
		}
		//Si aucune perspective de coché et que la région est renseigné
		if (blnRetour && (!blnPersProf && (document.MAIN_FORM.cboregion.selectedIndex > 0))) {
				ShowAlert(DC956256, '', "cboregion");
				blnRetour = false;
		}	

		//Vérifie qu'au moins une information est entrée
		if (blnRetour && 
		    ((document.MAIN_FORM.cbocatprof.selectedIndex <= 0) && 
		     (document.MAIN_FORM.cbosalde.selectedIndex <= 0) &&
			 (document.MAIN_FORM.cbosala.selectedIndex <= 0) &&
			 (document.MAIN_FORM.cbonivcomp.selectedIndex <= 0) &&
			 (document.MAIN_FORM.cbochampint.selectedIndex <= 0) && 
			 (!blnPersProf) && 
			 (document.MAIN_FORM.cboregion.selectedIndex <= 0))) {
			 ShowAlert(DC956254, '', "cbochampint");
			 blnRetour = false;
		}

		//Vérifier que les 2 champs DE et A sont renseignés
		if (blnRetour && ((document.MAIN_FORM.cbosalde.selectedIndex > 0) && (document.MAIN_FORM.cbosala.selectedIndex <= 0))) {
			ShowAlert(DC956257, '', "cbosala");
			blnRetour = false;
		}
		//Vérifier que les 2 champs DE et A sont renseignés
		if (blnRetour && ((document.MAIN_FORM.cbosalde.selectedIndex <= 0) && (document.MAIN_FORM.cbosala.selectedIndex > 0))) {
			ShowAlert(DC956258, "", "cbosalde");
			blnRetour = false;
		}
	return blnRetour;
}

function ValiderRechProf() {

	var blnRetour = true;
	
		//Vérifie qu'au moins une information est entrée
		if   ((document.MAIN_FORM.cbolisteprof.selectedIndex <= 0) &&
			 (document.MAIN_FORM.cboregionliste.selectedIndex <= 0))
	 {
			ShowAlert(DC956259, '', "cbolisteprof");
			blnRetour = false;
		}
		if (blnRetour &&
			(document.MAIN_FORM.cbolisteprof.selectedIndex <= 0) &&
			(document.MAIN_FORM.cboregionliste.selectedIndex > 0)) {
			ShowAlert(DC956261, '', "cboregionliste");
			blnRetour = false;
		}
		if (blnRetour &&
			(document.MAIN_FORM.cbolisteprof.selectedIndex > 0) &&
			(document.MAIN_FORM.cboregionliste.selectedIndex <= 0)) {
			ShowAlert(DC956260, '', "cboregionliste");
			blnRetour = false;
		}
	return blnRetour;
}

//=============================================================================
//ValiderRechProfDemn
//
//Cette fonction valide que les informations nécessaires à la recherche par la 
//liste des professions en demande ont été saisies.
//=============================================================================
function ValiderRechProfDemn() {

	var blnRetour = true;
	
		//La région doit être sélectionnée
		if (document.MAIN_FORM.cboregionlisteprofdemn.selectedIndex <= 0) {
			ShowAlert(DC956260, '', "cboregionlisteprofdemn");
			blnRetour = false;
		}
	return blnRetour;
}

//=============================================================================
//GererRegionListe
//
//Permet de gérer le contenu de la liste des régions "cbolisteprof"  de l'option 
//de recherche par liste de profession. Le contenu de la liste des régions diffère 
//selon la liste sélectionnée. 
//=============================================================================
function GererRegionListe() {
	
   var element;
	var blnAdd;
	var i;
	var strKey;
	var strOldValue;
	
	//Obtenir la liste sélectionnée
	strKey = document.MAIN_FORM.cbolisteprof.options[document.MAIN_FORM.cbolisteprof.selectedIndex].value;	
		
	//Conserver la région sélectionnée 
	if (document.MAIN_FORM.cboregionliste.selectedIndex >= 0) {
		strOldValue = document.MAIN_FORM.cboregionliste.options[document.MAIN_FORM.cboregionliste.selectedIndex].value;
	}
	else {
		strOldValue = "";
	}		
	
	//Intilialiser la liste des régions et conserver une ligne blanche au début
	for (i=document.MAIN_FORM.cboregionliste.options.length-1; i>0; i--) {
		document.MAIN_FORM.cboregionliste.options[i] = null;
	}
	
	//Cosntruire la liste des régions pour la liste sélectionnée à partir de la liste des régions mise en cache.
	for (i=0; i<=arrKeysReg.length - 1; i++) {

		if (((strKey != 1) && (strKey != 3) && (strKey != 4) && (strKey != 5)) || (arrKeysReg[i] == "QC")) {
			element = new Option(arrLiblReg[i], arrKeysReg[i]);
			//Patch Netscape
			if (arrKeysReg[i]==strOldValue) {
				if(!(navigator.userAgent.indexOf("Gecko") > 0)) {
					element.defaultSelected = true;
				}
			}
			document.MAIN_FORM.cboregionliste.options[document.MAIN_FORM.cboregionliste.options.length] = element;
		 }
	}

	//Si la région sélectionnée est disponible pour la liste en cours, la sélectionner.
	SelOldValue(document.MAIN_FORM.cboregionliste, strOldValue);

	//Sélectionner la valeur par défaut "QC" pour les listes où une seule région est disponible. 
	if ((strKey == 1) || (strKey == 3) || (strKey == 4) || (strKey == 5)) {
		document.MAIN_FORM.cboregionliste.selectedIndex = 1;
	}
}

function ValdNbCarcMinmParMot(pstrText,plngNbCarcMinm)
{
	var blnVald = true;

	var arrMots = pstrText.split(" ");
	var i = 0;
	while (i < arrMots.length && blnVald)
	{
		if (arrMots[i].length < plngNbCarcMinm)
		{
			blnVald = false;
		}
		else
		{
			i++;
		}
	}
	return blnVald;
}

function SelOldValue(objCbo, strOldValue) {
		//Si l'ancienne valeur existe toujours on la sélectionne
		var intLength = objCbo.options.length;
		var i;
		for (i=0; i<intLength; i++) {
			if (strOldValue == objCbo.options[i].value) {
				objCbo.selectedIndex = i;
				break;
			}
		}
}

//</script>