// GLOBALES
message_contact_admin="Un problème est survenu. Merci des réessayer dans quelques instants. Si le problème persiste, veuillez contacter l'administrateur du site.";



// JavaScript Document
// **********   FORMULAIRE  **************

// Fonction qui lance l'impression (IE compris)
function impression()
{
   // Affectation de la mÃ©thode print() au clic sur le lien
   window.print();
}

function $$(idobjet){
	return (document.getElementById(idobjet));
}

function verificationForm(numduform, listchamp, lang)
// numduform = nom du formulaire
// listchamp = chaine contenant les noms de champ obligatoires en majuscule
{
var compteur;
var formulaire;

var formulaire = document.forms[numduform];
var fo_compte;
var valeurtest;
var strLen;
var nomchamp; 

message=eval("traduction.langues.vide."+lang);
		
var form_ok = true;
fo_compte=0;
var ischeckbox=0;


	while (fo_compte < formulaire.elements.length)
	{
	var vide=true;
	var present=false;
		if(formulaire.elements[fo_compte].nodeName!="FIELDSET")
		{
			
			valeurtest = formulaire.elements[fo_compte].value;
			//Gestion des checkbox des actualités
			if(formulaire.elements[fo_compte].type=="checkbox" && (formulaire.elements[fo_compte].name=="actu[]"||(formulaire.elements[fo_compte].name=="export[]")||(formulaire.elements[fo_compte].name=="charte[]"))){
				present=true;
				
				ischeckbox=1;
				nomchamp = formulaire.elements[fo_compte].name;
				if(formulaire.elements[fo_compte].checked==true){
					vide=false;	
				}
				
				
				
			}else{
				if(formulaire.elements[fo_compte].type=="radio"){
					var radios=document.getElementsByName(formulaire.elements[fo_compte].name);
					var check=0;
					present=true;
					
					for(var i=0;i<radios.length;i++){
						if(radios[i].checked){
							check=1;
							vide=false;
							break;
						}
					}
					if(check==0){
						nomchamp = formulaire.elements[fo_compte].name;
						vide=true;
					}
				}else{

					strLen = valeurtest.length;
					
					if (strLen==0 || valeurtest==-1)
					{
					
						nomchamp = formulaire.elements[fo_compte].name;
						
						if(estDansLaListe(nomchamp,listchamp)!=-1 && nomchamp!='')
						{
						
	// 						console.log("traduction.langues.formulaire."+nomchamp+"."+lang);
							var trad = eval("traduction.langues.formulaire."+nomchamp+"."+lang);
							message = message + "- " + trad + "\n";
							form_ok = false;
						}
					}
				}
			}
			
			if(vide && present) {
				nomchamp=nomchamp.replace("[]","");
				if(estDansLaListe(nomchamp,listchamp)!=-1 && nomchamp!='')
				{
					var trad = eval("traduction.langues.formulaire."+nomchamp+"."+lang);
					message = message + "- " + trad + "\n";
					form_ok = false;
				}
			}
		}
		fo_compte ++;
		
		
	}
	
	if (form_ok==false) messtot=messtot+message;
	return form_ok;
}

function estDansLaListe(nomchamp,liste){

//  	console.log(nomchamp+" "+resulsearch);
 	
//  	liste.search("([:space:]|,)? [^a-zA-Z]"+nomchamp+"[^a-zA-Z] ([:space:]|,)?");
 	
//  	console.log(nomchamp+" "+liste.search("(^|[:space:]|,){1}"+nomchamp+"([:space:]|,|$){1}"));

	var resulsearch=liste.search("([^a-zA-Z]+"+nomchamp+"[^a-zA-Z]+)");

	return(liste.search(nomchamp));

	
}

// function $(idobjet)
// {
// 	return(document.getElementById(idobjet));
// }



function envoyer(nomform, champoblig, lang) 
// IL FAUT IMPERATIVEMENT QUE LE FORMULAIRE AIT LE MEME ID QUE SON NOM
// nomform = nom du formulaire
// champoblig = chaine contenant la liste de champ à saisie obligatoire en majuscule
{	

	messtot="";
	var envoi=true;
	var chainealerte;
	var chainealerte2;

	chainealerte=eval("traduction.langues.probleme.prob1."+lang);
	chainealerte2=eval("traduction.langues.probleme.prob2."+lang);
	


	for (var keyVar in tableau_message ) {
 					
		if(tableau_message[keyVar]!=undefined&&tableau_message[keyVar]!=""){
				envoi=false;
				chainealerte=chainealerte+" \n - "+eval("traduction.langues.formulaire."+keyVar+"."+lang);
				
					
			}
				
	}
	chainealerte=chainealerte+chainealerte2;


	if(!envoi){
		messtot= messtot+chainealerte;
	}
	
	if(envoi){
		
		if (verificationForm(nomform, champoblig, lang))
		{
			document.getElementById(nomform).submit();
		}else{
			
			alert(messtot);	

		}	
	}else{
		//reccuperation du message
		verificationForm(nomform, champoblig, lang);
		alert(messtot);	
	}
}
//**********************************

//Fonction identique à la précèdente mais avec la possibilité d'avoir une liste de champ dans laquelle au moins un doit être rempli (Exemple: formulaire de contact Aérolor  Téléphone et/ou Mail)

function envoyerChampMultiple(nomform, champoblig, champmultiple, lang) 
// IL FAUT IMPERATIVEMENT QUE LE FORMULAIRE AIT LE MEME ID QUE SON NOM
// nomform = nom du formulaire
// champoblig = chaine contenant la liste de champ à saisie obligatoire en majuscule
// champmultiple = chaine contenant la liste de champ dans laquelle au moins un doit être saisi. Les noms des champs doivent être séparés par des virgules
{	

// 	Traitement des champs mal remplis
	messtot="";
	var envoi=true;
	var chainealerte;
	var chainealerte2;
	var champmal=false;
	chainealerte=eval("traduction.langues.probleme.prob1."+lang);
	chainealerte2=eval("traduction.langues.probleme.prob2."+lang);
	
	


	for (var keyVar in tableau_message ) {
 					
		if(tableau_message[keyVar]!=undefined&&tableau_message[keyVar]!=""){
				envoi=false;
				champmal=true;
				chainealerte=chainealerte+" \n - "+eval("traduction.langues.formulaire."+keyVar+"."+lang);
				
					
			}
				
	}
	chainealerte=chainealerte+chainealerte2;
	
	
// 	Verification pour les champs où ils doit y avoir au moins un de rempli
	var testchamps=false;
	var formulaire = document.forms[nomform];
	var start=0;
	var end=champmultiple.indexOf(",",0);
	var champ=champmultiple.substring(start,end);
	var nomchamps="";
	while(champ!=""){

		var compteur=0;

		while(formulaire.elements[compteur].name!=champ){
			compteur++;
		}
	
		nomchamps=nomchamps+"\n -"+eval("traduction.langues.formulaire."+champ+"."+lang);

		if(formulaire.elements[compteur].value!=""){
			testchamps=true;
			break;
		}else{
			champmultiple=champmultiple.substr(end,champmultiple.length);
			start=1;
			end=champmultiple.indexOf(",",start);
			if(end==-1 || end==0){
				end=champmultiple.length;
			}
			champ=champmultiple.substring(start,end);
		}


	}

	if(!testchamps){
		var chainealerte3=eval("traduction.langues.problememultiple.prob1."+lang)+nomchamps+"\n\n";
		envoi=false;
	}

	// Ecriture du message d'avertissement
	//Pour les rubriques à réctifiée
	if(champmal){
		messtot= messtot+chainealerte;
	}
	//Pour les rubriques qui n'ont pas été remplies
	if(!testchamps){
		messtot= messtot+chainealerte3;
	}
	if(envoi){
		if (verificationForm(nomform, champoblig, lang))
		{
			document.getElementById(nomform).submit();
		}else{
			
			alert(messtot);	

		}	
	}else{
		//reccuperation du message
		verificationForm(nomform, champoblig, lang);
		alert(messtot);	
	}
}
//**********************************



    // gestion de la touche entree
function handleKeyPress(evt) 
 {
  var nbr, chr;
  if (window.Event)
  	 var nbr = evt.which;
  else
  	var nbr = event.keyCode;
	
  if (nbr==13)
	  verif();   // ici on met ce qu'on doit doit faire le bouton submit
  return true;
 }
// document.onkeydown= handleKeyPress;
 

 // GetFormInputs 
 //radio
function getRadioVal(rb)
{var L=rb.length;var ret="";
 for (var i = 0 ; i< L ; i++)
 {if(rb[i].checked) {ret=rb[i].value;break;}}
 return(ret);
 }
  
 //text, password, hidden, textarea, file
 function getTextVal(tf)
 {var ret=tf.value;
 return(ret);
 }
  
 //checkbox
 function getCheckboxVal(cb)
 {var L=cb.length;var ret='';
 for (i = 0; i < L; i++)
 {if (cb[i].checked==true) {ret += cb[i].value + '\n';}}
 return(ret);
 }
  
 //select
 function getSelectVal(sel)
 {var ret='';
 ret=sel.options[sel.selectedIndex].text;
 return(ret);
 }
  
  
  
 //
 // Control 
 //

function isCodePostal(cpStr){
	var resultat=true;
	if(cpStr.length!=5){
		resultat=false;
	}else{
		if(!isNumberString(cpStr)){
			resultat=false;
		
		}
	}

	return resultat;
}

function isTelephone(telStr){
	var resultat=true;
	if(telStr.length!=10){
		resultat=false;
	}else{
		if(!isNumberString(telStr)){
			resultat=false;
		
		}
	}

	return resultat;
}



 function isDate(JJ, MM, AAAA){
	if(JJ<1||JJ>31||MM<1||MM>12) return false;
	if(MM==2){
		if(JJ==30||JJ==31) return false;
   		if(JJ==29) return ((AAAA%4==0&&AAAA%100!=0)||AAAA%400==0);
 	}
 	else if(JJ==31) return !(MM==4||MM==6||MM==9||MM==11);
 	return true;
 }
 

 function isEmail(emailStr)
{
// si la chaine est vide, on retourne true quand meme
 
	var validDomain=false;
	var AtPos = emailStr.lastIndexOf("@");
	var DotPos= emailStr.lastIndexOf(".");
	if((AtPos>0)&&(DotPos>0)&&(AtPos<DotPos))
	{var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.eu.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
	var domainExt=domainExtList.split(".");
	var emailExt=emailStr.substr(DotPos+1);
	emailExt=emailExt.toLowerCase();
	for(i=0;domainExt.length;i++)
	{if (domainExt[i]=='EoF') break; //infinite loop else
	if (emailExt==domainExt[i]) {validDomain=true;break;}
	}
  
return(validDomain);
}
  
}

 function isUrl(urlStr)
{
// si la chaine est vide, on retourne true quand meme
 
	var res=false;
	var validDomain=false;
	var HttpPos = urlStr.substr(0,7);
	if(HttpPos=="http://")
	{
		
		var DotPos= urlStr.lastIndexOf(".");
	
		var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.eu.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
		var domainExt=domainExtList.split(".");
		var urlExt=urlStr.substr(DotPos+1);
		urlExt=urlExt.toLowerCase();
		i=-1;
		
		while(i<domainExt.length && urlExt!=domainExt[i]){
			i++;
		
			if (urlExt==domainExt[i]) {
				validDomain=true;
				urlExt=domainExt[i];
				}
			
		}
		if(validDomain){
			
			urlStr=urlStr.substring(7, DotPos);
			var trois = urlStr.split(".");
			if((trois[trois.length-1]).length >= 3 ){

				res=true;
			}
		}
	
  }
  else {res=false};

return(res);
}

function isUrlavecrepertoire(urlStr)
{
// si la chaine est vide, on retourne true quand meme
 
	var res=false;
	var validDomain=false;
	var HttpPos = urlStr.substr(0,7);
	if(HttpPos=="http://")
	{

		var urlnue=urlStr.substr(7,urlStr.length);
		var SlashPos=urlnue.indexOf("/");
		
		if(SlashPos!=-1){
			//On enlève tout ce qu'il y a après le /
			urlnue=urlnue.substr(0,SlashPos);
		
			// La position du / est décalé de 7 place a cause du http://
			urlStr=urlStr.substr(0,SlashPos+7);
		}
		
		var DotPos= urlStr.lastIndexOf(".");
	
		var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.eu.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
		var domainExt=domainExtList.split(".");
		var urlExt=urlStr.substr(DotPos+1);
		urlExt=urlExt.toLowerCase();
		i=-1;
		
		while(i<domainExt.length && urlExt!=domainExt[i]){
			i++;
		
			if (urlExt==domainExt[i]) {
				validDomain=true;
				urlExt=domainExt[i];
				}
			
		}
		if(validDomain){
			
			urlStr=urlStr.substring(7, DotPos);
			var trois = urlStr.split(".");
			if((trois[trois.length-1]).length >= 3 ){

				res=true;
			}
		}
	
  }
  else {res=false};

return(res);
}


  
 function isNumberString(NumStr)
 {var regEx=/^[0-9]+$/;
 var ret=false;
 if (regEx.test(NumStr)) ret=true;
 return ret;
 }
  
 function isAlphaNumString(NumStr)
 {var regEx=/^[A-Za-z0-9]+$/;
 var ret=false;
 if (regEx.test(NumStr)) ret=true;
 return ret;
 }
  
 function isAlphaString(NumStr)
 {var regEx=/^[A-Za-z]+$/;
 var ret=false;
 if (regEx.test(NumStr)) ret=true;
 return ret;
 }
  
//***************************** FONCTIONS ajoutées **************************************

function ConfirmSup(EnrASupprimer) {
if (confirm("Confirmez-vous la suppression ?")) {
	document.location = EnrASupprimer;
	}  
}

function formVide()
{
var cpt=0;
 // La première boucle parcourt les formulaires
   for(var i = 0; i < document.forms.length; i++)
     // La deuxième boucle parcourt les champs de formulaire
     for(var j = 0; j < document.forms[i].elements.length; j++)
       // compteur de champs non vides sauf pour les boutons radio
	   if(document.forms[i].elements[j].type!="radio" && document.forms[i].elements[j].type!="button" )
		   if(document.forms[i].elements[j].value!="") cpt++; 
	if(cpt==0) return true; else return false;
}

function verifAnnee(valeur) {
	if (valeur!="") {
		if(!IsNumberString(valeur)) alert("Saisissez une année sur 4 chiffres");
		else if (valeur.length!=4) alert("Saisissez une année sur 4 chiffres"); 
	}
}

function afficheTelAvecSep(numtel,sep) {
	if (numtel.length < 10) {
		alert("Numéro incorrect");
		return "";
	}
	else
		if(numtel.length == 10)  {
			var re = /^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$/;
			if(re.test(numtel)) {
				var tableau = re.exec(numtel);
				var tel = tableau.join(sep);
				return tel.substring(numtel.length+1,tel.length);
			}
			else
				return numtel;
		}
}

//Fonction qui remet à 0 le champ url si aucune adresse n'a été rentrée
function remiseChampUrl(elt){

	if(elt.value=="http://"){
		elt.value="";
	}

}

//Fonction qui met "http://" dans le champ de lien que si celui ci n'a pas encore été tapé
function miseChampUrl(elt){

	if(elt.value==""){
		elt.value="http://";
	}

}
//Fonction qui ajoute trois champs pour les destinataires (nom, prenom, mail)
var dest_nb_lignes = 0;
function ajouterDestinataire(idzoneajouter, avant, lang){
//idzoneajouter: id de la zone ou le champs doit être ajouter
//avant: nom de l'element qui se trouvera après l'insertion
	dest_nb_lignes++;
	var langue=eval("lang");
	if(dest_nb_lignes<10){
		
		var obj=$$(idzoneajouter);
		var retour=document.createElement('BR');
		var retour1=document.createElement('BR');
		var retour2=document.createElement('BR');
		var retour3=document.createElement('BR');
		var retour4=document.createElement('BR');
		var message=eval("traduction.langues.formulaire.desti."+langue);
		var texte=document.createTextNode("E-mail "+(dest_nb_lignes+1)+message);

		var message2=eval("traduction.langues.formulaire.nomdes."+langue);
		var textenom=document.createTextNode(message2+" ");

		var message3=eval("traduction.langues.formulaire.prenomdes."+langue);
		var texteprenom=document.createTextNode(message3+" ");

		
		


		//Nom
		var champnom=document.createElement('INPUT');
		champnom.type="text";
		champnom.name="nom"+(dest_nb_lignes+1);
		
		//Prénom
		var champprenom=document.createElement('INPUT');
		champprenom.type="text";
		champprenom.name="prenom"+(dest_nb_lignes+1);

		//Mail
		var champ=document.createElement('INPUT');
		champ.type="text";
		champ.name="maildestinataire"+(dest_nb_lignes+1);
		var actionclick="obj=new testChamp(this.name,'mail','formMessage','"+langue+"'); obj.verifType();";
		champ.setAttribute("onBlur",actionclick);


		//div

		var div1=document.createElement('div');
		div1.className="libelle";
		div1.appendChild(textenom);
		

		var div2=document.createElement('div');
		div2.className="libelle";
		div2.appendChild(texteprenom);
		

		var div3=document.createElement('div');
		div3.className="libelle";
		div3.appendChild(texte);
		

		//ajout

		obj.insertBefore(retour,document.getElementsByName(avant)[0]);
		obj.insertBefore(retour4,document.getElementsByName(avant)[0]);
		obj.insertBefore(div1,document.getElementsByName(avant)[0]);
		obj.insertBefore(champnom,document.getElementsByName(avant)[0]);
			

		obj.insertBefore(retour1,document.getElementsByName(avant)[0]);

		obj.insertBefore(div2,document.getElementsByName(avant)[0]);
		obj.insertBefore(champprenom,document.getElementsByName(avant)[0]);
		

		obj.insertBefore(retour2,document.getElementsByName(avant)[0]);

		obj.insertBefore(div3,document.getElementsByName(avant)[0]);
		obj.insertBefore(champ,document.getElementsByName(avant)[0]);
		

		obj.insertBefore(retour3,document.getElementsByName(avant)[0]);
	}else{
		var message_erreur=eval("traduction.langues.formulaire.tropdes."+langue);
		alert(message_erreur+"");
	}
	
	

}

