// popup
function Popup(page,largeur,hauteur,options) {
	var top=50;//(screen.height-hauteur)/2;
	var left=50;//(screen.width-largeur)/2;
	window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
// rollover menu
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// flip div
function flip(rid) {
    current=(document.getElementById(rid).style.display == 'none') ? 'block' : 'none';
    document.getElementById(rid).style.display = current;
}

function CacheTout( nom ){	
	var NumDiv = 1;
	while ( document.getElementById( nom + NumDiv) ){
		document.getElementById(nom + NumDiv).style.display = 'none';
		NumDiv++;
	}
}

// addon ajax
function returnObjById( id ){
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}

function writediv(texte, id){
     document.getElementById(id).innerHTML = texte;
}

function ajax(fld, url, id ){
	var choix = fld;
     if(choix != ''){
		writediv('Chargement en cours...', id);
		texte = file(url);
        writediv(texte, id);
		fct_result('dsp_result', 0 , 10);
	}
}

function file(fichier){
     if(window.XMLHttpRequest) // FIREFOX
          xhr_object = new XMLHttpRequest();
     else if(window.ActiveXObject) // IE
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     else
          return(false);
     xhr_object.open("GET", fichier, false);
     xhr_object.send(null);
     if(xhr_object.readyState == 4) return(xhr_object.responseText);
     else return(false);
}

function fct_validate_contact(frm){
	var email = frm.frm_email;
	var prenom = frm.frm_prenom;
	var nom = frm.frm_nom;
	var content = frm.frm_content;

	if(fct_is_not_empty(prenom) == false) {
		// Le champ est vide: fin de la procédure
		fct_message(prenom,"Le prénom est manquant");
		return false;
	}
	
	if(fct_is_not_empty(nom) == false) {
		// Le champ est vide: fin de la procédure
		fct_message(nom,"Le nom est manquant");
		return false;
	}
	
	// Validation de l'email: il est obligatoire
	if(fct_is_not_empty(email) == false) {
		// Le champ est vide: fin de la procédure
		fct_message(email,"L'email est obligatoire");
		return false;
	} else {
		// Test de la validité de l'email
		if(fct_is_email(email) == false) {
			fct_message(email,"Le format de l'email n'est pas correct");
			return false;
		}
	}
	
	if(fct_is_not_empty(content) == false) {
		// Le champ est vide: fin de la procédure
		fct_message(content,"Le corps du message est manquant");
		return false;
	}
	
	// Si tous les tests ont aboutis: on peut envoyer le formulaire
	//alert("Validation effectuée avec succès !");
	frm.submit();
}

/*
Validation du formulaire newsletter
*/
function fct_validate_newsletter(frm){
	var error = 0;
	var email = frm.frm_email;
	for (var i=0; i< frm.frm_task.length;i++) {
         if ( frm.frm_task[i].checked) {
           var task = frm.frm_task[i].value;
         }
      }
	// Validation de l'email: il est obligatoire
	if(fct_is_not_empty(email) == false) {
		// Le champ est vide: fin de la procédure
		fct_message(email,"L'email est obligatoire");
		error = 1;
	} else {
		// Test de la validité de l'email
		if(fct_is_email(email) == false) {
			fct_message(email,"Le format de l'email n'est pas correct");
			error = 1;
		}
	}
	// Si tous les tests ont aboutis: on peut envoyer le formulaire
	//alert("Validation effectuée avec succès !");
	if (error==0){;
		ajax(frm.frm_email.value, './components/com_newsletter/add_email.php?email='+email.value+'&task='+task, 'home_newsletter');
	}
}

// Affichage du message d'erreur
function fct_message(fld,msg) {
	alert("Une erreur a été détectée: \n" + msg);
	fld.focus();
}
// Fonction de vérification du format d'un email
function fct_is_email(fld) {
	str = fld.value;
	exp= /^[A-Za-z0-9\.\-_]+@[A-Za-z0-9\.\-_]+$/g;
	if(exp.test(str)) {
		return true;
	} else {
		return false;
	}
}
// Fonction de vérification de la présence d'une valeur
function fct_is_not_empty(fld) {
	if(fld.value.length > 0) {
		// le champ n'est pas vide
		// il faut tester caractère par caractère si le champ contient autre chose que des espaces blancs
		var nonwhitespace = 0;
		var c;
		for (i = 0; i < fld.value.length; i++) {
			c = fld.value.charAt(i);
			if (c.indexOf(" ") == -1) { // si égal à -1 alors le caractère testé n'est pas un espace blanc
				nonwhitespace++;
			}
		}
		if(nonwhitespace > 0) {
			// le champ ne contient pas que des espaces blancs
			return true;
		} else {
			// le champ ne contient que des espaces blancs
			return false;
		}
	} else {
	// le champ est vide
	return false;
	}
}
