function getGetEval(pgURL) {
	var objLabel = document.getElementById('lblLoading');
	if(!objLabel) return;
	var objXMLHTTP = null;
	if(!objXMLHTTP)
		objXMLHTTP = getXMLHTTPObject();
	if(objXMLHTTP.readyState != 0) objXMLHTTP.abort();
	if(!objXMLHTTP) alert('Could not send request.');

	objXMLHTTP.open("GET", pgURL, true);
	objXMLHTTP.onreadystatechange = function(){
		if(objXMLHTTP.readyState == 4){
			if(objXMLHTTP.status == 200) {
				eval(objXMLHTTP.responseText);
				showHideLoading(false);
			}
			if(objXMLHTTP.status == 404) setError(objLabel, '<span class="error">Requested File not found.</span>');
			if(objXMLHTTP.status == 500) setError(objLabel, '<span class="error">Requested File have an error.</span>');
		}
		else
			showHideLoading(true);
	}
	objXMLHTTP.send(null);
}
function getPostEval(pgURL, objParams) {
	var objLabel = document.getElementById('lblLoading');
	if(!objLabel) return;
	var objXMLHTTP = null;
	if(!objXMLHTTP)
		objXMLHTTP = getXMLHTTPObject();
	if(objXMLHTTP.readyState != 0) objXMLHTTP.abort();
	if(!objXMLHTTP) alert('Could not send request.');

	objXMLHTTP.open("POST", pgURL, true);
	objXMLHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	objXMLHTTP.setRequestHeader("Content-length", objParams.length);
	objXMLHTTP.onreadystatechange = function(){
		if(objXMLHTTP.readyState == 4){
			if(objXMLHTTP.status == 200) {
				eval(objXMLHTTP.responseText);
				showHideLoading(false);
			}
			if(objXMLHTTP.status == 404) setError(objLabel, '<span class="error">Requested File not found.</span>');
			if(objXMLHTTP.status == 500) setError(objLabel, '<span class="error">Requested File have an error.</span>');
		}
		else
			showHideLoading(true);
	}
	objXMLHTTP.send(objParams);
}
function getPost(obj, pgURL, objParams) {
	var objLabel = document.getElementById('lblLoading');
	if(!objLabel) return;
	var objXMLHTTP = null;
	if(!objXMLHTTP)
		objXMLHTTP = getXMLHTTPObject();
	if(objXMLHTTP.readyState != 0) objXMLHTTP.abort();
	if(!objXMLHTTP) alert('Could not send request.');

	objXMLHTTP.open("POST", pgURL, true);
	objXMLHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	objXMLHTTP.setRequestHeader("Content-length", params.length);
	objXMLHTTP.onreadystatechange = function(){
		if(objXMLHTTP.readyState == 4){
			if(objXMLHTTP.status == 200) {
				obj.innerHTML = objXMLHTTP.responseText;
				showHideLoading(false);
			}
			if(objXMLHTTP.status == 404) setError(objLabel, '<span class="error">Requested File not found.</span>');
			if(objXMLHTTP.status == 500) setError(objLabel, '<span class="error">Requested File have an error.</span>');
		}
		else
			showHideLoading(true);
	}
	objXMLHTTP.send(params);
}
function getContents(pgURL, obj){
	var objLabel = document.getElementById('lblLoading');
	if(!objLabel) return;
	var objXMLHTTP = null;
	if(!objXMLHTTP)
		objXMLHTTP = getXMLHTTPObject();
	if(objXMLHTTP.readyState != 0) objXMLHTTP.abort();
	if(!objXMLHTTP) alert('Could not send request.');

	objXMLHTTP.open('GET', pgURL, true);
	objXMLHTTP.onreadystatechange = function(){
		if(objXMLHTTP.readyState == 4){
			if(objXMLHTTP.status == 200) {
				obj.innerHTML = objXMLHTTP.responseText;
				showHideLoading(false);
			}
			if(objXMLHTTP.status == 404) setError(objLabel, '<span class="error">Requested File not found.</span>');
			if(objXMLHTTP.status == 500) setError(objLabel, '<span class="error">Requested File have an error.</span>');
		}
		else
			showHideLoading(true);
	}
	objXMLHTTP.send(null);
}

function getXMLHTTPObject() {
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	try {
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
	xmlhttp = false;
	}
	}
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if(!xmlhttp) return null;
	return xmlhttp;
}

//New Methods
function ShowLoading() {
	HideError();
	var objDiv = document.getElementById('divLoading');
	if(!objDiv) return;
	objDiv.style.display = 'block';
}
function HideLoading() {
	var objDiv = document.getElementById('divLoading');
	if(!objDiv) return;
	objDiv.style.display = 'none';
}
function ShowError() {
	var objErr = document.getElementById('divError');
	if(!objErr) return;
	objErr.style.display = 'block';
}
function HideError() {
	var objErr = document.getElementById('divError');
	if(!objErr) return;
	objErr.style.display = 'none';
}

//List Call backs
function PageFailure(obj) {
	HideLoading();
	ShowError();
}
function PageCallBack(obj) {
	var objDiv = document.getElementById('divList');
	if(!objDiv) return;
	if(obj.responseText != 'undefined') {
		objDiv.innerHTML = obj.responseText;
	}
	else
		ErrorCallBack();
	HideLoading();
}
function LoadList(url) {
	ShowLoading();
	var callback = {   
		success:PageCallBack, 
		failure: PageFailure, 
		argument: null
	};
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
	return false;
}

//Get by Id Call backs
function PageEval(obj) {
	if(obj.responseText != 'undefined')
		eval(obj.responseText);
	else
		ErrorCallBack();
	HideLoading();
}
function LoadGetByID(url) {
	ShowLoading();
	var callback = {
		success:PageEval, 
		failure: PageFailure, 
		argument: null
	};
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
	return false;
}

//Custom div loader
var CustomDiv = null;
function LoadListCustom(url) {
	ShowLoading();
	var callback = {   
		success:PageCallBackCustom, 
		failure: PageFailure, 
		argument: null
	};
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
	return false;
}
function PageCallBackCustom(obj) {
	var objDiv = document.getElementById(CustomDiv);
	if(!objDiv) return;
	if(obj.responseText != 'undefined') {
		objDiv.innerHTML = obj.responseText;
	}
	else
		ErrorCallBack();
	HideLoading();
}
function jqPOST(reqUrl, reqData, successHandler, errorHandler) {
	ShowLoading();
	$.ajax({
		   type: 'GET',
		   url: reqUrl,
		   data: reqData,
		   datatype: 'html',
		   cache:false,
		   contentType: 'text/html; charset=UTF-8',
		   success: successHandler,
		   error: function(err) {
			  if($.isFunction(errorHandler)) errorHandler();
			  else alert(err.responseText);
			  HideLoading();
		  }
	});
	return false;
}