//Fonction qui ajoute une ligne pour l'envoi à plusieurs destinataires
var mail_nb_lignes = 0;
function ajouterLigne(idzoneajouter, lang){
//idzoneajouter: id de la zone ou le champs doit être ajouter
	mail_nb_lignes++;
	if(mail_nb_lignes<10){
		var langue=eval("lang");
		var obj=$$(idzoneajouter);
		var retour=document.createElement('BR');
		
		var message=eval("traduction.langues.formulaire.desti."+langue);
		var texte=document.createTextNode(mail_nb_lignes+1+message);
		var champ=document.createElement('INPUT');
		champ.type="text";
		champ.name="maildestinataire"+(mail_nb_lignes+1);
		champ.className="input-formulaire";
		var actionclick="obj=new testChamp(this.name,'mail','formMessage','"+langue+"'); obj.verifType();";
		champ.setAttribute("onBlur",actionclick);

		var div_libel=document.createElement('div');
		div_libel.appendChild(texte);
		div_libel.className="libelle";
// 		obj.appendChild(document.createElement('BR'));
// 		obj.appendChild(retour);
		obj.appendChild(div_libel);
		obj.appendChild(champ);
	}
	
// 	majHauteurs();
}

 function getURL_base(url)
 {
 //renvoie un URL sans les paramètres et le ?
 var S_url = url;
 stopIndex=S_url.indexOf("?");
 url_sans_param=S_url.substr(0,stopIndex);
 return url_sans_param
 } 
	
//Fonction qui retourne un tableau associatif représentant les différents paramètre passés par l'url et leur valeur
function getParametres()
{

 if (window.location.search != "") {
	var longueur = window.location.search.length - 1;
	var data = window.location.search.substr(1,longueur);
	var donnees = data.split("&");
	var urlvar = new Object();
	var urlvarnum = new Object();
		for (var i=0; i < donnees.length; i++) {
			position = donnees[i].indexOf("=");
			variable = donnees[i].substr(0,position);
			pos = position + 1;
			valeur = decodeURI(donnees[i].substr(pos,donnees[i].length));
			while (valeur.search(/\+/) != -1)
				valeur = valeur.replace(/\+/," ");
			urlvar[variable] = valeur;
			urlvarnum[i] = valeur;
			
		}
	} 

return urlvar;

} 



//<!--
//<!-- Modified By:  Steve Robison, Jr. (stevejr@ce.net) -->
//<!-- This script and many more are available free online at -->
//<!-- The JavaScript Source!! http://javascript.internet.com -->

function check(nomcase, nomselect) {

var tab=document.getElementsByName(nomcase);
var tabsel = document.getElementsByName(nomselect);
//nbcas = field.length -2; // attention comme on envoie tout le formulaire, on enleve 2 objets qui sont ?la fin : 1 bouton et (1 bouton ou la case tout selectionner)

if (tabsel[0].checked == false) {
	for (i = 0; i < tab.length; i++) {
		tab[i].checked = false;
	}
	
	return "Aucun"; 
}
else {
	for (i = 0; i < tab.length; i++) {
		tab[i].checked = true; 
	}
	
	return "Tous"; 
}
}
//  End -->

//Fonction qui vérifie si une ou plusieurs lsite de checkbox sont bien renseigné

// nomsgroupe : noms des checkbox séparé par des virgules
//lang : lang de l'apparrition du message
//Retourne : rien mais coche tous si une des liste est vide
function veriformcheck(nomsgroupe, lang){
	var groupetemp=nomsgroupe;
	var partieformtemp;
	var objetform;
	var okpourun;
	var nonokpourun=true;
	var message=eval("traduction.langues.formulaire.avertissement_annu."+lang);;

	while(groupetemp.indexOf(",",0)!=-1){
		okpourun=false;
		partieformtemp=groupetemp.substring(0,groupetemp.indexOf(",",0));
		groupetemp=groupetemp.substring(groupetemp.indexOf(",",0)+1,groupetemp.length);
		objetform=$('.'+partieformtemp);
		for(i=0;i<objetform.length;i++){
			if(objetform[i].checked==true){
				okpourun=true;
				
				break;
			}
		}

		if(!okpourun){
			for(i=0;i<objetform.length;i++){
				objetform[i].checked=true;
			}
		}
			
	}
	okpourun=false;
	//On le refait pour la dernière occurence
	partieformtemp=groupetemp;
	objetform=$('.'+partieformtemp);
		for(i=0;i<objetform.length;i++){
			if(objetform[i].checked==true){
				okpourun=true;
				
				break;
			}
		}

		if(!okpourun){
			for(i=0;i<objetform.length;i++){
				objetform[i].checked=true;
			}
			
		}

	
		return true;
	
}


//***************************** FONCTIONS C-STAN **************************************

//****************************Classe testChamp**************************************

tableau_message=new Object();
function testChamp(nomchamp, typage, idzonemessage, lang)
/*
objet: objet représentant le formulaire
typage: type attendu dans le champ. Ex: mail, text, etc...
idzonemessage (optionel): id de la zone où apparaitra le message derreur
lang: langage des messages d'erreur: fr, en ou de


*/
{
	
		var obj=window.document.getElementsByName(nomchamp);
		
		this.nom = nomchamp;
		this.valeur=obj[0].value;
		this.typage=typage;
		this.langue=lang;
		if(idzonemessage!=undefined){
			this.idzonemessage=idzonemessage;
		}
		this.message="";
		res=true; // globale car utilisé dans la fonction de vérif avant envoi
		//Methode qui vérifie que le contenu du champ est correct
	
		this.verifType=function(){
		/*
		Fonction qui vérifie que la valeur entrée dans le champ correspond au type demandé
		valeur retournée : si pas d'idzonemessage, le message d'erreur est retourné
		*/
			if(this.valeur != ""){
			
				switch (this.typage)
				{
					case 'int':
						res=isNumberString(this.valeur);
						break;
					case 'mail':
						res=isEmail(this.valeur);
						break;
					case 'text':
						res=isAlphaString(this.valeur);
						break;
					case 'textnum':
						res=isAlphaNumString(this.valeur);
						break;
					case 'date':
						res=isDate(this.valeur);
						break;
					case 'url':	
						res=isUrlavecrepertoire(this.valeur);
						break;
					case 'cp':
						res=isCodePostal(this.valeur);
						break;
					case 'tel':
						res=isTelephone(this.valeur);
						break;
					default:
						res=false;
						break;
				}
				
			
				
								
				if(!res){

					var prempartie=eval("traduction.langues.div.alert1."+this.langue);
					
					var nomchamp = eval("traduction.langues.formulaire."+this.nom+"."+this.langue);
					this.message ="- "+prempartie+nomchamp;
					
					if(this.idzonemessage!=undefined)
					// si la zone d'affichage des messages est définie on la met a jour
					{
						var temp=false;
						for(var key in tableau_message){
							if(this.message==tableau_message[key]){
								
								temp=true;
								
							}
						}
						tableau_message[this.nom]=this.message;
							
						this.afficherMessages();
						
						
						if(!temp){
							$($$(this.idzonemessage)).hide(1);
							$($$(this.idzonemessage)).slideDown(1000);
						}
					}
					else
					// sinon on renvoie le message
					{
					
						return this.message;
					}
				}
				else
				{
					if(this.idzonemessage!=undefined)
					{
						// pas d'erreur donc on efface le message s'il y en avait un
						tableau_message[this.nom]="";
						this.afficherMessages();
					}
				}
			}else
			{
				if(this.idzonemessage!=undefined){
						// le champ est vide donc on efface le message s'il y en avai un
						tableau_message[this.nom]="";
						this.afficherMessages();
				}
			}
		}

		this.afficherMessages=function(){
		/*
		Fonction qui affiche les uns à la suite des autres les messages d'erreurs généré par la fonction verifType
		*/
			
			var totalMessage="";
			var testefface=true;
			
			for (var keyVar in tableau_message){
 				
					
				if(tableau_message[keyVar]!="")
				{	
					
					testefface=false;
				

// 					obj1.style.display="inherit";
					
					totalMessage += tableau_message[keyVar]+"<br/><br/>";
				}
				
			}
			var obj1 = $$(this.idzonemessage);
			if(obj1){
				
				
				if(testefface){obj1.style.display="none";}
				
				obj1.innerHTML = totalMessage;
			}else{
				
				var reg=new RegExp("<br/>", "g");
				totalMessage=totalMessage.replace(reg,"");
				if(totalMessage!=""){
					alert(totalMessage);
				}
			}
		}

}


//Fonction qui initialise les valeur du formulaire pour l'upload de logo

//extensions : chaine de caractère contenant tous les type de fichier accepté pour l'upload séparés par une virgule

function initUpload(nomform, champoblig, extensions){

	if(typeof(nomform)!="undefined"){
		nomform="testForm";
	}

    //the second argument of setForm is crucial,

    //which tells Connection Manager this is a file upload form

    YAHOO.util.Connect.setForm(nomform, true);

	var valeurfichier=YAHOO.util.Dom.get('nom_du_fichier').value;
	var nomdufichier=valeurfichier.substring(valeurfichier.lastIndexOf('/')+1,valeurfichier.length);
    var uploadHandler = {

      upload: function(oResp) {

		if(oResp.responseText=='0'){

			alert("Le fichier est trop volumineux. La taille maximum est de 200 ko");

		}else{

			if(oResp.responseText=='1'){

				alert("Erreur lors du transfert. Vérifiez la taille de votre fichier");

			}else{

				if(oResp.responseText=='2'){

					alert("Seuls les types de fichiers suivant sont acceptés : "+extensions);

				}else{
					var resp=eval('('+oResp.responseText+')');
					YAHOO.util.Dom.get('fichier').value=resp.adresse;
					YAHOO.util.Dom.get('fichiernom').value=resp.nomreel;
					YAHOO.util.Dom.get('fichiertype').value=resp.typefichier;
					YAHOO.util.Dom.get('fichiertaille').value=resp.taille;
					envoyer(nomform, champoblig, 'fr');
				}

				

			}

		}

      }

    };

  YAHOO.util.Connect.asyncRequest('POST', 'squelettes/upload-fichier.php', uploadHandler,"extensions="+extensions);


}



//Controle du pseudonyme







// nomtemp nom entre par l'utilisateur. Cette fonction va verfier qu'il n'existe pas dans la BBD avant de l'ajouter



function pseudonyme(nomtemp,divmessage,lang,testpseudo){

if(testpseudo=="1"){

	urltesnom="squelettes/test-pseudo.php?name="+nomtemp;



	var testnom = new $.ajax({



	url:urltesnom,

	method: "get",



	success:function(transport){



			var nboccurence=transport;



			

			if(nboccurence!='0'){

					

					var temptab=tableau_message['login'];



					var pseudomin = eval("traduction.langues.formulaire.pseudo."+lang);



					var pseudoutil = eval("traduction.langues.formulaire.pseudoutil."+lang);



					tableau_message['login']="- "+pseudoutil;



					var eprereguliere=new RegExp('^.{3,}$');



					if( nomtemp.match(eprereguliere)==null){



					



						tableau_message['login']=tableau_message['login']+' - '+pseudomin;



					}







					







					var obj1 = $('#'+divmessage)[0];



					var totalMessage='';



	



	



					for (var keyVar in tableau_message){



					



						



					if(tableau_message[keyVar]!='')



						{	

// 

							totalMessage +=  tableau_message[keyVar]+"<br/><br/>";



						}



						



					}



					obj1.innerHTML = totalMessage;





					

					if(temptab!=tableau_message['login']){	obj1.style.display="inherit";

						$($$(divmessage)).hide(1);

						$($$(divmessage)).slideDown(1000);

					}



				



				



			}else{



				var temptab=tableau_message['login'];



				tableau_message['login']="";



				var eprereguliere=new RegExp('^.{3,}$');



				if( nomtemp.match(eprereguliere)==null){



						var pseudomin = eval("traduction.langues.formulaire.pseudo."+lang);



						tableau_message['login']=tableau_message['login']+' - '+pseudomin;



					}



				var obj1 = $('#'+divmessage)[0];



				var totalMessage='';







				var efface=1

				for (var keyVar in tableau_message){



 				



					



				if(tableau_message[keyVar]!='')



					{	

// 						

						totalMessage += tableau_message[keyVar]+"<br/><br/>";



						efface=2;

					}



					



				}



				if(efface==1){



					obj1.style.display="none";

				}

				obj1.innerHTML = totalMessage;



				if(temptab!=tableau_message['login']){



						obj1.style.display="inherit";

						$($$(divmessage)).hide(1);

						$($$(divmessage)).slideDown(1000);

				}
				
			}

	}


 });

}
}


function verfiMDP(){

var temp=tableau_message['mdp'];



		if($('#mdp2')[0].value!='' && $('#mdp')[0].value!=''){



		

			if($('#mdp')[0].value!=$('#mdp2')[0].value){



				

				var pseudomin = eval('traduction.langues.formulaire.mdpcorrespond.fr');



				tableau_message['mdp']='- '+pseudomin+'<br/><br/>';



			}else{	



				tableau_message['mdp']='';



			}



			var eprereguliere=new RegExp('^[a-zA-Z0-9]{5,}$');



			if( ($('#mdp')[0].value).match(eprereguliere)==null || ($('#mdp2')[0].value).match(eprereguliere)==null){



				var mdpmin = eval('traduction.langues.formulaire.mdpforme.fr');



				tableau_message['mdp']=tableau_message['mdp']+'- '+mdpmin+'<br/><br/>';



			}



		}



			

				

				var obj1 = $('#formMessage')[0];



				var totalMessage='';



				for (var keyVar in tableau_message){



 				



				var efface=1;



				if(tableau_message[keyVar]!='')



					{	

						

						

						totalMessage += tableau_message[keyVar]+'<br/><br/>';

						

						efface=2;

					}



					



				}



				if(efface==1){

					

					obj1.style.display='none';

				}

				obj1.innerHTML = totalMessage;



				if(temp!=tableau_message['mdp'] ){

					

					obj1.style.display='block';

					$($$('formMessage')).hide(1);

					$($$('formMessage')).slideDown(1000);



				}



		



		

}


// ***********************************************************************************************



// Calcul MD5



/*



 *  md5.jvs 1.0b 27/06/96



 * Javascript implementation of the RSA Data Security, Inc. MD5



 * Message-Digest Algorithm.



 * Copyright (c) 1996 Henri Torgemane. All Rights Reserved.



 * Permission to use, copy, modify, and distribute this software



 * and its documentation for any purposes and without



 * fee is hereby granted provided that this copyright notice



 * appears in all copies.



 * Of course, this soft is provided "as is" without express or implied



 * warranty of any kind.



 * -------------------------------------------------------------



 * Modified :



 * - 2003/06/09 by Antoine Pitrou (unicode compatibility)



 */







function array(n) {



  for(i=0;i<n;i++) this[i]=0;



  this.length=n;



}







/* Some basic logical functions had to be rewritten because of a bug in



 * Javascript.. Just try to compute 0xffffffff >> 4 with it..



 * Of course, these functions are slower than the original would be, but



 * at least, they work!



 */







function integer(n) { return n%(0xffffffff+1); }







function shr(a,b) {



  a=integer(a);



  b=integer(b);



  if (a-0x80000000>=0) {



    a=a%0x80000000;



    a>>=b;



    a+=0x40000000>>(b-1);



  } else



    a>>=b;



  return a;



}







function shl1(a) {



  a=a%0x80000000;



  if (a&0x40000000==0x40000000)



  {



    a-=0x40000000;



    a*=2;



    a+=0x80000000;



  } else



    a*=2;



  return a;



}







