//-- Jobboom.com
//-- Copyright 2007 Canoe INC., All Rights Reserved.

function validate_form(frm) {
	var string;
	if (string = getCookie('passeport_infos'))
	{
		var pattern = new RegExp("::");
		var splitexp1;
		var splitexp2;

		var splited = new Array;
		var user = new Array;
		var password = new Array;

		if (pattern.test(string))
		{
			splitexp1 = "::";
			splitexp2 = "=";

			splited = string.split(splitexp1);
			user = splited[0].split(splitexp2);
			password = splited[1].split(splitexp2);
		}
		else
		{
			splitexp1 = "=";
			user = string.split(splitexp1);
		}

		if (user[1])
		{
			document.forms[frm].username.value = user[1];
			document.forms[frm].retenir_username.checked = true;
		}
		else
		{
			document.forms[frm].username.value = '';
			document.forms[frm].password.value = '';
		}

		if (password[1])
		{
			document.forms[frm].password.value = password[1];
			document.forms[frm].retenir_password.checked = true;
		}
		else
		{
			document.forms[frm].password.value = '';
		}
	}
}

var emptyList = '';
var errorList = '';

function formCheck1(frm, flag) {
	emptyList = '';
	errorList = '';
	var msg = '';

	document.forms[frm].nom.value = trim(document.forms[frm].nom.value);
	document.forms[frm].prenom.value = trim(document.forms[frm].prenom.value);
	if (!flag)
	{
		document.forms[frm].text_captcha.value = trim(document.forms[frm].text_captcha.value);
		userCheck(frm, flag); // controle contextuel username et pw ou nouv. pw
	}

	document.forms[frm].passwd.value = trim(document.forms[frm].passwd.value);
	document.forms[frm].passwd2.value = trim(document.forms[frm].passwd2.value);

	//if (document.forms[frm].passwd.value != '' || document.forms[frm].passwd2.value != '') {
	//	emptyList += '-   Mot de passe \n';
		if (document.forms[frm].passwd.value != document.forms[frm].passwd2.value) {
			errorList += '-   Deuxième mot de passe différent \n';
		}
	//}

	if(document.forms[frm].nom.value == '') emptyList += '-   Nom \n'
	if(document.forms[frm].prenom.value == '') emptyList += '-   Prénom \n'

	if (document.forms[frm].info_promo.checked)
	{
		document.forms[frm].codepostal.value = trim(document.forms[frm].codepostal.value);

		if(document.forms[frm].sexe.selectedIndex == 0) emptyList += '-   Sexe \n'
		if(document.forms[frm].annee_naissance.selectedIndex == 0) emptyList += '-   Année de naissance \n'
		if(document.forms[frm].codepostal.value == '') emptyList += '-   Code postal \n'
		else
		{
			if(zipCheck(frm, document.forms[frm].codepostal.value) == false) errorList += '-   Code postal \n'
		}
		if(document.forms[frm].pays.selectedIndex == 0) emptyList += '-   Pays \n'
	}
	else
	{
		if(document.forms[frm].codepostal.value != '')
		{
			if(zipCheck(frm, document.forms[frm].codepostal.value) == false) errorList += '-   Code postal \n'
		}
	}

	if (!flag)
	{
		if(document.forms[frm].text_captcha.value == '') emptyList += "-   Texte de l'image \n";
	}

	// Message
	if(emptyList != '' || errorList != '') {
		if(emptyList != '') msg += 'Veuillez remplir les champs obligatoires : \n' + emptyList.substring(0, emptyList.length-2) + '\n'
		if(errorList != '') msg += '\nVeuillez corriger l’information suivante : \n'+ errorList.substring(0, errorList.length-2)
		alert(msg);
		return false
	}
	else
	{
		//return true;
		document.forms[frm].submit();
	}
}

function formCheck2(frm)
{
	emptyList = '';
	errorList = '';
	var msg = '';

	document.forms[frm].email_1.value = trim(document.forms[frm].email_1.value);
	document.forms[frm].email_2.value = trim(document.forms[frm].email_2.value);

	if (document.forms[frm].email_1.value == '' || document.forms[frm].email_2.value == '') emptyList += '-   Courriel \n'
	if (document.forms[frm].email_1.value != document.forms[frm].email_2.value) errorList += '-   Deuxième courriel différent \n'

		// Message
	if(emptyList != '' || errorList != '') {
		if(emptyList != '') msg += 'Veuillez remplir les champs obligatoires : \n' + emptyList.substring(0, emptyList.length-2) + '\n'
		if(errorList != '') msg += '\nVeuillez corriger l’information suivante : \n' + errorList.substring(0, errorList.length-2)
		alert(msg);
		return false
	}

	return true
}

function formCheck3(frm)
{
	emptyList = '';
	var msg = '\n';

	if(!emailCheck(document.forms[frm].email.value)) {
		emptyList += 'Courriel non-valide  ';
	} else {
		if (document.forms[frm].email.value == '') emptyList += 'Courriel  ';
	}

	if (document.forms[frm].email.value == '') emptyList += '-   Courriel \n'

		// Message
	if(emptyList != '' || errorList != '') {
		if(emptyList != '') msg += 'Veuillez remplir les champs obligatoires : \n' + emptyList.substring(0, emptyList.length-2) + '\n'
		alert(msg);
		return false
	}

	return true
}

