// fonction pour générer les OPTIONS du drop down de l'année de naissance

//--------------------------------------- 
function yeardrop()  
//--------------------------------------- 
{ 
  var i = 1900;
  var currentDate = new Date();
  var y = currentDate.getFullYear();
  while ( i <= y ) {   
     document.write('<option value=' + i + '>' + i + '</option>');   
     i++;
  }
}



//--------------------------------------- 
function validatesubmit()
//--------------------------------------- 
{
	var submitform = document.getElementById("submitbutton");
	var submithidden = document.getElementById("submithidden");

	if ( (emailok==true)&&(anneeok==true)&&(codepostalok==true)&&(sexeok==true)&&(captchaok==true) ) {
		submitform.disabled = false;
		submithidden.value = "ok";
	} else {
		submitform.disabled = true;
		submithidden.value = "non";
	}
}


//--------------------------------------- 
function validatesubmit_nocaptcha()
//--------------------------------------- 
{
	var submitform = document.getElementById("submitbutton");
	//var submithidden = document.getElementById("submithidden");

	if ( (emailok==true)&&(anneeok==true)&&(codepostalok==true)&&(sexeok==true) ) {
		submitform.disabled = false;
		//submithidden.value = "ok";
	} else {
		submitform.disabled = true;
		//submithidden.value = "non";
	}
}




//--------------------------------------- 
function validatepostal(id, check)
//--------------------------------------- 
{
	var yyyyy = document.getElementById(id).value;
	var status = document.getElementById(id+"status");
	
	if (yyyyy!="") {
		curpostalvar1 = yyyyy.replace(/[\W]/g,''); // "\W" signifie — All except word characters
		curpostalvar2 = curpostalvar1.replace(/[\_]/g,'');
		result = curpostalvar2.toUpperCase();
		
		document.getElementById(id).value = result;
		yyyyy = result;
		
		// valide code postaux numériques à 5 caractères
		if ( (yyyyy.match(/^\d/))&&(yyyyy.match(/^\d+$/))&&(yyyyy.length==5) ) {
		status.className = "validtrue";
		codepostalok = true;
		} 
		// valide code postaux alphanumériques canadiens à 6 caractères
		else if ( (yyyyy.match(/^\D/))&&(yyyyy.match(/(\D)(\d)(\D)(\d)(\D)(\d)/))&&(yyyyy.length==6) ) {
		status.className = "validtrue";
		codepostalok = true;
		}
		// valide code postaux alphanumériques anglais à 5 caractères
		else if ( (yyyyy.match(/^\D/))&&(yyyyy.match(/(\D)(\d)(\d)(\D)(\D)/))&&(yyyyy.length==5) ) {
		status.className = "validtrue";
		codepostalok = true;
		} 
		else {
		status.className = "validfalse";
		codepostalok = false;
		}
		
	} else {
		status.className = "validempty";
		codepostalok = false;
	}
	if(status && check)
		validatesubmit_nocaptcha();
}



//--------------------------------------- 
function validateemail(id, check)
//--------------------------------------- 
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var zzzzz = document.getElementById(id).value;
	var status = document.getElementById(id+"status");
	
	if (zzzzz!=""){
		if (reg.test(zzzzz) == false) {
			status.className = "validfalse";
			emailok = false;
		} else { 
			status.className = "validtrue";
			emailok = true;
		}
	} else {
		status.className = "validempty";
		emailok = false;
	}
	if(status && check)
		validatesubmit_nocaptcha();
}




//--------------------------------------- 
function validateEmail2(id,check)
//--------------------------------------- 
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var emailField = document.getElementById(id);
	var emailOk = false;
	formSubmit = document.testOnlineFormName.submit;
	
	if (emailField!=""){
  		if (reg.test(emailField.value) == false) {
        emailField.style.color = "#CC0000";
        emailOk = false;
        document.getElementById('form_message').innerHTML = '*Adresse courriel invalide.';
        if (check){
          formSubmit.disabled = true;
        }
  		} else { 
  			emailField.style.color = "#000000";
  			emailOk = true;
  			document.getElementById('form_message').innerHTML = '';
  			if (check){
          formSubmit.disabled = false;
        }
  		}
	} else {
			emailOk = false;
      document.getElementById('form_message').innerHTML = '';
			if (check){
        formSubmit.disabled = true;
      }
	}
}




