$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError){
    //alert('ajax error: ' + 'status ' + XMLHttpRequest.status + ', statusText ' + XMLHttpRequest.statusText);
	//alert(thrownError);
    //alert(ajaxOptions.url);

	if (XMLHttpRequest.status == 404){
		//alert('404');
		location = '<%=request.getContextPath()%>/page-not-found!showErrorPage.action';
	} else if (XMLHttpRequest.status == 403) {
		//alert('403');
		location = '<%=request.getContextPath()%>/access-is-denied.action';
	} else if (XMLHttpRequest.status == 500) {
		//alert('500');
		if (XMLHttpRequest.statusText.indexOf('transaction') != -1 
			|| XMLHttpRequest.statusText.indexOf('jdbc') != -1
			|| XMLHttpRequest.statusText.indexOf('orm.jpa') != -1) {
			//alert('dbexception');
			location = '<%=request.getContextPath()%>/dbaccessfailed.action';
		} else if (XMLHttpRequest.statusText == 'Internal Server Error') {
			//alert('server internal error');
			location = location;
		}  else {
			//alert('exception');
			location = '<%=request.getContextPath()%>/application-error.action';
		}
	}
});