var etat_patientez=-1;
var bouger_boite_dialogue=0;
var bouger_info_bulle=0;
var decalage_x_boite_dialogue=0;
var decalage_y_boite_dialogue=0;
var document_charge=0;
var largeur_info_bulle=200;
var bouger_calque=0;
var nom_navigateur;
var version_navigateur;
var calques_plus_ouverts=new Array();
var hauteur_bandeau;
var affich_calque_fenetre=0;

var etat_clignotement=0;

var plug_in_fichier=new Array();

//plugsin
	var is_plugin_acrobat,is_plugin_beatnik ,is_plugin_cosmo ,is_plugin_flash ,is_plugin_mediaplayer ,is_plugin_quicktime ,is_plugin_real ,is_plugin_svg,is_plugin_aurigma;

	//détection plugins
	document.write("<script language=\"VBScript\">\n<!-- 'IE---detection \nOn error resume next \n//is_plugin_acrobat = NOT IsNull(CreateObject(\"AcroExch.Document\")) \nis_plugin_beatnik = NOT IsNull(CreateObject(\"Beatnik.Beatnik\")) \nis_plugin_cosmo = NOT IsNull(CreateObject(\"Cosmo.Cosmo\")) \nis_plugin_flash =  NOT IsNull(CreateObject(\"ShockwaveFlash.ShockwaveFlash\"))  \nis_plugin_mediaplayer = NOT IsNull(CreateObject(\"Mediaplayer.Mediaplayer\")) \nis_plugin_quicktime = NOT IsNull(CreateObject(\"QuickTimeCheckObject.QuickTimeCheck.1\")) \nis_plugin_real = NOT IsNull(CreateObject(\"rmocx.RealPlayer G2 Control\")) \nis_plugin_svg = NOT IsNull(CreateObject(\"Adobe.SVGCtl\")) \nis_plugin_aurigma = NOT IsNull(CreateObject(\"Aurigma.ImageUploader3\")) \n-->\n<\/script>");
	var isXPSP2 = (window.navigator.userAgent.indexOf("SV1") != -1);


calque_fenetre_apercu = 'cboite_dialogue';

function clignot (id_calque) {
	if (etat_clignotement!=-1) {
		if (etat_clignotement==1) {
			calque(id_calque).style.visibility='visible';
		}
		else {
			calque(id_calque).style.visibility='hidden';
		}
		etat_clignotement=1-(etat_clignotement);
		setTimeout("clignot('"+id_calque+"')",600);
	}
}

    
function calque(nom) {
	var calq;
	if (document.getElementById) {
		eval("calq=document.getElementById('"+nom+"');");
		
	}
	else if (document.all) {
		eval("calq=document.all."+nom+";");
	}
	else if (document.layers) {
		
	}
	if (calq) return calq;
	else {
		
		return false;
	}
}

function supprimer_calque(nom) {
	
	var calq;
	
	if (document.getElementById) {
		//eval("calq=document.getElementById('"+nom+"');");
		calq=document.getElementById(nom);
		
	}
	else if (document.all) {
		eval("calq=document.all."+nom+";");
	}
	
	if (calq) {;
		if (calq.parentNode) {
			calq.parentNode.removeChild(calq);
		}
			
	}	
}



function detection_navigateur_ie() 
{		
	var ie= false;
	if (navigator.appName.substring(0,9) == "Microsoft" )
		ie= true;	
	return ie;	
}
 


function ouvrir_plus(calq,action_calque,message_ouvert,message_ferme,img_ouvert,img_ferme) {
		
	/*if (couleur) {
		calques_plus_ouverts[calques_plus_ouverts.length]=calq;
		for (o=0;o<calques_plus_ouverts.length;o++) {
			if (calques_plus_ouverts[o]!=calq) calque(calques_plus_ouverts[o]).style.backgroundColor='';
		}
	}
	*/
	
	if (!message_ouvert) message_ouvert="Fermer...";
	if (!message_ferme) message_ferme="Détails...";
	if (!img_ouvert) img_ouvert="imgs/pictos/voir_moins.gif";
	if (!img_ferme) img_ferme="imgs/pictos/voir_plus.gif";
	
	
	var qsd=calque(calq);	
	//var img_calque=calque('picto_'+calq);
	if (!action_calque) action_calque=(qsd.style.display=='none')? 'ouvrir' : 'fermer';
	
	
	if (qsd)
	{		
		if (action_calque=='ouvrir') {
			qsd.style.display='';					
		}
		else if (action_calque=='fermer') {
			
			qsd.style.display='none';						
		}
	}	
}


function modal(lien,largeur,hauteur,arguments,ajout_propriete) {
	var retour=window.showModalDialog(lien,arguments,"dialogHeight: "+hauteur+"px; dialogWidth: "+largeur+"px; edge: Raised; center: Yes; help: No; resizable: Yes; status: No; "+ajout_propriete);
	return retour;
}
function aide(page) {
	fullscreen('-aide-'+page);
}

