

// Est ce l'internaute utilise un navigateur internet explorer < IE7
function isOldIE()
{
	var ver = navigator.appVersion;
	var dom = document.getElementById ? 1 : 0;
	var ie6 = (ver.indexOf("MSIE 6") > -1 && dom) ? 1 : 0; 
	var ie5 = (ver.indexOf("MSIE 5") > -1 && dom) ? 1 : 0; 
	var ie4 = (document.all && !dom) ? 1 : 0; 
	return ie6 || ie5 || ie4;
}
// Est ce l'internaute utilise un navigateur internet explorer
function isIE()
{
	var agt=navigator.userAgent.toLowerCase();
	
	return((agt.indexOf("msie")!=-1)&&(agt.indexOf("opera")==-1));
}
// Est ce l'internaute utilise FireFox
function isFirefox()
{
	var agt=navigator.userAgent.toLowerCase();
	
	return agt.indexOf("firefox")!=-1;
}

/* Acsecceur d'un objet ID du document */
/* Methodes utiliser pour les fichiers calendar.js et Colors.js */
function getObj(objID)
{
    if (document.getElementById) 
	{
		return document.getElementById(objID);
	}
    else if (document.all) 
	{
		return document.all[objID];
	}
    else if (document.layers) 
	{
		return document.layers[objID];
	}
}

// Afficher une boite DIV
function show(ee)
{
	if(ee!=null)
	{
		ee.style.visibility='visible';
		ee.style.display='block';
	}
}
// Cacher une boite DIV
function hide(ee)
{
	if(ee!=null)
	{
		ee.style.visibility='hidden';
		ee.style.display='none';
	}
}

/* Pour fermer un DIV */
function closeDIV (div) 
{
	//alert("CLOSE : "+div);
	var ee = document.getElementById(div);
	/*if(!isIE())
	{
		ee.innerHTML='';
	}*/
	if(ee!=null)
	{
		hide(ee);
		//alert("YES !! CLOSE : "+div);
		changer_etat_infobulle(div, true);
		close_infobulle = true;
		if(typeof GUnload != 'undefined') { GUnload(); }
	}
}

function init_close()
{
    var rows = getObj('container').getElementsByTagName('div');
	var nb_div = parseInt(rows.length);
	
	close_infobulle = false;
	
	fenetre_fermer = new Array(nb_div);
	//alert(nb_div);
    for (var i = 0; i < nb_div; i++)
	{
		var ID_infobulle = rows[i].id;
		fenetre_fermer[i] = new Array(2);
		fenetre_fermer[i][0] = ID_infobulle;
		fenetre_fermer[i][1] = true;
    }
	//alert(fenetre_fermer);
}

function infobulle_deja_close(ID_infobulle)
{
	if(typeof fenetre_fermer != "undefined")
	{
		var nb_div = parseInt(fenetre_fermer.length);
		
	    for (var i = 0; i < nb_div; i++)
		{
			if(fenetre_fermer[i][0] == ID_infobulle)
				return fenetre_fermer[i][1];
	    }
		return true;
	}
	return true;
}

function changer_etat_infobulle(ID_infobulle, etat)
{
	if(typeof fenetre_fermer != "undefined")
	{
		var nb_div = parseInt(fenetre_fermer.length);
		
	    for (var i = 0; i < nb_div; i++)
		{
			if(fenetre_fermer[i][0] == ID_infobulle)
			{		
				if(typeof etat != "undefined")
					fenetre_fermer[i][1] = etat;
				else
				{
					if(fenetre_fermer[i][1] == true)
						fenetre_fermer[i][1] = false;
					else
						fenetre_fermer[i][1] = true;
				}
			}
		}
    }
}

function closeInfobulle(e) 
{
	//alert(close_infobulle);
	if(!close_infobulle)
	{
		e?evt=e:evt=event;
		
	    var rows = getObj('container').getElementsByTagName('div');
		var stop = false;
	    for (var i = 0; i < rows.length && !stop; i++) 
		{
			var ID_infobulle = rows[i].id;
			//alert(ID_infobulle);
			if(ID_infobulle.indexOf('Infobulle')!=-1 && getObj(ID_infobulle).style.display!='none' && ID_infobulle!="InfobulleC9999" && ID_infobulle!="InfobulleG" && ID_infobulle!="Infobulle42" && ID_infobulle!="Infobulle44" )
	        {
				//alert(ID_infobulle+"->"+indique);
				if((ID_infobulle!=indique) && infobulle_deja_close(ID_infobulle))
				{
					//alert("OK!");
					var Hauteur = (parseInt(getObj('Style_Infobulle').style.marginTop));
					var Largeur = (parseInt(getObj('Style_Infobulle').style.width));
					
					var DecalageOrigine = (parseInt(getObj('Style_Infobulle').style.left));
					var HauteurFleche = 14;
					
					var OrigineX = Left(getObj(ID_infobulle));
					var OrigineY = (!isIE()) ? Top(getObj(ID_infobulle)) : (Top(getObj(ID_infobulle)) - Hauteur);
					//alert("("+OrigineX+", "+OrigineY+") H : "+Hauteur);
					
					/*****************************************************************************************/
					/*	---->																													*/
					/*	|																														*/
					/*	v			(Xgh, Ygh) ---------(Xdh, Ydh)									^							*/
					/*					|							|												|	Hauteur				*/
					/*					|							|												|							*/
					/*				(Xgb, Ygb) ---------(Xdb, Ydb)									v							*/
					/*									\/															^	HauteurFleche	*/
					/*						(OrigineX, OrigineY)																		*/
					/*									------------> 	DecalageOrigine											*/
					/*				<---------------------------> 																		*/
					/*							Largeur 																					*/
					/*****************************************************************************************/
						
					// Position du curseur : 
					if(!isIE())
					{
						var CursorX = e.pageX;
						var CursorY = e.pageY;
					}
					else
					{
						var CursorX = e.clientX + document.body.scrollLeft;
						var CursorY = e.clientY + document.body.scrollTop;
					}
					
					// Coordonnees (Xgh, Ygh)
					var Xgh = Math.abs(parseInt(OrigineX - (Largeur - DecalageOrigine)));
					var Ygh = Math.abs(parseInt(OrigineY + (Hauteur)));
					// Coordonnees (Xdh, Ydh)
					var Xdh = Math.abs(parseInt(OrigineX + DecalageOrigine));
					var Ydh = Math.abs(parseInt(OrigineY + (Hauteur)));
					
					// Coordonnees (Xgb, Ygb)
					var Xgb = Math.abs(parseInt(OrigineX - (Largeur - DecalageOrigine)));
					var Ygb = Math.abs(parseInt(OrigineY - 2*HauteurFleche));
					// Coordonnees (Xdb, Ydb)
					var Xdb = Math.abs(parseInt(OrigineX + DecalageOrigine));
					var Ydb = Math.abs(parseInt(OrigineY - 2*HauteurFleche));
					
					//alert("!(("+CursorX+" >= "+Xgh+" && "+CursorX+" <= "+Xdh+") && ("+CursorY+" >= "+Ygh+" && "+CursorY+" <= "+Ygb+"))  Résultat : "+(!((CursorX >= Xgh && CursorX <= Xdh) && (CursorY >= Ygh && CursorY <= Ygb))));
					if(!((CursorX >= Xgh && CursorX <= Xdh) && (CursorY >= Ygh && CursorY <= Ygb)))
					{
						//alert("L'infobulle se ferme ! "+ID_infobulle);
						getObj(ID_infobulle).style.display='none';
						if(getObj(ID_infobulle).style.visibility)
							getObj(ID_infobulle).style.visibility='hidden';
					}
					changer_etat_infobulle(ID_infobulle, true);
					if(typeof GUnload != 'undefined') { GUnload(); }
					//stop = true;
				}
			}
	    }
	}
}

/* Pour ouvrir un DIV */
function lookDIV (div) 
{
	var ee = document.getElementById(div);
	show(ee);
	//changer_etat_infobulle(div, false);
	close_infobulle = false;
	indique = div;
}

/* Fonction qui teste si une variable est un tableau */
function isArray(Variable)
{
	return Variable instanceof Array();
}

/* FONCTION MATHEMATIQUE : Arrondie d'un nombre avec une precision apres la virgule pour le nombre flottant. */
function arrondi(chiffre, exp)
{
	var virgule = Math.round(Math.pow(10, exp));
	return Math.round(chiffre*virgule)/virgule;
}

// Fonction qui permet a Internet Explorer d'afficher la transparence du PNG
function TransparenceIE(div, img)
{
	if(typeof getObj != 'undefined')
	{
		if(isOldIE())
		{
			if(typeof getObj != 'undefined' && isNaN(getObj(div)))
				getObj(div).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+img+", sizingMethod='scale')";
		}
		else
		{
			if(typeof getObj != 'undefined' && isNaN(getObj(div)))
				getObj(div).src = img; 
		}
	}
}

// Fonction qui permet a Internet Explorer d'afficher la transparence du PNG pour un background donnee
function BackgroundTransparent(div, img)
{
	if(typeof getObj != 'undefined')
	{
		if(isOldIE() && (img.search(/\.png/)>0 || !img.search('none')))
		{
			if(typeof getObj != 'undefined' && isNaN(getObj(div)))
				getObj(div).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+img+", sizingMethod='scale')";
		}
		else
		{
			if(typeof getObj != 'undefined' && isNaN(getObj(div)))
				if(img=='none')
					getObj(div).style.backgroundImage = img; 
				else
					getObj(div).style.backgroundImage = "url("+img+")"; 
		}
	}
}

// Fonction permet de changer le css
function ChangeClass(div, css)
{
	if(typeof getObj != 'undefined')
	{
		getObj(div).className = css; 
	}
}



// Utiliser pour l'autocompletion

function isChild(s,d) 
{
	while(s) 
	{
		if (s==d) 
			return true;
		s=s.parentNode;
	}
	return false;
}

function Left(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft-((!isIE()) ? 0: 0);
}

