
function test() {
	alert("TEST");
}

/*
 * noSpam : mail util
 */
function noSpam(t,d) {
	window.location="mailto:"+t+"@"+d;
}

// GLOBAL: XMLHttpRequest object available for handleHttpRequest() callback functions
var HTTP = getHTTPObject();

/*
 * handleHttpRequest: public method for requests via XMLHttpRequest
 */
function handleHttpRequest( method, url, args, callback ) {
	if (!(method == "GET" || method == "POST")) { method = "GET"; }

	if (method == "GET" && args.length > 0) 
		{ url += "?" + args; }	
	HTTP.open(method, url, true); 
	HTTP.onreadystatechange = callback; 
	
	if (method == "GET") {
		HTTP.send(null);
	} else if (method == "POST") {
		HTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		HTTP.send(args);
	}
}

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

/*
 * setMenuSelection
 */
function setMenuSelection( menu, newvalue ) {
	var flag = false;
	for (i = 0; i < menu.options.length; i++) {
		if (menu.options[i].value == newvalue) { 
			menu.selectedIndex = i; 
			flag = true;
			break;
		}
	}
	if (flag == false) menu.options[0].selected = true;                      // select first
//		if (flag == false) menu.options[menu.options.length-1].selected = true;  // select last
	
	menu = null;  // prevent js-dom memory leak
}

/*
 * zeroPad
 */
function zeroPad( num, zeros ) {
//alert('zeroPad(' + num + ',' + zeros + ')');
	num += '';
	if (!(zeros > 0)) { zeros = 2; }
	while (num.length < zeros)
		{ num = '0' + num; }
	return num;
}

/*
 * URLEncode
 */
function URLEncode( str ) {
	var result = "";
	var SAFECHARS = "0123456789" +			// Numeric
			"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
			"abcdefghijklmnopqrstuvwxyz" +
			"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var i = 0;
	while (i < str.length) {
		var ch = str.charAt(i);
		if (ch == " ") {
			result += "+";					// x-www-urlencoded
		} else if (SAFECHARS.indexOf(ch) != -1) {
			result += ch;
		} else {
			var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				result += "+";
			} else {
				result += "%";
				result += HEX.charAt((charCode >> 4) & 0xF);
				result += HEX.charAt(charCode & 0xF);
			}
		}
		i++;
	}
	return result;
}

/*
 * URLDecode
 */
function URLDecode( str ) {
	var result = "";
	var HEXCHARS = "0123456789ABCDEFabcdef";
	var i = 0;
	while (i < str.length) {
		var ch = str.charAt(i);
		if (ch == "+") {
			result += " ";
			i++;
		} else if (ch == "%") {
			if (i < (str.length-2) 
					&& HEXCHARS.indexOf(str.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(str.charAt(i+2)) != -1 ) {
				result += unescape( str.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + str.substr(i) );
				result += "%[ERROR]";
				i++;
			}
		} else {
			result += ch;
			i++;
		}
	}

	return result;
}

