function activeongletfestival(numero) {
	elem=document.getElementById('onglet'+numero);
	if (elem) { elem.className = 'onglet'+numero+"on";}
	elem=document.getElementById('conteneur2');
	if (elem) { elem.className = 'conteneur2onglet'+numero;}
}

function CheckNoDocuments(texte) { // function pour remplacer  'No documents found' affich\u00E9 par d\u00E9faut par une vue, par le message pass\u00E9 en param\u00E8tre
	if (document.getElementById("view").innerHTML.indexOf("No documents found") > 0) { 
		document.getElementById("view").innerHTML = texte
	} // end if 
	if (document.getElementById("view").innerHTML.indexOf("Aucun document trouv\u00E9.") > 0) { 
		document.getElementById("view").innerHTML = texte
	} // end if 
} // end function 


/* fonction \u00E0 utiliser pour faire un alt qui fonctionne de la m\u00EAme mani\u00E8re sur IE et Firefox */
function altoverlib(texte) {
	return overlib(texte, VAUTO, HAUTO, WIDTH, 150,FGCOLOR, '#FFFFCC');
}


/* Affiche un sondage en fonction de son pseudo */
/* id est utilis\u00E9 pour indiquer l'emplacement de l'inclusion du sondage dans la page */
function AfficheSondage(pseudo,id) {

if (LireCookie("sondage"+pseudo)=="Oui") {
	AfficheVueRequest('/demandesville.nsf/vueSondageWeb/?Searchview&Query=FIELD chpPseudoPage = '+pseudo,id);
}
else {
	AfficheVueRequest('/demandesville.nsf/vueSondageWebCode/?Searchview&Query=FIELD chpPseudoPage = '+pseudo,id);
}

}

/* Enregistre le vote d'un internaute sur le masque sondage */
function EnregistreSondage(pseudo) {
/*  si l'on a d\u00E9j\u00E0 vot\u00E9, alors on ne peut plus... */
if (LireCookie("sondage"+pseudo)=="Oui") {return true;}
if (valeurcheckbox(pseudo)=="") {alert('Faites un choix !');return false;}
doc=document.location.href.split('/');
cde=doc[0]+'//'+doc[2]+'/'+BaseLangue('DEM')+'/agtsondage?openagent&Pseudo='+pseudo+'&champ='+ 
valeurcheckbox(pseudo);

var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
	   xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non support\u00E9 par le navigateur
	   return;
}

xhr_object.open("GET", cde, true);
xhr_object.send(null);

xhr_object.onreadystatechange = function() {
   if(xhr_object.readyState == 4) {
      var tmp = xhr_object.responseText.split(":");
      if(typeof(tmp[1]) != "undefined") {
/*      alert('Requ\u00EAte ex\u00E9cut\u00E9e');*/
      }
/*      alert(tmp);*/
         /* Ecrire du fait que l'on a d\u00E9j\u00E0 vot\u00E9 dans le cookie, pas de revote avant 1 an */
         date = new Date;
         date.setDate(date.getDate()+365);
         EcrireCookie("sondage"+pseudo, "Oui",date,"/");
   }
}
return true;
}

function AfficheVueRequest(vue,ou) {
/* Affiche le r\u00E9sultat d'une vue lotus dans un document */

doc=document.location.href.split('/');
cde=doc[0]+'//'+doc[2]+'/'+vue;
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
	   xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non support\u00E9 par le navigateur
	   return;
}

xhr_object.open("GET", cde, true);
xhr_object.send(null);

xhr_object.onreadystatechange = function() {
   if(xhr_object.readyState == 4) {
      var tmp = xhr_object.responseText.split(":");
      if(typeof(tmp[1]) != "undefined") {
/*      alert('Requ\u00EAte ex\u00E9cut\u00E9e');*/
      }
/*    var reg=new RegExp("marqueur-request", "g");*/
    var outpout=xhr_object.responseText.split('marqueur-request');
    var elem=document.getElementById(ou);
     if (elem) { elem.innerHTML  =  outpout[1];} else { alert('Ne trouve pas l id '+ou);}
   }
}
return true;
}

/* retourne la valeur d'un champ reper\u00E9 par son id */
function valeurchampsimple(id) {
	elem=document.getElementById(id);
	if (elem) { return elem.value;} else { return "";}
}

function valeurcombobox(id) 
/* retourne la valeur de l'\u00E9l\u00E9ment choisi dans la combo box : il faut passer l'id en param\u00E8tre */
{
	var vlue=document.getElementById(id);
	return vlue.options[vlue.selectedIndex].text;
}
function valeurcheckbox(nom)
/* envoyer en param\u00E8tre le nom de la checkbox */
/* par exemple : valeurcheckbox("macheck") */
/* Est retourn\u00E9e une chaine de caract\u00E8res des valeurs s\u00E9par\u00E9e par des retours charriots */
{
var c_value = "";
/* met dans un tableau, tous les objets qui ont le m\u00EAme nom */
var tableau = document.getElementsByName(nom);
for (var i=0; i < tableau.length; i++)
   {
   if (tableau[i].checked)
      {
      c_value = c_value + tableau[i].value + "\n";
      }
   }
   return c_value;
}

