var gValidColor = "window";
var gErrorColor = "#ffdddd";
var gValid;
var gAlert;
var gAlertFocus;
var cmsFormChecks = {};

if (location.search == "?edit") {
	var meta = collectionToArray(document.getElementsByTagName("META"));
	for (var i = 0; i < meta.length; i++) {
		if (meta[i].getAttribute("name") == "xcms_id") {
			var content = meta[i].getAttribute("content");
			var parts = content.split(/,/);
			var site = '';
			var page = '';
			if (parts.length == 2) { // new style: site,page
				site = parts[0];
				page = parts[1];
			} else { // old style: page only, get site from domain name
				site = /\.(.*)\.\w+$/.exec(location.host)[1];
				page = parts[0];
			}
			location.href = "/cms/beheer/beheer.cgi/"+site+"/"+page+"?gp=1";
		}
	}
}

function getCheckField(obj, name) {
	for (var i = 0; i < obj.length; i++) {
		if (obj[i].name == name) {
			return obj[i];
		}
	}
	return null;
}

function MarkElement(elem, valid, msg, frmtmsg) {
	if (valid) {
		if (elem && elem.type != "checkbox" && elem.type != "radio") {
	 		elem.style.backgroundColor = gValidColor;
	    }
    	if (window.tabjs && !tabCheckFormat(elem)) { // tab.js loaded?
    	    valid = false;
    	    msg = frmtmsg || msg;
    	}
	}
	if (!valid){
		if (elem) {
		    gAlertFocus = elem;
		    if (elem.type != "checkbox" && elem.type != "radio") {
			    elem.style.backgroundColor = gErrorColor;
				if (elem.tagName == "SELECT") {
					if (!elem.onchange) {
						elem.onchange = UnmarkElementOnEvent;
					}
				} else {
					elem.onkeyup = UnmarkElementOnEvent;
				}
	        }
	    }
		gValid = false;
		if (msg) gAlert = msg;
	}
	return valid;
}

function UnmarkElement(elem) {
	if (window.tabjs) { // tab.js loaded?
		tabEnableApplyButton(elem);
    	tabDoVisibility(null, elem);
    }
	if ((elem.type == "text" || elem.tagName == "TEXTAREA") && !elem.value) return;
	if (elem.type != "checkbox" && elem.type != "radio") {
	    elem.style.backgroundColor = gValidColor;
	}
}
function UnmarkElementOnEvent(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		var keycode;
		if (window.event) {
			keycode = window.event.keyCode;
		} else {
			keycode = evt.which;
		}
		//alert(keycode);
		if ((keycode ==  9 || // tab
		     keycode == 37 || // left
		     keycode == 38 || // up
		     keycode == 39 || // right
		     keycode == 40 || // down 
		     keycode == 16 || // shift
		     keycode == 17 || // ctrl
		     keycode == 18 || // alt
		     keycode == 20 || // caps
		     keycode == 33 || // pgup
		     keycode == 34 || // pgdn
		     keycode == 35 || // end
		     keycode == 36 || // home
		     keycode == 45 || // insert
		     //keycode == 120 || // F9
		     //keycode == 0 || 
		     //keycode == 8 || // backspace
		     (keycode == 13 && elem.tagName != "TEXTAREA"))
		) return true;
		//alert(keycode);
		
		if (elem) {
		    UnmarkElement(elem);
		}
	}
	return true;
}

var gspecialCharacterString = "' \" < > = & ? % | ;";
function checkSpecial(x) {
	var filter = /'|"|<|>|=|&|\?|%|\||;/;
	return !filter.test(x);
}

function checkAllTextFields(form) {
	var i, a;
	for (i=0; (a = form.getElementsByTagName("INPUT")[i]); i++) {
		if (a.type == "text" && a.value && !checkSpecial(a.value)) {
			return a;
		}
	}
	for (i=0; (a = form.getElementsByTagName("TEXTAREA")[i]); i++) {
		if (a.value && !checkSpecial(a.value)) {
			return a;
		}
	}
	return null;
}

function stripAllTextFields(form) {
	var i, a;
	for (i=0; (a = form.getElementsByTagName("INPUT")[i]); i++) {
		if (a.type != "file") { // value file input may not be set
			a.value = a.value.replace(/^\s+/,'');
			a.value = a.value.replace(/\s+$/,'');
		}
	}
	for (i=0; (a = form.getElementsByTagName("TEXTAREA")[i]); i++) {
		if (!a.getAttribute("tabnostrip")) {
		    a.value = a.value.replace(/^\s+/,'');
		    a.value = a.value.replace(/\s+$/,'');
		}
	}
	return null;
}

