
var alertStart = "Votre demande ne peut être traitée. ";
var maxemails = 20;

// pops up a window at the specified dimensions at the given url
function popupWindow(url, width, height, destination) {
	
	width = width;
	height = height;
	window.open(url, 0, 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width='+width+',height='+height+',left=280,top=100,screenX=280,screenY=100');
}

// Check for null and for empty
function isFilled(elm)
{
	checkVal = elm.value;
	checkVal = trim(checkVal);
	
	if (checkVal == "" || checkVal == null) 
		return false;
	else
		return true;
}

// Trim functions

function ltrim(str)
{
   var whitespace = new String(" \n\r");
   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}

function rtrim(str)
{
   var whitespace = new String(" \n\r");
   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }

   return s;
}

function trim(str)
{
   return rtrim(ltrim(str));
}


function isForumReady(form) {

	if (isFilled(form.titre) == false)
	{
		alert("Vous devez entrer un objet.");
		form.titre.focus();
		return false;
	}
	if (isFilled(form.texte) == false)
	{
		alert("Vous devez entrer un commentaire.");
		form.texte.focus();
		return false;
	}
	if (isFilled(form.auteur) == false)
	{
		alert("Vous devez entrer votre nom.");
		form.auteur.focus();
		return false;
	}
	
	return true;
}

function isPublicForumReady(form) {

	if (isFilled(form.titre) == false)
	{
		alert("Vous devez entrer un objet.");
		form.titre.focus();
		return false;
	}
	if (isFilled(form.texte) == false)
	{
		alert("Vous devez entrer un commentaire.");
		form.texte.focus();
		return false;
	}
	if (isFilled(form.auteur) == false)
	{
		alert("Vous devez entrer votre nom.");
		form.auteur.focus();
		return false;
	}
	if (isFilled(form.email_auteur) == false)
	{
		alert("Vous devez entrer une adresse email.");
		form.email_auteur.focus();
		return false;
	}
	
	return true;
}

function isLoginReady(form) {

	if (isFilled(form.f_user) == false)
	{
		alert("Vous devez entrer un username.");
		form.f_user.focus();
		return false;
	}
	if (isFilled(form.f_pass) == false)
	{
		alert("Vous devez entrer un password.");
		form.f_pass.focus();
		return false;
	}
	
	return true;
}

function isContributeLoginReady(form) {

	if (isFilled(form.op_auteur_nom) == false)
	{
		alert("Vous devez entrer votre nom.");
		form.op_auteur_nom.focus();
		return false;
	}
	
	return true;
}

function isContributeDetailsReady(form) {

	if (isFilled(form.titre) == false)
	{
		alert("Vous devez entrer un titre.");
		form.titre.focus();
		return false;
	}
	if (isFilled(form.chapo_contrib) == false)
	{
		alert("Vous devez entrer une description.");
		form.chapo_contrib.focus();
		return false;
	}
	if (isFilled(form.lien_titre) == false)
	{
		alert("Vous devez entrer un nom du site internet.");
		form.lien_titre.focus();
		return false;
	}
	if (isFilled(form.lien_url) == false)
	{
		alert("Vous devez entrer une adresse du site internet.");
		form.lien_url.focus();
		return false;
	}
	return true;
}

// Check valid email address
function isValidEmail(str)
{

  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid

  if (!reg1.test(str) && reg2.test(str))
  {
    return true;
  }

  return false;
}

function isContactFormValid(form)
{
	if(isFilled(form.nom) == false)
	{
		alert(alertStart + "Merci de préciser votre nom");
		form.nom.focus();
		return false;		
	}
	
	if(!isValidEmail(form.emailAddress.value))
	{
		alert(alertStart + "Merci de vérifier le format de votre adresse email (XXX@XXX.XXX)");
		form.emailAddress.focus();
		return false;
	}

	if(isFilled(form.title) == false)
	{
		alert(alertStart + "Merci de préciser un sujet de message");
		return false;		
	}
	
	if(isFilled(form.message) == false)
	{
		alert(alertStart + "Merci de rédiger votre message");
		form.message.focus();
		return false;		
	}
}

// validate your details before submission
function isTopoFormValid(form)
{
	if(isFilled(form.nom) == "")
	{
		alert(alertStart + "Merci de préciser votre nom");
		return false;		
	}

	if(isFilled(form.dept) == "")
	{
		alert(alertStart + "Merci de préciser votre département");
		return false;		
	}

	if(isFilled(form.connu) == false)
	{
		alert(alertStart + "Merci de préciser comment vous avez connu la Fourmi");
		return false;		
	}

	if(!isValidEmail(form.emailAddress.value))
	{
		alert(alertStart + "Merci de vérifier le format de votre adresse email (XXX@XXX.XXX)");
		form.emailAddress.focus();
		return false;
	}

	if(isFilled(form.topomailId) == false)
	{
		alert(alertStart + "Merci de sélectionner votre extrait");
		return false;		
	}

	if(form.conditions.checked == false)
	{
		alert(alertStart + "La validation des conditions générales d'utilisation est obligatoire pour télécharger REPERDYS.");
		return false;		
	}

}