function Left(str, n){
		 if (n <= 0)
		     return "";
		 else if (n > String(str).length)
		     return str;
		 else
		     return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function activeonglet(numero) {
	for (var i = 1; i < 11; i++) {
		elem=document.getElementById('ContenuOnglet'+i);
		if (elem) { elem.style.display = 'none';}
		elem=document.getElementById('onglet'+i);
		if (elem) { elem.className = '';}
	}
	elem=document.getElementById('ContenuOnglet'+numero);
	if (elem) { elem.style.display = 'block';}
	elem=document.getElementById('onglet'+numero);
	if (elem) { elem.className = 'actif';}
}



function PremiereDatePlusGrande(nDate1,nDate2) {
  // Signification des codes retour
  // 0 : les dates pass\u00E9es sont invalides
  // 1 : la premi\u00E8re date est plus grande
  // 2 : la seconde date est plus grande
  // 3 : les deux dates sont identiques
  var aDate1;
  var aDate2;
  var nJ1;
  var nM1;
  var nA1;
  var nJ2;
  var nM2;
  var nA2;
  if (nDate1.value.length <= 0 || nDate2.value.length <= 0) return 0;
  if (nDate1.value.length < 8 || nDate1.value.length > 10 || nDate2.value.length < 8 || nDate2.value.length > 10) return 0;
  aDate1 = nDate1.value.split("/");
  nJ1 = parseInt(aDate1[0],10); nM1 = parseInt(aDate1[1],10); nA1 = parseInt(aDate1[2],10);
  aDate2 = nDate2.value.split("/");
  nJ2 = parseInt(aDate2[0],10); nM2 = parseInt(aDate2[1],10); nA2 = parseInt(aDate2[2],10);

  if (nA1>nA2) return 1;
  if (nA1<nA2) return 2;
  if (nM1>nM2) return 1;
  if (nM1<nM2) return 2;
  if (nJ1>nJ2) return 1; 
  if (nJ1<nJ2) return 2;      
  return 3;
}
    
function Valide_date(nDate,nA1,nA2,nFormat) {
  // Ajouter ce code dans la saisie du champs date
  //  onBlur="twValide_date(this,1950,2020,'jj/mm/aaaa')"
  // La date valide doit \u00EAtre entre 1950 et 2020.
  //    vous pouvez changer l'interval.
  // Format valide: (ne pas utiliser d'autre format...
  // - jj/mm/aaaa
  // - mm/jj/aaaa
  // - aaaa/mm/jj
  var ok = "oui";
  var nChar;
  var aDate;
  var nJ;
  var nM;
  var nA;
  var jMax = 31;
  nAccepte = "0123456789/";
  if (nDate.value.length > 0) {
    if (nDate.value.length < 8 || nDate.value.length > 10) ok = "non";
    for (var i=0; i<nDate.value.length; i++) {
      nChar = "" + nDate.value.substring(i, i+1);
      if (nAccepte.indexOf(nChar) == "-1") ok = "non";
    }
    if (ok == "oui") {
      aDate = nDate.value.split("/");
      if (nFormat == "jj/mm/aaaa") { nJ = aDate[0]; nM = aDate[1]; nA = aDate[2];
      } else if (nFormat == "mm/jj/aaaa") { nJ = aDate[1]; nM = aDate[0]; nA = aDate[2];
        } else if (nFormat == "aaaa/mm/jj") { nJ = aDate[2]; nM = aDate[1]; nA = aDate[0]; }
      if ((nJ < 1 || nJ > jMax) || (nM < 1 || nM > 12) || (nA < nA1 || nA > nA2)) ok = "non";
      else {
        if (nM == 2) { 
          if (parseInt(parseInt(nA)/4) == parseInt(nA)/4) { jMax = 29 } else { jMax = 28 }
        }
        if ((nM == 1 || nM == 3 || nM == 5 || nM == 7 || nM == 8 || nM == 10 || nM == 12)) jMax = 31
        if ((nM == 4 || nM == 6 || nM == 9 || nM == 11)) jMax = 30
        if (nJ < 1 || nJ > jMax) ok = "non";
      }
    }
    if (ok == "non") {
      nDate.focus();
      nDate.select();
      alert ("\nDate invalide!. Veuillez entrer une date valide: "+nFormat+"\nentre "+nA1+" et "+nA2);
	 return false;
    }
  }
  return true;
}


// fonction qui doit retourner - en th\u00E9orie - la hauteur disponible pour l'affichage
function getWindowHeight() {
    var windowHeight=0;
    if (typeof(window.innerHeight)=='number') {
        windowHeight=window.innerHeight;
    }
    else {
     if (document.documentElement && document.documentElement.clientHeight) {
         windowHeight = document.documentElement.clientHeight;
    }
    else {
     if (document.body && document.body.clientHeight) {
         windowHeight=document.body.clientHeight;
      }
     }
    }
    return windowHeight;
}

//Lance un objet accordion pour afficher des vues repli\u00E9es
// on passe en param\u00E8tre le th\u00E8me (pour les couleurs) ainsi que le nombre de cat\u00E9gories qui seront repr\u00E9sent\u00E9es.
function vuerepliee(theme,nbreligne) {

	HauteurLigne=17;
	Ecran=700;
	Ecran=getWindowHeight();
	HauteurDispo=Ecran-210-nbreligne*HauteurLigne;
	switch(theme) {
		case 'Entreprendre':
			new Rico.Accordion( 'rico01', {
			panelHeight:HauteurDispo,
			expandedBg:'#006666',
			hoverBg: '#009999',
			collapsedBg: '#12bcbf',
			borderColor: '#12bcbf'
			});
			break;
		case 'Vivre':
			new Rico.Accordion( 'rico01', {
			panelHeight:HauteurDispo,
			expandedBg:'#BF3603',
			hoverBg: '#F07C32',
			collapsedBg: '#F07C32',
			borderColor: '#F07C32'
			});
			break;
		default:
			new Rico.Accordion( 'rico01', {
			panelHeight:HauteurDispo,
			expandedBg:'#336600',
			hoverBg: '#669933',
			collapsedBg: '#A9BC3B',
			borderColor: '#A9BC3B'
			});
			break;
	}
}

// Sert uniquement pour flash et ie pour contourner le probl\u00E8me de l'activation des activeX
function flash(tag) {
document.write(tag);
}

function ReduitAugmente(id,op) {

	elem=document.getElementById(id);
	ref=document.getElementById("h1"+id);
	if (elem) {
		if (op==0) {
		Effect.Shrink(id);
		ref.href="javascript:ReduitAugmente('"+id+"',1);"
		ref.title="Cliquez pour agrandir ce pav\u00E9";
		ref.alt="Cliquez pour agrandir ce pav\u00E9";
		}
		else {
		Effect.Grow(id);
		ref.href="javascript:ReduitAugmente('"+id+"',0);";
		ref.title="Cliquez pour r\u00E9duire ce pav\u00E9";
		ref.alt="Cliquez pour r\u00E9duire ce pav\u00E9";
		}
	}
}

function DetailAgenda(id,op) {

	elem=document.getElementById(id);
	ref=document.getElementById("h1"+id);
	txt=ref.firstChild;
	if (elem) {
		if (op==0) {
		Effect.Shrink(id);
		ref.href="javascript:DetailAgenda('"+id+"',1);";
		ref.title="Cliquez ici pour avoir plus d'informations";
		ref.alt="Cliquez ici pour avoir plus d'informations";
		txt.nodeValue="En savoir +";
		}
		else {
		Effect.Grow(id);
		ref.href="javascript:DetailAgenda('"+id+"',0);";
		ref.title="Cliquez ici pour cacher les d\351tails";
		ref.alt="Cliquez ici pour cacher les d\351tails";
		txt.nodeValue="Cacher d\351tails";
		}
	}
}

function DetailAgendaEN(id,op) {

	elem=document.getElementById(id);
	ref=document.getElementById("h1"+id);
	txt=ref.firstChild;
	if (elem) {
		if (op==0) {
		Effect.Shrink(id);
		ref.href="javascript:DetailAgendaEN('"+id+"',1);";
		ref.title="More informations";
		ref.alt="More informations";
		txt.nodeValue="More informations";
		}
		else {
		Effect.Grow(id);
		ref.href="javascript:DetailAgendaEN('"+id+"',0);";
		ref.title="Hide informations";
		ref.alt="Hide informations";
		txt.nodeValue="Hide informations";
		}
	}
}

function DetailAgendaSP(id,op) {

	elem=document.getElementById(id);
	ref=document.getElementById("h1"+id);
	txt=ref.firstChild;
	if (elem) {
		if (op==0) {
		Effect.Shrink(id);
		ref.href="javascript:DetailAgendaSP('"+id+"',1);";
		ref.title="+ informacion";
		ref.alt="+ informacion";
		txt.nodeValue="+ informacion";
		}
		else {
		Effect.Grow(id);
		ref.href="javascript:DetailAgendaSP('"+id+"',0);";
		ref.title="- informacion";
		ref.alt="- informacion";
		txt.nodeValue="- informacion";
		}
	}
}

// Sert \u00E0 charger la carte de google
function load_map() {
	/* Cette fonction affiche une carte google en fonction des param\u00E8tres de la carte de carcassonne avec recalcul de la position en longitude, latitude (approximatif)
	 pour utiliser cette fonction, il faut avoir : 
	- un champ chpCartoXY definit dans la page
	- un appel au script de google qui utilise la clef appropri\u00E9e (elle n'est pas la m\u00EAme sur carcassonne.org et omi:81
	- script pour omi:81
	<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true_or_false&amp;key=ABQIAAAA4256lqsvKEa5o9RnP5wvBxSY-DHEtEPVJLsZAGc0q30FRqTl-RT-roRS8Rn7MnuI708T6j-J6eqY6g" type="text/javascript"></script>
	- faire dans un onload dans le document sur cette fonction load_map()
	- mettre deux div dans la page de ce type :
	<div style="width:400px; height:400px" "id="maCarte"></div>
	<div id="libCarte"></div>
	*/
	carto=document.getElementById("chpCartoXY").value;
	xy=carto.split(',');
	var latitude = parseFloat(0.0000219282119535843 * parseFloat(xy[1])+ 43.2855765634488);
	var longitude= parseFloat(-0.0000311063197738489 * parseFloat(xy[0])+ 2.2357428048249);


	if (document.getElementById("chpMontrerCarte").value=='Oui') {
	document.getElementById("chpMontrerCarte").value='Non';
	document.getElementById("maCarte").style.display = 'block'

	map = new GMap2(document.getElementById("maCarte"));

	var elmt = document.getElementById('libCarte'); 
	elmt.innerHTML='Cacher la carte';

	map.addControl(new GSmallMapControl());
	var location = new GLatLng( latitude, longitude);
	map.setCenter(location, 16);
	var marker = new GMarker(location);
	map.addOverlay(marker);	
	} else	
	{
	document.getElementById("chpMontrerCarte").value='Oui';
	var elmt = document.getElementById('libCarte'); 
	elmt.innerHTML='Montrer sur la carte';
	GUnload();
	document.getElementById("maCarte").style.display = 'none'
	}
}

// Sert \u00E0 faire des fondu d'une image \u00E0 l'autre
function TransitionImageById(id,upause) {
	idTransitionImage = id;
	pause=upause;
	timer = setInterval("TransitionImageIn()", delai);
}
      
function CancelTransitionImageById() {
	if (timer == 0) return;
	clearInterval(timer);
	timer = 0;
}
      
function TransitionImageIn() {
	var elem = document.getElementById(idTransitionImage + "1");
	var lien = document.getElementById("lienimage");
	// si l'image est transparente, alors on passe \u00E0 l'image suivante
	if (iOpacity <= 0 |  elem) {
		iTransitionImage += 1;
		if (iTransitionImage > maximage) { iTransitionImage=1;}
		elem.src = src_image[iTransitionImage];
		elem.alt = titre_image[iTransitionImage];
		lien.href =lien_image[iTransitionImage];
		lien.title =titre_image[iTransitionImage];
		iOpacity = 0;
		montee = 1
	}
	// Si on est au maximum de la visibilit\u00E9, alors on fait une pause
	if (iOpacity >= 1 & montee==1) {
		montee=0;
		clearInterval(timer);
		timer = setInterval("TransitionImageIn()", pause);
		return;
        	}
	else {
		clearInterval(timer);
		timer = setInterval("TransitionImageIn()", delai);
	}
	// d\u00E9finition du param\u00E8tre d'opacit\u00E9
	if (montee==1) {iOpacity += 0.05;} else {iOpacity -= 0.05;}
	elem.style.opacity = iOpacity;
	elem.style.MozOpacity = iOpacity;
	elem.style.KhtmlOpacity = iOpacity;
	elem.style.filter = "alpha(opacity=" + iOpacity * 100 + ")";
}

// ----------------------------------------------- Fin du script pour les fondu

// Rend visible ou invible une image
function rendrevisible(obj,invisible)
    {
	force=(invisible==0)? 1 : 0.2
    
    if (obj.style.MozOpacity)
    obj.style.MozOpacity=force
    else if (obj.filters)
    obj.filters.alpha.opacity=force*100
    }

// Sert \u00E0 changer des images sur un survol d'un lien dans les msqPageNiveau5
// On passe en param\u00E8tre le nom du fichier image qui est stock\u00E9 dans le document
function ChangeImageMsq5(fichier,id)   {
	var objetMontreCache = document.getElementById(id);
	var chemin=window.location.pathname;
	var serveur=window.location.host;
	//rendrevisible(objetMontreCache,1);
	objetMontreCache.src='http://'+serveur+chemin+'/$file/'+fichier;
	//alert('http://'+serveur+chemin+'/$file/'+fichier);
	//rendrevisible(objetMontreCache,0);
}

function findPos(obj,coord) {
	var curleft = obj.offsetLeft || 0;
	var curtop = obj.offsetTop || 0;
	while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	}
	if (coord='x') {return curleft;} else {return curtop;}
}