function boite_dialogue(titre,contenu,largeur,hauteur,descript,message_copie_interdite,id_image_precedente,id_image_suivante,centrer,onclick_fermer)
 {
	
	if (!largeur) largeur=300;
	if (!hauteur) hauteur=200;
	
	
	var tmp;
	var tmp_bas='';
		
	
	tmp="<table cellpadding=0 cellspacing=0 width="+largeur+"px height="+hauteur+"px border=0><tr><td UNSELECTABLE=on>";
		tmp+="<table cellpadding=0 cellspacing=0 width=100% border=0><tr heigth=34 ><td align=center width=6px><img "+ "src='imgs/keeoweb/fenetre_gauche.gif' width=6px height=34px></td>";
		if (calque(id_image_precedente)) {
			tmp+="<td style='background-"+ "color:#b0b0b0;background:url(fichs/0001.gif);cursor:pointer;' "+ "onclick=\"calque('"+id_image_precedente+"').click()\" align=center width=20px title='Image précédente'><img "+ "src='imgs/pictos/image_precedente.gif' width=10px height=10px></td>";
			tmp_bas+="<td style='cursor:pointer;'    onclick=\"calque('"+id_image_precedente+"').click()\" "+ "align=left  width=20px title='Image précédente'><img src='imgs/pictos/image_precedente.gif' width=10px height=10px></td>";
		}
		
		tmp+="<td onmousedown='bouger_boite_dialogue=1;init_pos()' onmouseup='bouger_boite_dialogue=0;' "+  "ondrag='return false;'style='background-"+ "color:#b0b0b0;background:url(imgs/keeoweb/fenetre_haut_fond.gif);cursor:move;color:#ffffff;font-weight:bold' "+ "align=center UNSELECTABLE=on id=contenu_boite_dialogue>"+titre+"</td>";
		
		if (descript) tmp_bas+="<td>"+descript+"</td>";
		
		if (calque(id_image_suivante)) {
			tmp+="<td style='background-"+ "color:#b0b0b0;background:url(imgs/keeoweb/fenetre_haut_fond.gif);cursor:pointer' "+ "onclick=\"calque('"+id_image_suivante+"').click()\" align=center width=20px title='Image suivante'><img "+  "src='imgs/pictos/image_suivante.gif' width=10px height=10px></td>";
			tmp_bas+="<td style='cursor:pointer' onclick=\"calque('"+id_image_suivante+"').click()\" align=right "+ " width=20px title='Image suivante'><img src='imgs/pictos/image_suivante.gif' width=10px height=10px></td>";
		}
		tmp+="<td width=19px title='Fermer' onclick=\"fermer_boite_dialogue();\" valign=middle style='font-"+ "family:arial;font-weight:bold;cursor:pointer;background:url(imgs/keeoweb/fenetre_haut_fond.gif);'><img "+ "src='imgs/keeoweb/croix.gif' with=19 height=19 onmouseover=\"this.src='imgs/keeoweb/croix_ligth.gif'\" "+ "onmouseout=\"this.src='imgs/keeoweb/croix.gif'\" title='Fermer'></td>";
		tmp+="<td align=center width=6px><img src='imgs/keeoweb/fenetre_droite.gif' width=6px "+  "height=34px></td></tr></table>";
	tmp+="</td></tr>";
	
	if (tmp_bas) tmp_bas="<table style='width:100%;background-"+ "color:#b0b0b0;color:#ffffff;padding:3'><tr>"+tmp_bas+"</tr></table>";
	
	tmp+="<tr><td UNSELECTABLE=on height=100%>";
		tmp+="<table cellpadding=0 cellspacing=0 width=100% height=100% border=0 UNSELECTABLE=on><tr><td width=4px "+ "style='background:url(imgs/keeoweb/fenetre_contour_gauche.gif)'><img src='imgs/pictos/largeur_4.gif' width=4px "+ "height=1px></td><td bgcolor=#ffffff align=center";
		if (message_copie_interdite) tmp+=" galleryImg=no "+  "oncontextmenu=\"alert('"+message_copie_interdite+"');return false;\"";
		
		onclick_fermer = (onclick_fermer) ? "onclick=\"fermer_boite_dialogue();\"": "";
		
		tmp+=" UNSELECTABLE=on ondragstart=\"return false\" onselectstart=\"return false\"><table cellpadding=0 cellspacing=0><tr><td "+onclick_fermer+" >"+contenu+"</td></tr><tr><td>"+tmp_bas+"</td></tr></table></td><td width=4px "+ "style='background:url(imgs/keeoweb/fenetre_contour_droite.gif)'><img src='imgs/pictos/largeur_4.gif' width=4 "+ "height=1px></td></tr></table>";
	tmp+="</td></tr>";
	
	tmp+="<tr><td colspan=3 height=4 style='background:url(imgs/keeoweb/fenetre_contour_bas.gif)'></td></tr>";
	tmp+="</table>";
	
	
	
	
	
	calque(calque_fenetre_apercu).innerHTML=tmp;
	centrer=1;
	if(centrer)
	{
		//Si calque n'est pas dans la fenetre, on la place au milieu
		
		var c_off_top = calque(calque_fenetre_apercu).offsetTop;
		var c_off_height = calque(calque_fenetre_apercu).offsetHeight;	
		var c_scroll_top = document.documentElement.scrollTop;
		var c_body_height = document.body.clientHeight;
		
		//alert(c_off_top+" "+c_off_height+" "+c_scroll_top+" "+c_body_height);
		
		calque(calque_fenetre_apercu).style.top=c_scroll_top+ 300 +'px';	
		
		var c_off_left = calque(calque_fenetre_apercu).offsetLeft;
		var c_off_width = calque(calque_fenetre_apercu).offsetWidth;	
		var d_scroll_left = document.documentElement.scrollLeft;
		var d_body_width = document.body.clientWidth;
		
		
		if (c_off_left < d_scroll_left) 
			calque(calque_fenetre_apercu).style.left = d_scroll_left+(d_body_width-c_off_width)/10+'px';
		
		
		if (hauteur_bandeau && c_off_top <= hauteur_bandeau) 
			calque(calque_fenetre_apercu).style.top=hauteur_bandeau+'px';
	}
	
	calque(calque_fenetre_apercu).style.visibility='visible';
}