function Top(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function evtTgt(e)
{
	var el;
	if(e.target)el=e.target;
	else if(e.srcElement)el=e.srcElement;
	if(el.nodeType==3)el=el.parentNode; // defeat Safari bug
	return el;
}
function EvtObj(e)
{
	if(!e)e=window.event;
		return e;
}

// Equivalent de ucfirst en php
// Cette fonction met la premiere lettre en majuscule
function ucfirst(s)
{
	return s.slice(0, 1).toUpperCase() + s.slice(1);
}


function convert_accentHTML_vers_ISO(chaine)
{
	var accentHTML_TAB = new Array("&Agrave;", "&Aacute;", "&Acirc;", "&Atilde;", "&Auml;", "&Aring;", "&AElig;", "&Ccedil;", "&Egrave;", "&Eacute;", "&Ecirc;", "&Euml;", "&Igrave;", "&Iacute;", "&Icirc;", "&Iuml;", "&ETH;", "&Ntilde;", "&Ograve;", "&Oacute;", "&Ocirc;", "&Otilde;", "&Ouml;", "&Oslash;", "&Ugrave;", "&Uacute;", "&Ucirc;", "&Uuml;", "&Yacute;", "&THORN;", "&szlig;", "&agrave;", "&aacute;", "&acirc;", "&atilde;", "&auml;", "&aring;", "&aelig;", "&ccedil;", "&egrave;", "&eacute;", "&ecirc;", "&euml;", "&igrave;", "&iacute;", "&icirc;", "&iuml;", "&eth;", "&ntilde;", "&ograve;", "&oacute;", "&ocirc;", "&otilde;", "&ouml;", "&oslash;", "&ugrave;", "&uacute;", "&ucirc;", "&yacute;", "&thorn;", "&yuml;");
	var accent_TAB = new Array("À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "ø", "ù", "ú", "û", "ý", "þ", "ÿ");
	
	var resultat = chaine;
	for(var i=0; i<accent_TAB.length; i++)
	{
		resultat = resultat.replace(accentHTML_TAB[i], accent_TAB[i]);
	}
	return resultat;
}

// Cette fonction ajoute n jour a une date
Date.prototype.OneYearToDate=function()
{
	return new Date(this.getFullYear()+1,this.getMonth(),this.getDate());
}

// Cette fonction interdit la touche Entrer sans interdire le reste de la saisie
function avoidEnter(e)
{
	if(e.keyCode == 13)
	{
		e.returnValue = false;
		return false;
	}
	else
		return true;
}

// Retourne la taille de la fenetre (fonction ajoute le Lundi 22 Février 2010)
function returnSize() 
{
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) 
	{
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} 
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} 
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
	{
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	var result = new Array(myWidth,myHeight);
	return result;
}

// Fenetre place au centre de la fenetre (fonction ajoute le Lundi 22 Février 2010)
function windowCenter(myId) 
{
	result=returnSize();
	var myWidth=result[0];
	var myHeight=result[1];
	var elementWidth=document.getElementById(myId).offsetWidth;
	var elementHeight=document.getElementById(myId).offsetHeight;
	var myScrollLeft=document.documentElement.scrollLeft;
	var myScrollTop=document.documentElement.scrollTop;
	var posX=myScrollLeft+myWidth-myWidth/2-elementWidth/2
	var posY=myScrollTop+myHeight-myHeight/2-elementHeight/2;
	document.getElementById(myId).style.left=posX+"px";
	document.getElementById(myId).style.top=posY+"px";
}

// Microtime
// Ajoute le Lundi 21 Juin 2010
function microtime(get_as_float)
{
	var now = new Date().getTime()/1000;
	var s  = parseInt(now, 10);
	
	return (get_as_float)? now : (Math.round((ow - s)*1000)/1000)+' '+s;
}

/* Les variables date du calendrier*/
var aujourdhui = new Date();		// Date du jour (aujourd'hui)

var Jours = new Array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
var Mois = new Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin','Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre','Décembre');
																				
var Ferie = new Array("01/00","01/04","08/04","14/06","15/07","01/10","11/10","25/11");	// Les dates des jours feriee fixe

var autoriser_date_anterieur = false; 	// Si true : Calendrier complet, avec toutes les dates anterieur a aujourd'hui

// Les icones du calendrier
var icone_precedent = "/Interface/Images/Precedent.png"; // Icone precedent
var icone_suivant = "/Interface/Images/Suivant.png"; // Icone suivant

var reload = false;
var reloadMAG = false;

var status = 'VISITEUR';

var extension = ((isIE())? 'gif' : 'png')

var cocher;

var fenetre_fermer;
var close_infobulle;
var indique;

var marker_number;
var adresse;
var infobulleCONTENT;

var VARIABLE_SESSION;		// Nom de la variable session ou cookies


/****************************************************************************************************************/
/*													Variables utiliser dans Favoris.js   															*/
/****************************************************************************************************************/
// Mes magasins favoris :
var Delete_FavorisMag = 'Supprimer ce magasin des favoris'; // Texte
var Add_FavorisMag = 'Mettre ce magasin en favori'; // Texte

// Ma selection :
var Delete_Favoris = 'Supprimer de ma sélection';
var Add_Favoris = 'Mettre dans ma sélection';

// Affichage des annonces favorites : 
var the_width_favoris = 58; // Largeur de l'image de l'annonce a afficher
var the_height_favoris = 58; // Hauteur de l'image de l'annonce a afficher
var nombre_de_favoris_sur_une_ligne = 2; // Nombre de favoris a afficher sur  une ligne

var aucun_element = "<br><br>Aucun produit<br>dans ma sélection<br>et dans ma<br>liste de course"; // Texte HTML : aucun element
var img_aucune_photo = "/Uploads/Articles/Catalogue/miniatures/aucune_photo.jpg";

var ICONE_SUPPRIMER_FAVORIS = "/Interface/Images/Icones/Icone_Supprimer_favoris.png"; 	// Image (icone de taille 8x8px avec une croix) pour la suppression d'annonces


var http = null;	// Variable reservee pour l'objet XMLHttpRequest

function createRequestObject ()
{
	if (window.XMLHttpRequest)
	{
		http = new XMLHttpRequest();	// On instancie la classe XMLHttpRequest pour les navigateurs Mozilla Firefox, Safari, ...
	}
	else if (window.ActiveXObject)
	{
		try 
		{
			http = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			http = new ActiveXObject("Microsoft.XMLHTTP");
		}
		/* La classe XMLHttpRequest n'est pas reconnu par le navigateur Internet Explorer.	*/
		/* On instancie alors la classe ActiveXObject.									*/
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur
		alert ("Message d&acute;avertissement\nVotre navigateur ne supporte pas les objets <b>XMLHTTPRequest</b> ...");
		http = false;
	}
	return http;
}

function evalueScripts(targetId)
{
	var mesScripts = document.getElementById(targetId).getElementsByTagName("script");
	//var global = this;
	for(var i=0; i<mesScripts.length; i++)
	{
		//alert(mesScripts[i].innerHTML+'-------'+i);
		window.eval(mesScripts[i].innerHTML);
		//global.eval(mesScripts[i].innerHTML);
	}
}

function envoieRequete (file, div, init)
{
	var xhr_object = createRequestObject ();	// Creatin d'un objet XMLHttpRequest
	xhr_object.open("GET", file, true);
	
	//alert(div+"  ---   "+file);
	xhr_object.onreadystatechange = function() 
									{
										try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
										{
											// Pour eviter des exceptions, on verifie xhr_object != null
											if(xhr_object != null && xhr_object.readyState == 4 && xhr_object.status == 200)
											{	// La page demander a ete complétement charger
												document.getElementById('chargement').style.display = "none";
												//alert('eeeeeeee'+div);
												if (typeof div != 'undefined')
												{
													//alert(div);
													//alert(document.getElementById(div).innerHTML);
													
													document.getElementById(div).innerHTML = xhr_object.responseText;
													
													/*
													if(isOldIE()) { alert('e1'); document.getElementById('frame_IE_DEBUT').innerHTML = '<iframe style="z-index: 0; background: none; width: 423px; height: 394px; position: relative; margin: 0px; left: 4px; right: 4px;" frameborder=0 scrolling=no></iframe><div style="z-index: 11444; position: relative; margin-top: -394px;">'; }
				
													if(isOldIE()) { alert('e2'); document.getElementById('frame_IE_FIN').innerHTML = '</div>'; }*/
													
													//document.getElementById(div).innerHTML = '<iframe style=\"z-index: 0; background: none; width: 423px; height: 394px; position: relative; margin: 0px; left: 4px; right: 4px;\" frameborder=0 scrolling=no></iframe><div style="z-index: 11; position: relative; margin-top: -394px;">'.xhr_object.responseText.'</div>';
				
													//alert(xhr_object.responseText);
													//evalueScripts('container');		// Toutes les scripts JavaScript deviennent global
													
													//alert('evalueScripts');
													// Ici, on recharger certaine fonction js d'initialisation !!
													RefreshMemoriser() ;
													//alert('RefreshMemoriser');
													MemoriserMag(); 
													//alert('MemoriserMag');
													//if(typeof load != 'undefined') { /*alert('Google');*/ load(); }
													//if(typeof GUnload != 'undefined') {  alert('Google2'); GUnload(); }
													if (typeof init == 'undefined' || init == true)
													{
														// Remise a zero
														unMarkAllRows(div); // On decoche tout les boutons checkbox
														PMA_markRowsInit(); // Initualisation des boutons checkbox (si tout tout fonctionne, on doit avoir 0 element de selectionne)
													}
												}
											}
											else
											{
												document.getElementById('chargement').style.display = "block";
											}	
										}
										catch(error) { }
									};  
	xhr_object.send(null);
}


function envoieRequeteInfobulleContact (file, div, clefs)
{
	var xhr_object = createRequestObject ();	// Creatin d'un objet XMLHttpRequest
	xhr_object.open("GET", file, true);
	
	//alert(div+"  ---   "+file);
	xhr_object.onreadystatechange = function() 
									{
										try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
										{
											// Pour eviter des exceptions, on verifie xhr_object != null
											if(xhr_object != null && xhr_object.readyState == 4 && xhr_object.status == 200)
											{	// La page demander a ete complétement charger
												document.getElementById('chargement').style.display = "none";
												//alert('eeeeeeee'+div);
												if (typeof div != 'undefined')
												{
													document.getElementById(div).innerHTML = xhr_object.responseText;
													PMA_markRowsInit();
													Cocher_Checked ('rowsDeleteForm', clefs);
												}
											}
											else
											{
												document.getElementById('chargement').style.display = "block";
											}	
										}
										catch(error) { }
									};  
	xhr_object.send(null);
}

function envoieRequeteGoogle (file, div, adresse, infobulleCONTENT, marker_number) 
{
	var xhr_object = createRequestObject ();	// Creatin d'un objet XMLHttpRequest
	xhr_object.open("GET", file, true);
	
	//alert(div+"  ---   "+file);
	xhr_object.onreadystatechange = function() 
									{
										try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
										{
											// Pour eviter des exceptions, on verifie xhr_object != null
											if(xhr_object != null && xhr_object.readyState == 4 && xhr_object.status == 200)
											{	// La page demander a ete complétement charger
												document.getElementById('chargement').style.display = "none";
												//alert('eeeeeeee'+div);
												if (typeof div != 'undefined')
												{
													//alert(div);
													//alert(xhr_object.responseText);
													document.getElementById(div).innerHTML = xhr_object.responseText;
													//alert(xhr_object.responseText);
													//evalueScripts('container');		// Toutes les scripts JavaScript deviennent global
													load_carte(adresse, infobulleCONTENT, marker_number);
													//GUnload();
													//alert('evalueScripts');
													// Ici, on recharger certaine fonction js d'initialisation !!
													RefreshMemoriser() ;
													//alert('RefreshMemoriser');
													MemoriserMag(); 
													//alert('MemoriserMag');
													//if(typeof load != 'undefined') { /*alert('Google');*/ load(); }
													//if(typeof GUnload != 'undefined') {  alert('Google2'); GUnload(); }
													if (typeof init == 'undefined' || init == true)
													{
														PMA_markRowsInit();
													}
												}
											}
											else
											{
												document.getElementById('chargement').style.display = "block";
											}	
										}
										catch(error) { }
									};  
	xhr_object.send(null);
}


function envoieRequete_version_lite (file, div)
{
	var xhr_object = createRequestObject ();	// Creatin d'un objet XMLHttpRequest
	xhr_object.open("GET", file, true);
	
	//alert(div+"  ---   "+file);
	xhr_object.onreadystatechange = function() 
									{
										try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
										{
											// Pour eviter des exceptions, on verifie xhr_object != null
											if(xhr_object != null && xhr_object.readyState == 4 && xhr_object.status == 200)
											{	// La page demander a ete complétement charger
												document.getElementById('chargement').style.display = "none";
												//alert('eeeeeeee'+div);
												if (typeof div != 'undefined')
												{
													//alert(div);
													//alert(xhr_object.responseText);
													document.getElementById(div).innerHTML = xhr_object.responseText;
												}
											}
											else
											{
												document.getElementById('chargement').style.display = "block";
											}	
										}
										catch(error) { }
									};  
	xhr_object.send(null);
}



// Fonction de verification des champs de formulaire (essentiellement pour l'inscription des commerçants et des consommateurs)
// Modifie le : Jeudi 03 Juin 2010
// Modifie le Mardi 29 Juin 2010 (desactivation de la verification du siret)
function validform(the_form) 
{
	/* On verifie que le champ nom est renseigne */
	if (document.forms[the_form].nom && document.forms[the_form].nom.value=='') 
	{
		window.alert('Veuillez saisir votre nom.');
		document.forms[the_form].nom.focus();
		return false;
	}
	/* On verifie que le champ nom est renseigne avec un nom de longueur inferieur ou egale a 15 lettres */
	if (document.forms[the_form].nom && !validite_longeur(the_form, 'nom', 15)) 
	{
		window.alert('Votre nom doit faire moins de 15 lettres !');
		document.forms[the_form].nom.focus();
		return false;
	}
	
	/* On verifie que le champ prenom est renseigne */
	if (document.forms[the_form].prenom && document.forms[the_form].prenom.value=='') 
	{
		window.alert('Veuillez saisir votre prénom.');
		document.forms[the_form].prenom.focus();
		return false;
	}
	/* On verifie que le champ prenom est renseigne avec un nom de longueur inferieur ou egale a 15 lettres */
	if (document.forms[the_form].prenom && !validite_longeur(the_form, 'prenom', 15)) 
	{
		window.alert('Votre prénom doit faire moins de 15 lettres !');
		document.forms[the_form].prenom.focus();
		return false;
	}		
	
	/* On verifie que le champ jour_Naissance est renseigne */
	if(document.forms[the_form].jour_Naissance && document.forms[the_form].jour_Naissance.value == "") 
	{
		alert("Veuillez entrer votre jour de naissance.");
		document.forms[the_form].jour_Naissance.focus();
		return false;
	}
	/* On verifie que le champ mois_Naissance est renseigne */
	if(document.forms[the_form].mois_Naissance && document.forms[the_form].mois_Naissance.value == "") 
	{
		alert("Veuillez entrer votre mois de naissance.");
		document.forms[the_form].mois_Naissance.focus();
		return false;
	}
	/* On verifie que le champ annee_Naissance est renseigne */
	if(document.forms[the_form].annee_Naissance && document.forms[the_form].annee_Naissance.value == "")
	{
		alert("Veuillez entrer votre année de naissance.");
		document.forms[the_form].annee_Naissance.focus();
		return false;
	}
	/* On verifie que la date de naissance soit valide */
	if(document.forms[the_form].annee_Naissance && document.forms[the_form].annee_Naissance.value != "" && document.forms[the_form].mois_Naissance && document.forms[the_form].mois_Naissance.value != "" && document.forms[the_form].jour_Naissance && document.forms[the_form].jour_Naissance.value != "")
	{
		var MOIS = document.forms[the_form].mois_Naissance.value;
		var JOUR = document.forms[the_form].jour_Naissance.value;
		var ANNEE = document.forms[the_form].annee_Naissance.value;
		var date_valide = new Date(ANNEE, MOIS-1, JOUR);
		//alert(date_valide.getDate().toString().padLeft('0', 2)+'!='+JOUR+' || '+(date_valide.getMonth()+1).toString().padLeft('0', 2)+'!='+MOIS+' || '+date_valide.getFullYear()+'!='+ANNEE);
		if(date_valide.getDate().toString().padLeft('0', 2)!=JOUR || (date_valide.getMonth()+1).toString().padLeft('0', 2)!=MOIS || date_valide.getFullYear()!=ANNEE)
		{
			alert("Veuillez entrer une date de naissance valide !");
			document.forms[the_form].jour_Naissance.focus();
			return false;
		}
	}
	
	/* On verifie que le champ siret est renseigne */
	if (document.forms[the_form].siret0 && document.forms[the_form].siret0.value=='') 
	{
		window.alert('Veuillez saisir votre n° siret.');
		document.forms[the_form].siret0.focus();
		return false;
	}
	/* Le siret doit etre compose d'une serie de chiffres */
	/*if (document.forms[the_form].siret0 && (isNaN(document.forms[the_form].siret0.value) || document.forms[the_form].siret0.value==0)) 
	{
		window.alert('Votre n° de siret n\'est pas valide !');
		document.forms[the_form].siret0.focus();
		return false;
	}*/
	/* Le siret doit etre compose de 14 chiffres */
	/*if (document.forms[the_form].siret0 && document.forms[the_form].siret0.value.length !=14) 
	{
		window.alert('Votre n° de siret n\'est pas composé de 14 chiffres !');
		document.forms[the_form].siret0.focus();
		return false;
	}*/	
	/* Le siret doit etre valide */
	/*if(document.forms[the_form].siret0 && !Siret_valide(document.forms[the_form].siret0.value))
	{
		window.alert('Votre n° de siret n\'est pas valide !');
		document.forms[the_form].siret0.focus();
		return false;
	}*/	
		
	/* On verifie que le champ enseigne est renseigne */		
	if (document.forms[the_form].enseigne0 && document.forms[the_form].enseigne0.value=='') 
	{
		window.alert('Veuillez saisir votre enseigne.');
		document.forms[the_form].enseigne0.focus();
		return false;
	}
		
	/* On verifie que le champ secteur_d_activite est renseigne */				
	if (getObj('secteur_d_activite01') != null && document.forms[the_form].status && document.forms[the_form].status.value == "COMMERCANT" && !au_moins_un_checkboxmultiple_coche('secteur_d_activite0')) 
	{
		window.alert('Veuillez saisir au moins un secteur d\'activité.');
		return false;
	}	
	
	/* On verifie que le champ adresse est renseigne*/
	if (document.forms[the_form].elements['adresse'] && document.forms[the_form].elements['adresse'].value=='') 
	{
		window.alert('Veuillez saisir votre adresse.');
		document.forms[the_form].elements['adresse'].focus();
		return false;
	}
		
	/* On verifie que le champ code_postal est renseigne*/
	if (document.forms[the_form].elements['code_postal'] && document.forms[the_form].elements['code_postal'].value=='')  
	{
		window.alert('Veuillez saisir votre code postal.');
		document.forms[the_form].elements['code_postal'].focus();
		return false;
	}
	/* Le code postal doit etre compose de 4 ou 5 chiffres */
	if (document.forms[the_form].elements['code_postal'] && !validite_code_postal(the_form, 'code_postal')) 
	{
		window.alert('Votre code postal est incorrect !');
		document.forms[the_form].elements['code_postal'].focus();
		return false;
	}
		
	/* On verifie que le champ ville est renseigne*/
	if (document.forms[the_form].elements['ville'] && (document.forms[the_form].elements['ville'].value == '' || document.forms[the_form].elements['ville'].value == 0))
	{
		window.alert('Veuillez saisir votre ville.');
		document.forms[the_form].elements['ville'].focus();
		return false;
	}
	
	/* On verifie que le champ pays est renseigne*/
	if (document.forms[the_form].elements['pays'] && document.forms[the_form].elements['pays'].value=='') 
	{
		window.alert('Veuillez saisir votre pays.');
		document.forms[the_form].elements['pays'].focus();
		return false;
	}
		
	/* On verifie que le champ tel est renseigne */				
	if (document.forms[the_form].tel0 && document.forms[the_form].status && document.forms[the_form].status.value == "COMMERCANT" && document.forms[the_form].tel0.value=='') 
	{
		window.alert('Veuillez saisir votre numéro de téléphone.');
		document.forms[the_form].tel0.focus();
		return false;
	}	
	
	/* On verifie que le champ email est renseigne*/
	if (document.forms[the_form].elements['email'] && document.forms[the_form].elements['email'].value=='')
	{
		window.alert('Veuillez saisir un e-mail.');
		document.forms[the_form].elements['email'].focus();
		document.forms[the_form].elements['email'].select();
		return false;
	}
	/* On verifie la validite de l'email */
	if (document.forms[the_form].elements['email'] && !validite_email(the_form, 'email'))
	{
		window.alert('Adresse e-mail non valide !');
		document.forms[the_form].elements['email'].focus();
		document.forms[the_form].elements['email'].select();
		return false;
	}	
	
	/* On verifie que le mail corresponde a celui saisie dans le champ verifemail */	
	if (document.forms[the_form].email && document.forms[the_form].verifemail && document.forms[the_form].email.value!=document.forms[the_form].verifemail.value) 
	{
		window.alert('Erreur lors de la confirmation de votre e-mail.');
		document.forms[the_form].verifemail.focus();
		return false;
	}
		
	/* On verifie que le champ id_pack a ete coche et que le code promo soit valide en faisant appel a la fonction verification_pack(the_form) */
	if (!verification_pack(the_form))  
	{
		return false;
	}	
	
	/* On verifie que le champ login est correctement renseigne, sans caracteres interdits */
	if (document.forms[the_form].login && document.forms[the_form].login.value=='') 
	{
		window.alert('Veuillez choisir un nom d\'utilisateur.');
		document.forms[the_form].login.focus();
		return false;
	}
	/* On verifie les caracteres saisie dans le champ login */
	if(document.forms[the_form].login && document.forms[the_form].login_verifAJX && document.forms[the_form].login_verifAJX.value==0)
	{
		window.alert('Veuillez choisir un nom d\'utilisateur avec les caractères autorisés : \n- lettres alphabétiques (majuscule ou minuscule), \n- chiffres, \n- et/ou les caractères spéciaux suivants : # @ _ - .');
		document.forms[the_form].login.focus();
		return false;
	}		
	/* On verifie que le login n'existe pas deja */	
	if(document.forms[the_form].login && document.forms[the_form].login_verifAJX && document.forms[the_form].login_verifAJX.value==-1)
	{
		window.alert('"'+document.forms[the_form].login.value+'" est déjà utilisé. \nVeuillez choisir un autre nom d\'utilisateur ! ');
		document.forms[the_form].login.focus();
		return false;
	}		
	
	/* On verifie que le champ motdepasse est correctement renseigne, sans caracteres interdits */
	if (document.forms[the_form].motdepasse && document.forms[the_form].motdepasse.value=='') 
	{
		window.alert('Veuillez choisir un mot de passe.');
		document.forms[the_form].motdepasse.focus();
		return false;
	}		
	/* On verifie les caracteres saisie dans le champ motdepasse */	
	if(document.forms[the_form].motdepasse && document.forms[the_form].motdepasse_verifAJX && document.forms[the_form].motdepasse_verifAJX.value==0)
	{
		window.alert('Veuillez choisir un mot de passe avec les caractères autorisés : \n- lettres alphabétiques (majuscule ou minuscule), \n- chiffres, \n- et/ou les caractères spéciaux suivants : # @ _ - .');
		document.forms[the_form].motdepasse.focus();
		return false;
	}
	/* On verifie que le mot de passe corresponde a celui saisie dans le champ verifmotdepasse */	
	if (document.forms[the_form].motdepasse && document.forms[the_form].verifmotdepasse && document.forms[the_form].motdepasse.value!=document.forms[the_form].verifmotdepasse.value) 
	{
		window.alert('Erreur lors de la confirmation du mot de passe.');
		document.forms[the_form].verifmotdepasse.focus();
		return false;
	}
	
    var e = 0;	
    var nb_elements = document.forms[the_form].elements.length;
	for(e = 0; e < nb_elements; e++)
	{	
		/* On verifie que le champ secteur_d_activite est renseigne */				
		if (e>0 && getObj('secteur_d_activite'+e+'1') != null && document.forms[the_form].status && document.forms[the_form].status.value == "COMMERCANT" && !au_moins_un_checkboxmultiple_coche('secteur_d_activite'+e)) 
		{
			window.alert('Veuillez saisir au moins un secteur d\'activité.');
			return false;
		}	
	
		// On verifie que le champ adresse est renseigne
		if (document.forms[the_form].elements['adresse'+e] && document.forms[the_form].elements['adresse'+e].value=='') 
		{
			window.alert('Veuillez saisir votre adresse.');
			document.forms[the_form].elements['adresse'+e].focus();
			return false;
		}		
			
		/* On verifie que le champ code_postal est renseigne*/
		if (document.forms[the_form].elements['code_postal'+e] && document.forms[the_form].elements['code_postal'+e].value=='')  
		{
			window.alert('Veuillez saisir votre code postal.');
			document.forms[the_form].elements['code_postal'+e].focus();
			return false;
		}
		/* Le code postal doit etre compose de 4 ou 5 chiffres */
		if (document.forms[the_form].elements['code_postal'+e] && !validite_code_postal(the_form, 'code_postal'+e)) 
		{
			window.alert('Votre code postal est incorrect !');
			document.forms[the_form].elements['code_postal'+e].focus();
			return false;
		}
		
		// On verifie que le champ ville est renseigne
		if (document.forms[the_form].elements['ville'+e] && (document.forms[the_form].elements['ville'+e].value == '' || document.forms[the_form].elements['ville'+e].value == 0))
		{
			window.alert('Veuillez saisir votre ville.');
			document.forms[the_form].elements['ville'+e].focus();
			return false;
		}
		
		// On verifie que le champ pays est renseigne
		if (document.forms[the_form].elements['pays'+e] && document.forms[the_form].elements['pays'+e].value=='') 
		{
			window.alert('Veuillez saisir votre pays.');
			document.forms[the_form].elements['pays'+e].focus();
			return false;
		}
	}
			
		
	/* On verifie que le champ departement est renseigne*/
	if (document.forms[the_form].elements['departement'] && document.forms[the_form].status && document.forms[the_form].status.value == "INTERNAUTE" && (document.forms[the_form].elements['departement'].value=='' || document.forms[the_form].elements['departement'].value=="-- Choisir --"))  
	{
		window.alert('Veuillez saisir votre département.');
		document.forms[the_form].elements['departement'].focus();
		return false;
	}
	
	// Pour enregistrer les villes, il faut les selectionner
	if(getObj('villea') && document.forms[the_form].status && document.forms[the_form].status.value == "INTERNAUTE")
	{
		var so = getObj('villea').options.length;
		if(so && so > 0)
		{
			for(var j=0; j<so; j++)
				document.forms[the_form].elements['villea'].options[j].selected = true;
		}
	}
		
	/* On verifie que le champ antispam est renseigne */
	if (document.forms[the_form].antispam && document.forms[the_form].antispam.value=='') 
	{
		window.alert('Veuillez saisir le mot anti-spam.');
		document.forms[the_form].antispam.focus();
		return false;
	}			
	/* On verifie que la longueur du mot antispam */	
	if (document.forms[the_form].antispam && document.forms[the_form].antispam.value.length!=6) 
	{
		window.alert('Veuillez saisir un mot anti-spam correct !');
		document.forms[the_form].antispam.focus();
		return false;
	}	
		
	// Pour finir, on demande une confirmation avant de valider le formulaire 
	/*if(confirm('Merci de confirmer ce message : \n\nAvez-vous bien renseigné tous les champs de ce formulaire ? '))
	{
		return true;
	}
	return false;	*/
	return true;
}

// Fonction de verification saisie formulaire de commande pack
function verification_pack(the_form)
{
	//alert(document.forms[the_form].id_pack_JS.value);
	if(document.forms[the_form].code_promo && document.forms[the_form].code_promo.value.length>0 && document.forms[the_form].resultat_code_promo.value <= 0)  
	{
		window.alert("Votre code promotion n'est pas valide !");
		return false;
	}
	//alert(document.forms[the_form].id_pack_JS.value);
	if(document.forms[the_form].id_pack_JS.value <= 0)  
	{
		window.alert("Veuillez choisir un pack !");
		return false;
	}
	else if(document.forms[the_form].conditions_generales_de_vente && document.forms[the_form].conditions_generales_de_vente.checked == false)
	{
		window.alert("Vous devez accepter les conditions générales de vente pour valider la commande du pack !");
		return false;		
	}
	return true
}

// Fonction de verification saisie formulaire de commande pack : etape paiement
function verification_pack_paiement(the_form)
{
	if(document.forms[the_form].mode_paiement)  
	{
		var radio = document.forms[the_form].mode_paiement;
		var nb_radio = radio.length;
		var resultat = false;
		for(var i=0; i<nb_radio; i++)
		{
			if(radio[i].checked && (radio[i].value=='CB' || radio[i].value=='CHEQUE'))
				resultat = true;
		}
		if(resultat == false)
		{
			window.alert("Vous devez choisir un mode de paiement avant de valider votre commande !");
			return false;
		}
		return true
	}
	return true
}

// Ajoute le Lundi 29 Mars 2010
// Modifie le Jeudi 01 Avril 2010
// Modifie le mercredi 9 mars 2011 (ajout du message libre dans le message de confirmation)
function confirmation_du_message(the_form)
{			
	var texte_confirme = "";
	var max = parseInt(document.forms[the_form].nb_max.value);
	var compte_nb_demande_selectionner = 0;
	for(i=1; i<=(max); i++)
	{
		if(getObj('demande' + i).checked==true)
		{
			texte_confirme += "-  " + getObj('designation' + getObj('demande' + i).value).value + '\n';
			compte_nb_demande_selectionner++;
		}
	}
	if(compte_nb_demande_selectionner > 0)
	{
		if(getObj('designationMESSAGE').value!='')
		{
			texte_confirme += "\n\nVotre message : \n" + getObj('designationMESSAGE').value + '\n';
		}
		var identite = ucfirst(document.forms[the_form].civilite.value.toLowerCase())+" "+document.forms[the_form].prenom.value+" "+document.forms[the_form].nom.value.toUpperCase();
		var changer_identite = "Pour modifier vos informations personnelles, reportez vous à la rubrique \"Mon identité\".";
		if(confirm('Merci de confirmer ce message : \n\n'+((identite!='  ')?identite+' désire' : 'Vous désirez')+' recevoir du commerçant '+document.forms[the_form].enseigne.value+' les informations suivantes : \n'+texte_confirme+((identite!='  ')? '\n\n\n'+changer_identite : '')))
		{
			return true;
		}
	}
	else
	{
		alert("Vous devez choisir au moins une demande d'information ! ");
	}
	return false;
}

// Cette fonction est utiliser par exemple pour verifier si au moins un secteur d'activite a ete coche
function au_moins_un_checkboxmultiple_coche(div)
{
	var limite = 30;
	var i = 1;
	var cpt = 0;
	//alert(div+getObj(div+i).checked); return 0;
	while(getObj(div+i) != null && i<limite)
	{
		if(getObj(div+i) != null && getObj(div+i).checked == true)
			cpt++;
		i++;
	}
	return cpt;
}


/* On verifie la validiter d'une adresse email */
function validite_email(the_form, the_input)
{
	regexp = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/;
	if (regexp.exec(document.forms[the_form].elements[the_input].value) != null) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}

/* On verifie la validiter d'un code_postal */
function validite_code_postal(the_form, the_input)
{
	regexp = /^[0-9]{4,5}$/;
	if (regexp.exec(document.forms[the_form].elements[the_input].value) != null) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}
			
function validite_longeur(the_form, the_input, max_char)
{
	if (document.forms[the_form].elements[the_input] && document.forms[the_form].elements[the_input].value.length >= (parseInt(max_char)+1))
	{
		// On affiche dans le champ uniquement les caracteres compris dans la longueur [0, max_char]
		document.forms[the_form].elements[the_input].value = document.forms[the_form].elements[the_input].value.substr(0, parseInt(max_char));
		return 0;
	}
	else
	{
		return 1;
	}
}

// Cette fonction verifie la validite du numero Siret
function Siret_valide(siret)
{
	if(typeof siret != "undefined" && !isNaN(siret) && siret!=0 && siret!="")
	{
		if(siret.match(/\d+/) && siret.length == 14)
		{
			var controle = 0;
			for(var i=0; i<14; i++)
			{
				var chiffre = parseInt(siret.substr(i, 1)); // Chiffre de la position $i
				var chiffre_mult_2or1 = chiffre*(((i+1)%2)? 2 : 1); // On multiplie par 2 ou 1 le chiffre
				controle += ((chiffre_mult_2or1>9)? (chiffre_mult_2or1 - 9) : chiffre_mult_2or1); // Si >9 on soustrait de 9
			}
			// La variable controle doit etre un multiple de 9
			if(!parseInt(controle%10))
				return 1;
			else 
				return 0;
		}
		else 
		{
			return 0;
		}
	}
	else return 0;
}

// Cette fonction ajoute un caractere au debut d'une chaine (pour obtenir par exemple le mois sur 2 chiffres 01, 02, ..., 10, 11, et 12)
String.prototype.padLeft = function (strChar, intLength)
{
	var str = this+'';
	
	while (str.length != intLength)
	{
		str = strChar+str;
	}
	return str;
}

function caracteres_autoriser(the_form, champ, chaine) 
{
	var http = getXhr();
	var verif_login = ((champ == "login") ? "&pseudo=1" : "");
	//alert(verif_login);

	if (chaine.length > 0) 
	{
		try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
		{
			http.open("GET", rep+"/Librairies/Submit/verif.function.php?chaine="+chaine+verif_login, true);
			var reponse = function (valide) 
									{
										if (http.readyState == 4) 
										{
											var results = 0;
											results = http.responseText;
											//alert(results);
											document.forms[the_form].elements[champ+"_verifAJX"].value = results;
										}	
									};	
			http.onreadystatechange = reponse;
			http.send(null);
		}
		catch(error) { }
	}
}


function getXhr()
{
	var xhr = null;
	
	if (window.XMLHttpRequest)
	{
		xhr = new XMLHttpRequest();	// On instancie la classe XMLHttpRequest pour les navigateurs Mozilla Firefox, Safari, ...
	}
	else if (window.ActiveXObject)
	{
		try 
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		/* La classe XMLHttpRequest n'est pas reconnu par le navigateur Internet Explorer.	*/
		/* On instancie alors la classe ActiveXObject.									*/
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur
		alert ("Message d&acute;avertissement\nVotre navigateur ne supporte pas les objets <b>XMLHTTPRequest</b> ...");
		xhr = false;
	}
	return xhr;
}

function affichage_infobulle(rep, divDEST, div_container, titre, message, largeur, hauteur, left)
{
	var extension = ((isIE())? 'gif' : 'png');
	//alert(message);
	document.getElementById(divDEST).innerHTML = '<div id="'+div_container+'" style="display: none; position: absolute; z-index: 999; "><table border="0" cellpadding="0" cellspacing="0" width="'+largeur+'" height="'+hauteur+'" style="position: relative; margin-top: -'+hauteur+'px; margin-left: -'+largeur+'px; top: -8px; left: '+left+'px;" id="infobulle"><tbody><tr><td width="'+largeur+'" height="30" style="background-image: url('+rep+'/Interface/Images/Infobulle_top.'+extension+'); background-repeat: no-repeat; width: '+largeur+'px; height: 30px; padding-left: 8px; padding-right: 11px;"><table border="0" cellpadding="0" cellspacing="0" width="100%" height="22" valign="top"><tbody><tr><td width="80%" height="22" class="Navigation_rubrique" >'+titre+'</td>	<td width="20%" align="right" height="22" class="Navigation_rubrique" ><a href="" onclick="closeDIV (\''+div_container+'\'); return false;" class="Bouton_Close"></a></td></tr></tbody></table></td>	</tr>	<tr><td width="'+largeur+'" style="background-image: url('+rep+'/Interface/Images/Infobulle_middle.'+extension+'); background-repeat: repeat-y; width: '+largeur+'px;" valign="top" align="center"><table border="0" cellpadding="2" cellspacing="0" width="215" height="24"><tbody><tr><td width="100%" class="texte_gris_fonce"  style="background-color: #D2DEE8; background-image: url('+rep+'/Interface/Images/Infobulle_degrade.png); background-repeat: repeat-x; background-position: bottom; padding-left: 4px; padding-right: 4px;">'+message+'</td></tr></tbody></table></td></tr>	<tr><td width="'+largeur+'" height="24" style="background-image: url('+rep+'/Interface/Images/Infobulle_bottom.'+extension+'); background-repeat: no-repeat; width: '+largeur+'px; height: 24px;"></td></tr></tbody></table></div>';
}

function formulaire_identification(rep, div)
{
	//alert(this.location.href);
	var url_courant = this.location.href;
	var action = rep+'/'+MON_COMPTE_REP+'/authentification.'+EXT+'?location='+(((url_courant.replace('http://', rep)).replace('127.0.0.1/', '')).replace('www.', '')).replace(VARIABLE_SESSION.toLowerCase()+'.com/', '/').replace(VARIABLE_SESSION.toLowerCase()+'.fr/', '/').replace('DEV/', '')+'&amp;ajx=1';
	var formulaire_mon_compte = '<form name="form_identification" action="" method="post"><table border="0" cellpadding="2" cellspacing="0" width="100%" align="left"><tbody><tr><td colspan="3" class="texte_gris_tres_fonce" width="100%">Votre nom d\'utilisateur : <br></td></tr><tr><td colspan="3" width="100%"><input type="text" name="pseudo" id="pseudo"></td></tr><tr><td height="4"></td></tr><tr><td colspan="3" class="texte_gris_tres_fonce" width="100%">Votre mot de passe : </td></tr><tr><td width="80%"><input type="password" name="password" id="password"></td><td width="20%"><input type="submit" name="save" value="OK" class="vert_OK" onclick="var pseudo=pseudo_form(); var password=password_form(); var r=\''+rep+'\'; var a=\''+action+'\'; Submit_mon_compte_Ajax(r, a+\'&amp;pseudo=\'+pseudo+\'&amp;password=\'+password, \''+div+'VERIF\'); return false;"></td><td width="0" height="0" id="'+div+'VERIF"></td></tr><tr><td colspan="3" height="20" width="100%" class="descriptif">Identifiants oubliés ? <a href="./'+MON_COMPTE_REP+'/mot_de_passe_perdu.'+EXT+'" class="texte_vert"><u>cliquez-ici </u></a><br>Cr&eacute;ez un compte consommateur, <a href="'+rep+'/'+MON_COMPTE_REP+'/inscription_internaute.'+EXT+'" onclick="document.location.href=this.href; " class="texte_vert"><u>inscription gratuite</u></a> ! </td></tr></tbody></table></form>';
	return formulaire_mon_compte;
}

function Submit_mon_compte_Ajax(rep, url, divDEST) 
{
	var http = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		http.open("POST", url, true);
		var reponse = function StatutInput() 
								{
									//alert("eee");
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										if(http != null && http.readyState == 4 && http.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = http.responseText;
											if(results)
											{
												//alert(results);
												var titre = 'Erreur';
												if(results<=0)
												{
													if(results==-1)
													{
														var message = 'Identifiant ou mot de passe erroné !';
													}
													else if(results==-2)
													{
														var message = 'Connexion à la base de données impossible !';
													}
													else if(results==-3)
													{
														var message = 'Vous n\'avez pas renseigné le champ "Mot de passe"';
													}
													else if(results==-4)
													{
														var message = 'Vous n\'avez pas renseigné le champ "Utilisateur"';
													}
													else if(results==-5)
													{
														var message = 'Vous n\'avez pas renseigné les champs "Utilisateur" et "Mot de passe"';
													}
													else
													{
														var message = 'Erreur inconnue !';
													}
													affichage_infobulle(rep, divDEST, 'ERREUR', titre, message, 231, 100, 95);
													lookDIV ('ERREUR'); 
												}
												else
												{
													window.location = rep+'/'+results; 
												}
											}
											Chargement(false);
										}
										else
										{
											Chargement(true);
										}	
									}
									catch(error) { }
								};	
		http.onreadystatechange = reponse;
		http.send(null);
	}
	catch(error) { }
}



