// Noomba sport : page java.js

/***********************************************************************************
#n# fenetre(url,nom,w,h,t,l,s)
#p# url : chaine, url du document à mettre dans la fenêtre qui s'ouvre
#p# nom : chaine, nom du window sans espace SVP
#p# w : entier, largeur de la fenêtre
#p# h : entier, hauteur de la fenêtre
#p# t : entier, distance par rapport au haut de l'écran
#p# l : entier, distance par rapport à la gauche de l'écran
#p# s : chaine, pour avoir un scrollbar ou non
#c# ouvre un popup de taille et position paramétrables
***********************************************************************************/

function fenetre(url,nom,w,h,t,l,s)
{
if (!s)
	{
	s='no';
	}
else
	{
	s='yes';
	}
window.open (url,nom,'location=no,toolbar=no,directories=no,menubar=no,resizable=no,scrollbars='+s+',status=no,width='+w+',height='+h+',screenX=00,screenY=00,top='+t+',left='+l);
}

/***********************************************************************************
#n# verif_mail(mel)
#p# mel : chaine, nom du champ à vérifier
#c# sert à vérifier si le champ rentré est un mail valable
***********************************************************************************/

function verif_mail(mel)
{
if (!mel.value)
	{
		return false;
	}
else
	{
	mel.value=virespace(mel.value);
	var meltmp=vire_accent(mel.value);
	var exp=/^[a-z0-9_\.-]+[a-z0-9]@[a-z0-9]([a-z0-9_\.-]+)?[a-z0-9]\.[a-z]{2,6}$/gi;
	return exp.test(meltmp); 
	}
}

/***********************************************************************************
#n# verif_cp(cp)
#p# cp : chaine, nom du champ à vérifier
#c# sert à vérifier si le champ rentré est un code postal valable
***********************************************************************************/

function verif_cp(cp)
{
if (!cp.value)
	{
		return false;
	}
else
	{
	cp.value=virespace(cp.value);
	var cptmp=vire_accent(cp.value);
	var exp=/^[0-9]{5}$/gi;
	return exp.test(cptmp);
	}
}

/***********************************************************************************
#n# verif_ville(ville)
#p# ville : chaine, nom du champ à vérifier
#c# sert à vérifier si le champ rentré est un nom de ville valable
***********************************************************************************/

