// JavaScript Document
function activeYearCom( curYear) {
	document.getElementById('year2009').style.display = "none";
	document.getElementById('year2010').style.display = "none";
	document.getElementById( curYear).style.display = "block";
}
function decryptEmail(s) {
	r='';
  for(i=0;i<s.length;i++) {
    n=s.charCodeAt(i); 
    if (n>=8364) { n = 128;} 
	  r += String.fromCharCode( n - 3 ); 
  }
  return r;
}  
function print_mail(name,domain) {
	a ="pdlowr=";
	m='@';d=unescape(m);
	var nom = name;
	var domaine = domain;
	var aro = nom + d + domaine;
	document.write('<a href=');
  document.write(decryptEmail(a));
  document.write(aro);
  document.write('>');  
	document.write(aro + '</a>');    
}                 
// *************************************************************************
// * Variables et fonction de base pour vérifier le contenu des champs ou
// * le fait qu'ils soient renseignés
// *************************************************************************
// Expressions régulières de vérification des champs du formulaire
var regExpEmpty        = /^$/g;
var regExpYear         = /^[0-9]+$/g;
var regExpName         = /^[a-zA-Z -]+$/g;
var regExpPassword     = /^[a-zA-Z0-9]+$/g;
var regExpPhone        = /^(\(\+[1-9][0-9]?[0-9]?\))?[ ]?[0-9() .-]*$/g;
var regExpPhoneIntl    = /^[0-9 -.\(\)]+$/g;
var regExpEmailAddress = /^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/g; 
var regExpAutTitle     = /^[a-zA-Z0-9aàâäeéèêëiîïoôöuùûücçAÀÂÄEÉÈÊËIÎÏOÔÖUÙÛÜCÇ \.\,\-\']*$/g;
var regExpDateJMA      = /^((((0?[1-9]|[12]\d|3[01])[\-](0?[13578]|1[02])[\-]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\-](0?[13456789]|1[012])[\-]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\-]0?2[\-]((1[6-9]|[2-9]\d)?\d{2}))|(29[\-]0?2[\-]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/g;

// Les deux fonction suivantes servent à identifier si une chaine de caractère est 
// compatible ou non avec une expression régulière passée en paramètre
function matchRegExp( argData, argRE) {
  var result = argData.match( argRE);
  if (result != null && result.length == 1) {
    return true;
  } else {
    return false;
  }
}
function notMatchRegExp( argData, argRE) {
  if (matchRegExp( argData, argRE)) {
	  return false;
  } else {
	  return true;
  }
}

// Vérification spécifique de chaque type de champ
function isEmpty( argVal) {
  return matchRegExp( argVal, regExpEmpty);
}
function isNotPwd( argVal) {
	return notMatchRegExp( argVal, regExpPassword);
}
function isNotName( argVal) {
	return notMatchRegExp( argVal, regExpName);
}
function isNotYear( argVal) {
	return notMatchRegExp( argVal, regExpYear);
}
function isNotAutTitle( argVal) {
	return notMatchRegExp( argVal, regExpAutTitle);
}
function isNotEmail( argVal) {
  return notMatchRegExp( argVal, regExpEmailAddress);
}
function isNotPhone( argVal) {
  return notMatchRegExp( argVal, regExpPhone);
}
function isNotPhoneIntl( argVal) {
  return notMatchRegExp( argVal, regExpPhoneIntl);
}
function isNotDateJMA( argVal) {
  return notMatchRegExp( argVal, regExpDateJMA);
}

// *************************************************************************
// * Fonctions pour vérifier le contenu des champs des formulaires
// *************************************************************************
function writeMessage( messageCode, obj) {
	document.getElementById(obj).style.display = "block";
	document.getElementById(obj).innerHTML = errorMessage[messageCode];
}
function checkContact(argFrm) {
	if (isEmpty( argFrm.elements['nameFld'].value) ||	isEmpty( argFrm.elements['fnameFld'].value) ||
			isEmpty( argFrm.elements['emailFld'].value) || isEmpty( argFrm.elements['msgFld'].value)) {
		writeMessage("610", 'errorMessage');
		return false;
	}
	if (isNotEmail( argFrm.elements['emailFld'].value)) {
		writeMessage("612", 'errorMessage');
		return false;
  }
	document.getElementById('action').value = "SEND";
	return true;
}

function checkAbo( argFrm, lang, numFrm, place) {
  if (lang == "fr") {
		if (place == "FM") {
			var nameFld  = document.getElementById("CustomFields_109_" + numFrm);
			var fnameFld = document.getElementById("CustomFields_110_" + numFrm);
			var zipFld   = document.getElementById("CustomFields_111_" + numFrm);
			var sexeHFld = document.getElementById("CustomFields[113_" + numFrm + "]_Homme");
			var sexeFFld = document.getElementById("CustomFields[113_" + numFrm + "]_Femme");
			var ageFld   = document.getElementById("CustomFields_115_" + numFrm);

		} else {
			var nameFld  = document.getElementById("CustomFields_64_" + numFrm);
			var fnameFld = document.getElementById("CustomFields_65_" + numFrm);
			var zipFld   = document.getElementById("CustomFields_106_" + numFrm);
			var sexeHFld = document.getElementById("CustomFields[107_" + numFrm + "]_Homme");
			var sexeFFld = document.getElementById("CustomFields[107_" + numFrm + "]_Femme");
			var ageFld   = document.getElementById("CustomFields_114_" + numFrm);
		}
	} else {
		return false;
	}
	if ((argFrm.elements['email'].value == "") || (nameFld.value == "") || 
	    (fnameFld.value == "") || (zipFld.value == "")) {
		writeMessage("610", 'errorMessage');
		return false;
	}
	if ((!sexeHFld.checked) && (!sexeFFld.checked)) {
		writeMessage("610", 'errorMessage');
		return false;
	}
	if (ageFld.value == "") {
		writeMessage("610", 'errorMessage');
		return false;
	}
	if (isNotEmail( argFrm.elements['email'].value)) {
		writeMessage("612", 'errorMessage');
		return false;
  }
	return true;
}

function checkDesabo(argFrm) {
	if (argFrm.elements['email'].value == "") {
		writeMessage("610", 'errorMessage');
		return false;
	}
	if (isNotEmail( argFrm.elements['email'].value)) {
		writeMessage("612", 'errorMessage');
		return false;
  }
	return true;
}