function checkMail(x) {
	//var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	//var filter = /^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)*\.[\w-]{2,4}$/;
	var filter = /^[&'*+-.0-9=?a-zA-Z^_{}~]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,4}$/;
	return filter.test(x);
}

function checkWebsite(x) {
	return true;
}

function getParentObject(object, tag) {
	return xcmsGetParentObject(object, tag);
	/*
	if (!tag) {
		tag = "DIV";
	}
	if (tag == "BLOCK") {
	    tag = "H1,H2,H3,TD,P,UL,OL,";
	} else {
       tag += ",";
    }

	while ((tag.indexOf(object.tagName+",") == -1) && object.parentNode) {
		object = object.parentNode;
	}

	return object.tagName ? ((tag.indexOf(object.tagName+",") != -1) ? object : null) : null;
	*/
}
/*******************************************************
* get parent object
*******************************************************/
function xcmsGetParentObject(object, tag, className) {
	if (!tag) {
		tag = "DIV";
	}
	
	tag = tag.replace(/BLOCK(,)*/, "H1,H2,H3,TD,P,UL,OL$1");
    if (!/,$/.test(tag)) tag += ",";

    // if no object given, get parent object based on position text caret
    if (!object) {
		var sel = xcmsGetSelection();
        if (xcmsIsControl(sel)) {
            return null;
        }
		object = xcmsGetCurrentObject(sel);
    }

	//while ((tag.indexOf(object.tagName+",") == -1 && (!className || object.className != className)) && object.parentNode) {
	while ((tag.indexOf((object.tagName ? object.tagName.toUpperCase() : 'xxxxx')+",") == -1 && (!className || !xcmsHasClassName(object, className))) && object.parentNode) {
		object = object.parentNode;
	}

	//return object.tagName ? ((tag.indexOf(object.tagName+",") != -1 && (!className || object.className == className)) ? object : null) : null;
	return object.tagName ? ((tag.indexOf(object.tagName.toUpperCase()+",") != -1 && (!className || xcmsHasClassName(object, className))) ? object : null) : null;
}

function getCookie(cookieName) {
	var search = cookieName + "=";
	if (document.cookie.length > 0) { // if there are any cookies
		var offset = document.cookie.indexOf(search);
		if (offset != -1) { // if cookie exists
			offset += search.length;          // set index of beginning of value
			var end = document.cookie.indexOf(";", offset);          // set index of end of cookie value
			if (end == -1)
				end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
	}
	return '';
}

function setCookie(cookieName,cookieValue,cookieExp,cookieExpSecs) { //cookieExp in days
	if (cookieExp) {
		var expire = new Date();
		expire.setTime(expire.getTime() + 3600000*24*cookieExp);
		cookieExp = "expires="+expire.toGMTString();
	}
	if (cookieExpSecs) {
		var expire = new Date();
		expire.setTime(expire.getTime() + 1000*cookieExpSecs);
		cookieExp = "expires="+expire.toGMTString();
	}
	//PS: overige cookies blijven ongewijzigd, wijzigt eventueel bestaand cookie
	document.cookie = cookieName+"="+escape(cookieValue)+";path=/;"+cookieExp;
}

function setSize(size) {
    setCookie("fontsize", size, 1000);
    location.reload(location.href);
}

function getParameter(parameterName, case_insensitive) {
	var re = new RegExp("[?&;]"+escape(parameterName)+"=([^&;]*)", case_insensitive ? "i" : "");
	var r = re.exec(location.search);
	if (r) {
		return unescape(r[1]).replace(/\+/g," ");
	} else {
		return "";
	}
}

function ShowCheckedOther(id) {
	var display = "none";
	var elem = document.getElementById(id+"othercb");
	if (elem.checked) {
		display = "inline";
	}
	document.getElementById("opt "+id+"other").style.display = display;
}

function ShowSelectOther(id) {
	var display = "none";
	var elem = document.getElementById(id);
	if (elem.options[elem.length-1].selected) {
		display = "inline";
	}
	document.getElementById("opt "+id+"other").style.display = display;
}

function InitSelects(formid) {
	var form = document.getElementById(formid);
	var elems = form.getElementsByTagName("SELECT");
	for (var i=0; i < elems.length; i++) {
		var set = false;
		var toselect = document.getElementById("selected"+elems[i].id);
		if (toselect && toselect.value != "") {
			for (var j=0; j < elems[i].length; j++) {
				if (toselect.value == (elems[i].options[j].value || elems[i].options[j].text)) {
					elems[i].options[j].selected = true;
					set = true;
				}
			}
		}
		if (!set && elems[i].getAttribute("tabsel") == "last") {
			elems[i].options[elems[i].options.length-1].selected = true;
		}
	}
}

function InitCheckboxes(formid) {
	var form = document.getElementById(formid);
	var elems = form.getElementsByTagName("INPUT");
	for (var i=0; i < elems.length; i++) {
		if (elems[i].type == "checkbox") {
			if (document.getElementById("selected"+elems[i].name)) {
				var tocheck = document.getElementById("selected"+elems[i].name);
				if (tocheck && tocheck.value != "") {
					if (tocheck.value.indexOf(elems[i].value) != -1) {
						elems[i].checked = true;
					}
				}
			}
		}
	}
}

function InitRadios(formid) {
	var form = document.getElementById(formid);
	var elems = form.getElementsByTagName("INPUT");
	for (var i=0; i < elems.length; i++) {
		if (elems[i].type == "radio") {
			if (document.getElementById("selected"+elems[i].name)) {
				var tocheck = document.getElementById("selected"+elems[i].name);
				if (tocheck && tocheck.value != "") {
					if (tocheck.value == elems[i].value) {
						elems[i].checked = true;
					}
				}
			}
		}
	}
}

function imagePopup(url, w, h) {
	w += 40;
	h += 40;
	var win = window.open(url,"imagePopup","scrollbars,status,resizable,width="+w+",height="+h);
	win.focus();
}

function moveToTop() {
    var totop = document.getElementById("totop");
    if ((document.body.scrollHeight > document.body.clientHeight) && (document.body.scrollTop > 100)) {
        totop.style.display = "block";
        totop.style.top = document.body.scrollTop+document.body.clientHeight-35+"px";
    } else {
        totop.style.display = "none";
    }
    setTimeout("moveToTop()",50);
}

function jumpToTop() {
    location.replace(location.href.split("#")[0]+"#top");
}

function DigitsOnly(e) {
	var keycode;
	if (window.event) {
		keycode = window.event.keyCode;
	} else {
		if (e) {
			keycode = e.which;
		} else {
			return true;
		}
	}
	if (keycode > 47 && keycode <= 58) {
	   return true;
	}
	return false;
}

function mySetFocus(id) {
	var elem = document.getElementById(id);
	if (elem) elem.focus();
}

function inCMS() {
	return /page\.cgi/.test(location.href);
}

/***** forms *****/
var gSubmitting;
function cmsFormSubmit(button, id, upload, popup_opt, err_cb) {
	if (gSubmitting) return false;
	gSubmitting = true;
	if (cmsFormValidate(id, err_cb)) {
		var form = document.getElementById(id);
		if (form.target) {
			var w = window.open("about:blank", form.target, popup_opt);
			w.focus();
		}
		if (upload) cmsStartUploadProgress(id);
		form.submit();
		if (form.target || !/cgi\/formmail.cgi/.test(form.action)) { // external...
			gSubmitting = false;
		}
	} else {
		gSubmitting = false;
	}
	return false;
}

function collectionToArray(col) {
	a = new Array();
	for (i = 0; i < col.length; i++)
		a[i] = col[i];
	return a;
}

function cmsFormAutoFill(id) {
	var form = document.getElementById(id);
	var fields = new Array();
	fields = fields.concat(collectionToArray(form.getElementsByTagName("INPUT")));
	fields = fields.concat(collectionToArray(form.getElementsByTagName("TEXTAREA")));
	for (var i = 0; i < fields.length; i++) {
		if (fields[i].type == "text" || fields[i].tagName == "TEXTAREA") {
			var value = getParameter(fields[i].id, 1);
			if (value != "") {
				fields[i].value = value;
			}
		}
	}
}

function cmsFormValidate(id, err_cb) {
	gValid = true;
	gAlert = '';
	gAlertFocus = null;
	
	var form = document.getElementById(id);

	stripAllTextFields(form);

	var checks = cmsFormChecks[id];
	var fields = form.getElementsByTagName("*");
	for (var i = 0; i < checks.length; i++) {
		//var elem = document.getElementById(checks[i].name);
		var elem = null;
		for (var j = 0; j < fields.length; j++) {
			if (fields[j].id == checks[i].name) {
				elem = fields[j];
				break;
			}
		}
		if (elem) cmsFormValidateElem(elem, checks[i]);
	}
	
	// decrypt recipients if necessary
	if (form.recipient) {
		var recipient;
		while ((recipient = /decrypt:(\d+)/g.exec(form.recipient.value))) {
			form.recipient.value = form.recipient.value.replace(/decrypt:(\d+)/, decrypt_string(recipient[1], 0, 0, true));
		}
	}
		
	/// alert?!
	if (!gValid) {
		if (err_cb) {
			err_cb(gAlert, gAlertFocus);
		} else {
			if (gAlert) alert(gAlert);
			if (gAlertFocus) gAlertFocus.focus();
		}
	}
	
	return gValid;
}

function cmsFormValidateElem(elem, check) {
	if (elem) {
		if (check.required && !cmsFormElemHasValue(elem)) {
			MarkElement(elem, false, check.required_err);
			return;
		}
		if (cmsFormElemHasValue(elem)) {
			if (typeof check.validation == "string") {
				MarkElement(elem, eval(check.validation), check.validation_err);
			} else if (/^\//.test(check.validation)) {
				MarkElement(elem, check.validation.test(elem.value), check.validation_err);
			} else {
				check.validation(elem);
			}
		} else {
			MarkElement(elem, true);
		}
	}
}

function cmsFormElemHasValue(elem) {
	if (elem.type == 'radio' || elem.type == 'checkbox') {
		var elems = document.getElementsByName(elem.name);
		var hasvalue = "";
		for (var i = 0; i < elems.length; i++) {
			if (elems[i].checked) {
				if (hasvalue != "") hasvalue += ", ";
				hasvalue += elems[i].value;
			}
		}
		return hasvalue;
	} else {
		if (elem.tagName == 'SELECT') {
			if (elem.selectedIndex >= 0) {
				return elem.options[elem.selectedIndex].value || elem.options[elem.selectedIndex].text;
			}
		} else {
			return elem.value;
		}
	}
	return '';
}

var gUploadStart;
var gUploadFormId;
var gUploadId;
function cmsStartUploadProgress(formId) {
	//if (!document.getElementById("File").value) return;
	gUploadId = (new Date()).getTime() % 1000000000;
	document.getElementById(formId).action = document.getElementById(formId).action+"?uploadid="+gUploadId;
	gUploadStart = (new Date()).getTime();
	gUploadFormId = formId;
   	document.getElementById(formId+"uploadprogress").style.display = "block";
    BrowserDetect.init();
    if (BrowserDetect.OS != "Mac") {
    	setTimeout("cmsGetUploadProgress()", 1000);
    } else {
    	document.getElementById(formId+"uploadprogress").innerHTML = "Bestand wordt verstuurd... even geduld a.u.b."
    }
}  
function cmsGetUploadProgress() {
	var unique = (new Date()).getTime() % 1000000000;
	xcmsAJAX("cgi/formmail_status.cgi?uploadid="+gUploadId+";unique="+unique, cmsUploadProgressProcessor);
}
function cmsUploadProgressProcessor() {
	if (httpRequest.readyState == 4) {
		try	{
			if (httpRequest.status == 200) {
                var r = /<data>(.*?)</.exec(httpRequest.responseText);
                r = r[1].split("/");
				var bytesRead = r[0];
				var bytesTotal = r[1];
				if (bytesRead != "" && bytesTotal != "") {
					var progress_bar_width = document.getElementById(gUploadFormId+"uploadprogress").offsetWidth;
					var timeLapsed = ((new Date()).getTime() - gUploadStart)/1000;
					var speed = 0, remaining = 0;
					if (timeLapsed) speed = bytesRead/timeLapsed;
					if (speed) remaining = parseInt((bytesTotal - bytesRead) / speed);
					
					var percent_float = bytesRead / bytesTotal;
					var info_width = Math.round(percent_float * progress_bar_width);
					var percent = Math.round(100 * percent_float);
					
					var remainingf = cmsGetTimeString(remaining); 

					bytesRead = Math.round((bytesRead / 1048576) * 10) / 10;
					bytesTotal = Math.round((bytesTotal / 1048576) * 10) / 10;
					document.getElementById(gUploadFormId+"progressbar").style.width = info_width + "px";
					document.getElementById(gUploadFormId+"progressbarbytes").innerHTML = bytesRead+"Mb/"+bytesTotal+"Mb";
					document.getElementById(gUploadFormId+"progressbartime").innerHTML = remainingf;
					
					setTimeout("cmsGetUploadProgress()", 1000);
				}
			}
		}
		catch(e){}
	}
}
function cmsGetTimeString(seconds) {
	var time_sec = seconds % 60; 
	var time_min = (((seconds - time_sec) % 3600) / 60); 
	var time_hours = ((((seconds - time_sec) - (time_min * 60)) % 86400) / 3600); 
	
	if (time_sec < 10) { time_sec = "0"+time_sec; }
	if (time_min < 10) { time_min = "0"+time_min; }
	if (time_hours < 10) { time_hours = "0"+time_hours; }
	
	var time = time_hours+":"+time_min+":"+time_sec; 
	return time;
}

function myInitSkypeLink() {
  if (/page.cgi/.test(location.href) || (typeof skypeCheck == 'undefined')) return;
  var a = document.getElementsByTagName("A");
  var re = /^skype:/;
  for (var i = 0; i < a.length; i++) {
  	if (re.test(a[i].href)) a[i].onclick=skypeCheck;
  }
}
if (typeof AddToInitArray != 'undefined') AddToInitArray(myInitSkypeLink);

function xcmsPollVote(site, id, vote) {
	var votes = document.getElementsByClassName("poll"+id+"v", "poll"+id);
	var percs = document.getElementsByClassName("poll"+id+"p", "poll"+id);
	var bars = document.getElementsByClassName("poll"+id+"b", "poll"+id);
	
	var totalvotes = parseInt(document.getElementById("poll"+id+"t").innerText);
	if (vote >= 0) {
		totalvotes++;
		votes[vote].innerText = parseInt(votes[vote].innerText)+1;
	}
	
	var up = new Array();
	var down = new Array();
	var totperc = 0;
	for (var i = 0; i < votes.length; i++) {
		var perc = (parseInt(votes[i].innerText)/totalvotes)*100;
		percs[i].innerText = parseInt(perc+0.5) || 0;
		var fperc = perc - Math.floor(perc);
		if (fperc >= 0.5) {
			up[up.length] = {
				item: percs[i],
				fperc: fperc
			};
		} else {
			down[down.length] = {
				item: percs[i],
				fperc: fperc
			};
		}
		totperc += parseInt(percs[i].innerText);
	}

	function pollsort(a, b) {
		if (a.fperc == b.fperc) {
			return 0;
		} else if (a.fperc > b.fperc) {
			return 1;
		} else {
			return -1;
		}
	}
	up.sort(pollsort);
	down.sort(pollsort);

	var dev = parseInt(totperc - 100);
	if (dev < 0) {
		for (var i = 0; i < (-1 * dev); i++) {
			var item = down[down.length - i - 1].item;
			item.innerText = parseInt(item.innerText)+1;
		}
	} else if (dev > 0) {
		for (var i = 0; i < dev; i++) {
			var item = up[i].item;
			item.innerText = parseInt(item.innerText)-1;
		}
	}

	for (var i = 0; i < bars.length; i++) {
		bars[i].style.width = percs[i].innerText+"%";
	}
	
	document.getElementById("poll"+id+"t").innerText = totalvotes;		

	document.getElementById("pollquestion"+id).style.display = "none";
	document.getElementById("pollresults"+id).style.display = "block";

	if (vote >= 0) {
		var unique = (new Date()).getTime() % 1000000000;
		xcmsAJAX("http://www.ro-home.nl/cgi/poll.cgi?site="+site+";id="+id+";vote="+vote+";unique="+unique);
		setCookie('poll'+id, '1', null, 10*60);
	}
			
	return true;
}

var xcmsGAtype;
function xcmsGoogleAnalytics() {
	var a = document.getElementsByClassName("xcms_(external|download)");
	for (var i = 0; i < a.length; i++) {
		xcmsAddEventListener(a[i], "click", xcmsGoogleAnalyticsTrack);
	}
}
function xcmsGoogleAnalyticsTrack(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem.tagName != "A") elem = elem.parentNode;
		if (xcmsHasClassName(elem, "xcms_download")) {
			var href = elem.href.replace(/\w+:\/\/[^/]+/,"");
			xcmsGAtype == 'ga' ? pageTracker._trackPageview(href) : urchinTracker (href); 
			
		} else if (xcmsHasClassName(elem, "xcms_external")) {
			var href = /\w+:\/\/([^/?#]+)/.exec(elem.href);
			if (href) {
				xcmsGAtype == 'ga' ? pageTracker._trackPageview('/outgoing/'+href[1]) : urchinTracker ('/outgoing/'+href[1]); 
			}
		}
	}
}

function xcmsVCount(site, page) {
	//var vc_url="/cgi/vcount.cgi?site="+site+";rand="+(new Date()).getTime();
	var vc_url="http://www.ro-home.nl/cgi/vcount.cgi?site="+site;
	if (page != '') vc_url += ";page="+page+";rand="+(new Date()).getTime();
	if (document.images) {
		var vc_img = new Image();
		vc_img.src = vc_url;
	} else {
		document.write('<div style="display:none"><im'+'g s'+'rc="'+vc_url+'" width="1" height="1" alt="" /></div>');
	}
}

function openHelp(site, jumpto, path) {
	jumpto = jumpto || '';
    var url = '/help/'+jumpto;
    var l = getCookie('userlang');
    if (l != 'nl') {
    	url = 'http://www.google.com/translate_c?hl='+l+'&sl=nl&u='+location.hostname+url;
    }
    var w = window.open(url, "xcmshelp");
    w.focus();
    return false;
}

function xcmsReloadCaptcha(id) {
	var unique = (new Date()).getTime() % 1000000000;
	var img = document.getElementById(id);
	var src = img.src.replace(/[?;]unique=\d+/, "");
	img.src = /\?/.test(src) ? src+";unique="+unique : src+"?unique="+unique;
}

function convertEntities(text) {
    text = text.replace( /\&\#(\d+);/g, function(ent, captureGroup) {
        var num = parseInt(captureGroup);
        return String.fromCharCode(num);
    });

	text = text.replace(/&nbsp;/g," ");
	text = text.replace(/&quot;/g,"\"");
	text = text.replace(/&amp;/g,"&");
	text = text.replace(/&lt;/g,"<");
	text = text.replace(/&gt;/g,">");
	text = text.replace(/&Auml;/g,"Ä");
	text = text.replace(/&Aring;/g,"Å");
	text = text.replace(/&Ccedil;/g,"Ç");
	text = text.replace(/&Eacute;/g,"É");
	text = text.replace(/&Ntilde;/g,"Ñ");
	text = text.replace(/&Ouml;/g,"Ö");
	text = text.replace(/&Uuml;/g,"Ü");
	text = text.replace(/&aacute;/g,"á");
	text = text.replace(/&agrave;/g,"à");
	text = text.replace(/&acirc;/g,"â");
	text = text.replace(/&auml;/g,"ä");
	text = text.replace(/&atilde;/g,"ã");
	text = text.replace(/&aring;/g,"å");
	text = text.replace(/&ccedil;/g,"ç");
	text = text.replace(/&eacute;/g,"é");
	text = text.replace(/&egrave;/g,"è");
	text = text.replace(/&ecirc;/g,"ê");
	text = text.replace(/&euml;/g,"ë");
	text = text.replace(/&iacute;/g,"í");
	text = text.replace(/&igrave;/g,"ì");
	text = text.replace(/&icirc;/g,"î");
	text = text.replace(/&iuml;/g,"ï");
	text = text.replace(/&ntilde;/g,"ñ");
	text = text.replace(/&ograve;/g,"ò");
	text = text.replace(/&ocirc;/g,"ô");
	text = text.replace(/&ouml;/g,"ö");
	text = text.replace(/&otilde;/g,"õ");
	text = text.replace(/&uacute;/g,"ú");
	text = text.replace(/&ugrave;/g,"ù");
	text = text.replace(/&ucirc;/g,"û");
	text = text.replace(/&uuml;/g,"ü");
	text = text.replace(/&szlig;/g,"ß");
	text = text.replace(/&aelig;/g,"æ");
	text = text.replace(/&Agrave;/g,"À");
	text = text.replace(/&Atilde;/g,"Ã");
	text = text.replace(/&Otilde;/g,"Õ");

    return text;
}


