// selectionne / déselectionne des checkbox
function checkThis (id) {

	var d = document.getElementById(id);
	
	if (d) {
	
		if (d.checked == true) {
			d.checked = false;
		} else if (d.checked == false) {
			d.checked = true;
		}
	}

}

// valide un formulaire
function validForm(formName)
{
	var isOK = true;
	var infoText = '';

/*	if (formName == 'disk_form')
	{
		if (document.getElementById('band').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Groupe" doit être renseigné.\n';
		}
		if (document.getElementById('title').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Titre" doit être renseigné.\n';
		}
		if (document.getElementById('cat1').value == '0')
		{
			isOK = false;
		infoText += 'Au moins une catégorie doit être selectionnée.\n';
		}
		for( j = 1; j <= 5; j++ )
		{
			for( i = 1; i <= 5; i++ )
			{
				if ( i != j && document.getElementById('cat' + i).value == document.getElementById('cat' + j).value && document.getElementById('cat' + i).value != '0')
				{
					isOK = false;
					infoText += 'La catégorie ' + i + ' est la même que la catégorie ' + j + '.\n';
			}
			}
		}
		for( i = 2; i <= 5; i++ )
		{
			if (document.getElementById('cat' + i).value == '0' && document.getElementById('pcat' + i).style.display == '')
			{
				isOK = false;
				infoText += 'La catégorie ' + i + ' doit avoir une valeur ou être fermée.\n';
			}
		}
		if (document.getElementById('condition').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Etat" doit être renseigné.\n';
		}
		if (!isInteger(document.getElementById('p_euro').value) || document.getElementById('p_euro').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Prix" doit être un nombre entier.\n';
		}
		if (document.getElementById('support').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Support" doit être renseigné.\n';
		}
		if (isNaN(document.getElementById('stock').value) || document.getElementById('stock').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Stock" doit être numérique.\n';
		}
		if (isNaN(document.getElementById('reserved').value) || document.getElementById('reserved').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Reservé" doit être numérique.\n';
		}
	}
	else */ if (formName == 'register_form')
	{
		if (document.getElementById('name').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Nom" doit être renseigné.\n';
		}
		if (document.getElementById('surname').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Prénom" doit être renseigné.\n';
		}
		if (document.getElementById('adress1').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Adresse 1" doit être renseigné.\n';
		}
		if (document.getElementById('cp').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Code Postal" doit être renseigné.\n';
		} else if (isInteger(document.getElementById('cp').value) == false)
		{
			isOK = false;
			infoText += 'Le format du code postal est incorrect.\n';
		}
		if (document.getElementById('city').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Ville" doit être renseigné.\n';
		}
		
		// Courriel
		if (document.getElementById('mail').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Courriel" doit être renseigné.\n';
		} else if (isEmailAdress(document.getElementById('mail').value) == false)
		{
			isOK = false;
			infoText += 'L\'adresse email n\'est pas valide.\n';
		}
		
		// Telephone
		if (document.getElementById('tel').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Tel" doit être renseigné.\n';
		} else if (isInteger(document.getElementById('tel').value) == false)
		{
			isOK = false;
			infoText += 'Le format du numéro de téléphone est incorrect.\n';
		} else if (document.getElementById('tel').value.length < 8)
		{
			isOK = false;
			infoText += 'Le numero de telephone est trop court.\n';
		}
		
		// Test anti-spam
		if (document.getElementById('required').value == '')
		{
			isOK = false;
			infoText += 'Vous devez fournir une réponse au test anti-spam.\n';
		}
	}
	else if (formName == 'contact_form')
	{

		if (document.getElementById('name').value == '')
		{
			isOK = false;
			infoText += 'Le champ "nom et prénom" doit être renseigné.\n';
		}
		if (isEmailAdress(document.getElementById('mail').value) == false)
		{
			isOK = false;
			infoText += 'Le champ "courriel" doit être renseigné.\n';
		}
		if (document.getElementById('subject').value == '')
		{
			isOK = false;
			infoText += 'Le champ "sujet" doit être renseigné.\n';
		}
		if (document.getElementById('text').value.length < 5)
		{
			isOK = false;
			infoText += 'Le message est trop court.\n';
		}
		if (document.getElementById('required').value == '')
		{
			isOK = false;
			infoText += 'Vous devez fournir une réponse au test anti-spam.\n';
		}
	}
/*	else if (formName == 'contact_popup_form')
	{
		if (document.forms[0].service[0].checked == false && document.forms[0].service[1].checked == false)
		{
			isOK = false;
			infoText += lang_contact_service + '.\n';
		}
		if (document.getElementById('name').value == '')
		{
			isOK = false;
			infoText += lang_contact_name + '.\n';
		}
		if (document.getElementById('subject').value == '')
		{
			isOK = false;
			infoText += lang_contact_subject + '.\n';
		}
		if (isEmailAdress(document.getElementById('mail').value) == false)
		{
			isOK = false;
			infoText += lang_contact_mail + '.\n';
		}
		if (document.getElementById('text').value.length < 5)
		{
			isOK = false;
			infoText += lang_contact_text + '.\n';
		}
	}*/

	else if (formName == 'ann_form')
	{
		if (document.getElementById('body').value == '')
		{
			isOK = false;
			infoText += 'Vous devez saisir une description.\n';
		} else if (document.getElementById('body').value.length < 10)
		{
			isOK = false;
			infoText += 'Votre annonce est trop courte.\n';
		}

		if (document.getElementById('dbcat').value == '')
		{
			isOK = false;
			infoText += 'Vous devez choisir une catégorie.\n';
		}

		if (document.getElementById('price').value == '')
		{
			isOK = false;
			infoText += 'Vous devez indiquer un prix.\n';
		} else if (isReal(document.getElementById('price').value) == false)
		{
			isOK = false;
			infoText += 'Le format du prix n\'est pas correct.\n';
		}
	}

	else if (formName == 'login_form')
	{
		// The mail check
		if (document.getElementById('mail').value == '')
		{
			isOK = false;
			infoText += 'Le champ "Courriel" doit être renseigné.\n';
		} else if (isEmailAdress(document.getElementById('mail').value) == false)
		{
			isOK = false;
			infoText += 'L\'adresse email n\'est pas valide.\n';
		}

		// The pass check
		if (document.getElementById('pass').value == '')
		{
			isOK = false;
			infoText += 'Vous devez renseigner le mot de passe.\n';
		} else if (document.getElementById('pass').value.length < 8)
		{
			isOK = false;
			infoText += 'Le mot de passe est trop court.\n';
		}
	}

	if (isOK == false)
	{
		infoText = '\n' + infoText;
		alert(infoText);
	}

	return isOK;
}

