
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
	}
}
function createRequestObject(){
	 var http_request = false;
             http_request = false;

                if (window.XMLHttpRequest) { // Mozilla, Safari,...
                    http_request = new XMLHttpRequest();
                    if (http_request.overrideMimeType) {
                        http_request.overrideMimeType('text/xml');
                    }
                } else if (window.ActiveXObject) { // IE
                    try {
                        http_request = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {}
                    }
                }

                if (!http_request) {
                    alert('Giving up :( Cannot create an XMLHTTP instance');
                    return false;
                }
           return http_request;
}

//Our XmlHttpRequest object to get the auto suggest
var http_request = createRequestObject();

function setAjaxLoadingMsg(){
	//alert(document.getElementById('MsgHeader'));
	if(document.getElementById('AjxLoading')){
	document.getElementById('AjxLoading').innerHTML = '<img src="img/ajax-loader.gif">';
	document.getElementById('AjxLoading').style.visibility = 'visible';
	}
}

function doHttpPostOp(postUrl,params,callBack) {	
	  //alert(postUrl);
	  //alert(params);
	  //alert(callBack);
      setAjaxLoadingMsg();
      http_request.open("POST", postUrl, true);
   	  http_request.onreadystatechange = callBack;
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", params.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(params);	
}

function clearAjaxLoadingMsg(){
	//alert(document.getElementById('MsgHeader'));
	if(document.getElementById('AjxLoading')) {
	document.getElementById('AjxLoading').innerHTML = '';
	document.getElementById('AjxLoading').style.visibility = 'hidden';
	}
}
function doHttpGetOp(getUrl, params, callBack) {
	//alert(callBack);	
 	http_request.open("GET", getUrl + escape(params), true);
	http_request.onreadystatechange = callBack;
	http_request.send(null);	
}

function doParseXmlResponse(){
	clearAjaxLoadingMsg();
	if (http_request.readyState == 4) {
                    if (http_request.status == 200) {
                        
                        var xmldoc = http_request.responseXML;
                        //alert(http_request.responseText);
                        var res_code_node = xmldoc.getElementsByTagName('responseCode');
						//alert(res_code_node);
                        var resCode= res_code_node[0].firstChild.data;     
                        //alert(resCode);

                        var res_msg_node = xmldoc.getElementsByTagName('responseMsg');
                        var resMsg= res_msg_node[0].firstChild.data;                   
                
                		//alert(resMsg);
                		var msgHeader = document.getElementById('MsgHeader');
                    	var errorHeader = document.getElementById('ErrorHeader');
                    		
                    	
                    	
                    	if(resCode == 1){
							if(errorHeader){
								errorHeader.style.visibility = 'visible';
                    			errorHeader.innerHTML = resMsg;
                    		}
                    		if(msgHeader){
                    			msgHeader.style.visibility = 'hidden';
                    		}
                    	}else{
                    		if(msgHeader){
                    			msgHeader.style.visibility = 'visible';
                    			msgHeader.innerHTML = resMsg;
                    		}
                    		if(errorHeader){
								errorHeader.style.visibility = 'hidden';
                    		}
                    	}
                    	//alert(errorMsg);
                    	//alert(errorCode);
                    	
                    	if(resCode == 0) {
	                    	var elements = document.getElementsByTagName('input');
							var taElements = document.getElementsByTagName('textarea');
	                    	
	                    	if(elements) {
		                    	for(var i=0; i < elements.length; i++){
		                    		if(elements[i].type == 'text' || elements[i].type == 'password') {
			                    		elements[i].value = '';
			                    	}
		                    	}
	                    	}

							if(taElements){
								for(var i=0; i < taElements.length; i++){
		                    		
			                    		taElements[i].value = '';
			                    	
		                    	}
							}
                    	}
                    	
                    } else {
                        alert('There was a problem with the request.');
                    }
     }
}





