// JavaScript Document

function validateLoginForm()
{
	var err = '';
	var ret = true;
	var login = document.getElementById('login').value;
	var password = document.getElementById('password').value;
	var pattern = new RegExp(/^[a-zA-Z0-9]{3,20}$/);

	if (login.length == 0) { err += ' - Le nom d\'utilisateur est obligatoire' + "\n"; }
	if (password.length == 0) { err += ' - Le mot de passe est obligatoire' + "\n"; }
	if ((login.length > 0) && !pattern.test(login)) { err += ' - La syntaxe du nom d\'utilisateur est incorrecte' + "\n"; }
	if (err.length > 0) { alert('Impossible de s\'authentifier :' + "\n" + err); ret = false; }
	return (ret);
}

function validateContactForm()
{
	var err = '';
	var ret = true;

	var name = document.getElementById('name').value;
	var company = document.getElementById('company').value;
	var phone = document.getElementById('telephone').value;
	var email = document.getElementById('email').value;
	var message = document.getElementById('message').value;

	var patternName = new RegExp(/^[a-zA-Z\s]{3,}$/);
	var patternCompany = new RegExp(/^[a-zA-Z0-9\s._-]{3,}$/);
	var patternPhone = new RegExp(/^([0-9]{10})|(\+[0-9]{2}\.[0-9]{9})$/);
	var patternEmail = new RegExp(/^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+$/);
	
	if ((name.length == 0) || (name == 'Votre nom')) { err += ' - Votre nom est obligatoire' + "\n"; }
	if ((company.length == 0) || (company == 'Votre entreprise')) { err += ' - Votre entreprise est obligatoire' + "\n"; }
	if ((phone.length == 0) || (phone == 'Votre téléphone')) { err += ' - Votre téléphone est obligatoire' + "\n"; }
	if ((email.length == 0) || (email == 'Votre e-mail')) { err += ' - Votre e-mail est obligatoire' + "\n"; }
	if ((message.length == 0) || (message == 'Votre message')) { err += ' - Votre message est obligatoire' + "\n"; }
	
	if ((name.length > 0) && !patternName.test(name)) { err += ' - La syntaxe de votre nom est incorrecte' + "\n"; }
	if ((company.length > 0) && !patternCompany.test(company)) { err += ' - La syntaxe de votre nom d\'entreprise est incorrecte' + "\n"; }
	if ((phone.length > 0) && !patternPhone.test(phone)) { err += ' - La syntaxe de votre numéro de téléphone est incorrecte' + "\n"; }
	if ((email.length > 0) && !patternEmail.test(email)) { err += ' - La syntaxe de votre email est incorrecte' + "\n"; }

	if (err.length > 0) { alert('Impossible d\'envoyer votre message :' + "\n" + err); ret = false; }
	return (ret);
}

function validateLostForm()
{
	var err = '';
	var ret = true;
	var username = document.getElementById('lost').value;
	var patternUsername = new RegExp(/^[a-zA-Z0-9]{3,}$/);
	
	if (username.length == 0) { err += 'Vous devez entrer votre nom d\'utilisateur'; }
	if ((username.length > 0) && !patternUsername.test(username)) { err += 'La syntaxe de votre nom d\'utilisateur est incorrecte'; }
	
	if (err.length > 0) { alert(err); ret = false; }
	return (ret);
}

function validateUpdatePasswordForm()
{
	var err = '';
	var ret = true;	
	
	var password = document.getElementById('password').value;
	var npassword = document.getElementById('npassword').value;
	var vnpassword = document.getElementById('vnpassword').value;
	
	if (password.length == 0) { err += ' - Le mot de passe est obligatoire' + "\n"; }
	if (npassword.length == 0) { err += ' - Le nouveau mot de passe est obligatoire' + "\n"; }
	if (npassword != vnpassword) { err += ' - Les nouveaux mots de passes doivent correspondre' + "\n"; }

	if (err.length > 0) { alert('Impossible de modifier votre mot de passe :' + "\n" + err); ret = false; }
	return (ret);
}

