var regExLeftWhitespace = /^\s+/g;
var regExRightWhitespace = /\s+$/g;
var regExWhitespace = /^\s+$/;
var regExEmail = /^.+\@.+\..+$/;
var regExAlphanumeric = /^[a-zA-Z0-9]+$/;
var regExNumeric = /^[0-9]+$/;

// Form Validation Functions
function trim(str){
	return str.replace(regExLeftWhitespace,'').replace(regExRightWhitespace,'');
}
function isWhitespace(str){
    return regExWhitespace.test(str);
}
function isEmpty(str){
	return (str == null || str.length == 0 || isWhitespace(str));
}
function isEmail(str){
	return (!isEmpty(str) ? regExEmail.test(str) : false);
}
function isAlphanumeric(str){
	return regExAlphanumeric.test(trim(str));
}
function isNumeric(str){
	return regExNumeric.test(trim(str));
}
function getObj(id){
	return (document.all ? document.all[id] : document.getElementById(id));
}
function getObjX(obj){
	var x = 0;
	do {
		x += obj.offsetLeft;
	} while(obj = obj.offsetParent);

	return x;
}
function getObjY(obj){
	var y = 0;
	do {
		y += obj.offsetTop;
	} while(obj = obj.offsetParent);

	return y;
}
function getObjWidth(obj){
	var width = obj.offsetWidth;
	if(width > 0) return width;
	if(!obj.firstChild) return 0;

	return obj.lastChild.offsetLeft - obj.firstChild.offsetLeft + getObjWidth(obj.lastChild);
}
function getObjHeight(obj){
	var height = obj.offsetHeight;
	if(height > 0) return height;
	if(!obj.firstChild) return 0;

	return obj.firstChild.offsetHeight;
}
function openWindow(path,withNav){
	var iWidth	= 750;
	var iHeight	= 500;
	
	var iLeft = (screen.width  - iWidth) / 2;
	var iTop  = (screen.height - iHeight) / 2;

	var sOptions = "status=no,resizable=yes,dependent=yes,scrollbars=yes";
	if(withNav){
		sOptions += ",toolbar=yes"; 
	} else {
		sOptions += ",toolbar=no"; 
	}
	sOptions += ",width=" + iWidth; 
	sOptions += ",height=" + iHeight;
	sOptions += ",left=" + iLeft;
	sOptions += ",top=" + iTop;

	var oWindow = window.open(path,"ToolBOXWindow",sOptions);
}
function writeToDocument(obj){
	document.write(obj);
}