var digits = "0123456789";

<!-- Vérification des formulaires !-->
<!-- Les champs qui doivent être vérifiés doivent avoir un attribut "id" dont la valeur vaut "required" !!! !-->
function checkForm(form){

	var num_elements = form.elements.length;
	var error = false;
	var focused = false;
	
	// Parcours du formulaire à la recherche de champs obligatoires et vides:
	for(var i = 0; i < num_elements ; i++){
			
		var class = form.elements[i].className;

		if(form.elements[i].value == ""){
			error = true;
			form.elements[i].className = class + " formRequired";
			if(!focused){
				form.elements[i].focus();
				focused = true;
			}
		}else form.elements[i].className = class.replace("formRequired", "");
	}
	// Alerte en cas d'erreur:
	if(error){
		//alert("<?php locale('form_obligatory_text'); ?>");
		return false;
	}else{
		// Validité de l'e-mail, des mots de passe, des conditions:
		return checkEmail(form);
	}
}

<!-- Vérification online !-->
<!-- Obsolète? !-->
function checkOnline(form){
	var radio = form.elements['object[online]']; // arrrghh....
	if(!radio[0].checked && !radio[1].checked){ 
		//alert('<?php locale('form_alert_online'); ?>');
		return false;
	}
}

<!-- Vérification fichier image !-->
function checkFile(form){
	if(form.userfile.value == ''){ 
		//alert('<?php locale('form_alert_picture'); ?>');
		return false;
	}
	// Sinon, soumission du formulaire:
	form.img_upload.value = true;
	form.submit();
	
}

<!-- Vérification des mots de passe !-->
function checkPassword(form){

	if(form.password && form.password_confirm){
		if(form.password.value != form.password_confirm.value){
			form.password.className = "text_obligatory";
			form.password_confirm.className = "text_obligatory";
			form.password.focus();
			//alert("<?php locale('form_alert_password'); ?>");
			return false;
		}else{
			form.password.className = "text";
			form.password_confirm.className = "text";
			return true;
		}
	}
}
<!-- Vérification de l'email !-->
function checkEmail(form){
	
	var class = form.email.className;
	
	if(form.email && form.email.id != 'hidden' && form.email.value != ''){
		validRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		strEmail = form.email.value;
		
		if (!validRegExp.test(strEmail)) {
			form.email.className = " formRequired";
			form.email.className = class + " formRequired";
			document.getElementById('invalidEmail').style.visibility = 'visible';
			form.email.focus();
			//alert('<?php locale('form_alert_email'); ?>');
			return false;
		}else{
			form.email.className = class.replace("formRequired", "");
			document.getElementById('invalidEmail').style.visibility = 'hidden';
		}
	}
	return true;
}

<!-- Vérification de l'url !-->
function checkUrl(form){
	if(form.url != null && form.url.id != 'hidden' && form.url.value != ''){
		validRegExp = /^\s*(?:https?:\/\/)([-a-zA-Z0-9]+\.)+([-a-zA-Z0-9]+)(?:\/.*)?/;
		strUrl = form.url.value;
		
		if (!validRegExp.test(strUrl)) {
			form.url.className = "text_obligatory";
			form.url.focus();
			//alert('<?php locale('form_alert_url'); ?>');
			return false;
		}else{
			form.url.className = "text";
		}
	}
	return true;
}

<!-- Condtions générales !-->
function checkConditions(form){
	if(form.conditions != null && !form.conditions.checked){
		//alert('<?php locale('form_alert_conditions'); ?>');
		return false;
	}
	return true;
}


<!-- Redirection !-->
function redirect(option, url){
	var name = option.name;
	var value = option.options[option.selectedIndex].value;
	var new_location = url + "&" + name + "=" + value;
	//alert(new_location);
	window.location.replace(new_location);
}

<!-- Remplacement de la page actuelle !-->
function replace(url){
	document.location.replace(url);
}


<!-- PopUp !-->
function popUp(url, title, w, h) {
	if(isNaN(w)){
		w = '<?php echo HELP_WIDTH; ?>';
	}
	if(isNaN(h)){
		h = '<?php echo HELP_HEIGHT; ?>';
	}
	window.open(url, 'Window', 'width=' + w + ', height=' + h + ', toolbar=no, scrollbars=no, resizable=yes');
	//return false;
}

<!-- Afficher un élément !-->
function displayElement(id){
	if (document.getElementById && document.getElementById(id) != null){
		document.getElementById(id).style.visibility='visible';
		document.getElementById(id).style.display='block';
	}
}
  
<!-- Cacher un élément !-->
function hideElement(id){
	if (document.getElementById && document.getElementById(id) != null){
		document.getElementById(id).style.visibility='hidden';
		document.getElementById(id).style.display='none';
	}
}
<!-- Rendre un élément obligatoire !-->
function setRequired(form){
	var num_elements = form.elements.length;
	for(var i = 0; i < num_elements ; i++){
		//alert(form.elements[i].name + form.elements[i].id);
		if(form.elements[i].id == "hidden"){
			form.elements[i].id = "required_hidden";
		}
	}
}
<!-- Rendre un élément non-obligatoire !-->
function setHidden(form){
	var num_elements = form.elements.length;
	for(var i = 0; i < num_elements ; i++){
		if(form.elements[i].id == "required_hidden"){
			form.elements[i].id = "hidden";
		}
	}
}

<!-- Remplacer le contenu d'un élément !-->
function setString(id, string){
	if (document.getElementById && document.getElementById(id) != null){
		document.getElementById(id).innerHTML=string;
	}
}


<!-- Valeur numérique !-->
function checkNumeric(input){
	var string = stripChars(new String(input.value),new String(digits)).valueOf();
	//alert(string);
	input.value = string;
}

<!-- Supprime les caractères indésirables !-->
function stripChars(s, bag){
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++){   
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) != -1) returnString += c;
	}
	return returnString;
}

<!-- Supprime le contenu d'un champ une fois uniquement !-->
function clearOnce(input){
	input.value='';
	input.onfocus='';
}