function fermer_boite_dialogue() {
	calque(calque_fenetre_apercu).style.visibility='hidden';
	//calque(calque_fenetre_apercu).innerHTML='';
}	

function init_pos() 
{		
		decalage_x_boite_dialogue=pos_x-parseInt(calque(calque_fenetre_apercu).offsetLeft);
		decalage_y_boite_dialogue=pos_y-parseInt(calque(calque_fenetre_apercu).offsetTop);
}



function pos_souris (evenement) {

var pos_sc_x;
var pos_sc_y;


if (detection_navigateur_ie())
{	
	
	pos_sc_x=parseInt(window.event.clientX);	
	pos_sc_y=parseInt(window.event.clientY);
	
	pos_x=pos_sc_x+parseInt(document.documentElement.scrollLeft);	
	pos_y=pos_sc_y+parseInt(document.documentElement.scrollTop);			
}
else
{
	pos_x=parseInt(evenement.pageX);
	pos_y=parseInt(evenement.pageY);
	
	pos_sc_x = pos_x;
	pos_sc_y = pos_y;
}
	
	if (bouger_boite_dialogue || bouger_info_bulle) 
	{				
		var largeur_ecran = document.body.clientWidth;
		var hauteur_ecran = document.body.clientHeight;
	}	
		
	if (bouger_boite_dialogue) {		
		
		calque(calque_fenetre_apercu).style.left=pos_x-decalage_x_boite_dialogue+'px';
		calque(calque_fenetre_apercu).style.top=pos_y-decalage_y_boite_dialogue+'px';
	}
	
	if (bouger_info_bulle) {		
		
		
		
		var diff_largeur=parseInt(largeur_ecran)-pos_sc_x-calque('cinfo_bulle').offsetWidth;	
		if (diff_largeur<20) pos_x=pos_x-calque('cinfo_bulle').offsetWidth-30;		
		calque('cinfo_bulle').style.left=pos_x+15+'px';
		
		var diff_hauteur=parseInt(hauteur_ecran)-pos_sc_y-calque('cinfo_bulle').offsetHeight-10;
		if (diff_hauteur<0) pos_y+=diff_hauteur;		
		calque('cinfo_bulle').style.top=pos_y+'px';
		
		
	}		
}

function mouseup() {
	if (bouger_calque) moveup(type_calque);
	if(bouger_boite_dialogue) bouger_boite_dialogue=0;	
}

function pop(text,largeur){		
		
	
	bouger_info_bulle=1;
	if (!largeur) {
		largeur=150;
	}
	largeur_info_bulle=largeur;
	pos_souris();
	calque('cinfo_bulle').innerHTML=text;
	calque('cinfo_bulle').style.width=largeur+"px";
	calque('cinfo_bulle').style.visibility='visible';	
	
	
}


function finpop() {
	
	bouger_info_bulle=0;
	calque('cinfo_bulle').style.visibility='hidden';
}
	


function pop_size(adresse,opts,largeur,hauteur,fenetre) {
	var etat_scroll=1;
	var status_=1;
	
	//largeur peut aussi recevoir une liste d'options
	var pos_top,pos_left;
	pos_left=Math.floor((screen.width/2)-(largeur/2))-25;
	pos_top=Math.floor((screen.height/2)-(hauteur/2))-55;
	
	var tab_opts=opts.split('-');
	for (var i=0;i<tab_opts.length;i++) {
		if (tab_opts[i]=='full-no_scroll') etat_scroll=0;
		if (tab_opts[i]=='no_scroll') etat_scroll=0;
		if (tab_opts[i]=='full' || tab_opts[i]=='fullscreen') {
			largeur=screen.width-40;
			hauteur=screen.height-100;
			pos_left=0;
			pos_top=0;
			etat_scroll=1;
			
		}
		if (tab_opts[i]=='status') status_=1;
	}
	
	
	
	if (!fenetre) fenetre="pop";	
	var qsd=window.open(adresse,fenetre,"toolbar=0,status="+status_+",location=0,directories=0,menuBar=0,scrollbars="+etat_scroll+",resizable=1,width="+(largeur+25)+"px,height="+(hauteur+25)+"px,left="+pos_left+"px,top="+pos_top+"px");
	
	qsd.focus();
	//centrer fenetre	
	return qsd;
}

function fullscreen(adresse) {
	var res=window.open(adresse,"full","fullscreen=1");
	res.focus();
	return res;
}


//Formulaires
function only_num(lettre) {
	
	if ((lettre>95 && lettre<106) || (lettre>32 && lettre<58) || lettre<32 || lettre==190 || lettre==110) {
		return true;
	}
	else {
		return false;
	}
}


/*
function masque_saisie(masque,valeur) {
	var test_saisie=new RegExp(masque,'gi');
	if (!model_conserve.test(valeur)) {	
		var model_supp=new RegExp('<\/?'+ss[1]+'[^<>]*>', 'gi');
		tt=tt.replace(model_supp,"");
	}
}
*/
function anti_entree(lettre,message) {
	if (lettre==13) {
		alert(message);
		return false;
	}
	else {	
		return true;
	}
}