// Taille de la fenetre courante
function TailleFenetreCourante(coord) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  if (coord=='x') {return myWidth;} else {return myHeight;}
  }

// Pour afficher une image dans Overlib lorsque l'image est sotck\u00E9e dans la page appelante
function imageoverlib(fichier,id) {

TailleFenetre=TailleFenetreCourante('x');
doc=document.location.href.split('?'); //top.document.location.href recupere l'url situee dans la barre d'adresse
// on se base sur l'imagette stock\u00E9 sur le document pour d\u00E9terminer le sens de l'image
var elem=document.getElementById(id);
// Trouve la position de l'image
x=findPos(elem,'x');

var orientation='Portrait';
var decalageX=520;
if (elem) {
	if (elem.height>elem.width) {orientation='Paysage';decalageX=385;}
}
if (x>TailleFenetre/2) {poswindow=-decalageX; } else {poswindow=20; }
if (orientation=='Portrait') {
	x= overlib('<img src='+doc[0]+'/$file/'+fichier+' width=500>',OFFSETX,poswindow,OFFSETY,-250,DELAY,500);}
else {
	x= overlib('<img src='+doc[0]+'/$file/'+fichier+' width=365>',OFFSETX,poswindow,OFFSETY,-350,DELAY,500);
}
//y=overlib('<img src="http://'+serveur+chemin+'/$file/'+fichier+'" alt="">',CAPTION,'Zoom image', WIDTH, 500,OFFSETY, -300, LEFT, FGCOLOR, '#CCFF99', BGCOLOR, '9CB919')
return x
}


// Pour afficher une image dans Overlib lorsque l'image n'est pas stock\u00E9e dans la page appelante
// fichier doit contenir le chemin complet vers l'image
function imageoverlibhttp(fichier,id) {

TailleFenetre=TailleFenetreCourante('x');
// on se base sur l'imagette stock\u00E9 sur le document pour d\u00E9terminer le sens de l'image
var elem=document.getElementById(id);
// Trouve la position de l'image
x=findPos(elem,'x');

var orientation='Portrait';
var decalageX=385;
if (elem) {
	if (elem.height<elem.width) {orientation='Paysage';decalageX=520;}
}
if (x>TailleFenetre/2) {poswindow=-decalageX; } else {poswindow=20; }
if (orientation=='Portrait') {
	x= overlib('<img src='+fichier+' width=365>',WIDTH, 365,OFFSETY,-250,OFFSETX,poswindow, DELAY,750);}
else {
	x= overlib('<img src='+fichier+' width=500>', WIDTH, 500,OFFSETY,-250,OFFSETX,poswindow, DELAY,750);
}
return x
}

// Trouve le plan flash en fonction des coordonn\u00E9es
function TrouvePlan(coordonnees) {
	XY=coordonnees.split(',');
	X=parseInt(-XY[0]/500);
	Y=parseInt(-XY[1]/500);
	Num=Y*15+X+1;
	Chaine="mapville"+Num+".swf";
	return Chaine;
}
function VerifierAdresseMail($adresse)
{
   $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
   if(preg_match($Syntaxe,$adresse))
      return true;
   else
     return false;
}

// Permet de montrer ou cacher un calque
function montreCache(id,status) {//status = rien ou montre ou cache
var objetMontreCache = document.getElementById(id);
	if (!status){
		if (objetMontreCache.style.display=='block') {
			objetMontreCache.style.display='none';
		}else{
			objetMontreCache.style.display='block';
		}
	}else{
		if (status == "montre"){
			if (objetMontreCache.style.display!='block') {
				objetMontreCache.style.display='block';
			}
		}
		if (status == "cache"){
			if (objetMontreCache.style.display!='none') {
				objetMontreCache.style.display='none';
			}
		}
	}
}

