var mouseX, mouseY; // mouse ccordinates

// **********************
// *** Detect Browser ***
var browser = null;
var ie4 = document.all;
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all; 
if (ie4)
	browser= 'ie4';
if (ns4)
	browser= 'ns4';	
if (ns6)
	browser= 'ns6';	

// MACROMEDIA -------------------------------------------------------------------------------
function MM_findObj(n, d) { //v4.01
 	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
// EGBX -------------------------------------------------------------------------------

function EGBX_getE(id)
{
	if(document.getElementById) {
		return document.getElementById(id);
	} else if(document.all) {
		return document.all[id];
	} else return;
}

function EGBX_OpenClose(id,mode)
{
	element = EGBX_getE(id);
	img = EGBX_getE('img_'+id);

	if(element.style) {
		if(mode == 0) {
			if(element.style.display == 'block' ) {
				element.style.display = 'none';
				img.src = '/box/box_theme/images/pictos/triangle_right.gif';
			} else {
				element.style.display = 'block';
				img.src = '/box/box_theme/images/pictos/triangle_down.gif';
			}
		} else if(mode == 1) {
			element.style.display = 'block';
			img.src = '/box/box_theme/images/pictos/triangle_down.gif';
		} else if(mode == -1) {
			element.style.display = 'none';
			img.src = '/box/box_theme/images/pictos/triangle_right.gif';
		}
	}
}

function EGBX_ShowHide(id,mode)
{
	element = EGBX_getE(id);
	img = EGBX_getE('img_'+id);
	
	if(element.style) {
		if(mode == 0) {
			if(element.style.visibility == 'visible' ) {
				element.style.visibility = 'hidden';
				img.src = '/box/box_theme/images/pictos/triangle_right.gif';
			} else {
				element.style.visibility = 'visible';
				img.src = '/box/box_theme/images/pictos/triangle_down.gif';
			}
		} else if(mode == 1) {
			element.style.visibility = 'visible';
			img.src = '/box/box_theme/images/pictos/triangle_down.gif';
		} else if(mode == -1) {
			element.style.visibility = 'hidden';
			img.src = '/box/box_theme/images/pictos/triangle_right.gif';
		}
	}
}

function EGBX_sendForm(form_name, form_action)
{ // v 1.0 by F.REITZ
	var objForm = document.forms[form_name];
	if(form_action)
		objForm.action=form_action;
	objForm.submit();
} // end function sendForm()


function EGBX_FORM(formName,selObj,val){
	eval("window.document."+formName+"."+selObj+".value='"+val+"'");
	var value = eval("window.document."+formName+"."+selObj+".value");
	alert(formName+" : "+value);
	eval("window.document."+formName+".submit()");
}

function EGBX_simpleForm(formName){
	element =  EGBX_getE(formName);
	element.submit();
}
function EGBX_FORM2(formName,selObj,val){
	eval("window.document."+formName+"."+selObj+".value='"+val+"'");
	var valueIWant = window.document.forms[formName][selObj].value;
	alert (valueIWant);
	window.document.forms[formName].submit();
}


function EGBX_Popup_Centrer(page,nom,largeur,hauteur,options) {
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	window.open(page,nom,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}



function EGBX_confirm(texteAlert){
	a= alert(texteAlert);
}

function EGBX_ALERT(urlAlert,texteAlert){
	var a = false, b='';
	a= confirm (texteAlert);
	if (a)
	eval("window.document.location='"+urlAlert+"'");
	else{
	}
}

function EGBX_Window() {
	a = screen.availWidth;
	b = screen.availHeight;
	window.moveTo(0,0);
	window.resizeTo(a,b);
	window.focus();
}

function EGBX_Print() {
    if (document.all) {
        if (navigator.appVersion.indexOf("5.0") == -1) {
            var OLECMDID_PRINT = 6;
            var OLECMDEXECOPT_DONTPROMPTUSER = 2;
            var OLECMDEXECOPT_PROMPTUSER = 1;
            var WebBrowser = "<OBJECT ID=\"WebBrowser1\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
            document.body.insertAdjacentHTML("beforeEnd", WebBrowser);
            WebBrowser1.ExecWB(6, 2);
            WebBrowser1.outerHTML = "";
        } else {
            self.print();
        }
    } else {
        self.print();
    }
}

/* closes current popup window and refresh parent window with URL
function closePopup(){
	EGBX_closeAndRefresh('Page_Builder.php?action=list');
}
*/
/*****************************************************************************************************/
/* closes current window (ie: popup) and refresh parent/opener window */
function closeAndRefresh(theUrl) 
{
	eval("window.opener.location='"+theUrl+"'");
    self.close();
}


function findObject(object_id)
{
	var obj = null;
	switch(browser)
	{
		case 'ie4':
			obj = document.all[object_id];
		break;
		case 'ns4':
			obj = document.getElementById(object_id);
		break;
		case 'ns6':
			obj = document.getElementById(object_id);
		break;
		default:
			return false;
	} // end switch
	return obj;
} // end findObject()

/*******************************************************************/
// set inner content of an html object like textarea, div, td, ...
function setObjectInnerHtml(obj_id, value)
{
	var obj = MM_findObj(obj_id, window.document);
	if(obj)
	{
		obj.innerHTML = value;
		return true;
	} // end if
	alert('setObjectInnerHtml error : unknown object \'' + obj_id + '\'');
	return false;	
} // end setObjectInnerHtml()
/*******************************************************************/
// returns inner content of an html object like textarea, div, td, ...
function getObjectInnerHtml(obj_id)
{
	var obj = MM_findObj(obj_id);
	if(obj)
	{
		return obj.innerHTML;
	} // end if
	alert('setObjectInnerHtml error : unknown object \'' + obj_id + '\'');
	return false;	
} // end setObjectInnerHtml()

/****************************************/
// set value of an html object having value property
function setObjectValue(obj_id, value)
{
	var obj = MM_findObj(obj_id, window.document);
	if(obj)
	{
		obj.value = value;
		return true;
	} // end if
	alert('setObjectValue error : unknown object \'' + obj_id + '\'');
	return false;	
} // end setObjectValue()
/****************************************/

/****************************************/
// returns value of an html object having value property
function getObjectValue(obj_id)
{
	var obj = findObject(obj_id);
	if(obj)
	{
		return obj.value;
	} // end if
	alert('setObjectValue error : unknown object \'' + obj_id + '\'');
	return null;	
} // end setObjectValue()
/****************************************/

// avoid forbidden characters in email field
/*
example:
<form>
	<fieldset>
	<legend>Mail :</legend>
	<input type="text" name="nom" value="" size="48" maxlength="50" onKeypress="return validMail(event);">
	</fieldset>
</form>
*/
function validMail(evt) {
	var keyCode = evt.which ? evt.which : evt.keyCode;
	var forbidden = ' &*?!:=;,\t#~"^%$?%*()[]{}<>|\\/`\'';
	if (forbidden.indexOf(String.fromCharCode(keyCode)) >= 0) {
		return false;
	}
} /* end validMail() */

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,'&aacute;'); // 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;
}