//************************************************************************************************
//								Show or hide a given object
//************************************************************************************************
function showhide(elementid, type) {
	orig = document.getElementById(elementid).style;
	
	if (orig.display == type) {
		orig.display = 'none';
	} else {
		orig.display = type;
	};
};


//************************************************************************************************
//								Swap one picture with another
//************************************************************************************************
function picswap(elementid,pic1,pic2) {
	thepic = document.getElementById(elementid);
	if (thepic.src.indexOf(pic1) == -1) {
		thepic.src = pic1;
	} else {
		thepic.src = pic2;
	}
};


//************************************************************************************************
//								Show one block, hide the rest
//************************************************************************************************
function showonehiderest(allelementids,theelementid,type) {
	for (elementid in allelementids) {
		element = document.getElementById(allelementids[elementid]).style;
		if (allelementids[elementid] == theelementid) {
			element.display = type;
		} else {
			element.display = 'none';
		};
	};
};


//************************************************************************************************
//								HTTP transfer object
//************************************************************************************************
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  };
  return xmlhttp;
};

//************************************************************************************************
//							Javascript meta-refresh replacement
//************************************************************************************************
function jrefresh(time, url) {
	setTimeout('jrefreshx("' + url + '")', time * 1000); 
};

function jrefreshx(url) {
	window.location.href = unescape(url);
	//alert(url);
};

