//Custom library
function oFields(sId,sVal,bMandatory) {
	this.id = sId;
	this.val = sVal;
	this.mandatory = bMandatory;
}
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function validateEmail(val) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(val) == false) {
      return false;
   }
   return true;
}
function validatePhone(val) {
   var reg = /\d{3}\-\d{3}\-\d{4}/;
   if(reg.test(val) == false) {
      return false;
   }
   return true;
}
function getVal(id){
	var value = "";
  for (i=0; i<aFields.length; i++){
		if (aFields[i].id == id){
			//alert(i + " - " + aFields[i].id);
			value = aFields[i].val;
      break;
		}
	}
	//alert (value + " - " + elem.value);
	return value;
}
function setToken(id){
	var elem = document.getElementById(id);
	
	if (trim(elem.value) == ""){
		elem.value = getVal(id);
		elem.style.color="#7F8384";
		elem.style.fontStyle="italic";
	}
}
function clearToken(id){
	var elem = document.getElementById(id);
	
	if (elem.value == getVal(id)) {
		elem.value = "";
		elem.style.color="#56595A";
		elem.style.fontStyle="normal";
	}
}
function envoyerDemande(){
	var ok = true;
	var elem;
	
	for (i=0; i<aFields.length; i++){
		//alert(i + " - " + aFields[i].id + "-" + aFields[i].mandatory);
		if (aFields[i].mandatory){
			elem = document.getElementById(aFields[i].id);
			//alert(aFields[i].val + "-" + elem.value);
			//alert(elem.value == getVal(aFields[i].id));
			if (elem.value == aFields[i].val) {
				elem.style.borderColor="#FF0000";
				elem.style.backgroundColor="#FFFF99";
				ok = false;
			} else {
				elem.style.borderColor="#C8C8C8";
				elem.style.backgroundColor="#FFFFFF";
			}
		}
	}
  if (ok){
  	elem = document.getElementById(aFields[3].id);
  	if (elem.value != getVal(aFields[3].val)) {
  		if (validateEmail(elem.value)){
  			elem.style.borderColor="#C8C8C8";
  			elem.style.backgroundColor="#FFFFFF";
  		} else {
  			elem.style.borderColor="#FF0000";	//courriel invalide
  			elem.style.backgroundColor="#FFFF99";
  			ok = false;
  		}
  	}
  
  	elem = document.getElementById(aFields[4].id);
  	if (elem.value != getVal(aFields[4].val)) {
  		if (validatePhone(elem.value)){
  			elem.style.borderColor="#C8C8C8";
  			elem.style.backgroundColor="#FFFFFF";
  		} else {
  			elem.style.borderColor="#FF0000";	//téléphone invalide
  			elem.style.backgroundColor="#FFFF99";
  			ok = false;
  		}
  	}
  }
  
	if (ok) {
    document.Survey.submit();
    //alert ('formulaire OK');
	} else {
		alert(errormessage);
	}
}

