﻿AppInit.addEvent (
    function() {
        $$( 'label' ).each ( function ( label ) {
            label.defaultColor = label.getStyle ( 'color' );
        } );
    }
    );


function handleValidation(element,message) {

	// translate to french
	message = message.replace("is a required field","est un champ obligatoire.");
	message = message.replace("does not contain a valid Canadian postal code","ne contient pas de code postal canadien valide.");
	message = message.replace("does not contain a valid phone number","ne contient pas de num&#233;ro de t&#233;l&#233;phone valide.");
	message = message.replace("does not contain a valid email address","ne contient pas une adresse email valide.");
	message = message.replace("captcha you entered was invalid, please try again","Le captcha que vous avez entr&#233; est incorrect. Veuillez SVP essayer de nouveau.");
	message = message.replace("email address supplied is already registered. Did you forget your login information?","Le courriel que vous avez inscrit a d&#233;j&#224; &#233;t&#233; utilis&#233;. Veuillez SVP utiliser la section Me connecter pour participer &#224; nouveau.");
	message = message.replace("does not have a valid date","n'a pas une date valide.");
	message = message.replace("Your password needs to be at least 6 characters long","Votre mot de passe doit contenir au minimum 6 caract&#232;res.");
	message = message.replace("The passwords did not match","Les mots de passe ne correspondent pas.");
	message = message.replace("The email fields do not match","Les emails ne correspondent pas");
	message = message.replace("A username has to be a minimum of 6 characters, can only contain A-Z 0-9 and _ (underscore) and has to start with a letter","Le nom d'utilisateur doit contenir au minimum 6 caract&#232;res du type A-Z 0-9 and _ (underscore) et doit commencer par une lettre");
	message = message.replace("The username you picked was already taken. Please try something else","Le nom d'utilisateur que vous avez saisi est d&#233;j&#244; utilis&#233;. Veuillez recommencer.");
    message = message.replace("The email or password you specified were incorrect","L'email ou le mot de passe indiqu&#233;s sont incorrects.");
	
	var m = message.substr(0,message.indexOf(' '));
	
	var n = $(element).up(1).down(1);
	var o = n.innerHTML//.replace(/[^a-zA-Z 0-9]+/g,'');
	
	function trim(s) {
		s = s.replace(/(^\s*)|(\s*$)/gi,"");
		s = s.replace(/[ ]{2,}/gi," ");
		s = s.replace(/\n /,"\n");
		return s;
	}
		
	if (o.substr(0,1) == "*") {
		o = trim(o.substr(1));
	} else {
		o = trim(o.substr(0,o.indexOf("*")-1));
	}
	
	if (m = element.name && o) {
		if (message != "L?adresse &#233;lectronique fournie est d&#233;j&#224; inscrite. Avez-vous oubli&#233; vos renseignements de connexion?") {
			message = o+" "+message.substr(message.indexOf(' '));
		} else {
			message = "L'adresse e-mail fournie est d&#233;j&#224; enregistr&#233;.";
		}
	} else if ( !o ) {
		var n = $(element).up(1).down(1);
		var o = n.innerHTML.replace(/[^a-zA-Z 0-9]+/g,'');
		if ( !o ) {
			var labels = element.form.getElementsByTagName('label');
			for(var i=0;i<labels.length;i++) {
				if (labels[i].htmlFor==element.name || labels[i].htmlFor==element.id) {
					message = labels[i].innerHTML+" "+message.substr(message.indexOf(' '));
				}
			}
		} else {
			message = o+" "+message.substr(message.indexOf(' '));
		}
	}
	
	$('validationmessage').innerHTML = message;

	$( element ).addClassName ( 'errorField' );

	if ( $( element ).hasClassName ( 'fmCheckBox' ) ) {
		$( element ).up ().addClassName ( 'errorLabel' );
	}

	var mylocation = document.location.toString();
	var newloc = mylocation.split('#');
	document.location = newloc[0] + '#validationmessage'; 

	var inputs = element.form.getElementsByTagName('input');
	for(var i=0;i<inputs.length;i++) {
	
		inputs[i].style.color = 'black';
		
	}
		
	var labels = element.form.getElementsByTagName('label');
	for(var i=0;i<labels.length;i++) {
    
		if (labels[i].htmlFor==element.name) {
			labels[i].style.color = 'red';
		} else {
			labels[i].style.color = labels [ i ].defaultColor;
		}
	
	}

}

