var gErrorUrl="";
var gHexArray = ["%00", "%01", "%02", "%03", "%04", "%05", "%06", "%07",
"%08", "%09", "%0a", "%0b", "%0c", "%0d", "%0e", "%0f",
"%10", "%11", "%12", "%13", "%14", "%15", "%16", "%17",
"%18", "%19", "%1a", "%1b", "%1c", "%1d", "%1e", "%1f",
"%20", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
"%28", "%29", "%2a", "%2b", "%2c", "%2d", "%2e", "%2f",
"%30", "%31", "%32", "%33", "%34", "%35", "%36", "%37",
"%38", "%39", "%3a", "%3b", "%3c", "%3d", "%3e", "%3f",
"%40", "%41", "%42", "%43", "%44", "%45", "%46", "%47",
"%48", "%49", "%4a", "%4b", "%4c", "%4d", "%4e", "%4f",
"%50", "%51", "%52", "%53", "%54", "%55", "%56", "%57",
"%58", "%59", "%5a", "%5b", "%5c", "%5d", "%5e", "%5f",
"%60", "%61", "%62", "%63", "%64", "%65", "%66", "%67",
"%68", "%69", "%6a", "%6b", "%6c", "%6d", "%6e", "%6f",
"%70", "%71", "%72", "%73", "%74", "%75", "%76", "%77",
"%78", "%79", "%7a", "%7b", "%7c", "%7d", "%7e", "%7f",
"%80", "%81", "%82", "%83", "%84", "%85", "%86", "%87",
"%88", "%89", "%8a", "%8b", "%8c", "%8d", "%8e", "%8f",
"%90", "%91", "%92", "%93", "%94", "%95", "%96", "%97",
"%98", "%99", "%9a", "%9b", "%9c", "%9d", "%9e", "%9f",
"%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%a7",
"%a8", "%a9", "%aa", "%ab", "%ac", "%ad", "%ae", "%af",
"%b0", "%b1", "%b2", "%b3", "%b4", "%b5", "%b6", "%b7",
"%b8", "%b9", "%ba", "%bb", "%bc", "%bd", "%be", "%bf",
"%c0", "%c1", "%c2", "%c3", "%c4", "%c5", "%c6", "%c7",
"%c8", "%c9", "%ca", "%cb", "%cc", "%cd", "%ce", "%cf",
"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7",
"%d8", "%d9", "%da", "%db", "%dc", "%dd", "%de", "%df",
"%e0", "%e1", "%e2", "%e3", "%e4", "%e5", "%e6", "%e7",
"%e8", "%e9", "%ea", "%eb", "%ec", "%ed", "%ee", "%ef",
"%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7",
"%f8", "%f9", "%fa", "%fb", "%fc", "%fd", "%fe", "%ff" ];
function OpenHelpErrorHandler() 
{
if (gErrorUrl != "")
{
location.href = gErrorUrl;
return true;
}
else
{
return false;
}
}
function OpenHelp(url)
{        
window.onerror = OpenHelpErrorHandler;
gErrorUrl = url;
var hWnd = window.open(url, "NVOHelp", "menubar=yes,toolbar=yes,width=630,height=400,resizable=yes,scrollbars=yes");
if (!hWnd.opener) hWnd.opener = self;
if (hWnd.focus != null) hWnd.focus();
gErrorUrl = "";
}
function OpenSEOAnalysis(url)
{        
window.onerror = OpenHelpErrorHandler;
gErrorUrl = url;
var seoWnd = window.open(url, "SEOWindow");
if (!seoWnd.opener) seoWnd.opener = self;
if (seoWnd.focus != null) seoWnd.focus();
gErrorUrl = "";
}
function OpenQuickHelp(msg)
{
try
{
var hWnd = window.open("", "NVOQuickHelp", "menubar=no,toolbar=no,width=630,height=150,resizable=yes,scrollbars=yes");
if (hWnd)
{
hWnd.document.writeln("<html><body><span style=\"font-family:Arial, Helvetica, sans-serif;font-size:12px;\">" + msg + "</span></body></html>");
}
if (!hWnd.opener) hWnd.opener = self;
if (hWnd.focus != null) hWnd.focus();
}
catch(e)
{
alert(e.message);
}
}
function LangWiz() 
{
alert("Votre fournisseur de service ne prend en charge aucune langue supplémentaire à l\'heure actuelle.\n\nContactez le service à la clientèle pour obtenir de l\'aide.")
}
function FindElement(elementName)
{
var i = 0;
for (i = 0; i < document.nvoForm.elements.length; i++)
{
if (document.nvoForm.elements[i].name == elementName)
{
return document.nvoForm.elements[i];
}
}
return null;
}
function findFormByName(formName)
{
var theForm = null;
for (var i = 0; i < document.forms.length; i++)
{
if (document.forms[i].name == formName)
{
theForm = document.forms[i];
break;
}
}
return theForm;
}
function RemoveFocusAll()
{
if (document.nvoForm)
{
var vers = navigator.appVersion;
if (vers.indexOf("Mac") != -1 && vers.indexOf("IE") != -1)
{
var i = 0;
for (i = document.nvoForm.elements.length - 1; i >= 0 ; i--)
{
if (document.nvoForm.elements[i].type == "text" || document.nvoForm.elements[i].type == "textarea")
{
document.nvoForm.elements[i].blur();
}
}
}
}
}
var gSaveAndGoURL = "";
var gChanged = false;  
function DoGoto(url, uid)
{
gSaveAndGoURL = url;
CheckForTextChange();
RemoveFocusAll();
//If a UID is passed to this function then it needs to be plugged
//into the redirect URL in place of the asterisk character
if (uid && uid != "")
gSaveAndGoURL = ReplaceString(url,"*",uid);
/* The following if statement first checked if gChanged is true, if so
then save the page. If that fails then it checks the redirect URL
to see if it has any "*" characters. If the URL does have an 
asterisk this implies that a new UID needs to be generated
before moving to the next page, so a save operation is forced.
If both of these checks fail, then it is safe to go ahead
to the redirect URL without saving.
*/
if (gChanged)
DoSave();
else if (gSaveAndGoURL.indexOf("*") != -1)
DoSave();
else
location = gSaveAndGoURL;
}
var hitreturn = false;
function DoDefault()
{
if (!hitreturn) 
{
hitreturn = true;
DoSave();
}
return true;
}
function SaveAndGo(url)
{
gSaveAndGoURL = url;
CheckForTextChange();
RemoveFocusAll();
if (gChanged)
{
DoSave();
}
else
{
gSaveAndGoURL = "";
location.href = url;
}
}
function Changed(url)
{
gChanged = true;
}
function IsNetscape()
{
return (navigator.appName.substring(0, 8) == "Netscape");
}
function WarnIfUsingOldBrowser()
{
if (parseInt(navigator.appVersion) < 4)
{
if (IsNetscape())
alert("Une nouvelle version de Netscape Communicator est nécessaire pour modifier votre site Web. Visitez le site Web de Netscape à l'adresse www.netscape.com pour obtenir la dernière version. Si vous ne le faites pas, vous risquez d'obtenir des résultats peu fiables.");
else
alert("Une nouvelle version de Internet Explorer est nécessaire pour modifier votre site Web. Visitez le site Web de Microsoft à l'adresse www.microsoft.com pour obtenir la dernière version. Si vous ne le faites pas, vous risquez d'obtenir des résultats peu fiables.");
}
} 
function DoButton(buttonAction)
{
if ((document.nvoForm.PageName) && (document.nvoForm.PageName.value == ""))
{
alert("Le champ ");
document.nvoForm.PageName.focus();
document.nvoForm.PageName.select();
location.href = "#pagename";
gSaveAndGoURL = "";
return;
}
if (gSaveAndGoURL != null && gSaveAndGoURL != "")
{
document.nvoForm.NVORedirect.value = gSaveAndGoURL;
}
document.nvoForm.NVOAction.value = buttonAction;
document.nvoForm.submit();
}
window.errorLoadingApplet = false;
function AppletErrorHandler() 
{
alert("Attendez que la page soit complètement chargée, puis faites une nouvelle tentative.");
return true;
}
function StartHelper(host, service, hostAddress, extra)
{
if (navigator.appVersion.indexOf("Macintosh") != -1)
{
if (navigator.mimeTypes)
{
mimetype = navigator.mimeTypes["application/netopia"];
if (mimetype && mimetype.enabledPlugin)
{
location.href = "http://" + hostAddress + "/pages/common/" + host + ".nhtml?service=" + service + "&back=" + Escape(location.href) + "&extra=" + Escape(extra);
}
else
{
alert("Vous devez disposer du logiciel GRATUIT pour visiteur afin de pouvoir utiliser cette fonction. Téléchargez ce logiciel et installez-le.");
location.href = "http://" + hostAddress + "/bin/download.nhtml";
}
}
else
{
location.href = "http://" + hostAddress + "/pages/common/" + host + ".nhtml?service=" + service + "&back=" + Escape(location.href) + "&extra=" + Escape(extra);
}
}
else
{
if (window.errorLoadingApplet)
{
alert("Java doit être activé dans votre navigateur pour pouvoir utiliser cette fonction.");
}
else
{
window.onerror = AppletErrorHandler;
installed = document.cc.isClassInstalled("com.netopia.ns.version.client.VisitorClient");
if (installed)
{
location.href = "http://" + hostAddress + "/pages/common/" + host + ".netopia?service=" + service + "&extra=" + Escape(extra);
}
else
{
alert("Vous devez disposer du logiciel GRATUIT pour visiteur afin de pouvoir utiliser cette fonction. Téléchargez ce logiciel et installez-le.");
location.href = "http://" + hostAddress + "/bin/download.nhtml";
}
}
}
}
function GetField(rec, fieldindex)
{
var     i;
var     istart = 0;
var     iend = 0;
for (i = 0; i < fieldindex; i++)
{
istart = rec.indexOf(",", istart) + 1;
}
iend = rec.indexOf(",", istart);
if (iend < 0)
{
iend = rec.length;
}
var temp = rec.substring(istart, iend);
return temp;
}
function GetFieldBySep(rec, fieldindex, sep)
{
var     i;
var     istart = 0;
var     iend = 0;
var     iseplength = sep.length;
for (i = 0; i < fieldindex; i++)
{
istart = rec.indexOf(sep, istart) + iseplength;
}
iend = rec.indexOf(sep, istart);
if (iend < 0)
{
iend = rec.length;
}
var temp = rec.substring(istart, iend);
return temp;
}
function ReplaceString(org, match, replace)
{
var     dst = "";
var     starti = 0;
var     endi = 0;
while ((endi = org.indexOf(match, starti)) >= 0)
{
dst += org.substring(starti, endi) + replace;
starti = endi + match.length;
}
dst += org.substring(starti, org.length);
return dst;
}
function IsTrue(value)
{
upperCaseValue = value.toUpperCase();
return (upperCaseValue    != ""
&& upperCaseValue != "NO" 
&& upperCaseValue != "FALSE"
&& upperCaseValue != "OFF"
&& upperCaseValue != "0");
}
function setStatusBar(msg)
{
window.status = msg;
return true;
}
function doRTEMouseover(imgObj,url)
{
imgObj.src = url;
}
function setRollover(name, rollsrc)
{
document[name].src = rollsrc;
return true;
}
function imageMouseHandler(func, name, rollsrc, status)
{
if (func == "stat")
{
setStatusBar(status);
}
else if (func == "roll")
{
setRollover(name, rollsrc);
}
else
{
setStatusBar(status);
setRollover(name, rollsrc);
}
return true;
}
function FindSelectedElement(name, buttonName, action, messageNone, messageTooMany)
{
sel = null;
numsel = 0;
for (var i = 0; i < document.nvoForm.elements.length; i++)
{
el = document.nvoForm.elements[i];
if (el.name == name && el.checked)
{
numsel++;
sel = el;
}
}
if (numsel == 0)
{
alert(ReplaceString(messageNone, "^^^buttonName^^^", buttonName));
}
else if (numsel > 1)
{
alert(ReplaceString(messageTooMany, "^^^action^^^", action));
sel = null;
}
return sel;
}
function CheckURL(urlElement)
{
if (urlElement.value.length > 0 && urlElement.value.indexOf("://") == -1)
{
urlElement.value = "http://" + urlElement.value;
}
urlElement.value = ReplaceString(urlElement.value, " ", "%20");
Changed();
}
function OpenSetupWiz(theURL) {
var wzWnd = window.open(theURL,'wizard','width=630,height=400,resizable=yes');
if (!wzWnd.opener) wzWnd.opener = self;
if (wzWnd.focus != null) wzWnd.focus();
}
function AppendQuery(url, query)
{
if (query != "")
{
if (url.indexOf("?") != -1)
url += "&";
else
url += "?";
url += query;
}
return url;
}
function NibbleToHexDigit (nibble)
{
return "0123456789ABCDEF".charAt(nibble);
}
function EncodeURI(name)
{
var newName = "" 
for (var i = 0; i < name.length; i++) 
{
ch = name.charAt(i);
c  = name.charCodeAt(i);
if (('A' <= ch && ch <= 'Z') || ('a' <= ch && ch <= 'z') || ('0' <= ch && ch <= '9'))
{
newName += ch;
}
else if (ch == ' ') 
{
newName += '+';
}
else if (ch == '-' || ch == '_'
|| ch == '.' || ch == '!'
|| ch == '~' || ch == '*'
|| ch == '\'' || ch == '('
|| ch == ')') 
{
newName += ch;
} 
else if (c <= 0x007f) 
{
newName += gHexArray[c];
}
else if (c <= 0x07FF) 
{
newName += gHexArray[0xc0 | (c >> 6)];
newName += gHexArray[0x80 | (c & 0x3F)];
} 
else 
{
newName += gHexArray[0xe0 | (c >> 12)];
newName += gHexArray[0x80 | ((c >> 6) & 0x3F)];
newName += gHexArray[0x80 | (c & 0x3F)];
}
}
return newName;
}
function Escape (name)
{
var c;
var	newName = "";
for (var i = 0; i < name.length; i++)
{
c = name.charCodeAt(i);
if (c == 10 || c == 13 || c == 32 || c == 33 || c == 34 || c == 35 ||
c == 36 || c == 37 || c == 38 || c == 39 || c == 40 || c == 41 || 
c == 43 || c == 44 || c == 58 || c == 59 || c == 60 || c == 61 || 
c == 62 || c == 63 || c == 91 || c == 92 || c == 93 || c == 94 || 
c == 96 || c == 123 || c == 124 || c == 125 || c == 126 || c == 174)
{
newName += "%";
newName += NibbleToHexDigit((c & 0xf0) >> 4);
newName += NibbleToHexDigit( c & 0x0f);
}
else
newName += name.charAt(i);
}
return newName;
}
function EscapeForPost (name)
{
var c;
var newName = "";
var nameLength = name.length;
for (var i = 0; i < nameLength; i++)
{
c = name.charCodeAt(i);
if (c == 32 || c == 34 || c == 38 || c == 39 || c == 43 ||
c == 59 || c == 60 || c == 61 || c == 62 || c == 92)
{
if ( c != 37 || 
(i+4 >= nameLength) ||
(name.charCodeAt(i+1) != 48) ||
(name.charCodeAt(i+2) != 68) ||
(name.charCodeAt(i+3) != 48) ||
(name.charCodeAt(i+4) != 65)  )
{
newName += "%";
newName += NibbleToHexDigit((c & 0xf0) >> 4);
newName += NibbleToHexDigit( c & 0x0f);
}
else
newName += name.charAt(i);
}
else
newName += name.charAt(i);
}
return newName;
}
function ToggleEditLinks(bHide)
{
if (bHide)
{
if (location.href.search(/hideEditLinks=false/i) == -1)
location.href = AppendQuery(location.href, "hideEditLinks=true");
else
location.href = location.href.replace(/hideEditLinks=false/i, "hideEditLinks=true");
}
else
{
if (location.href.search(/hideEditLinks=true/i) == -1)
location.href = location.href;
else
location.href = location.href.replace(/hideEditLinks=true/i, "hideEditLinks=false");
}	
}
function NormalizeObjectName(name)
{
var newName = "";
for (var i = 0; i < name.length; i++)
{
charCode = name.charCodeAt(i);
if (charCode < 0)
charCode += 256;
if (charCode == 38
|| charCode == 47
|| charCode == 92
|| charCode == 58
|| charCode == 42
|| charCode == 63
|| charCode == 34
|| charCode == 60
|| charCode == 62
|| charCode == 124
|| charCode == 39)
{
}
else if ((charCode > 32 && charCode < 128) || 
(charCode > 150 && charCode < 256))
newName += name.substr(i, 1);
}
if (newName == "")
newName = "page";
return newName;
}
function PreparePostName(name)
{
var newName = "";
for (var i = 0; i < name.length; i++)
{
charCode = name.charCodeAt(i);
if (charCode < 0)
charCode += 256;
if (charCode == 38  || charCode == 59)
{
}
else
newName += name.charAt(i);
}
if (newName == "")
newName = "page";
return newName;
}