function Submit_Choix_Coupon_Ajax(rep, url, divDEST) 
{
	var http = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		http.open("GET", url, true);
		var reponse = function StatutInput() 
								{
									//alert("eee");
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										if(http != null && http.readyState == 4 && http.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = http.responseText;
											if(results)
											{
												//alert(results);
												if(results==1)
												{
													var titre = 'OK';
													var message = 'Votre choix a été enregistré avec succès ! ';
												}
												else if(results==0)
												{
													var titre = 'Erreur';
													var message = 'Coupon de réduction non valide ! ';
												}
												else if(results==-1)
												{
													var titre = 'Identification';
													var message = 'Veuillez vous connecter sur votre espace consommateur avant de choisir un coupon de réduction ! <br><br>';
													message += formulaire_identification(rep, divDEST);
												}
												else if(results==-2)
												{
													var titre = 'Erreur';
													var message = 'Désolé, mais la quantité de coupons disponibles est épuisé ! ';
												}
												else if(results==-3)
												{
													var titre = 'Erreur';
													var message = 'Désolé, vous ne pouvez pas choisir ce coupon car la quantité de coupon disponible par consommateur est limitée.  ';
												}
												
												else if(typeof(results) == 'string' && results!='')
												{
													var titre = 'Message';
													var message = results;
												}
												
												else
												{
													var titre = 'Erreur';
													var message = 'Erreur inconnue !';
												}
												if(getObj('titre_infobulle'))
													getObj('titre_infobulle').innerHTML = titre;
												if(getObj('message_infobulle'))
													getObj('message_infobulle').innerHTML = message;
												lookDIV (divDEST); 
											}
											Chargement(false);
										}
										else
										{
											Chargement(true);
										}	
									}
									catch(error) { }
								};	
		http.onreadystatechange = reponse;
		http.send(null);
	}
	catch(error) { }
}





function trouver_sous_rubriques(url, sous_rubrique_level, sous_sous_rubrique_level, selection, the_form) 
{
	//alert(url+'\n'+sous_rubrique_level+", "+sous_sous_rubrique_level+", "+selection);
	var httpAJAX = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		httpAJAX.open("GET", url, true);
		var reponse = function az() 
								{
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										//alert(http+'_'+http.readyState+'_'+http.status);
										if(httpAJAX != null && httpAJAX.readyState == 4 && httpAJAX.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = httpAJAX.responseText;
											//alert(results);
											azerty = results.split(";");
											//alert(azerty);
											//alert(azerty.length);
											var regexp1 = /\d+/;
											
											if(selection == 0)
											{
												document.getElementById(sous_sous_rubrique_level).options.length = 0;
											
												for (var i=0; i<=document.forms[the_form].elements[sous_rubrique_level].length; i++)
												{
													document.forms[the_form].elements[sous_rubrique_level].options[i]=null;
												}
											}
											// On test si il existe du contenu a mettre dans le menu deroulant
											if(typeof results != 'undefined' && results != '')
											{
												new_option = new Option(' -- Choisir -- ', 0); 
												document.forms[the_form].elements[sous_rubrique_level].options[0] = new_option;
												document.forms[the_form].elements[sous_rubrique_level].options[0].className = 'vert';
												document.forms[the_form].elements[sous_rubrique_level].disabled=false;
												//alert(azerty+"___________\n\n"+selection);
												for (var i=0; i<azerty.length; i++)
												{
													var rubrique = azerty[i].split("]");
													//alert(rubrique);
													var id_rubrique = azerty[i].match(regexp1);
													//alert(id_rubrique);
													new_option = new Option(rubrique[1], id_rubrique); 
													document.forms[the_form].elements[sous_rubrique_level].options[i+1] = new_option;
													if(selection!=0 && id_rubrique==selection)
													{
														//alert(id_rubrique+"=="+selection+"["+sous_rubrique_level+"]");
														document.forms[the_form].elements[sous_rubrique_level].options[i+1].selected = true;
													}
												}
											}
											else
											{
												// Pas de contenu : On grise le menu deroulant
												document.forms[the_form].elements[sous_rubrique_level].options.length = 0;
												document.forms[the_form].elements[sous_rubrique_level].disabled=true;
											}
											Chargement(false);
										}
										else
										{
											Chargement(true);
										}	
									}
									catch(error) 
									{
										if(selection!=0 && selection!='')
											document.getElementById(selection).options.length = 0;
										Chargement(false); 
									}
								};	
		httpAJAX.onreadystatechange = reponse;
		httpAJAX.send(null);
	}
	catch(error) { }
}

function ajout(rubrique_level, sous_rubrique_level, sous_sous_rubrique_level, rep, the_form)
{
	selection = document.getElementById(rubrique_level).options[document.getElementById(rubrique_level).selectedIndex].value;
	//alert(selection);
	if(selection!=0)
	{
		trouver_sous_rubriques(rep+'/rubriques.php?id='+selection, sous_rubrique_level, sous_sous_rubrique_level, 0, the_form);
	}
	else
	{
		document.getElementById(sous_rubrique_level).options.length = 0;
		document.getElementById(sous_sous_rubrique_level).options.length = 0;
	}
}

/***************************************************************************************************************/

// Modifie le Mardi 10 Mai 2011 (correction sous IE et la variable "the_form" n'est plus utilisé)
function trouver_ville_en_fonction_du_code_postal(url, the_form, selection, code_postal, no_id) 
{
	//alert(code_postal+', '+url+', '+selection+", the form : "+the_form);
	//alert(url+((url.match(/\?/g)=="?") ? "&" : "?")+"code_postal="+code_postal);
	var httpAJAX = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		httpAJAX.open("GET", url+((url.match(/\?/g)=="?") ? "&" : "?")+"code_postal="+code_postal, true);
		var reponse = function v() 
								{
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										//alert(httpAJAX+'_'+httpAJAX.readyState+'_'+httpAJAX.status);
										if(httpAJAX != null && httpAJAX.readyState == 4 && httpAJAX.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = httpAJAX.responseText;
											//alert(results);
											bb = results.split(";");
											//alert(bb);
											document.getElementById(selection).options.length = 0;
											
											new_option = new Option(' -- Choisir -- ', 0); 
											document.getElementById(selection).options[0] = new_option;
											document.getElementById(selection).options[0].className = 'vert';
											document.getElementById(selection).options[0].disabled = true;
											//alert(bb.length);
											for (var i=0; i<bb.length; i++)
											{
												bb2 = bb[i].split("[");
												var regexpbb = /\d+[-\d]*/;	// Prise en charge de l'identifiant de la ville et de l'arrondissement, si il existe
												var id_bb = bb2[1].match(regexpbb);
												
												if(typeof no_id != "undefined" && no_id == true)
													new_option = new Option(bb2[0], bb2[0]); 
												else
													new_option = new Option(bb2[0], id_bb); 
												document.getElementById(selection).options[i+1] = new_option;
												/*if(selection!=0 && id_rubrique==selection)
													document.nouvelle_annonce.elements[selection].options[i+1].selected = true;*/
											}
											if('function' == typeof(Chargement))
												Chargement(false);
										}
										else
										{
											if('function' == typeof(Chargement))
												Chargement(true);
										}	
									}
									catch(error) 
									{ 
										document.getElementById(selection).options.length = 0;
										if('function' == typeof(Chargement))
											Chargement(false);
									}
								};	
		httpAJAX.onreadystatechange = reponse;
		httpAJAX.send(null);
	}
	catch(error) { }
}

function convert_HTML_vs_ISO(chaine)
{
	var chaine_corriger = chaine;
	var codeHTML = new Array('&Agrave;', '&Aacute;', '&Acirc;', '&Atilde;', '&Auml;', '&Aring;', '&AElig;', '&Ccedil;', '&Egrave;', '&Eacute;', '&Ecirc;', '&Euml;', '&Igrave;', '&Iacute;', '&Icirc;', '&Iuml;', '&ETH;', '&Ntilde;', '&Ograve;', '&Oacute;', '&Ocirc;', '&Otilde;', '&Ouml;', '&Oslash;', '&Ugrave;', '&Uacute;', '&Ucirc;', '&Uuml;', '&Yacute;', '&THORN;', '&szlig;', '&agrave;', '&aacute;', '&acirc;', '&atilde;', '&auml;', '&aring;', '&aelig;', '&ccedil;', '&egrave;', '&eacute;', '&ecirc;', '&euml;', '&igrave;', '&iacute;', '&icirc;', '&iuml;', '&eth;', '&ntilde;', '&ograve;', '&oacute;', '&ocirc;', '&otilde;', '&ouml;', '&oslash;', '&ugrave;', '&uacute;', '&ucirc;', '&yacute;', '&thorn;', '&yuml;');
	var ISO = new Array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ý', 'þ', 'ÿ');
	for(var i = 0; i<codeHTML.length; i++)
	{
		//alert(codeHTML[i]+', '+ISO[i]);
		chaine_corriger = chaine_corriger.replace(codeHTML[i], ISO[i]);
	}
	//alert(chaine_corriger);
	return chaine_corriger;
}

// Modifie le Mardi 10 Mai 2011 (correction sous IE et la variable "the_form" n'est plus utilisé)
function trouver_ville_en_fonction_du_code_postal_et_selectionner_la_ville(url, the_form, selection, code_postal, ville, no_id) 
{
	//alert(code_postal+', '+url+', '+selection+'\n'+code_postal+', '+ville+', '+no_id);
	//ville = ville.replace(/-/, " ");
	//alert(ville);
	//alert(url.match(/\?/g)+"----"+url+((url.match(/\?/g)=="?") ? "&" : "?")+"code_postal="+code_postal);
	var httpAJAX = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		httpAJAX.open("GET", url+((url.match(/\?/g)=="?") ? "&" : "?")+"code_postal="+code_postal, true);
		var reponse = function v() 
								{
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										//alert(httpAJAX+'_'+httpAJAX.readyState+'_'+httpAJAX.status);
										if(httpAJAX != null && httpAJAX.readyState == 4 && httpAJAX.status == 200)
										{
											// La page demander a ete complétement charger
											var results = 0;
											results = httpAJAX.responseText;
											//alert(results);
											bb = results.split(";");
											//alert(bb);
											document.getElementById(selection).options.length = 0;
											
											new_option = new Option(' -- Choisir -- ', 0); 
											document.getElementById(selection).options[0] = new_option;
											document.getElementById(selection).options[0].className = 'vert';
											document.getElementById(selection).options[0].disabled = true;
											ville = convert_HTML_vs_ISO(ville);
											for (var i=0; i<bb.length; i++)
											{
												bb2 = bb[i].split("[");
												var regexpbb = /\d+[-\d]*/;	// Prise en charge de l'identifiant de la ville et de l'arrondissement, si il existe
												var id_bb = bb2[1].match(regexpbb);
												
												if(typeof no_id != "undefined" && no_id == true)
												{
													new_option = new Option(bb2[0], bb2[0]); 
												}
												else
												{
													new_option = new Option(bb2[0], id_bb); 
												}
												document.getElementById(selection).options[i+1] = new_option;
												if(id_bb == ville || bb2[0].toLowerCase() == ville.toLowerCase())
												{
													document.getElementById(selection).options[i+1].selected = true;
												}
											}
											if('function' == typeof(Chargement))
												Chargement(false);
										}
										else
										{
											if('function' == typeof(Chargement))
												Chargement(true);
										}	
									}
									catch(error) 
									{ 
										document.getElementById(selection).options.length = 0;
										
										if('function' == typeof(Chargement))
											Chargement(false);
									}
								};	
		httpAJAX.onreadystatechange = reponse;
		httpAJAX.send(null);
	}
	catch(error) { }
}

function selectionne_element_d_un_select(the_form, selection, elt)
{
	var nb_elements = document.forms[the_form].elements[selection].options.length;
	//alert(nb_elements);
	for (var i=0; i<135; i++)
	{
		if(document.forms[the_form].elements[selection].options[i] == elt)
			document.forms[the_form].elements[selection].options[i].selected = true;
	}
}
										

/**
  * Checks/unchecks all options of a <select> element
  *
  * @param   string   the form name
  * @param   string   the element name
  * @param   boolean  whether to check or to uncheck the element
  *
  * @return  boolean  always true
  */
function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) 
	{
		if(selectObject.options[i].disabled != true)
			selectObject.options[i].selected = do_check;
    } // end for

    return true;
} // end of the 'setSelectOptions()' function


function teste_si_message_deja_lu(message_lu)
{
	var luTAB = message_lu.split(';');
	for(var i = 0; i < luTAB.length-1; i++)
	{
		if(parseInt(luTAB[i]) == 0)
		{
			return true;
		}
	}
	return false;
}



function action_dans_la_base_SQL(url) 
{
	//alert(url);
	var httpAJAX = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		httpAJAX.open("GET", url, true);
		var reponse = function actionSQL() 
								{
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										//alert(http+'_'+http.readyState+'_'+http.status);
										if(httpAJAX != null && httpAJAX.readyState == 4 && httpAJAX.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = httpAJAX.responseText;
											//alert(results);
											Chargement(false);
										}
										else
										{
											Chargement(true);
										}	
									}
									catch(error) { }
								};	
		httpAJAX.onreadystatechange = reponse;
		httpAJAX.send(null);
	}
	catch(error) { return 0; }
	return 1;
}

/***************************************************************************************/
/* Construction d'une liste de modele de lettre reponse pour la partie Relation Consommateur ou Commecant */
function trouver_modeles(the_form, selection) 
{
	var url = rep+"/liste_modele."+EXT;
	var httpAJAX = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		httpAJAX.open("GET", url, true);
		var reponse = function modele() 
								{
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										//alert(http+'_'+http.readyState+'_'+http.status);
										if(httpAJAX != null && httpAJAX.readyState == 4 && httpAJAX.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = httpAJAX.responseText;
											//alert(results);
											azerty = results.split(";");
											//alert(azerty);
											//alert(azerty.length);
											var regexp1 = /\d+/;
											
											if(selection == 0)
											{
												document.forms[the_form].elements[selection].options.length = 0;
											
												for (var i=0; i<=document.forms[the_form].elements[selection].length; i++)
												{
													document.forms[the_form].elements[selection].options[i]=null;
												}
											}
											new_option = new Option(' -- Choisir -- ', 0); 
											document.forms[the_form].elements[selection].options[0] = new_option;
											document.forms[the_form].elements[selection].options[0].className = 'vert';
											//alert(azerty+"___________\n\n"+selection);
											for (var i=0; i<azerty.length; i++)
											{
												var rubrique = azerty[i].split("]");
												//alert(rubrique);
												var id_rubrique = azerty[i].match(regexp1);
												//alert(id_rubrique);
												new_option = new Option(rubrique[1], id_rubrique); 
												//document.nouvelle_annonce.elements[sous_rubrique_level].options[document.nouvelle_annonce.elements[sous_rubrique_level].length]=new_option;
												document.forms[the_form].elements[selection].options[i+1] = new_option;
											}
											Chargement(false);
										}
										else
										{
											Chargement(true);
										}	
									}
									catch(error) { }
								};	
		httpAJAX.onreadystatechange = reponse;
		httpAJAX.send(null);
	}
	catch(error) { }
}

function modele_reponse(id, textarea_id)
{
	var url = rep+"/liste_modele.php";
	var httpAJAX = getXhr();
	try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
	{
		httpAJAX.open("GET", url+'?id='+id, true);
		var reponse = function modele() 
								{
									try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
									{
										//alert(http+'_'+http.readyState+'_'+http.status);
										if(httpAJAX != null && httpAJAX.readyState == 4 && httpAJAX.status == 200)
										{	// La page demander a ete complétement charger
											var results = 0;
											results = httpAJAX.responseText;
											//alert(results);
											//alert('+'+tinyMCE.getContent()+'+');
											if(tinyMCE.getContent()!="")
											{
												if(confirm('Merci de confirmer ce message : \n\nUn message texte est déjà écrit, souhaitez vous le remplacer ? ')) 
												{
													//alert(getObj(textarea_id).innerHTML); 
													//tinyMCE.execCommand('mceReplaceContent', true, results);
													tinyMCE.setContent(results);
												}
											}
											else
											{
												tinyMCE.execCommand('mceInsertContent', false, results);
											}
											Chargement(false);
										}
										else
										{
											Chargement(true);
										}	
									}
									catch(error) { }
								};	
		httpAJAX.onreadystatechange = reponse;
		httpAJAX.send(null);
	}
	catch(error) { }
}

function UniqueKey(clefs)
{
	var clefTAB = clefs.split(";");
	var newclefs = "";
	var newclefsTAB = new Array();
	newclefsTAB[0] = "";
	
	for (var i = 0; i < clefTAB.length-1; i++)
	{
		for (var j = 0; j < newclefsTAB.length; j++)
		{
			if(clefTAB[i] != newclefsTAB[j])
			{
				newclefsTAB[j] = clefTAB[i];
				newclefs += clefTAB[i]+';';
			}
		}
	}
	return newclefs;
}

// Cette fonction modifie les prix des packs (utilise lors de l'inscription ou de la recharge du compte)
// Ajoute le Mercredi 02 Juin 2010
// Modifie le Mercredi 02 Mars 2011 (pb prix)
function promotion_sur_packs(nb_prix, code_promo)
{
	var http = getXhr();

	if (code_promo.length > 0) 
	{
		try	// On fait attention aux erreurs "uncaught exception: [Exception..." que peut generee http.send(null), suite a certain caracteres (ex: @, \, ...)
		{
			http.open("GET", rep+"/Librairies/Submit/verif.function.php?code_promo="+code_promo, true);
			var reponse = function () 
									{
										if (http.readyState == 4) 
										{
											var results = 0;
											results = http.responseText;
											//alert(results);
											getObj('resultat_code_promo').value = results;
											
											var prix_formate = new Array();
											var prix = new Array();
											var resultat_code_promo = getObj('resultat_code_promo').value
											var valeur_promo = parseInt(resultat_code_promo);
											var unite_promo = resultat_code_promo.replace(valeur_promo, '');
											
											//alert(valeur_promo+"--"+unite_promo);
											for(var i = 0; i < nb_prix; i++)
											{ 
												prix_formate[i] = (getObj('prix_initial'+i).value);
												prix[i] = ((getObj('prix_initial'+i).value.replace(' ', '').replace('\u00a0', '')).replace(',', '.') + 0);
												if(valeur_promo>0)
												{
													if(unite_promo=='EURO')
													{
														var conversion = prix[i]-valeur_promo;
													}
													else
													{
														var conversion = prix[i]-(prix[i]*valeur_promo/100);
													}
													getObj('prix_affiche'+i).innerHTML = (conversion.toFixed(2)).replace('.', ',')+" € <small> au lieu de "+prix_formate[i]+" €</small>";
												}
												else
													getObj('prix_affiche'+i).innerHTML = prix_formate[i]+" €";
											}
											if(!valeur_promo)
												alert('Le code promotion n\'est pas valide ! ');
											
											jQuery('#TB_load').hide();//show loader
										}	
										else
										{
											jQuery("body").append("<div id='TB_load'><table border='0' cellpadding='0' cellspacing='0' align='center' width='220' class='background_chargement' style='background-image: url("+rep+"/Interface/Images/Chargement/background_chargement.png);'><tbody>	<tr><td align='center' valign='middle' height='45'>	<table border='0' cellpadding='0' cellspacing='0' align='center'><tbody><tr><td width='40' height='32'><img src='"+imgLoader.src+"' alt='boutique' border='0' width='32' height='32' style='margin-right: 8px;'></td><td height='32' class='big_chargement'>Chargement</td></tr></tbody></table></td></tr></tbody></table></div>");//add loader to the page

											jQuery('#TB_load').show();//show loader
										}
									};	
			http.onreadystatechange = reponse;
			http.send(null);
		}
		catch(error) { }
	}
}

// Toutes les fonctions ont ete modifie le Vendredi 16 Juillet 2010 (ajout de DIV 'nb_selection_top')
// Modifié le Jeudi 21 Juillet 2011 (ajout show & hide ('actions_cacher'))

// VARIABLES GLOBALES : 
var marked_row = new Array;
var cpt = 0;
	
function PMA_markRowsInit() 
{
	marked_row = new Array;
	//alert('PMA_markRowsInit');
    // for every table row ...
    var rows = document.getElementsByTagName('tr');
	//alert("PMA_markRowsInit : "+rows.length);
    for (var i = 0; i < rows.length; i++) 
	{
        // ... with the class 'odd' or 'even' ...
        if ('odd' != rows[i].className.substr(0,3) && 'even' != rows[i].className.substr(0,4) && 'enabled' != rows[i].className.substr(0,7)) 
		{
            continue;
        }
		
        // ... add event listeners ...
        // ... to highlight the row on mouseover ...
		rows[i].onmouseover = function() 
		{
			div = this.getElementsByTagName( 'div' )[0];
			if(div.id=='actions_cacher')
			{
				show(div);
			} 
			// but only for IE, other browsers are handled by :hover in css
			if (navigator.appName == 'Microsoft Internet Explorer') 
				this.className += ' '+(((this.className).search('enabled')>-1)? 'sensor' : 'hover');
		}
		rows[i].onmouseout = function() 
		{
			div = this.getElementsByTagName( 'div' )[0];
			if(div.id=='actions_cacher')
			{
				hide(div);
			}
			// but only for IE, other browsers are handled by :hover in css
			if (navigator.appName == 'Microsoft Internet Explorer') 
				this.className = this.className.replace( ' '+(((this.className).search('enabled')>-1)? 'sensor' : 'hover'), '' );
		}
			
        // Do not set click events if not wanted
        if (rows[i].className.search(/noclick/) != -1) 
		{
            continue;
        }
        // ... and to mark the row on click ...
        rows[i].onmousedown = function() 
		{
            var unique_id;
            var checkbox;

            checkbox = this.getElementsByTagName( 'input' )[0];
            if ( checkbox && checkbox.type == 'checkbox' ) 
			{
                unique_id = checkbox.name + checkbox.value;
				if (checkbox.disabled != true) 
				{
					if (checkbox.checked == true) 
						cpt--;
					else
					{
						cpt++;
					}
				}
            } 
			else if ( this.id.length > 0 ) 
			{
                unique_id = this.id;
            } 
			else 
			{
                return;
            }

            if (typeof marked_row[unique_id] == 'undefined' || !marked_row[unique_id]) 
			{
                marked_row[unique_id] = true;
            } 
			else 
			{
				marked_row[unique_id] = false;
            }
			
			if(checkbox.disabled != true) 
			{
	            if ( marked_row[unique_id] ) 
				{
					this.className += ' '+(((this.className).search('enabled')>-1)? 'selected' : 'marked');
	            } 
				else 
				{
	                this.className = this.className.replace(' '+(((this.className).search('enabled')>-1)? 'selected' : 'marked'), '');
	            }
			}
			
            if ( checkbox && checkbox.disabled == false && checkbox.disabled != true) 
			{
                checkbox.checked = marked_row[unique_id];
            }
			//alert(cpt);
			//alert(unique_id);
			//alert(marked_row[unique_id]);
			if(getObj('nb_selection'))
				getObj('nb_selection').innerHTML = cpt;
			if(getObj('nb_selection_top'))
				getObj('nb_selection_top').innerHTML = cpt;				
        }

        // ... and disable label ...
        var labeltag = rows[i].getElementsByTagName('label')[0];
        if ( labeltag ) 
		{
            labeltag.onclick = function() 
			{
                return false;
            }
        }
        // .. and checkbox clicks
        var checkbox = rows[i].getElementsByTagName('input')[0];
        if ( checkbox ) 
		{
            checkbox.onclick = function() 
			{
                // opera does not recognize return false;
                this.checked = ! this.checked;
            }
        }
    }
}
//window.onload=PMA_markRowsInit;

// Cette fonction teste si tout les checkbox sont deja coches
function Already_Checked (container_id) 
{
	//alert(container_id);
    var rows = document.getElementById(container_id).getElementsByTagName('tr');
    var checkbox;
	cpt_checked = 0;
	cpt_no_checked = 0;
	
    for (var i = 0; i < rows.length; i++) 
	{
        checkbox = rows[i].getElementsByTagName( 'input' )[0];

        if (checkbox && checkbox.type == 'checkbox' &&  ('odd' == rows[i].className.substr(0,3) || 'even' == rows[i].className.substr(0,4) || 'enabled' == rows[i].className.substr(0,7))) 
		{
            if (checkbox.disabled == false) 
			{
				if (checkbox.checked == true) 
				{
					cpt_checked++;
				}
				else
				{
					cpt_no_checked++;
				}
				//alert(checkbox.value);
            }
        }
    }
	
	//alert(cpt_checked+" == "+cpt_no_checked);
	if(cpt_no_checked == 0)
		return true;
	else
		return false;
}