//--------------------------------------- 
function validateRequired()
//--------------------------------------- 
{
  formRequired = document.send_to_friend_form;
  
  var sname = formRequired.name.value;
  var semail = formRequired.email.value;
  var fname = formRequired.friend_1.value;
  var femail = formRequired.friend_email_1.value;

  if ( (sname=='') || (semail=='') || (fname=='') || (femail=='') ) {
    document.getElementById('form_message').innerHTML = '*Veuillez remplir tous les champs requis.';
    return false;
  } 
  else {
    document.getElementById('form_message').innerHTML = '';
    return true;
  }
}







//--------------------------------------- 
function validateannee(id, check)
//--------------------------------------- 
{
	var xxxxx = document.getElementById(id).value;
	var status = document.getElementById(id+"status");
	
	if (xxxxx!=""){
		status.className = "validtrue";
		anneeok = true;
	} else {
		status.className = "validempty";
		anneeok = false;
	}
	if(status && check)
		validatesubmit_nocaptcha();
}



//--------------------------------------- 
function validatesexe(check) 
//--------------------------------------- 
{
	var homme = document.getElementById("homme");
	var femme = document.getElementById("femme");
	var status = document.getElementById("sexestatus");
	
	if ((homme.checked==true)||(femme.checked==true)){
		status.className = "validtrue";
		sexeok = true;
	} else {
		status.className = "validempty";
		sexeok = false;
	}
	if(status && check)
		validatesubmit_nocaptcha();
}



//--------------------------------------- 
function captchaokay(ajaxresp)
//--------------------------------------- 
{
	var status = document.getElementById("captchastatus");
	
  if (ajaxresp=="ok") {
    status.className = "validtrue";
    captchaok = true;
  } else if (ajaxresp=="non") {
    status.className = "validfalse";
    captchaok = false;
  }
	validatesubmit_nocaptcha();
}



//--------------------------------------- 
function emptycaptcha(id)
//--------------------------------------- 
{
  document.getElementById(id).value = "";
	var status = document.getElementById(id+"status");

	status.className = "validempty";
  captchaok = false;
  validatesubmit_nocaptcha();
}




//--------------------------------------- 
function validatecaptcha(id) 
//--------------------------------------- 
{
  var status = document.getElementById(id+"status");
	var word = document.getElementById(id).value;
	word = word.toUpperCase();
	
	if (word.length==4){
				// SharpAJAX initialization
				// Create AJAX object based on browser
				if (navigator.appName == "Microsoft Internet Explorer") {
					sharpajax = new ActiveXObject("Microsoft.XMLHTTP");
				} else {
					sharpajax = new XMLHttpRequest();
				}
				// Initialize
				//sharpajax.abort();
				
				// Send command
				sharpajax.open("GET","/forms/includes/captcha.php?word="+word);
				
				// Create input trapping function
				sharpajax.onreadystatechange=function() {
					if (sharpajax.readyState == 4) {
						//eval(sharpajax.responseText);
						ajaxresp = sharpajax.responseText;
            captchaokay(ajaxresp);    
					}
				}
				
				// Send output
				sharpajax.send("");
  } else {
    status.className = "validempty";
    captchaok = false;
    validatesubmit_nocaptcha();
  }
}




//--------------------------------------- 
function checkonload()
//--------------------------------------- 
{
	validateemail("email", false);
	validateannee("annee", false);
	validatepostal("codepostal", false);
	validatesexe(false);
	emptycaptcha("captcha");
	validatesubmit();
}


//--------------------------------------- 
function checkonload_nocaptcha()
//--------------------------------------- 
{
	validateemail("email", false);
	validateannee("annee", false);
	validatepostal("codepostal", false);
	validatesexe(false);
	//emptycaptcha("captcha");
	validatesubmit_nocaptcha(); // fonction de validation sans tenir compte du captcha
}

