// JavaScript Document


/***********************************************************************
* Donne le focus au champ ELEMNAME d'un formulaire FORMNAME
***********************************************************************/
function focusElement(formName, elemName) {
    var elem = document.forms[formName].elements[elemName];
    elem.focus();
    elem.select();
}

/***********************************************************************
* Redirection vers une nouvelle page LIEN avec un parametre ELEM
***********************************************************************/

function go(lien, elem)
{
	var l = elem.value;
	document.location.href = lien+"&lang="+l;
}

/***********************************************************************
* Teste si le navigateur utilsé est internet explorer
***********************************************************************/
function use_IE(lien, lang)
{
	if (navigator.appName!="Microsoft Internet Explorer")
		document.location.href = lien+"&lang="+lang;
	
}
/***********************************************************************
* Verifie le format de l'url de l'element passé en parametre
***********************************************************************/
function verifurl(elem) 
{	var t = elem.value.search(/^([http]+[/:/]+[\///])+(.+)?[/\./]+[a-z]{2,4}$/);

	if(elem.value.search(/^([http]+[/:/]+[\///])+(.+)?[/\./]+[a-z]{2,4}$/) == -1)
	{
    	return false;
    }
	else {return true;}
}

/***********************************************************************
* Verifie si la chaine passé en parametre est vide
***********************************************************************/
function isEmpty(elem) {
	var str = elem.value;
    var re = /.+/;
    if(!str.match(re)) {
        return true;
    } else {
        return false;
    }
}

/***********************************************************************
* Verifie le format de l'adresse e-mail de l'element passé en parametre
***********************************************************************/
function isEMailAddr(elem) {
	var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {        
        return false;
    } else {
        return true;
    }
}

/***********************************************************************
* Verifie si un champ contient uniquement des chiffres
***********************************************************************/
function isNumber(elem) {
	var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re)) {
        return false;
    }
    return true;
}

/***********************************************************************
* Verifie si une chaine compte bien un certain nombre de caracteres
***********************************************************************/
function isLen(elem, nb_min) {
	var str = elem.value;
    var re = /\b.{+ nb_min +}\b/;
    if (!str.match(re)) {
        return false;
    } else {
        return true;
    }
}

/***********************************************************************
* Teste si une chaine n'est pas plus courte que la longueur minimum
***********************************************************************/
function isXcharMin(elem, nb_char)
{
	var str = elem.value;
	if(str.length < nb_char) return false;
	else return true;
}


function count_selection()
{
	// On recupere l'element qui contient le titre des produits selectionnés
	var titre = document.getElementById('selection');
		
	var nb_sel = 0;
	var nb_choix=getElementsByClass("item").length;
  	//alert(nb_choix);

	for(i=0;i<nb_choix;i++){
		//alert(document.getElementById('full_'+i).style.visibility);
		champ = "full_"+i;
		//alert(champ);
		if(document.getElementById(champ).style.visibility == 'visible'){
			nb_sel++;
		}	
	}
	//alert(nb_sel);
	// Dans ce cas, l'uilisateur a selectionné au moins un produit
	if(nb_sel > 0){
		// On change le titre
		titre.innerHTML = 'Votre sélection';
		// On recupere l'etat actuel du div qui contient la selection de l'utilisateur
		var dis = document.getElementById('votre_selection').style.display;
		var vis = document.getElementById('votre_selection').style.visibility;
		//alert(dis+'<br/>'+vis);
		// Si ce dernier n'est pas encore affiché, on l'affiche et on cache la selection de l'entreprise 
		if(dis=="none" && vis=="hidden"){
			setTimeout("show_field('notre_selection')",10);	
			setTimeout("show_field('votre_selection')",20);
			//show_field('notre_selection');
			//show_field('votre_selection');
		}		
	}
	// Sinon, aucun produit n'a été selectionné donc on affiche les produits selectionnés par defaut
	else	{
		titre.innerHTML = 'Notre sélection';
		
		var dis = document.getElementById('notre_selection').style.display;
		var vis = document.getElementById('notre_selection').style.visibility;
		//alert(dis+'<br/>'+vis);
		// Si ce dernier n'est pas encore affiché, on l'affiche et on cache la selection de l'entreprise 
		if(dis=="none" && vis=="hidden"){
			show_field('votre_selection');
			show_field('notre_selection');	
		}		
	}
}

/***********************************************************************
* Teste si une chaine depasse le nombre de caractères maximum
***********************************************************************/
function isXcharMax(elem, nb_char)
{
	var str = elem.value;
	if(str.length > nb_char) return false;
	else return true;
}


/***********************************************************************
* Teste si une chaine contient uniquement des caracteres alphanumeriques
***********************************************************************/
function isAlphaNumeric(elem)
{
	var chaine = new String(elem.value);
	var expression = /^[àáâãäåòóôõöøèéêëçìíîïùúûüÿñoæa-z'-][0-9]+$/gi; // caractères autorisés
    if (!expression.test(chaine)){
		return true;
	}
    else return false;
}

function verif_form(form){
	
	var err = false;
	var err_mess = "";
	
	if(isEmpty(form.nom)){
		err = true;
		err_mess += ('- Veuillez saisir votre nom\n');
	}
	
	if(isEmpty(form.adresse)){
		err = true;
		err_mess += ('- Veuillez saisir votre adresse\n');
	}
	
	if(isEmpty(form.tel)){
		err = true;
		err_mess += ('- Veuillez saisir votre numéro de téléphone\n');
	}
	
	if(isEmpty(form.email)){
		err = true;
		err_mess += ('- Veuillez saisir votre adresse email\n');
	}else{
		
		if(!isEMailAddr(form.email)){
			err = true;
			err_mess += ('- Veuillez vérifier le format de votre adresse email\n');	
		}	
	}
	
		
	//var editeur 	= document.getElementById('type_editeur');
	var auteur 		= document.getElementById('type_auteur');
	var participant = document.getElementById('type_participant');
	var institution = document.getElementById('type_institution');
	//var specifier 	= document.getElementById('type_specifier');
	
	//if(editeur.checked == false && auteur.checked == false && participant.checked == false && institution.checked == false && specifier.checked == false){
	//	err = true;
	//	err_mess += ('- Veuillez préciser le motif de votre présence\n');
	//}
	
	//if(specifier.checked){
	//	if(isEmpty(form.specifier)){
	//		err = true;
	//		err_mess += ('- Veuillez saisir le motif de votre présence\n');
	//	}	
	//}
	
	if(isEmpty(form.table)){
		err = true;
		err_mess += ('- Veuillez préciser l\'espace souhaité\n');
	}	
	else{
		if(!isNumber(form.table)){
			err = true;
			err_mess += ('- L\espace indiqué n\'est pas un nombre\n');
		}		
	}
	/*
	if(isEmpty(form.description)){
		err = true;
		err_mess += ('- Veuillez saisir le description de votre activité\n');
	}
	*/
	if(err){
		alert(err_mess);
		return false;
	}
	else
		return true;

}
