/**
*	$ steht fuer document.getElementById
*/

/**
*	Globale Attriute definieren
*/
var ipServer = 'http://www.wiro-consultants.de/erdgasrechner/include/';
//var ipServer = 'http://192.168.1.25/erdgasrechner/include/';

/**
*	Initalisierung beim ersten Ladevorgang
*	- Nicht benoetigte Kontainer ausblenden
*	- Event-Handler auf Kontainer setzten
*/
function init() {

	$("wiroTextfeldMitFoerderung").style.display = "none";
	$("wiroTableInputScrollPanel").style.display = "none";
	
	//new Draggable("wiroPanel", {handle: "wiroTitletext"});
	
	//Event.observe("wiroTextfeldMitFoerderungTitle",		"dblclick",	toggle);
	Event.observe("wiroSearchPlz",						"keyup",		search);
	//Event.observe("wiroTableInput",					"click",		handleEvents); // statt search
	
	search();
	
} // ENDE - init

/**
*	Aus-/Einblenden von Kontainern
*/
function toggle() {
	new Effect.toggle("wiroTextfeldMitFoerderungPanel", 'blind');
}

/**
*	Vorschlaege fuer die bisher eingetragene PLZ
*	- Auf Grundlage der bisher im Feld wiroSearchPlz eingetragenen PLZ
*	  werden Vorschlaege von passenden PLZ aus der Datenbank gemacht.
*	  Dies uebernimmt hauptsaechlich der Ajax.Updater.
*	- Sind fuenf Zahlen eingetragen, so ist die PLZ vollstaengig und
*	  es kann die entsprechende Foerderung mit showFoerderung aus 
*	  der Datenbank selektiert werden.
*	- Die jeweils nicht benoetigten Kontainer werden ausgeblendet. 
*/
function search() {
	
	// Vorschlaege fuer PLZ
	var url = '/wiro.rpc.php';
	var pars = 'action=search&wiroSearchPlz='+escape($F("wiroSearchPlz"));

	//new Ajax.Autocompleter('wiroSearchPlz', 'wiroTableInput', url, {method: 'post', parameters: pars, onLoading: showLoading, onLoaded: showLoaded, onFailure: reportError, evalScripts: true});	
	new Ajax.Updater('wiroTableInput', url, {method: 'post', parameters: pars, onLoading: showLoading, onLoaded: showLoaded, onFailure: reportError, evalScripts: true});
	
	// Ist es eine korrekte Postleitzahl?
	if (isNaN($F("wiroSearchPlz")) == true) {
		alert("Bitte geben Sie Ihre Postleitzahl ein.");
		$("wiroSearchPlz").value = "";
	} else {		
	
		// Sind fuenf Zeichen eingetragen, so wird die Foerderung angezeigt
		if($F("wiroSearchPlz").length == '5') {
			showFoerderung();
			$("wiroTextfeldMitFoerderung").style.display = "";
			$("wiroTableInputScrollPanel").style.display = "none";
		} else if ($F("wiroSearchPlz").length == '0') {
			$("wiroTextfeldMitFoerderung").style.display = "none";
			$("wiroTableInputScrollPanel").style.display = "none";
			if (runningInErdgasfahrzeugRechner()) {
				window.document.basicform_2.FoerderungPortal.value = 0;
			}
		} else {
			$("wiroTextfeldMitFoerderung").style.display = "none";
			if(runningInErdgasfahrzeugRechner()) {
				window.document.basicform_2.FoerderungPortal.value = 0;
			}
			//$("wiroTableInputScrollPanel").style.display = "";
		}

		Event.observe("wiroTableInput", 	"mouseover",	handleEvents);
	
	} // ENDE - if else, ist es eine korrekte Postleitzahl?

} // ENDE - search

/**
* 	Waerend des Ladesvorgangs
* 	- Anzeigen eines Ladebalkenes 
*/
function showLoading() {
	$("wiroIconLoading").src=ipServer + "images/loading.gif";
}

/**
* 	Wenn der Ladevorgang abgeschlossen ist
* 	- Ladebalken ausblenden
*/
function showLoaded() {
	$("wiroIconLoading").src=ipServer + "images/pixel.gif";
}

/**
* 	Wenn ein Fehler auftritt.
*/
function reportError(request) {
	//alert("Fehler");
}

