function _cancelEvent (evt) {
    if(window.event) {
        window.event.returnValue = false;
    } else if(evt) {
        evt.preventDefault();
    }
}

doAjaxRequest = function(url, params, completeHandler) {
    var req = request = getXmlHttpRequest();
    req.onreadystatechange = completeHandler;
	req.open("POST", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(params);
}

releaseXmlRequest = function() {
    this.req = null;
}

// Form serialization helpers
function $(e){if(typeof e=='string')e=document.getElementById(e);return e};
function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};

ajax={};
ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};


function getXmlHttpRequest() 
{
	var rtrn_xhr = null;
	
	try 
	{
		rtrn_xhr = new ActiveXObject("MSXML2.XMLHTTP");
	} 
	catch(e) 
	{ 
		try 
		{
			rtrn_xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e) 
		{
			rtrn_xhr = false;
		}
	}
	
	if(!rtrn_xhr && typeof XMLHttpRequest != 'undefined') 
	{
		rtrn_xhr = new XMLHttpRequest();
	}
	
	return rtrn_xhr;
}

/*******************************CONTROL FUNCTIONS********************************/

//Clears all the elements values passed into the function
function clearScreen()
{
    for(var i=0;i<arguments.length;i++)
        $(arguments[i]).value="";
    return false;
}

function requiredFields()
{
    for(var i=0;i<arguments.length;i++)
    {
        if($(arguments[i]).value.length==0)
        {
            $(arguments[i]).style.backgroundColor = "#E0EEEF";
            return false;
        }
        $(arguments[i]).style.backgroundColor = "#fff";
    }
    return true;
}