// Méthode vérifiant que la valeur saisie soit bien une date
function isDate(valeur)
{
	var re = /^\d{1}\d{1}\/\d{1}\d{1}\/\d{1}\d{1}\d{1}\d{1}$/;

	if(!re.test(valeur)) return false;
	else return true;
}

/**Méthode vérifiant que le champ soit une adresse email*/
function isEmailAdress(valeur)
{
	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;

	if(!re.test(valeur)) return false;
	else return true;
}

/**Méthode vérifiant que le champ ne soit pas vide*/
function isEmpty(valeur)
{
	var re = /^\S+$/;

	if(!re.test(valeur)) return false;
	else return true;
}

/**Méthode vérifiant que le champ soit bien un fichier image*/
function isFile(valeur)
{
	var re = /^.+\.(gif|jpg|jpeg|png)$/i;

	if(!re.test(valeur)) return false;
	else return true;
}

// Méthode vérifiant que la valeur saisie soit bien un entier
function isInteger(valeur)
{
	var re = /^\d+$/;

	if(!re.test(valeur)) return false;
	else return true;
}

/**Méthode vérifiant que le champ soit bien un réel*/
function isReal(valeur)
{
	var re = /^\d+([\.|,])?\d+$/;

	if(!re.test(valeur)) return false;
	else return true;
}