function copie_interdite(message) {
	alert(message);
	return false;
}

	
function verif_drag() {
	
	return false;	
	
	
}
	
	


//Divers

function slashes(txt) {

	txt=txt.replace(/\'/,"\\'");	
	return (txt);
	
}




function annuler_erreur() {
	//return true;	
}

function ligne_calque(icone,contenu,commande,_select,actif,description,rep_icones) {
	if (!rep_icones) rep_icones="imgs/icones_rte";

	if (actif==undefined) actif=1;

	//temp_onmouseover="if (bb["+iii+"].actif) {sav_bouton_style["+iii+"]=this.style.cssText;this.style.backgroundColor='#FFE79D';this.style.border='1 solid orange'}";
	//temp_onmouseout="if (bb["+iii+"].actif) this.style.cssText=sav_bouton_style["+iii+"];";
	var couleur_fond_icone,couleur_fond_txt,couleur_bordure_icone,couleur_bordure_txt,color;	
	
	if (!_select) {		
		couleur_fond_icone='#EFEDDE';
		couleur_fond_txt='#FFFFFF';
		couleur_bordure_icone='#EFEDDE';
		couleur_bordure_txt='#FFFFFF';
	}
	else {
		couleur_fond_icone='#E1E6E8';
		couleur_fond_txt='#E1E6E8';
		couleur_bordure_icone='#316AC5';
		couleur_bordure_txt='#316AC5';
	}

	var retour;


	retour="<tr height=16 onfocus='return false;' onmousedown=\"if (this.children(0).children(0)) this.children(0).children(0).style.margin='1px 0px 0px 1px';"+commande+"\" ";
	if (description) retour+="title=\""+description+"\" ";
	if (!actif) {
		icone='';
		color="#999999";
	}
	else {
		color="#000000";
		retour+="onmouseup=\"if (this.children(0).children.length) this.children(0).children(0).style.margin='0 0 0 0';\" ";
		retour+="onmouseover=\"this.children(0).style.borderColor='orange';this.children(1).style.borderColor='orange';this.children(0).style.backgroundColor='#FFE79D';this.children(1).style.backgroundColor='#FFE79D';if (this.children(0).children.length) this.children(0).children(0).style.margin='-1px 0 0 -1px';\" ";
		retour+="onmouseout=\"this.children(0).style.backgroundColor='"+couleur_fond_icone+"';this.children(1).style.backgroundColor='"+couleur_fond_txt+"';this.children(0).style.borderColor='"+couleur_bordure_icone+"';this.children(1).style.borderColor='"+couleur_bordure_txt+"';if (this.children(0).children(0)) this.children(0).children(0).style.margin='0 0 0 0';\"";
	}

	retour+="><td unselectable=on style='text-align:center;vertical-align:center;width:24px;background-color:"+couleur_fond_icone+";border-width:1px 0px 1px 1px;border-color:"+couleur_bordure_icone+";border-style:solid;cursor:default;'>";
	if (icone) icone="<img unselectable=on src='"+rep_icones+"/"+icone+"' width=16 height=16 onmousedown=\"this.style.marginLeft='1px';this.style.marginTop='2px';\" onmouseup=\"this.style.marginLeft=0;this.style.marginTop=0;\">";

	retour+=(icone)? icone : "&nbsp;";

	retour+="</td><td unselectable=on style='padding:4px;background-color:"+couleur_fond_txt+";border-width=1px 1px 1px 0px;border-color:"+couleur_bordure_txt+";border-style:solid;cursor:default;color:"+color+"'>"+contenu+"</td></tr>";

	return retour;
}
function ligne_separation() {
	var couleur_fond_icone='#EFEDDE';

	return "<tr><td unselectable=on style='background-color:"+couleur_fond_icone+";height:5px;'></td><td unselectable=on style='cursor:default;height:5px;font-size:5px;text-align:right'>   -------------------------------------------------</td></tr>";

}
function generer_calque_proprietes(txt,titre,padding) {
	if (txt); {
		var txt_titre='';
		if (!padding) padding=0;
		if (titre) txt_titre="<tr><td colspan=2 style='background-color:#888888;color:#ffffff;font-weight:bold;padding:4px'><img onmousedown='fermer_calque()' src='imgs/icones_rte/fermer.gif' width=13 height=13 title='Fermer' align=right>"+titre+"</td></tr>";
		return "<table id=tbl_calque cellpadding="+padding+" cellspacing=0 style='background-color:#ffffff'>"+txt_titre+txt+"</table>";
	}
}

function affich_calque(txt,titre,posx,posy) {
	//alert('x :'+posx+' --- y'+posy);
	var decalage_x=-30;
	var decalage_y=12;
		
	if (affich_calque_fenetre) {
		contenu_calque_propriete=txt;
		titre_calque_propriete=titre;
		modal_rte('calque_proprietes_modal',500,400,window);
	}
	else {
		//tab_calque_propriete[num_calque]=1;
		var ref_calque=calque("propriete_calque_");
		if (ref_calque) {		
			
			if (!posx) posx=parseInt(document.documentElement.scrollLeft)+parseInt(event.x)+decalage_x;
			if (!posy) posy=parseInt(document.documentElement.scrollTop) +parseInt(event.y)+decalage_y;
			
			
			if (posx) ref_calque.style.left=posx+'px';
			if (posy) ref_calque.style.top=posy+'px';
			ref_calque.style.visibility='visible';
			ref_calque.innerHTML=txt;

			if (calque("propriete_calque_").offsetTop+calque("propriete_calque_").offsetHeight>document.body.offsetHeight+parseInt(document.documentElement.scrollTop)) calque("propriete_calque_").style.top=document.body.offsetHeight-calque("propriete_calque_").offsetHeight-10+parseInt(document.documentElement.scrollTop)+'px';
			
			if (calque("propriete_calque_").offsetLeft+calque("propriete_calque_").offsetWidth>document.body.offsetWidth) calque("propriete_calque_").style.left=document.body.offsetWidth-calque("propriete_calque_").offsetWidth-10+'px';
		}
	}
}


function creation_calque_proprietes () {

	var ac=document.createElement("DIV");
	ac.style.cssText='position:absolute;visibility:hidden;z-index:8;border:3px outset';
	ac.id="propriete_calque_";
	//ac.innerHTML="<table style='background-color:#ffffff;border-style:outset;border-width:3px;font-size:13px;font-family:tahoma' cellpadding=3 cellspacing=0'><tr><td style='text-align:center;font-weight:bold;color:#ffffff;background-color:#aaaaaa'><img onclick='fermer_calque()' src='imgs/icones_rte/fermer.gif' width=13 height=13 title='Fermer' align=right>"+titre+"</td></tr>"+txt+"</table></div>";

	document.body.insertBefore(ac);

}

function fermer_calque() {

	calque("propriete_calque_").style.visibility='hidden';

	/*
	for (var i=0;i<bb.length;i++) {
		if (tab_calque_propriete[i]) {

			tab_calque_propriete[i]=0;
			var bn=calque("propriete_calque_"+i);
			if (bn) bn.style.visibility='hidden';
		}

	}
	*/
	//tab_menu_ouvert=-1;
}

function fichier_inclus_commande(id_,commande) {
	var tf=plug_in_fichier[id_];
	
	
	if (commande=='play') {		
		if (tf=='quicktime') calque('fichier_inclus_'+id_).Play();
		else if (tf=='real') calque('fichier_inclus_'+id_).DoPlay();
		else if (tf=='mediaplayer') calque('fichier_inclus_'+id_).controls.play();		
	}
	else if (commande='stop') {
		if (tf=='quicktime') calque('fichier_inclus_'+id_).stop();
		else if (tf=='real') calque('fichier_inclus_'+id_).DoStop();
		else if (tf=='mediaplayer') calque('fichier_inclus_'+id_).controls.stop();
	}
	else if (commande='volume_plus') {
		
		if (tf=='quicktime') calque('fichier_inclus_'+id_).SetVolume();
		else if (tf=='real') calque('fichier_inclus_'+id_).SetVolume(80);
		else if (tf=='mediaplayer') calque('fichier_inclus_'+id_).controls.stop();
	}
	else if (commande='volume_moins') {
		if (tf=='quicktime') calque('fichier_inclus_'+id_).stop();
		else if (tf=='real') calque('fichier_inclus_'+id_).SetVolume(80);
		else if (tf=='mediaplayer') calque('fichier_inclus_'+id_).controls.stop();
	}
}


function inserer_date(champ,annee,mois,jour) {	
	if (!annee) {
		var now=new Date();
		
		jour = now.getDate();
		mois = now.getMonth();
		annee = now.getFullYear();
	}
	mois++;
	if (mois<10) mois='0'+mois;
	if (jour<10) jour='0'+jour;
	eval("var obj_champ=document.p."+champ);
	obj_champ.value=jour+'/'+mois+'/'+annee;
	
	//fermer calque fenetre
	calque('calque_'+champ).innerHTML='';
	//calque('calque_'+champ).style.display='none';
	
}

function calendar(champ,chaine,year,month,day,ddn) {
	//If no parameter is passed use the current date.
	
		
	
	var an;
	
	
	var now;
	if (chaine) {
		
		var ss;
		var model=/([0-9]+)[\-\/]([0-9]+)[\-\/]([0-9]+)/;	
		if (ss=model.exec(chaine)) {
				
			year=ss[3];
			month=(ss[2]-1);
			day=ss[1];
		}
		
	}
	
	
	
	if (!year || !day) now = new Date();
	else now = new Date(year,month,day);
	
	day = now.getDate();
	month = now.getMonth();
	year = now.getFullYear();
	
	months = new Array('Janvier',
	   'Février',
	   'Mars',
	   'Avril',
	   'Mai',
	   'Juin',
	   'Juillet',
	   'Aout',
	   'Septembre',
	   'Octobre',
	   'Novembre',
	   'Décembre');
	
	this_month = new Date(year, month, 1);
	next_month = new Date(year, month + 1, 1);
	
	//Find out when this month starts and ends.         
	first_week_day = this_month.getDay();
	days_in_this_month = Math.round((next_month.getTime() - this_month.getTime()) / (1000 * 60 * 60 * 24));
	
	calendar_html = '<table class="background_clair2" style="font-size:11px;font-family:verdana;cursor:default;border:solid 1px black;">';
	
	
	calendar_html += "<tr class='gras couleur_fond background_fonce'> "+
	
	"<td title='Mois précédent' style='cursor:pointer' onclick=\"calendar('"+champ+"',0,"+year+", "+(month-1)+", "+day+", "+ddn+")\">&lt;</td>"+
	"<td colspan='5' align='center'>" + months[month]+" "+
		 	
	
	""+
	"<select name=\"annee\" onchange=\"calendar('"+champ+"',0,this.value, "+month+", "+day+", "+ddn+")\" style=\"font-size:9px;font-family:verdana;\">";
	
	var sel;
	var borne_inf;
	var borne_sup;
	
	if(ddn)
	{		
		//alert(year);
		now = new Date();
		an = now.getFullYear();
		borne_inf = an-80;
		borne_sup = an-10;		
	}
	else
	{
		borne_inf = year-5;
		borne_sup = year+5;
		
	}	
	
	

	
	//for(i=borne_inf;i<borne_sup;i++)
	for(i=borne_sup;i>=borne_inf;i--)
	{		
		sel = (i == year)? "selected" : "";
		calendar_html += "<option value='"+i+"' "+sel+">"+i+"</option>";
	}

	calendar_html +="</select></td>";	
	
	
	
	calendar_html +="<td align=right title='Mois suivant' style='cursor:pointer' onclick=\"calendar('"+champ+"',0,"+year+", "+(month+1)+", "+day+", "+ddn+")\">&gt;</td>"+
	"</tr>";		
	
	calendar_html += "<tr style='border-bottom:solid 1px;text-align:center;'><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td><td>D</td></tr><tr style='text-align:center'>";
	
	
	//Fill the first week of the month with the appropriate number of blanks.       
	
	if(first_week_day == 0 )
	{
		first_week_day = 7;			
	}
	
	
	for(week_day = 1; week_day < first_week_day; week_day++){
		calendar_html += '<td style="cursor:default;" class="couleur_texte background_ombre"> </td>';   
	}
		
	week_day = first_week_day ;
		
	
	for(day_counter = 1; day_counter <= days_in_this_month; day_counter++)	{
			
		
		
		//Do something different for the current day.
		if(day == day_counter)   calendar_html += "<td align=\"center\" class=\"couleur_flash\" style='cursor:pointer' onclick=\"inserer_date('"+champ+"',"+year+", "+month+", "+day_counter+")\"><b>" + day_counter + "</b></td>";
		
		else	calendar_html += "<td align='center' onmouseover=\"this.style.color='#ff0000'\" onmouseout=\"this.style.color='#000000'\" style='width:16px;height:16px;background-color:#dddddd; color:#000000;cursor:pointer' onclick=\"inserer_date('"+champ+"',"+year+", "+month+", "+day_counter+")\"> "+day_counter + "</td>";
		
		if(week_day % 7 == 0) calendar_html += "</tr><tr style='text-align:center'>";
		
		week_day++;
	}
	
	calendar_html += '</tr>';
	calendar_html += "<tr><td colspan=4 align=center><a title='Insérer la date du jour' href=\"javascript:void(inserer_date('"+champ+"'))\">Aujourd'hui</a></td><td colspan=3 align=center><a title='Fermer le calendrier' href=\"javascript:void(calque('calque_"+champ+"').innerHTML='')\">Fermer</a></td></tr>";
	calendar_html += '</table>';
	
	//Display the calendar.     
	calque('calque_'+champ).innerHTML=calendar_html;
}


//******* début vérif format heure
function masque_saisie_heure(obj)
 { 
    
  var min;
  var heure = obj.value; 
  
    // si valeur heures supérieure à 3, pour éviter 30:00
	if(heure.length == 1)
	{
      if(heure > 2)
		{
			heure = "0"+heure;
			obj.value = heure;
		}
	}	
	
	// vérification heure inférieur à 24
	if(heure.length==2)
		if(heure > 23)			
			obj.value = heure.slice(0,1);
		
	//ajout des : si nenéssaire
	if ( ( heure.slice(2,3) != ":" ) && (heure.length >= 3) )
	{
		heure_gauche = heure.slice(0,2);
		heure_droite = heure.slice(2);		
		heure = heure_gauche + ":" + heure_droite;
		obj.value = heure;
	}
  
  //si valeur minutes supérieure à 59, pour éviter 70 minutes
  if(heure.length == 4)
	{		
		min = heure.slice(3);		
		if(heure.slice(3) > 5)						
			obj.value = heure.slice(0,3)+'0'+min;		
	}	
 } 

function only_num_plus(lettre) 
{
	
	var retour = false;
	
	if ((lettre>95 && lettre<106) || (lettre>32 && lettre<58) || lettre<32 || lettre==190 || lettre==110 || lettre==191 || lettre==111) 
	{
			retour = true;
	}
	return retour;
}

function verif_heure(touche,valeur)
{

if(only_num_plus(touche))
	{		
		masque_saisie_heure(valeur);
		return true;
	}
	
	else return false;
}


//ajustement de l'heure lorsque le champ perd le focus
function blur_heure(obj)
{
var monheure = obj.value;
monheure = monheure.match(/^([0-9]{1,2}):?([0-9]{0,2})$/);

if(monheure)
{	
	var heure = monheure[1];
	var minu = monheure[2];	
	
	if(heure.length == 1)
		{			
			heure = '0'+monheure[1];
			minu = '00'+monheure[2];			
		}		
	if(minu > 59)
	{
		heure = heure;
		minu = '0'+minu.slice(0,1);
	}
	else
	{
		if(minu == '')
		{
			heure = heure;
			minu = '00';			
		}
		else if(minu.length == 1)
		{
			heure = heure;
			minu = '0'+minu;			
		}
	}
	obj.value = heure+':'+minu;
}

}
//******* fin vérif format heure



//******* début vérif format date 


function control_calendrier (valeur) {
				if (valeur) {
					var model=/([0-9]+)[\-\/]([0-9]+)[\-\/]([0-9]+)/;	
					if (ss=model.exec(valeur)) {				
						var year=ss[3];
						var month=(ss[2]-1);
						var day=ss[1];
						
						if (day<1 || day>31) alert('Erreur dans la saisie de la date au niveau du jour');
						else if (month<1 || month>12) alert('Erreur dans la saisie de la date au niveau du mois');
						else if (year>2100) alert('Erreur dans la saisie de la date. Année à corriger'); 
					}
					else alert('Vous devez spécifier la date au format jj/mm/aaaa');
				}
			}

function masque_saisie_date(obj)
{

var dte = obj.value;
var jour,mois,annee;
var dte2 = dte;

// si valeur jours supérieure à 4, pour éviter jour = 40
	if(dte.length == 1)	
        if( dte > 3)		
        {			
			dte = "0"+ dte;
			obj.value = dte;
		}
			
//vérification jour inférieur à 32   
if(dte.length == 2)
	if( dte > 31)		
		obj.value = dte.slice(0,1);
				

//ajout du 1er séparateur
if ( dte.slice(2,3) != "index.html" )
	{	
		
		if( (dte.length >= 3) && (dte.length <= 5) )
		{ 		
			jour = dte.slice(0,2);
			mois = dte.slice(2,5);		
			dte = jour + "/" + mois;			
			obj.value = dte;
		}		
	}

 //si valeur mois supérieure à 2, pour éviter 23 mois
  if(dte.length == 4)
	{		
		jour = dte.slice(3);		
		if(dte.slice(3) >= 2)						
		{
			dte = dte.slice(0,3)+'0'+jour;
			obj.value = dte;	
		}			
	}	
	
//vérification mois inférieur à 13  
if(dte.length == 5)
	if( dte.slice(3,5) > 12)		
		obj.value = dte.slice(0,4);	
	
//ajout du 2eme séparateur
if ( (dte.slice(5,6) != "index.html") && (dte.length >= 6) )
	{	
		
		jour = dte.slice(0,5);
		annee = dte.slice(5);		
		dte2 = jour + "/" + annee;
		obj.value = dte2;
		
	}
}

function verif_date(touche,valeur)
{

if(only_num_plus(touche))
	{		
		masque_saisie_date(valeur);
		return true;
	}
	
	else return false;
}

//******* fin vérif format date

function griser_formulaire(obj) {
	
	alert(obj.elements.length);	
	for (var i=0;i<obj.elements.lenght;i++) {
		obj.elements[i].disabled=true;	
	}
	
}

///////Ajax 

var xhr = null; 
	
function getXhr(){
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
}

/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(id,chemin,fonction)
{
	getXhr();
	
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			les_details = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			
						
			if (id) calque(id).innerHTML = les_details ;
			else if (fonction) eval(fonction+'(les_details)');			
		}		
	}

	// Ici on va voir comment faire du post								
	
	xhr.open('http://www.festimariage.com/GET',chemin,true);
	
	// ne pas oublier ça pour le post
	//xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments	
	xhr.send(null);	
					
}


