	function urlencode(src) {var buf=''+src;buf.replace('!','%21');buf.replace('*','%2A');buf.replace('(','%28');buf.replace(')','%29');buf.replace("'",'%27');buf.replace('~','%7E');buf=encodeURIComponent(buf);return buf;};
	function htmlspecialchars(src) {src = src.replace('&', '&amp;');src = src.replace('"', '&quot;');src = src.replace(/'/g, "&#039;");src = src.replace('<', "&lt;");src = src.replace('>', "&gt;");return src;}
	function gethttprequestobject() {if (window.XMLHttpRequest) return new XMLHttpRequest();return new ActiveXObject("Microsoft.XMLHTTP");};
	function splitlines(src) {if (src.indexOf('\r\n')>0) return src.split('\r\n');else if (src.indexOf('\n\r')>0) return src.split('\n\r');else if (src.indexOf('\r')>0) return src.split('\r');return src.split('\n');};
	function fillzero( number, width ) {width -= number.toString().length;if ( width > 0 ) {return new Array( width + (/\./.test( number ) ? 2 : 1) ).join( '0' ) + number;}return number;};
