//Librairie de fonctions Javascript pour le site dixiemefamille.comfunction Verif_Formulaire( _f )		{			_f.pass.value = Verif_normalise_maj( _f.pass.value  );			_f.pseudo.value = Verif_normalise_maj( _f.pseudo.value  );			return true;		}// Librairie de fonctions de vérification de formulairesfunction Verif_normalise_maj( s ){	s = s.replace( /^\s*/, "" );	s = s.replace( /\s+/, " " );	s = s.replace( /\s*$/, "" );		s = s.replace( "é", "E" );	s = s.replace( "è", "E" );	s = s.replace( "à", "A" );	s = s.replace( "ç", "C" );	s = s.replace( "ù", "U" );	s = s.replace( "ê", "e" );	s = s.replace( "ë", "e" );	s = s.replace( "ê", "e" );	s = s.replace( "ï", "i" );	s = s.replace( "â", "a" );	s = s.replace( "ô", "o" );	s = s.replace( "î", "i" );					s = s.toUpperCase();	return( s );}function Verif_norm_maj_nospace( s ){	s = s.replace( /^\s*/, "" );	//s = s.replace( /\s+/, " " );	//s = s.replace( /\s+/, " " );//modif yann pour qu'il n'y ait pas d'espace	s = s.replace( /\s*$/, "" );		s = s.replace( /\s+/g, "_" );//modif yann pour qu'il n'y ait pas d'espace : inutile puisque plus d'espace dans la chaine		s = s.replace( "é", "E" );	s = s.replace( "è", "E" );	s = s.replace( "à", "A" );	s = s.replace( "ç", "C" );	s = s.replace( "ù", "U" );	s = s.replace( "ê", "e" );	s = s.replace( "ë", "e" );	s = s.replace( "ê", "e" );	s = s.replace( "ï", "i" );	s = s.replace( "â", "a" );	s = s.replace( "ô", "o" );	s = s.replace( "î", "i" );					s = s.toUpperCase();	return( s );}function Verif_Err( message ){	alert( message );	return false;}function Verif_NonNul( obj, obj_type, message ){	if ( obj_type == "TEXTE" || obj_type == "MOT_DE_PASSE" )	{    	if( obj.value.length == 0 ) return( Verif_Err( message ) );    	else return true;	} else if ( obj_type == "SELECTION" ) {		for( i=0; i < obj.length; i++ )	   {			if( obj.options[i].selected ) return true;		}      return( Verif_Err( message ) );		} else if ( obj_type == "UNI_RADIO" || obj_type == "UNI_CHECKBOX" ) {		if( obj.checked ) return true;		else return( Verif_Err( message ) );		} else if (obj_type == "RADIO" || obj_type == "CHECKBOX") {		for (i=0; i < obj.length; i++)	   {			if( obj[i].checked ) return true;		}		return( Verif_Err( message ) );		}}function Verif_Entier( obj, message ){		if( obj.value.length == 0 ) return true;		var decimal_format = ".";	var check_char;	check_char = obj.value.indexOf( decimal_format )   if( check_char < 1 ) return Verif_Numerique( obj, message );   else return( Verif_Err( message ) );}function Verif_Intervalle( obj, minimum, maximum, message ){ 	if( obj.value.length == 0 ) return( Verif_Err( message ) );   if( Verif_Numerique( obj, message ) )    {		val = eval( obj.value );		if( minimum != null && val < minimum ) return( Verif_Err( message ) );		if( maximum != null && val > maximum ) return( Verif_Err( message ) );	} else {		return false;	}   return true;}function Verif_Numerique( obj, message ){ 	if( obj.value.length == 0 ) return true;	var start_format = " .+-0123456789";	var number_format = " .0123456789";	var check_char;	var decimal = false;	var trailing_blank = false;	var digits = false;	check_char = start_format.indexOf( obj.value.charAt( 0 ) )	if( check_char == 1 ) decimal = true;	else if( check_char < 1 ) return( Verif_Err( message ) );	for( var i = 1; i < obj.value.length; i++ )	{		check_char = number_format.indexOf( obj.value.charAt( i ) )		if( check_char < 0 )		{			return( Verif_Err( message ) );		} else if( check_char == 1 ) {			if( decimal ) return( Verif_Err( message ) );			else decimal = true;		} else if( check_char == 0 ) {			if( decimal || digits ) trailing_blank = true;		} else if( trailing_blank ) {			return( Verif_Err( message ) );		} else digits = true;	}	   return true}function Verif_CodeChiffres( obj, longueur, message ){	var number_format = "0123456789";		if( ! ( obj.value.length == longueur ) ) return( Verif_Err( message ) );	for( var i = 1; i < obj.value.length; i++ )	{		if( number_format.indexOf( obj.value.charAt( i ) ) < 0 ) return( Verif_Err( message ) );	}	   return true}function Verif_NumTelephone( obj, message ){	var number_format = " ()0123456789";		for( var i = 0; i < obj.value.length; i++ )	{		if( number_format.indexOf( obj.value.charAt( i ) ) < 0 ) return( Verif_Err( message ) );	}	   return true}function Verif_NomDeFichier( obj, message ){	var start_format = "abcdefghijklmnopqrstuvwxyz_";	var suite_format = "0123456789abcdefghijklmnopqrstuvwxyz_";	var fich;	 	if( obj.value.length == 0 ) return( Verif_Err( message ) );	var fini = false;	for( var i = obj.value.length - 4; i > 0 && ! fini; i-- )	{		if( obj.value.charAt( i ) == "/" || obj.value.charAt( i ) == "\\" ) fini = true;	}	fich = obj.value.slice( i + 2, obj.value.length - 4 );	if( start_format.indexOf( fich.charAt( 0 ) ) < 0 ) return( Verif_Err( message ) );	for( var i = 1; i < fich.length; i++ )	{		if( suite_format.indexOf( fich.charAt( i ) ) < 0 ) return( Verif_Err( message ) );	}		   return true}function controle_other( champ_id, champ_lib, val_other, message ){   if( val_other != 0 && champ_lib.value.length == 0 && champ_id.value == val_other ) return( Verif_Err( message ) );   return true}function Verif_Date( o_day, o_month, o_year, message ){	var maxDays;	ret = Verif_Intervalle( o_day, 1, 31, message )	if( ret ) ret = Verif_Intervalle( o_month, 1, 12, message )	if( ret ) ret = Verif_Intervalle( o_year, 1900, 2030, message )		if( ret )	{		month = parseInt( o_month.value );		day = parseInt( o_day.value );		year = parseInt( o_year.value );  		switch( month )  		{   	case 2 :    		if ( ( year % 4 == 0 && year % 100 != 0 ) || ( year % 400 == 0 ) ) maxDays = 29;    		else maxDays = 28;   		break;      case 1 :       case 3 :       case 5 :       case 7 :       case 8 :       case 10 :       case 12 :      	maxDays = 31;      	break;      default :       	maxDays = 30;      	break;		} 		if( day > maxDays ) ret = Verif_Err( message ); 	}		return( ret );}//FONCTIONS DE GESTION DES POP UP/*function centerWindow() {	if (document.all)	var xMax = screen.width, yMax = screen.height;	else	if (document.layers)	var xMax = window.outerWidth, yMax = window.outerHeight;	else	var xMax = 640, yMax=480;	var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;	window.open("<?=$profondeur_php_old;?>php/public/mdpasse_oublie.php","Oubli",	'width=600,height=600 resizable="yes",screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');}*/function centerWindow(page,titrepage) {	if (document.all)	var xMax = screen.width, yMax = screen.height;	else	if (document.layers)	var xMax = window.outerWidth, yMax = window.outerHeight;	else	var xMax = 640, yMax=480;	var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;	window.open(page,titrepage,'width=600,height=400 resizable,scrollbars,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');}function ouvreFenetre(adresse,nompage,Vwidth,Vheight,Vtop, Vleft) {	 	window.open(adresse,nompage,'width='+Vwidth+',height='+Vheight+',resizable,scrollbars,top='+Vtop+',left='+Vleft+'');	}function centerWindowAide(page,titrepage) {	if (document.all)	var xMax = screen.width, yMax = screen.height;	else	if (document.layers)	var xMax = window.outerWidth, yMax = window.outerHeight;	else	var xMax = 640, yMax=480;	var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;	window.open(page,'','width=600,height=600,resizable,scrollbars,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');}//FONCTIONS DIVERSES function deconnexion(chemin){//fonction qui permet d'effacer les données de session	if(confirm('En vous déconnectant vous effacerez les données de connexion enregistrées.\n Vous devrez vous identifiez de nouveau à votre prochaine visite !'))	window.document.location.href = chemin + "php/public/deconnexion_famille.php";	} 		function AfficheLecteurAudio(source,titrepage) {//ouvre une popup avec lecteur audio intégré en flash page audio_flash.php	if (document.all)	var xMax = screen.width, yMax = screen.height;	else	if (document.layers)	var xMax = window.outerWidth, yMax = window.outerHeight;	else	var xMax = 640, yMax=480;	var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;	window.open("http://www.dixiemefamille.com/swf/audio_flash.php?source="+ source +"&titre="+escape(titrepage),'','width=300,height=50,resizable,scrollbars,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');}		function MM_reloadPage(init) {  //reloads the window if Nav4 resized  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);//fonction de menu déroulantfunction montre(id) {var d = document.getElementById(id);	for (var i = 1; i<=10; i++) {		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}	}if (d) {d.style.display='block';}}//fonction d'affichage / masquage DIVfunction affiche_element(nom_element, nb_max, num) {//affiche un élément block et none les autres sur une liste// nb_max nb maximum de membres// id element à affichervar div_a_traite = document.getElementById(nom_element + num) ;	for (var i = 0; i <= nb_max; i++) {		if (document.getElementById(nom_element+i)) {document.getElementById(nom_element+i).style.display='none';}	}if (div_a_traite) {div_a_traite.style.display='block';}}function affiche_tout(nom_element, nb_max) {//affiche tous les éléments block d'une liste// nb_max nb maximum de membres	for (var i = 0; i <= nb_max; i++) {		if (document.getElementById(nom_element + i)) {							document.getElementById(nom_element + i).style.display='block' ;					}	}document.getElementById("masquer").style.display='block' ;document.getElementById("afficher").style.display='none' ;}	function masque_tout(nom_element, nb_max) {//masque tous les éléments block d'une liste// nb_max nb maximum de membres	for (var i = 0; i <= nb_max; i++) {		if (document.getElementById(nom_element + i)) {				document.getElementById(nom_element + i).style.display='none' ;			}	}document.getElementById("masquer").style.display='none' ;document.getElementById("afficher").style.display='block' ;}function plier_deplier(id,nb_max) {	for (var i = 0; i<=nb_max; i++) {		var d = document.getElementById(id + '_'+ i);		if (d) {			d.style.display == 'none' ? d.style.display='block' : d.style.display='none';			//d.style.visibility == 'hidden' ? d.style.visibility='visible' : d.style.visibility='hidden';			}	}}function plier_deplier_num(id,nb_max,num_onglet) {//variante du dessus permettant de n'afficher qu'un des éléments si plus de deux	var a_afficher = document.getElementById(id + '_'+ num_onglet);	for (var i = 0; i<=nb_max; i++) {		var d = document.getElementById(id + '_'+ i);				if (d) {			if(d == a_afficher) {				d.style.display = 'block';			}else{				d.style.display= 'none';			}		}	}}function TabClick(nomOnglet,nTab,nomDiv ){ //modifie style des onglets   Col = document.getElementsByName(nomDiv);     if ((document.getElementsByName(nomDiv))&&( document.getElementsByName(nomOnglet))){//teste si il y a des onglets	    for (i = 0; i < document.getElementsByName(nomOnglet).length; i++) 	        { 	        document.getElementsByName(nomOnglet)[i].className = "TabBorderBottom TabCommon TabOff"; 	        document.getElementsByName(nomDiv)[i].style.display = "none"; 	        } 	    Col[nTab].style.display = "block";     	    document.getElementsByName(nomOnglet)[nTab].className = "TabCommon TabOn TabActiveBackground TabActiveBorderLeftRight"; 	}}function affiche_masque(nr){	if (document.layers)	{		current = (document.layers[nr].display == 'none') ? 'block' : 'none';		document.layers[nr].display = current;	}	else if (document.all)	{		current = (document.all[nr].style.display == 'none') ? 'block' : 'none';		document.all[nr].style.display = current;	}	else if (document.getElementById)	{		vista = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';		document.getElementById(nr).style.display = vista;	}}//fonction de cochage/décochage checkboxfunction CheckAll(id,action){    var i = 0;   while (element = document.getElementById(id + i))    {       if(element.type == "checkbox")        {        if(action==0)        {			element.checked = true;         }else{			element.checked = false;         }       }    i++;	}        } //fonction DHTML qui permet d'afficher un détail sur un lienvar domok;function init_domok(){	domok = document.getElementById;	if (domok)		{			skn = document.getElementById("topdecklink").style;			if(navigator.appName.substring(0,3) == "Net")				document.captureEvents(Event.MOUSEMOVE);			document.onmousemove = get_mouse;		}}function poplink(msg){//fonction de base, message simplevar content ="<table border='0' cellpadding='0' cellspacing='0' bgcolor='#ffffff'><tr><td><table width='100%' border='0' cellpadding='2' cellspacing='1'><tr><td bgcolor='#ffffff'><font color='#000000' size='2' face='Verdana'><center>"+msg+"</center></td></tr></table></td></tr></table>";	if (domok)		{	  	document.getElementById("topdecklink").innerHTML = content;	  	skn.visibility = "visible";  		}}function get_mouse(e)	{	var x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;	var y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;	skn.left = x - 60;	skn.top = y+20;	}function killlink()	{	if (domok)  		skn.visibility = "hidden";	}// Fonction de rollover (échange de deux images)function echange_img(nom,src1,src2) {		// nom est le nom de l'image	// src est l'adresse du fichier d'image	if (document.images) {		(document.images[nom].src == src1) ? document.images[nom].src = src2 :document.images[nom].src = src1;	}}// Fonction de remplacement d'une image par une autrefunction remplace_img(nom,src1,src2) {		// nom est le nom de l'image	// src est l'adresse du fichier d'image	if (document.images) {		if(document.images[nom].src == src1) document.images[nom].src = src2 ;	}}// 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("../../public/images/bouton_deplier.gif","../../public/images/moniteur_coin_h_g_plie.gif","../../public/images/moniteur_coin_h_d_plie.gif")}preload();function chgcouleurbarre(){if (document.body.clientwidth<event.clientX) with(document.body.style) { scrollbarDarkShadowColor="#FF9934"; scrollbar3dLightColor="#6C2838"; scrollbarArrowColor="#6C2838"; scrollbarBaseColor="#FF9934"; scrollbarFaceColor="#CCFF66"; scrollbarHighlightColor="#FF9934"; scrollbarShadowColor="#006699"; scrollbarTrackColor="#FFFFFF"; }else  with(document.body.style) { scrollbarDarkShadowColor="#FF9934"; scrollbar3dLightColor="#6C2838"; scrollbarArrowColor="#6C2838"; scrollbarBaseColor="#FF9934"; scrollbarFaceColor="#CCFF66"; scrollbarHighlightColor="#FF9934"; scrollbarShadowColor="#cccccc"; scrollbarTrackColor="#FFFFFF";  }}if (document.all){ //window.onload=chgcouleurbarre;}//FONCTIONS DE ROLL OVER GÉNÉRÉES PAR DREAMWEAVER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_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_findObj(n, d) { //v4.0  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 && document.getElementById) x=document.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];}}//FONCTIONS DE GESTION DES COOKIES JAVASCRIPT//Initialisation de la fonction SetCookie//	//	var pathname=location.pathname;//	var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';//	var date_exp = new Date();//	date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));//	// Ici on définit une durée de vie de 365 jours//	// en cas de chaine nulle '', le cookie disparait à la fermeture du navigateur//	SetCookie("variable","valeur",date_exp,myDomain);//variables par défautfunction SetCookie (name, value) {//place une variable en cookie nom => valeur	var argv=SetCookie.arguments;	var argc=SetCookie.arguments.length;	var expires=(argc > 2) ? argv[2] : null;	var path=(argc > 3) ? argv[3] : null;	var domain=(argc > 4) ? argv[4] : null;	var secure=(argc > 5) ? argv[5] : false;	document.cookie=name+"="+escape(value)+		((expires==null) ? "" : ("; expires="+expires.toGMTString()))+		((path==null) ? "" : ("; path="+path))+		((domain==null) ? "" : ("; domain="+domain))+		((secure==true) ? "; secure" : "");}function getCookieVal(offset) {	var endstr=document.cookie.indexOf (";", offset);	if (endstr==-1)      		endstr=document.cookie.length;	return unescape(document.cookie.substring(offset, endstr));}function GetCookie (name) {//récupère une variable placé en cookie par l'appel : la_variable = GetCookie("variable");	var arg=name+"=";	var alen=arg.length;	var clen=document.cookie.length;	var i=0;	while (i<clen) {		var j=i+alen;		if (document.cookie.substring(i, j)==arg)                        return getCookieVal (j);                i=document.cookie.indexOf(" ",i)+1;                        if (i==0) break;}	return null;}function DeleteCookie(name){date=new Date;date.setFullYear(date.getFullYear()-1);SetCookie(name,null,date);}//FONCTION DE CONSERVATION EN COOKIE D'UN ÉTAT DE BOITE D'OBJET JAVASCRIPTfunction memo_position(obj,position){//memorise en cookie la position d'un objet (plié ou déplié)//position = 0 pour "déplié" 1 pour "plié"var pathname=location.pathname;var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';var date_exp = '';SetCookie(obj+"_pos",position);}function initialisation_obj(obj){//initialise l'état d'un élément en fonction d'un cookie// ATTENTION : utiliser cette fonction après l'écriture de l'objet dans la page html// les objets HTML cible doivent avoir un attribut name et id de la forme obj_0 pour état par défaut et obj_1 pour le deuxième état	var pos_obj = GetCookie(obj+"_pos");			pos_obj == 1 ? document.getElementById(obj+'_0').style.display = 'none': document.getElementById(obj+'_0').style.display = 'block' ;	pos_obj == 1 ? document.getElementById(obj+'_1').style.display = 'block': document.getElementById(obj+'_1').style.display = 'none' ;	}//VERIFICATION DES COMMUNESfunction choix_commune(){//permet de choisir une ville par une pop up	var zipcode = document.getElementById('zip').value ;	ouvreFenetre("http://www.dixiemefamille.com/php/public/choix_commune.php?zip="+zipcode,'choix',500,500,200,200) }function activeElement(obj){	//active un élément de formulaire désactivé	document.getElementById(obj).disabled = false;	}function desactiveElement(obj){	//active un élément de formulaire désactivé	document.getElementById(obj).disabled = true;	}function CheckLen(Target,nb,obj){// cette fonction calcule le nombre de caractère du champ Target, le compare au nombre nbvar StrLen = Target.value.length ;if (StrLen == nb) 	activeElement(obj);else 	desactiveElement(obj);}//GÉOLOCALISATIONfunction ouvre_geoloc(){// ouvre la fenêtre de géolocalistaion	var address = escape(document.getElementById('ad1').value + document.getElementById('ad2').value) ;	var commune = escape(document.getElementById('zip').value +  " - " + document.getElementById('ville').value) ;	ouvreFenetre("http://www.dixiemefamille.com/php/public/geoloc_famille.php?address="+address+"&commune="+commune,'geolocalisation',800,600,200,200) }function ouvre_geoloc_admin(id){// ouvre la fenêtre de géolocalistaion	var address = escape(document.getElementById('ad1').value + document.getElementById('ad2').value) ;	var commune = escape(document.getElementById('zip').value +  " - " + document.getElementById('ville').value) ;	ouvreFenetre("http://www.dixiemefamille.com/php/admin/geoloc_famille.php?id="+id+"&address="+address+"&commune="+commune,'geolocalisation',800,600,200,200) }function ouvre_geoloc_groupe(id_groupe,type_geoloc){// ouvre la fenêtre de géolocalistaion	ouvreFenetre("http://www.dixiemefamille.com/php/admin/geoloc_groupe.php?groupe="+id_groupe+"&type="+type_geoloc,'geoloc_groupe',800,600,200,200) }	//FONCTIONS DE GESTION DES DONNÉES DE PAGE À PAGEfunction set_champ(champ,value){//permet de mettre à jour un champ depuis une pop up (fonction appelé depuis une pop up par window.opener.set_champ(X,X);	document.getElementById(champ).value = value;}function set_class(id,value){//permet de mettre à jour une class depuis une pop up (fonction appelé depuis une pop up par window.opener.set_class(X,X);	document.getElementById(id).className = value;}function set_html(id,value){//permet de mettre à jour le html d'un élément depuis une pop up (fonction appelé depuis une pop up par window.opener.set_html(X,X);	document.getElementById(id).innerHTML = value;}function changeLangTrad(lang){	setCookie ("lang_trad", lang);	window.location.href('test.php');}
