function getElem(cElemId) {
	if(cElemId=='') return null;
	return document.getElementById(cElemId);
}

function getVal(vElem,cAttName) {
	var elem=(typeof vElem=='string')?getElem(vElem):vElem;
	if(elem==null) return false;
	return eval('elem.'+cAttName);
}

function setVal(vElem,cAttName,cVal) {
	var elem=(typeof vElem=='string')?getElem(vElem):vElem;
	if(elem==null) return false;
	eval('elem.'+cAttName+'=cVal');
	return true;
}

function getXmlHttp() {
	var xmlHttp;
  try	{
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)	{
    // Internet Explorer
  	try	{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
    	try	{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)	{
        alert("Your browser does not support AJAX!");
        return false;
			}
		}
	}
	
	return xmlHttp;
}

function processAjax(serverPage,vObj,getOrPost,str,cEvalJS) {	
	var obj=(typeof vObj=='string')?getElem(vObj):vObj;
	var xmlhttp = getXmlHttp();	
		
	if (getOrPost.toLowerCase() == "get") {		
		xmlhttp.open("GET", serverPage);		
		xmlhttp.onreadystatechange = function() {		
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {												
				var result=xmlhttp.responseText;				
				setVal(obj,'innerHTML',result); 
				if(typeof cEvalJS != 'undefined') eval(cEvalJS);
			}
		}				
		xmlhttp.send(null);
	} else {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");		
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {				
				var result=xmlhttp.responseText;				
				setVal(obj,'innerHTML',result);
				if(typeof cEvalJS != 'undefined') eval(cEvalJS);
			}
		}
		xmlhttp.send(str);
	}
	
	return xmlhttp;
}