function activer_object() {
	
	var cObjects=document.getElementsByTagName("OBJECT");
	for(var __i=0;__i<cObjects.length;__i++) {		
		cObjects[__i].outerHTML=cObjects[__i].outerHTML;
	}
	var cObjects=document.getElementsByTagName("EMBED");
	for(var __i=0;__i<cObjects.length;__i++) {		
		cObjects[__i].outerHTML=cObjects[__i].outerHTML;
	}
	
	
	
	//var oStyleSheet=document.styleSheets[0];
	//oStyleSheet.addRule("OBJECT","display:none");
	//oStyleSheet.addRule("OBJECT","display:block");

}

/**
 * SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ 
 */
if(typeof deconcept == "undefined") var deconcept = new Object();
if(typeof deconcept.util == "undefined") deconcept.util = new Object();
if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object();
deconcept.SWFObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, xiRedirectUrl, redirectUrl, detectKey){
	if (!document.getElementById) { return; }
	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = new Object();
	this.variables = new Object();
	this.attributes = new Array();
	if(swf) { this.setAttribute('swf', swf); }
	if(id) { this.setAttribute('id', id); }
	if(w) { this.setAttribute('width', w); }
	if(h) { this.setAttribute('height', h); }
	if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); }
	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
	if(c) { this.addParam('bgcolor', c); }
	var q = quality ? quality : 'high';
	this.addParam('quality', q);
	this.setAttribute('useExpressInstall', useExpressInstall);
	this.setAttribute('doExpressInstall', false);
	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
	this.setAttribute('xiRedirectUrl', xir);
	this.setAttribute('redirectUrl', '');
	if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }
}
deconcept.SWFObject.prototype = {
	setAttribute: function(name, value){
		this.attributes[name] = value;
	},
	getAttribute: function(name){
		return this.attributes[name];
	},
	addParam: function(name, value){
		this.params[name] = value;
	},
	getParams: function(){
		return this.params;
	},
	addVariable: function(name, value){
		this.variables[name] = value;
	},
	getVariable: function(name){
		return this.variables[name];
	},
	getVariables: function(){
		return this.variables;
	},
	getVariablePairs: function(){
		var variablePairs = new Array();
		var key;
		var variables = this.getVariables();
		for(key in variables){
			variablePairs.push(key +"="+ variables[key]);
		}
		return variablePairs;
	},
	getSWFHTML: function() {
		var swfNode = "";
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
			if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "PlugIn"); }
			swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
			swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
			var params = this.getParams();
			 for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
			var pairs = this.getVariablePairs().join("&");
			 if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
			swfNode += '/>';
		} else { // PC IE
			if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); }
			swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
			swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
			var params = this.getParams();
			for(var key in params) {
			 swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
			}
			var pairs = this.getVariablePairs().join("&");
			if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
			swfNode += "</object>";
		}
		return swfNode;
	},
	write: function(elementId){
		if(this.getAttribute('useExpressInstall')) {
			// check to see if we need to do an express install
			var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]);
			if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
				this.setAttribute('doExpressInstall', true);
				this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
				document.title = document.title.slice(0, 47) + " - Flash Player Installation";
				this.addVariable("MMdoctitle", document.title);
			}
		}
		if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){
			var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
			n.innerHTML = this.getSWFHTML();
			return true;
		}else{
			if(this.getAttribute('redirectUrl') != "") {
				document.location.replace(this.getAttribute('redirectUrl'));
			}
		}
		return false;
	}
}

