// Copyright Laurent Quivogne Conseil 2005
// Auteur: Gilles Cruchon

function decimalEntityToJsUnicode(s)
{
//alert("entree = " + s);
	var z = s;

	z = z.replace(/&#34;/g, "\u0022"); // 	QUOTATION MARK	&quot;
	z = z.replace(/&#38;/g, "\u0026"); // 	AMPERSAND	&amp;
	z = z.replace(/&#39;/g, "\u0027"); // 	APOSTROPHE	&apos;
	z = z.replace(/&#60;/g, "\u003c"); // 	LESS-THAN SIGN	&lt;
	z = z.replace(/&#62;/g, "\u003e"); // 	GREATER-THAN SIGN	&gt;

	z = z.replace(/&#160;/g, "\u00a0"); // 	NO-BREAK SPACE	&nbsp;
	z = z.replace(/&#161;/g, "\u00a1"); // 	INVERTED EXCLAMATION MARK	&iexcl;
	z = z.replace(/&#162;/g, "\u00a2"); // 	CENT SIGN	&cent;
	z = z.replace(/&#163;/g, "\u00a3"); // 	POUND SIGN	&pound;
	z = z.replace(/&#164;/g, "\u00a4"); // 	CURRENCY SIGN	&curren;
	z = z.replace(/&#165;/g, "\u00a5"); // 	YEN SIGN	&yen;
	z = z.replace(/&#166;/g, "\u00a6"); // 	BROKEN BAR	&brvbar;
	z = z.replace(/&#167;/g, "\u00a7"); // 	SECTION SIGN	&sect;
	z = z.replace(/&#168;/g, "\u00a8"); // 	DIAERESIS	&uml;
	z = z.replace(/&#169;/g, "\u00a9"); // 	COPYRIGHT SIGN	&copy;
	z = z.replace(/&#170;/g, "\u00aa"); // 	FEMININE ORDINAL INDICATOR	&ordf;
	z = z.replace(/&#171;/g, "\u00ab"); // 	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK	&laquo;
	z = z.replace(/&#172;/g, "\u00ac"); // 	NOT SIGN	&not;
	z = z.replace(/&#173;/g, "\u00ad"); // 	SOFT HYPHEN	&shy;
	z = z.replace(/&#174;/g, "\u00ae"); // 	REGISTERED SIGN	&reg;
	z = z.replace(/&#175;/g, "\u00af"); // 	MACRON	&macr;
	z = z.replace(/&#176;/g, "\u00b0"); // 	DEGREE SIGN	&deg;
	z = z.replace(/&#177;/g, "\u00b1"); // 	PLUS-MINUS SIGN	&plusmn;
	z = z.replace(/&#178;/g, "\u00b2"); // 	SUPERSCRIPT TWO	&sup2;
	z = z.replace(/&#179;/g, "\u00b3"); // 	SUPERSCRIPT THREE	&sup3;
	z = z.replace(/&#180;/g, "\u00b4"); // 	ACUTE ACCENT	&acute;
	z = z.replace(/&#181;/g, "\u00b5"); // 	MICRO SIGN	&micro;
	z = z.replace(/&#182;/g, "\u00b6"); // 	PILCROW SIGN	&para;
	z = z.replace(/&#183;/g, "\u00b7"); // 	MIDDLE DOT	&middot;
	z = z.replace(/&#184;/g, "\u00b8"); // 	CEDILLA	&cedil;
	z = z.replace(/&#185;/g, "\u00b9"); // 	SUPERSCRIPT ONE	&sup1;
	z = z.replace(/&#186;/g, "\u00ba"); // 	MASCULINE ORDINAL INDICATOR	&ordm;
	z = z.replace(/&#187;/g, "\u00bb"); // 	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK	&raquo;
	z = z.replace(/&#188;/g, "\u00bc"); // 	VULGAR FRACTION ONE QUARTER	&frac14;
	z = z.replace(/&#189;/g, "\u00bd"); // 	VULGAR FRACTION ONE HALF	&frac12;
	z = z.replace(/&#190;/g, "\u00be"); // 	VULGAR FRACTION THREE QUARTERS	&frac34;
	z = z.replace(/&#191;/g, "\u00bf"); // 	INVERTED QUESTION MARK	&iquest;
	z = z.replace(/&#192;/g, "\u00c0"); // 	LATIN CAPITAL LETTER A WITH GRAVE	&Agrave;
	z = z.replace(/&#193;/g, "\u00c1"); // 	LATIN CAPITAL LETTER A WITH ACUTE	&Aacute;
	z = z.replace(/&#194;/g, "\u00c2"); // 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX	&Acirc;
	z = z.replace(/&#195;/g, "\u00c3"); // 	LATIN CAPITAL LETTER A WITH TILDE	&Atilde;
	z = z.replace(/&#196;/g, "\u00c4"); // 	LATIN CAPITAL LETTER A WITH DIAERESIS	&Auml;
	z = z.replace(/&#197;/g, "\u00c5"); // 	LATIN CAPITAL LETTER A WITH RING ABOVE	&Aring;
	z = z.replace(/&#198;/g, "\u00c6"); // 	LATIN CAPITAL LETTER AE	&AElig;
	z = z.replace(/&#199;/g, "\u00c7"); // 	LATIN CAPITAL LETTER C WITH CEDILLA	&Ccedil;

	z = z.replace(/&#200;/g, "\u00c8"); // 	LATIN CAPITAL LETTER E WITH GRAVE	&Egrave;
	z = z.replace(/&#201;/g, "\u00c9"); // 	LATIN CAPITAL LETTER E WITH ACUTE	&Eacute;
	z = z.replace(/&#202;/g, "\u00ca"); // 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX	&Ecirc;
	z = z.replace(/&#203;/g, "\u00cb"); // 	LATIN CAPITAL LETTER E WITH DIAERESIS	&Euml;
	z = z.replace(/&#204;/g, "\u00cc"); // 	LATIN CAPITAL LETTER I WITH GRAVE	&Igrave;
	z = z.replace(/&#205;/g, "\u00cd"); // 	LATIN CAPITAL LETTER I WITH ACUTE	&Iacute;
	z = z.replace(/&#206;/g, "\u00ce"); // 	LATIN CAPITAL LETTER I WITH CIRCUMFLEX	&Icirc;
	z = z.replace(/&#207;/g, "\u00cf"); // 	LATIN CAPITAL LETTER I WITH DIAERESIS	&Iuml;
	z = z.replace(/&#208;/g, "\u00d0"); // 	LATIN CAPITAL LETTER ETH	&ETH;
	z = z.replace(/&#209;/g, "\u00d1"); // 	LATIN CAPITAL LETTER N WITH TILDE	&Ntilde;
	z = z.replace(/&#210;/g, "\u00d2"); // 	LATIN CAPITAL LETTER O WITH GRAVE	&Ograve;
	z = z.replace(/&#211;/g, "\u00d3"); // 	LATIN CAPITAL LETTER O WITH ACUTE	&Oacute;
	z = z.replace(/&#212;/g, "\u00d4"); // 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX	&Ocirc;
	z = z.replace(/&#213;/g, "\u00d5"); // 	LATIN CAPITAL LETTER O WITH TILDE	&Otilde;
	z = z.replace(/&#214;/g, "\u00d6"); // 	LATIN CAPITAL LETTER O WITH DIAERESIS	&Ouml;
	z = z.replace(/&#215;/g, "\u00d7"); // 	MULTIPLICATION SIGN	&times;
	z = z.replace(/&#216;/g, "\u00d8"); // 	LATIN CAPITAL LETTER O WITH STROKE	&Oslash;
	z = z.replace(/&#217;/g, "\u00d9"); // 	LATIN CAPITAL LETTER U WITH GRAVE	&Ugrave;
	z = z.replace(/&#218;/g, "\u00da"); // 	LATIN CAPITAL LETTER U WITH ACUTE	&Uacute;
	z = z.replace(/&#219;/g, "\u00db"); // 	LATIN CAPITAL LETTER U WITH CIRCUMFLEX	&Ucirc;
	z = z.replace(/&#220;/g, "\u00dc"); // 	LATIN CAPITAL LETTER U WITH DIAERESIS	&Uuml;
	z = z.replace(/&#221;/g, "\u00dd"); // 	LATIN CAPITAL LETTER Y WITH ACUTE	&Yacute;
	z = z.replace(/&#222;/g, "\u00de"); // 	LATIN CAPITAL LETTER THORN	&THORN;
	z = z.replace(/&#223;/g, "\u00df"); // 	LATIN SMALL LETTER SHARP S	&szlig;
	z = z.replace(/&#224;/g, "\u00e0"); // 	LATIN SMALL LETTER A WITH GRAVE	&agrave;
	z = z.replace(/&#225;/g, "\u00e1"); // 	LATIN SMALL LETTER A WITH ACUTE	&aacute;
	z = z.replace(/&#226;/g, "\u00e2"); // 	LATIN SMALL LETTER A WITH CIRCUMFLEX	&acirc;
	z = z.replace(/&#227;/g, "\u00e3"); // 	LATIN SMALL LETTER A WITH TILDE	&atilde;
	z = z.replace(/&#228;/g, "\u00e4"); // 	LATIN SMALL LETTER A WITH DIAERESIS	&auml;
	z = z.replace(/&#229;/g, "\u00e5"); // 	LATIN SMALL LETTER A WITH RING ABOVE	&aring;
	z = z.replace(/&#230;/g, "\u00e6"); // 	LATIN SMALL LETTER AE	&aelig;
	z = z.replace(/&#231;/g, "\u00e7"); // 	LATIN SMALL LETTER C WITH CEDILLA	&ccedil;
	z = z.replace(/&#232;/g, "\u00e8"); // 	LATIN SMALL LETTER E WITH GRAVE	&egrave;
	z = z.replace(/&#233;/g, "\u00e9"); // 	LATIN SMALL LETTER E WITH ACUTE	&eacute;
	z = z.replace(/&#234;/g, "\u00ea"); // 	LATIN SMALL LETTER E WITH CIRCUMFLEX	&ecirc;
	z = z.replace(/&#235;/g, "\u00eb"); // 	LATIN SMALL LETTER E WITH DIAERESIS	&euml;
	z = z.replace(/&#236;/g, "\u00ec"); // 	LATIN SMALL LETTER I WITH GRAVE	&igrave;
	z = z.replace(/&#237;/g, "\u00ed"); // 	LATIN SMALL LETTER I WITH ACUTE	&iacute;
	z = z.replace(/&#238;/g, "\u00ee"); // 	LATIN SMALL LETTER I WITH CIRCUMFLEX	&icirc;
	z = z.replace(/&#239;/g, "\u00ef"); // 	LATIN SMALL LETTER I WITH DIAERESIS	&iuml;
	z = z.replace(/&#240;/g, "\u00f0"); // 	LATIN SMALL LETTER ETH	&eth;
	z = z.replace(/&#241;/g, "\u00f1"); // 	LATIN SMALL LETTER N WITH TILDE	&ntilde;
	z = z.replace(/&#242;/g, "\u00f2"); // 	LATIN SMALL LETTER O WITH GRAVE	&ograve;
	z = z.replace(/&#243;/g, "\u00f3"); // 	LATIN SMALL LETTER O WITH ACUTE	&oacute;
	z = z.replace(/&#244;/g, "\u00f4"); // 	LATIN SMALL LETTER O WITH CIRCUMFLEX	&ocirc;
	z = z.replace(/&#245;/g, "\u00f5"); // 	LATIN SMALL LETTER O WITH TILDE	&otilde;
	z = z.replace(/&#246;/g, "\u00f6"); // 	LATIN SMALL LETTER O WITH DIAERESIS	&ouml;
	z = z.replace(/&#247;/g, "\u00f7"); // 	DIVISION SIGN	&divide;
	z = z.replace(/&#248;/g, "\u00f8"); // 	LATIN SMALL LETTER O WITH STROKE	&oslash;
	z = z.replace(/&#249;/g, "\u00f9"); // 	LATIN SMALL LETTER U WITH GRAVE	&ugrave;
	z = z.replace(/&#250;/g, "\u00fa"); // 	LATIN SMALL LETTER U WITH ACUTE	&uacute;
	z = z.replace(/&#251;/g, "\u00fb"); // 	LATIN SMALL LETTER U WITH CIRCUMFLEX	&ucirc;
	z = z.replace(/&#252;/g, "\u00fc"); // 	LATIN SMALL LETTER U WITH DIAERESIS	&uuml;
	z = z.replace(/&#253;/g, "\u00fd"); // 	LATIN SMALL LETTER Y WITH ACUTE	&yacute;
	z = z.replace(/&#254;/g, "\u00fe"); // 	LATIN SMALL LETTER THORN	&thorn;
	z = z.replace(/&#255;/g, "\u00ff"); // 	LATIN SMALL LETTER Y WITH DIAERESIS	&yuml;

	z = z.replace(/&#338;/g, "\u0152"); // 	LATIN CAPITAL LIGATURE OE	&OElig;
	z = z.replace(/&#339;/g, "\u0153"); // 	LATIN SMALL LIGATURE OE	&oelig;
	z = z.replace(/&#352;/g, "\u0160"); // 	LATIN CAPITAL LETTER S WITH CARON	&Scaron;
	z = z.replace(/&#353;/g, "\u0161"); // 	LATIN SMALL LETTER S WITH CARON	&scaron;
	z = z.replace(/&#376;/g, "\u0178"); // 	LATIN CAPITAL LETTER Y WITH DIAERESIS	&Yuml;

	z = z.replace(/&#402;/g, "\u0192"); // 	LATIN SMALL LETTER F WITH HOOK	&fnof;

	z = z.replace(/&#710;/g, "\u02c6"); // 	MODIFIER LETTER CIRCUMFLEX ACCENT	&circ;
	z = z.replace(/&#732;/g, "\u02dc"); // 	SMALL TILDE	&tilde;

	z = z.replace(/&#913;/g, "\u0391"); // 	GREEK CAPITAL LETTER ALPHA	&Alpha;
	z = z.replace(/&#914;/g, "\u0392"); // 	GREEK CAPITAL LETTER BETA	&Beta;
	z = z.replace(/&#915;/g, "\u0393"); // 	GREEK CAPITAL LETTER GAMMA	&Gamma;
	z = z.replace(/&#916;/g, "\u0394"); // 	GREEK CAPITAL LETTER DELTA	&Delta;
	z = z.replace(/&#917;/g, "\u0395"); // 	GREEK CAPITAL LETTER EPSILON	&Epsilon;
	z = z.replace(/&#918;/g, "\u0396"); // 	GREEK CAPITAL LETTER ZETA	&Zeta;
	z = z.replace(/&#919;/g, "\u0397"); // 	GREEK CAPITAL LETTER ETA	&Eta;
	z = z.replace(/&#920;/g, "\u0398"); // 	GREEK CAPITAL LETTER THETA	&Theta;
	z = z.replace(/&#921;/g, "\u0399"); // 	GREEK CAPITAL LETTER IOTA	&Iota;
	z = z.replace(/&#922;/g, "\u039a"); // 	GREEK CAPITAL LETTER KAPPA	&Kappa;
	z = z.replace(/&#923;/g, "\u039b"); // 	GREEK CAPITAL LETTER LAMDA	&Lambda;
	z = z.replace(/&#924;/g, "\u039c"); // 	GREEK CAPITAL LETTER MU	&Mu;
	z = z.replace(/&#925;/g, "\u039d"); // 	GREEK CAPITAL LETTER NU	&Nu;
	z = z.replace(/&#926;/g, "\u039e"); // 	GREEK CAPITAL LETTER XI	&Xi;
	z = z.replace(/&#927;/g, "\u039f"); // 	GREEK CAPITAL LETTER OMICRON	&Omicron;
	z = z.replace(/&#928;/g, "\u03a0"); // 	GREEK CAPITAL LETTER PI	&Pi;
	z = z.replace(/&#929;/g, "\u03a1"); // 	GREEK CAPITAL LETTER RHO	&Rho;
	z = z.replace(/&#931;/g, "\u03a3"); // 	GREEK CAPITAL LETTER SIGMA	&Sigma;
	z = z.replace(/&#932;/g, "\u03a4"); // 	GREEK CAPITAL LETTER TAU	&Tau;
	z = z.replace(/&#933;/g, "\u03a5"); // 	GREEK CAPITAL LETTER UPSILON	&Upsilon;
	z = z.replace(/&#934;/g, "\u03a6"); // 	GREEK CAPITAL LETTER PHI	&Phi;
	z = z.replace(/&#935;/g, "\u03a7"); // 	GREEK CAPITAL LETTER CHI	&Chi;
	z = z.replace(/&#936;/g, "\u03a8"); // 	GREEK CAPITAL LETTER PSI	&Psi;
	z = z.replace(/&#937;/g, "\u03a9"); // 	GREEK CAPITAL LETTER OMEGA	&Omega;
	z = z.replace(/&#945;/g, "\u03b1"); // 	GREEK SMALL LETTER ALPHA	&alpha;
	z = z.replace(/&#946;/g, "\u03b2"); // 	GREEK SMALL LETTER BETA	&beta;
	z = z.replace(/&#947;/g, "\u03b3"); // 	GREEK SMALL LETTER GAMMA	&gamma;
	z = z.replace(/&#948;/g, "\u03b4"); // 	GREEK SMALL LETTER DELTA	&delta;
	z = z.replace(/&#949;/g, "\u03b5"); // 	GREEK SMALL LETTER EPSILON	&epsilon;
	z = z.replace(/&#950;/g, "\u03b6"); // 	GREEK SMALL LETTER ZETA	&zeta;
	z = z.replace(/&#951;/g, "\u03b7"); // 	GREEK SMALL LETTER ETA	&eta;
	z = z.replace(/&#952;/g, "\u03b8"); // 	GREEK SMALL LETTER THETA	&theta;
	z = z.replace(/&#953;/g, "\u03b9"); // 	GREEK SMALL LETTER IOTA	&iota;
	z = z.replace(/&#954;/g, "\u03ba"); // 	GREEK SMALL LETTER KAPPA	&kappa;
	z = z.replace(/&#955;/g, "\u03bb"); // GREEK SMALL LETTER LAMDA	&lambda;
	z = z.replace(/&#956;/g, "\u03bc"); // 	GREEK SMALL LETTER MU	&mu;
	z = z.replace(/&#957;/g, "\u03bd"); // 	GREEK SMALL LETTER NU	&nu;
	z = z.replace(/&#958;/g, "\u03be"); // 	GREEK SMALL LETTER XI	&xi;
	z = z.replace(/&#959;/g, "\u03bf"); // 	GREEK SMALL LETTER OMICRON	&omicron;
	z = z.replace(/&#960;/g, "\u03c0"); // 	GREEK SMALL LETTER PI	&pi;
	z = z.replace(/&#961;/g, "\u03c1"); // 	GREEK SMALL LETTER RHO	&rho;
	z = z.replace(/&#962;/g, "\u03c2"); // 	GREEK SMALL LETTER FINAL SIGMA	&sigmaf;
	z = z.replace(/&#963;/g, "\u03c3"); // 	GREEK SMALL LETTER SIGMA	&sigma;
	z = z.replace(/&#964;/g, "\u03c4"); // 	GREEK SMALL LETTER TAU	&tau;
	z = z.replace(/&#965;/g, "\u03c5"); // 	GREEK SMALL LETTER UPSILON	&upsilon;
	z = z.replace(/&#966;/g, "\u03c6"); // 	GREEK SMALL LETTER PHI	&phi;
	z = z.replace(/&#967;/g, "\u03c7"); // 	GREEK SMALL LETTER CHI	&chi;
	z = z.replace(/&#968;/g, "\u03c8"); // 	GREEK SMALL LETTER PSI	&psi;
	z = z.replace(/&#969;/g, "\u03c9"); // 	GREEK SMALL LETTER OMEGA	&omega;
	z = z.replace(/&#977;/g, "\u03d1"); // 	GREEK THETA SYMBOL	&thetasym;
	z = z.replace(/&#978;/g, "\u03d2"); // 	GREEK UPSILON WITH HOOK SYMBOL	&upsih;
	z = z.replace(/&#982;/g, "\u03d6"); // 	GREEK PI SYMBOL	&piv;

	z = z.replace(/&#8194;/g, "\u2002"); // 	EN SPACE	&ensp;
	z = z.replace(/&#8195;/g, "\u2003"); // 	EM SPACE	&emsp;

	z = z.replace(/&#8201;/g, "\u2009"); // 	THIN SPACE	&thinsp;
	z = z.replace(/&#8204;/g, "\u200c"); // 	ZERO WIDTH NON-JOINER	&zwnj;
	z = z.replace(/&#8205;/g, "\u200d"); // 	ZERO WIDTH JOINER	&zwj;
	z = z.replace(/&#8206;/g, "\u200e"); // 	LEFT-TO-RIGHT MARK	&lrm;
	z = z.replace(/&#8207;/g, "\u200f"); // 	RIGHT-TO-LEFT MARK	&rlm;
	z = z.replace(/&#8211;/g, "\u2013"); // 	EN DASH	&ndash;
	z = z.replace(/&#8212;/g, "\u2014"); // 	EM DASH	&mdash;
	z = z.replace(/&#8216;/g, "\u2018"); // 	LEFT SINGLE QUOTATION MARK	&lsquo;
	z = z.replace(/&#8217;/g, "\u2019"); // 	RIGHT SINGLE QUOTATION MARK	&rsquo;
	z = z.replace(/&#8218;/g, "\u201a"); // 	SINGLE LOW-9 QUOTATION MARK	&sbquo;
	z = z.replace(/&#8220;/g, "\u201c"); // 	LEFT DOUBLE QUOTATION MARK	&ldquo;
	z = z.replace(/&#8221;/g, "\u201d"); // 	RIGHT DOUBLE QUOTATION MARK	&rdquo;
	z = z.replace(/&#8222;/g, "\u201e"); // 	DOUBLE LOW-9 QUOTATION MARK	&bdquo;
	z = z.replace(/&#8224;/g, "\u2020"); // 	DAGGER	&dagger;
	z = z.replace(/&#8225;/g, "\u2021"); // 	DOUBLE DAGGER	&Dagger;
	z = z.replace(/&#8226;/g, "\u2022"); // 	BULLET	&bull;
	z = z.replace(/&#8230;/g, "\u2026"); // 	HORIZONTAL ELLIPSIS	&hellip;
	z = z.replace(/&#8240;/g, "\u2030"); // 	PER MILLE SIGN	&permil;
	z = z.replace(/&#8242;/g, "\u2032"); // 	PRIME	&prime;
	z = z.replace(/&#8243;/g, "\u2033"); // 	DOUBLE PRIME	&Prime;
	z = z.replace(/&#8249;/g, "\u2039"); // 	SINGLE LEFT-POINTING ANGLE QUOTATION MARK	&lsaquo;
	z = z.replace(/&#8250;/g, "\u203a"); // 	SINGLE RIGHT-POINTING ANGLE QUOTATION MARK	&rsaquo;
	z = z.replace(/&#8254;/g, "\u203e"); // 	OVERLINE	&oline;
	z = z.replace(/&#8260;/g, "\u2044"); // 	FRACTION SLASH	&frasl;

	z = z.replace(/&#8364;/g, "\u20ac"); // 	EURO SIGN	&euro;

	z = z.replace(/&#8465;/g, "\u2111"); // 	BLACK-LETTER CAPITAL I	&image;
	z = z.replace(/&#8472;/g, "\u2118"); // 	SCRIPT CAPITAL P	&weierp;
	z = z.replace(/&#8476;/g, "\u211c"); // 	BLACK-LETTER CAPITAL R	&real;
	z = z.replace(/&#8482;/g, "\u2122"); // 	TRADE MARK SIGN	&trade;

	z = z.replace(/&#8501;/g, "\u2135"); // 	ALEF SYMBOL	&alefsym;
	z = z.replace(/&#8592;/g, "\u2190"); // 	LEFTWARDS ARROW	&larr;
	z = z.replace(/&#8593;/g, "\u2191"); // 	UPWARDS ARROW	&uarr;
	z = z.replace(/&#8594;/g, "\u2192"); // 	RIGHTWARDS ARROW	&rarr;
	z = z.replace(/&#8595;/g, "\u2193"); // 	DOWNWARDS ARROW	&darr;
	z = z.replace(/&#8596;/g, "\u2194"); // 	LEFT RIGHT ARROW	&harr;

	z = z.replace(/&#8629;/g, "\u21b5"); // 	DOWNWARDS ARROW WITH CORNER LEFTWARDS	&crarr;
	z = z.replace(/&#8656;/g, "\u21d0"); // 	LEFTWARDS DOUBLE ARROW	&lArr;
	z = z.replace(/&#8657;/g, "\u21d1"); // 	UPWARDS DOUBLE ARROW	&uArr;
	z = z.replace(/&#8658;/g, "\u21d2"); // 	RIGHTWARDS DOUBLE ARROW	&rArr;
	z = z.replace(/&#8659;/g, "\u21d3"); // 	DOWNWARDS DOUBLE ARROW	&dArr;
	z = z.replace(/&#8660;/g, "\u21d4"); // 	LEFT RIGHT DOUBLE ARROW	&hArr;

	z = z.replace(/&#8704;/g, "\u2200"); // 	FOR ALL	&forall;
	z = z.replace(/&#8706;/g, "\u2202"); // 	PARTIAL DIFFERENTIAL	&part;
	z = z.replace(/&#8707;/g, "\u2203"); // 	THERE EXISTS	&exist;
	z = z.replace(/&#8709;/g, "\u2205"); // 	EMPTY SET	&empty;
	z = z.replace(/&#8711;/g, "\u2207"); // 	NABLA	&nabla;
	z = z.replace(/&#8712;/g, "\u2208"); // 	ELEMENT OF	&isin;
	z = z.replace(/&#8713;/g, "\u2209"); // 	NOT AN ELEMENT OF	&notin;
	z = z.replace(/&#8715;/g, "\u220b"); // 	CONTAINS AS MEMBER	&ni;
	z = z.replace(/&#8719;/g, "\u220f"); // 	N-ARY PRODUCT	&prod;
	z = z.replace(/&#8721;/g, "\u2211"); // 	N-ARY SUMMATION	&sum;
	z = z.replace(/&#8722;/g, "\u2212"); // 	MINUS SIGN	&minus;
	z = z.replace(/&#8727;/g, "\u2217"); // 	ASTERISK OPERATOR	&lowast;
	z = z.replace(/&#8730;/g, "\u221a"); // 	SQUARE ROOT	&radic;
	z = z.replace(/&#8733;/g, "\u221d"); // 	PROPORTIONAL TO	&prop;
	z = z.replace(/&#8734;/g, "\u221e"); // 	INFINITY	&infin;
	z = z.replace(/&#8736;/g, "\u2220"); // 	ANGLE	&ang;
	z = z.replace(/&#8743;/g, "\u2227"); // 	LOGICAL AND	&and;
	z = z.replace(/&#8744;/g, "\u2228"); // 	LOGICAL OR	&or;
	z = z.replace(/&#8745;/g, "\u2229"); // 	INTERSECTION	&cap;
	z = z.replace(/&#8746;/g, "\u222a"); // 	UNION	&cup;
	z = z.replace(/&#8747;/g, "\u222b"); // 	INTEGRAL	&int;
	z = z.replace(/&#8756;/g, "\u2234"); // 	THEREFORE	&there4;
	z = z.replace(/&#8764;/g, "\u223c"); // 	TILDE OPERATOR	&sim;
	z = z.replace(/&#8773;/g, "\u2245"); // 	APPROXIMATELY EQUAL TO	&cong;
	z = z.replace(/&#8776;/g, "\u2248"); // 	ALMOST EQUAL TO	&asymp;

	z = z.replace(/&#8800;/g, "\u2260"); // 	NOT EQUAL TO	&ne;
	z = z.replace(/&#8801;/g, "\u2261"); // 	IDENTICAL TO	&equiv;
	z = z.replace(/&#8804;/g, "\u2264"); // 	LESS-THAN OR EQUAL TO	&le;
	z = z.replace(/&#8805;/g, "\u2265"); // 	GREATER-THAN OR EQUAL TO	&ge;
	z = z.replace(/&#8834;/g, "\u2282"); // 	SUBSET OF	&sub;
	z = z.replace(/&#8835;/g, "\u2283"); // 	SUPERSET OF	&sup;
	z = z.replace(/&#8836;/g, "\u2284"); // 	NOT A SUBSET OF	&nsub;
	z = z.replace(/&#8838;/g, "\u2286"); // 	SUBSET OF OR EQUAL TO	&sube;
	z = z.replace(/&#8839;/g, "\u2287"); // 	SUPERSET OF OR EQUAL TO	&supe;
	z = z.replace(/&#8853;/g, "\u2295"); // 	CIRCLED PLUS	&oplus;
	z = z.replace(/&#8855;/g, "\u2297"); // 	CIRCLED TIMES	&otimes;
	z = z.replace(/&#8869;/g, "\u22a5"); // 	UP TACK	&perp;

	z = z.replace(/&#8901;/g, "\u22c5"); // 	DOT OPERATOR	&sdot;
	z = z.replace(/&#8968;/g, "\u2308"); // 	LEFT CEILING	&lceil;
	z = z.replace(/&#8969;/g, "\u2309"); // 	RIGHT CEILING	&rceil;
	z = z.replace(/&#8970;/g, "\u230a"); // 	LEFT FLOOR	&lfloor;
	z = z.replace(/&#8971;/g, "\u230b"); // 	RIGHT FLOOR	&rfloor;

	z = z.replace(/&#9001;/g, "\u2329"); // 	LEFT-POINTING ANGLE BRACKET	&lang;
	z = z.replace(/&#9002;/g, "\u232a"); // 	RIGHT-POINTING ANGLE BRACKET	&rang;

	z = z.replace(/&#9674;/g, "\u25ca"); // 	LOZENGE	&loz;

	z = z.replace(/&#9824;/g, "\u2660"); // 	BLACK SPADE SUIT	&spades;
	z = z.replace(/&#9827;/g, "\u2663"); // 	BLACK CLUB SUIT	&clubs;
	z = z.replace(/&#9829;/g, "\u2665"); // 	BLACK HEART SUIT	&hearts;
	z = z.replace(/&#9830;/g, "\u2666"); // 	BLACK DIAMOND SUIT	&diams;
//alert("sortie = " + z);	
	return z;
}


function commonOnLoad() {
	try {
	if(typeof(top.restartSessionTimeout) == 'function')
		top.restartSessionTimeout();
	closeJungoAutoSave();
	} catch (ex) {}
	setFocusToFirstInputTextField();
}



function setFocusToFirstInputTextField() //GeC
{
	elts = document.body.getElementsByTagName('input');
	for (var i=0; i < elts.length; i++)
	{
		elt = elts[i];
		if (elt.type == 'text')
		{
			elt.focus();
			return; //j'ai honte
		}
	}
}















function readCookie( ItemName ){
	var offset, end, str;
	if( document.cookie.length > 0 ){
		offset = document.cookie.indexOf( escape( ItemName ) + "=" );
		if( offset != -1 ){
			offset += ItemName.length + 1;
			end = document.cookie.indexOf( ';', offset );
			if( end == -1 ) end = document.cookie.length;
			return document.cookie.substring( offset, end );
		} 
	}
	return null;
}

function setCookie( ItemName, strValue ){
	var offset, end, d;
	d = new Date();
	d.setDate( d.getDate() + 60 );
	str = escape( ItemName ) + '=' + strValue + ';expires=' + d.toUTCString() + ';path=/';
	document.cookie = str;
}

function storeScrollValues(){
	var scrollX, scrollY;

	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrollX = window.pageXOffset;
		scrollY = window.pageYOffset;
	} else if( document.body
		&& ( document.body.scrollLeft
			|| document.body.scrollTop ) ) {
		//DOM compliant
		scrollX = document.body.scrollLeft;
		scrollY = document.body.scrollTop;
	} else if( document.documentElement
		&& ( document.documentElement.scrollLeft
			|| document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrollX = document.documentElement.scrollLeft;
		scrollY = document.documentElement.scrollTop;
	} else {
		scrollX = 0;
		scrollY = 0;
	}
	setCookie( "ScrollPage", document.location.pathname );
	setCookie( "scrollX", scrollX );
	setCookie( "scrollY", scrollY );
}

function resetScrollValues(){
	setCookie( "ScrollPage", '' );
}

function restoreScrollValues(){
	if( document.location.pathname == readCookie( "ScrollPage" ) ){
		window.scrollTo( 
			parseInt( readCookie( "scrollX" ), 10 ),
			parseInt( readCookie( "scrollY" ), 10 ) );
		setCookie( "ScrollPage", "" );
	}
}