function formCheck4(frm)
{
	emptyList = '';
	errorList = '';
	var msg = 'Attention!\n';

	document.forms[frm].new_passwd.value = trim(document.forms[frm].new_passwd.value);
	document.forms[frm].new_passwd2.value = trim(document.forms[frm].new_passwd2.value);

	if (document.forms[frm].new_passwd.value == '' || document.forms[frm].new_passwd2.value == '') emptyList += '-   Mot de passe \n'
	if (document.forms[frm].new_passwd.value != document.forms[frm].new_passwd2.value) errorList += '-   Deuxième mot de passe différent \n'

		// Message
	if(emptyList != '' || errorList != '') {
		if(emptyList != '') msg += 'Veuillez remplir les champs obligatoires : \n' + emptyList.substring(0, emptyList.length-2) + '\n'
		if(errorList != '') msg += '\nVeuillez corriger l’information suivante : \n' + errorList.substring(0, errorList.length-2)
		alert(msg);
		return false
	}

	return true
}

var alphaChar = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var numChar = '0123456789';
var defaultPasswordValue = '********';


function userCheck(frm, flag)
{
	if (!flag)
	{
		if(document.forms[frm].passwd.value == '') emptyList += '-   Mot de passe \n'
		else
		{
			if((alphanumCheck(document.forms[frm].passwd.value) == false) && (document.forms[frm].passwd.value != defaultPasswordValue)) errorList += '-   Mot de passe (caractères interdits) \n'
			if(document.forms[frm].passwd.value.length < 5) errorList += '-   Mot de passe trop court (min 5 car.)\n'
			if(document.forms[frm].passwd.value != document.forms[frm].passwd2.value) errorList += '-   Deuxième mot de passe différent \n'
		}
	}
	else
	{
		if (document.forms[frm].passwd.value != '' || document.forms[frm].passwd2.value != '')
		{
			if((alphanumCheck(document.forms[frm].passwd.value) == false) && (document.forms[frm].passwd.value != defaultPasswordValue)) errorList += '-   Mot de passe (caractères interdits) \n'
			if(document.forms[frm].passwd.value.length < 5) errorList += '-   Mot de passe trop court (min 5 car.) \n'
			if(document.forms[frm].passwd.value != document.forms[frm].passwd2.value) errorList += '-   Deuxième mot de passe différent \n'
		}
	}
}

function emailCheck(email) {
	if (email.indexOf(' ')!=-1) return false
	if (email.indexOf('@')<1) return false
	if (email.lastIndexOf('.') < email.lastIndexOf('@')) return false
	if ((email.length-email.lastIndexOf('.'))<3) return false

	return true;
}

function zipCheck(frm, code) {
	code = code.toUpperCase();

	if(document.forms[frm].pays.options[document.forms[frm].pays.selectedIndex].value == 'ca') {
		if (code.length != 6)return false
		if (alphaChar.indexOf(code.charAt(0)) == -1) return false
		if (numChar.indexOf(code.charAt(1)) == -1) return false
		if (alphaChar.indexOf(code.charAt(2)) == -1) return false
		if (numChar.indexOf(code.charAt(3)) == -1) return false
		if (alphaChar.indexOf(code.charAt(4)) == -1) return false
		if (numChar.indexOf(code.charAt(5)) == -1) return false

		return true
	}

	if(document.forms[frm].pays.options[document.forms[frm].pays.selectedIndex].value == 'fr') {
		if (code.length != 5) return false
		if (numChar.indexOf(code.charAt(0)) == -1) return false
		if (numChar.indexOf(code.charAt(1)) == -1) return false
		if (numChar.indexOf(code.charAt(2)) == -1) return false
		if (numChar.indexOf(code.charAt(3)) == -1) return false
		if (numChar.indexOf(code.charAt(4)) == -1) return false

		return true
	}

	if(document.forms[frm].pays.options[document.forms[frm].pays.selectedIndex].value == 'be') {
		if (code.length != 4) return false
		if (numChar.indexOf(code.charAt(0)) == -1) return false
		if (numChar.indexOf(code.charAt(1)) == -1) return false
		if (numChar.indexOf(code.charAt(2)) == -1) return false
		if (numChar.indexOf(code.charAt(3)) == -1) return false

		return true
	}

	if(document.forms[frm].pays.options[document.forms[frm].pays.selectedIndex].value == 'ch') {
		if (code.length != 4) return false
		if (numChar.indexOf(code.charAt(0)) == -1) return false
		if (numChar.indexOf(code.charAt(1)) == -1) return false
		if (numChar.indexOf(code.charAt(2)) == -1) return false
		if (numChar.indexOf(code.charAt(3)) == -1) return false

		return true
	}

	if(document.forms[frm].pays.options[document.forms[frm].pays.selectedIndex].value == 'us') {
		if (code.length != 5) return false
		if (numChar.indexOf(code.charAt(0)) == -1) return false
		if (numChar.indexOf(code.charAt(1)) == -1) return false
		if (numChar.indexOf(code.charAt(2)) == -1) return false
		if (numChar.indexOf(code.charAt(3)) == -1) return false
		if (numChar.indexOf(code.charAt(4)) == -1) return false

		return true
	}

	return true
}



function alphanumCheck(s) {
	s = s.toUpperCase();
	for (i=0; i<s.length; i++) if(alphaChar.indexOf(s.charAt(i)) == -1 && numChar.indexOf(s.charAt(i)) == -1) return false
	return true
}

function usernameCheck(s) {
	s = s.toUpperCase();
	for (i=0; i<s.length; i++) if((alphaChar+'-_').indexOf(s.charAt(i)) == -1 && numChar.indexOf(s.charAt(i)) == -1) return false
	return true
}

function trim(s) {
	while(''+s.charAt(s.length-1)==' ') s = s.substring(0,s.length-1)
	while(''+s.charAt(0)==' ') s = s.substring(1,s.length)

	return s
}