// Enregistre le contexte d'affichage
function EnregistreContexte() {

// On enregistre pour les fonctions transversales
	if (document.getElementById("chpAfficherBoutonRetour").value=="Non") {
		date = new Date;
		date.setDate(date.getDate()+1);
		StockeDansCookie(date,"numRubrique");
		StockeDansCookie(date,"chpRubrique");
		StockeDansCookie(date,"chpPseudoPage");
		StockeDansCookie(date,"chpLangue");
		StockeDansCookie(date,"chpTheme");
		StockeDansCookie(date,"chpDocParent");
		StockeDansCookie(date,"chpRubriqueActu");

//		EcrireCookie("numRubrique", document.getElementById("numRubrique").value,date,"/");
//		EcrireCookie("chpRubrique", document.getElementById("chpRubrique").value,date,"/");
//		EcrireCookie("chpPseudoPage", document.getElementById("chpPseudoPage").value,date,"/");
//		EcrireCookie("chpLangue", document.getElementById("chpLangue").value,date,"/");
//		EcrireCookie("chpTheme", document.getElementById("chpTheme").value,date,"/");
//		EcrireCookie("chpDocParent", document.getElementById("chpDocParent").value,date,"/");
//		EcrireCookie("chpRubriqueActu", document.getElementById("chpRubriqueActu").value,date,"/");
	}
}

function StockeDansCookie(date,chp) {
	var elem=document.getElementById(chp)
	if (elem) { 
		EcrireCookie(chp, elem.value,date,"/");
	}
}

function LitContexte() {
	document.getElementById("numRubrique").value=LireCookie("numRubrique");
	document.getElementById("chpRubrique").value=LireCookie("chpRubriqueActu");
	document.getElementById("chpDocParent").value=LireCookie("chpPseudoPage");
	document.getElementById("chpLangue").value=LireCookie("chpLangue") ;
	document.getElementById("chpTheme").value=LireCookie("chpTheme");

/*	alert(LireCookie("numRubrique"));
	alert(LireCookie("chpRubrique"));
	alert(LireCookie("chpPseudoPage"));
	alert(LireCookie("chpLangue")) ;
	alert(LireCookie("chpTheme"));
	alert(LireCookie("chpDocParent"));*/
}

// Attribut une valeur par d\u00E9faut aux champs dont les noms sont du type RacineXX o\u00F9 XX est un nombre
// Le formulaire est pass\u00E9 en param\u00E8tre
function AttributValeurParDefaut(formulaire,racine,maxi,valeur) {
	for (var f = 0; f < formulaire.elements.length; f++) {
		for (var i = 1; i < maxi; i++) {
				if (formulaire.elements[f].name==racine+i) {
					formulaire.elements[f].value=valeur;
				}
		}
	}
}

// Fait la somme des champs du formulaire pass\u00E9 en param\u00E8tre 
// dont les noms sont du type RacineXX o\u00F9 XX est un nombre
function SommeElement(formulaire,racine,maxi) {
	var somme=0;
	for (var f = 0; f < formulaire.elements.length; f++) {
		for (var i = 1; i < maxi; i++) {
				if (formulaire.elements[f].name==racine+i) {
					somme=somme+parseInt(formulaire.elements[f].value);
				}
		}
	}
	return(somme);
}				

// Recherche le nombre maxi des champs du formulaire pass\u00E9 en param\u00E8tre 
// dont les noms sont du type RacineXX o\u00F9 XX est un nombre
function RechercheMax(formulaire,racine,maxi) {
	var maximum=0;
	for (var f = 0; f < formulaire.elements.length; f++) {
		for (var i = 1; i < maxi; i++) {
				if (formulaire.elements[f].name==racine+i) {
					if (parseInt(formulaire.elements[f].value)>maximum) {
						maximum=parseInt(formulaire.elements[f].value);
					}
				}
		}
	}
	return(maximum);
}				

// Recherche dans le cookie la pr\u00E9sence de valeurs par d\u00E9faut pour les champs
// du formulaire pass\u00E9 en param\u00E8tre
function ValeurParDefaut(formulaire) {
	for (var i = 1; i < formulaire.elements.length; i++) {
		chpcourant=LireCookie(formulaire.elements[i].name);
		if (chpcourant != null) {
		formulaire.elements[i].value=chpcourant;}
	}
}

// V\u00E9rifie la validit\u00E9 syntaxique d'une adresse m\u00E9l
function VerifieMail(ValChp,VidePossible) {
	var email = ValChp;
	// L'adresse Email peut \u00EAtre vide en fonction du param\u00E8tre VidePossible
	if (VidePossible=="Oui" && email == "") {return true;}

	var aroba = email.indexOf("@");
	//test si @ est pr\u00E9sent
	//si il n'est pas pr\u00E9sent, l'adresse n'est pas valide
	if (aroba == -1) {
  		alert("L'adresse email n'est pas valide...\nIl n'y a pas de caractere @\nUne adresse mail valide est du type \"adresse@domaine.com\"");
  		return false;
	}
	//v\u00E9rifie si il y a un . apr\u00E8s @ et qu'il ne se trouve pas juste derri\u00E8re ("adresse@.com" non valide)
	var point = email.indexOf(".", aroba);
	if ((point == -1) || (point == (aroba + 1))) {
  		alert("L'adresse email n'est pas valide...\nil manque un point (.) ou il est juste apres @\nUne adresse mail valide est du type \"adresse@domaine.com\"");
  		return false;
	}
	//v\u00E9rifie si il y a au moins 1 caract\u00E8re apr\u00E8s le point
	//point + 1 car indexOf commence \u00E0 0.
	//Si l'index est 4 et la longueur de la cha\u00EEne 5, erreur
	var point = email.lastIndexOf(".");
	if ((point + 1) == email.length) {
	//if ((point + 1) == email.length || (point + 2) == email.length) {
  		alert("L'adresse email n'est pas valide...\nL'adresse mail ne peut pas finir par un point ou un seul caractere (.)\nUne adresse mail valide est du type \"adresse@domaine.com\"");
  		return false;
	}
	//v\u00E9rifie qu'il y a au moins 2 caract\u00E8res avant le @
	//if (aroba <2) {
  	//	alert("L'adresse email n'est pas valide...\nAu moins 2 caracteres sont requis avant @\nUne adresse mail valide est du type \"adresse@domaine.com\"");
  	//	return false;
	//}	
	//v\u00E9rifie s'il n'y a pas deux . qui se suivent
	point = email.indexOf("..")
	if (point != -1) {
  		alert("L'adresse email n'est pas valide...\nL'adresse mail ne peut pas contenir 2 points (.) qui se suivent.\nUne adresse mail valide est du type \"adresse@domaine.com\"");
  		return false;
		}
	return true;
}