// Cette fonction coche les checkbox indique en parametre
function Cocher_Checked (container_id, coche) 
{
	//alert(container_id+"-"+coche);
	var marqueur = "";
	if(typeof coche != 'undefined')
	{
		if(getObj(container_id))
		{
		    var rows = document.getElementById(container_id).getElementsByTagName('tr');
		    var checkbox;
			
			var cocheTAB  = coche.split(";");
			var nb_coche = cocheTAB.length;
													
		    for (var i = 0; i < rows.length; i++) 
			{
		        checkbox = rows[i].getElementsByTagName( 'input' )[0];

		        if (checkbox && checkbox.type == 'checkbox' &&  ('odd' == rows[i].className.substr(0,3) || 'even' == rows[i].className.substr(0,4) || 'enabled' == rows[i].className.substr(0,7))) 
				{
		            if (checkbox.disabled == false) 
					{							
						for (var j = 0; j < nb_coche; j++) 
						{
							if (checkbox.value == cocheTAB[j] && cocheTAB[j]!="" && checkbox.value==cocheTAB[j]) 
							{
				                unique_id = checkbox.name + checkbox.value;
								//alert(nb_coche+"-"+checkbox.value+"|"+cocheTAB[j]+"-"+unique_id);
								//alert(marked_row[unique_id]);
								marked_row[unique_id] = true;
								checkbox.checked = marked_row[unique_id];
								rows[i].className += ' '+(((rows[i].className).search('enabled')>-1)? 'selected' : 'marked');
								if(marqueur.search("["+checkbox.value+"]")==-1)
								{
									marqueur += "["+checkbox.value+"]";
									cpt++;
								}
							}
						}
		            }
		        }
		    }
		}
	}
	else
	{
		cpt = 0;
	}
	
	if(getObj('nb_selection'))
		getObj('nb_selection').innerHTML = cpt;
	if(getObj('nb_selection_top'))
		getObj('nb_selection_top').innerHTML = cpt;			
}

/**
 * marks all rows and selects its first checkbox inside the given element
 * the given element is usaly a table or a div containing the table or tables
 *
 * @param    container    DOM element
 */
function markAllRows( container_id ) 
{
	//alert(container_id);
    var rows = document.getElementById(container_id).getElementsByTagName('tr');
    var unique_id;
    var checkbox;
	cpt = 0;

	// On efface tout ...
	unMarkAllRows( container_id );
	// Et on recommence a compter et a cocher
    for ( var i = 0; i < rows.length; i++ ) 
	{
        checkbox = rows[i].getElementsByTagName( 'input' )[0];

        if ( checkbox && checkbox.type == 'checkbox' && ('odd' == rows[i].className.substr(0,3) || 'even' == rows[i].className.substr(0,4) || 'enabled' == rows[i].className.substr(0,7))) 
		{
            unique_id = checkbox.name + checkbox.value;
            if (checkbox.disabled == false) 
			{
				if(rows[i].className!='' && ((rows[i].className).search('even')>-1 || (rows[i].className).search('odd')>-1 || (rows[i].className).search('enabled')>-1))
				{
	                checkbox.checked = true;
					rows[i].className += ' '+(((rows[i].className).search('enabled')>-1)? 'selected' : 'marked');
	                if ( typeof(marked_row[unique_id]) == 'undefined' || !marked_row[unique_id] ) 
					{
	                    marked_row[unique_id] = true;
						cpt++;
	                }
				}
            }
        }
		getObj('nb_selection').innerHTML = cpt;
		if(getObj('nb_selection_top'))
			getObj('nb_selection_top').innerHTML = cpt;			
    }
	//alert(unique_id);

    return true;
}

/**
 * marks all rows and selects its first checkbox inside the given element
 * the given element is usaly a table or a div containing the table or tables
 *
 * @param    container    DOM element
 */
function unMarkAllRows( container_id ) 
{
	//alert(container_id);
	if(getObj(container_id))
	{
	    var rows = document.getElementById(container_id).getElementsByTagName('tr');
	    var unique_id;
	    var checkbox;
		cpt = 0;
		
	    for ( var i = 0; i < rows.length; i++ ) 
		{		
			if(rows[i].className!='' && ((rows[i].className).search('even')>-1 || (rows[i].className).search('odd')>-1 || (rows[i].className).search('enabled')>-1))
			{
		        checkbox = rows[i].getElementsByTagName('input')[0];

		        if ( checkbox && checkbox.type == 'checkbox' ) 
				{
		            unique_id = checkbox.name + checkbox.value;
		            checkbox.checked = false;
		            rows[i].className = rows[i].className.replace(' '+(((rows[i].className).search('enabled')>-1)? 'selected' : 'marked'), '');
		            marked_row[unique_id] = false;
		        }
			}
	    }
		//alert(unique_id);
		if(getObj('nb_selection'))
			getObj('nb_selection').innerHTML = cpt;
		if(getObj('nb_selection_top'))
			getObj('nb_selection_top').innerHTML = cpt;			

	    return true;
	}
	else 
		return false;
}

function getAdresseADMIN(clefs)
{
	//clefs += ';';
	var clefsTAB = clefs.split(";");
	var adresses = '';
	for(var i=0; i<clefsTAB.length; i++)
	{
		if(getObj('adresse'+i))
			adresses += getObj('adresse'+i).value+', '+getObj('code_postal'+i).value+' '+ucfirst(getObj('villeAJX'+i).options[parseInt(getObj('villeAJX'+i).selectedIndex)].innerHTML)+' '+getObj('pays'+i).value.toUpperCase()+';';
	}
	return adresses;
}

/*
function checkboxID(container_id, objet, clef) 
{
	//alert(container_id);
	var unique_id = "";
	var tt = "";
	if(isNaN(getObj(container_id)))
	{
	    var rows = getObj(container_id).getElementsByTagName('td');
	    var checkbox;
		var baliseHTML = "";
		//alert(clef);
		// ((rows[i].className).search('odd') || (rows[i].className).search('even'))
		var nb_tr = rows.length;
	    for (var i = 0; i < nb_tr; i++) 
		{
			var nb_u = rows[i].childNodes.length;
			for(var u = 0; u<nb_u; u++)
			{
				baliseHTML = rows[i].childNodes[u].tagName;
				if(typeof baliseHTML != "undefined" && baliseHTML.toLowerCase() == 'input')
				{
					checkbox = rows[i].childNodes[u];
					tt += i+"-"+u+"-"+nb_u+'['+checkbox.name+']'+checkbox.value+" - ";
					tt += '\n\n';
					//checkbox = rows[i].getElementsByTagName('input')[0];
					//alert((rows[i].getElementsByTagName('tr')).length);
			        if (checkbox && checkbox.type == 'checkbox' && checkbox.checked == true && checkbox.disabled != true) 
					{
						switch(objet)
						{
							case "ID":
								unique_id += checkbox.id+';';
								break;
							case "NAME":
								unique_id += checkbox.name+';';
								break;
							case "VALUE":
								unique_id += checkbox.value+';';
								break;
							case "CLE_PRIMAIRE":
								var input = rows[i].parentNode.getElementsByTagName('input');
								var nb_input = input.length;	
								var j = 0; 
								var stop = false;
								while(j<nb_input && !stop)
								{			
									if(input[j].name == clef)		
									{			
										stop = true;
										alert(input[j].name);
									}
									j++;
								}					
								unique_id += input[j-1].value+';';										
								break;
							case "ALL":
								var input = rows[i].getElementsByTagName('input');
								var nb_input = input.length;	
								var j = 1; 
								while(j<nb_input)
								{				
									unique_id += input[j].value+' ';
									j++;
								}					
								unique_id += ';';										
								break;
							default:
								unique_id += checkbox.id+'_'+checkbox.name+':'+checkbox.value;
								break;
						}
			        }
				}
			}
	    }
		//alert(unique_id);
		alert(tt);
	}
	
    return unique_id;
}*/


function checkboxID(container_id, objet, clef) 
{
	//alert(container_id);
	var unique_id = "";
	var idMARQUE = ";";
	if(isNaN(getObj(container_id)))
	{
	    var rows = getObj(container_id).getElementsByTagName('tr');
	    var checkbox;

	    for ( var i = 0; i < rows.length; i++ ) 
		{
	        checkbox = rows[i].getElementsByTagName( 'input' )[0];
	        if ( checkbox && checkbox.type == 'checkbox' && checkbox.checked == true && checkbox.disabled != true && ('odd' == rows[i].className.substr(0,3) || 'even' == rows[i].className.substr(0,4) || 'enabled' == rows[i].className.substr(0,7))) 
			{
				if(idMARQUE.search(';'+checkbox.id+';')==-1)
				{
					idMARQUE += checkbox.id+';';
					switch(objet)
					{
						case "ID":
							unique_id += checkbox.id+';';
							break;
						case "NAME":
							unique_id += checkbox.name+';';
							break;
						case "VALUE":
							unique_id += checkbox.value+';';
							break;
						case "CLE_PRIMAIRE":
							var input = rows[i].getElementsByTagName('input');
							var nb_input = input.length;	
							var j = 0; 
							var stop = false;
							while(j<nb_input && !stop)
							{			
								if(input[j].name == clef)		
								{			
									stop = true;
								}
								j++;
							}					
							unique_id += input[j-1].value+';';		
							break;
						case "ALL":
							var input = rows[i].getElementsByTagName('input');
							var nb_input = input.length;	
							var j = 1; 
							while(j<nb_input)
							{				
								unique_id += input[j].value+' ';
								j++;
							}					
							unique_id += ';';							
							break;
						default:
							unique_id += checkbox.id+'_'+checkbox.name+':'+checkbox.value;
							break;
					}
				}
	        }
	    }
		//alert(unique_id);
		//alert(idMARQUE);
	}
	
    return unique_id;
}


// Fonction cree le Mardi 20 Juillet 2010 
function TrieChoix(divBase, divTri, divinnerHTML, divLI, nom_de_la_class, nom_de_la_class_active)
{
	getObj(divTri).innerHTML = divinnerHTML;
	
	var rows = getObj(divBase).getElementsByTagName('li');

	for ( var i = 0; i < rows.length; i++ ) 
	{
		if(rows[i].id == divLI)
			rows[i].className = nom_de_la_class_active;
		else if(rows[i].className == nom_de_la_class_active)
			rows[i].className = nom_de_la_class;
	}	
}

/**
  * Checks/unchecks all options of a <select> element
  *
  * @param   string   the form name
  * @param   string   the element name
  * @param   boolean  whether to check or to uncheck the element
  *
  * @return  boolean  always true
  */
function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) {
        selectObject.options[i].selected = do_check;
    } // end for

    return true;
} // end of the 'setSelectOptions()' function

function addSelectOptions(the_form, the_select_source, the_select_destination, input)
{
    var selectObject = document.forms[the_form].elements[the_select_source];
    var selectObjectDest = document.forms[the_form].elements[the_select_destination];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) 
	{
        if(selectObject.options[i].selected == true)
		{
			var existe_deja = false;
			for (var j = 0; j < selectObjectDest.length; j++) 
			{
		        if(selectObject.options[i].value == selectObjectDest.options[j].value)
					existe_deja = true;
		    }
			if(!existe_deja)
				selectObjectDest.options[selectObjectDest.length] = new Option(selectObject.options[i].text, selectObject.options[i].value);
		}
    } // end for
	if(getObj('quantite_ajoutee'))
		getObj('quantite_ajoutee').innerHTML = selectObjectDest.length;
		
	if(typeof input != 'undefined')
		elementSelectOptions(the_form, the_select_destination, input);
	
    return true;
}
function removeSelectOptions(the_form, the_select_destination, input)
{
    var selectObjectDest = document.forms[the_form].elements[the_select_destination];
    var selectCountDest  = selectObjectDest.length;

    for (var i = 0; i < selectCountDest; i++) 
	{
        if(selectObjectDest.options[i] && selectObjectDest.options[i].selected == true)
		{
			selectObjectDest.options[i].length = 0;
			selectObjectDest.removeChild(selectObjectDest.options[i]);
			i--;
		}
    } // end for
	if(getObj('quantite_ajoutee'))
		getObj('quantite_ajoutee').innerHTML = selectObjectDest.length;
		
	if(typeof input != 'undefined')
		elementSelectOptions(the_form, the_select_destination, input);

    return true;
}
function elementSelectOptions(the_form, the_select_destination, input)
{
	if(typeof input != 'undefined')
	{
		var selectObjectDest = document.forms[the_form].elements[the_select_destination];
		var selectCountDest  = selectObjectDest.length;
		var liste_elements = '';
		
	    for (var i = 0; i < selectCountDest; i++) 
		{
	        if(selectObjectDest.options[i])
			{
				liste_elements += selectObjectDest.options[i].value+';';
			}
	    }
		document.forms[the_form].elements[input].value = liste_elements;
	}
}

var url = rep+'/popup_aide.php?message=';
var message;
var Titre_du_menu;
var Adresse_predefinie = "Mes adresses prédéfinies";
var Aucune_adresse = "Aucune adresse n&acute;a &eacute;t&eacute; d&eacute;finie ! ";
var Other_street = "Rechercher une offre dans un autre lieu";
var Adresse = "Voir aussi les adresses suivantes";
var div_menu_ou;
var limite_menu;
var valeur_actuel;
var largeur = 180;
var ielem;

var http = getXhr();

function getVilles(div) 
{
	show(getObj('poss')); 
	var Element = "rien";
	http.open("GET", url+escape(Element), true);
	http.onreadystatechange = handleHttpResponse;
	http.send(null);
}

function getMessages(div)
{
	show(getObj('poss')); 
	var Element = "rien";
	http.open("GET", url+escape(Element), true);
	http.onreadystatechange = handleHttpResponse2;
	http.send(null);
}

function closeMenu(e) 
{
	e?evt=e:evt=event;
	CSE=evt.target?evt.target:evt.srcElement;
	if (getObj(div_menu_ou))
	{
		if (!isChild(CSE,getObj(div_menu_ou)))
		{
			getObj('poss').style.display='none';
			if(isIE())	getObj('possFRAME').style.display='none';
			getObj(div_menu_ou).className = div_menu_ou;
		}
	}
}

function handleHttpResponse() 
{
	if (http.readyState == 4) 
	{
		var chaine = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"14\" width=\""+largeur+"\"><tbody>";
		// Affichage des adresses predefinies par l'utilisateur
		if(limite_menu==0)
		{
			chaine += "<tr><td class=\"texte_blanc\" width=\""+largeur+"\" height=\"14\" valign=\"center\" style=\"background-image:url("+rep+"/Interface/Images/Barre_navigation_middle.png); background-repeat: repeat-x; background-position: center; width: "+largeur+"px; height:24px;\"><center>"+Adresse_predefinie+" : </center></td></tr>";
			var messages = message.split(",");
			if(message=="")
			{
				chaine += "<tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\""+largeur+"\" height=\"14\"><tbody><tr><td class=\"texte_gris\" height=\"14\" valign=\"center\" style=\"left: -10px; padding-left: 10px; right: -10px; padding-right: 10px;\">"+Aucune_adresse+"</td></tr></tbody></table></td></tr>";
			}
			else
			{
				for (m in messages) 
				{
					var ville = messages[m].split("[");
					//alert(ville);
					//alert(ville[0]);
					//alert(ville[1]);
					var nom_ville = ville[1].split("]");
					var regexpID = /\S+/;
					var id = escape(nom_ville[0]).match(regexpID);
					//alert(id);
					//alert(convert_accentHTML_vers_ISO(messages[m])+' == '+convert_accentHTML_vers_ISO(valeur_actuel));
					var style = ((convert_accentHTML_vers_ISO(ville[0]) == convert_accentHTML_vers_ISO(valeur_actuel) || convert_accentHTML_vers_ISO(ville[0]) == convert_accentHTML_vers_ISO(valeur_actuel+' (par défaut)')) ? "valeur_selectionnee" : "Autocomplete");
					if(messages[m]!="" && m==0 && limite_menu==0)
					{
						// Defaut d'affichage : oblige d'ajouter  bgcolor=\"#0D0D0D\"
						chaine += "<tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\""+largeur+"\" height=\"14\" bgcolor=\"#0D0D0D\"><tbody>";
					}
					if(messages[m]!="" && m<=(messages.length)-1)
					{
						chaine += "<tr><td class=\"Autocomplete\" height=\"14\" valign=\"center\" style=\"width: "+(largeur-28)+"px; _width: "+largeur+"px;\"><a href=\"javascript:completion('";
						chaine += escape(ville[0]);
						chaine += "', '"+(id)+"');\" class=\""+style+"\">";
						chaine += ville[0];
						chaine += "</a><br/></td></tr>";
					}
					if(m==(messages.length)-1)
					{
						chaine += "</tbody></table></td></tr>";
					}
				}
			}
		}
		if(limite_menu==0)
			chaine += "<tr><td class=\"texte_blanc\" width=\""+largeur+"\" height=\"14\" valign=\"center\" style=\"background-image:url("+rep+"/Interface/Images/Barre_navigation_middle.png); background-repeat: repeat-x; background-position: center; height:24px;\"><a href=\""+rep+"/rechercher.php?formulaire=detaille\" class=\"email\"><center>"+Other_street+"</center></a></td></tr>";
	
		/*var results = http.responseText.split(",");
		for (p in results) 
		{
			var style = ((convert_accentHTML_vers_ISO(results[p]) == convert_accentHTML_vers_ISO(valeur_actuel)) ? "valeur_selectionnee" : "Autocomplete");
			if(results[p]!="" && p==0)
			{
				if(limite_menu==0)
					chaine += "<tr><td class=\"texte_blanc\" width=\""+largeur+"\" height=\"14\" valign=\"center\" style=\"background-image:url("+rep+"/Interface/Images/Barre_navigation_middle.png); background-repeat: repeat-x; background-position: center; height:24px;\"><center>"+Adresse+" : </center></td></tr>";
				chaine += "<tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\""+largeur+"\" height=\"14\"><tbody>";
			}
			if(results[p]!="" && p<=(results.length)-1)
			{
				chaine += "<tr><td class=\""+style+"\" height=\"14\" valign=\"center\"><a href=\"javascript:completion('";
				chaine += escape(results[p]);
				chaine += "', '"+escape(results[p])+"');\" class=\""+style+"\">";
				chaine += results[p];
				chaine += "</a><br/></td></tr>";
			}
			if(p==(results.length)-1)
			{
				chaine += "</tbody></table></td></tr>";
			}
		}*/
		chaine += "</tbody></table>";
		document.getElementById('poss').innerHTML = chaine;
	}
}

function handleHttpResponse2() 
{
	if (http.readyState == 4) 
	{
		var chaine = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"14\" width=\""+largeur+"\"><tbody>";
		
		chaine += "<tr><td class=\"texte_blanc\" width=\""+largeur+"\" height=\"14\" valign=\"center\" style=\"background-image:url("+rep+"/Interface/Images/Barre_navigation_middle.png); background-repeat: repeat-x; background-position: center; width: "+largeur+"px; height:24px;\"><center>"+Titre_du_menu+" : </center></td></tr>";
		var messages = message.split(",");
		if(message=="")
		{
			chaine += "<tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\""+largeur+"\" height=\"14\"><tbody><tr><td class=\"texte_gris\" height=\"14\" valign=\"center\" style=\"left: -10px; padding-left: 10px; right: -10px; padding-right: 10px;\">Liste vide !</td></tr></tbody></table></td></tr>";
		}
		else
		{
			for (m in messages) 
			{
				var style = ((convert_accentHTML_vers_ISO(messages[m]) == convert_accentHTML_vers_ISO(valeur_actuel)) ? "valeur_selectionnee" : "Autocomplete");
				if(messages[m]!="" && m==0)
				{
					// Defaut d'affichage : oblige d'ajouter  bgcolor=\"#0D0D0D\"
					chaine += "<tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\""+largeur+"\" height=\"14\" bgcolor=\"#0D0D0D\"><tbody>";
				}
				if(messages[m]!="" && m<=(messages.length)-1)
				{
					chaine += "<tr><td class=\"Autocomplete\" height=\"14\" valign=\"center\" style=\"width: "+(largeur-28)+"px; _width: "+largeur+"px;\"><a href=\"javascript:completionLite('";
					chaine += escape(messages[m]);
					chaine += "');\" class=\""+style+"\">";
					chaine += messages[m];
					chaine += "</a><br/></td></tr>";
				}
				if(m==(messages.length)-1)
				{
					chaine += "</tbody></table></td></tr>";
				}
			}
		}
			
		chaine += "</tbody></table>";
		document.getElementById('poss').innerHTML = chaine;
	}
}

function completion(mot, ID) 
{
	hide(getObj('poss'));
	document.getElementById(ielem).value = convert_accentHTML_vers_ISO(mot);
	//alert(ielem.replace('_perso', ''));
	if(ielem.search('_perso') && isNaN(document.getElementById(ielem.replace('_perso', ''))))
		document.getElementById(ielem.replace('_perso', '')).value = ID;
	getObj(div_menu_ou).className = div_menu_ou;
}

function completionLite(mot) 
{
	hide(getObj('poss'));
	document.getElementById(ielem).value = convert_accentHTML_vers_ISO(mot);
}
	

if(typeof largeur!="undefined")
{
	var chaine = "";
	if(isIE())
	{
		// Sous Internet Explorer, on ajoute une frame afin que le div plugin puisse s'afficher correctement (au dessus du select type de voile)
		// Probleme: Un affichage plus long que sous Firefox !!
		chaine += '<iframe  id="possFRAME" style="display: none; z-index: 998; background-color: #0d0d0d; position: absolute; width: '+largeur+'px;" frameborder="0" scrolling="no"></iframe>';
	}
	chaine += '<div id="poss" style="display: none; z-index: 999; background-color: #0d0d0d; position: absolute; width: '+largeur+'px;">'; //  overflow: auto; height: 200px;
	chaine += '</div>';
	document.write(chaine);
}

function Auto(ielem, div, message) 
{
	//alert(message);
	this.ielem = ielem;
	this.div_menu_ou = div;
	this.limite_menu = parseInt((typeof STATUS != "undefined" && STATUS=='INTERNAUTE') ? 0 : 1);
	this.message = message;
	var cptligne = (message.split(",")).length + 2;
	this.valeur_actuel = getObj(ielem).value;
	this.largeur = getObj(ielem).clientWidth;
	//alert(this.largeur);
	
	if(getObj(div).focus)
		getObj(div).className = div_menu_ou+"_focus";
		
	getVilles(div);
	
	getObj('poss').style.left=Left(getObj(ielem))-1;
	getObj('poss').style.top=Top(getObj(ielem))+getObj(ielem).offsetHeight;
	getObj('poss').style.display='';
	
	if(isIE())
	{
		//alert(Left(getObj(ielem))+"--------"+Top(getObj(ielem))+"__"+getObj(ielem).offsetHeight);
		getObj('possFRAME').style.left=Left(getObj(ielem));
		getObj('possFRAME').style.top=Top(getObj(ielem))+getObj(ielem).offsetHeight;
		//alert(cptligne*20);
		getObj('possFRAME').style.height= (cptligne*20);
		getObj('possFRAME').style.display='block';
	}

	document.all ? document.attachEvent('onclick', closeMenu) : document.addEventListener('click', closeMenu, false);
}

function MenuMessage(ielem, div, message, Titre_du_menu) 
{
	//alert(message);
	this.ielem = ielem;
	this.div_menu_ou = div;
	this.message = message;
	var cptligne = (message.split(",")).length + 1;
	this.Titre_du_menu = Titre_du_menu;
	this.valeur_actuel = getObj(ielem).value;
	this.largeur = parseInt((getObj(ielem).style.width) ? getObj(ielem).style.width : getObj(ielem).clientWidth);
	
	getMessages(div);
	
	getObj('poss').style.left=Left(getObj(ielem))-1;
	getObj('poss').style.top=Top(getObj(ielem))+getObj(ielem).offsetHeight;
	getObj('poss').style.display='';
	
	if(isIE())
	{
		//alert(Left(getObj(ielem))+"--------"+Top(getObj(ielem))+"__"+getObj(ielem).offsetHeight);
		getObj('possFRAME').style.left=Left(getObj(ielem));
		getObj('possFRAME').style.top=Top(getObj(ielem))+getObj(ielem).offsetHeight;
		getObj('possFRAME').style.height= (cptligne*20);
		getObj('possFRAME').style.display='block';
	}

	document.all ? document.attachEvent('onclick', closeMenu) : document.addEventListener('click', closeMenu, false);
}


// Fenetre popup utiliser pour les agrandissement des photos
function openpopup(x, y, img, rep)
{
	if( x> window.screen.availWidth || y > window.screen.availHeight )
	{
		if( x > screen.availWidth){x=screen.availWidth-20;}
		if( y > screen.availHeight){y=screen.availHeight-25;}
		
		url = rep+"/Librairies/Generation_page/popup."+EXT+"?img=" + img;
		myupload = window.open(url,'img','titlebar=no,scrollbars=yes,resizable=yes,width='+ x +',height='+y);
	}
	else
	{
		url = rep+"/Librairies/Generation_page/popup."+EXT+"?img=" + img;
		myupload = window.open(url,"img","titlebar=no,scrollbars=no,resizable=yes,width="+x+",height="+y);
	}
	if (window.focus) {myupload.focus()}
}