function verif_ville(ville)
{
if (!ville.value)
	{
		return false;
	}
else
	{
	ville.value=virespace(ville.value);
	var villetmp=vire_accent(ville.value);
	var exp=/^[a-z][a-z \'\-]*[a-z]$/gi;
	//alert(ville.value+"\n"+exp.test(villetmp));
	//alert(exp.test(villetmp));
	return exp.test(villetmp);
	}
}

/***********************************************************************************
#n# verif_adresse(adresse)
#p# adresse : chaine, nom du champ à vérifier
#c# sert à vérifier si le champ rentré est une adresse valable
***********************************************************************************/

function verif_adresse(adresse)
{
if (!adresse.value)
	{
		return false;
	}
else
	{
	adresse.value=virespace(adresse.value);
	var adressetmp=vire_accent(adresse.value);
	var exp=/^[a-z \',0-9\-]{10,}$/gi;
	return exp.test(adressetmp);
	}
}

/***********************************************************************************
#n# verif_tel(tel)
#p# tel : chaine, nom du champ à vérifier
#c# sert à vérifier si le champ rentré est un téléphone valable
***********************************************************************************/

function verif_tel(tel)
{
if (!tel.value)
	{
		return false;
	}
else
	{
	tel.value=virespace(tel.value);
	var teltmp=vire_accent(tel.value);
	var exp=/^[0-9() /\-]{10,}$/gi;
	return exp.test(teltmp);
	}
}

/***********************************************************************************
#n# virespace(ch)
#p# ch : chaine, chaîne de caratères quelconque
#c# sert à supprimer les espaces en début et en fin de chaîne
***********************************************************************************/

function virespace(chp)
{
// pour virer les espaces avant
while (chp.charAt(0)==" ")
	{
	chp = chp.substring(1,chp.length);
	}
//alert(chp.value+"\nlongueur : "+chp.value.length);

// pour virer les espaces après
var i=chp.length-1;
while (chp.charAt(i)==" ")
	{
	chp = chp.substring(0,chp.length-1);
	i=chp.length-1;
	}
//alert(chp.value+"\nlongueur : "+chp.value.length);

//pour virer les espaces en trop au milieu 2 espaces ou plus deviennent un seul
chp=chp.replace(/ +/g," ");
//alert(chp.value+"\nlongueur : "+chp.value.length);
return chp;
}

/***********************************************************************************
#n# vire_accent(chp)
#p# chp : chaine, chaîne de caratères quelconque
#c# sert à supprimer les accents d'une chaîne
***********************************************************************************/

function vire_accent(chp)
{
chp=chp.replace(/[éèêë]/gi,"e");
chp=chp.replace(/[iïî]/gi,"i");
chp=chp.replace(/[àâä]/gi,"a");
chp=chp.replace(/[ùüû]/gi,"u");
chp=chp.replace(/[ôö]/gi,"o");
chp=chp.replace(/ç/gi,"c");
return chp;
}

/***********************************************************************************
#n# format(f)
#p# f : chaine, nom du formulaire à formater
#c# sert à supprimer les espaces de tous les champs d'un formulaire
***********************************************************************************/

function format(f)
{
for (var i=0; i<f.elements.length; i++)
	{
		f.elements[i].value = virespace(f.elements[i].value);
	}
return f;
}

/***********************************************************************************
#n# verifchiffre(c,mute)
#p# c : chaine, nom du champ à vérifier
#p# mute : booléen, pour afficher (false ou non le message d'erreur)
#c# sert à vérifier si le champ rentré est un chiffre valable
***********************************************************************************/

function verifchiffre(c,mute)
{
//alert(c);
var reg = /(^[0-9]+[\.,]?[0-9]*$|^[1-9]+$)/gi;
var bool = reg.test(c);
//alert(bool);
if (bool) 
	{
	if (!mute)
		{
		alert("Chiffre correct");
		}
	return true;
	}
else
	{
	if (!mute)
		{
		alert("Chiffre non correct");
		}
	return false;
	}
}

/***********************************************************************************
#n# verifentier(c,mute)
#p# c : chaine, nom du champ à vérifier
#p# mute : booléen, pour afficher (false ou non le message d'erreur)
#c# sert à vérifier si le champ rentré est un chiffre entier valable
***********************************************************************************/

function verifentier(c,mute)
{
//alert(c);
var reg = /^[1-9][0-9]+$/gi;
var bool = reg.test(c);
//alert(bool);
if (bool) 
	{
	if (!mute)
		{
		alert("Chiffre correct");
		}
	return true;
	}
else
	{
	if (!mute)
		{
		alert("Chiffre non correct");
		}
	return false;
	}
}


/***********************************************************************************
#n# calcdate(f,n)
#p# f : chaine, formulaire
#p# n : entier, nombre de mois 1 ou -1
#c# sert à calculer un calendrier un mois après ou avant
***********************************************************************************/

function calcdate(f,n)
{
	f.mois.value = eval(f.mois.value)+n;
	//alert(f.mois.value)
	if (f.mois.value == 13)
	{
		f.annee.value = eval(f.annee.value)+1
		f.mois.value = 1
	}
	else if (f.mois.value==0)
	{
		f.mois.value=12
		f.annee.value = f.annee.value-1
	}
	f.submit()
}

/***********************************************************************************
#n# deplacer(f,sens) 
#p# f : chaîne, nom du formulaire
#p# sens : chaine, droite ou gauche
#c# sert à déplacer des éléments d'une liste déroulante vers une autre
***********************************************************************************/

function deplacer(f,sens) 
{
	var l = f.Choix_SP_ID;
	var a = f.SP_ID;
	if (sens == "droite")
	{
		var i = a.selectedIndex;
		var t = l.options.length;
		f.Choix_SP_ID.options.length++;
		f.Choix_SP_ID.options[t].text = a.options[i].text;
		f.Choix_SP_ID.options[t].value = a.options[i].value;
		f.SP_ID.options[i] = null;
	}
	else
	{
		var i = l.selectedIndex;
		var t = a.options.length;
		f.SP_ID.options.length++;
		f.SP_ID.options[t].text = l.options[i].text;
		f.SP_ID.options[t].value = l.options[i].value;
		f.Choix_SP_ID.options[i] = null;
	}
}

/***********************************************************************************
#n#  ordonner(f,c) 
#p# f : chaîne, nom du formulaire
#p# c : chaîne, champ caché dans lequel stocker
#c# sert à concaténer les éléments pour les mettre dans un champ caché
***********************************************************************************/
function ordonner(f,c) 
{
	var l=f.Choix_SP_ID;
	var ordre="";
	for(var i=0;i<l.options.length;i++) {
		if (i>0) {ordre+="-";}
		ordre+=l.options[i].value;		
	}
	c.value=ordre;
	//alert(c.value);
}

// Favoris : Noomba SPORT - L'annuaire sportif départemental
	var url="http://www.noomba-sport.com"
	var message="Noomba SPORT"
	function favoris(){if (document.all)window.external.AddFavorite(url,message)}


// Script permettant un prechargement plus rapide des images
// Fonctions de préload
function load() 
{
if (document.images) 
	{
	this.length=load.arguments.length;
	for (var i=0;i<this.length;i++) 
		{
			this[i+1]=new Image();
			this[i+1].src=load.arguments[i];
		}
	}
}
// Cette fonction charge dans le cache toutes les images passées en paramètre
function preload() {
	var temp=new load(
)}
preload()

// Fonction qui déclenche le filtre
function run_filter(obj){	
	if(obj && obj.filters[0]){
		obj.filters[0].apply();
		obj.visibility="visible";
		obj.filters[0].play();
	}
}

function tout_sel(c)
{
	for (var i=0; i<c.options.length; i++)
	{
		c.options[i].selected = true;
	}
}

function EffaceTout(f)
{
	for (var i=0; i<f.elements.length; i++)
	{
		if (f.elements[i].type=="text")
		{
			f.elements[i].value="";
		}
		else if (f.elements[i].type=="select-one")
		{
			f.elements[i].selectedIndex=0;
		}
		else if (f.elements[i].type=="radio")
		{
			f.elements[i].checked = false ;
		}
	}
}

/***********************************************************************************
		Prechargement d'images
***********************************************************************************/

/*

// page index

/images/ph_titre.gif
/images_FR/ico_prefs.gif
/images_FR/ico_client.gif
/images_FR/ico_contact.gif
/images_FR/img_search.gif
/images/bt_ok.gif
/images/dv_separation.gif
/images_FR/tit_classement.gif
/images/ph_puce_1.gif
/images/dv_solid_bl.gif
/images_FR/tit_calendrier.gif
/images_FR/ph_bannavig.gif
/images_FR/ph_logonoomba.gif
/images_FR/ph_bantrait.gif
/images_FR/bt_banaccueil.gif
/images_FR/bt_banprojets.gif
/images_FR/bt_baninscription.gif
/images_FR/bt_bansearch.gif
/images_FR/bt_bancalendrier.gif
/images_FR/bt_banmodule.gif
/images_FR/bt_bantemoignage.gif
/images_FR/bt_baninterview.gif
/images_FR/bt_banfaq.gif
/images_FR/bt_banediteur.gif
/images_FR/bt_banpublicite.gif
/images_FR/ph_baninscrit.gif
/images_FR/ph_banptitleft.gif
/images_FR/ph_clubinscrit.gif
/images_FR/ph_banptitright.gif
/images_FR/ph_banfin.gif
/images_FR/ph_banpartenaire.gif
/images_FR/ph_logo_js.gif
/images/dv_close2.gif

// pages internes

/images_FR/lettre_a.gif
/images_FR/lettre_b.gif
/images_FR/lettre_c.gif
/images_FR/lettre_d.gif
/images_FR/lettre_e.gif
/images_FR/lettre_f.gif
/images_FR/lettre_g.gif
/images_FR/lettre_h.gif
/images_FR/lettre_i.gif
/images_FR/lettre_j.gif
/images_FR/lettre_k.gif
/images_FR/lettre_l.gif
/images_FR/lettre_m.gif
/images_FR/lettre_n.gif
/images_FR/lettre_o.gif
/images_FR/lettre_p.gif
/images_FR/lettre_q.gif
/images_FR/lettre_r.gif
/images_FR/lettre_s.gif
/images_FR/lettre_u.gif
/images_FR/lettre_v.gif
/images_FR/lettre_w.gif
/images_FR/lettre_x.gif
/images_FR/lettre_y.gif
/images_FR/lettre_z.gif

*/