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:Tahoma, 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() 
{
var wizard = window.open('/unionchurch/pages/tour/lang_wizard/frame.nhtml','wizard','width=630,height=410,titlebar=no');
wizard.focus()
}
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("Para poder editar el sitio Web se requiere una versión más reciente de Netscape Communicator. Visite el sitio Web de Netscape, en www.netscape.com, para obtener la versión más reciente. Si no lo hace, el funcionamiento puede ser inestable.");
else
alert("Para editar el sitio Web se requiere una versión más reciente de Internet Explorer. Visite el sitio Web de Microsoft, en www.microsoft.com, para obtener la versión más reciente. Si no lo hace, el funcionamiento puede ser inestable.");
}
} 
function DoButton(buttonAction)
{
if ((document.nvoForm.PageName) && (document.nvoForm.PageName.value == ""))
{
alert("Nombre de página es un campo obligatorio que no se puede dejar en blanco. Escriba un nombre válido.");
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("Espere a que la página termine de cargarse y vuelva a intentarlo.");
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("Para poder utilizar esta función debe tener el software para visitantes GRATUITO. Descargue e instale el software para visitantes.");
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("Para poder utilizar esta función debe tener habilitado Java en el explorador.");
}
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("Para poder utilizar esta función debe tener el software para visitantes GRATUITO. Descargue e instale el software para visitantes.");
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;
}