// Popup contenant une page HTML ou PHP
function popup(url, name, h, w) 
{
	t = (screen.height-h)/2;
	l = (screen.width-w)/2;
	w = window.open(url, name, "top="+t+", left="+l+", height="+h+", width="+w+', titlebar=no,scrollbars=yes,resizable=yes');
	w.focus();
}

function openimageintopopup(href)
{
	var img_prod = new Image; 
	var reg_deb = new RegExp("^.*\?img\=", "gi");
	var reg_fin = new RegExp("\;[0-9]+\;[0-9]+$", "g");
	img_prod.src = href.replace(reg_deb, '').replace(reg_fin, ''); 
	//alert(href+'\n'+img_prod.src+'\nwidth: '+img_prod.width+'\nheight: '+img_prod.height); 
	
	openpopup(img_prod.width, img_prod.height, img_prod.src, rep);
}

function opendoc(x, y, popup_href)
{
	//var popup_href = rep+"/Librairies/Generation_page/popupdoc."+EXT+"?titre="+titre+"&doc="+escape(doc_href);
	//var popup_href = rep+"/Librairies/Generation_page/popupcoupon."+EXT+"?titre="+titre+"&doc="+escape(doc_href);
	if( x> window.screen.availWidth || y > window.screen.availHeight )
	{
		if( x > screen.availWidth) { x = screen.availWidth-20; }
		if( y > screen.availHeight) { y = screen.availHeight-25; }
		
		myupload = window.open(popup_href, "", 'titlebar=no,scrollbars=yes,resizable=yes,width='+ x +',height='+y);
	}
	else
	{
		myupload = window.open(popup_href, "", "titlebar=no,scrollbars=yes,resizable=no,width="+x+",height="+y);
	}
	if (window.focus) { myupload.focus(); }
}

function opensubmitdoc(x, y, doc_href, the_form)
{
	if(getObj(the_form))
	{
		var myform = getObj(the_form);
		// Si the_form est le nom du formulaire et non un ID
		//var myform = eval(the_form); 
		var url = doc_href;
		if( x> window.screen.availWidth || y > window.screen.availHeight )
		{
			if( x > screen.availWidth) { x = screen.availWidth-20; }
			if( y > screen.availHeight) { y = screen.availHeight-25; }
			
			myupload = window.open(url, "popup", 'titlebar=no,scrollbars=yes,resizable=yes,width='+ x +',height='+y);
		}
		else
		{
			myupload = window.open(url, "popup", "titlebar=no,scrollbars=yes,resizable=no,width="+x+",height="+y);
		}
		//myform.action = url;
		myform.target = "popup";
		myform.submit();
		if (window.focus) { myupload.focus(); } // Positionne la fenetre au premier plan (toujours devant la penetre parent)
	}
}

function checkClick(e) 
{
	e?evt=e:evt=event;
	CSE=evt.target?evt.target:evt.srcElement;
	if (getObj('fc'))
		if (!isChild(CSE,getObj('fc')))
			getObj('fc').style.display='none';
}

// Calendar script VARIABLES :
var now = new Date; 					// Aujourd'hui (date complete jamais modifie !)
var sccm = now.getMonth(); 		// Le mois d'aujourd'hui (valeur jamais modifie !)
var sccy = now.getFullYear(); 	// L'annee d'aujourd'hui sur 4 chiffres (valeur jamais modifie !)

var ccm = sccm; 							// Le mois d'aujourd'hui
var ccy = sccy; 								// L'annee d'aujourd'hui sur 4 chiffres

var updobj;
function lcs(ielem, rep) 
{
	prepcalendar('',ccm,ccy);	// Un precalcule du calendrier (obliger ! ), pour afficher le mois courant
	updobj=ielem;
	//getObj('fc').style.background='#C000C0';	// Couleur viole
	getObj('fc').style.font='10px Arial';
	getObj('fc').style.color='#333333';
	getObj('fc').style.textAlign='center';
	getObj('fc').style.textDecoration='none';
	getObj('fc').style.border='1px solid #6487AE';	// Cadre bleute de bordure 1px
	getObj('fc').style.cursor='pointer';
	getObj('fc').style.left=Left(ielem);
	//document.write(Left(ielem));
	getObj('fc').style.top=Top(ielem)+ielem.offsetHeight;
	getObj('fc').style.display='';
	//getObj('fc').style.zIndex=999;
	
	// First check date is valid
	curdt=ielem.value;
	curdtarr=curdt.split('/');
	isdt=true;
	for(var k=0;k<curdtarr.length;k++) 
	{
		if (isNaN(curdtarr[k]))
			isdt=false;
	}
	if (isdt&(curdtarr.length==3)) 
	{
		ccm=curdtarr[1]-1;
		ccy=curdtarr[2];
		prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]);
	}
}
	
document.write('<table id="fc" style="position:absolute;border-collapse:collapse;background:#FFFFFF;border:1px solid #ABABAB;display:none; z-index:888;" cellpadding=2>');
document.write('<tr><td style="cursor:pointer" onclick="csubm()"><img src="'+rep+icone_precedent+'" height="12" width="7" border="0" align="left"></td><td colspan=5 id="mns" align="center" style="font-weight: bold; font-style: normal; font-size: 13px; font-family: arial; z-index:999;"></td><td align="right" style="cursor:pointer" onclick="caddm()"><img src="'+rep+icone_suivant+'" height="12" width="7" border="0" align="right"></td></tr>');
document.write('<tr><td align=center style="background:#ABABAB; z-index:999;font:12px Arial">D</td><td align=center style=" z-index:999;background:#ABABAB;font:12px Arial">L</td><td align=center style="background:#ABABAB;font:12px Arial; z-index:999;">M</td><td align=center style="background:#ABABAB;font:12px Arial; z-index:999;">M</td><td align=center style="background:#ABABAB;font:12px Arial; z-index:999;">J</td><td align=center style="background:#ABABAB;font:12px Arial; z-index:999;">V</td><td align=center style="background:#ABABAB;font:12px Arial; z-index:999;">S</td></tr>');
for(var kk=1;kk<=6;kk++) 
{
	document.write('<tr>');
	for(var tt=1;tt<=7;tt++) 
	{
		num=7 * (kk-1) - (-tt);
		document.write('<td id="v'+num+'" style="width:18px;height:18px; z-index:999;">&nbsp;</td>');
	}
	document.write('</tr>');
}
document.write('</table>');

document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false);

// Affichage d'un carre colore sur le jour selectionne
function cs_over(e) 
{
	if(evtTgt(EvtObj(e)))
	{
		evtTgt(EvtObj(e)).style.background = '#FFCC66';	// Couleur orange
		//evtTgt(EvtObj(e)).style.zIndex=999;
	}
}
// Affichage d'un carre colore au passage de la souris sur 1 jour du calendrier
function cs_out(e) 
{
	if(evtTgt(EvtObj(e)))
	{
		evtTgt(EvtObj(e)).style.background = '#C4D3EA';	// Couleur bleu gris
		//evtTgt(EvtObj(e)).style.zIndex=999;
	}
}
function cs_click(e) 
{
	updobj.value = calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
	getObj('fc').style.display='none';	// Pour refermer le calendrier, apres saisie du jour
	//getObj('fc').style.zIndex=999;
}

var mnn = new Array('31','28','31','30','31','30','31','31','30','31','30','31');
var mnl = new Array('31','29','31','30','31','30','31','31','30','31','30','31');
var calvalarr = new Array(42);

// Tous les jours, sauf les vieux
function f_cps(obj) 
{
	obj.style.background = '#C4D3EA';
	obj.style.font = '10px Arial';
	obj.style.color = '#333333';
	obj.style.textAlign = 'center';
	obj.style.textDecoration = 'none';
	obj.style.border = '1px solid #6487AE';
	obj.style.cursor = 'pointer';
	//obj.style.zIndex = 1000;
}

// Les vieux jours
function f_cpps(obj) 
{
	obj.style.background='#C4D3EA';
	obj.style.font='10px Arial';
	obj.style.color='#ABABAB';	// texte de couleur gris
	obj.style.textAlign='center';
	obj.style.textDecoration='line-through';	// texte barre
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='default';
	//obj.style.zIndex=1000;
}

/*function f_hds(obj) 
{
	obj.style.background='#FFF799';
	obj.style.font='bold 10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='pointer';
	obj.style.zIndex=999;
}*/

// day selected
function prepcalendar(hd, cm, cy)
{
	now = new Date();
	sd = now.getDate(); // Date du jour (aujourd'hui)
	td = new Date();
	td.setDate(1);
	td.setFullYear(cy);
	td.setMonth(cm);
	cd = td.getDay();
	getObj('mns').innerHTML = Mois[cm]+ ' ' + cy;
	marr=((cy%4)==0)? mnl : mnn;
	// 7 colonnes x 6 lignes = 42 cases a parcourir
	for(var d=1; d<=42; d++) 
	{
		f_cps(getObj('v'+parseInt(d)));
		if ((d >= (cd -(-1))) && (d<=cd-(-marr[cm]))) 
		{
			// Condition pour grise et barre les dates anterieurs
			dip = (((d-cd < sd)&&(cm==sccm)&&(cy==sccy)) && (typeof autoriser_date_anterieur == "undefined" || autoriser_date_anterieur==false));
			htd = ((hd!='')&&(d-cd==hd));
			if (dip)
				f_cpps(getObj('v'+parseInt(d)));
			/*else if (htd)
				f_hds(getObj('v'+parseInt(d)));*/
			else
				f_cps(getObj('v'+parseInt(d)));

			getObj('v'+parseInt(d)).onmouseover = (dip)? null : cs_over;
			getObj('v'+parseInt(d)).onmouseout = (dip)? null : cs_out;
			getObj('v'+parseInt(d)).onclick = (dip)? null : cs_click;
			
			getObj('v'+parseInt(d)).innerHTML = d-cd;
			var date_selectionner = new Date(cy, cm, d-cd);
			calvalarr[d] = Jours[date_selectionner.getDay()]+' '+date_selectionner.getDate()+' '+Mois[date_selectionner.getMonth()]+' '+date_selectionner.getFullYear();
		}
		else 
		{
			getObj('v'+d).innerHTML = '&nbsp;';
			getObj('v'+parseInt(d)).onmouseover = null;
			getObj('v'+parseInt(d)).onmouseout = null;
			getObj('v'+parseInt(d)).style.cursor = 'default';
			getObj('v'+parseInt(d)).style.zIndex = 999;
		}
	}
}

if(!isNaN('mns'))
{
	prepcalendar('',ccm,ccy);
	//getObj('fc'+cc).style.visibility='hidden';
}

// Les mois suivants
function caddm() 
{
	marr = ((ccy%4)==0)? mnl : mnn;
	
	ccm+=1;
	if (ccm>=12) 
	{
		ccm=0;
		ccy++;
	}
	cdayf();
	prepcalendar('',ccm,ccy);	// Affichage du calendrier
}

// Les mois precedents
function csubm() 
{
	marr = ((ccy%4)==0)? mnl : mnn;
	
	ccm-=1;
	if (ccm<0) 
	{
		ccm=11;
		ccy--;
	}
	cdayf();
	prepcalendar('',ccm,ccy);	// Affichage du calendrier
}

function cdayf() 
{
	if (((ccy>sccy) || ((ccy==sccy) && (ccm>=sccm))) || (typeof autoriser_date_anterieur != "undefined" && autoriser_date_anterieur==true))
		return;
	else 
	{
		ccy = sccy;			// L'annee sur 4 chiffres afficher dans le calendrier
		ccm = sccm;		// Le mois afficher dans le calendrier
	}
}

function convert_string_in_date (date_selectionner)
{
	var date = new Date(date_selectionner.substring(0,4), ((date_selectionner.substring(5,7)<10)? (parseInt(date_selectionner.substring(6,7))-1) : (parseInt(date_selectionner.substring(5,7))-1)), date_selectionner.substring(8,10));
	return Jours[date.getDay()]+' '+date.getDate()+' '+Mois[date.getMonth()]+' '+date.getFullYear();
}

var input;

function checkClick2(e) 
{
	e?evt=e:evt=event;
	CSE=evt.target?evt.target:evt.srcElement;
	if (getObj('plugin'))
	{
		if (!isChild(CSE,getObj('plugin')))
		{
			getObj('plugin').style.display='none';
			if(isIE())	getObj('pluginFRAME').style.display='none';
		}
	}
}

function agent(v) 
{ 
	return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); 
}
function within(v,a,z) 
{ 
	return((v>=a && v<=z)?true:false); 
}
function XY(e,v) 
{ 
	var z=agent('msie')?[event.clientX+document.body.scrollLeft,event.clientY+document.body.scrollTop]:[e.pageX,e.pageY]; 
	return(z[zero(v)]); 
}
function XYwin(v) 
{ 
	var z=agent('msie')?[document.body.clientHeight,document.body.clientWidth]:[window.innerHeight,window.innerWidth]; 
	return(!isNaN(v)?z[v]:z); 
}
function zero(v) 
{ 
	v=parseInt(v); 
	return(!isNaN(v)?v:0); 
}

/* PLUGIN */
var maxValue={'h':360,'s':100,'v':100}, HSV={0:360,1:100,2:100};
var hSV=165, wSV=162, hH=163, slideHSV={0:360,1:100,2:100}, zINDEX=999, stop=1;

function HSVslide(d,o,e) 
{
	function tXY(e) 
	{ 
		tY=XY(e,1)-top; 
		tX=XY(e)-left; 
	}
	function mkHSV(a,b,c) 
	{ 
		return(Math.min(a,Math.max(0,Math.ceil((parseInt(c)/b)*a)))); 
	}
	function ckHSV(a,b) 
	{
		if(within(a,0,b)) 		return(a); 
		else if(a>b) 			return(b); 
		else if(a<0) 			return('-'+oo); 
	}
	function drag(e) 
	{ 
		if(!stop) 
		{ 
			tXY(e);	
			if(d=='SVslide') 
			{ 
				ds.left=(ckHSV(tX-oo,wSV)+10)+'px'; 
				ds.top=(ckHSV(tY-oo,wSV)+20)+'px';
				slideHSV[1]=mkHSV(100,wSV,ds.left); 
				slideHSV[2]=100-mkHSV(100,wSV,ds.top); 
				HSVupdate();
			}
			else if(d=='Hslide') 
			{ 
				var ck=ckHSV(tY-oo,hH), j, r='hsv', z={};
			
				ds.top=(ck-5)+'px'; 
				slideHSV[0]=mkHSV(360,hH,ck);
				for(var i=0; i<=r.length-1; i++) 
				{ 
					j=r.substr(i,1); 
					z[i]=(j=='h')?maxValue[j]-mkHSV(maxValue[j],hH,ck):HSV[i]; 
				}
				HSVupdate(z); 
				getObj('SV').style.backgroundColor='#'+hsv2hex([HSV[0],100,100]);
			}
		}
	}
	if(stop) 
	{ 
		stop=''; 
		var ds=getObj(d).style;		
		var left=(getObj(o).offsetLeft+10), top=(getObj(o).offsetTop+22), tX, tY, oo=(d=='Hslide')?2:4; 
		
		if(d=='SVslide') slideHSV[0]=HSV[0]; 

		document.onmousemove=drag; 
		document.onmouseup=function()
											{ 
												stop=1; 
												document.onmousemove=''; 
												document.onmouseup=''; 
											}; 
		drag(e);
	}
}

function HSVupdate(v) 
{ 
	v = hsv2hex(HSV=v?v:slideHSV);

	getObj('plugHEX').innerHTML = '#'+v; // Pour afficher le code hexadecimal de la couleur
	input.value = "#"+v;
	getObj('plugCUR').style.background = '#'+v;
	input.style.background = '#'+v;
	
	return(v);
}

function loadSV() 
{ 
	var z='';

	for(var i=hSV; i>=0; i--) 
	{
		z+="<div style=\"background: #"+hsv2hex([Math.round((360/hSV)*i),100,100])+";\"><br /><\/div>";
	}
	getObj('Hmodel').innerHTML=z;
}

/* CONVERSIONS */
function toHex(v) 
{ 
	v=Math.round(Math.min(Math.max(0,v),255)); 
	return("0123456789ABCDEF".charAt((v-v%16)/16)+"0123456789ABCDEF".charAt(v%16));
}
function Decimal(Hexadecimal)
{
	switch(Hexadecimal)
	{
		case '0': 
			return 0;
			break;
		case '1': 
			return 1;
			break;
		case '2': 
			return 2;
			break;
		case '3': 
			return 3;
			break;
		case '4': 
			return 4;
			break;
		case '5': 
			return 5;
			break;
		case '6': 
			return 6;
			break;
		case '7': 
			return 7;
			break;
		case '8': 
			return 8;
			break;
		case '9': 
			return 9;
			break;
		case 'A' : 
			return 10;
			break;
		case 'B' : 
			return 11;
			break;
		case 'C' : 
			return 12;
			break;
		case 'D' : 
			return 13;
			break;
		case 'E' : 
			return 14;
			break;
		case 'F' : 
			return 15;
			break;
	}
}
/* Convertie l'Hexadecimal en decimal (RGB) */
function hex2rgb(h) 
{ 
	hr = parseInt((Decimal(h.charAt(0))*16)+Decimal(h.charAt(1)));
	hg = parseInt((Decimal(h.charAt(2))*16)+Decimal(h.charAt(3)));
	hb = parseInt((Decimal(h.charAt(4))*16)+Decimal(h.charAt(5)));
	//document.write(hr+" - "+hg+" - "+hb+" ] ");
	return new Array(hr, hg, hb);
}
/* Convertie du RGB en HLS */
function rgb2hls(R, G, B, indice)
{
	var var_R = ( R / 255 );                    //Where RGB values = 0 ÷ 255
	var var_G = ( G / 255 );
	var var_B = ( B / 255 );
	
	var var_Min = Math.min( var_R, var_G, var_B );    	//Min. value of RGB
	var var_Max = Math.max( var_R, var_G, var_B );    	//Max. value of RGB
	var del_Max = var_Max - var_Min;            				//Delta RGB value
	
	var L = ( var_Max + var_Min ) / 2;
	
	if ( del_Max == 0 )                     //This is a gray, no chroma...
	{
	   var H = 0;                                //HSL results = 0 ÷ 1
	   var S = 0;
	}
	else                                    //Chromatic data...
	{
	   if ( L < 0.5 ) 	var S = del_Max / ( var_Max + var_Min );
	   else           	var S = del_Max / ( 2 - var_Max - var_Min );
	
	   var del_R = ( ( ( var_Max - var_R ) / 6 ) + ( del_Max / 2 ) ) / del_Max;
	   var del_G = ( ( ( var_Max - var_G ) / 6 ) + ( del_Max / 2 ) ) / del_Max;
	   var del_B = ( ( ( var_Max - var_B ) / 6 ) + ( del_Max / 2 ) ) / del_Max;
	
	   if      ( var_R == var_Max ) 		var H = del_B - del_G;
	   else if ( var_G == var_Max ) 	var H = ( 1 / 3 ) + del_R - del_B;
	   else if ( var_B == var_Max ) 	var H = ( 2 / 3 ) + del_G - del_R;
	
	   if ( H < 0 )	H += 1;
	   if ( H > 1 )	H -= 1;
	}
	return new Array(H, 0.9-indice, 0.9);
}
/* Convertie le HLS en RGB */
function hls2rgb(H, L, S)
{
	if ( S == 0 )                       //HSL values = 0 ÷ 1
	{
	   var R = L * 255;                      //RGB results = 0 ÷ 255
	   var G = L * 255;
	   var B = L * 255;
	}
	else
	{
	   if ( L < 0.5 ) var var_2 = L * ( 1 + S );
	   else           var var_2 = ( L + S ) - ( S * L );
	
	   var var_1 = 2 * L - var_2;
	
	   var R = 255 * Hue_2_RGB( var_1, var_2, H + ( 1 / 3 ) );
	   var G = 255 * Hue_2_RGB( var_1, var_2, H );
	   var B = 255 * Hue_2_RGB( var_1, var_2, H - ( 1 / 3 ) );
	}
	return new Array(parseInt(R), parseInt(G), parseInt(B));
}
function Hue_2_RGB( v1, v2, vH )             //Function Hue_2_RGB
{
   if ( vH < 0 ) vH += 1;
   if ( vH > 1 ) vH -= 1;
   if ( ( 6 * vH ) < 1 ) return ( v1 + ( v2 - v1 ) * 6 * vH );
   if ( ( 2 * vH ) < 1 ) return ( v2 );
   if ( ( 3 * vH ) < 2 ) return ( v1 + ( v2 - v1 ) * ( ( 2 / 3 ) - vH ) * 6 );
   return ( v1 );
}
function rgb2hex(r) 
{ 
	return(toHex(r[0])+toHex(r[1])+toHex(r[2])); 
}
function hsv2hex(h) 
{ 
	return(rgb2hex(hsv2rgb(h))); 
}	

function hsv2rgb(r) 
{ 	// easyrgb.com/math.php?MATH=M21#text21
	// HSV -> RGB
    var R,B,G,S=r[1]/100,V=r[2]/100,H=r[0]/360;

    if(S>0) 
	{ 
		if(H>=1) H=0;

        H=6*H; F=H-Math.floor(H);
        A=Math.round(255*V*(1.0-S));
        B=Math.round(255*V*(1.0-(S*F)));
        C=Math.round(255*V*(1.0-(S*(1.0-F))));
        V=Math.round(255*V); 

        switch(Math.floor(H)) 
		{
            case 0: R=V; G=C; B=A; break;
            case 1: R=B; G=V; B=A; break;
            case 2: R=A; G=V; B=C; break;
            case 3: R=A; G=B; B=V; break;
            case 4: R=C; G=A; B=V; break;
            case 5: R=V; G=A; B=B; break;
        }
        return([R?R:0,G?G:0,B?B:0]);
    }	
    else 
	{
		V = Math.round(V*255);
		return([V,V,V]);
	}
}
	
var chaine = "";
if(isIE())
{
	// Sous Internet Explorer, on ajoute une frame afin que le div plugin puisse s'afficher correctement (au dessus du select type de voile)
	// Probleme: Un affichage plus long que sous Firefox !!
	chaine += '<iframe  id="pluginFRAME" style="display: none;" frameborder="0" scrolling="no"></iframe>';
}
chaine += '<div id="plugin" style="z-index: 999; display: none;">';
chaine += '<div id="plugCUR"></div>';
chaine += '<div id="plugHEX" onmousedown="stop=0; setTimeout(\'stop=1\',100);">#FFFFF</div>';
chaine += '<div id="SV" onmousedown="HSVslide(\'SVslide\',\'plugin\',event)" title="Saturation + Value">';
chaine += '<div id="SVslide" style="TOP: 20px; LEFT: 10px;"></div>';
chaine += '</div>';
chaine += '<form id="H" onmousedown="HSVslide(\'Hslide\',\'plugin\',event)" title="Hue">';
chaine += '<div id="Hslide" style="TOP: -7px; LEFT: -8px;"><br /></div>';
chaine += '<div id="Hmodel"></div>';
chaine += '</form>';
chaine += '</div>';
document.write(chaine);

document.all?document.attachEvent('onclick',checkClick2):document.addEventListener('click',checkClick2,false);

function Colors(ielem) 
{	
	this.input = ielem;
	
	/* LOAD */	
	loadSV();
	getObj('plugin').style.left=Left(ielem);
	getObj('plugin').style.top=Top(ielem)+ielem.offsetHeight;
	getObj('plugin').style.display='';
	if(isIE())
	{
		getObj('pluginFRAME').style.left=Left(ielem);
		getObj('pluginFRAME').style.top=Top(ielem)+ielem.offsetHeight;
		getObj('pluginFRAME').style.display='';
		getObj('SV').style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+rep+"/Interface/Images/Palette-de-couleur/SatVal.png', sizingMethod='scale')";
	}
	else
	{
		getObj('SV').style.backgroundImage = "url("+rep+"/Interface/Images/Palette-de-couleur/SatVal.png)";
	}
}

//  "Internal" function to return the decoded value of a cookie
function getCookieVal (offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}


//  Function to return the value of the cookie specified by "name".
//    name -    String object containing the cookie name.
//    returns - String object containing the cookie value,
//              or null if the cookie does not exist.
//
function GetCookie (name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break; 
	}
	return null;
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}