// validate details before submission
function isSearchFormValid(form)
{
	if( (form.freq100.value == "tous les mots-0-9999999") &&
		(isFilled(form.nbsyll) == false) &&
		(isFilled(form.mot_start) == false) &&
		(isFilled(form.mot_end) == false) &&
		(isFilled(form.syll_start) == false) &&
		(isFilled(form.syll_end) == false) &&
		(isFilled(form.syll) == false) &&
		(isFilled(form.rime) == false) )
	{
		alert(alertStart + "Merci de sélectionner plus qu'une critere");
		return false;		
	}
}

function isEnvoyerFormValid(form)
{
	if(isFilled(form.nom) == false)
	{
		alert(alertStart + "Merci de préciser votre nom");
		form.nom.focus();
		return false;		
	}
	if(isFilled(form.prenom) == false)
	{
		alert(alertStart + "Merci de préciser votre prénom");
		form.prenom.focus();
		return false;		
	}
	if(!isValidEmail(form.emailAddress.value))
	{
		alert(alertStart + "Merci de vérifier le format de votre adresse email (XXX@XXX.XXX)");
		form.emailAddress.focus();
		return false;
	}
	if(isFilled(form.emailsAmis) == false)
	{
		alert(alertStart + "Merci de préciser des emails");
		form.emailsAmis.focus();
		return false;	
	}	

	// check all email adresses
	var emails = form.emailsAmis.value.split(";");
	var i;
	var tempList = new Array();
	for (i = 0; i < emails.length; i++)
	{
		var check = trim(emails[i]);
		if(check != "")
		{
			if(!isValidEmail(check))
			{
				alert(alertStart + "Merci de vérifier le format de l'adresse email \"" + check + "\" (XXX@XXX.XXX)");
				form.emailsAmis.focus();
				return false;
			} else {
				tempList.push(check);
			}
		}
	}
	if(tempList.length > maxemails)
	{
		alert(alertStart + "Merci de minimiser le nombre des adresses emails. Maximum de " + maxemails);
		form.emailsAmis.focus();
		return false;	
	}
	form.destList.value = tempList.join(";");
	//alert(form.destList.value);
	
	if(isFilled(form.message) == false)
	{
		alert(alertStart + "Merci de rédiger votre message");
		form.message.focus();
		return false;		
	}

	return true;
}

/** Espace Mutualisation */

function isBLFormValid(form)
{
	if(isFilled(form.numero_bl) == false)
	{
		alert(alertStart + "Merci de préciser la numéro du bon de livraison");
		form.numero_bl.focus();
		return false;		
	}
	if(isFilled(form.date_bl) == false)
	{
		alert(alertStart + "Merci de préciser la date du bon de livraison");
		form.date_bl.focus();
		return false;		
	}
	if(isFilled(form.numero_client) == false)
	{
		alert(alertStart + "Merci de préciser votre numéro de client");
		form.numero_client.focus();
		return false;		
	}
	if(isFilled(form.outils) == false)
	{
		alert(alertStart + "Merci de préciser l'outil commandé");
		form.outils.focus();
		return false;		
	}
	return true;
}

function isEspaceFormValid(form)
{
	if(isFilled(form.espace) == false)
	{
		alert(alertStart + "Merci de préciser une espace");
		form.espace.focus();
		return false;		
	}
	return true;
}

function isPredefSearchFormValid(form)
{
	if(isFilled(form.req) == false)
	{
		alert(alertStart + "Merci de choisir une requête");
		form.req.focus();
		return false;		
	}
	return true;
}

// validate details before submission
function isPersoSearchFormValid(form)
{
	if( (form.freq100.value == "tous les mots-0-9999999") &&
		(isFilled(form.nbsyll) == false) &&
		(isFilled(form.syll_start) == false) &&
		(isFilled(form.syll) == false) &&
		(isFilled(form.syll_end) == false) &&
		(isFilled(form.phon) == false) &&
		(isFilled(form.phon_start) == false) &&
		(isFilled(form.rime) == false) )
	{
		alert(alertStart + "Merci de sélectionner plus qu'une critere");
		return false;		
	}
}