function shl(a,b) {



  a=integer(a);



  b=integer(b);



  for (var i=0;i<b;i++) a=shl1(a);



  return a;



}







function and(a,b) {



  a=integer(a);



  b=integer(b);



  var t1=(a-0x80000000);



  var t2=(b-0x80000000);



  if (t1>=0)



    if (t2>=0)



      return ((t1&t2)+0x80000000);



    else



      return (t1&b);



  else



    if (t2>=0)



      return (a&t2);



    else



      return (a&b);



}







function or(a,b) {



  a=integer(a);



  b=integer(b);



  var t1=(a-0x80000000);



  var t2=(b-0x80000000);



  if (t1>=0)



    if (t2>=0)



      return ((t1|t2)+0x80000000);



    else



      return ((t1|b)+0x80000000);



  else



    if (t2>=0)



      return ((a|t2)+0x80000000);



    else



      return (a|b);



}







function xor(a,b) {



  a=integer(a);



  b=integer(b);



  var t1=(a-0x80000000);



  var t2=(b-0x80000000);



  if (t1>=0) 



    if (t2>=0) 



      return (t1^t2);



    else



      return ((t1^b)+0x80000000);



  else



    if (t2>=0)



      return ((a^t2)+0x80000000);



    else



      return (a^b);  



}







function not(a) {



  a=integer(a);



  return (0xffffffff-a);



}