function validateNewShopForm()
{
	var err = '';
	var ret = true;	

	var name = document.getElementById('name').value;
	var url = document.getElementById('url').value;
	var description = document.getElementById('description').value;

	if (name.length == 0) { err += ' - Le nom de la boutique est obligatoire' + "\n"; }
	if (url.length <= 13) { err += ' - L\'adresse web de votre boutique est obligatoire' + "\n"; }
	if (description.length == 0) { err += ' - La description de votre boutique est obligatoire' + "\n"; }
	if (description.length > 200) { err += ' - La description de votre boutique est trop longue (' + description.length +' caractères)' + "\n"; }

	if (err.length > 0) { alert('Impossible de créer votre boutique :' + "\n" + err); ret = false; }
	return (ret);
}

function validateUserForm()
{
	var err = '';
	var ret = true;

	var username = document.getElementById('username').value;
	var password = document.getElementById('password');
	var vpassword = document.getElementById('vpassword');
	var firstname = document.getElementById('firstname').value;
	var lastname = document.getElementById('lastname').value;
	var promotools = document.getElementById('promotoolsId').value;
	var company = document.getElementById('company').value;
	var telephone = document.getElementById('telephone').value;
	var email = document.getElementById('email').value;
	
	var patternName = new RegExp(/^[a-zA-Z\s]{3,}$/);
	var patternUsername = new RegExp(/^[a-zA-Z0-9]{3,}$/);
	var patternCompany = new RegExp(/^[a-zA-Z0-9\s._-]{3,}$/);
	var patternPhone = new RegExp(/^([0-9]{10})|(\+[0-9]{2}\.[0-9]{9})$/);
	var patternEmail = new RegExp(/^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+$/);
	
	if (username.length == 0) { err += ' - Le nom d\'utilisateur est obligatoire' + "\n"; }
	if ((password != null) && (password.value.length == 0)) { err += ' - Le mot de passe est obligatoire' + "\n"; }
	if (firstname.length == 0) { err += ' - Le prénom est obligatoire' + "\n"; }
	if (lastname.length == 0) { err += ' - Le nom est obligatoire' + "\n"; }
	if (company.length == 0) { err += ' - L\'entreprise est obligatoire' + "\n"; }
	if (telephone.length == 0) { err += ' - Le numéro de téléphone est obligatoire' + "\n"; }
	if (email.length == 0) { err += ' - L\'e-mail est obligatoire' + "\n"; }
	if (promotools.length == 0) { err += ' - L\'ID Promotools est obligatoire' + "\n"; }

	if ((username.length > 0) && !patternUsername.test(username)) { err += ' - La syntaxe du nom d\'utilisateur' + "\n"; }
	if ((firstname.length > 0) && !patternName.test(firstname)) { err += ' - La syntaxe du prénom d\'utilisateur' + "\n"; }
	if ((lastname.length > 0) && !patternName.test(lastname)) { err += ' - La syntaxe du nom d\'utilisateur' + "\n"; }
	if ((company.length > 0) && !patternCompany.test(company)) { err += ' - La syntaxe du nom d\'entreprise est incorrecte' + "\n"; }
	if ((telephone.length > 0) && !patternPhone.test(telephone)) { err += ' - La syntaxe du numéro de téléphone est incorrecte' + "\n"; }
	if ((email.length > 0) && !patternEmail.test(email)) { err += ' - La syntaxe de l\'e-mail est incorrecte' + "\n"; }
	if ((promotools.length > 0) && !patternUsername.test(promotools)) { err += ' - La syntaxe de l\'ID Promotools est incorrecte' + "\n"; }
	

	if (((password != null) && (vpassword != null)) && (password.value != vpassword.value)) { err += ' - Les mots de passes doivent correspondre' + "\n"; }

	if (err.length > 0) { alert('Impossible de créer l\'utilisateur :' + "\n" + err); ret = false; }
	return (ret);
}

function emptyField(input, defaultValue)
{
	if (input.value == defaultValue) { input.value = ''; }
}

function fillField(input, defaultValue)
{
	if (input.value.length == 0) { input.value = defaultValue; }
}