//  Function to create or update a cookie.
//    name - String object containing the cookie name.
//    value - String object containing the cookie value.  May contain
//         any valid string characters.
//    [expires] - Date object containing the expiration data of the cookie.  If
//         omitted or null, expires the cookie at the end of the current session.
//    [path] - String object indicating the path for which the cookie is valid.
//         If omitted or null, uses the path of the calling document.
//    [domain] - String object indicating the domain for which the cookie is
//         valid. If omitted or null, uses the domain of the calling document.
//    [secure] - Boolean (true/false) value indicating whether cookie
//         transmission requires a secure channel (HTTPS).  
//
//  The first two parameters are required.  The others, if supplied, must
//  be passed in the order listed above.  To omit an unused optional field,
//  use null as a place holder.  For example, to call SetCookie using name,
//  value and path, you would code:
//
//      SetCookie ("myCookieName", "myCookieValue", null, "/");
//
//  Note that trailing omitted parameters do not require a placeholder.
//
//  To set a secure cookie for path "/myPath", that expires after the
//  current session, you might code:
//
//      SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);
//
function SetCookie (name, value, expires, path, domain, secure)
{
	/*var valeur = "";
	if(isArray(value))
	{
		var dimTAB = value.length;
		valeur = escape (value[0])
		for (var i = 1; i < dimTAB; i++)
		{
			valeur += "_"+escape (value[i]);
		}
	}
	else
	{
		valeur = escape (value);
	}*/
	//alert(value);
	var valeur = escape (value);
	document.cookie = name + "=" + valeur +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}

function AddCookie(name, value, expires, path, domain, secure)
{
	var ids = GetCookie(name);
	//alert(ids.length);
	if (ids == null || ids.length==0)
		ids = value;
	else
		ids += ';'+ value;
	//alert(ids);
	//SetCookie ("MA_SELECTION_"+VARIABLE_SESSION, new Array(id, idv));
	SetCookie(name, ids, expires, path, domain, secure);
}

function RemoveCookie(name, value, expires, path, domain, secure) 
{
	var ids = GetCookie(name);
	if (ids == null) ids = '';
	var idsTAB = ids.split(';');
	//alert(idsTAB);
	//alert(ids);
	var idsNew = "";
	var nb_ids = idsTAB.length;
	for(var i = 0; i<nb_ids; i++)
	{
		if(idsTAB[i] != value)
		{
			idsNew += idsTAB[i];
			//alert(value);
		}
		if(i<(nb_ids-1) && idsTAB[i+1] != value && idsNew.length>0)
			idsNew += ";";			
	}
	//alert(idsNew);
	//ids = ids.replace(new RegExp(id + ','),'');
	SetCookie(name, idsNew, expires, path, domain, secure);
	//alert(GetCookie(name));
}


//  Function to delete a cookie. (Sets expiration date to start of epoch)
//    name -   String object containing the cookie name
//    path -   String object containing the path of the cookie to delete.
//             This MUST be the same as the path used to create the cookie, or
//             null/omitted if no path was specified when creating the cookie.
//    domain - String object containing the domain of the cookie to delete.
//             This MUST be the same as the domain used to create the cookie, or
//             null/omitted if no domain was specified when creating the cookie.
//
function DeleteCookie (name)
{
	/*if (GetCookie(name))
	{
		document.cookie = name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}*/
	var expire = new Date (); 
    expire.setTime (expire.getTime() - (24 * 60 * 60 * 1000)); 
    document.cookie = name + "=; expires=" + expire.toGMTString();
}

//  Function to correct for 2.x Mac date bug.  Call this function to
//  fix a date object prior to passing it to SetCookie.
//  IMPORTANT:  This function should only be called *once* for
//  any given date object!  See example at the end of this document.
//
function FixCookieDate (date)
{
	var base = new Date(0);
	var skew = base.getTime(); // dawn of (Unix) time - should be 0
	if (skew > 0)  // Except on the Mac - ahead of its time
		date.setTime (date.getTime() - skew);
}
    
// Fonction de calcul de la date d'expiration d'un cookie sur la base
// d'une duree_jours exprimée en jours à partir de la date courante
//
function ExpirationDate(duree_jours)
{
	var expiration = new Date();     // date et heure courante en format texte
	FixCookieDate (expiration);      // correction du "date bug" sur Macintosh
	expiration.setTime(expiration.getTime() + (duree_jours * 24*60*60*1000));
	// - getTime convertit date/heure du format texte -> nombre de msec. depuis le 1.1.1970
	// - puis setTime reconvertit date en format texte GMT pour la passer à SetCookie
	return expiration;
}



// INIT
if(!isNaN(rep)) { var rep = '.'; }

function initStatus (val_init) { status = val_init; }

var delai = 10;
var transparence = 40;

var lang = 'fr';
var src = 'df';

/********** MES MAGASINS FAVORIS **********/

function trad_selectMag(id) 
{
	if(isNaN(getObj('selectionner_comme_favoris'+id)))
		getObj('selectionner_comme_favoris'+id).style.display = 'none';
	return '<img src="'+rep+'/Interface/Images/Icones/Bouton_Magasin_Favori.png" alt="'+Add_FavorisMag+'" align="left" border="0" width="29" height="28" style="padding: 0 4 4 4;">';
}
function trad_unselectMag(id) 
{
	if(isNaN(getObj('selectionner_comme_favoris'+id)))
		getObj('selectionner_comme_favoris'+id).style.display = 'block';
	return '<img src="'+rep+'/Interface/Images/Icones/Bouton_Supprimer_Magasin_Favori.png" alt="'+Delete_FavorisMag+'" align="left" border="0" width="29" height="28" style="padding: 0 4 4 4;">';
}
//var MagMem;
function message_service_inaccessible(idv, ida, texte, div, left)
{
	if ((idv != null) && (idv > 0) && (ida != null) && (ida>=0))
	{
		var id = ida+"V"+idv;
		var titre = 'Identifiants';
		//alert(this.location.href);
		var url_courant = this.location.href;
		var FormDEB = ((isIE())? '' : '<form>');
		var FormFIN = ((isIE())? '' : '</form>');
		var action = rep+'/'+MON_COMPTE_REP+'/authentification.'+EXT+'?location='+(((url_courant.replace('http://', rep)).replace('127.0.0.1/', '')).replace('www.', '')).replace(VARIABLE_SESSION.toLowerCase()+'.com/', '/').replace(VARIABLE_SESSION.toLowerCase()+'.fr/', '/').replace('DEV/', '')+'&amp;ajx=1';
		var formulaire_mon_compte = FormDEB+'<form name="form_identification" action="" method="post"><table border="0" cellpadding="2" cellspacing="0" width="100%" align="left"><tbody><tr><td colspan="3" class="texte_gris_tres_fonce" width="100%">Votre nom d\'utilisateur : <br></td></tr><tr><td colspan="3" width="100%"><input type="text" name="pseudo" id="pseudo"></td></tr><tr><td height="4"></td></tr><tr><td colspan="3" class="texte_gris_tres_fonce" width="100%">Votre mot de passe : </td></tr><tr><td width="80%"><input type="password" name="password" id="password"></td><td width="20%"><input type="submit" name="save" value="OK" class="vert_OK" onclick="var pseudo=pseudo_form(); var password=password_form(); var r=\''+rep+'\'; var a=\''+action+'\'; Submit_mon_compte_Ajax(r, a+\'&amp;pseudo=\'+pseudo+\'&amp;password=\'+password, \''+div+id+'VERIF\'); return false;"></td><td width="0" height="0" id="'+div+id+'VERIF"></td></tr><tr><td colspan="3" height="20" width="100%" class="descriptif">Identifiants oubliés ? <a href="./'+MON_COMPTE_REP+'/mot_de_passe_perdu.'+EXT+'" class="texte_vert"><u>cliquez-ici </u></a><br>Cr&eacute;ez un compte consommateur, <a href="'+rep+'/'+MON_COMPTE_REP+'/inscription_internaute.'+EXT+'?module=2;'+idv+';'+ida+'" onclick="document.location.href=this.href; " class="texte_vert"><u>inscription gratuite</u></a> ! </td></tr></tbody></table></form>'+FormFIN;
		affichage_infobulle(rep, div+id, div+'INFO'+id, titre, formulaire_mon_compte, 231, 196, left);
		lookDIV (div+'INFO'+id); 
	}
}
function pseudo_form()
{
	if(getObj('pseudo'))
		return getObj('pseudo').value;
	else if(document.forms['form_identification'].pseudo)
		return document.forms['form_identification'].pseudo.value;
	else
		return "";
}
function password_form()
{
	if(getObj('password'))
		return getObj('password').value;
	else if(document.forms['form_identification'].password)
		return document.forms['form_identification'].password.value;
	else
		return "";
}

function AddFavorisMag(idv, ida) 
{
	if(status == 'INTERNAUTE')
	{
		//alert(status+' --A: '+ida+' --V: '+idv);
		if(action_dans_la_base_SQL(rep+"/"+MON_COMPTE_REP+"/Internaute/Librairies/function.favoris."+EXT+"?action=add&id="+ida+"&idv="+idv)!=1)
			alert("Impossible d'ajouter ce magasin de mes favoris ! ");
		
		AddCookie ("MES_MAGASINS_FAVORIS_"+VARIABLE_SESSION+idC, idv, null, "/");
		
		//MagMem = setTimeout("RefreshMemoriserMag()",delai);
		MemoriserMag();
	}
	else
	{
		message_service_inaccessible(idv, ida, Add_FavorisMag, 'maginfo', 200);
	}
}
function RemoveFavorisMag(idv) 
{
//<span id='maginfo".$row[$i]['id_annonce']."V".$row[$i]['id_vendeur']."'></span>
	if(status == 'INTERNAUTE')
	{
		//alert(status+' -- '+idv);
		if(action_dans_la_base_SQL(rep+"/"+MON_COMPTE_REP+"/Internaute/Librairies/function.favoris."+EXT+"?action=remove&idv="+idv)!=1)
			alert("Impossible de supprimer ce magasin de mes favoris ! ");
		
		//alert(idC+"---"+idv);
		//alert(GetCookie('MES_MAGASINS_FAVORIS_'+VARIABLE_SESSION+idC));
		RemoveCookie('MES_MAGASINS_FAVORIS_'+VARIABLE_SESSION+idC, idv, null, "/");
		//alert(GetCookie('MES_MAGASINS_FAVORIS_'+VARIABLE_SESSION+idC));
		
		var ids = GetCookie('MES_MAGASINS_FAVORIS_'+VARIABLE_SESSION+idC);
		if (ids != null) 
		{
			if ((idv != '') && (idv!=null))
			{
				var MagTAB = document.getElementsByTagName("a");
				for (var j=0; j<MagTAB.length; j++) 
				{
					if (MagTAB[j].id == ('mag' + idv) && MagTAB[j].title != Add_FavorisMag) 
					{
						MagTAB[j].innerHTML = trad_selectMag(idv);
						MagTAB[j].href = "javascript:AddFavorisMag("+idv+");";
						MagTAB[j].title = Add_FavorisMag;
					}
				}
			}
		}
		if(typeof reloadMAG != 'undefined' && reloadMAG)
			document.location.href = location;
		/*if(typeof reload != 'undefined' && reload)
			document.location.href = rep+"/"+MON_COMPTE_REP+"/internaute/mes_magasins_favoris."+EXT;*/
	}
	else
	{
		var ida = getObj("mag"+idv).parentNode.childNodes[1].innerHTML;
		//alert(ida);
		message_service_inaccessible(idv, ida, Delete_FavorisMag, 'maginfo', 200);
	}
}

function MemoriserMag() 
{
	//clearTimeout("RefreshMemoriser()");
	//clearTimeout(MagMem);

	var ids = GetCookie('MES_MAGASINS_FAVORIS_'+VARIABLE_SESSION+idC);
	if (ids != null) 
	{
		var idvTAB = ids.split(';');
		//alert(idvTAB);
		for (var i=0; i<idvTAB.length; i++) 
		{
			var idv = idvTAB[i];
			if ((idv != '') && (idv!=null))
			{
				var MagTAB = document.getElementsByTagName("a");
				for (var j=0; j<MagTAB.length; j++) 
				{
					if (MagTAB[j].id == ('mag' + idv) && MagTAB[j].title != Delete_FavorisMag) 
					{
						//alert(MagTAB[j].id);
						MagTAB[j].innerHTML = trad_unselectMag(idv);
						MagTAB[j].href = "javascript:RemoveFavorisMag("+idv+");";
						MagTAB[j].title = Delete_FavorisMag;
					}
				}
			}
		}
	}
}


/********** MA SELECTION **********/

function trad_select(id, idv) 
{
	if(typeof idv != "undefined" && parseInt(idv)>0 && isNaN(getObj('selectionner_comme_favoris'+id+'-'+idv)))
		getObj('selectionner_comme_favoris'+id+'-'+idv).style.display = 'none';
	else if(isNaN(getObj('selectionner_comme_favoris'+id)))
		getObj('selectionner_comme_favoris'+id).style.display = 'none';
	return '<img src="'+rep+'/Interface/Images/Icones/Bouton_Favoris.png" alt="'+Add_Favoris+'" align="left" border="0" width="29" height="28" style="padding: 0 4 4 4;">';
}
function trad_unselect(id, idv) 
{	
	if(typeof idv != "undefined" && parseInt(idv)>0 && isNaN(getObj('selectionner_comme_favoris'+id+'-'+idv)))
		getObj('selectionner_comme_favoris'+id+'-'+idv).style.display = 'block';
	else if(isNaN(getObj('selectionner_comme_favoris'+id)))
		getObj('selectionner_comme_favoris'+id).style.display = 'block';
	return '<img src="'+rep+'/Interface/Images/Icones/Bouton_Supprimer_Favoris.png" alt="'+Delete_Favoris+'" align="left" border="0" width="29" height="28" style="padding: 0 4 4 4;">';
}

function trad_no_prod_selected() 
{
	return "Vous n&acute;avez pas encore sélectionné d&acute;annonce.";
}
function trad_voir_les_prod(x) 
{
	if (x>1) 
	{
		return "Voir les "+x+" produits s&eacute;lectionn&eacute;s";
	}
	else 
	{
		return "Voir le produit s&eacute;lectionn&eacute;";
	}
}

function AddFavoris(id, idv, imageArticle, intitule) 
{
	if(status == 'INTERNAUTE')
	{
		//alert(status+' -- '+id);
		action_dans_la_base_SQL(rep+"/"+MON_COMPTE_REP+"/Internaute/Librairies/function.favoris."+EXT+"?action=add&id="+id);
	}
	AddCookie_Favoris(id, idv, imageArticle, intitule);
	RefreshFavoris();
}

function isInFavoris(id) {
	var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
	if (ids == null) return false;
	if (ids.indexOf("\n" + id + ',') >= 0) {
		return true;
	}
	else {
		return false;
	}
}



function RemoveFavoris(id, idv, imageArticle, intitule) 
{
	if(status == 'INTERNAUTE')
	{
		//alert(status+' -- '+id);
		if(action_dans_la_base_SQL(rep+"/"+MON_COMPTE_REP+"/Internaute/Librairies/function.favoris."+EXT+"?action=remove&id="+id)!=1)
			alert("Impossible de supprimer l'annonce de \"Ma sélection\" ! ");
	}
	RemoveCookie_Favoris(id, idv, imageArticle, intitule);
	if (document.getElementById('m' + id)) 
	{
		document.getElementById('m' + id).innerHTML = trad_select(id, idv);
		document.getElementById('m' + id).href = "javascript:AddFavoris("+id+", "+idv+", '"+imageArticle+"', '"+intitule+"');";
		document.getElementById('m' + id).title = Add_Favoris;
		//alert("AddFavoris"+id+", "+idv+", '"+imageArticle+"', \n'"+intitule);
	}
	RefreshFavoris();
	if(typeof reload != 'undefined' && reload)
	{
		document.location.href = location;
		//document.location.href = rep+"/ma_selection."+EXT;
	}
}


function EmptyFavoris() 
{
	var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
	var idSplitted = ids.split(',');
	for (i=0;i<idSplitted.length;i++) 
	{
		var id = idSplitted[i];
		RemoveCookie_Favoris(id);
		if (document.getElementById('m' + id)) 
		{
			document.getElementById('m' + id).innerHTML = trad_select(id);
			document.getElementById('m' + id).href = "javascript:AddFavoris("+id+", '"+idv+", '"+imageArticle+"', '"+intitule+"');";
			document.getElementById('m' + id).title = Add_Favoris;
		}
	}
	RefreshFavoris();
}

var rCad;

function RefreshFavoris() 
{
	//clearTimeout("RefreshFavoris()");
	if (rCad != 'undefined')
		clearTimeout(rCad);
		
	var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
	var html_Favoris = "";//affichage du contenu du Favoris : tableau html
	var html_bouton = "";//affichage du bouton sous le Favoris : "voir les x produits"
	var html_bouton2 = "";//affichage du contenu sous le Favoris : "vider la selection" - pas utilisé
	var nbre = 0;

	
	if(ids!=null && ids!="" && ids.length>=0) 
	{
		html_Favoris = "<table border=0 cellspacing=0 cellpadding=6 align='center' valign='center' width=116 height=74><tr>";
		var idSplitted = ids.split(',');
		var nbre = idSplitted.length-1;// nombre d'elements dans le Favoris
		var nb_fav = idSplitted.length;
	}
	if (getObj('Favoris')) 
	{	
		var Favoris = getObj('Favoris');
		var position_top = Favoris.offsetTop;
		
		for (i=0; i<nb_fav; i++) 
		{
			var idTAB = idSplitted[i].substring(5).split("\n");
			var id = idTAB[0];
			var idv = idTAB[1];
			var imageArticle = idTAB[2];
			var intitule = idTAB[3];
			var dimx = idSplitted[i].substring(0,2);
			var dimy = idSplitted[i].substring(2,4);
			//var id = idSplitted[i];
			if ((id != '') && (id!=null)) 
			{
				var repertoire = id.substring(0,id.length-3);
				var image1 = new Image();
				var nb_images = 0;			
				if(imageArticle != "")
				{
					if(imageArticle.search(/\;/)>0)
					{
						imageArticleTAB = imageArticle.split(";");
						nb_images = imageArticleTAB.length;
						imageArticle = imageArticleTAB[0];
					}
					// Miniature de l'image
					image1.src = imageArticle.replace('/Uploads/Articles/'+idv+'/', '/Uploads/Articles/'+idv+'/miniatures/');
					// On verifie si l'image existe, en controlant la dimension de l'image 
					// si la hauteur ou la largeur de l'image est egale a 0, l'image n'existe pas !!
					/*
					if(image1.width==0 || image1.height==0)
					{
						image1.src = rep+img_aucune_photo;
					}*/
				}
				else
				{
					image1.src = rep+img_aucune_photo;
				}
			
				html_Favoris += "<td align=center valign=top valign=middle width="+the_width_favoris+">";
				html_Favoris += "<table border=0 cellpadding=0 cellspacing=0 width="+the_width_favoris+" id='uu'>";
				html_Favoris += "<tr>";
				html_Favoris += "<td width="+the_width_favoris+" height="+the_height_favoris+" align=center valign=middle><a href='"+rep+"/annonce."+EXT+"?idaidv="+id+";"+idv+";"+intitule+"'><img "+((isOldIE()) ? 'src="'+rep+'/Interface/Images/Icones/spacer.gif" style=\'filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+image1.src+'", sizingMethod="scale");\' ' : 'src="'+image1.src+'" ')+" width="+the_width_favoris+" height="+the_height_favoris+" class='cadre_photo' width="+the_width_favoris+"></a></td>";
				html_Favoris += "</tr><tr>";
				html_Favoris += "<td heigh=12 valign=top align=center style='padding-top: 3px;'>";
				if(typeof intitule != 'undefined')
				{
					var regexpplus = /\+/;
					var intitule_sans_plus = intitule;
					while(intitule_sans_plus.match(regexpplus) != null)
						intitule_sans_plus = intitule_sans_plus.replace(regexpplus, ' ');
					html_Favoris += "<span class='small_texte'>"+intitule_sans_plus+"</span><br>";
				}
				html_Favoris += "<a href=\"javascript:RemoveFavoris("+id+", "+idv+", '"+imageArticle+"', '"+intitule+"');\" title='"+Delete_Favoris+"'><center><img src='"+rep+ICONE_SUPPRIMER_FAVORIS+"' vspace=2 width=8 height=8 border=0 valign=center align=center></center></a></td>";
				html_Favoris += "</tr></table></td>";				
			}
			if ((i%nombre_de_favoris_sur_une_ligne)>=0 &&(i%nombre_de_favoris_sur_une_ligne)<nombre_de_favoris_sur_une_ligne && (i+1)<nb_fav)
			{
				html_Favoris += "<td width=40>&nbsp;</td>";
			}
			if ( Math.round((i+1)/nombre_de_favoris_sur_une_ligne) == ((i+1)/nombre_de_favoris_sur_une_ligne) ) 
			{
				html_Favoris += "</tr>";
				if((i+1)<nb_fav)
					html_Favoris += "<tr>";
			}
		}
		html_Favoris += "</table>";
		html_bouton = "<a href='"+rep+"/ma_selection."+EXT+"' class='texte_vert'>"+trad_voir_les_prod(nbre)+"</a>";
		html_bouton2 += "<a href=javascript:EmptyFavoris(); class=link_red_no_underline>VIDER la sélection</a>";
		if (ids=="") 
		{// cas particulier firefox qui ne comprend pas [ids != null] et préfererait [ids != Null] (qui a son tour genere une erreur dans IE)
			html_Favoris = "";
			html_bouton = trad_no_prod_selected();
			html_bouton2 = "";
		}
		if(isIE())
		{
			//alert(Top(getObj('Favoris'))+"__"+getObj('Favoris').clientHeight+"--"+getObj('Favoris').offsetHeight+"__"+Top(getObj('pp'))+"__"+getObj('pp').clientHeight+"__"+getObj('pp').offsetHeight);
			if(position_top==0 || typeof position_top == "undefined")
				position_top = 0;
			Favoris.style.position = "absolute";
			Favoris.style.top = parseInt(position_top)+"px";
		}
	}
	
	if(ids==null || ids=="" || ids.length==0) 
	{
		html_Favoris = "<table align='center'><tr><td height='80' align='center' valign='middle' class='puce_bleu'><table align='center'><tr><td align='center' class='inactif'>"+aucun_element+"</td></tr></table></td></tr></table>";
		html_bouton = trad_no_prod_selected();
		html_bouton2 = "";
	}
	if (typeof Favoris != "undefined") 
	{	
		Favoris.innerHTML = html_Favoris;
	}
			
	var texte_ma_selection = parseInt(nbre)+"&nbsp;produit"+((nbre>1) ? "s" : "");
	//getObj('bouton_Favoris').innerHTML = html_bouton;
	if(getObj('bouton_Favoris'))
		getObj('bouton_Favoris').innerHTML = "("+parseInt(nbre)+"&nbsp;produit"+((nbre>1) ? "s" : "")+" sélectionné"+((nbre>1) ? "s" : "")+")";
	if(getObj('bouton_Favoris2'))
		getObj('bouton_Favoris2').innerHTML = "("+parseInt(nbre)+"&nbsp;produit"+((nbre>1) ? "s" : "")+" sélectionné"+((nbre>1) ? "s" : "")+")";
	if(getObj('menu_Favoris'))
		getObj('menu_Favoris').innerHTML = "("+texte_ma_selection+")";
	
	rCad = setTimeout("RefreshMasqueFavoris()",delai*10);
}

var rMem;

function RefreshMasqueFavoris() 
{
	//clearTimeout("RefreshMasqueFavoris()");

	clearTimeout(rCad);
	var html_masque = "";//affichage des div par dessus les photos des produits dans la mosaique (icone carree sur les photos)
	var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
	if (ids != null) {
		var idSplitted = ids.split(',');
		for (i=0;i<idSplitted.length;i++) {
			var id = idSplitted[i].substring(5);
			//var id = idSplitted[i];
			if ((id != '') && (id!=null)) {
				if (document.getElementById('position_'+ id)) {
					var div_position = document.getElementById('position_'+ id);
					var longueur = div_position.offsetWidth;
					var hauteur = div_position.offsetHeight;
					var curleft = 0;
					var curtop = 0;
					if (div_position.offsetParent) {
						curleft = div_position.offsetLeft;
						curtop = div_position.offsetTop;
						while (div_position.offsetParent) {
							div_position = div_position.offsetParent;
							curleft += div_position.offsetLeft;
							curtop += div_position.offsetTop;
						}
					}
						//alert(curleft+" "+curtop);
					// correctif IE MAC ------------------------------------
					var div_main_marker = document.getElementById('main_marker_1');
					var main_marker_x = div_main_marker.offsetLeft;
					var main_marker_y = div_main_marker.offsetTop;
					if (main_marker_x==0) {
						div_main_marker = document.getElementById('main_marker_2');
						var main_marker_x = div_main_marker.offsetLeft;
						var main_marker_y = div_main_marker.offsetTop;
					}
					//alert(main_marker_x+" "+main_marker_y);
					// -----------------------------------------------------
					var div_x = curleft+((longueur-68)/2) - main_marker_x;
					var div_y = curtop+((hauteur-68)/2) - main_marker_y;
					//alert(div_x+" "+div_y);
					html_masque += "<div background-color: FF0000; layer-background-color: FF0000; id=\"layer_Favoris_"+id+"\"  style=\"position:absolute; -moz-opacity:"+(transparence/100)+"; filter:Alpha(opacity='"+transparence+"'); opacity:"+(transparence/100)+"; left:"+div_x+"px; top:"+div_y+"px; width:68px; height:68px; z-index:"+id+"; border: 1px none #000000;\"><a href=\"javascript:void(0);\" onClick=\"popupDF('/decoration/zoom.cfm?src=" + src + "&lang=" + lang + "&item=" + id + "',530,850,'"+id+"')\"><img src=/decoration/pix/" + lang + "/logo_Favoris.gif width=68 height=68 border=0></a></div>";
				}
			}
		}
	}
	if (document.getElementById('masque')) {
		var masque = document.getElementById('masque');
		masque.innerHTML = html_masque;
	}
	rMem = setTimeout("RefreshMemoriser()",delai);
	RefreshMemoriser();
}

function RefreshMemoriser() 
{
	if(getObj('tableau'))
	{
		//clearTimeout("RefreshMemoriser()");
		clearTimeout(rMem);

		var rowsA = getObj('tableau').getElementsByTagName('a');
		var nb_liens = rowsA.length;
		//alert("rowsA (nb_liens) : "+nb_liens);
		var regexp = /^m[0-9-]+\-[0-9]+$/;
		// INITIALISATION : 
		for (var ri=0; ri<nb_liens; ri++) 
		{
			if (regexp.exec(rowsA[ri].id) != null) 
			{
				var idTABTemp = (rowsA[ri].id).replace("m", "");
				var idTAB = idTABTemp.split('-');
				var id = idTAB[0];		var idv = idTAB[1];
				rowsA[ri].innerHTML = trad_select(id, idv);
				rowsA[ri].href = (rowsA[ri].href).replace("javascript:RemoveFavoris(", "javascript:AddFavoris(");
				rowsA[ri].title = Add_Favoris;
			}
		}
					
		var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
		if (ids != null) 
		{
			var idSplitted = ids.split(',');
			for (var i=0; i<idSplitted.length; i++) 
			{
				var idTAB = idSplitted[i].substring(5).split("\n");
				var id = idTAB[0];
				var idv = idTAB[1];
				var imageArticle = idTAB[2];
				var intitule = idTAB[3];
				//var id = idSplitted[i];
				if ((id!='') && (id!=null)) 
				{
					for (var ri=0; ri<nb_liens; ri++) 
					{
						if ((rowsA[ri].id).search("m"+id+"-")==0) 
						{
							idv = (rowsA[ri].id).replace("m"+id+"-", "");
							rowsA[ri].innerHTML = trad_unselect(id, idv);
							rowsA[ri].href = "javascript:RemoveFavoris("+id+", "+idv+", '"+imageArticle+"', '"+intitule+"');";
							rowsA[ri].title = Delete_Favoris;
						}
					}
				}
			}
		}
	}
	else
	{
		//clearTimeout("RefreshMemoriser()");
		clearTimeout(rMem);
					
		var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
		if (ids != null) 
		{
			var idSplitted = ids.split(',');
			for (var i=0; i<idSplitted.length; i++) 
			{
				var idTAB = idSplitted[i].substring(5).split("\n");
				var id = idTAB[0];
				var idv = idTAB[1];
				var imageArticle = idTAB[2];
				var intitule = idTAB[3];
				//var id = idSplitted[i];
				if ((id!='') && (id!=null)) 
				{
					if (getObj('m'+id)) 
					{
						getObj('m'+id).innerHTML = trad_unselect(id, idv);
						getObj('m'+id).href = "javascript:RemoveFavoris("+id+", "+idv+", '"+imageArticle+"', '"+intitule+"');";
						getObj('m'+id).title = Delete_Favoris;
					}
				}
			}
		}
	}
}

function setCookie (name, value, lifespan, access_path) 
{
	var cookietext = name + "=" + escape(value);
    if (lifespan != null) 
	{
		var today=new Date();
		var expiredate = new Date();
		expiredate.setTime(today.getTime() + 1000*60*60*24*lifespan);
		cookietext += "; expires=" + expiredate.toGMTString();
	}
	if (access_path != null) 
	{
		cookietext += "; PATH="+access_path;
	}
	document.cookie = cookietext;
	return null;
}

function setDatedCookie(name, value, expire, access_path) 
{
    var cookietext = name + "=" + escape(value) + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()));
	if (access_path != null) 
	{ 
		cookietext += "; PATH="+access_path;
	}
   document.cookie = cookietext;
   return null;        
}

