//<![CDATA[
function ValidateAll(l) {
	if (document.forms['registerform'])	{
		if(CheckUsername(document.forms['registerform'].user.value,l) == false) return false;
		if(CheckPassword(document.forms['registerform'].pass.value,document.forms['registerform'].retypepassword.value,l)==false) return false;
		if(CheckName(document.forms['registerform'].lastname.value,l) == false) return false;	
		if(CheckEmail(document.forms['registerform'].email.value,l)==false) return false;
		if(CheckVercode(document.forms['registerform'].vercode.value,l) == false) return false;
	}
	else {
		if(CheckName(document.forms['editaccountform'].lastname.value,l) == false) return false;	
		if(CheckEmail(document.forms['editaccountform'].email.value,l)==false) return false;
	}
	return true;
}

function StripSpacesFromEnds(s) {
	while((s.indexOf(' ',0) == 0) && (s.length > 1)) {
		s = s.substring(1,s.length);
	}
	while((s.lastIndexOf(' ') == (s.length - 1) && (s.length > 1))) {
		s = s.substring(0,(s.length - 1));
	}
	if((s.indexOf(' ',0) == 0) && (s.length == 1)) s = '';
	return s;
}

function IsItPresent(s,msg) {
	s = StripSpacesFromEnds(s);
	if(s.length) return s;
		alert(msg);
	return '';
}

function CheckUsername(s_username,l) {
	switch (l) {
		case "de":
			msg="Bitte geben Sie einen Benutzername";
		break;
		case "es":
			msg="Elegir el nombre de usurarion";
		break;
		case "fr":
			msg="S'il vous plaît entrer un nom d'utilisateur";
		break;
		case "it":
			msg="Si prega di inserire un nome utente";
		break;
		case "nl":
			msg="Vul een gebruikersnaam in";
		break;
		case "pt":
			msg="Por favor, indique um nome de usuário";
		break;
		case "se":
			msg="Vänligen ange ett användarnamn";
		break;
			default : msg="Please enter a username";
	}		
	s_username = IsItPresent(s_username, msg);
	if(! s_username) return false;
	return true;
}

function CheckVercode(val,lan) {
	switch (lan){
		case "de":
			msg="Bitte kopieren Sie den Bestätigungs-Code";
		break;
		case "es":
			msg="Por favor, copie el código de verificación";
		break;
		case "fr":
			msg="S'il vous plaît copiez le code de vérification";
		break;
		case "it":
		msg="Copiate il codice di verifica";
		break;
		case "nl":
			msg="Kopieer de verificatiecode";
		break;
		case "pt":
			msg="Por favor, copie o código de verificação";
		break;
		case "se":
			msg="Kopiera verifieringskoden";
		break;
		default:
			msg="Please copy the verification code";
	}
	val = IsItPresent(val, msg);
	if(! val) return false;
	return true;
}

function CheckPassword(s_password1, s_password2,l) {
	switch (l){
		case "de":
			msg1="Bitte geben Sie ein Passwort";
			msg2="Bitte wiederholen Sie das Passwort";
			msg3="Die eingegebenen Passwörter sind nicht identisch";
		break;
		case "es":
			msg1="Elegir la contraseña";
			msg2="Repetir la contraseña";
			msg3="Las contraseñas no son las mismas";
		break;
		case "fr":
			msg1="S'il vous plaît entrer un mot de passe";
			msg2="S'il vous plaît répétez le mot de passe";
			msg3="Les mots de passe entrés ne sont pas les mêmes";
		break;
		case "it":
			msg1="Si prega di inserire una password";
			msg2="Si prega di ripetere la password";
			msg3="Le password che hai inserito non sono le stesse";
		break;
		case "nl":
			msg1="Vul een wachtwoord in";
			msg2="Herhaal het wachtwoord";
			msg3="De wachtwoorden die je hebt ingevuld zijn niet gelijk";
		break;
		case "pt":
			msg1="Digite uma senha";
			msg2="Por favor, repita a senha";
			msg3="As senhas que você digitou não são iguais";
		break;
		case "se":
			msg1="Ange ett lösenord";
			msg2="Upprepa lösenord";
			msg3="Lösenorden du angav är inte samma";
		break;
		default :
			msg1="Please enter a password";
			msg2="Please repeat the password";
			msg3="The passwords you entered are not the same";
	}				
	s_password1 = IsItPresent(s_password1, msg1);
	if(! s_password1) return false;
	s_password2 = IsItPresent(s_password2, msg2);
	if(! s_password2) return false;
	if(s_password1!=s_password2) {
		alert (msg3);
		return false;
	}
	return true;
}