/**
*	Anzeigen einer Foerderung
*	- Auf Grundlage der im Feld wiroSearchPlz eingetragenen PLZ
*	  wird die aus der Datenbank die Foerderung gewaehlt.
*	  Dies uebernimmt hauptsaechlich der Ajax.Updater.
*/
function showFoerderung () {
	var url = '/wiro.rpc.php';
	
	// Wenn das Modul im Erdasfahrzeug-Rechner lauft, dann
	// soll nur ein kurzer Text, Logo des Versorgers und ein Button 
	// mit weiteren Foerderbedingungen angezeigt werden.
	// Andernfalls werden die Foerdertexte und die Bilder direkt
	// an der Stelle der Einbindung angezeigt.
	if (runningInErdgasfahrzeugRechner()) {
		var pars = 'action=showFoerderung&wiroSearchPlz='+escape($F("wiroSearchPlz"))+'&show=button';
	} else {
		var pars = 'action=showFoerderung&wiroSearchPlz='+escape($F("wiroSearchPlz"));
	}

	// Update mit den entsprechenden Parametern durchfuehren.
	new Ajax.Updater('wiroTextfeldMitFoerderung', url, {method: 'post', parameters: pars, onLoading: showLoading, onLoaded: showLoaded, onFailure: reportError, evalScripts: true});
} // ENDE - showFoerderung

/**
*	Steuerung der Events
*	- Wenn ein Benutzer auf die Tabelle mit den Vorschlaegen
*	  klickt, wird die PLZ in das Feld wiroSearchPlz uebernommen
*	  und das entsprechende Foerderprogramm mit der Methode
*	  search ausgegeben.
*	- Ist der Mauszeiger ueber einem Vorschlage, so wird dieser
*	  farblich gekennzeichnet.
*/
function handleEvents () {
 
    var nodes = document.getElementById("plzTable").firstChild.childNodes;
 	 
    for ( var i = 0; i < nodes.length; i++ ) {
    
    if (navigator.appName.indexOf("Netscape") != -1) {
		nodes[i].onmouseover	= mouseoverAndChangeStyle;
		nodes[i].onmouseout		= mouseoutAndChangeStyle;
	}
		
		nodes[i].onclick		= clickAndSearch;
    } // ENDE - for
} // ENDE - handleEvents

function mouseoverAndChangeStyle() {
	this.className = "wiroTableInputMarkiert";
}

function mouseoutAndChangeStyle() {
	this.className = "wiroTableInputNichtMarkiert";
}
	  	
function clickAndSearch() {
	$("wiroSearchPlz").value = this.firstChild.firstChild.nodeValue;
	search();
}

/**
*	Keine Hilfsfunktion die durch das Vorhandensein des Erdgasfahrzeug-Rechner
*	Formulars prueft, ob diese Erweiterung im Erdgasfahrzeug-Rechner laeuft.<b> 
*	@return true, 	wenn Modul im Erdgasfahrzeug-Rechner
*	@return false,	sonst
*/ 
function runningInErdgasfahrzeugRechner() {
	if (window.document.basicform_2.FoerderungPortal) {
		return true;
	} else {
		return false;
	}
}

/**
*	Soll die Foerderung in einem eigenen Fenster angezeigt werden,
*	so wird die Groesse je nach Bildschirmaufloesung festgelegt.
*/
function oeffnePlzFenster (url) {
	// Fenstergroesse an Bildschirmaufloesung anpassen
	
	// Lowres
	if (screen.height<768) {
	  var wiroWidthKlein  = 300;
	  var wiroHeightKlein = 400;
	  var wiroWidthGross  = 575;
	  var wiroHeightGross = 500;
	  var wiroWidthDruck  = 575;
	  var wiroHeightDruck = 500;
	}
	// Highres
	else {
	  var wiroWidthKlein  = 300;
	  var wiroHeightKlein = 400;
	  var wiroWidthGross  = 600;
	  var wiroHeightGross = 650;
	  var wiroWidthDruck  = 650;
	  var wiroHeightDruck = 725;
	}

  fenster=window.open(url, "fenster2", "width="+wiroWidthGross+",height="+wiroHeightGross+",status=no,scrollbars=yes,resizable=yes");
  fenster.focus();
}

/**
*	Wird die Seite geladen, so wird gleich nach dem Aufruf des
*	Load-Events auch die Initalisierung durchgefuehrt.
*/
Event.observe(window, "load", init);

