var navAppCodeName = navigator.appCodeName;
var navAppName = navigator.appName;
var navAppVer = navigator.appVersion;
var navUsrAgent = navigator.userAgent;

var ns4 = 0; 
var ie4 = 0;
var ie4 = 1;
if(navAppName=="Netscape")
{var ns4=1;var ie4=0;}
else {var ie4=1; var ns4=0;}

function popup(URL,H,W) {
	var left = (screen.width ? (screen.width-W)/2 : 150);
	var top  = (screen.height ? (screen.height-H)/2 : 50);
	var popupURL = addURLEncodeArguments(URL,popup.arguments,3)
    window.open (popupURL,"popup","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,fullscreen=0,top=0,left=0,height="+H+",width="+W+",top="+top+",left="+left)
}
function DoConfirm(message, url) {
	if(confirm(message)) { 
		location.href = addURLEncodeArguments(url,DoConfirm.arguments,2);
	}
}

function onload() {
	//visibilitytoggle();
	if(!window.onLoaded) { return false; } 
	onLoaded();
}

function taLimit() {
	var taObj=event.srcElement;
	if (taObj.value.length==taObj.maxLength*1) return false;
}

function taCount(visCnt) { 
	var taObj=event.srcElement;
	if (taObj.value.length>taObj.maxLength*1) taObj.value=taObj.value.substring(0,taObj.maxLength*1);
//	if (visCnt) visCnt.innerText=taObj.maxLength-taObj.value.length;
	if (visCnt) visCnt.innerText=0+taObj.value.length;
}

function visibilitytoggle()
{
var hotspots = document.getElementsByName('hotspot');
var toggles = document.getElementsByName('toggle');

  for (var i = 0; i < hotspots.length; i++)
  {
  hotspots[i].someProperty = i;
  hotspots[i].onclick = function() { toggle(this.someProperty) };
  }

  for (var i = 0; i < toggles.length; i++)
  {
  toggles[i].style.display = 'none';
  }
}

function addURLEncodeArguments(url,args,default_args) {
	if(args.length >= (default_args+2)) {
		for(var i = default_args; i < (args.length); i+=2) {
			url += '&'+args[i]+'='+URLEncode(URLDecode(args[i+1]));
		}
	}

	return url;
}

function URLEncode(plaintext) {
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};

function URLDecode(encoded)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				plaintext += "%";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
  
	return plaintext;
};
