/**
 * Funktionen fuer das Behandeln von Formular-Feldern.
 *
 * Projekt:
 * HANSAINVEST Relaunch 2007
 *
 * @copyright four for business AG <www.4fb.de>
 * @author Holger Librenz <holger.librenz@4fb.de>
 */

/**
 * Container fuer Aufrufzaehler
 *
 * @var Object
 */
var oInputCounter = new Object();

/**
 * Container fuer initiale Werte
 *
 * @var Object
 */
var oInputInitValues = new Object();

/**
 * Initialisiert fuer ein Element mit der
 * id sInputId die entsprechenden Zaehl-
 * und Reinitialisierungs-Container.
 *
 * @param {Object} sInputId
 */
function initInputCounter (sInputId) {
	// nur wenn das Element noch nicht initialisiert ist machen wir weiter
	if (!oInputCounter[sInputId]) {
		// Counter initialisieren
		oInputCounter[sInputId] = 0;

		// Element holen
		oInputElement = document.getElementById(sInputId);

		// initialen Wert sichern
		oInputInitValues[sInputId] = oInputElement.value;

		// onclick setzen
		oInputElement.onclick = doInputSelect;
		// Fokus-verlieren setzen
		oInputElement.onblur = resetInputSelect;
	}
}

/**
 * Ermittelt den aktuellen Zaehler fuer
 * das Element mit der id sInputId.
 *
 * @param {Object} sInputId
 *
 * @return {int}
 */
function getInputCounter (sInputId) {
	iCnt = oInputCounter[sInputId];

	return iCnt;
}

/**
 * Inkrementiert den Zaehler fuer das
 * Input Element mit der id sInputId
 * und den aktuellen Stand zurueck.
 *
 * @param {Object} sInputId
 * @param {int}
 */
function incInputCounter (sInputId) {
	oInputCounter[sInputId]++;

	return getInputCounter(sInputId);
}

/**
 * Funktion welche beim Klick auf ein
 * angemeldetes Element ausgefuehrt wird.
 */
function doInputSelect () {
	sInputId = this.id;
	iInputCount = incInputCounter(sInputId);

	if (iInputCount <= 1) {
		this.value = '';
	}
}

/**
 * Diese Funktion prueft beim Verlassen
 * eines Input-Elements, ob der aktuelle
 * Wert leer ist. Ist dem so, wird der
 * Zaehler fuer das Element zurueckgesetzt
 * und der urspruengliche Wert wird wieder
 * gesetzt.
 */
function resetInputSelect () {
	// ID ermitteln
	$sInputId = this.id;

	// ist der aktuelle Inhalt des Elements leer?
	if (this.value.length < 1) {
		this.value = oInputInitValues[sInputId];
		// Counter resetten
		oInputCounter[sInputId] = 0;
	}
}

 /**
  * Diese Funktion liest aus dem Select-Element mit der ID
  * id den aktuell ausgewaehlten Wert und oeffnet diese URL
  * in einem neuen Fenster.
  *
  * @param sId string
  */
  function showAusschuettungDocument (sId) {
    // Selektion holen
	oDocumentSelect = document.getElementById(sId);
	sDocPath = oDocumentSelect.value;

	// nur bei Auswahl etwas tun
	if (sDocPath != 0) {
		window.open (sDocPath, 'ausschuettung');
	}
  }