function AddCookie_Favoris(id, idv, imageArticle, intitule) 
{
	// ajout d'un produit dans le cookie 'Favoris' : liste des id(produit.numero) ET dimensions des produits
	// et c'est là la grande nouveauté!
	// Pas de problème de temps de chargement d'image pour en calculer 
	// les dims car on calcule les dims sur la vig affichée à l'écran 
	// (celle que l'on sélectionne). Ensuite, les dims sont stockées 
	// dans le cookie, plus besoin de les recalculer à l'avenir.
	//createCookie("MA_SELECTION_"+VARIABLE_SESSION, id, new Date());
	var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
	if (ids == null) ids = '';
	var dimx="00";
	var dimy="00";
	var the_number = String(id);
	var the_length = the_number.length-3;
	var repertoire = the_number.substring(0,the_length);
	var image2 = new Image();
	
	if (repertoire=="") 
	{
		image2.src = rep+img_aucune_photo;
	}
	else
	{
		image2.src = rep+'/Uploads/Articles/' + repertoire + '/' + id + '.jpg';
	}
	
	if (!isInFavoris(id)) 
	{
		if (document.getElementById('position_'+id)) 
		{
			var image1 = new Image();
			image1 = document.getElementById('position_'+id);
			dimx0 = '0'+Math.round((image1.width*5)/15);
			dimx = dimx0.substring(dimx0.length-2,dimx0.length);
			dimy0 = '0'+Math.round((image1.height*5)/15);
			dimy = dimy0.substring(dimy0.length-2,dimy0.length);
		}
		if (dimx=="00") 
		{
			//var le_zoom = frames["le_zoom"];
			dimx0 = '0'+Math.round((image2.width*5)/15);
			dimx = dimx0.substring(dimx0.length-2,dimx0.length);
			dimy0 = '0'+Math.round((image2.height*5)/15);
			dimy = dimy0.substring(dimy0.length-2,dimy0.length);
		}
	}
	var nouvelle_donnee = dimx +''+ dimy + "\n" + id +  "\n" + idv + "\n"+imageArticle+"\n"+intitule+",";
	var nouvelle_donnee_REG = dimx +''+ dimy + "\n" + id +  "\n[0-9]*\n"+imageArticle+"\n"+intitule+",";
	
	//alert("AddCookie_Favoris : ids = "+ids+"\n\n"+nouvelle_donnee);
	//alert("IDS = \n"+ids+"\n\n\n NOUVELLE_DONNEE = \n"+nouvelle_donnee+"\n\n RESULTAT : "+ids.search(nouvelle_donnee_REG));
	// On ajout l'annonce dans le cookies uniquement si il n'existe pas deja dedans
	if(ids=="" || ids.search(nouvelle_donnee_REG)==-1)
	{
		//alert('YES !!');
		ids += nouvelle_donnee;	
		//SetCookie ("MA_SELECTION_"+VARIABLE_SESSION, new Array(id, idv));
		setCookie('MA_SELECTION_'+VARIABLE_SESSION+idC,ids,365,'/');
	}
}

function RemoveCookie_Favoris(id, idv, imageArticle, intitule) 
{
	//alert("RemoveCookie_Favoris"+id+", "+idv+", '"+imageArticle+"', \n id_inscrit"+idC);
	var ids = GetCookie('MA_SELECTION_'+VARIABLE_SESSION+idC);
	if (ids == null) ids = '';
	var recherche = "\n"+id+"\n"+idv+"\n"+imageArticle+"\n"+intitule+',';
	var recherche_REG = "\n"+id+"\n";
	
	var pos = ids.indexOf(recherche);
	var ids1 = ids.substring(0, pos-4);
	var ids2 = ids.substring(pos);
	var pos2 = ids2.indexOf(',');
	var ids3 = ids2.substring(pos2+1);
	
	// On efface l'annonce, si elle existe !
	if(ids!="" && ids.search(recherche_REG)>=0)
	{
		ids =  ids1+''+ids3;
		//alert("APRES ids"+ids);
		//ids = ids.replace(new RegExp(id + ','),'');
		setCookie('MA_SELECTION_'+VARIABLE_SESSION+idC,ids,365,'/');
	}
}

function deleteCookie(Name, Path) 
{
	setCookie(Name,"Deleted", -1, Path);
}

/** For star rating **/
var MAXcheck = 5;

function onClickRate(id, id_all)
{
	var nb_checked = 0;
	for (i=1; i<=MAXcheck; i++)
	{
		if(getObj(id + i) && getObj(id + i).checked == true && getObj(id + i).disabled != true)
		{
			nb_checked++;
			getObj(id + i).value = 1;
		}
		if(getObj(id + i) && getObj(id + i).checked == false && getObj(id + i).disabled != true)
		{
			getObj(id + i).value = 0;
		}
	}
	if(nb_checked > 0)
	{
		getObj(id_all).checked = false;
		getObj(id_all).value = 0;
	}
	else
	{
		if(getObj(id_all).disabled != true)
		{
			getObj(id_all).checked = true;
			getObj(id_all).value = 1;
		}
	}
}

function onClickAny(id, id_all)
{
	if(getObj(id_all).disabled != true)
	{
		getObj(id_all).checked = true;
		getObj(id_all).value = 1;
	}
	for (i=1; i<=MAXcheck; i++)
	{
		if(getObj(id + i))
		{
			getObj(id + i).checked = false;
			getObj(id + i).value == 0;
		}
	}
}

/***********************************************************************************/
	
function compte_coche_2(idi)
{
	//alert(idi+'__  '+getObj(idi).value+"  -- "+(typeof getObj(idi).value == 'undefined'));
	if(getObj('nb_selection'))
	{
		var nb_element_cocher = parseInt(getObj('nb_selection').innerHTML);
		if(getObj(idi) && getObj(idi).checked == true && getObj(idi).disabled != true)
		{
			nb_element_cocher++;
		}
		else if(getObj(idi) && getObj(idi).checked == false && getObj(idi).disabled != true)
		{
			nb_element_cocher--;
		}
		getObj('nb_selection').innerHTML = nb_element_cocher;
	}
}

function compte_coche(idi)
{
	//alert(idi);
	if(getObj('nb_selection'))
	{
		var nb_element_cocher = parseInt(getObj('nb_selection').innerHTML);
		if(getObj(idi) && getObj(idi).checked == true && getObj(idi).disabled != true)
		{
			nb_element_cocher++;
			getObj(idi).value = 1;
		}
		else if(getObj(idi) && getObj(idi).checked == false && getObj(idi).disabled != true)
		{
			nb_element_cocher--;
			getObj(idi).value = 0;
		}
		getObj('nb_selection').innerHTML = nb_element_cocher;
	}
}
	
function tout_cocher(id, max)
{
	if(getObj('nb_selection'))
	{
		var nb_element_cocher = 0;
		for (i=1; i<=(max); i++)
		{
			if(getObj(id + i))
			{
				getObj(id + i).checked = true;
				if(!getObj(id + i).value)
					getObj(id + i).value = 1;
				nb_element_cocher++;
			}
		}
		getObj('nb_selection').innerHTML = nb_element_cocher;
	}
}

function tout_decocher(id, max)
{
	if(getObj('nb_selection'))
	{
		for (i=1; i<=(max); i++)
		{
			if(getObj(id + i))
			{
				getObj(id + i).checked = false;
				if(!getObj(id + i).value)
					getObj(id + i).value = 0;
			}
		}
		getObj('nb_selection').innerHTML = 0;
	}
}

/***********************************************************************************/

function addUploadBoxes(placeholderid, nom_input, num, limite) 
{
	var placeholder = getObj(placeholderid);
	var deb = parseInt(window.totalinputs)+1;
	for (i=deb; i<(deb+num); i++) 
	{
		if (window.totalinputs >= limite) return;
		var newrow = document.createElement('tr');
		
		var newcell = document.createElement('td');
		newcell.className = "texte_gris_bold";
		
		var newdata = document.createTextNode('Image N°'+i+' :');
		newcell.appendChild(newdata);
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		newcell.setAttribute('colspan', "3");
		
		newcell.innerHTML = '<input type="file" size="80" name="'+nom_input+'[]">';
		newrow.appendChild(newcell);
		
		placeholder.parentNode.insertBefore(newrow, placeholder);
		window.totalinputs++;
		
		if(typeof getObj('lien_add_image') != 'undefined' && i>=limite)
			getObj('lien_add_image').style.display = 'none';
	}
}

/***********************************************************************************/

function addImputNumberCoupon(placeholderid, nom_input, num) 
{
	var placeholder = getObj(placeholderid);
	var deb = parseInt(window.totalinputs)+1;
	for (i=deb; i<(deb+num); i=i+2) 
	{
		// DEBUT
		var newrow = document.createElement('tr');
		
		// Le premier : 		
		var newcell = document.createElement('td');
		newcell.className = "texte_gris_bold";
		
		var newdata = document.createTextNode('N° '+i+' : ');
		newcell.appendChild(newdata);
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		
		newcell.innerHTML = '<input type="text" style="width: 200px;" id="'+nom_input+'_id'+(i-1)+'" name="'+nom_input+'_id[]" maxlength="20" value="">';
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		newcell.className = "texte_gris";
		
		newcell.innerHTML = '&nbsp;-&nbsp;';
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		
		newcell.innerHTML = '<input type="text" style="width: 40px;" id="'+nom_input+'_q'+(i-1)+'" name="'+nom_input+'_q[]" maxlength="2" value="">';
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		newcell.width = "80";
		
		newcell.innerHTML = '&nbsp;&nbsp;';
		newrow.appendChild(newcell);
		
		// Le deuxieme : 		
		newcell = document.createElement('td');
		newcell.className = "texte_gris_bold";
		
		newdata = document.createTextNode('N° '+(i+1)+' : ');
		newcell.appendChild(newdata);
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		
		newcell.innerHTML = '<input type="text" style="width: 200px;" id="'+nom_input+'[]" name="'+nom_input+'[]" maxlength="20" value="">';
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		newcell.className = "texte_gris";
		
		newcell.innerHTML = '&nbsp;-&nbsp;';
		newrow.appendChild(newcell);

		newcell = document.createElement('td');
		
		newcell.innerHTML = '<input type="text" style="width: 40px;" id="'+nom_input+'[]" name="'+nom_input+'[]" maxlength="2" value="">';
		newrow.appendChild(newcell);
		
		// FIN
		placeholder.parentNode.insertBefore(newrow, placeholder);
		window.totalinputs++;
	}
}

function swap(i, texte) 
{
	h = getObj('viewer'+i);
	if (h.style.display == 'none') 
	{
		if(typeof texte != "undefined")
			getObj('plus_moins'+i).innerHTML = "Cacher "+texte+"<big style='float: right; top: 0px; margin-top: -16px; margin-bottom: -16px;'><b>&nbsp;&nbsp;-&nbsp;&nbsp;</b></big>";
		else
			getObj('plus_moins'+i).innerHTML = "";
		
		h.style.display = 'block';
	} 
	else 
	{
		if(typeof texte != "undefined")
			getObj('plus_moins'+i).innerHTML = "Afficher "+texte+"<big style='float: right; top: 0px; margin-top: -16px; margin-bottom: -16px;'><b>&nbsp;&nbsp;+&nbsp;&nbsp;</b></big>";
		else
			getObj('plus_moins'+i).innerHTML = "";
		
		h.style.display = 'none';
	}
}

function swapOne(i) 
{
	h = getObj('viewer'+i);
	if (h.style.display == 'none') 
	{
		h.style.display = 'block';
		getObj('swap'+i).style.display = 'none';
	} 
}

// Pour changer de style, interface graphique (bleu ou noir)
function change_css(couleur)
{
	SetCookie("Theme_"+VARIABLE_SESSION, couleur, null, "/");
	document.location = document.location;
	//alert(couleur+"___"+document.location);
}

// Afficher et cacher l'aide dans le backoffice
function aide_edition(etat_aide)
{
	if(typeof etat_aide != 'undefined')
		var etat_aide = 1;
	
	var aujourdhui = new Date();		// Date du jour (aujourd'hui)
	var expire = aujourdhui.OneYearToDate();
	//alert(aujourdhui+"____"+expire);
	
	if(GetCookie ('Aide_Edition_'+VARIABLE_SESSION))
	{
		etat_aide = parseInt(GetCookie ('Aide_Edition_'+VARIABLE_SESSION));
		//alert('COOK'+etat_aide);
	}
	//alert(etat_aide);
	var inverse_etat_aide = 1 - etat_aide;
	//alert(inverse_etat_aide);
	
	SetCookie("Aide_Edition_"+VARIABLE_SESSION, parseInt(inverse_etat_aide), expire, "/");
	document.location = document.location;
}

// Pour enregistrer le mode de recherche favori
function favorite_search(case_cocher)
{	
	var aujourdhui = new Date();		// Date du jour (aujourd'hui)
	var expire = aujourdhui.OneYearToDate();
	//checked="checked"
	var mode = case_cocher.value;
	//alert(mode);
	SetCookie("FavoriteSearch_"+VARIABLE_SESSION, mode, expire, "/");
	//document.location = document.location;
	//alert(couleur+"___"+document.location);
}

clickMenu = function(gallery, image_gallery, lien_image, lien_image_bis, nb_mini_max) 
{
	var getImg = getObj(gallery).getElementsByTagName("IMG");
	var getLi = getObj(gallery).getElementsByTagName("LI");
	
	for (var i=0; i<getImg.length; i++) 
	{
		getImg[i].onclick=function() 
		{
			if ((this.className.indexOf('left'))!=-1) 
			{
				for (var x=getLi.length-1; x>0; x--) 
				{
					if ((getLi[x].className.indexOf('chosen'))!=-1)	
					{
						getLi[x].className=getLi[x].className.replace("chosen", "");
						x--;
						if (x>-1) 
						{
							getLi[x].className="chosen";
							assignURL(image_gallery, lien_image, lien_image_bis, getLi[x]);
							if (x>-1 && x<getLi.length-nb_mini_max)
							{
								getLi[x].className=getLi[x].className.replace("hide", "");
								if ((getLi[x+nb_mini_max].className.indexOf('hide'))==-1)
								{
									getLi[x+nb_mini_max].className="hide";
								}
							}
						}
					}
				}
			}

			if ((this.className.indexOf('right'))!=-1) 
			{
				for (var x=0; x<getLi.length-1; x++) 
				{	
					if ((getLi[x].className.indexOf('chosen'))!=-1)	
					{
						getLi[x].className=getLi[x].className.replace("chosen", "");
						x++;
						if (x<getLi.length) 
						{
							getLi[x].className="chosen";
							if (x>(nb_mini_max-1) && x<getLi.length) 
							{
								getLi[x].className=getLi[x].className.replace("hide", "");
								if ((getLi[x-nb_mini_max].className.indexOf('hide'))==-1)
								{
									getLi[x-nb_mini_max].className="hide";
								}
							}
						}
						assignURL(image_gallery, lien_image, lien_image_bis, getLi[x]);
					}
				}
			}
		}
	}


	for (var i=0; i<getLi.length; i++) 
	{
		getLi[i].onclick=function() 
		{
			this.className="chosenTMP";		
			for (var x=0; x<getLi.length; x++) 
			{
				if ((getLi[x].className.indexOf('chosenTMP'))!=-1)	
				{
					getLi[x].className="chosen";
					assignURL(image_gallery, lien_image, lien_image_bis, getLi[x]);
				}
				else if ((getLi[x].className.indexOf('chosen'))!=-1)	
				{
					getLi[x].className="";
				}
			}
		}
	}
}

function url_image(li)
{
	var dd = rep+"/upload/Catalogue/aucune_photo.png";
	//alert(li.className)
	for(var indice=0; indice < li.childNodes.length; indice++)
	{
		if(li.childNodes[indice].tagName == 'DIV')
		{
			var elt = li.childNodes[indice];
			for(var suite=0; suite < elt.childNodes.length; suite++)
			{
				if(elt.childNodes[suite].tagName == 'IMG')
				{
					var dd = elt.childNodes[suite].src;
				}
			}
		}
	}
	//alert(dd);
	return dd;
}

function assignURL(image_gallery, lien_image, lien_image_bis, img)
{
	var URL = url_image(img);
	var lienimg = rep+'/Librairies/Generation_page/popup.php?img='+URL;

	if(typeof image_gallery!='undefined' && image_gallery!=null && getObj(image_gallery))
	{
		//getObj(image_gallery).style.backgroundImage = "url("+URL+")";
		getObj(image_gallery).src = URL;
	}
	if(typeof lien_image!='undefined' && lien_image!=null && getObj(lien_image))
		getObj(lien_image).href = lienimg;
	if(typeof lien_image_bis!='undefined' && lien_image_bis!=null && getObj(lien_image_bis))
		getObj(lien_image_bis).href = lienimg;
}


/*!
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);


/*
 * Modified by www.bitethebullet.co.uk to display
 * Google Maps in a modal window
 */

