$.ajaxSetup({
	error:	function(xhr,settings,exception) {
			//if site is not in production mode, display ajax errors (set this on when it goes live)
			if ($.Trim($('#appMetaData #siteMode').text()) != 'production') {
				var chrErrorPrefix = "<span style='COLOR: red; FONT: 14pt verdana'>Ajax Error... </span>";
				var chrErrorContent = chrErrorPrefix + $.Trim(xhr.responseText);
				ajaxErrWindow = window.open( "", "Error", "width=600,height=450,status,scrollbars,resizable,screenX=20,screenY=40,left=20,top=40");
				ajaxErrWindow.document.open();
				ajaxErrWindow.document.write(chrErrorContent);
			} else {
				//showModal('Processing Error','The site has encountered an error');
				//hide error
				return true;
			}
		}
});

function doAjaxCall(obj) {
	if (typeof obj.fuseAction == 'undefined') {
		alert('Please specify a fuseaction');
		return;
	} else {
		$.ajaxq('requestQ', {
			url: 'index.cfm?go=ajax.' + obj.fuseAction  + '&ms=' + new Date().getTime(),
			data:  (typeof obj.data == 'undefined') ? null : obj.data, 
			success: function(data) {
				var objReturnData = $.Trim(data);
				if (typeof obj.callBack != 'undefined') {
					if ($.Trim(obj.callBack) == 'dump') { 
						DP_Debug.dump(objReturnData);
					} else {
						var lstArgs = '';
						if ($.Len(objReturnData)) {
							lstArgs = 'objReturnData';
						}
						if (typeof obj.callBackArg != 'undefined') {
							lstArgs = $.ListAppend(lstArgs,'obj.callBackArg');
						}
						if ($.Len(lstArgs)) {
							eval(obj.callBack + '(' + lstArgs + ')');
						} else {
							eval(obj.callBack + '()');
						}
					}
				}
			}
		});
	}
}
