function _AjaxErrors()
{
	this.isSuccess = function(xml)
	{
		var jxml = jQuery(xml);
		var success = jxml.find("success").text();
		return success != "fail";
	};
	this.handleHttpError = function()
	{
		showError("Vi har tyvärr tekniska problem. Prova igen lite senare. ");
	};
	this.handleError = function(errorXml)
	{
		// <?xml version="1.0" encoding="UTF-8 ?>
		//	<result>
		// 		<success>fail</success>
		//		<error code="$code" type="$type">
		//			<message>$message</message>
		//			<method>$method</method>
		//			<errorCode>$errorCode</errorCode>
		//			<errorMessage>$errorMessage</errorMessage>
		//		</error>
		//	</result>	
		var jxml = jQuery(errorXml);
		var success = jxml.find("success").text();
		var code = jxml.find("error").attr("code");
		var errorCode = jxml.find("errorCode").text();
		var errorType = jxml.find("error").attr("type");
		var method = jxml.find("method").text();
		var errorMessage = jxml.find("errorMessage").text();
		var message = jxml.find("message").text();
		var debugMessage = jxml.find("debugMessage").text();
		
		if (window['console'] != undefined)
		{
			console.log("AJAX ERROR: ");
			console.log("-----------------------------------------------------");
			console.log("code: 			" + code);
			console.log("errorType: 	" + errorCode);
			console.log("errorCode: 	" + errorCode);
			console.log("method: 		" + method);
			console.log("message: 		" + message);
			console.log("errorMessage: 	" + errorMessage);
			console.log("debugMessage: 	" + debugMessage);
			console.log("-----------------------------------------------------");
		}
		if (errorType == "WebserviceException")
		{
			switch (parseInt(errorCode))
			{
			case 401: // cannot find specified address
				showError("Vi har tyvärr inga uppgifter om adressen du angav.<br />Prova gärna igen med en annan adress. ");
				break;
			case 410: // cannot perform valuation
				showError("Vi kan tyvärr inte genomföra en värdering på objektet du angivit. <br />Prova gärna igen med en annan adress. ");
				break;				
			case 411: // usage limit
				showError("Tjänsten har ett antal inbyggda spärrar. Du kan exempelvis ha begärt en indikation på samma objekt för många gånger inom samma dygn.");
				break;
			case 412: // abuse limit
				showError("Systemet indikerar att användandet av tjänsten kan strida mot våra användarvillkor.  Se villkoren för tjänsten under flik 3. Upplever du detta som felaktigt kontakta oss gärna via e-post kundcenter@sbab.se");
				break;
			case 1:	  // incorrect login
			case 413: // incorrect parameters
			case 1007:
			case 1008:
			case 1000:
				showError("Vi har tyvärr tekniska problem. Prova igen lite senare. ");
				break; // critical error
			}
		}
		else
		{
			switch (parseInt(code))
			{
			case 1001:
				showError("Det går bara att göra en värdering åt gången. Börja om från början och gör en ny värdering. ");
				break;
			case 1005:
				showError("Din användarsession har avslutats på grund av inaktivitet. Börja om från början och gör en ny värdering.<br /><a href=\"?page=start\">Gå till startsidan.</a>");
				break;
			case 1006:
				showError("Det gick inte att skicka mail till den adress du angav. Kontrollera att den är giltig och försök igen. ");
				break;
			default:
				showError("Vi har tyvärr tekniska problem. Prova igen lite senare. ");				
				break;
			}
		}
	};
}

var AjaxErrors = new _AjaxErrors();