/*
 * Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
		  
var tb_pathToImage = rep+"/Interface/Images/Chargement/ajax-loader.gif";

var BTB_GM_MAP;

/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/

//on page load call tb_init
jQuery(document).ready(function(){   
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
	imgLoader = new Image();// preload image
	imgLoader.src = tb_pathToImage;
});

//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
	jQuery(domChunk).click(function(){
	var t = this.title || this.name || null;
	var a = this.href || this.alt;
	var g = this.rel || false;
	tb_show(t,a,g);
	this.blur();
	return false;
	});
}

function Chargement(etat)
{
	if(typeof etat =='undefined' || etat == true)
	{
		jQuery("body").append("<div id='TB_load'><table border='0' cellpadding='0' cellspacing='0' align='center' width='220' class='background_chargement' style='background-image: url("+rep+"/Interface/Images/Chargement/background_chargement.png);'><tbody>	<tr><td align='center' valign='middle' height='45'>	<table border='0' cellpadding='0' cellspacing='0' align='center'><tbody><tr><td width='40' height='32'><img src='"+imgLoader.src+"' alt='boutique' border='0' width='32' height='32' style='margin-right: 8px;'></td><td height='32' class='big_chargement'>Chargement</td></tr></tbody></table></td></tr></tbody></table></div>");//add loader to the page
		jQuery('#TB_load').show();//show loader
	}
	else
		jQuery('#TB_load').hide();//show loader
}

// Ajoute le Lundi 18 Juillet 2011
function Confirmation(the_form, texte, type, local)
{
	var url_confirm = rep+'/confirmation.'+EXT+'?ajx=1&height=234&width=570&modal=true&form='+the_form+'&type='+type+'&msg='+encodeURIComponent(texte)+((typeof local != 'undefined')? '&local='+encodeURIComponent(local) : '');

	$(document).ready(function() {
													tb_show('Confirmation', url_confirm, 'false');
												});
}

// Ajoute le Lundi 18 Juillet 2011
function Message(texte, type)
{
	var url_message = rep+'/message.'+EXT+'?ajx=1&height=234&width=570&modal=true&type='+type+'&msg='+encodeURIComponent(texte);

	$(document).ready(function() {
													tb_show('Message', url_message, 'false');
												});
}

function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link

	try {
		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
			jQuery("body","html").css({height: "100%", width: "100%"});
			jQuery("html").css("overflow","hidden");
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
				jQuery("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
				jQuery("#TB_overlay").click(tb_remove);
			}
		}else{//all others
			if(document.getElementById("TB_overlay") === null){
				jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
				jQuery("#TB_overlay").click(tb_remove);
			}
		}
		
		if(tb_detectMacXFF()){
			jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
		}else{
			jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
		}
		
		if(caption===null){caption="";}
		
		Chargement(true);
		
		var baseURL;
	   if(url.indexOf("?")!==-1){ //ff there is a query string involved
			baseURL = url.substr(0, url.indexOf("?"));
	   }else{ 
	   		baseURL = url;
	   }
	   
	   var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
	   var urlType = baseURL.toLowerCase().match(urlString);
	  
		var queryString = url.replace(/^[^\?]+\??/,'');
		var params = tb_parseQuery( queryString );
			
		if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp' || (params['img'] && params['img']!=''))
		{//code to show images						
			var x = 630; var y = 440;
			if(params['img'])
			{ // Seb
				var img_prod = new Image; 
				img_prod.onload = function()
				{		
					img_prod.onload = null;
					x = img_prod.width; 
					y = img_prod.height;
				
					var margeX = 260; 		var margeY = 280; 
					if(x> window.screen.availWidth-margeX || y > window.screen.availHeight-margeY)
					{
						//alert(x+"x"+y);
						if( x > window.screen.availWidth-margeX) 
						{ 
							x = window.screen.availWidth-margeX; 
							if( y <= window.screen.availHeight-margeY) 
								y += 24; 
						}
						if( y > window.screen.availHeight-margeY) 
						{ 
							y = window.screen.availHeight-margeY; 
							if( x <= window.screen.availWidth-margeX) 
								x += 24; 
						}
					}
					if(x<128) 
					{
						var rapport_sizeX = parseInt(128/x)+1;
						x = x*rapport_sizeX;	y = y*rapport_sizeX;
					}
					//alert(screen.height+"\n"+window.screen.availHeight+"\n"+screen.availHeight);
					
					TB_WIDTH = (params['width']*1) || x; //defaults to 630 if no paramaters were added to URL
					TB_HEIGHT = (params['height']*1) || y; //defaults to 440 if no paramaters were added to URL
					ajaxContentW = TB_WIDTH;
					ajaxContentH = TB_HEIGHT;
					//alert(params['img']+"-"+x+"__"+TB_WIDTH+"x"+TB_HEIGHT);
					
					if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window		
							urlNoQuery = url.split('TB_');
							jQuery("#TB_iframeContent").remove();
							if(params['modal'] != "true"){//iframe no modal
								jQuery("#TB_window").append("<div id='TB_title' style='width:"+ajaxContentW+"px;'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Fermer'>Fermer</a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
							}else{//iframe modal
							jQuery("#TB_overlay").unbind();
								jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
							}		  
					}else{// not an iframe, ajax
							if(jQuery("#TB_window").css("display") != "block"){
								if(params['modal'] != "true"){//ajax no modal
								jQuery("#TB_window").append("<div id='TB_title' style='width:"+ajaxContentW+"px;'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>Fermer</a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
								}else{//ajax modal
								jQuery("#TB_overlay").unbind();
								jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");	
								}
							}else{//this means the window is already up, we are just loading new content via ajax
								jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
								jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
								jQuery("#TB_ajaxContent")[0].scrollTop = 0;
								jQuery("#TB_ajaxWindowTitle").html(caption);
							}
					}
										
					jQuery("#TB_closeWindowButton").click(tb_remove);
				
					if(url.indexOf('TB_inline') != -1){	
						jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
						jQuery("#TB_window").unload(function () {
							jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished
						});
						tb_position();
						jQuery("#TB_load").remove();
						jQuery("#TB_window").css({display:"block"}); 				
					}else if(url.indexOf('TB_googleMap') != -1){
						var mapDiv =  document.createElement('div');
						mapDiv.id = 'googleMap';
						
						jQuery('#TB_ajaxContent').append(mapDiv);
						jQuery('#TB_ajaxContent').css({overflow:"hidden"});
						
						jQuery('#googleMap').css({width:ajaxContentW-0, height:ajaxContentH});
						
						jQuery('#TB_window').unload(function(){
							jQuery("#googleMap").remove();
							BTB_GM_MAP = null;
							GUnload();
						});
						
						tb_position();
						jQuery("#TB_load").remove();
						jQuery("#TB_window").css({display:"block"});
						
						loadGoogleMap(params["zoom"], params);					
					}else if(url.indexOf('TB_iframe') != -1){
						tb_position();
						if($.browser.safari){//safari needs help because it will not fire iframe onload
							jQuery("#TB_load").remove();
							jQuery("#TB_window").css({display:"block"});
						}
					}else{
						jQuery("#TB_ajaxContent").load(url += ((url.search(/\?/g)>-1)? "&" : "?")+"random=" + (new Date().getTime()),function(){//to do a post change this load method
							tb_position();
							jQuery("#TB_load").remove();
							tb_init("#TB_ajaxContent a.thickbox");
							jQuery("#TB_window").css({display:"block"});
						});
					}
				};
				img_prod.src = params['img']; //alert(params['img']);
			}
			else		
			{			
				TB_PrevCaption = "";
				TB_PrevURL = "";
				TB_PrevHTML = "";
				TB_NextCaption = "";
				TB_NextURL = "";
				TB_NextHTML = "";
				TB_imageCount = "";
				TB_FoundURL = false;
				if(imageGroup){
					TB_TempArray = jQuery("a[@rel="+imageGroup+"]").get();
					for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
						var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
							if (!(TB_TempArray[TB_Counter].href == url)) {						
								if (TB_FoundURL) {
									TB_NextCaption = TB_TempArray[TB_Counter].title;
									TB_NextURL = TB_TempArray[TB_Counter].href;
									TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
								} else {
									TB_PrevCaption = TB_TempArray[TB_Counter].title;
									TB_PrevURL = TB_TempArray[TB_Counter].href;
									TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
								}
							} else {
								TB_FoundURL = true;
								TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);											
							}
					}
				}

				imgPreloader = new Image();
				imgPreloader.onload = function(){		
				imgPreloader.onload = null;
					
				// Resizing large images - orginal by Christian Montoya edited by me.
				var pagesize = tb_getPageSize();
				var x = pagesize[0] - 150;
				var y = pagesize[1] - 150;
				var imageWidth = imgPreloader.width;
				var imageHeight = imgPreloader.height;
				if (imageWidth > x) {
					imageHeight = imageHeight * (x / imageWidth); 
					imageWidth = x; 
					if (imageHeight > y) { 
						imageWidth = imageWidth * (y / imageHeight); 
						imageHeight = y; 
					}
				} else if (imageHeight > y) { 
					imageWidth = imageWidth * (y / imageHeight); 
					imageHeight = y; 
					if (imageWidth > x) { 
						imageHeight = imageHeight * (x / imageWidth); 
						imageWidth = x;
					}
				}
				// End Resizing
				
				TB_WIDTH = imageWidth + 30;
				TB_HEIGHT = imageHeight + 60;
				jQuery("#TB_window").append("<a href='' id='TB_ImageOff' title='Fermer'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Fermer'>Fermer</a></div>"); 		
				
				jQuery("#TB_closeWindowButton").click(tb_remove);
				
				if (!(TB_PrevHTML === "")) {
					function goPrev(){
						if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);}
						jQuery("#TB_window").remove();
						jQuery("body").append("<div id='TB_window'></div>");
						tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
						return false;	
					}
					jQuery("#TB_prev").click(goPrev);
				}
				
				if (!(TB_NextHTML === "")) {		
					function goNext(){
						jQuery("#TB_window").remove();
						jQuery("body").append("<div id='TB_window'></div>");
						tb_show(TB_NextCaption, TB_NextURL, imageGroup);				
						return false;	
					}
					jQuery("#TB_next").click(goNext);
					
				}

				document.onkeydown = function(e){ 	
					if (e == null) { // ie
						keycode = event.keyCode;
					} else { // mozilla
						keycode = e.which;
					}
					if(keycode == 27){ // close
						tb_remove();
					} else if(keycode == 190){ // display previous image
						if(!(TB_NextHTML == "")){
							document.onkeydown = "";
							goNext();
						}
					} else if(keycode == 188){ // display next image
						if(!(TB_PrevHTML == "")){
							document.onkeydown = "";
							goPrev();
						}
					}	
				};
				
				tb_position();
				jQuery("#TB_load").remove();
				jQuery("#TB_ImageOff").click(tb_remove);
				jQuery("#TB_window").css({display:"block"}); //for safari using css instead of show
				};
				
				imgPreloader.src = url;
			}
		}
		else
		{//code to show html
			var x = 630; 		var y = 440;	
			var margeX = 260; 		var margeY = 280; 
			
			if(x> window.screen.availWidth-margeX || y > window.screen.availHeight-margeY)
			{
				//alert(x+"x"+y);
				if( x > window.screen.availWidth-margeX) 
				{ 
					x = window.screen.availWidth-margeX; 
					if( y <= window.screen.availHeight-margeY) 
						y += 24; 
				}
				if( y > window.screen.availHeight-margeY) 
				{ 
					y = window.screen.availHeight-margeY; 
					if( x <= window.screen.availWidth-margeX) 
						x += 24; 
				}
			}
			//alert(screen.height+"\n"+window.screen.availHeight+"\n"+screen.availHeight);
			
			TB_WIDTH = (params['width']*1) || x; //defaults to 630 if no paramaters were added to URL
			TB_HEIGHT = (params['height']*1) || y; //defaults to 440 if no paramaters were added to URL
			ajaxContentW = TB_WIDTH;
			ajaxContentH = TB_HEIGHT;
			//alert(params['img']+"-"+x+"__"+TB_WIDTH+"x"+TB_HEIGHT);
			
			if(url.indexOf('TB_iframe') != -1 || url.indexOf('POPUNDER:') != -1)
			{// either iframe or ajax window		
					urlNoQuery = (url.replace('POPUNDER:', '')).split('TB_');
					jQuery("#TB_iframeContent").remove();
					if(params['modal'] != "true")
					{//iframe no modal
						jQuery("#TB_window").append("<div id='TB_title' style='width:"+ajaxContentW+"px;'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Fermer'>Fermer</a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW)+"px;height:"+(ajaxContentH)+"px;' > </iframe>");
						
						jQuery("#TB_window")[0].style.top = "50%";
						jQuery("#TB_window")[0].style.marginTop = "-"+parseInt(ajaxContentH/2)+"px";
						jQuery("#TB_window")[0].style.left = "50%";
						jQuery("#TB_window")[0].style.marginLeft = "-"+parseInt(ajaxContentW/2)+"px";
					}
					else
					{//iframe modal
						jQuery("#TB_overlay").unbind();
						jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
					}		  
			}
			else
			{// not an iframe, ajax 
					if(jQuery("#TB_window").css("display") != "block"){
						if(params['modal'] != "true"){//ajax no modal
						jQuery("#TB_window").append("<div id='TB_title' style='width:"+ajaxContentW+"px;'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>Fermer</a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
						}else{//ajax modal
						jQuery("#TB_overlay").unbind();
						jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");	
						}
					}else{//this means the window is already up, we are just loading new content via ajax
						jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
						jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
						jQuery("#TB_ajaxContent")[0].scrollTop = 0;
						jQuery("#TB_ajaxWindowTitle").html(caption);
					}
			}
								
			jQuery("#TB_closeWindowButton").click(tb_remove);
		
			if(url.indexOf('TB_inline') != -1){	
				jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
				jQuery("#TB_window").unload(function () {
					jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished
				});
				tb_position();
				jQuery("#TB_load").remove();
				jQuery("#TB_window").css({display:"block"}); 				
			}else if(url.indexOf('TB_googleMap') != -1){
				var mapDiv =  document.createElement('div');
				mapDiv.id = 'googleMap';
				
				jQuery('#TB_ajaxContent').append(mapDiv);
				jQuery('#TB_ajaxContent').css({overflow:"hidden"});
				
				jQuery('#googleMap').css({width:ajaxContentW-0, height:ajaxContentH});
				
				jQuery('#TB_window').unload(function(){
					jQuery("#googleMap").remove();
					BTB_GM_MAP = null;
					GUnload();
				});
				
				tb_position();
				jQuery("#TB_load").remove();
				jQuery("#TB_window").css({display:"block"});
				
				loadGoogleMap(params["zoom"], params);					
			}else if(url.indexOf('TB_iframe') != -1){
				tb_position();
				if($.browser.safari){//safari needs help because it will not fire iframe onload
					jQuery("#TB_load").remove();
					jQuery("#TB_window").css({display:"block"});
				}
			}else{
				jQuery("#TB_ajaxContent").load(url += ((url.search(/\?/g)>-1)? "&" : "?")+"random=" + (new Date().getTime()), function(){//to do a post change this load method
					tb_position();
					jQuery("#TB_load").remove();
					tb_init("#TB_ajaxContent a.thickbox");
					jQuery("#TB_window").css({display:"block"});
				});
			}
		}

		if(!params['modal']){
			document.onkeyup = function(e){ 	
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				}	
			};
		}
		
	} catch(e) {
		//nothing here
	}
}


function loadGoogleMap(zoom, params){
    if(GBrowserIsCompatible())
	{
		//get all the points we need to mark
		var points = new Array();
		var i = 0;
						 
		// Initialisation de l'objet "GClientGeocoder"
		geocoder = new GClientGeocoder();	
	
		var address = params['addr'].replace("'", "\'")+' '+params['ville']+' FRANCE';
		var infobulleCONTENT = '<h1 class="big_titre"><b>'+params['enseigne'].replace("'", "\'")+'</b><br><span class="introduction">'+params['addr'].replace("'", "\'")+', '+((params['cp']!=0)? params['cp'] : '')+' '+params['ville']+' FRANCE</span></h1>';
						
		if (geocoder)
		{
			geocoder.getLatLng(address, function(point)
														{
															if (!point) 
															{
																//alert(address + " not found");
															} // Adresse non connue par Google Maps
															else
															{
																BTB_GM_MAP.setCenter(point, zoom); // Recentrage de la carte sur l'adresse
																var marker = new GMarker(point); // Initialisation d'un marker
																BTB_GM_MAP.addOverlay(marker); // Affichage du marker
																marker.openInfoWindowHtml(infobulleCONTENT); // Affichage d'une bulle contenant l'adresse
																GEvent.addListener(marker, "click", function(){
																																		marker.openInfoWindowHtml(infobulleCONTENT);
																																	});
															}
														});
		}

        BTB_GM_MAP = new GMap2(document.getElementById("googleMap"));
		// Ajout de la propriété "Overview" (vue d'ensemble)
		BTB_GM_MAP.addControl(new GOverviewMapControl());
		// Ajoute la commande de zoom par la roulette de souris
		BTB_GM_MAP.enableScrollWheelZoom();
		// Ajout de la propriété zoom à la carte "map"
		//BTB_GM_MAP.addControl(new GSmallMapControl());
        BTB_GM_MAP.addControl(new GLargeMapControl());
        BTB_GM_MAP.addControl(new GMapTypeControl());

        BTB_GM_MAP.clearOverlays();        

		if(zoom != null)
		{
			BTB_GM_MAP.setZoom(parseInt(zoom));
		}
		else
		{		
			var bounds = new GLatLngBounds();
			BTB_GM_MAP.setZoom(BTB_GM_MAP.getBoundsZoomLevel(bounds));
			BTB_GM_MAP.setCenter(bounds.getCenter());
		}
	}
}

function createMarker(point, text){

  var marker = new GMarker(point);

  if(text && text != ''){
	  GEvent.addListener(marker, "click", function(){
		  marker.openInfoWindowHtml(text);
		});
  }
  
  return marker;
}

//helper functions below
function tb_showIframe(){
	jQuery("#TB_load").remove();
	jQuery("#TB_window").css({display:"block"});
}

function tb_remove() {
 	jQuery("#TB_imageOff").unbind("click");
	jQuery("#TB_closeWindowButton").unbind("click");
	jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
	jQuery("#TB_load").remove();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		jQuery("body","html").css({height: "auto", width: "auto"});
		jQuery("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	return false;
}

function tb_position() {
jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
	if ( !(jQuery.browser.msie)) { // take away IE6
		jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
	}
}

function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function tb_getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	arrayPageSize = [w,h];
	return arrayPageSize;
}

function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}

var url = rep+'/popup_aide.'+EXT+'?message=';
var message;
var Titre_du_menu;
var div_menu_ou;
var limite_menu;
var valeur_actuel;
var largeur = 180;
var ielem;
var HeightCell = 20; // Hauteur d'une cellule de tableau

var couleurSelect = "#E5E5E5"; // Couleur de fond du select (gris)

var http = getXhr();


function getSelect(div)
{
	show(getObj('poss')); 
	var Element = "rien";
	http.open("GET", url+escape(Element), true);
	http.onreadystatechange = handleHttpResponse3;
	http.send(null);
}

function closeSelectMultiple(e) 
{
	e?evt=e:evt=event;
	CSE=evt.target?evt.target:evt.srcElement;
	if (getObj(ielem))
	{
		//alert("OK!");
		var Hauteur = 400;
		var Largeur = (parseInt(getObj(ielem).style.width));
		
		var OrigineX = Left(getObj(ielem));
		var OrigineY = Top(getObj(ielem));
		
		/*****************************************************************************************/
		/*	---->																													*/
		/*	|																														*/
		/*	v			(Xgh, Ygh) ---------(Xdh, Ydh)									^							*/
		/*					|							|												|	Hauteur				*/
		/*					|							|												|							*/
		/*				(Xgb, Ygb) ---------(Xdb, Ydb)									v							*/
		/*									 																						*/
		/*						(OrigineX, OrigineY)																		*/
		/*				<---------------------------> 																		*/
		/*							Largeur 																					*/
		/*****************************************************************************************/
			
		// Position du curseur : 
		if(!isIE())
		{
			var CursorX = e.pageX;
			var CursorY = e.pageY;
		}
		else
		{
			var CursorX = e.clientX + document.body.scrollLeft;
			var CursorY = e.clientY + document.body.scrollTop;
		}
		
		// Coordonnees (Xgh, Ygh)
		var Xgh = Math.abs(parseInt(OrigineX));
		var Ygh = Math.abs(parseInt(OrigineY));
		// Coordonnees (Xdh, Ydh)
		var Xdh = Math.abs(parseInt(OrigineX + largeur));
		var Ydh = Math.abs(parseInt(OrigineY));
		
		// Coordonnees (Xgb, Ygb)
		var Xgb = Math.abs(parseInt(OrigineX));
		var Ygb = Math.abs(parseInt(OrigineY + Hauteur));
		// Coordonnees (Xdb, Ydb)
		var Xdb = Math.abs(parseInt(OrigineX + Largeur));
		var Ydb = Math.abs(parseInt(OrigineY + Hauteur));
		
		//alert("("+OrigineX+", "+OrigineY+") - Cursor("+CursorX+", "+CursorY+") \nH : "+Hauteur+"; L : "+Largeur+"; \nOrigineX : "+OrigineX+"; OrigineY : "+OrigineY+"; \nCoordonnees (Xgh, Ygh) : ("+Xgh+", "+Ygh+")\nCoordonnees (Xdh, Ydh) : ("+Xdh+", "+Ydh+")\nCoordonnees (Xgb, Ygb) : ("+Xgb+", "+Ygb+")\nCoordonnees (Xdb, Ydb) : ("+Xdb+", "+Ydb+")\n !(("+CursorX+" >= "+Xgh+" && "+CursorX+" <= "+Xdh+") && ("+CursorY+" >= "+Ygh+" && "+CursorY+" <= "+Ygb+"))  Résultat : "+(!((CursorX >= Xgh && CursorX <= Xdh) && (CursorY >= Ygh && CursorY <= Ygb))));
		
		if(!((CursorX >= Xgh && CursorX <= Xdh) && (CursorY >= Ygh && CursorY <= Ygb)))
		{
			if (!isChild(CSE,getObj(ielem)))
			{
				getObj('poss').style.display='none';
				if(isIE())	getObj('possFRAME').style.display='none';
				//getObj(ielem).className = div_menu_ou;
			}
		}
	}
}

function handleHttpResponse3() 
{
	if (http.readyState == 4) 
	{
		var coche = "";
		var newlargeur = largeur-8;
		var chaine = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" height=\""+HeightCell+"\" align=\"center\" width=\""+newlargeur+"\" bgcolor=\""+couleurSelect+"\"><tbody>";
		
		if(typeof Titre_du_menu!="undefined")
			chaine += "<tr><td class=\"texte_blanc\" width=\""+newlargeur+"\" height=\""+HeightCell+"\" valign=\"middle\" style=\"background-image:url("+rep+"/Interface/Images/Barre_navigation_middle.png); background-repeat: repeat-x; background-position: center; width: "+largeur+"px; height:24px;\"><center>"+Titre_du_menu+" : </center></td></tr>";
		var messages = message.split(";");
		if(message=="")
		{
			newlargeur = newlargeur-8;
			chaine += "<tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\""+newlargeur+"\" height=\""+HeightCell+"\"><tbody><tr><td class=\"texte_gris\" height=\""+HeightCell+"\" valign=\"center\" style=\"left: -10px; padding-left: 10px; right: -10px; padding-right: 10px;\">Liste vide !</td></tr></tbody></table></td></tr>";
		}
		else
		{	
			coche = (getObj(div_menu_ou).value).replace(/ /g, '').replace(/\+/g, '');		
		
			for (m in messages) 
			{
				var value_checkedTAB = messages[m].split("-");
				var value = parseInt(value_checkedTAB[0]);
				var texte = value_checkedTAB[1];
				if(coche!="")
					var checked = (((';'+coche+';').search(';'+value+';')>=0)? true : false);
				
				var style = ((convert_accentHTML_vers_ISO(messages[m]) == convert_accentHTML_vers_ISO(valeur_actuel)) ? "valeur_selectionnee" : "Autocomplete");
				if(messages[m]!="" && m==0)
				{
					chaine += "<tr><td colspan=\"2\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\""+newlargeur+"\" height=\""+HeightCell+"\" id=\"selectionMultiple-"+div_menu_ou+"\"><tbody>";
				}
				if(messages[m]!="" && m<=(messages.length)-1)
				{
					chaine += "<tr class=\"even\" onclick=\"completionSelection('";
					chaine += "selectionMultiple-"+div_menu_ou;
					chaine += "');\"><td height=\""+HeightCell+"\" width=\"20\" valign=\"middle\" style=\"padding: 2px;\"><input type=\"checkbox\" name=\"prix_apartirde\" value=\""+value+"\" "+((checked)? "checked=\"true\"" : "")+"></td><td height=\""+HeightCell+"\" valign=\"middle\" style=\"width: "+(largeur-28)+"px; _width: "+largeur+"px; padding: 2px;\" class=\"texte_noir\">";
					chaine += texte;
					chaine += "</td></tr>";
				}
				if(m==(messages.length)-1)
				{
					chaine += "</tbody></table></td></tr>";
				}
			}
		}
			
		chaine += "</tbody></table>";
		getObj('poss').innerHTML = chaine;
		//Already_Checked ("selectionMultiple-"+div_menu_ou);
		Cocher_Checked ("selectionMultiple-"+div_menu_ou, coche);
		PMA_markRowsInit();
	}
}

function completionSelection(div) 
{		
	var name_input = "";
	var messages = message.split(";");
	var rows = getObj(div).getElementsByTagName( 'input' );
	var data = "";			var mot = "";
	var cptValide = 0;		var premier = false;
	for ( var i = 0; i < rows.length; i++ ) 
	{
		if(rows[i].checked==true)
			cptValide++;
	}
	for ( var i = 0; i < rows.length; i++ ) 
	{
		if(message!="")
		{
			if(rows[i].checked==true)
			{
				for (m in messages) 
				{
					var value_checkedTAB = messages[m].split("-");
					var value = parseInt(value_checkedTAB[0]);
					var texte = value_checkedTAB[1];
					if(value==rows[i].value)
						name_input = texte;
				}
				if (cptValide>1 && premier)
				{
					data +=  ";"+rows[i].value;
					mot +=  ";"+name_input;
				}
				else
				{
					data += rows[i].value;
					mot += name_input;
					premier = true;
				}
			}
		}
	}
	getObj(div_menu_ou).value = convert_accentHTML_vers_ISO(data);
	getObj(ielem).value = convert_accentHTML_vers_ISO(mot);
}
	

if(typeof largeur!="undefined")
{
	var chaine = "";
	if(isIE())
	{
		// Sous Internet Explorer, on ajoute une frame afin que le div plugin puisse s'afficher correctement (au dessus du select type de voile)
		// Probleme: Un affichage plus long que sous Firefox !!
		chaine += '<iframe  id="possFRAME" style="display: none; z-index: 998; background-color: '+couleurSelect+'; position: absolute; width: '+largeur+'px;" frameborder="0" scrolling="no"></iframe>';
	}
	chaine += '<div id="poss" style="display: none; z-index: 999; background-color: '+couleurSelect+'; position: absolute; width: '+largeur+'px;">'; //  overflow: auto; height: 200px;
	chaine += '</div>';
	document.write(chaine);
}

function SelectMultiple(ielem, div, message) 
{
	//alert(message);
	this.ielem = ielem;
	this.div_menu_ou = div;
	this.message = message;
	var cptligne = (message.split(";")).length + 1; // Attention, ici le separateur est le point virgule !!
	this.Titre_du_menu = Titre_du_menu;
	this.valeur_actuel = getObj(ielem).value;
	this.largeur = parseInt((getObj(ielem).style.width) ? getObj(ielem).style.width : getObj(ielem).clientWidth);
	this.HeightCell = 14;
	//alert(this.largeur);
	
	getSelect(div);
	
	getObj('poss').style.width = this.largeur;
	getObj('poss').style.left = Left(getObj(ielem))-1;
	getObj('poss').style.top = Top(getObj(ielem))+getObj(ielem).offsetHeight;
	getObj('poss').style.display = '';
	
	if(isIE())
	{
		//alert(Left(getObj(ielem))+"--------"+Top(getObj(ielem))+"__"+getObj(ielem).offsetHeight);
		getObj('possFRAME').style.left=Left(getObj(ielem))-1;
		getObj('possFRAME').style.top=Top(getObj(ielem))+getObj(ielem).offsetHeight;
		getObj('possFRAME').style.width = this.largeur;
		getObj('possFRAME').style.height= (cptligne*this.HeightCell);
		getObj('possFRAME').style.display='block';
	}
}