//Fonction pour g\u00E9rer les cookies
function EcrireCookie(nom, valeur)
{
var argv=EcrireCookie.arguments;
var argc=EcrireCookie.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=nom+"="+escape(valeur)+
((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 LireCookie(nom)
{
var arg=nom+"=";
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; 
}

// Fonction pour appeler une image quicktime attach\u00E9e \u00E0 un document
function MontreQt(NomImage)
{
// R\u00E9cup\u00E9ration de l'adresse de la page pour servir de base \u00E0 l'adresse de la page \u00E0 appeler
var doc;
doc=document.location.href.split('/'); //top.document.location.href recupere l'url situee dans la barre d'adresse
var urlcible;

urlcible="http://"+doc[2]+"/"+doc[3]+"/pgeQT?openpage&"+doc[2]+"&"+doc[3]+"&"+document.getElementById('chpPseudoPage').value+'&'+NomImage;
//url='http://172.20.11.9:81/festival.nsf/pgeimage?openpage&172.20.11.9:81&festival.nsf&'+document.forms[0].chpPseudoPage.value+'&'+NomImage

var Largeur=640;
var Hauteur=430;
var PHOTOS = 	window.open(urlcible,"_blank","directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,status=no,top=0,left=0,width="+Largeur+",height="+Hauteur);

var Haut=(screen.height-Hauteur)/2;
var Gauche=(screen.width-Largeur)/2;
//window.moveTo(Gauche,Haut);
PHOTOS.window.moveTo(Gauche,Haut);
}

// Fonction pour appeler une image attach\u00E9e \u00E0 un document
function MontreImage(NomImage)
{
// R\u00E9cup\u00E9ration de l'adresse de la page pour servir de base \u00E0 l'adresse de la page \u00E0 appeler
var doc;
doc=document.location.href.split('/'); //top.document.location.href recupere l'url situee dans la barre d'adresse
var urlcible;

urlcible="http://"+doc[2]+"/"+doc[3]+"/pgeimage?openpage&"+doc[2]+"&"+doc[3]+"&"+document.getElementById('chpPseudoPage').value+'&'+NomImage;
//url='http://172.20.11.9:81/festival.nsf/pgeimage?openpage&172.20.11.9:81&festival.nsf&'+document.getElementById('chpPseudoPage').value+'&'+NomImage

var PHOTOS = 	window.open(urlcible,"_blank","directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,status=no,top=0,left=0,width="+screen.width+",height="+screen.height);
}


// Enregistrement du th\u00E8me courant dans un cookie
function EnregTheme() {
	if ( document.getElementById('chpTheme').value != '' ) {
		date = new Date;
		date.setFullYear(date.getFullYear()+2);
		EcrireCookie("Theme",document.getElementById("chpTheme").value,date,"/");
	}
}

function DocsJointsMarches() {
	if ( document.getElementById('chpContact').value == '' ) {
		document.getElementById("chpContact").focus();
		alert("Saisissez le nom de votre entreprise suivi \u00E9ventuellement du nom d'un contact !")
		return false;
	}
	if ( document.getElementById('chpFax').value == '' ) {
		document.getElementById("chpFax").focus();
		alert("Saisissez votre num\u00E9ro de fax !")
		return false;
	}
	if ( document.getElementById('chpEmail').value == '' ) {
		document.getElementById("chpEmail").focus();
		alert("Saisissez un m\u00E9l pour pouvoir acc\u00E9der aux documents joints \u00E0 ce march\u00E9 !")
		return false;
	}
	if ( ! VerifieMail(document.getElementById('chpEmail').value,'Non')) {return false;}
	date = new Date;
	date.setFullYear(date.getFullYear()+2);
	EcrireCookie("entreprise",document.getElementById("chpContact").value,date,"/");
	EcrireCookie("fax",document.getElementById("chpFax").value,date,"/");
	EcrireCookie("Email",document.getElementById("chpEmail").value,date,"/");
	var x;
x=document.location.replace("/demandesville.nsf/msqMarcheEnregPieceJointe?CreateDocument&"+document.getElementById("chpPseudoPage").value+"&"+document.getElementById("chpLangue").value+"&"+document.getElementById("chpTheme").value+"&"+document.getElementById("chpRubrique").value+"&"+document.getElementById("numRubrique").value+"&"+document.getElementById("chpRubriqueActu").value+"&"+document.getElementById("chpDocParent").value+"&"+document.getElementById("chpEmail").value+"&"+document.getElementById("chpContact").value+"&"+document.getElementById("chpFax").value);
	
	date = new Date;
	date.setDate(date.getDate()+1);
	EcrireCookie("Email", document.getElementById("chpEmail").value,date,"/");
	
	return true;
}

// Fonction qui cr\u00E9e un cookie et raffraichie la page courante pour un march\u00E9 public
function DocsJointsMarchesold() {
	if ( document.getElementById('chpEmail').value == '' ) {
		document.getElementById("chpEmail").focus();
		alert("Saisissez un m\u00E9l pour pouvoir acc\u00E9der aux documents joints \u00E0 ce march\u00E9 !")
		return false;
	}
	if ( ! VerifieMail(document.getElementById('chpEmail').value,'Non')) {return false;}
	date = new Date;
	date.setFullYear(date.getFullYear()+2);
	EcrireCookie("Email",document.getElementById("chpEmail").value,date,"/");
	var x;


x=document.location.replace("/demandesville.nsf/msqMarcheEnregPieceJointe?CreateDocument&"+document.getElementById("chpPseudoPage").value+"&"+document.getElementById("chpLangue").value+"&"+document.getElementById("chpTheme").value+"&"+document.getElementById("chpRubrique").value+"&"+document.getElementById("numRubrique").value+"&"+document.getElementById("chpRubriqueActu").value+"&"+document.getElementById("chpDocParent").value+"&"+document.getElementById("chpEmail").value);


	
	date = new Date;
	date.setDate(date.getDate()+1);
	EcrireCookie("Email", document.getElementById("chpEmail").value,date,"/");
	
	return true;
}

 
// Fonction qui v\u00E9rifie la chaine de recherche et chaine sur la r\u00E9ponse
function ValidationRecherche(Langue) {

	// on fait une recherche vide, car on arrive pas \u00E0 bloquer avant la recherche vide
	if (document.getElementById("chpRecherche").value == "") {
	x=document.location.replace("/"+BaseLangue(Langue)+"/vueRecherche/?Searchview&SearchOrder=4&Count=100&TotalHits&Query= ");
	return true;
	}
	ChaineSaisie=document.getElementById("chpRecherche").value
	ChaineMots=ChaineSaisie.split(' ');
	NouvelleChaine=ChaineMots[0];
	if (ChaineMots.length>1) {
		for (var i = 1; i < ChaineMots.length; i++) {
		NouvelleChaine=NouvelleChaine+" AND "+ChaineMots[i];}
	}
	var x;
	x=document.location.replace("/"+BaseLangue(Langue)+"/vueRecherche/?Searchview&SearchOrder=4&Count=100&TotalHits&Query="+NouvelleChaine);
	return true;
}

// Fonction qui v\u00E9rifie la chaine de recherche et chaine sur la r\u00E9ponse
function ValidationRechercheOld(Langue) {

if (document.getElementById("chpRecherche").value == "") {
	document.getElementById("chpRecherche").focus();
	return false;
}

ChaineSaisie=document.getElementById("chpRecherche").value
ChaineMots=ChaineSaisie.split(' ');
NouvelleChaine=ChaineMots[0];
if (ChaineMots.length>1) {
	for (var i = 1; i < ChaineMots.length; i++) {
		if (document.getElementById("chpTypeRecherche1").checked==true) {		
			NouvelleChaine=NouvelleChaine+" AND "+ChaineMots[i];}
		else {
			NouvelleChaine=NouvelleChaine+" OR "+ChaineMots[i];}
	}
}
var x;
x=document.location.replace("/"+BaseLangue(Langue)+"/vueRecherche/?Searchview&SearchOrder=4&Count=100&TotalHits&Query="+NouvelleChaine);
	return true;
}

// Fonction qui v\u00E9rifie la chaine de recherche et chaine sur la r\u00E9ponse
function ValidationRechercheOk(Langue) {
	if (document.getElementById("chpRecherche").value == "") {
		document.getElementById("chpRecherche").focus();
		return false;
	}
	var x;
				x=document.location.replace("/"+BaseLangue(Langue)+"/vueRecherche/?Searchview&SearchOrder=4&Count=100&TotalHits&Query=\""+document.getElementById("chpRecherche").value+"\"");
	return true;
}

function AffichageDisponible() {
var largeur = 0, hauteur = 0;
if( typeof( window.innerWidth ) == 'number' ) {
  largeur = window.innerWidth;
  hauteur = window.innerHeight;
  } 
else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
  largeur = document.documentElement.clientWidth;
  hauteur = document.documentElement.clientHeight;
  } 
else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
  largeur = document.body.clientWidth;
  hauteur = document.body.clientHeight;
  }
else {
  largeur = -1;
  hauteur = -1;
  } 
}

/* Change le menu rubrique en fonction des param\u00E8tres pass\u00E9s */
function ChangeMenuRubrique(LangueCourante,PageCourante,Langue,Page) {
if (LangueCourante.toUpperCase()!=Langue.toUpperCase() | PageCourante.toUpperCase()!=Page.toUpperCase()) {
	window.top.frames['MenuGauche'].location.replace('/'+BaseLangue(Langue)+'/'+Page);}
}

/* Retourne le nom de la base en fonction du param\u00E8tre langue*/
function BaseLangue(Langue) {
switch (Langue) {
	case "FR" : 
		return("festival.nsf");
		break;
	case "EN" : 
		return("festival_EN.NSF");
		break;
	case "DEM" : 
		return("demandesville.NSF");
		break;
	case "SP" : 
		return("festival_SP.NSF");
		break;
	case "NE" : 
		return("festival_NE.NSF");
		break;
	case "DE" : 
		return("festival_DE.NSF");
		break;}
}

function montre(id) {
	var d = document.getElementById(id);
	for (var i = 1; i<=50; i++) {
		if (document.getElementById('smenu'+i+'-')) {document.getElementById('smenu'+i+'-').style.display='none';}
	}
	if (d) {d.style.display='block';}
}

function AfficheRubrique(num) {

// Recherche du num\u00E9ro de rubrique dans le cookie si la page est de type niveau 5
if (document.getElementById('chpAfficherBoutonRetour').value=="Oui" & LireCookie('numRubrique')!="") {
	document.getElementById('numRubrique').value=LireCookie('numRubrique');
	num=parseInt(LireCookie('numRubrique'));
}

var CouleurSelection='#000080';
if (document.getElementById('chpTheme').value=="Festival") { CouleurSelection='#ff33ff'; }
if (document.getElementById('chpTheme').value=="Visiter") { CouleurSelection='#699C03'; }
if (document.getElementById('chpTheme').value=="Vivre") { CouleurSelection='#BF3603'; }
if (document.getElementById('chpTheme').value=="Entreprendre") { CouleurSelection='#009C9C'; }
if (document.getElementById('chpTheme').value=="Agenda") { CouleurSelection='#000080'; }

var compteur=-1;
var ibon=0;
var jbon=0;
for (var i = 1; i<=50; i++) {
	if (document.getElementById('smenu'+i+'-')) {
		compteur=compteur+1;			
		if (compteur==num) {ibon=i; jbon=0;}
	}
	for (var j = 1; j<=20; j++) {
		if (document.getElementById('smenu'+i+'-'+j)) {
			compteur=compteur+1;
			if (compteur==num) {ibon=i; jbon=j;}
		}
	}
}
if (ibon>=0) {
	for (var i = 1; i<=50; i++) {
		if (document.getElementById('smenu'+i+'-')) {
			if (ibon!=i) {document.getElementById('smenu'+i+'-').style.display='none';}
		}
	}
}
if ((document.getElementById('menu'+ibon))) {document.getElementById('menu'+ibon).style.color=CouleurSelection;}
if (document.getElementById('smenu'+ibon+'-')) {document.getElementById('smenu'+ibon+'-').style.display='block';}
if (document.getElementById('smenu'+ibon+'-'+jbon)) {document.getElementById('smenu'+ibon+'-'+jbon).style.color=CouleurSelection;}

if (document.getElementById('smenu'+ibon+'-'+jbon)) {document.getElementById('smenu'+ibon+'-'+jbon).style.fontWeight="bold";}
}

function colorise(id) {
// D\u00E9tection de la couleur normale des \u00E9l\u00E9ments du menu car la couleur normale change en fonction du th\u00E8me !
var CouleurSelection='#000080';
if (document.getElementById('chpTheme').value=="Festival") { CouleurSelection='#ff33ff'; }
if (document.getElementById('chpTheme').value=="Visiter") { CouleurSelection='#699C03'; }
if (document.getElementById('chpTheme').value=="Vivre") { CouleurSelection='#BF3603'; }
if (document.getElementById('chpTheme').value=="Entreprendre") { CouleurSelection='#009C9C'; }
if (document.getElementById('chpTheme').value=="Agenda") { CouleurSelection='#000080'; }

var CouleurNormale='';
for (var i = 1; i<=50; i++) {
	if (document.getElementById('menu'+i) & CouleurNormale=='') {
		if (document.getElementById('menu'+i).style.color!=CouleurSelection) { 							
		CouleurNormale=document.getElementById('menu'+i).style.color;
		}
	}
}
for (var i = 1; i<=50; i++) {
	if (document.getElementById('menu'+i)) {
		document.getElementById('menu'+i).style.color=CouleurNormale;
	}
	for (var j = 1; j<=20; j++) {
		if (document.getElementById('smenu'+i+'-'+j)) {document.getElementById('smenu'+i+'-'+j).style.color=CouleurNormale;}
	}
}
var d = document.getElementById(id);
if (d) {d.style.color=CouleurSelection;}
}


// Fonctions n\u00E9cessaires pour Xiti - Statistiques du site
<!--
function xt_clic(typecl,section,page,url,nvlle)
{
//alert('Clic d\u00E9clench\u00E9');
Xt_r = document.referrer;
Xt_h = new Date();
xt_img = new Image();
Xt_i = 'http://logi7.xiti.com/hit.xiti?s=145570&s2='+section;
Xt_i += '&p='+page+'&clic='+typecl+'&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xiti_s=screen;Xt_i += '&r=' + Xiti_s.width + 'x' + Xiti_s.height + 'x' + Xiti_s.pixelDepth + 'x' + Xiti_s.colorDepth;}
Xt_i += '&ref=' + Xt_r.replace(/<>"]/g, '').replace(/&/g, '$');
xt_img.src = Xt_i;
if ((url != null)&&(url!=undefined))
{ if ((nvlle=='')||(nvlle==null)) { document.location = url;} else {xfen = window.open(url,'xfen',''); xfen.focus();}}
else
{return;}
}
//-->


// Fonction n\u00E9cessaire pour les appels de carte Cartoflash

function map_open(url,x,y,cmd) {
	url += "?" + escape(x) + "&" + escape(y) + "&" + escape(cmd);
	open(url,"plan","directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,status=yes");
}

function OuvrirFenetreCentree(page,cadre,largeur,hauteur,options) {
  var top=(screen.height-hauteur)/2;
  var left=(screen.width-largeur)/2;
  window.open(page,cadre,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

// Fonction pour afficher des photos rattach\u00E9s \u00E0 un document
function Photo(pseudo,nomPhoto)
  { 
	var largeur=800;
	var hauteur=600;
	if (screen.width>largeur ) {
		largeur=largeur+20;
		hauteur=hauteur+20;}
	var serveur="172.20.11.9:81";
	var base="festival.nsf";
	UrlCible = "http://"+serveur+"/"+base+"/vuetitre/"+pseudo+"/$file/"+nomPhoto+"?OpenElement";
	var PHOTOS = 	window.open("","Carcassonne","directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=no, width="+largeur+" height="+hauteur);
	PHOTOS.window.moveTo(screen.availWidth/2-largeur/2,screen.availHeight/2-hauteur/2);
	PHOTOS.document.location.replace(UrlCible);

	PHOTOS.focus();
//	PHOTOS.null;
}
function OuvrirFenetreZoom(page,cadre,zoom,options) {
  if (options=='') {options='directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=no'};
  //options='directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=yes,status=no';
  var hauteur=(zoom/100)*screen.height;
  var largeur=(zoom/100)*screen.width;
  var top=(screen.height-hauteur)/2;
  var left=(screen.width-largeur)/2;
  window.open(page,cadre,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}
// Fonctions n\u00E9cessaire pour g\u00E9rer l'affichage d'un calendrier
var dayA = new Array();
var monthA = new Array();
var yearA = new Array();
var targetfield;
monthA[0]="Janvier";
monthA[1]="F\u00E9vrier";
monthA[2]="Mars";
monthA[3]="Avril";
monthA[4]="Mai";
monthA[5]="Juin";
monthA[6]="Juillet";
monthA[7]="Ao\u00FBt"; 
monthA[8]="Septembre"; 
monthA[9]="Octobre";
monthA[10]="Novembre"; 
monthA[11]="D\u00E9cembre";

for(var i=1;i<=31;i++) 
{ 
dayA[i]=i; 
} 

for(var i=0;i<10;i++) 
{ 
yearA[i]=gy(i); 
} 
function gm(num) { 
 var mydate = new Date(); 
 mydate.setDate(1); 
 mydate.setMonth(num-1); 
 var datestr = "" + mydate; 
 return datestr.substring(4,7); 
} 

function gy(num) { 
  var mydate = new Date(); 
  return (eval(mydate.getYear()) - 4 + num); 
} 

function ud(mon) { 
  var i = mon.selectedIndex; 

  if(mon.options[i].value == "2") { 
    document.forms[0].day.options[30] = null; 
    document.forms[0].day.options[29] = null; 
    var j = document.forms[0].year.selectedIndex; 
    var year = eval(document.forms[0].year.options[j].value); 
    if ( ((year%400)==0) || (((year%100)!=0) && ((year%4)==0)) ) { 
      if (document.forms[0].day.options[28] == null) { 
        document.forms[0].day.options[28] = new Option("29"); 
        document.forms[0].day.options[28].value = "29"; 
      } 
    } else { 
      document.forms[0].day.options[28] = null; 
    } 

  } 

  if(mon.options[i].value == "1" || 
     mon.options[i].value == "3" || 
     mon.options[i].value == "5" || 
     mon.options[i].value == "7" || 
     mon.options[i].value == "8" || 
     mon.options[i].value == "10" || 
     mon.options[i].value == "12") 
  { 
    if (document.forms[0].day.options[28] == null) { 
      document.forms[0].day.options[28] = new Option("29"); 
      document.forms[0].day.options[28].value = "29"; 
    } 
    if (document.forms[0].day.options[29] == null) { 
      document.forms[0].day.options[29] = new Option("30"); 
      document.forms[0].day.options[29].value = "30"; 
    } 
    if (document.forms[0].day.options[30] == null) { 
      document.forms[0].day.options[30] = new Option("31"); 
      document.forms[0].day.options[30].value = "31"; 
    } 
  } 

  if(mon.options[i].value == "4" || 
     mon.options[i].value == "6" || 
     mon.options[i].value == "9" || 
     mon.options[i].value == "11") 
  { 
    if (document.forms[0].day.options[28] == null) { 
      document.forms[0].day.options[28] = new Option("29"); 
      document.forms[0].day.options[28].value = "29"; 
    } 
    if (document.forms[0].day.options[29] == null) { 
      document.forms[0].day.options[29] = new Option("30"); 
      document.forms[0].day.options[29].value = "30"; 
    } 
    document.forms[0].day.options[30] = null; 
  } 

  if (document.forms[0].day.selectedIndex == -1) 
    document.forms[0].day.selectedIndex = 0; 

} 


function showdate() { 
  var i = document.forms[0].month.selectedIndex; 
  var j = document.forms[0].day.selectedIndex; 
  var k = document.forms[0].year.selectedIndex; 
  alert(document.forms[0].day.options[j].value + "/" + 
        document.forms[0].month.options[i].value + "/" + 
        document.forms[0].year.options[k].value) 
} 


function opencalendar(temptargetfield) {
var field= eval("document.forms[0]." + temptargetfield);
targetfield = "opener.document.forms[0]." + temptargetfield + ".value";
var mydate;
if(field.value == "" || field.value.length < 10 || field.value.length >10)
{
mydate = new Date(); 
}
else
{
var tempday = field.value.charAt(0).toString() + field.value.charAt(1).toString();
var tempmonth = (parseInt((parsemonth(field.value.charAt(3).toString(), field.value.charAt(4).toString())))-1).toString();
var tempyear = (parseInt(field.value.charAt(6).toString() + field.value.charAt(7).toString() + field.value.charAt(8).toString() + field.value.charAt(9).toString())).toString();
mydate = new Date(tempyear, tempmonth, tempday ); 
}
for(var i=0;i<=monthA.length;i++) 
{ 
	if (mydate.getMonth() == i) 
	{
		month = i+1;
	}
} 
year = mydate.getYear();
//yearA[4].toString();


//calwin = window.open("","calwin","resizable,status,height=250,width=210"); 
var hauteur=250;
var largeur=210
var top=(screen.height-hauteur)/2;
var left=(screen.width-largeur)/2;
calwin = window.open("","calwin","top="+top+",left="+left+",resizable,status,height="+hauteur+",width="+largeur); 
calccal(calwin,month,year,targetfield); 
} 
function parsemonth(tmpm1, tmpm2)
{
var m1;
var m2;
var m3;
if (tmpm1 == "0")
{
m1 = "";
}
else
{
m1 = "1";
}
m2 = tmpm2;
m3 = m1.toString() + m2.toString();
return m3;
}


function calccal(targetwin,month,year,targetfield) { 
  var monthname = new Array(12); 
  monthname[0] = "Janvier"; 
  monthname[1] = "F\u00E9vrier"; 
  monthname[2] = "Mars"; 
  monthname[3] = "Avril"; 
  monthname[4] = "Mai"; 
  monthname[5] = "Juin"; 
  monthname[6] = "Juillet"; 
  monthname[7] = "Ao\u00FBt"; 
  monthname[8] = "Septembre"; 
  monthname[9] = "Octobre"; 
  monthname[10] = "Novembre"; 
  monthname[11] = "D\u00E9cembre"; 

  var endday = calclastday(eval(month),eval(year)); 

  mystr = month + "/01/" + year; 
  mydate = new Date(mystr); 
  firstday = mydate.getDay(); 

  var cnt = 0; 

  var day = new Array(6); 
  for (var i=0; i<6; i++) 
    day[i] = new Array(7); 

  for (var r=0; r<6; r++) 
  { 
    for (var c=0; c<7; c++) 
    { 
      if ((cnt==0) && (c!=firstday)) 
        continue; 
      cnt++; 
      day[r][c] = cnt; 
      if (cnt==endday) 
        break; 
    } 
    if (cnt==endday) 
      break; 
  } 

  targetwin.document.write("<TABLE><TR VALIGN=TOP><FORM>"); 

  var prevyear = eval(year) - 1; 
  targetwin.document.write("<TD><INPUT TYPE=BUTTON NAME=prevyearbutton VALUE='<<'"+ 
   " onclick='document.close();opener.calccal(opener.calwin,"+month+","+prevyear+",\""+targetfield+"\")'></TD>"); 

  var prevmonth = calcprevmonth(month); 
  var prevmonthyear = calcprevyear(month,year); 
  targetwin.document.write("<TD><INPUT TYPE=BUTTON NAME=prevmonthbutton VALUE='&nbsp;<&nbsp;'"+ 
   " onclick='document.close();opener.calccal(opener.calwin,"+prevmonth+","+prevmonthyear+",\""+targetfield+"\")'></TD>"); 

  targetwin.document.write("<TD COLSPAN=3 ALIGN=CENTER>"); 
  var index = eval(month) - 1; 
  targetwin.document.write("<B>" + monthname[index] + " " + year + "</B></TD>"); 

  var nextmonth = calcnextmonth(month); 
  var nextmonthyear = calcnextyear(month,year); 
  targetwin.document.write("<TD><INPUT TYPE=BUTTON NAME=nextmonthbutton VALUE='&nbsp;>&nbsp;'"+ 
   " onclick='document.close();opener.calccal(opener.calwin,"+nextmonth+","+nextmonthyear+",\""+targetfield+"\")'></TD>"); 

  var nextyear = eval(year) + 1; 
  targetwin.document.write("<TD><INPUT TYPE=BUTTON NAME=nextyearbutton VALUE='>>'"+ 
   " onclick='document.close();opener.calccal(opener.calwin,"+month+","+nextyear+",\""+targetfield+"\")'></TD>"); 

  targetwin.document.write("</TR><TR>"); 
  targetwin.document.write("<TD>Di</TD>"); 
  targetwin.document.write("<TD>Lu</TD>"); 
  targetwin.document.write("<TD>Ma</TD>"); 
  targetwin.document.write("<TD>Me</TD>"); 
  targetwin.document.write("<TD>Je</TD>"); 
  targetwin.document.write("<TD>Ve</TD>"); 
  targetwin.document.write("<TD>Sa</TD>"); 
  targetwin.document.write("</TR>"); 

  targetwin.document.write("<TR><TD COLSPAN=7><HR NOSHADE></TD></TR>"); 

  var selectedmonth = eval(month) - 1; 
  var today = new Date(); 
  var thisyear = today.getYear(); 
  var selectedyear = eval(year) - thisyear + 4; 

  var conditionalpadder = ""; 

  for(r=0; r<6; r++) 
  { 
   targetwin.document.write("<TR>"); 
   for(c=0; c<7; c++) 
   { 
    targetwin.document.write("<TD>"); 
    if(day[r][c] != null) { 
      if (day[r][c] < 10) 
        conditionalpadder = "&nbsp;" 
      else 
        conditionalpadder = ""; 
      targetwin.document.write("<INPUT TYPE=BUTTON NAME="+day[r][c]+         " VALUE=" + conditionalpadder + day[r][c] + conditionalpadder +  
	" onClick=\"window.close();" +targetfield+"='"+(day[r][c]).toString()+ "/"+ (selectedmonth+1).toString() + "/" + yearA[selectedyear.toString()]+"';\";>");    } 
    targetwin.document.write("</TD>"); 
   } 
   targetwin.document.write("</TR>"); 
  } 
  targetwin.document.write("</FORM></TABLE>"); 

} 

function calclastday(month,year) { 
  if ((month==2) && ((year%4)==0)) 
    return 29; 

  if ((month==2) && ((year%4)!=0)) 
    return 28; 

  if ((month==1) || (month == 3) || (month == 5) || (month == 7) || 
      (month==8) || (month == 10) || (month ==12)) 
    return 31; 

  return 30; 
} 

function calcnextmonth(month) { 
  if (month=="12") 
    return "1"; 
  else 
    return (eval(month)+1); 
} 

function calcnextyear(month,year) { 
  if (month=="12") 
    return (eval(year)+1); 
  else 
    return (year); 
} 

function calcprevmonth(month) { 
  if (month=="1") 
    return "12"; 
  else 
    return (eval(month)-1); 
} 

function calcprevyear(month,year) { 
  if (month=="1") 
    return (eval(year)-1); 
  else 
    return (year); 
} 
// Fin des fonctions n\u00E9cessaire pour le calendrier

function ouvre_lien_vue(idDoc,docRubrique,docParent)
{
	// Change la page courante en fonction des \u00E9l\u00E9ments pass\u00E9s en param\u00E8tres
	// idDoc : doit contenir la vue et le pseudo du document \u00E0 afficher
	// docRubrique : Libell\u00E9 du document parent \u00E0 afficher dans le chemin
	// docParent : url du Libell\u00E9 du document parent \u00E0 afficher dans le chemin
	// si le champ chpRubrique n'est pas pass\u00E9 en param\u00E8tre, alors on prend celui indiqu\u00E9 dans le champ
	if (docRubrique=="") {docRubrique=document.getElementById("chpRubrique");}
	// si le champ chpDocParent n'est pas pass\u00E9 en param\u00E8tre, alors on prend celui indiqu\u00E9 dans le champ
	if (docParent=="") {docParent=document.getElementById("chpDocParent");}
//	if (docRubrique!="" && docParent=="") {docRubrique="";}

	url=idDoc +"&" + document.getElementById("chpLangue").value +"&" +document.getElementById("chpTheme").value +"&"+docRubrique+"&" +document.getElementById("numRubrique").value +"&"+document.getElementById("chpRubrique").value+"&"+docParent
	window.location.href=url;
	return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqu\u00E9 et on inhibe le lien r\u00E9el.
}

function ouvre_lien_contexte(idDoc)
{
	// Change la page courante en fonction du contexte enregistr\u00E9
	// idDoc : doit contenir la vue et le pseudo du document \u00E0 afficher
	url=idDoc +"&" + document.getElementById("chpLangue").value +"&" +document.getElementById("chpTheme").value +"&"+LibelleRubrique(document.getElementById("numRubrique").value)+"&" +document.getElementById("numRubrique").value +"&"+LireCookie("chpRubriqueActu")+"&Back"
	/*+LireCookie("chpPseudoPage")*/
	window.location.href=url;
	return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqu\u00E9 et on inhibe le lien r\u00E9el.
}
	
function LibelleRubrique(num) {
	var compteur=-1;
	var ibon=0;
	var jbon=0;
	var libelle="";
	for (var i = 1; i<=50; i++) {
		if (document.getElementById('menu'+i)) {
			compteur=compteur+1;			
			if (compteur==num) {ibon=i; jbon=0;}
		}
		for (var j = 1; j<=50; j++) {
			if (document.getElementById('smenu'+i+'-'+j)) {
				compteur=compteur+1;
				if (compteur==num) {ibon=i; jbon=j;}
			}
		}
	}
	//alert("Trouv\u00E9 : ibon "+ibon+"   jbon : "+jbon);
	if (document.getElementById('menu'+ibon)) {libelle=document.getElementById('menu'+ibon).firstChild.nodeValue;}
	if (document.getElementById('smenu'+ibon+'-'+jbon)) {libelle=document.getElementById('smenu'+ibon+'-'+jbon).firstChild.nodeValue;}
	
	return libelle;
}	

function insereHTMLdansID(id,texte) { // function pour remplacer  'No documents found' affich\u00E9 par d\u00E9faut par une vue, par le message pass\u00E9 en param\u00E8tre
	if (document.getElementById(id)) {document.getElementById(id).innerHTML = texte;} 
} 

/* Retourne false si il y a plus de 40% de majuscules */
function TropDeMajuscules(chaine) {
	if (chaine.match(/[A-Z]/g) == null) { return false;}
	if (chaine.match(/[a-z]/g) == null) { return true;}
	var nbMaj = chaine.match(/[A-Z]/g).length;
	var nbMin = chaine.match(/[a-z]/g).length;
	if ((100 * nbMaj / (nbMaj+nbMin))>40) {return true;} else {return false;}
}

function setvaleurchp(id,valeur) {
	if (document.getElementById(id)) {document.getElementById(id).value=valeur;}
}

function insereiframe(id,largeur,hauteur,url) {
	/* insere une balise Iframe \u00E0 l'int\u00E9rieur d'une balise Id identifi\u00E9e */
	texte="<IFRAME id=\"iframe"+id+"\" name=\"iframe"+id+"\" WIDTH=\""+largeur+"\" height=\""+hauteur+"\" framespacing=0 frameborder=0 border=0 scrolling=no marginheight=0 marginwidth=0 HSPACE=\"0\"  src=\""+url+"\"> </IFRAME>";
	x=insereHTMLdansID(id,texte);
}