/* ---- detection functions ---- */
deconcept.SWFObjectUtil.getPlayerVersion = function(){
	var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);
	if(navigator.plugins && navigator.mimeTypes.length){
		var x = navigator.plugins["Shockwave Flash"];
		if(x && x.description) {
			PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
		}
	}else{
		// do minor version lookup in IE, but avoid fp6 crashing issues
		// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
		try{
			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		}catch(e){
			try {
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				PlayerVersion = new deconcept.PlayerVersion([6,0,21]);
				axo.AllowScriptAccess = "always"; // throws if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
			} catch(e) {
				if (PlayerVersion.major == 6) {
					return PlayerVersion;
				}
			}
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			} catch(e) {}
		}
		if (axo != null) {
			PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
		}
	}
	return PlayerVersion;
}
deconcept.PlayerVersion = function(arrVersion){
	this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;
	this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;
	this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;
}
deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
	if(this.major < fv.major) return false;
	if(this.major > fv.major) return true;
	if(this.minor < fv.minor) return false;
	if(this.minor > fv.minor) return true;
	if(this.rev < fv.rev) return false;
	return true;
}
/* ---- get value of query string param ---- */
deconcept.util = {
	getRequestParameter: function(param) {
		var q = document.location.search || document.location.hash;
		if(q) {
			var pairs = q.substring(1).split("&");
			for (var i=0; i < pairs.length; i++) {
				if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
					return pairs[i].substring((pairs[i].indexOf("=")+1));
				}
			}
		}
		return "";
	}
}
/* fix for video streaming bug */
deconcept.SWFObjectUtil.cleanupSWFs = function() {
	if (window.opera || !document.all) return;
	var objects = document.getElementsByTagName("OBJECT");
	for (var i=0; i < objects.length; i++) {
		objects[i].style.display = 'none';
		for (var x in objects[i]) {
			if (typeof objects[i][x] == 'function') {
				objects[i][x] = function(){};
			}
		}
	}
}
// fixes bug in fp9 see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
deconcept.SWFObjectUtil.prepUnload = function() {
	__flash_unloadHandler = function(){};
	__flash_savedUnloadHandler = function(){};
	if (typeof window.onunload == 'function') {
		var oldUnload = window.onunload;
		window.onunload = function() {
			deconcept.SWFObjectUtil.cleanupSWFs();
			oldUnload();
		}
	} else {
		window.onunload = deconcept.SWFObjectUtil.cleanupSWFs;
	}
}
if (typeof window.onbeforeunload == 'function') {
	var oldBeforeUnload = window.onbeforeunload;
	window.onbeforeunload = function() {
		deconcept.SWFObjectUtil.prepUnload();
		oldBeforeUnload();
	}
} else {
	window.onbeforeunload = deconcept.SWFObjectUtil.prepUnload;
}
/* add Array.push if needed (ie5) */
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}

/* add some aliases for ease of use/backwards compatibility */
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for legacy support
var SWFObject = deconcept.SWFObject;


function position_embed(id_obj,position) {
	var obj=calque(id_obj);	
	if (obj) {
		obj.DoStop();			
		obj.DoPlay();
		obj.SetPosition(position);	
	}	
}

window.onerror=annuler_erreur;

document.onmousemove = pos_souris;
document.onmouseup = mouseup;
document.ondrag= verif_drag;
document.write("<div id=cboite_dialogue style='visibility:hidden;position:absolute;left:-800px;top:40px;z-index:15;'></div>");
document.write("<div id='cinfo_bulle' class='padding background_fond bordure_couleur_fonce bordure_simple' style='visibility:hidden;position:absolute;left:-800px;top:0px;z-index:11'></div>");
document.write("<div id='propriete_calque_' style='position:absolute;visibility:hidden;z-index:8;border:3px outset'></div>");