// To highlight images borders when hovering
function hilightImage(image,color){
	if (document.all||document.getElementById){
		image.style.borderColor=color
	}
}

// To add the site in favorites
function favoris(lang, url, title) {
if( document.all )
{ 
	window.external.AddFavorite(url,title); 	
} 
else
{ if(lang==1) alert('Appuyez sur "CTRL + D" pour mettre le site en favoris.');
	else alert('Press "CTRL + D" to add the site to your bookmarks.');
}}

// To automatically resize images too big
/*
function resizeImages()
{
	var imgs = document.images;

	for(i=0; i < imgs.length; ++i)
	{
		if(imgs[i].width > 460 && imgs[i].className != 'pass') imgs[i].width = 460;
	}
}*/

// To set smileys on text shout boxes
function setsmiley(which) {
document.getElementById('comm').value += which+" ";
document.getElementById('comm').focus();
}


//Encode une chane
function htmlentities(texte) {
	texte = texte.replace(/"/g,'&quot;'); // 34 22
	texte = texte.replace(/&/g,'&amp;'); // 38 26
	texte = texte.replace(/\'/g,'&#39;'); // 39 27
	texte = texte.replace(/</g,'&lt;'); // 60 3C
	texte = texte.replace(/>/g,'&gt;'); // 62 3E
	texte = texte.replace(/\^/g,'&circ;'); // 94 5E
	texte = texte.replace(//g,'&lsquo;'); // 145 91
	texte = texte.replace(//g,'&rsquo;'); // 146 92
	texte = texte.replace(//g,'&ldquo;'); // 147 93
	texte = texte.replace(//g,'&rdquo;'); // 148 94
	texte = texte.replace(//g,'&bull;'); // 149 95
	texte = texte.replace(//g,'&ndash;'); // 150 96
	texte = texte.replace(//g,'&mdash;'); // 151 97
	texte = texte.replace(//g,'&tilde;'); // 152 98
	texte = texte.replace(//g,'&trade;'); // 153 99
	texte = texte.replace(//g,'&scaron;'); // 154 9A
	texte = texte.replace(//g,'&rsaquo;'); // 155 9B
	texte = texte.replace(//g,'&oelig;'); // 156 9C
	texte = texte.replace(//g,'&#357;'); // 157 9D
	texte = texte.replace(//g,'&#382;'); // 158 9E
	texte = texte.replace(//g,'&Yuml;'); // 159 9F
	texte = texte.replace(/ /g,'&nbsp;'); // 160 A0
	texte = texte.replace(//g,'&iexcl;'); // 161 A1
	texte = texte.replace(//g,'&cent;'); // 162 A2
	texte = texte.replace(//g,'&pound;'); // 163 A3
	texte = texte.replace(/ /g,'&curren;'); // 164 A4
	texte = texte.replace(//g,'&yen;'); // 165 A5
	texte = texte.replace(//g,'&brvbar;'); // 166 A6
	texte = texte.replace(//g,'&sect;'); // 167 A7
	texte = texte.replace(//g,'&uml;'); // 168 A8
	texte = texte.replace(//g,'&copy;'); // 169 A9
	texte = texte.replace(//g,'&ordf;'); // 170 AA
	texte = texte.replace(//g,'&laquo;'); // 171 AB
	texte = texte.replace(//g,'&not;'); // 172 AC
	texte = texte.replace(//g,'&shy;'); // 173 AD
	texte = texte.replace(//g,'&reg;'); // 174 AE
	texte = texte.replace(//g,'&macr;'); // 175 AF
	texte = texte.replace(//g,'&deg;'); // 176 B0
	texte = texte.replace(//g,'&plusmn;'); // 177 B1
	texte = texte.replace(//g,'&sup2;'); // 178 B2
	texte = texte.replace(//g,'&sup3;'); // 179 B3
	texte = texte.replace(//g,'&acute;'); // 180 B4
	texte = texte.replace(//g,'&micro;'); // 181 B5
	texte = texte.replace(//g,'&para'); // 182 B6
	texte = texte.replace(//g,'&middot;'); // 183 B7
	texte = texte.replace(//g,'&cedil;'); // 184 B8
	texte = texte.replace(//g,'&sup1;'); // 185 B9
	texte = texte.replace(//g,'&ordm;'); // 186 BA
	texte = texte.replace(//g,'&raquo;'); // 187 BB
	texte = texte.replace(//g,'&frac14;'); // 188 BC
	texte = texte.replace(//g,'&frac12;'); // 189 BD
	texte = texte.replace(//g,'&frac34;'); // 190 BE
	texte = texte.replace(//g,'&iquest;'); // 191 BF
	texte = texte.replace(//g,'&Agrave;'); // 192 C0
	texte = texte.replace(//g,'&Aacute;'); // 193 C1
	texte = texte.replace(//g,'&Acirc;'); // 194 C2
	texte = texte.replace(//g,'&Atilde;'); // 195 C3
	texte = texte.replace(//g,'&Auml;'); // 196 C4
	texte = texte.replace(//g,'&Aring;'); // 197 C5
	texte = texte.replace(//g,'&AElig;'); // 198 C6
	texte = texte.replace(//g,'&Ccedil;'); // 199 C7
	texte = texte.replace(//g,'&Egrave;'); // 200 C8
	texte = texte.replace(//g,'&Eacute;'); // 201 C9
	texte = texte.replace(//g,'&Ecirc;'); // 202 CA
	texte = texte.replace(//g,'&Euml;'); // 203 CB
	texte = texte.replace(//g,'&Igrave;'); // 204 CC
	texte = texte.replace(//g,'&Iacute;'); // 205 CD
	texte = texte.replace(//g,'&Icirc;'); // 206 CE
	texte = texte.replace(//g,'&Iuml;'); // 207 CF
	texte = texte.replace(//g,'&ETH;'); // 208 D0
	texte = texte.replace(//g,'&Ntilde;'); // 209 D1
	texte = texte.replace(//g,'&Ograve;'); // 210 D2
	texte = texte.replace(//g,'&Oacute;'); // 211 D3
	texte = texte.replace(//g,'&Ocirc;'); // 212 D4
	texte = texte.replace(//g,'&Otilde;'); // 213 D5
	texte = texte.replace(//g,'&Ouml;'); // 214 D6
	texte = texte.replace(//g,'&times;'); // 215 D7
	texte = texte.replace(//g,'&Oslash;'); // 216 D8
	texte = texte.replace(//g,'&Ugrave;'); // 217 D9
	texte = texte.replace(//g,'&Uacute;'); // 218 DA
	texte = texte.replace(//g,'&Ucirc;'); // 219 DB
	texte = texte.replace(//g,'&Uuml;'); // 220 DC
	texte = texte.replace(//g,'&Yacute;'); // 221 DD
	texte = texte.replace(//g,'&THORN;'); // 222 DE
	texte = texte.replace(//g,'&szlig;'); // 223 DF
	texte = texte.replace(//g,'&agrave;'); // 224 E0
	texte = texte.replace(//g,'&aacute;'); // 225 E1
	texte = texte.replace(//g,'&acirc;'); // 226 E2
	texte = texte.replace(//g,'&atilde;'); // 227 E3
	texte = texte.replace(//g,'&auml;'); // 228 E4
	texte = texte.replace(//g,'&aring;'); // 229 E5
	texte = texte.replace(//g,'&aelig;'); // 230 E6
	texte = texte.replace(//g,'&ccedil;'); // 231 E7
	texte = texte.replace(//g,'&egrave;'); // 232 E8
	texte = texte.replace(//g,'&eacute;'); // 233 E9
	texte = texte.replace(//g,'&ecirc;'); // 234 EA
	texte = texte.replace(//g,'&euml;'); // 235 EB
	texte = texte.replace(//g,'&igrave;'); // 236 EC
	texte = texte.replace(//g,'&iacute;'); // 237 ED
	texte = texte.replace(//g,'&icirc;'); // 238 EE
	texte = texte.replace(//g,'&iuml;'); // 239 EF
	texte = texte.replace(//g,'&eth;'); // 240 F0
	texte = texte.replace(//g,'&ntilde;'); // 241 F1
	texte = texte.replace(//g,'&ograve;'); // 242 F2
	texte = texte.replace(//g,'&oacute;'); // 243 F3
	texte = texte.replace(//g,'&ocirc;'); // 244 F4
	texte = texte.replace(//g,'&otilde;'); // 245 F5
	texte = texte.replace(//g,'&ouml;'); // 246 F6
	texte = texte.replace(//g,'&divide;'); // 247 F7
	texte = texte.replace(//g,'&oslash;'); // 248 F8
	texte = texte.replace(//g,'&ugrave;'); // 249 F9
	texte = texte.replace(//g,'&uacute;'); // 250 FA
	texte = texte.replace(//g,'&ucirc;'); // 251 FB
	texte = texte.replace(//g,'&uuml;'); // 252 FC
	texte = texte.replace(//g,'&yacute;'); // 253 FD
	texte = texte.replace(//g,'&thorn;'); // 254 FE
	texte = texte.replace(//g,'&yuml;'); // 255 FF
	return texte;
}

//Dcode une chane
function html_entity_decode(texte) {
	texte = texte.replace(/&quot;/g,'"'); // 34 22
	texte = texte.replace(/&amp;/g,'&'); // 38 26	
	texte = texte.replace(/&#39;/g,"'"); // 39 27
	texte = texte.replace(/&lt;/g,'<'); // 60 3C
	texte = texte.replace(/&gt;/g,'>'); // 62 3E
	texte = texte.replace(/&circ;/g,'^'); // 94 5E
	texte = texte.replace(/&lsquo;/g,''); // 145 91
	texte = texte.replace(/&rsquo;/g,''); // 146 92
	texte = texte.replace(/&ldquo;/g,''); // 147 93
	texte = texte.replace(/&rdquo;/g,''); // 148 94
	texte = texte.replace(/&bull;/g,''); // 149 95
	texte = texte.replace(/&ndash;/g,''); // 150 96
	texte = texte.replace(/&mdash;/g,''); // 151 97
	texte = texte.replace(/&tilde;/g,''); // 152 98
	texte = texte.replace(/&trade;/g,''); // 153 99
	texte = texte.replace(/&scaron;/g,''); // 154 9A
	texte = texte.replace(/&rsaquo;/g,''); // 155 9B
	texte = texte.replace(/&oelig;/g,''); // 156 9C
	texte = texte.replace(/&#357;/g,''); // 157 9D
	texte = texte.replace(/&#382;/g,''); // 158 9E
	texte = texte.replace(/&Yuml;/g,''); // 159 9F
	texte = texte.replace(/&nbsp;/g,' '); // 160 A0
	texte = texte.replace(/&iexcl;/g,''); // 161 A1
	texte = texte.replace(/&cent;/g,''); // 162 A2
	texte = texte.replace(/&pound;/g,''); // 163 A3
	texte = texte.replace(/&curren;/g,' '); // 164 A4
	texte = texte.replace(/&yen;/g,''); // 165 A5
	texte = texte.replace(/&brvbar;/g,''); // 166 A6
	texte = texte.replace(/&sect;/g,''); // 167 A7
	texte = texte.replace(/&uml;/g,''); // 168 A8
	texte = texte.replace(/&copy;/g,''); // 169 A9
	texte = texte.replace(/&ordf;/g,''); // 170 AA
	texte = texte.replace(/&laquo;/g,''); // 171 AB
	texte = texte.replace(/&not;/g,''); // 172 AC
	texte = texte.replace(/&shy;/g,''); // 173 AD
	texte = texte.replace(/&reg;/g,''); // 174 AE
	texte = texte.replace(/&macr;/g,''); // 175 AF
	texte = texte.replace(/&deg;/g,''); // 176 B0
	texte = texte.replace(/&plusmn;/g,''); // 177 B1
	texte = texte.replace(/&sup2;/g,''); // 178 B2
	texte = texte.replace(/&sup3;/g,''); // 179 B3
	texte = texte.replace(/&acute;/g,''); // 180 B4
	texte = texte.replace(/&micro;/g,''); // 181 B5
	texte = texte.replace(/&para/g,''); // 182 B6
	texte = texte.replace(/&middot;/g,''); // 183 B7
	texte = texte.replace(/&cedil;/g,''); // 184 B8
	texte = texte.replace(/&sup1;/g,''); // 185 B9
	texte = texte.replace(/&ordm;/g,''); // 186 BA
	texte = texte.replace(/&raquo;/g,''); // 187 BB
	texte = texte.replace(/&frac14;/g,''); // 188 BC
	texte = texte.replace(/&frac12;/g,''); // 189 BD
	texte = texte.replace(/&frac34;/g,''); // 190 BE
	texte = texte.replace(/&iquest;/g,''); // 191 BF
	texte = texte.replace(/&Agrave;/g,''); // 192 C0
	texte = texte.replace(/&Aacute;/g,''); // 193 C1
	texte = texte.replace(/&Acirc;/g,''); // 194 C2
	texte = texte.replace(/&Atilde;/g,''); // 195 C3
	texte = texte.replace(/&Auml;/g,''); // 196 C4
	texte = texte.replace(/&Aring;/g,''); // 197 C5
	texte = texte.replace(/&AElig;/g,''); // 198 C6
	texte = texte.replace(/&Ccedil;/g,''); // 199 C7
	texte = texte.replace(/&Egrave;/g,''); // 200 C8
	texte = texte.replace(/&Eacute;/g,''); // 201 C9
	texte = texte.replace(/&Ecirc;/g,''); // 202 CA
	texte = texte.replace(/&Euml;/g,''); // 203 CB
	texte = texte.replace(/&Igrave;/g,''); // 204 CC
	texte = texte.replace(/&Iacute;/g,''); // 205 CD
	texte = texte.replace(/&Icirc;/g,''); // 206 CE
	texte = texte.replace(/&Iuml;/g,''); // 207 CF
	texte = texte.replace(/&ETH;/g,''); // 208 D0
	texte = texte.replace(/&Ntilde;/g,''); // 209 D1
	texte = texte.replace(/&Ograve;/g,''); // 210 D2
	texte = texte.replace(/&Oacute;/g,''); // 211 D3
	texte = texte.replace(/&Ocirc;/g,''); // 212 D4
	texte = texte.replace(/&Otilde;/g,''); // 213 D5
	texte = texte.replace(/&Ouml;/g,''); // 214 D6
	texte = texte.replace(/&times;/g,''); // 215 D7
	texte = texte.replace(/&Oslash;/g,''); // 216 D8
	texte = texte.replace(/&Ugrave;/g,''); // 217 D9
	texte = texte.replace(/&Uacute;/g,''); // 218 DA
	texte = texte.replace(/&Ucirc;/g,''); // 219 DB
	texte = texte.replace(/&Uuml;/g,''); // 220 DC
	texte = texte.replace(/&Yacute;/g,''); // 221 DD
	texte = texte.replace(/&THORN;/g,''); // 222 DE
	texte = texte.replace(/&szlig;/g,''); // 223 DF
	texte = texte.replace(/&agrave;/g,''); // 224 E0
	texte = texte.replace(/&aacute;/g,''); // 225 E1
	texte = texte.replace(/&acirc;/g,''); // 226 E2
	texte = texte.replace(/&atilde;/g,''); // 227 E3
	texte = texte.replace(/&auml;/g,''); // 228 E4
	texte = texte.replace(/&aring;/g,''); // 229 E5
	texte = texte.replace(/&aelig;/g,''); // 230 E6
	texte = texte.replace(/&ccedil;/g,''); // 231 E7
	texte = texte.replace(/&egrave;/g,''); // 232 E8
	texte = texte.replace(/&eacute;/g,''); // 233 E9
	texte = texte.replace(/&ecirc;/g,''); // 234 EA
	texte = texte.replace(/&euml;/g,''); // 235 EB
	texte = texte.replace(/&igrave;/g,''); // 236 EC
	texte = texte.replace(/&iacute;/g,''); // 237 ED
	texte = texte.replace(/&icirc;/g,''); // 238 EE
	texte = texte.replace(/&iuml;/g,''); // 239 EF
	texte = texte.replace(/&eth;/g,''); // 240 F0
	texte = texte.replace(/&ntilde;/g,''); // 241 F1
	texte = texte.replace(/&ograve;/g,''); // 242 F2
	texte = texte.replace(/&oacute;/g,''); // 243 F3
	texte = texte.replace(/&ocirc;/g,''); // 244 F4
	texte = texte.replace(/&otilde;/g,''); // 245 F5
	texte = texte.replace(/&ouml;/g,''); // 246 F6
	texte = texte.replace(/&divide;/g,''); // 247 F7
	texte = texte.replace(/&oslash;/g,''); // 248 F8
	texte = texte.replace(/&ugrave;/g,''); // 249 F9
	texte = texte.replace(/&uacute;/g,''); // 250 FA
	texte = texte.replace(/&ucirc;/g,''); // 251 FB
	texte = texte.replace(/&uuml;/g,''); // 252 FC
	texte = texte.replace(/&yacute;/g,''); // 253 FD
	texte = texte.replace(/&thorn;/g,''); // 254 FE
	texte = texte.replace(/&yuml;/g,''); // 255 FF
	return texte;
}

// Correction for interpreating javascript returned from Ajax with IE
function setInnerHTML(divContent, HTML)
{
  divContent.innerHTML=HTML;
  var All=divContent.getElementsByTagName("*");
  for (var i=0; i<All.length; i++) {
	All[i].id=All[i].getAttribute("id")
	All[i].name=All[i].getAttribute("name")
	var elementClass = All[i].getAttribute("class");
	if (elementClass == null) {
	elementClass = All[i].getAttribute("className");
	}
	All[i].className=elementClass;
  }
  var AllScripts=divContent.getElementsByTagName("script")
  for (var i=0; i<AllScripts.length; i++) {
	 var s=AllScripts[i];
	 if (s.src && s.src!="") {
		// Prcdement asynchrone, mis en synchrone pour viter des problmes de dpendances de scripts
		eval(getFileContent(s.src));
	 }
	 else {	 	 
		eval(s.innerHTML);
	 }
  }
}

function getFileContent(url) {
var Xhr=GetXmlHttpRequest();
Xhr.open("POST",url,false);
Xhr.send(null);
return Xhr.responseText;
}

// Retourne un nouvel objet XmlHttpRequest
var GetXmlHttpRequest_AXO=null;
var GetXmlHttpRequest=function () {
if (window.XMLHttpRequest) {
return new XMLHttpRequest()
}
else if (window.ActiveXObject) {
if (!GetXmlHttpRequest_AXO) {
GetXmlHttpRequest_AXO=pickRecentProgID(["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
}
return new ActiveXObject(GetXmlHttpRequest_AXO)
}
return false;
} 

function addslashes(str) {
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\0/g,'\\0');
return str;
}

function getHTTPObject() {
  var xmlhttp;

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {	
      xmlhttp = new XMLHttpRequest();
      } catch (e) {	  
      xmlhttp = false;
      }
    }
  else if (window.ActiveXObject) { // IE
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return xmlhttp;
}

function addJSField(id, val) {
	if(document.getElementById(id))
	{
		d=document.getElementById(id);
		d.parentNode.removeChild(d);
	}

	if(!document.getElementById(id))
	{
		var d = document.createElement('input');
		d.id = id;
		d.className = 'hidden_none';
		d.value = val;
		document.body.appendChild(d);				
	}
	else
	{
		d = document.getElementById(id);
		d.value = val;
	}
}