function $(elementID){
	var element = elementID;
	if(typeof element=='string')
		element=document.getElementById(element);

	return element;
}

function isNumber(value)
{
	return (value.length > 0) && value.match(/^-{0,1}[0-9]*\.{0,1}[0-9]*$/);
}

function handleEnterKey(elemID, evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
        $(elemID).select();
		  calculate();
        return false;
    }
    return true;
}

function tab(obj)
{
	var ul=$("maintab").getElementsByTagName("li");
	for (var i=0; i<ul.length; i++)
		ul[i].className="";
		
	obj.parentNode.className="selected";
}

// Agax Stuff
function xmlhttpPost(strURL, queryString) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
		if (self.xmlHttpReq.status == 200 || self.xmlHttpReq.status == 0)
		{
			updatepage(self.xmlHttpReq.responseText);
		}
		else
		{
			var code = "var data = new Array();";
			code += "data['error'] = true;";
			code += "data['message'] = 'error fetching data!';";
			updatepage(code);
		}
        }
    }
    self.xmlHttpReq.send(queryString);
}