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) {
	jqGET(url, null, function(data) { $('#divList').html(data); HideLoading(); });
	/*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();
	jqGET(url, null, function(data) { eval(data); HideLoading(); });
	return false;
	/*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) {
	jqGET(url, null, function(data) { $('#' + CustomDiv).html(data); HideLoading(); });
	/*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;
}
function jqPOST1(reqUrl, reqData, successHandler, errorHandler) {
	ShowLoading();
	$.ajax({
		   type: 'POST',
		   url: reqUrl,
		   data: (reqData),
		   datatype: 'json',
		   cache:false,
		   //contentType: 'text/html; charset=UTF-8',
		   success: successHandler,
		   error: function(err) {
			  if($.isFunction(errorHandler)) errorHandler();
			  else alert(err.responseText);
			  HideLoading();
		  }
	});
	return false;
}
function jqGET(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;
}
function FillDropdown(type, id, ddID, endHandler) {
	jqGET('Includes/IncDyanmicDropdown.cfm?t=' + type + '&id=' + id, null, function (data) { $('#' + ddID).html(data); HideLoading(); endHandler(); });
	return false;
}

//1 = Add, 2 = Update, 3 = Delete, 4 = View, 5 = Verified
function LogAccess(key, act) {
	try {
	$(function() {
		$.ajax({
			   type: 'POST',
			   url: 'LogAccess.cfm?key=' + key + '&act=' + act,
			   data: null,
			   datatype: 'html',
			   cache:false,
			   contentType: 'text/html; charset=UTF-8',
			   success: function () { },
			   error: function(err) {
			  }
		});
	});
	}catch(e) { alert('error');}
	return false;
}



//Dropdown handlers
function clearOption(objList){
	if(!objList) return;
	do {
		for(i=0;i<objList.length;i++)
			objList[i] = null;
	} while(objList.length)
}
function addOption(objList, itemValue, itemText){
	if(!objList) return;
	objOption = document.createElement("OPTION");
	objOption.value = itemValue;
	objOption.text = itemText;
	objList.options.add(objOption);
}
function selectList(objList,curId){
	for(i=0;i<objList.options.length;i++){
		if(objList.options[i].value == curId){
			objList.options.selectedIndex = i;
			return true;
		}
	}
}
function isAlready(obj, val) {
	if(!obj) return false;
	for(j=0;j<obj.options.length;j++)
		if(val == obj.options[j].value) return true;
	return false;
}
function moveAll(srObj, destObj) {
	if(!srObj) return;
	if(!destObj) return;
	for(i=0;i<srObj.options.length;i++) {
		if(!isAlready(destObj, srObj.options[i].value)) {
			addOption(destObj, srObj.options[i].value, srObj.options[i].text);
		}
	}
	clearOption(srObj);
	return false;
}
function moveSelected(srObj, destObj) {
	if(!srObj) return;
	if(!destObj) return;
	var optLen = srObj.options.length;
	var indxArr = new Array();
	for(i=0;i<optLen;i++) {
		if(srObj.options[i].selected) {
			if(!isAlready(destObj, srObj.options[i].value)) {
				addOption(destObj, srObj.options[i].value, srObj.options[i].text);
				indxArr[indxArr.length] = srObj.options[i].value;
			}
		}
	}
	for(j=0;j<indxArr.length;j++) {
		for(i=0;i<optLen;i++) {
			if(indxArr[j] == srObj.options[i].value) {
				srObj.options[i] = null;
				break;
			}
		}
	}
	return false;
}
function populateMultiValue(srObj, desObj) {
	if(!srObj) return;
	var txt = '';
	for(i=0;i<srObj.length;i++) {
		if(txt == '')
			txt = srObj.options[i].value;
		else
			txt += ',' + srObj.options[i].value;
	}
	desObj.value = txt;
	return false;
}