//************************************************************************************************
//							Convert characters into html entities
//************************************************************************************************
function htmlentities(string) {
	string = string.replace(/&/g, "&amp;"); //If & isn't the first one, bad things happen.
	string = string.replace(/¡/g, "&iexcl;");
	string = string.replace(/¢/g, "&cent;");
	string = string.replace(/£/g, "&pound;");
	string = string.replace(/¤/g, "&curren;");
	string = string.replace(/¥/g, "&yen;");
	string = string.replace(/¦/g, "&brvbar;");
	string = string.replace(/§/g, "&sect;");
	string = string.replace(/¨/g, "&uml;");
	string = string.replace(/©/g, "&copy;");
	string = string.replace(/ª/g, "&ordf;");
	string = string.replace(/«/g, "&laquo;");
	string = string.replace(/¬/g, "&not;");
	string = string.replace(/­/g, "&shy;");
	string = string.replace(/®/g, "&reg;");
	string = string.replace(/¯/g, "&macr;");
	string = string.replace(/°/g, "&deg;");
	string = string.replace(/±/g, "&plusmn;");
	string = string.replace(/²/g, "&sup2;");
	string = string.replace(/³/g, "&sup3;");
	string = string.replace(/´/g, "&acute;");
	string = string.replace(/µ/g, "&micro;");
	string = string.replace(/¶/g, "&para;");
	string = string.replace(/·/g, "&middot;");
	string = string.replace(/¸/g, "&cedil;");
	string = string.replace(/¹/g, "&sup1;");
	string = string.replace(/º/g, "&ordm;");
	string = string.replace(/»/g, "&raquo;");
	string = string.replace(/¼/g, "&frac14;");
	string = string.replace(/½/g, "&frac12;");
	string = string.replace(/¾/g, "&frac34;");
	string = string.replace(/¿/g, "&iquest;");
	string = string.replace(/À/g, "&Agrave;");
	string = string.replace(/Á/g, "&Aacute;");
	string = string.replace(/Â/g, "&Acirc;");
	string = string.replace(/Ã/g, "&Atilde;");
	string = string.replace(/Ä/g, "&Auml;");
	string = string.replace(/Å/g, "&Aring;");
	string = string.replace(/Æ/g, "&AElig;");
	string = string.replace(/Ç/g, "&Ccedil;");
	string = string.replace(/È/g, "&Egrave;");
	string = string.replace(/É/g, "&Eacute;");
	string = string.replace(/Ê/g, "&Ecirc;");
	string = string.replace(/Ë/g, "&Euml;");
	string = string.replace(/Ì/g, "&Igrave;");
	string = string.replace(/Í/g, "&Iacute;");
	string = string.replace(/Î/g, "&Icirc;");
	string = string.replace(/Ï/g, "&Iuml;");
	string = string.replace(/Ð/g, "&ETH;");
	string = string.replace(/Ñ/g, "&Ntilde;");
	string = string.replace(/Ò/g, "&Ograve;");
	string = string.replace(/Ó/g, "&Oacute;");
	string = string.replace(/Ô/g, "&Ocirc;");
	string = string.replace(/Õ/g, "&Otilde;");
	string = string.replace(/Ö/g, "&Ouml;");
	string = string.replace(/×/g, "&times;");
	string = string.replace(/Ø/g, "&Oslash;");
	string = string.replace(/Ù/g, "&Ugrave;");
	string = string.replace(/Ú/g, "&Uacute;");
	string = string.replace(/Û/g, "&Ucirc;");
	string = string.replace(/Ü/g, "&Uuml;");
	string = string.replace(/Ý/g, "&Yacute;");
	string = string.replace(/Þ/g, "&THORN;");
	string = string.replace(/ß/g, "&szlig;");
	string = string.replace(/à/g, "&agrave;");
	string = string.replace(/á/g, "&aacute;");
	string = string.replace(/â/g, "&acirc;");
	string = string.replace(/ã/g, "&atilde;");
	string = string.replace(/ä/g, "&auml;");
	string = string.replace(/å/g, "&aring;");
	string = string.replace(/æ/g, "&aelig;");
	string = string.replace(/ç/g, "&ccedil;");
	string = string.replace(/è/g, "&egrave;");
	string = string.replace(/é/g, "&eacute;");
	string = string.replace(/ê/g, "&ecirc;");
	string = string.replace(/ë/g, "&euml;");
	string = string.replace(/ì/g, "&igrave;");
	string = string.replace(/í/g, "&iacute;");
	string = string.replace(/î/g, "&icirc;");
	string = string.replace(/ï/g, "&iuml;");
	string = string.replace(/ð/g, "&eth;");
	string = string.replace(/ñ/g, "&ntilde;");
	string = string.replace(/ò/g, "&ograve;");
	string = string.replace(/ó/g, "&oacute;");
	string = string.replace(/ô/g, "&ocirc;");
	string = string.replace(/õ/g, "&otilde;");
	string = string.replace(/ö/g, "&ouml;");
	string = string.replace(/÷/g, "&divide;");
	string = string.replace(/ø/g, "&oslash;");
	string = string.replace(/ù/g, "&ugrave;");
	string = string.replace(/ú/g, "&uacute;");
	string = string.replace(/û/g, "&ucirc;");
	string = string.replace(/ü/g, "&uuml;");
	string = string.replace(/ý/g, "&yacute;");
	string = string.replace(/þ/g, "&thorn;");
	string = string.replace(/ÿ/g, "&yuml;");
	string = string.replace(/"/g, "&quot;");
	string = string.replace(/</g, "&lt;");
	string = string.replace(/>/g, "&gt;");
	return string;
};

//************************************************************************************************
//							Convert html entities back into characters
//************************************************************************************************
function html_entity_decode(string) {
	string = string.replace(/&nbsp;/g, " ");
	string = string.replace(/&iexcl;/g, "¡");
	string = string.replace(/&cent;/g, "¢");
	string = string.replace(/&pound;/g, "£");
	string = string.replace(/&curren;/g, "¤");
	string = string.replace(/&yen;/g, "¥");
	string = string.replace(/&brvbar;/g, "¦");
	string = string.replace(/&sect;/g, "§");
	string = string.replace(/&uml;/g, "¨");
	string = string.replace(/&copy;/g, "©");
	string = string.replace(/&ordf;/g, "ª");
	string = string.replace(/&laquo;/g, "«");
	string = string.replace(/&not;/g, "¬");
	string = string.replace(/&shy;/g, "­");
	string = string.replace(/&reg;/g, "®");
	string = string.replace(/&macr;/g, "¯");
	string = string.replace(/&deg;/g, "°");
	string = string.replace(/&plusmn;/g, "±");
	string = string.replace(/&sup2;/g, "²");
	string = string.replace(/&sup3;/g, "³");
	string = string.replace(/&acute;/g, "´");
	string = string.replace(/&micro;/g, "µ");
	string = string.replace(/&para;/g, "¶");
	string = string.replace(/&middot;/g, "·");
	string = string.replace(/&cedil;/g, "¸");
	string = string.replace(/&sup1;/g, "¹");
	string = string.replace(/&ordm;/g, "º");
	string = string.replace(/&raquo;/g, "»");
	string = string.replace(/&frac14;/g, "¼");
	string = string.replace(/&frac12;/g, "½");
	string = string.replace(/&frac34;/g, "¾");
	string = string.replace(/&iquest;/g, "¿");
	string = string.replace(/&Agrave;/g, "À");
	string = string.replace(/&Aacute;/g, "Á");
	string = string.replace(/&Acirc;/g, "Â");
	string = string.replace(/&Atilde;/g, "Ã");
	string = string.replace(/&Auml;/g, "Ä");
	string = string.replace(/&Aring;/g, "Å");
	string = string.replace(/&AElig;/g, "Æ");
	string = string.replace(/&Ccedil;/g, "Ç");
	string = string.replace(/&Egrave;/g, "È");
	string = string.replace(/&Eacute;/g, "É");
	string = string.replace(/&Ecirc;/g, "Ê");
	string = string.replace(/&Euml;/g, "Ë");
	string = string.replace(/&Igrave;/g, "Ì");
	string = string.replace(/&Iacute;/g, "Í");
	string = string.replace(/&Icirc;/g, "Î");
	string = string.replace(/&Iuml;/g, "Ï");
	string = string.replace(/&ETH;/g, "Ð");
	string = string.replace(/&Ntilde;/g, "Ñ");
	string = string.replace(/&Ograve;/g, "Ò");
	string = string.replace(/&Oacute;/g, "Ó");
	string = string.replace(/&Ocirc;/g, "Ô");
	string = string.replace(/&Otilde;/g, "Õ");
	string = string.replace(/&Ouml;/g, "Ö");
	string = string.replace(/&times;/g, "×");
	string = string.replace(/&Oslash;/g, "Ø");
	string = string.replace(/&Ugrave;/g, "Ù");
	string = string.replace(/&Uacute;/g, "Ú");
	string = string.replace(/&Ucirc;/g, "Û");
	string = string.replace(/&Uuml;/g, "Ü");
	string = string.replace(/&Yacute;/g, "Ý");
	string = string.replace(/&THORN;/g, "Þ");
	string = string.replace(/&szlig;/g, "ß");
	string = string.replace(/&agrave;/g, "à");
	string = string.replace(/&aacute;/g, "á");
	string = string.replace(/&acirc;/g, "â");
	string = string.replace(/&atilde;/g, "ã");
	string = string.replace(/&auml;/g, "ä");
	string = string.replace(/&aring;/g, "å");
	string = string.replace(/&aelig;/g, "æ");
	string = string.replace(/&ccedil;/g, "ç");
	string = string.replace(/&egrave;/g, "è");
	string = string.replace(/&eacute;/g, "é");
	string = string.replace(/&ecirc;/g, "ê");
	string = string.replace(/&euml;/g, "ë");
	string = string.replace(/&igrave;/g, "ì");
	string = string.replace(/&iacute;/g, "í");
	string = string.replace(/&icirc;/g, "î");
	string = string.replace(/&iuml;/g, "ï");
	string = string.replace(/&eth;/g, "ð");
	string = string.replace(/&ntilde;/g, "ñ");
	string = string.replace(/&ograve;/g, "ò");
	string = string.replace(/&oacute;/g, "ó");
	string = string.replace(/&ocirc;/g, "ô");
	string = string.replace(/&otilde;/g, "õ");
	string = string.replace(/&ouml;/g, "ö");
	string = string.replace(/&divide;/g, "÷");
	string = string.replace(/&oslash;/g, "ø");
	string = string.replace(/&ugrave;/g, "ù");
	string = string.replace(/&uacute;/g, "ú");
	string = string.replace(/&ucirc;/g, "û");
	string = string.replace(/&uuml;/g, "ü");
	string = string.replace(/&yacute;/g, "ý");
	string = string.replace(/&thorn;/g, "þ");
	string = string.replace(/&yuml;/g, "ÿ");
	string = string.replace(/&quot;/g, "\"");
	string = string.replace(/&lt;/g, "<");
	string = string.replace(/&gt;/g, ">");
	string = string.replace(/&amp;/g, "&"); // If & isn't last, bad things happen.
	return string;
};

//************************************************************************************************
//							Convert newlines into html <br />
//************************************************************************************************
function nl2br(string) {
	string = string.replace(/&#xD;/g, "<br />");
	string = string.replace(/\n/g, "<br />");	
	return string;
};

//************************************************************************************************
//							Convert html <br /> into newlines
//************************************************************************************************
function br2nl(string) {
	string = string.replace(/<br \/>/g, "\n");
	string = string.replace(/<br>/g, "\n");
	string = string.replace(/<br\/>/g, "\n");
	return string;
};
