/**
 * Datei beinhaltet Funktionen, welche die Fahrzeugliste betreffen.
 * 
 * @author marlettas
 * 		$LastChangedDate: 2010-07-27 17:30:27 +0200 (Tue, 27 Jul 2010) $ 
 * 		$LastChangedBy: hutterm $
 * 
 * @version $Id: WebId.js 14302 2010-07-27 15:30:27Z hutterm $
 * @package javascript
 * @category vehicleList
 */
Platform.webId = {}; //Namensraum der Platform erweitern

Platform.webId.UI = Class.create({ 
	insertError: function(message) {
		var errorHtml = new Element("div", {
			id: "webIdError"
		});
		
		errorHtml.update(message);
		
		$("webIdContent").insert({
			"bottom": errorHtml
		});
	},
	toggle: function() {
		$("webIdForm").toggle();
		$("webIdLoading").toggle();
	},
	searchClicked: function(clickEvent) {
		var params = {
			mode: "ajax",
			__method: "exists",
			entity: "Vehicle",
			id: $F($$(".webIdContent input[type=text].webId").first())
		};
		new Ajax.Request("/services/entityService.php", {
			method: "get",
			parameters: params, 
			onCreate: function() {
				Platform.webId.instance.toggle();
				
				if($("webIdError")) 
					$("webIdError").remove();
			},
			on200: function(response) {
				Platform.webId.instance.toggle();
				document.location.href = response.getHeader("PlatformLocation");
			},
			on404: function() {
				var el = $$(".webIdContent input[type=text].webId").first();
				
				var newParams = {
					mode: "ajax",
					__method: "exists",
					entity: "SoldVehicle",
					id: $F(el)
				};
				
				new Ajax.Request("/services/entityService.php", {
					method: "get",
					parameters: newParams,
					on200: function(response) {
						Platform.webId.instance.toggle();
						document.location.href = response.getHeader("PlatformLocation");
					},
					on403: function() {
						Platform.webId.instance.toggle();
						Platform.webId.instance.insertError("Server Fehler.");
					},
					on404: function() {
						Platform.webId.instance.toggle();
						Platform.webId.instance.insertError("Fahrzeug nicht gefunden.");
					}
				});
			},
			on403: function() {
				Platform.webId.instance.toggle();
				Platform.webId.instance.insertError("Server Fehler.");
			}
		});
	}
}); 

Platform.webId.instance = false;

document.observe("dom:loaded", function() {
	$("webIdForm").show();
	$("webIdLoading").hide();
	
	Platform.webId.instance = new Platform.webId.UI();
	
	$$(".webIdContent .searchWebId").invoke(
		"observe", 
		"click", 
		Platform.webId.instance.searchClicked
	);
	
	new Platform.ToolTips("label");
});