function CheckName(s_name,l) {
	switch (l){
		case "de":
			msg="Bitte geben Sie Ihren Namen";
		break;
		case "es":
			msg="Completar su nombre";
		break;
		case "fr":
			msg="S'il vous plaît entrer votre nom";
		break;
		case "it":
			msg="Inserisci il tuo nome";
		break;
		case "nl":
			msg="Vul uw naam in";
		break;
		case "pt":
			msg="Digite seu nome";
		break;
		case "se":
			msg="Ange ditt namn";
		break;
		default : 
			msg="Please enter your name";
	}		
	s_name = IsItPresent(s_name,msg);
	if(! s_name) return false;
	var i = s_name.indexOf('  ',0);
	while(i > -1) {
		s_name = s_name.substring(0,(i + 1)) +
		s_name.substring((i + 2),s_name.length);
		i = s_name.indexOf('  ',0);
	}
	s_name = s_name.toLowerCase();
	var s = new String(s_name.substring(0,1));
	s = s.toUpperCase();
	s_name = s + s_name.substring(1,s_name.length);
	i = s_name.indexOf(' ',0);
	if(i == (s_name.length - 1)) i = -1;
	var ts = new String("");
	var j = 0;
	while(i > -1) {
		i++;
		j = i + 1;
		s = s_name.substring(i,j);
		s = s.toUpperCase();
		ts = '';
		if(i > 0) ts = s_name.substring(0,i);
		s_name = ts + s + s_name.substring(j,s_name.length);
		i = s_name.indexOf(' ',j);
		if(i == (s_name.length - 1)) i = -1;
	}
	this.value = s_name;
	return true;
}

function CheckPhoneMail(s_phone1,s_phone2,s_email,l) {
	switch (l) {
		case "de":
			msg="Bitte geben Sie eine Telefonnummer oder eine E-Mail-Adresse";
		break;
		case "es":
			msg="Completar su número de teléfono o una dirección de correo electrónico";
		break;
		case "fr":
			msg="S'il vous plaît, entrez un numéro de téléphone ou une adresse e-mail";
		break;
		case "it":
			msg="Si prega di inserire un numero di telefono o un indirizzo e-mail";
		break;
		case "nl":
			msg="Vul een telefoonnummer of email adres in";
		break;
		case "pt":
			msg="Por favor, indique um número de telefone ou um endereço de e-mail";
		break;
		case "se":
			msg="Ange ett telefonnummer eller en e-postadress";
		break;
		default : 
			msg="Please enter a phone number or an e-mail address";
	}		
	s_phone1 = StripSpacesFromEnds(s_phone1);
	s_phone2 = StripSpacesFromEnds(s_phone2);
	s_email = StripSpacesFromEnds(s_email);
	if(s_phone1.length | s_phone2.length | s_email.length) {
		return true;
	}
	else {
		alert(msg);
		return false;
	}
}

function CheckEmail(s_email,l) {
	switch (l) {
		case "de":
			msg="Bitte geben Sie Ihre E-Mail Adresse";
		break;
		case "es":
			msg="Completar su  dirección de correo electrónico";
		break;
		case "fr":
			msg="S'il vous plaît entrer votre adresse e-mail";
		break;
		case "it":
			msg="Inserisci il tuo indirizzo e-mail";
		break;
		case "nl":
		msg="Vul een email adres in";
		break;
		case "pt":
			msg="Por favor digite seu endereço de e-mail";
		break;
		case "se":
			msg="Ange din e-postadress";
		break;
		default : 
			msg="Please enter your e-mail address";
	}
	s_email = IsItPresent(s_email,msg);
	if(! s_email) return false;
	var i = s_email.indexOf(' ',0);
	while(i > -1) {
		s_email = s_email.substring(0,i) +
		s_email.substring((i + 1),s_email.length);
		i = s_email.indexOf(' ',0);
	}
	this.value = s_email;
	if((s_email.length < 6) ||
	(s_email.indexOf('@',0) < 1) ||
	(s_email.lastIndexOf('@') != s_email.indexOf('@',0)) ||
	(s_email.lastIndexOf('@') > (s_email.length - 5)) ||
	(s_email.lastIndexOf('.') > (s_email.length - 3)) ||
	(s_email.lastIndexOf('.') < (s_email.length - 4)) ||
	(s_email.indexOf('..',0) > -1) ||
	(s_email.indexOf('@.',0) > -1) ||
	(s_email.indexOf('.@',0) > -1) ||
	(s_email.indexOf(',',0) > -1)) {
		switch (l){
			case "de":
				msg="Diese E-Mail-Adresse ist nicht gültig";
			break;
			case "es":
				msg="La dirección de correo electrónico en inválida";
			break;
			case "fr":
				msg="Cet e-mail n'est pas valide";
			break;
			case "it":
				msg="Questo indirizzo e-mail non è valido";
			break;
			case "nl":
				msg="Dit is een ongeldig email adres: ";
			break;
			case "pt":
				msg="Este endereço de e-mail não é válido";
			break;
			case "se":
				msg="Den här e-postadressen är inte giltig";
			break;			
			default : 
				msg="This email address is not valid: ";
		}	
		alert(msg + s_email);
		return false;
	}
	return true;
}
//]]>