/* Here begin the real algorithm */







    var state = new array(4); 



    var count = new array(2);



	count[0] = 0;



	count[1] = 0;                     



    var buffer = new array(64); 



    var transformBuffer = new array(16);



    var digestBits = new array(16);







    var S11 = 7;



    var S12 = 12;



    var S13 = 17;



    var S14 = 22;



    var S21 = 5;



    var S22 = 9;



    var S23 = 14;



    var S24 = 20;



    var S31 = 4;



    var S32 = 11;



    var S33 = 16;



    var S34 = 23;



    var S41 = 6;



    var S42 = 10;



    var S43 = 15;



    var S44 = 21;







    function F(x,y,z) {



	return or(and(x,y),and(not(x),z));



    }







    function G(x,y,z) {



	return or(and(x,z),and(y,not(z)));



    }







    function H(x,y,z) {



	return xor(xor(x,y),z);



    }







    function I(x,y,z) {



	return xor(y ,or(x , not(z)));



    }







    function rotateLeft(a,n) {



	return or(shl(a, n),(shr(a,(32 - n))));



    }







    function FF(a,b,c,d,x,s,ac) {



        a = a+F(b, c, d) + x + ac;



	a = rotateLeft(a, s);



	a = a+b;



	return a;



    }







    function GG(a,b,c,d,x,s,ac) {



	a = a+G(b, c, d) +x + ac;



	a = rotateLeft(a, s);



	a = a+b;



	return a;



    }







    function HH(a,b,c,d,x,s,ac) {



	a = a+H(b, c, d) + x + ac;



	a = rotateLeft(a, s);



	a = a+b;



	return a;



    }







    function II(a,b,c,d,x,s,ac) {



	a = a+I(b, c, d) + x + ac;



	a = rotateLeft(a, s);



	a = a+b;



	return a;



    }







    function transform(buf,offset) { 



	var a=0, b=0, c=0, d=0; 



	var x = transformBuffer;



	



	a = state[0];



	b = state[1];



	c = state[2];



	d = state[3];







	for (i = 0; i < 16; i++) {



	    x[i] = and(buf[i*4+offset],0xff);



	    for (j = 1; j < 4; j++) {



		x[i]+=shl(and(buf[i*4+j+offset] ,0xff), j * 8);



	    }



	}







	/* Round 1 */



	a = FF ( a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */



	d = FF ( d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */



	c = FF ( c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */



	b = FF ( b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */



	a = FF ( a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */



	d = FF ( d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */



	c = FF ( c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */



	b = FF ( b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */



	a = FF ( a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */



	d = FF ( d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */



	c = FF ( c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */



	b = FF ( b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */



	a = FF ( a, b, c, d, x[12], S11, 0x6b901122); /* 13 */



	d = FF ( d, a, b, c, x[13], S12, 0xfd987193); /* 14 */



	c = FF ( c, d, a, b, x[14], S13, 0xa679438e); /* 15 */



	b = FF ( b, c, d, a, x[15], S14, 0x49b40821); /* 16 */







	/* Round 2 */



	a = GG ( a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */



	d = GG ( d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */



	c = GG ( c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */



	b = GG ( b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */



	a = GG ( a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */



	d = GG ( d, a, b, c, x[10], S22,  0x2441453); /* 22 */



	c = GG ( c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */



	b = GG ( b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */



	a = GG ( a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */



	d = GG ( d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */



	c = GG ( c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */



	b = GG ( b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */



	a = GG ( a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */



	d = GG ( d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */



	c = GG ( c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */



	b = GG ( b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */







	/* Round 3 */



	a = HH ( a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */



	d = HH ( d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */



	c = HH ( c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */



	b = HH ( b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */



	a = HH ( a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */



	d = HH ( d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */



	c = HH ( c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */



	b = HH ( b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */



	a = HH ( a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */



	d = HH ( d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */



	c = HH ( c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */



	b = HH ( b, c, d, a, x[ 6], S34,  0x4881d05); /* 44 */



	a = HH ( a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */



	d = HH ( d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */



	c = HH ( c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */



	b = HH ( b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */







	/* Round 4 */



	a = II ( a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */



	d = II ( d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */



	c = II ( c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */



	b = II ( b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */



	a = II ( a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */



	d = II ( d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */



	c = II ( c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */



	b = II ( b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */



	a = II ( a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */



	d = II ( d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */



	c = II ( c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */



	b = II ( b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */



	a = II ( a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */



	d = II ( d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */



	c = II ( c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */



	b = II ( b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */







	state[0] +=a;



	state[1] +=b;



	state[2] +=c;



	state[3] +=d;







    }







    function init() {



	count[0]=count[1] = 0;



	state[0] = 0x67452301;



	state[1] = 0xefcdab89;



	state[2] = 0x98badcfe;



	state[3] = 0x10325476;



	for (i = 0; i < digestBits.length; i++)



	    digestBits[i] = 0;



    }







    function update(b) {



	var index,i;







	index = and(shr(count[0],3) , 0x3f);



	if (count[0]<0xffffffff-7)



	  count[0] += 8;



        else {



	  count[1]++;



	  count[0]-=0xffffffff+1;



          count[0]+=8;



        }



	buffer[index] = and(b,0xff);



	if (index  >= 63) {



	    transform(buffer, 0);



	}



    }







    function finish() {



	var bits = new array(8);



	var	padding;



	var	i=0, index=0, padLen=0;







	for (i = 0; i < 4; i++) {



	    bits[i] = and(shr(count[0],(i * 8)), 0xff);



	}



        for (i = 0; i < 4; i++) {



	    bits[i+4]=and(shr(count[1],(i * 8)), 0xff);



	}



	index = and(shr(count[0], 3) ,0x3f);



	padLen = (index < 56) ? (56 - index) : (120 - index);



	padding = new array(64); 



	padding[0] = 0x80;



        for (i=0;i<padLen;i++)



	  update(padding[i]);



        for (i=0;i<8;i++)



	  update(bits[i]);







	for (i = 0; i < 4; i++) {



	    for (j = 0; j < 4; j++) {



		digestBits[i*4+j] = and(shr(state[i], (j * 8)) , 0xff);



	    }



	} 



    }







/* End of the MD5 algorithm */







function hexa(n) {



 var hexa_h = "0123456789abcdef";



 var hexa_c="";



 var hexa_m=n;



 for (hexa_i=0;hexa_i<8;hexa_i++) {



   hexa_c=hexa_h.charAt(Math.abs(hexa_m)%16)+hexa_c;



   hexa_m=Math.floor(hexa_m/16);



 }



 return hexa_c;



}











var ascii="01234567890123456789012345678901" +



          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"+



          "[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";







function calcMD5(entree)



{



 var l,s,k,ka,kb,kc,kd;







 init();



 /*for (k=0;k<entree.length;k++) {



   l=entree.charAt(k);



   update(ascii.lastIndexOf(l));



 }*/



 for (k=0;k<entree.length;k++) {



   l=entree.charCodeAt(k);



   update(l);



 }







 finish();



 ka=kb=kc=kd=0;



 for (i=0;i<4;i++) ka+=shl(digestBits[15-i], (i*8));



 for (i=4;i<8;i++) kb+=shl(digestBits[15-i], ((i-4)*8));



 for (i=8;i<12;i++) kc+=shl(digestBits[15-i], ((i-8)*8));



 for (i=12;i<16;i++) kd+=shl(digestBits[15-i], ((i-12)*8));



 s=hexa(kd)+hexa(kc)+hexa(kb)+hexa(ka);



 return s;

}

function changeTextParticipe(){
	var tabsel = document.getElementsByName('typedon');
	var valeur;
	for(var i=0;i<tabsel.length;i++){
		if(tabsel[i].checked==true){
			valeur=tabsel[i].value;
		}
	}

	if(valeur=="a"){
		var txt1="J'offre une participation à un(e) ami(e)";
		var txt2="J'offre";
		var txtbt="Valider la participation pour un ami";
	}else{
		var txt1="Je participe";
		var txt2="Je participe";
		var txtbt="Valider ma participation";
	}

	var text1=YAHOO.util.Dom.getElementsByClassName('textparti');
	for(var i=0;i<text1.length;i++){
		text1[i].innerHTML=txt1;
	}

	var text2=YAHOO.util.Dom.getElementsByClassName('textetape');
	for(var i=0;i<text2.length;i++){
		text2[i].innerHTML=txt2;
	}

	$('#avalide')[0].innerHTML=txtbt;

}

function toogleAmi(affiche){
	changeTextParticipe();
	var obj = new testChamp('mail','mail','formMessage','fr'); 
	obj.verifType();
	tableau_message=new Array();
	if(affiche=="1"){
		$('#coordami').slideDown(1000);


		$('#avalide')[0].onclick=function(){
			envoyer('soumettre','nom, prenom, mail','fr');
		};

// 		$('#imgvalide')[0].onclick=function(){
// 			envoyer('soumettre','nom, prenom, mail,','fr');
// 		};

	}else{
		$('#coordami').slideUp(1000);

		$('#avalide')[0].onclick=function(){
			envoyer('soumettre','','fr');
		};

// 		$('#imgvalide')[0].onclick=function(){
// 			envoyer('soumettre','','fr');
// 		};
		$('#formMessage')[0].style.display="none";
	}

}



function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function reinitialiseRecherche(objet,texte){
	if(objet.value!=texte){
		objet.value=texte;
	}	
}


function ajouterAidescontextuelles(){
	var id_conteneur="conteneur-aide";
	var icones_aides=YAHOO.util.Dom.getElementsByClassName("aidecontextuelle");
	for(var k=0;k<icones_aides.length;k++){
		icones_aides[k].onclick=function(){
			afficherAideContextuelle(this.id,id_conteneur);
		};
	}
}

function afficherAideContextuelle(idaide,conteneur){

	fenetre_aide = new YAHOO.widget.Panel(conteneur, {
// 							fixedcenter:true,
							visible:false,  
							modal:true,
							zindex:102,
							width:"500px",
							draggable:true
							} ); 
	var callback = { 
		success : function(oResp) { 

			var json=YAHOO.lang.JSON.parse(oResp.responseText);
			var titrepage="<img src='squelettes/includes/images/bt-help-deg-g.jpg' alt=\"Besoin d'aide ?\" title=\"Besoin d'aide ?\" class='img-align-middle'/> Aide - "+json.titre;
			fenetre_aide.setHeader(titrepage);

			if(json.admin=="0"){
				fenetre_aide.setBody("<div id='ensemble-aide'>"+json.texte+"</div>");
			}else{
				var titre=json.titre;
				var texte=json.texte;
				
				var bodyEditeur="<form id='modifaide' name='modifaide'><div class='titre-aide agauche'><p class='petit agauche gras sans-marge-g'>Titre</p>";
				bodyEditeur+='<input type="text" name="titre" value="'+titre+'" class="input-formulaire "/>';
				bodyEditeur+="</div><br/><p class='petit agauche gras sans-marge-g'>Texte</p><textarea id='editeur-aide' name='corps'>"+texte+"</textarea><input type='hidden' name='idaide' value='"+json.idaide+"'/><input type='hidden' value='enregistrer' name='action'/></form><br class='nettoyeur'/><div class='bouton-retour'><p><a onclick='enregistrerModifAide();' href='#'>Valider</a> </p></div><div class='bouton-valide'><p><a onclick='enleverAide();' href='#'>Annuler</a> </p></div><br class='nettoyeur'/>";
				fenetre_aide.setBody(bodyEditeur);

				var myConfig = { 
					height: '300px', 
					width: '400px', 
					focusAtStart: true,
					toolbar:{buttons: [ 
					{ group: 'textstyle', label: 'Font Style', 
						buttons: [ 
						{ type: 'push', label: 'Bold CTRL + SHIFT + B', value: 'bold' }, 
						{ type: 'push', label: 'Italic CTRL + SHIFT + I', value: 'italic' }, 
						{ type: 'push', label: 'Underline CTRL + SHIFT + U', value: 'underline' }, 
						{ type: 'separator' }, 
						{ type: 'color', label: 'Font Color', value: 'forecolor', disabled: true }, 
						{ type: 'color', label: 'Background Color', value: 'backcolor', disabled: true } 
						] 
					}, 
					{ type: 'separator' }, 
					{ group: 'indentlist', label: 'Lists', 
						buttons: [ 
						{ type: 'push', label: 'Create an Unordered List', value: 'insertunorderedlist' }, 
						{ type: 'push', label: 'Create an Ordered List', value: 'insertorderedlist' } 
						] 
					}, 
					{ type: 'separator' }, 
					{ group: 'insertitem', label: 'Insert Item', 
						buttons: [ 
						{ type: 'push', label: 'HTML Link CTRL + SHIFT + L', value: 'createlink', disabled: true }
						] 
					} 
					]}
				}; 
					
				//Now let's load the SimpleEditor.. 
				editeurAide = new YAHOO.widget.SimpleEditor('editeur-aide', myConfig);
				editeurAide.render();
				

			}

			fenetre_aide.render(document.body);

			fenetre_aide.show();
		}, 
		failure : function(o) { 
			fenetre_aide.setBody(message_contact_admin);
			fenetre_aide.render(document.body);
			fenetre_aide.show();
		} 
	};

	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/requete-aide.php", callback,"action=afficher&idaide="+idaide);
}

function enleverAide(){
	fenetre_aide.hide();
}

function enregistrerModifAide(){
	editeurAide.saveHTML();
	envoyerFormulaire('','modifaide','','squelettes/requete-aide.php','fr','', '');
	enleverAide();
}

function envoyerFormulaire(url,nomform,listechamps,nompage,lang,fonctionValide,parametres){

	var handleSuccess = function(oResponse){ 
		if(url!=''){
			if(!(YAHOO.lang.JSON.isValid(oResponse.responseText))){
				document.location.href=url+oResponse.responseText;
			}else{
				document.location.href=url;
			}
		}
		if(fonctionValide!=undefined && fonctionValide!=''){
			fonctionValide(oResponse);
		}
	};
	 
	var handleFailure = function(oResp){ 
	}; 
	 
	var callback = 
	{ 
	  success:handleSuccess, 
	  failure: handleFailure
	};
	messtot='';
	
	if(verificationForm(nomform,listechamps,lang)){
	
		YAHOO.util.Connect.setForm(nomform);
		var request = YAHOO.util.Connect.asyncRequest('POST',nompage, callback,parametres); 
		return 1;
	}else{
		alert(messtot);	
		return 0;
	}
}

//Montre un calendrier dans le zone idcontainer lors d'un clique sur la zone idinput. Si prerempli = 1 la zone idinput contient d'origine la date du jour
function montrerCalendrier(idinput,idcontainer,prerempli){
	
	cal = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true });
	//changement de la langue du calendrier (mis en français)
	cal.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jui", "Aou", "Sep", "Oct", "Nov", "Dec"]);
	cal.cfg.setProperty("MONTHS_LONG",    ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"]);
	cal.cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);
	cal.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
	cal.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
	cal.cfg.setProperty("WEEKDAYS_LONG",  ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);
	cal.cfg.setProperty("SHOW_WEEK_HEADER", true);
	cal.cfg.setProperty("START_WEEKDAY", 1);
	var navConfig = {
		strings: {
			month:"Mois",
			year:"Annee",
			submit: "Envoyer",
			cancel: "Annuler",
			invalidYear: "Veuillez entrer une année valide"
		}
	}
	cal.cfg.setProperty("navigator", navConfig);

	cal.render();
	if(idinput!=''){
	
		inputmodifcal=YAHOO.util.Dom.get(idinput);
		inputmodifcal.focus();
	
		function choixDate(type, args, obj)
		{
			var inputclick=YAHOO.util.Dom.get(idinput);
			var jour=args[0][0][2]+"";
			var mois=args[0][0][1]+"";
			if(jour.length<2){
				jour="0"+jour;
			}
			if(mois.length<2){
				mois="0"+mois;
			}
			inputclick.value = jour+"-"+mois+"-"+args[0][0][0];
			obj.hide();
			inputmodifcal.blur();
		}
		cal.selectEvent.subscribe(choixDate, cal, true);
		YAHOO.util.Dom.get(idinput).readOnly=true;
		new YAHOO.util.DD(idcontainer); 
	
		function clickavant(type, args, obj)
		{
			var inputclick=YAHOO.util.Dom.get(idinput);
	
			inputmodifcal.focus();
		}
	
		if(prerempli==1){
			afficherDateJour(idinput,1);
		}
		// Listener to show the single page Calendar when the button is clicked 
		YAHOO.util.Event.addListener(idinput, "click", cal.show, cal, true);
		YAHOO.util.Event.addListener(idinput, "click", clickavant, cal, true);
	}
	
	return cal;
}


function creerCalDateParution(fin,date){

	if(fin==0){
		idinput="date_debut_parution";
		idcontainer="container_debut_parution";

	}else{
		idinput="date_fin_parution";
		idcontainer="container_fin_parution";
	}

	inputmodifcal=YAHOO.util.Dom.get(idinput);
	inputmodifcal.focus();
	if(typeof(calsparution)!="object"){
		calsparution=new Object();
	}

	if(fin==0 && typeof(date)!="undefined"){
		calsparution[idcontainer] = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true, maxdate:date });
	}else{
		if(fin==1 && typeof(date)!="undefined"){
			calsparution[idcontainer] = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true, mindate:date });
		}else{
			calsparution[idcontainer] = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true });
		}
	}
	


	//changement de la langue du calendrier (mis en français)
	calsparution[idcontainer].cfg.setProperty("MONTHS_SHORT",   ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jui", "Aou", "Sep", "Oct", "Nov", "Dec"]);
	calsparution[idcontainer].cfg.setProperty("MONTHS_LONG",    ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"]);
	calsparution[idcontainer].cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);
	calsparution[idcontainer].cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
	calsparution[idcontainer].cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
	calsparution[idcontainer].cfg.setProperty("WEEKDAYS_LONG",  ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);
	calsparution[idcontainer].cfg.setProperty("SHOW_WEEK_HEADER", true);
	calsparution[idcontainer].cfg.setProperty("START_WEEKDAY", 1);
	var navConfig = {
		strings: {
			month:"Mois",
			year:"Annee",
			submit: "Valider",
			cancel: "Annuler",
			invalidYear: "Veuillez entrer une année valide"
		}
	}
	calsparution[idcontainer].cfg.setProperty("navigator", navConfig);

	calsparution[idcontainer].render();

	function choixDate(type, args, obj)
	{
		if(fin==0){
			idinput="date_debut_parution";
			idcontainer="container_debut_parution";
		}else{
			idinput="date_fin_parution";
			idcontainer="container_fin_parution";
		}

		var inputclick=YAHOO.util.Dom.get(idinput);
		var jour=args[0][0][2]+"";
		var mois=args[0][0][1]+"";
		if(jour.length<2){
			jour="0"+jour;
		}
		if(mois.length<2){
			mois="0"+mois;
		}
		inputclick.value = jour+"-"+mois+"-"+args[0][0][0];
		obj.hide();
		inputmodifcal.blur();
		
		if(fin==0){
			creerCalDateParution(1,args[0][0][1]+"/"+args[0][0][2]+"/"+args[0][0][0]);
		}else{
			creerCalDateParution(0,args[0][0][1]+"/"+args[0][0][2]+"/"+args[0][0][0]);
		}
	}
	calsparution[idcontainer].selectEvent.subscribe(choixDate, calsparution[idcontainer], true);
	calsparution[idcontainer].renderEvent.subscribe(choixDate, calsparution[idcontainer], true);
	YAHOO.util.Dom.get(idinput).readOnly=true;
	new YAHOO.util.DD(idcontainer); 

	function clickavant(type, args, obj)
	{
		var inputclick=YAHOO.util.Dom.get(idinput);

		inputmodifcal.focus();
	}

	// Listener to show the single page Calendar when the button is clicked 
	YAHOO.util.Event.addListener(idinput, "click", calsparution[idcontainer].show, calsparution[idcontainer], true);
	YAHOO.util.Event.addListener(idinput, "click", clickavant, calsparution[idcontainer], true);
}

function creerCalDateDouble(fin,date){

	if(fin==0){
		idinput="date_debut";
		idcontainer="container_debut";

	}else{
		idinput="date_fin";
		idcontainer="container_fin";
	}

	inputmodifcal=YAHOO.util.Dom.get(idinput);
	inputmodifcal.focus();
	if(typeof(calsdouble)!="object"){
		calsdouble=new Object();
	}

	if(fin==0 && typeof(date)!="undefined"){
		calsdouble[idcontainer] = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true, maxdate:date });
	}else{
		if(fin==1 && typeof(date)!="undefined"){
			calsdouble[idcontainer] = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true, mindate:date });
		}else{
			calsdouble[idcontainer] = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true });
		}
	}
	


	//changement de la langue du calendrier (mis en français)
	calsdouble[idcontainer].cfg.setProperty("MONTHS_SHORT",   ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jui", "Aou", "Sep", "Oct", "Nov", "Dec"]);
	calsdouble[idcontainer].cfg.setProperty("MONTHS_LONG",    ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"]);
	calsdouble[idcontainer].cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);
	calsdouble[idcontainer].cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
	calsdouble[idcontainer].cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
	calsdouble[idcontainer].cfg.setProperty("WEEKDAYS_LONG",  ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);
	calsdouble[idcontainer].cfg.setProperty("SHOW_WEEK_HEADER", true);
	calsdouble[idcontainer].cfg.setProperty("START_WEEKDAY", 1);
	var navConfig = {
		strings: {
			month:"Mois",
			year:"Annee",
			submit: "Valider",
			cancel: "Annuler",
			invalidYear: "Veuillez entrer une année valide"
		}
	}
	calsdouble[idcontainer].cfg.setProperty("navigator", navConfig);

	calsdouble[idcontainer].render();

	function choixDate(type, args, obj)
	{
		if(fin==0){
			idinput="date_debut";
			idcontainer="container_debut";
	
		}else{
			idinput="date_fin";
			idcontainer="container_fin";
		}

		var inputclick=YAHOO.util.Dom.get(idinput);
		var jour=args[0][0][2]+"";
		var mois=args[0][0][1]+"";
		if(jour.length<2){
			jour="0"+jour;
		}
		if(mois.length<2){
			mois="0"+mois;
		}
		inputclick.value = jour+"-"+mois+"-"+args[0][0][0];
		obj.hide();
		inputmodifcal.blur();
		
		if(fin==0){
			creerCalDateDouble(1,args[0][0][1]+"/"+args[0][0][2]+"/"+args[0][0][0]);
		}else{
			creerCalDateDouble(0,args[0][0][1]+"/"+args[0][0][2]+"/"+args[0][0][0]);
		}
	}
	calsdouble[idcontainer].selectEvent.subscribe(choixDate, calsdouble[idcontainer], true);
	calsdouble[idcontainer].renderEvent.subscribe(choixDate, calsdouble[idcontainer], true);
	YAHOO.util.Dom.get(idinput).readOnly=true;
	new YAHOO.util.DD(idcontainer); 

	function clickavant(type, args, obj)
	{
		var inputclick=YAHOO.util.Dom.get(idinput);

		inputmodifcal.focus();
	}

	// Listener to show the single page Calendar when the button is clicked 
	YAHOO.util.Event.addListener(idinput, "click", calsdouble[idcontainer].show, calsdouble[idcontainer], true);
	YAHOO.util.Event.addListener(idinput, "click", clickavant, calsdouble[idcontainer], true);
}


function afficherNbCaracteres(objet_textarea,id_zone_affiche){
	YAHOO.util.Dom.get(id_zone_affiche).innerHTML=objet_textarea.value.length;
}

//Fonction qui initialise les valeur du formulaire pour l'upload de logo
// extensions : chaine de caractère contenant tous les type de fichier accepté pour l'upload séparés par une virgule
// destination : repertoire de destination
// idform : id du formulaire d'envoi
// fonction : fonction d'appel lors de la réussite de l'upload
function initUploadDirect(extensions,destination,idzoneimage,idform,fonction,nameinput){
  
	//the second argument of setForm is crucial,
	//which tells Connection Manager this is a file upload form
	YAHOO.util.Connect.setForm(idform, true);
	
	var uploadHandler = {
		upload: function(oResp) {
			//console.log(idzoneimage+" "+destination);
// 			alert(oResp.responseText);
			if(oResp.responseText=='0'){
				alert("Le fichier est trop volumineux. La taille maximum est de 6Mo");
				
				supprimerImageForm(idzoneimage,"up-"+idzoneimage);
			}else{
				if(oResp.responseText=='1'){
					alert("Erreur lors du transfert. Le fichier n'a pas été trouvé");
					supprimerImageForm(idzoneimage,"up-"+idzoneimage);
				}else{
					if(oResp.responseText=='2'){
						alert("Seuls les types de fichiers suivants sont acceptés : "+extensions);
						supprimerImageForm(idzoneimage,"up-"+idzoneimage);
					}else{
						fonction(oResp);
					}
				}
			}
		}
	};
	
	if(typeof(nameinput)=="undefined"){
		nameinput="";
	}
	
	YAHOO.util.Connect.asyncRequest('POST', 'squelettes/upload-fichier.php', uploadHandler,"extensions="+extensions+"&destination="+destination+"&inputfile="+nameinput);
	
	YAHOO.util.Dom.get("up-"+idzoneimage).innerHTML="<img src='squelettes/includes/images/ajax-loader-bleu.gif' alt='Chargement...' title='Chargement...'/>";

}




//Supprime le logo pour client et prospect
function supprimerPhoto(idhidden,idzone,page){

	//Suppression de la reférence dans l'input caché du formulaire
	YAHOO.util.Dom.get(idhidden).value='';

	
	//Remise en place du formulaire
	var callback = 
		{ 
		success: function(o){
			YAHOO.util.Dom.get(idzone).innerHTML=o.responseText;
		} 
	};

	YAHOO.util.Connect.asyncRequest('POST','squelettes/'+page, callback,"reload=1");
	
	

}


//Supprime le logo pour client et prospect
function supprimerImageForm(idhidden,idzone){
	idzone=idzone;
	//Suppression de la reférence dans l'input caché du formulaire
// 	console.log(idhidden);
	YAHOO.util.Dom.get(idhidden).value='';

	
	//Remise en place du formulaire
	var callback = 
		{ 
		success: function(oResp){
// 			console.log(idzone);
			YAHOO.util.Dom.get(idzone).innerHTML=oResp.responseText;
		} 
	};

	YAHOO.util.Connect.asyncRequest('POST','squelettes/getIputOrigine.php', callback,"&nom_champ="+idhidden);
	
	

}

function verfiMDP(langue){

	var temp=tableau_message['mdp'];

	var nbmsg=0;
		if($('#mdp2')[0].value!='' && $('#mdp')[0].value!=''){



		

			if($('#mdp')[0].value!=$('#mdp2')[0].value){



				

				var pseudomin = eval('traduction.langues.formulaire.mdpcorrespond.'+langue);



				tableau_message['mdp']='- '+pseudomin;

				
				


			}else{	



				tableau_message['mdp']='';



			}



			var eprereguliere=new RegExp('^[a-zA-Z0-9]{5,}$');



			if( ($('#mdp')[0].value).match(eprereguliere)==null || ($('#mdp2')[0].value).match(eprereguliere)==null){



				var mdpmin = eval('traduction.langues.formulaire.mdpforme.'+langue);

				if(tableau_message['mdp']!=""){
					tableau_message['mdp']+="<br/><br/>";
				}
				tableau_message['mdp']=tableau_message['mdp']+'- '+mdpmin;



			}



		}



			

				

				var obj1 = $('#formMessage')[0];



				var totalMessage='';



				for (var keyVar in tableau_message){



 				



				var efface=1;



				if(tableau_message[keyVar]!='')



					{	

						

						//$('#titre-erreur')[0].style.display='block';

						if(nbmsg!=0){
							totalMessage +='<br/><br/>';
						}
						totalMessage += tableau_message[keyVar];

						

						efface=2;
						nbmsg++;
					}



					



				}



				if(efface==1){

					//$('#titre-erreur')[0].style.display='none';

					obj1.style.display='none';

				}

				obj1.innerHTML = totalMessage;



				if(temp!=tableau_message['mdp'] ){

					

					/*obj1.style.display='block';*/

// 					$($$('formMessage')).hide(1);

					$($$('formMessage')).slideDown(1000);



				}


}

function valideChgtMDP(langue,alea){
var temp=tableau_message['mdp'];

		

			if($('#mdp')[0].value!=$('#mdp2')[0].value){

				res=1;

				var pseudomin = eval('traduction.langues.formulaire.mdpcorrespond.'+langue);

				tableau_message['mdp']='- '+pseudomin;

			}else{

				

				tableau_message['mdp']='';

			

			}

			var eprereguliere=new RegExp('^[a-zA-Z0-9]{5,}$');

			if( ($('#mdp')[0].value).match(eprereguliere)==null || ($('#mdp2')[0].value).match(eprereguliere)==null){

				var mdpmin = eval('traduction.langues.formulaire.mdpforme.'+langue);
				if(tableau_message['mdp']!=""){
					tableau_message['mdp']+="<br/><br/>";
				}
				tableau_message['mdp']=tableau_message['mdp']+'- '+mdpmin;

				

			}

		

		
				var obj1 = $('#formMessage')[0];

				var totalMessage='';





				for (var keyVar in tableau_message){

 				

					var efface=1;

				if(tableau_message[keyVar]!='')

					{	
						//$('#titre-erreur')[0].style.display='block';
						totalMessage += tableau_message[keyVar]+'<br/><br/>';

					efface=2;}

					

				}

				if(efface==1){
					//$('#titre-erreur')[0].style.display='none';
					obj1.style.display='none';
				}
				obj1.innerHTML = totalMessage;

				if(temp!=tableau_message['mdp'] ){

// 					obj1.style.display='inherit';
					
// 					$($$('formMessage')).hide(1);
					$($$('formMessage')).slideDown(1000);
					

				}

			

			
			


	$('#motcrypte')[0].value=calcMD5($('#mdp')[0].value);
	$('#motcryptenew')[0].value=calcMD5(alea+$('#mdpactu')[0].value); envoyer('contactform','mdpactu,mdp,mdp2',langue);
}

function develloperDiv(image, iddiv, hmini, hmax){
	var toleranceBorder=0;
	//Corps du tableau
	var divderoule=YAHOO.util.Dom.get(iddiv);
	// On deroule
	if(divderoule.offsetHeight<=hmini+toleranceBorder){
		if(hmax=="100%"){
			var attributes = { 
				height: { to:divderoule.scrollHeight ,  units:"px"} 
			}; 
		}else{
			var attributes = { 
				height: { to: hmax, units:"px"} 
			}; 
		}
		var anim = new YAHOO.util.Anim(divderoule, attributes, 0.5); 
		anim.animate();
		if(image!=""){
			image.src=image.src.substring(0,image.src.length-5)+"h.gif";
		}
	}else{
	// On enroule
		var attributes = { 
			height: { to: hmini, units:"px" } 
		}; 
		var anim = new YAHOO.util.Anim(divderoule, attributes, 0.5); 
		anim.animate();
		if(image!=""){
			image.src=image.src.substring(0,image.src.length-5)+"b.gif";
		}
	}
}

function cacheDiv(id_div){
	
	var attributes = { 
		height: { to: 0, units:"px" } 
	}; 
	var anim = new YAHOO.util.Anim(id_div, attributes, 0.5); 
	anim.animate();

}

function montrerDiv(id_div){
	var divderoule=YAHOO.util.Dom.get(id_div);
	var attributes = { 
		height: { to:divderoule.scrollHeight ,  units:"px"} 
	};
	var anim = new YAHOO.util.Anim(divderoule, attributes, 0.5); 
	anim.animate();
}

/************ CODES PROMOTIONNELS ****************/
function afficherInterfaceCodePromo(id_produit,id_code,lang){
	
	fenetre_code_promo = new YAHOO.widget.Panel("codepromoajout", {
		fixedcenter:true,
		visible:false,
		modal:true,
		zindex:102,
		width:"500px",
		draggable:true
	} );
	var callback = { 
		success : function(oResp) { 

			fenetre_code_promo.setHeader("Ajouter un code promo");
			fenetre_code_promo.setBody(oResp.responseText);
			fenetre_code_promo.render(document.body);
			creerCalDateDouble(1);
			creerCalDateDouble(0);
			fenetre_code_promo.show();
		}, 
		failure : function(o) { 
			fenetre_code_promo.setBody(message_contact_admin);
			fenetre_code_promo.render(document.body);
			fenetre_code_promo.show();
		} 
	};

	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=interfacecodepromo&id_produit="+id_produit+"&id_code="+id_code+"&lang="+lang);

}

function enregistrerCodePromo(idproduit,lang){
	envoyerFormulaire('','ajoutpromo','code_promo, date_debut,date_finmontant_promo','squelettes/actions-ajax.php',lang,function(){
		fenetre_code_promo.hide();
		majTableauCodesPromos(idproduit);
		
	},'');
}

function supprimerCodePromo(id_produit,id_code){
	if(confirm("Etes-vous sûr de vouloir supprimer ce code promotionnel ?")){
		var callback = { 
			success : function(oResp) { 
				majTableauCodesPromos(id_produit);
			}, 
			failure : function(o) { 
				
			} 
		};
	
		var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=suppr_promo&id_code="+id_code);
	}
}

function majTableauCodesPromos(id_produit){
	var callback = { 
		success : function(oResp) { 
			YAHOO.util.Dom.get('codep-'+id_produit).innerHTML=oResp.responseText;
		}, 
		failure : function(o) { 
			
		} 
	};

	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=get_table_promo&id_produit="+id_produit);
}

function calculPrixTotalTousProduits(){
	var prix_total;
	var id_produit;
	var coche_produit=YAHOO.util.Dom.getElementsByClassName('coche-produit');
	for(var i=0;i<coche_produit.length;i++){
		id_produit=coche_produit[i].value;
// 		if(coche_produit[i].checked){
			var duree=YAHOO.util.Dom.get('duree_produit_'+id_produit).value;
			var prix_unitaire=YAHOO.util.Dom.get('prix_produit_'+id_produit).value;
			var nb_mois=YAHOO.util.Dom.get('pour_nb_mois_produit_'+id_produit).value;
			
			if(nb_mois=="0"){
				nb_mois=1;
			}
			
			prix_total=((duree/nb_mois)*prix_unitaire);
// 		}else{
// 			prix_total=0;
// 		}
		
		YAHOO.util.Dom.get('prix_total_'+id_produit).innerHTML=prix_total.toFixed(2)+"&nbsp;&euro;";
		YAHOO.util.Dom.get('prix_total_hidden_'+id_produit).value=prix_total;
	}
	
	
	majTotalPromo();
	majTotalProduit();
	
}

function majTotalPromo(){

	var promos=YAHOO.util.Dom.getElementsByClassName("reduction-commande");
// 	console.log(promos);
	for(var i=0;i<promos.length;i++){
		var id_produit=promos[i].id.replace("promo_","");
		
		var total_reduc=(YAHOO.util.Dom.get("prix_total_hidden_"+id_produit).value*(parseFloat(YAHOO.util.Dom.get("valeur_promo_"+id_produit).value)/100)).toFixed(2);
		
		YAHOO.util.Dom.get("total_reduc_promo_"+id_produit).innerHTML="-&nbsp;"+total_reduc+"&nbsp;&euro;";
		
		YAHOO.util.Dom.get("total_reduction_"+promos[i].value).value=total_reduc;
	}
}

function calculPrixTotalProduit(id_produit,lang){
	var prix_total;
// 	if(YAHOO.util.Dom.get('coche_produit_'+id_produit).checked){
		var duree=YAHOO.util.Dom.get('duree_produit_'+id_produit).value;
		var prix_unitaire=YAHOO.util.Dom.get('prix_produit_'+id_produit).value;
		var nb_mois=YAHOO.util.Dom.get('pour_nb_mois_produit_'+id_produit).value;
		
		if(nb_mois=="0"){
			nb_mois=1;
		}
		
		var nb_commande=YAHOO.util.Dom.get('quantite_'+id_produit).value;
		
		prix_total=(((duree/nb_mois)*prix_unitaire)*nb_commande);
// 	}else{
// 		//Si on decoche on vérifie qu'aucune réduction n'est en cours pour ce produit
// 		var hidden_reduc=YAHOO.util.Dom.get('promo_'+id_produit);
// 		if(hidden_reduc){
// 			var id_reduc=hidden_reduc.value;
// 			supprimerReduction(id_reduc,lang,YAHOO.util.Dom.get("image-reduc-"+id_reduc));
// 			calculPrixTotalProduit(id_produit,lang);
// 			return false;
// 		}else{
// 			prix_total=0;
// 		}
// 	}
	YAHOO.util.Dom.get('prix_total_'+id_produit).innerHTML=prix_total.toFixed(2)+"&nbsp;&euro;";
	YAHOO.util.Dom.get('prix_total_hidden_'+id_produit).value=prix_total;
	
	majTotalPromo();
	majTotalProduit();
	
}



function majTotalProduit(){

	//On ajout les +
	var totaux=YAHOO.util.Dom.getElementsByClassName('total_ligne');
	var total_final=0;
	for(var i=0;i<totaux.length;i++){
		total_final+=parseFloat(totaux[i].value);
	}
	
	//On enleve les réductions
	var reducs=YAHOO.util.Dom.getElementsByClassName('reduction-produit');
	for(var i=0;i<reducs.length;i++){
		total_final-=parseFloat(reducs[i].value);
	}
	
	
	YAHOO.util.Dom.get('produit_total_fnal').innerHTML=total_final.toFixed(2)+"&nbsp;&euro;";
	
	YAHOO.util.Dom.get('produit_total_tva').innerHTML=(total_final*0.196).toFixed(2)+"&nbsp;&euro;";
	
	YAHOO.util.Dom.get('produit_total_ttc').innerHTML=(total_final*1.196).toFixed(2)+"&nbsp;&euro;";
	
	if(total_final==0){
		YAHOO.util.Dom.get('accespaiment').style.display="none";
		YAHOO.util.Dom.get('etapesuivante').style.display="";
	}else{
		YAHOO.util.Dom.get('etapesuivante').style.display="none";
		YAHOO.util.Dom.get('accespaiment').style.display="";
		
	}
}

function roundNumber(num, dec) {
	var result = Math.round( Math.round( num * Math.pow( 10, dec + 1 ) ) / Math.pow( 10, 1 ) ) / Math.pow(10,dec);
	return result;
}

function ajouterCodePromoCommande(lang){
	var code_promo=YAHOO.util.Dom.get('code_promo_saisi').value;
	var produits_sel="";
	var coche_produit=YAHOO.util.Dom.getElementsByClassName('coche-produit');
	for(var i=0;i<coche_produit.length;i++){
// 		if(coche_produit[i].checked){
		produits_sel+=coche_produit[i].value+";";
// 		}
	}
	var callback = { 
		success : function(oResp) {
			var reponse=oResp.responseText;
			
			//Si bon code
			if(YAHOO.lang.JSON.isValid(reponse) && reponse.length>1){
				var resp_json=YAHOO.lang.JSON.parse(reponse);
				var inputhidden=YAHOO.util.Dom.get("reduction-"+resp_json.id_promotion);
				if(!inputhidden){
				
					var inputhiddenpromo=YAHOO.util.Dom.get("promo_"+resp_json.id_produit);
				
					if(!inputhiddenpromo){
						//Si bon code
						
						var tableau_code=YAHOO.util.Dom.get('zone-code-promo');
						var ligne= tableau_code.insertRow(tableau_code.rows.length);
						ligne.className='fond-produit-gris';
						
						var cel1=document.createElement("td");
						cel1.style.width="20%";
						
						var prix_prod_origne=parseFloat(YAHOO.util.Dom.get("prix_total_hidden_"+resp_json.id_produit).value);
						var total_reduc=(prix_prod_origne*(parseFloat(resp_json.reduction)/100)).toFixed(2);
						
						cel1.innerHTML="<img class='img-align-middle pointer' id='image-reduc-"+resp_json.id_promotion+"' onclick=\"supprimerReduction('"+resp_json.id_promotion+"','"+lang+"',this)\" src='squelettes/includes/images/bt-supprimer.gif' alt=\""+eval("traduction.langues.utilitaire.suppr_code_promo."+lang)+"\" title=\""+eval("traduction.langues.utilitaire.suppr_code_promo."+lang)+"\"/>&nbsp;"+resp_json.code_promotion+"<input type='hidden' value='"+total_reduc+"' class='reduction-produit' id='total_reduction_"+resp_json.id_promotion+"'/><input type='hidden' value='"+resp_json.id_promotion+"' id='reduction-"+resp_json.id_promotion+"' name='reduction-"+resp_json.id_promotion+"'/><input type='hidden' id='promo_"+resp_json.id_produit+"' class='reduction-commande' name='promo_"+resp_json.id_produit+"' value='"+resp_json.id_promotion+"'/><input type='hidden' id='valeur_promo_"+resp_json.id_produit+"' name='valeur_promo_"+resp_json.id_produit+"' value='"+resp_json.reduction+"'/>";
						
						var cel2=document.createElement("td");
						cel2.style.width="40%";
						cel2.innerHTML=resp_json.descriptif;
						
						var cel3=document.createElement("td");
						cel3.style.width="15%";
						cel3.innerHTML="- "+resp_json.reduction+"&nbsp;%";
						cel3.style.textAlign="center";
						
						
						
						
						var cel4=document.createElement("td");
						cel4.style.width="15%";
						cel4.style.textAlign="right";
						cel4.id="total_reduc_promo_"+resp_json.id_produit;
						cel4.innerHTML="-&nbsp;"+total_reduc+"&nbsp;&euro;";
						
						ligne.appendChild(cel1);
						ligne.appendChild(cel2);
						ligne.appendChild(cel3);
						ligne.appendChild(cel4);
						
						develloperDivPromo('','div-promo',0,"100%",1);
						majTotalProduit();
						
						YAHOO.util.Dom.get('code_promo_saisi').value="";
					}else{
						alert(eval("traduction.langues.utilitaire.produitdejapromo."+lang));
					}
				}else{
					alert(eval("traduction.langues.utilitaire.codedejautilise."+lang));
				}
			}else{
				if(reponse=="2"){
					//Si code inéxistant
					alert(eval("traduction.langues.formulaire.codeinexistant."+lang));
				}else{
					if(reponse=="3"){
						//Si bon code mais pas bon produit
						alert(eval("traduction.langues.formulaire.codepasbonproduit."+lang));
					}
				}
			}
		}, 
		failure : function(o) { 
			
		} 
	};
	
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=code_is_active&code="+code_promo+"&produits_sel="+produits_sel);
}


function develloperDivPromo(image, iddiv, hmini, hmax, deroule){

	//Corps du tableau
	var divderoule=YAHOO.util.Dom.get(iddiv);
	
	// On deroule
	if(deroule==1){
		if(hmax=="100%"){
			var attributes = { 
				height: { to:divderoule.scrollHeight ,  units:"px"} 
			}; 
		}else{
			var attributes = { 
				height: { to: hmax, units:"px"} 
			}; 
		}
		var anim = new YAHOO.util.Anim(divderoule, attributes, 0.5); 
		anim.animate();
		if(image!=""){
			image.src=image.src.substring(0,image.src.length-5)+"h.gif";
		}
	}else{
		// On enroule
		var attributes = { 
			height: { to: (divderoule.offsetHeight-hmini), units:"px" } 
		}; 
		var anim = new YAHOO.util.Anim(divderoule, attributes, 0.5); 
		anim.animate();
		if(image!=""){
			image.src=image.src.substring(0,image.src.length-5)+"b.gif";
		}
	}
}


function supprimerReduction(id_reduc,lang, image){
	if(confirm(eval("traduction.langues.utilitaire.supprcodereduc."+lang))){
		var ligne=YAHOO.util.Dom.getAncestorByTagName(image,"tr");
		var hautligne=ligne.offsetHeight;
		ligne.parentNode.removeChild(ligne);
		develloperDivPromo('','div-promo',hautligne,"100%",0);
		majTotalProduit();
	}
}


function supprimerProduit(id_produit,lang, image){
	if(confirm(eval("traduction.langues.utilitaire.supprproduit."+lang))){
	
		
		var callback = { 
			success : function(oResp) {
				var ligne=YAHOO.util.Dom.getAncestorByTagName(image,"tr");
				var hautligne=ligne.offsetHeight;
				ligne.parentNode.removeChild(ligne);
				majTotalProduit();
			}, 
			failure : function(oResp) { 
			} 
		}; 
		var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=suppr_produit&id_article="+id_produit);
	}
}


function garde_texte_ajax()
{
	var param=$("#contactform").serialize();
	$.ajax({
		async	:false,
		url	:"squelettes/actions-ajax.php",
		type	:"POST",
		data	:"action=garde_texte_article&"+param,
		success : function(oResp) {
		}
	});
// 		YAHOO.util.Connect.setForm("contactform", false);
// 		var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=garde_texte_article");
}


function valideBoutiqueMygraal(){
	YAHOO.util.Connect.setForm("boutiquemygraal", false);
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=enregistrer_boutique_1");
}

function infoBulleBoutique(id_article){

	var callback = { 
		success : function(oResp) {
			var json=YAHOO.lang.JSON.parse(oResp.responseText);
			
			if(typeof(boitesavoirplus)!="object"){
				boitesavoirplus=new YAHOO.widget.Panel("detailproduit",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false,
					width:"450px"
					}  
				); 
				
			}
			boitesavoirplus.setHeader(json.titre); 
			boitesavoirplus.setBody(json.corps);
			boitesavoirplus.render(document.body);
			boitesavoirplus.show();
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=detail_produit&id_article="+id_article);

	
}

function ajouterPanier(id_article){
	var callback = { 
		success : function(oResp) {
			var json=YAHOO.lang.JSON.parse(oResp.responseText);
			
			if(typeof(boitesajoutarticle)!="object"){
				boitesajoutarticle=new YAHOO.widget.Panel("ajoutarticle",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false,
					width:"300px"
					}  
				); 
				
			}
			boitesajoutarticle.setHeader(json.titre); 
			boitesajoutarticle.setBody(json.corps);
			boitesajoutarticle.render(document.body);
			boitesajoutarticle.show();
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=ajout_produit&id_article="+id_article);
}

function doitEtreEnregistre(){
	var callback = { 
		success : function(oResp) {
			var json=YAHOO.lang.JSON.parse(oResp.responseText);
			
			if(typeof(boitesdoitetreenreg)!="object"){
				boitesdoitetreenreg=new YAHOO.widget.Panel("etrenreg",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false,
					width:"300px"
					}  
				); 
				
			}
			boitesdoitetreenreg.setHeader(json.titre); 
			boitesdoitetreenreg.setBody(json.corps);
			boitesdoitetreenreg.render(document.body);
			boitesdoitetreenreg.show();
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=doit_etre_enreg");
}

function supprimerCommentaire(id_commentaire,lang){
	if(confirm(eval("traduction.langues.utilitaire.supprcommentaire."+lang))){
		var callback = { 
			success : function(oResp) {
				window.location.reload();
			}, 
			failure : function(oResp) { 
			} 
		}; 
		var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=suppr_commentaire&id_commentaire="+id_commentaire);
	}
}


function open_ext_link()
{
	var current_domain = document.domain;
	if (!current_domain || !document.getElementsByTagName) return;
	var hrefels = new Array;
	var hrefelslen = 0;
	var hrefinner = '';
	hrefels = document.getElementsByTagName("a");
	hrefelslen = hrefels.length;
	for (var i = 0; i < hrefelslen; i++) {
		hrefinner = hrefels[i].innerHTML.toLowerCase();
		if ( ( hrefels[i].href.indexOf(current_domain) >= 0 ) || (hrefels[i].href.indexOf('javascript:')) >=0 ||  hrefels[i].href=="") {
			continue;
		}
		hrefels[i].target="_blank";
	}
}

function editeurHtmlTextarea(id_textarea){

	var myConfig = { 
// 		height: '300px', 
// 		width: '542px', 
// 		focusAtStart: true,
		handleSubmit:false,
		toolbar:{buttons: [ 
		{ group: 'textstyle', label: 'Style', 
			buttons: [ 
			{ type: 'push', label: 'Gras', value: 'bold' }, 
			{ type: 'push', label: 'Italique', value: 'italic' }, 
			{ type: 'push', label: 'Souligne', value: 'underline' }, 
			{ type: 'separator' }, 
			{ type: 'color', label: 'Couleur du texte', value: 'forecolor', disabled: true }, 
			{ type: 'color', label: 'Surligne', value: 'backcolor', disabled: true } 
			] 
		}, 
		{ type: 'separator' }, 
		{ group: 'indentlist', label: 'Listes', 
			buttons: [ 
			{ type: 'push', label: 'Liste à puce', value: 'insertunorderedlist' }, 
			{ type: 'push', label: 'Liste numéraire', value: 'insertorderedlist' } 
			] 
		}, 
		{ type: 'separator' }, 
		{ group: 'insertitem', label: 'Insertion', 
			buttons: [ 
			{ type: 'push', label: 'Lien HTML', value: 'createlink', disabled: true }
			] 
		} 
		]}
	}; 
		
	//Now let's load the SimpleEditor.. 
	var editeurAide = new YAHOO.widget.SimpleEditor(id_textarea, myConfig);
	editeurAide.render();

}


function getTextSelectionne(id) {
	
	if(navigator.appName.indexOf('Internet Explorer')!=-1)
	{
		var content=document.getElementById(id);
		content.focus();
		var selection=document.selection.createRange();
		
		var str=selection;
		objet_texte_selection['debut']=0;
		objet_texte_selection['fin']=0;
	}
	else
	{
		var content=document.getElementById(id); //'contenu:id de mon textarea
		var debut=content.selectionStart;
		var fin=content.selectionEnd;
		content_length=content.value.length;
		var str=content.value.substring(debut,fin);
		objet_texte_selection['debut']=content.selectionStart;
		objet_texte_selection['fin']=content.selectionEnd;
	}
	objet_texte_selection['texte']=str;
	
	return objet_texte_selection;
}

function ajouteTypo(id_objet, debut, fin){
	var champ=YAHOO.util.Dom.get(id_objet);
	barre_raccourci(debut,fin,champ);
}

function ajouteLien(id_objet, lang){
	var champ=YAHOO.util.Dom.get(id_objet);
	barre_demande('[','->',']',eval("traduction.langues.utilitaire.textajoutlien."+lang),champ);
}


function ajouteCaractere(id_objet,caractere){
	var champ=YAHOO.util.Dom.get(id_objet);
	barre_inserer(caractere,champ)
}

function ajouteLienOLD(id_objet,lang){

	getTextSelectionne(id_objet);
	if(typeof(boitesajoutlien)!="object"){
		boitesajoutlien=new YAHOO.widget.Panel("ajoutlien",   
			{ 
			fixedcenter:true,  
			close:true,  
			draggable:true,  
			zindex:4, 
			modal:true, 
			visible:false,
			width:"450px"
			}  
		); 
		
	}
	boitesajoutlien.setHeader(eval("traduction.langues.utilitaire.titreajoutlien."+lang)); 
	boitesajoutlien.setBody("<p class='petit'>"+eval("traduction.langues.utilitaire.textajoutlien."+lang)+"</p><br/><input type='text' id='url_lien'/><br class='nettoyeur'/><div class='bouton-valide'><p><a onClick='ajouteLien2(\""+id_objet+"\")'>"+eval("traduction.langues.utilitaire.valider."+lang)+"</a></p></div><div class='bouton-retour'><p><a onClick='boitesajoutlien.hide()'>"+eval("traduction.langues.utilitaire.annuler."+lang)+"</a></p></div><br class='nettoyeur'/>");
	boitesajoutlien.render(document.body);
	boitesajoutlien.show();

}

function ajouteLien2(id_objet){
	var inserer=YAHOO.util.Dom.get('url_lien').value;
	if(inserer!=""){
		ajouteTypo(id_objet, '[', '->'+inserer+']');
	}
	boitesajoutlien.hide();
}


function montre_site_de_vente(){
	var statut=YAHOO.util.Dom.get('statut_produit').value;
	if(statut=="5"){
		montrerDiv('site_de_vente');
	}else{
		cacheDiv('site_de_vente');
		YAHOO.util.Dom.get('libelle_vente').value='';
		YAHOO.util.Dom.get('url_vente').value='';
	}
}

function lireMessage(id_message, image){
	if(image.src.search("moins.png")!=-1){
		cacheDiv("message-"+id_message);
		image.src='squelettes/includes/images/plus.png';
	}else{
		montrerDiv("message-"+id_message);
		image.src='squelettes/includes/images/moins.png';
	}
	var imglu=YAHOO.util.Dom.get('imglu-'+id_message);
	if(imglu){
		imglu.src='squelettes/includes/images/vu.gif';
	}
	
	var callback = { 
		success : function(oResp) {
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=lire_message&id_message="+id_message);
}


function ouvrirEspaceSecurise(id_espace, id_question, lang){

	var callback = { 
		success : function(oResp) {

			if(typeof(demande_mdp)!="object"){
				demande_mdp=new YAHOO.widget.Panel("motdepasseespace",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false,
					width:"450px"
					}  
				);
			}
			
			demande_mdp.setHeader(eval("traduction.langues.utilitaire.titremdpconfidentiel."+lang)); 
			demande_mdp.setBody(oResp.responseText);
			demande_mdp.render(document.body);
			demande_mdp.show();
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=entrer_espace_conf&question="+id_question+"&id_espace="+id_espace+"&var_mode=recalcul");
}

function valideMdpConfidentiel(url_retour){
	var expr=/[0-9a-fA-F]{32}/;
	var pass="";
	if(expr.test(YAHOO.util.Dom.get("pass_phrase").value)){
		pass=YAHOO.util.Dom.get("pass_phrase").value;
	}else{
		pass=MD5(YAHOO.util.Dom.get("pass_phrase").value);
	}
	document.location.href=url_retour+",crypt,"+MD5(YAHOO.util.Dom.get("mot_de_passe_espace").value)+",phrase,"+pass;
}


//Retourne le HTML des url externes d'un concepteur
function getUrlExternesInfo(id_auteur){
	var callback = { 
		success : function(oResp) {
			YAHOO.util.Dom.get('liens_externs_html').innerHTML=oResp.responseText;
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=get_url_info&id_auteur="+id_auteur);
}

function zoomImage(fichier, titre){

	var callback = { 
		success : function(oResp) {
			if(typeof(zoom_images)!="object"){
				zoom_images=new YAHOO.widget.Panel("zoomimage",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false 
					}  
				); 
				
			}
			zoom_images.setHeader(titre);
			zoom_images.setBody("<div id='zone-zoom'>"+oResp.responseText+"</div>");
			zoom_images.render(document.body);
			
			zoom_images.show();
			
			var div_zoom=YAHOO.util.Dom.get('zone-zoom');
			var max_height=570;
			var max_width=800;
			
			if(div_zoom.offsetHeight>max_height){
				div_zoom.style.height=max_height+"px";
			}
			if(div_zoom.offsetWidth>max_width){
				div_zoom.style.width=max_width+"px";
			}
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=resize_img&fichier="+fichier+"&titre="+titre+"&width=800&height=600");
	
	
	
	
}

function afficherConflitsMiseAvant(){
	var callback = { 
		success : function(oResp) {
			if(typeof(mise_avant_conflit)!="object"){
				mise_avant_conflit=new YAHOO.widget.Panel("miseavant",   
					{ 
					fixedcenter:true,
					close:true,
					draggable:true,
					width:"550px",
					zindex:4, 
					modal:true, 
					visible:false 
					}  
				); 
				
			}
			mise_avant_conflit.setHeader("Conflits sur 6 mois"); 
			mise_avant_conflit.setBody(oResp.responseText);
			mise_avant_conflit.render(document.body);
			mise_avant_conflit.show();
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=get_texte_conflit_avant");

}

function majNbConflitMiseAvant(){
	var callback = { 
		success : function(oResp) {
			var nb=oResp.responseText;
			if(nb!="0"){
				YAHOO.util.Dom.get('nb_conflits_mise_en_avant').innerHTML=nb;
				YAHOO.util.Dom.get('btaffichconflit').style.display="";
			}else{
				YAHOO.util.Dom.get('btaffichconflit').style.display="none";
			}
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=get_nb_conflit_avant");


}

//Creation du table des mise en avant
function creerTableauMiseEnAvant(id_zone,mot_clef_type,archive){ 
	
	var formatValide = function(elCell, oRecord, oColumn, sData) { 
		
		var contenu="<input type=\"checkbox\" value=\"1\" onclick=\"chgtEtatMiseAvant(this,'"+oRecord.getData("id_evt")+"')\" "
		
		if(oRecord.getData('valide')=="1"){
			contenu+=" checked=\"checked\" ";
		}
		contenu+="/>"
		elCell.innerHTML = contenu;
		
        }; 
	
	if(mot_clef_type=="mise_avant_page_accueil"){
		var myColumnDefs = [
		{key:"date_debut", label:"Date de debut", sortable:true, resizeable:true, formatter:YAHOO.widget.DataTable.formatDate, editor: new YAHOO.widget.DateCellEditor(), dateOptions:{
			format:"DD/MM/YYYY"
		}},
		{key:"date_fin", label:"Date de fin",  resizeable:true, formatter:YAHOO.widget.DataTable.formatDate, editor: new YAHOO.widget.DateCellEditor(), dateOptions:{
			format:"DD/MM/YYYY"
		}},
		{key:"auteur", label:"Membre", sortable:true, resizeable:true}, 
		{key:"titre", label:"Met en avant", sortable:true, resizeable:true},
		{key:"valide", label:"Valide", sortable:true, resizeable:true, formatter:formatValide}
		]; 
	}else{
		var myColumnDefs = [
		{key:"categorie", label:"Thématique", sortable:true, resizeable:true},
		{key:"date_debut", label:"Date de debut", sortable:true, resizeable:true, formatter:YAHOO.widget.DataTable.formatDate, editor: new YAHOO.widget.DateCellEditor(), dateOptions:{
			format:"DD/MM/YYYY"
		}},
		{key:"date_fin", label:"Date de fin",  resizeable:true, formatter:YAHOO.widget.DataTable.formatDate, editor: new YAHOO.widget.DateCellEditor(), dateOptions:{
			format:"DD/MM/YYYY"
		}},
		{key:"auteur", label:"Membre", sortable:true, resizeable:true}, 
		{key:"titre", label:"Met en avant", sortable:true, resizeable:true},
		{key:"valide", label:"Valide", sortable:true, resizeable:true, formatter:formatValide}
		]; 
	}

		//Requete AJAX pour generé le text
  

		
	       var myDataSource =new YAHOO.util.DataSource("spip.php?page=requete-to-texte-mise-en-avant&var_mode=recalcul&archive="+archive+"&type="+mot_clef_type+"&var_mode=recalcul",{
			responseType: YAHOO.util.DataSource.TYPE_JSON
			});

	        myDataSource.responseSchema = { 
	           	resultsList: 'records',
			fields:["titre","id_article","auteur","categorie","valide","id_evt",{key:"date_debut",parser:"date"},{key:"date_fin",parser:"date"}]
	        }; 



	var pagination = new YAHOO.widget.Paginator({ 
	    rowsPerPage        : 10, 
	rowsPerPageOptions : [10,20,40,80],
	     template       : "<table class='pag-deuli'><tr><td>{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} <span class='montrer-par'> Montrer {RowsPerPageDropdown} lignes par page <span></td> </tr></table>"
	}); 
	var request='';
	
	if(typeof(requeteinit)=="undefined"){
		requeteinit="";
	}
	var configurationTable = { 
	   	initialRequest         : request+requeteinit, 
		paginator              : pagination,
		draggableColumns	:true,
		scrollable		:true,
		sortedBy		:{key:"date_debut",dir:"desc"}
	}; 

		//YAHOO.widget.DataTable.MSG_EMPTY="Aucun devis pour ce prospect.";
		//YAHOO.widget.DataTable.MSG_ERROR="Erreur lors de la recherche des devis. Si le problème persiste veuillez contacter l'administrateur.";
		//YAHOO.widget.DataTable.MSG_LOADING="Chargement des devis...";	
 	
  tableaumiseavant = new YAHOO.widget.DataTable(id_zone,myColumnDefs,myDataSource,configurationTable);
// 	 tableaumiseavant.sortColumn();

 	var highlightEditableCell = function(oArgs) { 
	            var elCell = oArgs.target; 
	            if(YAHOO.util.Dom.hasClass(elCell, "yui-dt-editable")) { 
	                this.highlightCell(elCell); 
	            } 
	        }; 
	        
	var saveDate = function(oArgs){
		
		var nouvelledate=oArgs.newData;
		var elCell = oArgs.target;
		
	
		var cle_col=oArgs.editor.getColumn().getKey();
		
		var ligne=oArgs.editor.getRecord();
		
		
		var mois=ligne.getData("date_debut").getMonth()+1;
		mois+="";
		if(mois.length<2){
			mois="0"+mois;
		}
		var jour=ligne.getData("date_debut").getDate()+"";
		if(jour.length<2){
			jour="0"+jour;
		}
		var date_debut=jour+"/"+mois+"/"+ligne.getData("date_debut").getFullYear();
		
		
		var mois=ligne.getData("date_fin").getMonth()+1;
		mois+="";
		if(mois.length<2){
			mois="0"+mois;
		}
		var jour=ligne.getData("date_fin").getDate()+"";
		if(jour.length<2){
			jour="0"+jour;
		}
		var date_fin=jour+"/"+mois+"/"+ligne.getData("date_fin").getFullYear();
		
		
		
		var callback = { 
			success : function(oResp) {
				majNbConflitMiseAvant();
			}, 
			failure : function(oResp) { 
			} 
		};
		var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=cht_date_evt&id_evt="+ligne.getData("id_evt")+"&date_debut="+date_debut+"&date_fin="+date_fin);
		
		
		
	};
	
	
	        tableaumiseavant.subscribe("cellMouseoverEvent", highlightEditableCell);
	        tableaumiseavant.subscribe("cellMouseoutEvent", tableaumiseavant.onEventUnhighlightCell); 
	        tableaumiseavant.subscribe("cellClickEvent", tableaumiseavant.onEventShowCellEditor);
		tableaumiseavant.subscribe("editorSaveEvent", saveDate); 

}

function chgtEtatMiseAvant(cac,id_evt){
	var etat=0;
	if(cac.checked){
		etat=1;
	}
	if(confirm("Etes-vous sûr de vouloir changer l'état de cette mise en avant ?")){
		var callback = { 
			success : function(oResp) {
				majNbConflitMiseAvant();
			}, 
			failure : function(oResp) { 
			} 
		};
		var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=cht_etat_evt&id_evt="+id_evt+"&etat="+etat);
	}
}

function enregitrerPanier(lang){
	langue=lang;
	var callback = { 
		success : function(oResp) {
			if(oResp.responseText!="1"){
				switch(oResp.responseText){
					//Pack concepteur
					case "2":
						alert(eval("traduction.langues.utilitaire.pack_concepteur."+langue));
					break;
				}
				
			}else{
				envoyerFormulaire('spip.php?page=redirection-paiement','boutiquemygraal','','squelettes/actions-ajax.php',lang,'','');
			}
		}, 
		failure : function(oResp) { 
		} 
	}; 
	YAHOO.util.Connect.setForm("boutiquemygraal");
	var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=verif_panier");
	
	
	
}

function afficherCharte(lang){

	var callback = { 
		success : function(oResp) {
			
			
			if(typeof(boitescharte)!="object"){
				boitescharte=new YAHOO.widget.Panel("boitescharteobj",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false,
					width:"700px"
					}  
				); 
				
			}
			boitescharte.setHeader(eval("traduction.langues.utilitaire.chartemygraal."+lang)); 
			boitescharte.setBody("<div class='contenu-popup contenu-charte'>"+oResp.responseText+"<br/><div class='bouton-retour'><p><a onClick='boitescharte.hide();'>"+eval("traduction.langues.utilitaire.fermer."+lang)+"</a></p></div><br class='nettoyeur'/>");
			boitescharte.render(document.body);
			boitescharte.show();
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip=afficher_charte");

	
}

function afficherAideInscription(lang,nomarticle){

	var callback = { 
		success : function(oResp) {
			
			
			if(typeof(boitesaide)!="object"){
				boitesaide=new YAHOO.widget.Panel("boitesaideobj",   
					{ 
					fixedcenter:true,  
					close:true,  
					draggable:true,  
					zindex:4, 
					modal:true, 
					visible:false,
					width:"700px"
					}  
				); 
				
			}
			boitesaide.setHeader(eval("traduction.langues.utilitaire.aideinscription."+lang)); 
			boitesaide.setBody("<div class='contenu-popup contenu-charte'>"+oResp.responseText+"<br/><div class='bouton-retour'><p><a onClick='boitesaide.hide();'>"+eval("traduction.langues.utilitaire.fermer."+lang)+"</a></p></div><br class='nettoyeur'/>");
			boitesaide.render(document.body);
			boitesaide.show();
			
		}, 
		failure : function(oResp) { 
		} 
	}; 
	var conn = YAHOO.util.Connect.asyncRequest("POST", "spip.php?page=actions-ajax-spip", callback,"actionspip="+nomarticle);

	
}

function showAddress(address) {
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(
		address,
		function(point) {
			if (point){
				var map = new GMap2(document.getElementById("map_canvas"));
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
				marker.openInfoWindowHtml(address);
				YAHOO.util.Dom.get("map_canvas").style.width="100%";
				YAHOO.util.Dom.get("map_canvas").style.height="350px";
			}else{
				return false;
			}
		}
	);
}
	
function marquerUtilise(id_produit_commande){
	if(confirm("Etes-vous sûr de vouloir marquer ce produit comme utilisé ?")){
		var callback = { 
			success : function(oResp) {
				window.location.reload();
				
			}, 
			failure : function(oResp) { 
			} 
		}; 
		var conn = YAHOO.util.Connect.asyncRequest("POST", "squelettes/actions-ajax.php", callback,"action=marque_utilise&id_produit_commande="+id_produit_commande);
	}
}/*
 * jQuery 1.2.3 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
 * $Rev: 4663 $
 */
(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else
selector=[];}}else
return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else
for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else
ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else
for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})();/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-12-20 08:43:48 -0600 (Thu, 20 Dec 2007) $
 * $Rev: 4257 $
 *
 * Version: 1.2
 *
 * Requires: jQuery 1.2+
 */
(function($){$.dimensions={version:'1.2'};$.each(['Height','Width'],function(i,name){$.fn['inner'+name]=function(){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';return this.is(':visible')?this[0]['client'+name]:num(this,name.toLowerCase())+num(this,'padding'+torl)+num(this,'padding'+borr);};$.fn['outer'+name]=function(options){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';options=$.extend({margin:false},options||{});var val=this.is(':visible')?this[0]['offset'+name]:num(this,name.toLowerCase())+num(this,'border'+torl+'Width')+num(this,'border'+borr+'Width')+num(this,'padding'+torl)+num(this,'padding'+borr);return val+(options.margin?(num(this,'margin'+torl)+num(this,'margin'+borr)):0);};});$.each(['Left','Top'],function(i,name){$.fn['scroll'+name]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=='Left'?val:$(window)['scrollLeft'](),name=='Top'?val:$(window)['scrollTop']()):this['scroll'+name]=val;}):this[0]==window||this[0]==document?self[(name=='Left'?'pageXOffset':'pageYOffset')]||$.boxModel&&document.documentElement['scroll'+name]||document.body['scroll'+name]:this[0]['scroll'+name];};});$.fn.extend({position:function(){var left=0,top=0,elem=this[0],offset,parentOffset,offsetParent,results;if(elem){offsetParent=this.offsetParent();offset=this.offset();parentOffset=offsetParent.offset();offset.top-=num(elem,'marginTop');offset.left-=num(elem,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return $(offsetParent);}});function num(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};})(jQuery);
$(document).ready(function(){
	$.getJSON("squelettes/includes/messages.json", function(json){
		traduction=json;	
	});
	
	ajouterAidescontextuelles();
// 	Pour linux on met les interlignes à la bonne taille
// 	if ( navigator.userAgent.indexOf('Linux') != -1 ){
//  		 document.body.style.lineHeight = "100%";

// 	}
	
	//On ajout le target=blank aux liens externes
	open_ext_link();
});

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.6.0",build:"1321"});/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.6.0",build:"1321"});(function(){var B=YAHOO.util,F=YAHOO.lang,L,J,K={},G={},N=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,M=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,H=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var O=function(Q){if(!E.HYPHEN.test(Q)){return Q;}if(K[Q]){return K[Q];}var R=Q;while(E.HYPHEN.exec(R)){R=R.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}K[Q]=R;return R;};var P=function(R){var Q=G[R];if(!Q){Q=new RegExp("(?:^|\\s+)"+R+"(?:\\s+|$)");G[R]=Q;}return Q;};if(N.defaultView&&N.defaultView.getComputedStyle){L=function(Q,T){var S=null;if(T=="float"){T="cssFloat";}var R=Q.ownerDocument.defaultView.getComputedStyle(Q,"");if(R){S=R[O(T)];}return Q.style[T]||S;};}else{if(N.documentElement.currentStyle&&H){L=function(Q,S){switch(O(S)){case"opacity":var U=100;try{U=Q.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(T){try{U=Q.filters("alpha").opacity;}catch(T){}}return U/100;case"float":S="styleFloat";default:var R=Q.currentStyle?Q.currentStyle[S]:null;return(Q.style[S]||R);}};}else{L=function(Q,R){return Q.style[R];};}}if(H){J=function(Q,R,S){switch(R){case"opacity":if(F.isString(Q.style.filter)){Q.style.filter="alpha(opacity="+S*100+")";if(!Q.currentStyle||!Q.currentStyle.hasLayout){Q.style.zoom=1;}}break;case"float":R="styleFloat";default:Q.style[R]=S;}};}else{J=function(Q,R,S){if(R=="float"){R="cssFloat";}Q.style[R]=S;};}var D=function(Q,R){return Q&&Q.nodeType==1&&(!R||R(Q));};YAHOO.util.Dom={get:function(S){if(S){if(S.nodeType||S.item){return S;}if(typeof S==="string"){return N.getElementById(S);}if("length" in S){var T=[];for(var R=0,Q=S.length;R<Q;++R){T[T.length]=B.Dom.get(S[R]);}return T;}return S;}return null;},getStyle:function(Q,S){S=O(S);var R=function(T){return L(T,S);};return B.Dom.batch(Q,R,B.Dom,true);},setStyle:function(Q,S,T){S=O(S);var R=function(U){J(U,S,T);};B.Dom.batch(Q,R,B.Dom,true);},getXY:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}return I(S);};return B.Dom.batch(Q,R,B.Dom,true);},getX:function(Q){var R=function(S){return B.Dom.getXY(S)[0];};return B.Dom.batch(Q,R,B.Dom,true);},getY:function(Q){var R=function(S){return B.Dom.getXY(S)[1];};return B.Dom.batch(Q,R,B.Dom,true);},setXY:function(Q,T,S){var R=function(W){var V=this.getStyle(W,"position");if(V=="static"){this.setStyle(W,"position","relative");V="relative";}var Y=this.getXY(W);if(Y===false){return false;}var X=[parseInt(this.getStyle(W,"left"),10),parseInt(this.getStyle(W,"top"),10)];if(isNaN(X[0])){X[0]=(V=="relative")?0:W.offsetLeft;}if(isNaN(X[1])){X[1]=(V=="relative")?0:W.offsetTop;}if(T[0]!==null){W.style.left=T[0]-Y[0]+X[0]+"px";}if(T[1]!==null){W.style.top=T[1]-Y[1]+X[1]+"px";}if(!S){var U=this.getXY(W);if((T[0]!==null&&U[0]!=T[0])||(T[1]!==null&&U[1]!=T[1])){this.setXY(W,T,true);}}};B.Dom.batch(Q,R,B.Dom,true);},setX:function(R,Q){B.Dom.setXY(R,[Q,null]);},setY:function(Q,R){B.Dom.setXY(Q,[null,R]);},getRegion:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}var T=B.Region.getRegion(S);return T;};return B.Dom.batch(Q,R,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(U,Y,V,W){U=F.trim(U);Y=Y||"*";V=(V)?B.Dom.get(V):null||N;if(!V){return[];}var R=[],Q=V.getElementsByTagName(Y),X=P(U);for(var S=0,T=Q.length;S<T;++S){if(X.test(Q[S].className)){R[R.length]=Q[S];if(W){W.call(Q[S],Q[S]);}}}return R;},hasClass:function(S,R){var Q=P(R);var T=function(U){return Q.test(U.className);};return B.Dom.batch(S,T,B.Dom,true);},addClass:function(R,Q){var S=function(T){if(this.hasClass(T,Q)){return false;}T.className=F.trim([T.className,Q].join(" "));return true;};return B.Dom.batch(R,S,B.Dom,true);},removeClass:function(S,R){var Q=P(R);var T=function(W){var V=false,X=W.className;if(R&&X&&this.hasClass(W,R)){W.className=X.replace(Q," ");if(this.hasClass(W,R)){this.removeClass(W,R);}W.className=F.trim(W.className);if(W.className===""){var U=(W.hasAttribute)?"class":"className";W.removeAttribute(U);}V=true;}return V;};return B.Dom.batch(S,T,B.Dom,true);},replaceClass:function(T,R,Q){if(!Q||R===Q){return false;}var S=P(R);var U=function(V){if(!this.hasClass(V,R)){this.addClass(V,Q);return true;}V.className=V.className.replace(S," "+Q+" ");if(this.hasClass(V,R)){this.removeClass(V,R);}V.className=F.trim(V.className);return true;};return B.Dom.batch(T,U,B.Dom,true);},generateId:function(Q,S){S=S||"yui-gen";var R=function(T){if(T&&T.id){return T.id;}var U=S+YAHOO.env._id_counter++;if(T){T.id=U;}return U;};return B.Dom.batch(Q,R,B.Dom,true)||R.apply(B.Dom,arguments);},isAncestor:function(R,S){R=B.Dom.get(R);S=B.Dom.get(S);var Q=false;if((R&&S)&&(R.nodeType&&S.nodeType)){if(R.contains&&R!==S){Q=R.contains(S);}else{if(R.compareDocumentPosition){Q=!!(R.compareDocumentPosition(S)&16);}}}else{}return Q;},inDocument:function(Q){return this.isAncestor(N.documentElement,Q);},getElementsBy:function(X,R,S,U){R=R||"*";S=(S)?B.Dom.get(S):null||N;if(!S){return[];}var T=[],W=S.getElementsByTagName(R);for(var V=0,Q=W.length;V<Q;++V){if(X(W[V])){T[T.length]=W[V];if(U){U(W[V]);}}}return T;},batch:function(U,X,W,S){U=(U&&(U.tagName||U.item))?U:B.Dom.get(U);if(!U||!X){return false;}var T=(S)?W:window;if(U.tagName||U.length===undefined){return X.call(T,U,W);}var V=[];for(var R=0,Q=U.length;R<Q;++R){V[V.length]=X.call(T,U[R],W);}return V;},getDocumentHeight:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollHeight:N.documentElement.scrollHeight;var Q=Math.max(R,B.Dom.getViewportHeight());return Q;},getDocumentWidth:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollWidth:N.documentElement.scrollWidth;var Q=Math.max(R,B.Dom.getViewportWidth());return Q;},getViewportHeight:function(){var Q=self.innerHeight;
var R=N.compatMode;if((R||H)&&!C){Q=(R=="CSS1Compat")?N.documentElement.clientHeight:N.body.clientHeight;}return Q;},getViewportWidth:function(){var Q=self.innerWidth;var R=N.compatMode;if(R||H){Q=(R=="CSS1Compat")?N.documentElement.clientWidth:N.body.clientWidth;}return Q;},getAncestorBy:function(Q,R){while((Q=Q.parentNode)){if(D(Q,R)){return Q;}}return null;},getAncestorByClassName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return B.Dom.hasClass(T,Q);};return B.Dom.getAncestorBy(R,S);},getAncestorByTagName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return T.tagName&&T.tagName.toUpperCase()==Q.toUpperCase();};return B.Dom.getAncestorBy(R,S);},getPreviousSiblingBy:function(Q,R){while(Q){Q=Q.previousSibling;if(D(Q,R)){return Q;}}return null;},getPreviousSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getPreviousSiblingBy(Q);},getNextSiblingBy:function(Q,R){while(Q){Q=Q.nextSibling;if(D(Q,R)){return Q;}}return null;},getNextSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getNextSiblingBy(Q);},getFirstChildBy:function(Q,S){var R=(D(Q.firstChild,S))?Q.firstChild:null;return R||B.Dom.getNextSiblingBy(Q.firstChild,S);},getFirstChild:function(Q,R){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getFirstChildBy(Q);},getLastChildBy:function(Q,S){if(!Q){return null;}var R=(D(Q.lastChild,S))?Q.lastChild:null;return R||B.Dom.getPreviousSiblingBy(Q.lastChild,S);},getLastChild:function(Q){Q=B.Dom.get(Q);return B.Dom.getLastChildBy(Q);},getChildrenBy:function(R,T){var S=B.Dom.getFirstChildBy(R,T);var Q=S?[S]:[];B.Dom.getNextSiblingBy(S,function(U){if(!T||T(U)){Q[Q.length]=U;}return false;});return Q;},getChildren:function(Q){Q=B.Dom.get(Q);if(!Q){}return B.Dom.getChildrenBy(Q);},getDocumentScrollLeft:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollLeft,Q.body.scrollLeft);},getDocumentScrollTop:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollTop,Q.body.scrollTop);},insertBefore:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}return Q.parentNode.insertBefore(R,Q);},insertAfter:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}if(Q.nextSibling){return Q.parentNode.insertBefore(R,Q.nextSibling);}else{return Q.parentNode.appendChild(R);}},getClientRegion:function(){var S=B.Dom.getDocumentScrollTop(),R=B.Dom.getDocumentScrollLeft(),T=B.Dom.getViewportWidth()+R,Q=B.Dom.getViewportHeight()+S;return new B.Region(S,T,Q,R);}};var I=function(){if(N.documentElement.getBoundingClientRect){return function(S){var T=S.getBoundingClientRect(),R=Math.round;var Q=S.ownerDocument;return[R(T.left+B.Dom.getDocumentScrollLeft(Q)),R(T.top+B.Dom.getDocumentScrollTop(Q))];};}else{return function(S){var T=[S.offsetLeft,S.offsetTop];var R=S.offsetParent;var Q=(M&&B.Dom.getStyle(S,"position")=="absolute"&&S.offsetParent==S.ownerDocument.body);if(R!=S){while(R){T[0]+=R.offsetLeft;T[1]+=R.offsetTop;if(!Q&&M&&B.Dom.getStyle(R,"position")=="absolute"){Q=true;}R=R.offsetParent;}}if(Q){T[0]-=S.ownerDocument.body.offsetLeft;T[1]-=S.ownerDocument.body.offsetTop;}R=S.parentNode;while(R.tagName&&!E.ROOT_TAG.test(R.tagName)){if(R.scrollTop||R.scrollLeft){T[0]-=R.scrollLeft;T[1]-=R.scrollTop;}R=R.parentNode;}return T;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.6.0",build:"1321"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};var K=YAHOO.env.ua.ie?"focusin":"focus";var L=YAHOO.env.ua.ie?"focusout":"blur";return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var M=this;var N=function(){M._tryPreloadAttach();};this._interval=setInterval(N,this.POLL_INTERVAL);}},onAvailable:function(R,O,S,Q,P){var M=(YAHOO.lang.isString(R))?[R]:R;for(var N=0;N<M.length;N=N+1){F.push({id:M[N],fn:O,obj:S,override:Q,checkReady:P});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(O,M,P,N){this.onAvailable(O,M,P,N,true);},onDOMReady:function(M,O,N){if(this.DOMReady){setTimeout(function(){var P=window;if(N){if(N===true){P=O;}else{P=N;}}M.call(P,"DOMReady",[],O);},0);}else{this.DOMReadyEvent.subscribe(M,O,N);}},_addListener:function(O,M,X,S,N,a){if(!X||!X.call){return false;}if(this._isValidCollection(O)){var Y=true;for(var T=0,V=O.length;T<V;++T){Y=this._addListener(O[T],M,X,S,N,a)&&Y;}return Y;}else{if(YAHOO.lang.isString(O)){var R=this.getEl(O);if(R){O=R;}else{this.onAvailable(O,function(){YAHOO.util.Event._addListener(O,M,X,S,N,a);});return true;}}}if(!O){return false;}if("unload"==M&&S!==this){J[J.length]=[O,M,X,S,N,a];return true;}var b=O;if(N){if(N===true){b=S;}else{b=N;}}var P=function(c){return X.call(b,YAHOO.util.Event.getEvent(c,O),S);};var Z=[O,M,X,P,b,S,N,a];var U=I.length;I[U]=Z;if(this.useLegacyEvent(O,M)){var Q=this.getLegacyIndex(O,M);if(Q==-1||O!=G[Q][0]){Q=G.length;B[O.id+M]=Q;G[Q]=[O,M,O["on"+M]];E[Q]=[];O["on"+M]=function(c){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(c),Q);};}E[Q].push(Z);}else{try{this._simpleAdd(O,M,P,a);}catch(W){this.lastError=W;this._removeListener(O,M,X,a);return false;}}return true;},addListener:function(O,Q,N,P,M){return this._addListener(O,Q,N,P,M,false);},addFocusListener:function(O,N,P,M){return this._addListener(O,K,N,P,M,true);},removeFocusListener:function(N,M){return this._removeListener(N,K,M,true);},addBlurListener:function(O,N,P,M){return this._addListener(O,L,N,P,M,true);},removeBlurListener:function(N,M){return this._removeListener(N,L,M,true);},fireLegacyEvent:function(Q,O){var S=true,M,U,T,V,R;U=E[O].slice();for(var N=0,P=U.length;N<P;++N){T=U[N];if(T&&T[this.WFN]){V=T[this.ADJ_SCOPE];R=T[this.WFN].call(V,Q);S=(S&&R);}}M=G[O];if(M&&M[2]){M[2](Q);}return S;},getLegacyIndex:function(N,O){var M=this.generateId(N)+O;if(typeof B[M]=="undefined"){return -1;}else{return B[M];}},useLegacyEvent:function(M,N){return(this.webkit&&this.webkit<419&&("click"==N||"dblclick"==N));},_removeListener:function(N,M,V,Y){var Q,T,X;if(typeof N=="string"){N=this.getEl(N);}else{if(this._isValidCollection(N)){var W=true;for(Q=N.length-1;Q>-1;Q--){W=(this._removeListener(N[Q],M,V,Y)&&W);}return W;}}if(!V||!V.call){return this.purgeElement(N,false,M);}if("unload"==M){for(Q=J.length-1;Q>-1;Q--){X=J[Q];if(X&&X[0]==N&&X[1]==M&&X[2]==V){J.splice(Q,1);return true;}}return false;}var R=null;var S=arguments[4];if("undefined"===typeof S){S=this._getCacheIndex(N,M,V);}if(S>=0){R=I[S];}if(!N||!R){return false;}if(this.useLegacyEvent(N,M)){var P=this.getLegacyIndex(N,M);var O=E[P];if(O){for(Q=0,T=O.length;Q<T;++Q){X=O[Q];if(X&&X[this.EL]==N&&X[this.TYPE]==M&&X[this.FN]==V){O.splice(Q,1);break;}}}}else{try{this._simpleRemove(N,M,R[this.WFN],Y);}catch(U){this.lastError=U;return false;}}delete I[S][this.WFN];delete I[S][this.FN];
I.splice(S,1);return true;},removeListener:function(N,O,M){return this._removeListener(N,O,M,false);},getTarget:function(O,N){var M=O.target||O.srcElement;return this.resolveTextNode(M);},resolveTextNode:function(N){try{if(N&&3==N.nodeType){return N.parentNode;}}catch(M){}return N;},getPageX:function(N){var M=N.pageX;if(!M&&0!==M){M=N.clientX||0;if(this.isIE){M+=this._getScrollLeft();}}return M;},getPageY:function(M){var N=M.pageY;if(!N&&0!==N){N=M.clientY||0;if(this.isIE){N+=this._getScrollTop();}}return N;},getXY:function(M){return[this.getPageX(M),this.getPageY(M)];},getRelatedTarget:function(N){var M=N.relatedTarget;if(!M){if(N.type=="mouseout"){M=N.toElement;}else{if(N.type=="mouseover"){M=N.fromElement;}}}return this.resolveTextNode(M);},getTime:function(O){if(!O.time){var N=new Date().getTime();try{O.time=N;}catch(M){this.lastError=M;return N;}}return O.time;},stopEvent:function(M){this.stopPropagation(M);this.preventDefault(M);},stopPropagation:function(M){if(M.stopPropagation){M.stopPropagation();}else{M.cancelBubble=true;}},preventDefault:function(M){if(M.preventDefault){M.preventDefault();}else{M.returnValue=false;}},getEvent:function(O,M){var N=O||window.event;if(!N){var P=this.getEvent.caller;while(P){N=P.arguments[0];if(N&&Event==N.constructor){break;}P=P.caller;}}return N;},getCharCode:function(N){var M=N.keyCode||N.charCode||0;if(YAHOO.env.ua.webkit&&(M in D)){M=D[M];}return M;},_getCacheIndex:function(Q,R,P){for(var O=0,N=I.length;O<N;O=O+1){var M=I[O];if(M&&M[this.FN]==P&&M[this.EL]==Q&&M[this.TYPE]==R){return O;}}return -1;},generateId:function(M){var N=M.id;if(!N){N="yuievtautoid-"+A;++A;M.id=N;}return N;},_isValidCollection:function(N){try{return(N&&typeof N!=="string"&&N.length&&!N.tagName&&!N.alert&&typeof N[0]!=="undefined");}catch(M){return false;}},elCache:{},getEl:function(M){return(typeof M==="string")?document.getElementById(M):M;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(N){if(!H){H=true;var M=YAHOO.util.Event;M._ready();M._tryPreloadAttach();}},_ready:function(N){var M=YAHOO.util.Event;if(!M.DOMReady){M.DOMReady=true;M.DOMReadyEvent.fire();M._simpleRemove(document,"DOMContentLoaded",M._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var S=!H;if(!S){S=(C>0&&F.length>0);}var R=[];var T=function(V,W){var U=V;if(W.override){if(W.override===true){U=W.obj;}else{U=W.override;}}W.fn.call(U,W.obj);};var N,M,Q,P,O=[];for(N=0,M=F.length;N<M;N=N+1){Q=F[N];if(Q){P=this.getEl(Q.id);if(P){if(Q.checkReady){if(H||P.nextSibling||!S){O.push(Q);F[N]=null;}}else{T(P,Q);F[N]=null;}}else{R.push(Q);}}}for(N=0,M=O.length;N<M;N=N+1){Q=O[N];T(this.getEl(Q.id),Q);}C--;if(S){for(N=F.length-1;N>-1;N--){Q=F[N];if(!Q||!Q.id){F.splice(N,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(Q,R,T){var O=(YAHOO.lang.isString(Q))?this.getEl(Q):Q;var S=this.getListeners(O,T),P,M;if(S){for(P=S.length-1;P>-1;P--){var N=S[P];this._removeListener(O,N.type,N.fn,N.capture);}}if(R&&O&&O.childNodes){for(P=0,M=O.childNodes.length;P<M;++P){this.purgeElement(O.childNodes[P],R,T);}}},getListeners:function(O,M){var R=[],N;if(!M){N=[I,J];}else{if(M==="unload"){N=[J];}else{N=[I];}}var T=(YAHOO.lang.isString(O))?this.getEl(O):O;for(var Q=0;Q<N.length;Q=Q+1){var V=N[Q];if(V){for(var S=0,U=V.length;S<U;++S){var P=V[S];if(P&&P[this.EL]===T&&(!M||M===P[this.TYPE])){R.push({type:P[this.TYPE],fn:P[this.FN],obj:P[this.OBJ],adjust:P[this.OVERRIDE],scope:P[this.ADJ_SCOPE],capture:P[this.CAPTURE],index:S});}}}}return(R.length)?R:null;},_unload:function(S){var M=YAHOO.util.Event,P,O,N,R,Q,T=J.slice();for(P=0,R=J.length;P<R;++P){N=T[P];if(N){var U=window;if(N[M.ADJ_SCOPE]){if(N[M.ADJ_SCOPE]===true){U=N[M.UNLOAD_OBJ];}else{U=N[M.ADJ_SCOPE];}}N[M.FN].call(U,M.getEvent(S,N[M.EL]),N[M.UNLOAD_OBJ]);T[P]=null;N=null;U=null;}}J=null;if(I){for(O=I.length-1;O>-1;O--){N=I[O];if(N){M._removeListener(N[M.EL],N[M.TYPE],N[M.FN],N[M.CAPTURE],O);}}N=null;}G=null;M._simpleRemove(window,"unload",M._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var M=document.documentElement,N=document.body;if(M&&(M.scrollTop||M.scrollLeft)){return[M.scrollTop,M.scrollLeft];}else{if(N){return[N.scrollTop,N.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(O,P,N,M){O.addEventListener(P,N,(M));};}else{if(window.attachEvent){return function(O,P,N,M){O.attachEvent("on"+P,N);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(O,P,N,M){O.removeEventListener(P,N,(M));};}else{if(window.detachEvent){return function(N,O,M){N.detachEvent("on"+O,M);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener;
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};
var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.6.0",build:"1321"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.6.0", build: "1321"});
/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(F,B){var E;var A=this.owner;var C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.method){this.method.call(A,F);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var A in B){if(B.hasOwnProperty(A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B||!this._configs.hasOwnProperty(C)){return undefined;}return B.value;},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var D=[];var B;for(var C in this._configs){B=this._configs[C];if(A.hasOwnProperty(this._configs,C)&&!A.isUndefined(B)){D[D.length]=C;}}return D;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs||{};var F=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(F.hasOwnProperty(E[D])){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var D=YAHOO.util.Dom,F=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(G,H){if(arguments.length){this.init(G,H);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(G){G=G.get?G.get("element"):G;return this.get("element").appendChild(G);},getElementsByTagName:function(G){return this.get("element").getElementsByTagName(G);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(G,H){G=G.get?G.get("element"):G;H=(H&&H.get)?H.get("element"):H;return this.get("element").insertBefore(G,H);},removeChild:function(G){G=G.get?G.get("element"):G;return this.get("element").removeChild(G);},replaceChild:function(G,H){G=G.get?G.get("element"):G;H=H.get?H.get("element"):H;return this.get("element").replaceChild(G,H);},initAttributes:function(G){},addListener:function(K,J,L,I){var H=this.get("element")||this.get("id");I=I||this;var G=this;if(!this._events[K]){if(H&&this.DOM_EVENTS[K]){YAHOO.util.Event.addListener(H,K,function(M){if(M.srcElement&&!M.target){M.target=M.srcElement;}G.fireEvent(K,M);},L,I);}this.createEvent(K,this);}return YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){return this.addListener.apply(this,arguments);},subscribe:function(){return this.addListener.apply(this,arguments);},removeListener:function(H,G){return this.unsubscribe.apply(this,arguments);},addClass:function(G){D.addClass(this.get("element"),G);},getElementsByClassName:function(H,G){return D.getElementsByClassName(H,G,this.get("element"));},hasClass:function(G){return D.hasClass(this.get("element"),G);},removeClass:function(G){return D.removeClass(this.get("element"),G);},replaceClass:function(H,G){return D.replaceClass(this.get("element"),H,G);},setStyle:function(I,H){var G=this.get("element");if(!G){return this._queue[this._queue.length]=["setStyle",arguments];}return D.setStyle(G,I,H);},getStyle:function(G){return D.getStyle(this.get("element"),G);},fireQueue:function(){var H=this._queue;for(var I=0,G=H.length;I<G;++I){this[H[I][0]].apply(this,H[I][1]);}},appendTo:function(H,I){H=(H.get)?H.get("element"):D.get(H);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:H});I=(I&&I.get)?I.get("element"):D.get(I);var G=this.get("element");if(!G){return false;}if(!H){return false;}if(G.parent!=H){if(I){H.insertBefore(G,I);}else{H.appendChild(G);}}this.fireEvent("appendTo",{type:"appendTo",target:H});return G;},get:function(G){var I=this._configs||{};var H=I.element;if(H&&!I[G]&&!YAHOO.lang.isUndefined(H.value[G])){return H.value[G];}return F.prototype.get.call(this,G);},setAttributes:function(L,H){var K=this.get("element");
for(var J in L){if(!this._configs[J]&&!YAHOO.lang.isUndefined(K[J])){this.setAttributeConfig(J);}}for(var I=0,G=this._configOrder.length;I<G;++I){if(L[this._configOrder[I]]!==undefined){this.set(this._configOrder[I],L[this._configOrder[I]],H);}}},set:function(H,J,G){var I=this.get("element");if(!I){this._queue[this._queue.length]=["set",arguments];if(this._configs[H]){this._configs[H].value=J;}return ;}if(!this._configs[H]&&!YAHOO.lang.isUndefined(I[H])){C.call(this,H);}return F.prototype.set.apply(this,arguments);},setAttributeConfig:function(G,I,J){var H=this.get("element");if(H&&!this._configs[G]&&!YAHOO.lang.isUndefined(H[G])){C.call(this,G,I);}else{F.prototype.setAttributeConfig.apply(this,arguments);}this._configOrder.push(G);},getAttributeKeys:function(){var H=this.get("element");var I=F.prototype.getAttributeKeys.call(this);for(var G in H){if(!this._configs[G]){I[G]=I[G]||H[G];}}return I;},createEvent:function(H,G){this._events[H]=true;F.prototype.createEvent.apply(this,arguments);},init:function(H,G){A.apply(this,arguments);}};var A=function(H,G){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];G=G||{};G.element=G.element||H||null;this.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true};var I=false;if(typeof G.element==="string"){C.call(this,"id",{value:G.element});}if(D.get(G.element)){I=true;E.call(this,G);B.call(this,G);}YAHOO.util.Event.onAvailable(G.element,function(){if(!I){E.call(this,G);}this.fireEvent("available",{type:"available",target:D.get(G.element)});},this,true);YAHOO.util.Event.onContentReady(G.element,function(){if(!I){B.call(this,G);}this.fireEvent("contentReady",{type:"contentReady",target:D.get(G.element)});},this,true);};var E=function(G){this.setAttributeConfig("element",{value:D.get(G.element),readOnly:true});};var B=function(G){this.initAttributes(G);this.setAttributes(G,true);this.fireQueue();};var C=function(G,I){var H=this.get("element");I=I||{};I.name=G;I.method=I.method||function(J){if(H){H[G]=J;}};I.value=I.value||H[G];this._configs[G]=new YAHOO.util.Attribute(I,this);};YAHOO.augment(YAHOO.util.Element,F);})();YAHOO.register("element",YAHOO.util.Element,{version:"2.6.0",build:"1321"});/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var E,A;try{A=new XMLHttpRequest();E={conn:A,tId:F};}catch(D){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);E={conn:A,tId:F};break;}catch(C){}}}finally{return E;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(M,H,C){var L,B,K,I,P,J=false,F=[],O=0,E,G,D,N,A;this.resetFormState();if(typeof M=="string"){L=(document.getElementById(M)||document.forms[M]);}else{if(typeof M=="object"){L=M;}else{return ;}}if(H){this.createFrame(C?C:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=L;return ;}for(E=0,G=L.elements.length;E<G;++E){B=L.elements[E];P=B.disabled;K=B.name;if(!P&&K){K=encodeURIComponent(K)+"=";I=encodeURIComponent(B.value);switch(B.type){case"select-one":if(B.selectedIndex>-1){A=B.options[B.selectedIndex];F[O++]=K+encodeURIComponent((A.attributes.value&&A.attributes.value.specified)?A.value:A.text);}break;case"select-multiple":if(B.selectedIndex>-1){for(D=B.selectedIndex,N=B.options.length;D<N;++D){A=B.options[D];if(A.selected){F[O++]=K+encodeURIComponent((A.attributes.value&&A.attributes.value.specified)?A.value:A.text);}}}break;case"radio":case"checkbox":if(B.checked){F[O++]=K+I;}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(J===false){if(this._hasSubmitListener&&this._submitElementValue){F[O++]=this._submitElementValue;}else{F[O++]=K+I;}J=true;}break;default:F[O++]=K+I;}}}this._isFormSubmit=true;this._sFormData=F.join("&");this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(YAHOO.env.ua.ie){C=document.createElement('<iframe id="'+B+'" name="'+B+'" />');if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[],B=A.split("&"),C,E;for(C=0;C<B.length;C++){E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=decodeURIComponent(B[C].substring(0,E));D[C].value=decodeURIComponent(B[C].substring(E+1));this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,N,E,C){var I="yuiIO"+D.tId,J="multipart/form-data",L=document.getElementById(I),O=this,K=(N&&N.argument)?N.argument:null,M,H,B,G;var A={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",I);if(YAHOO.env.ua.ie){this._formNode.setAttribute("encoding",J);}else{this._formNode.setAttribute("enctype",J);}if(C){M=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,K);if(D.startEvent){D.startEvent.fire(D,K);}if(N&&N.timeout){this._timeOut[D.tId]=window.setTimeout(function(){O.abort(D,N,true);},N.timeout);}if(M&&M.length>0){for(H=0;H<M.length;H++){this._formNode.removeChild(M[H]);}}for(B in A){if(YAHOO.lang.hasOwnProperty(A,B)){if(A[B]){this._formNode.setAttribute(B,A[B]);}else{this._formNode.removeAttribute(B);}}}this.resetFormState();var F=function(){if(N&&N.timeout){window.clearTimeout(O._timeOut[D.tId]);delete O._timeOut[D.tId];}O.completeEvent.fire(D,K);if(D.completeEvent){D.completeEvent.fire(D,K);}G={tId:D.tId,argument:N.argument};try{G.responseText=L.contentWindow.document.body?L.contentWindow.document.body.innerHTML:L.contentWindow.document.documentElement.textContent;G.responseXML=L.contentWindow.document.XMLDocument?L.contentWindow.document.XMLDocument:L.contentWindow.document;}catch(P){}if(N&&N.upload){if(!N.scope){N.upload(G);}else{N.upload.apply(N.scope,[G]);}}O.uploadEvent.fire(G);if(D.uploadEvent){D.uploadEvent.fire(G);}YAHOO.util.Event.removeListener(L,"load",F);setTimeout(function(){document.body.removeChild(L);O.releaseObject(D);},100);};YAHOO.util.Event.addListener(L,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.6.0",build:"1321"});