/*
 * Kalkulatorenwerte.js
 * Konfigurationsdatei für die Java/JavaScript Rechner.
 * Erstellt: 12.11.2007
 * Zuletzt geändert: 8.6.2009
 * Author: Gerd Katzenebeisser
 *
 * History
 * =============================================================================
 * Stand 8.6.2009:
 * -----------------------------------------------------------------------------
 * Kalkulatorenwerte für KreditrechnerAnnuitaetisch eingefügt. (Pfandeintragung)
 * =============================================================================
 * Stand 12.11.2007:
 * -----------------------------------------------------------------------------
 * Kalkulatorenwerte für Kreditrechner annuit eingefügt.
 * =============================================================================
 * Stand 28.11.2006:
 * -----------------------------------------------------------------------------
 * Kalkulatorenwerte werden nicht mehr automatisch geladen, soondern müssen aus
 * dem Hauptdokument mit init_UserKalkulatorenwerte() geladen werden.
 * =============================================================================
 * Stand 9.11.2006:
 * -----------------------------------------------------------------------------
 * Kalkulatorenwerte können im Browser gespeichert werden über 
 * setKalkulatorenwert()
 * =============================================================================
 * Stand 21.9.2006:
 * -----------------------------------------------------------------------------
 * Vordefinierte Kalkulatorenwerte können über getKalkulatorenwert() ausgelesen 
 * werden
*/

var Kalkulatorenwerte = new Object();
var UserKalkulatorenwerte;

Kalkulatorenwerte["Grundbucheintragung"] 				= 0.01;
Kalkulatorenwerte["Kreditgebühr"] 						= 0.008;
Kalkulatorenwerte["Rendite Tilgungsträger Einmalerlag"] = 0.045;
Kalkulatorenwerte["Rendite Tilgungsträger Monatssparer"] = 0.045;
Kalkulatorenwerte["Zinssatz Fremdkapital"] 				= 0.06;
Kalkulatorenwerte["Einmalerlag Überdeckung"] 			= 0.1;
Kalkulatorenwerte["Effektiv-Zinssatz"] 					= 0.03;
Kalkulatorenwerte["Maklerprovision Prozent"]			=0.036;
Kalkulatorenwerte["Kosten Bank Prozent"]				=0.01;
Kalkulatorenwerte["Pfandeintragung Prozent"]			=0.0156;

function init_UserKalkulatorenwerte() {
	loadUserKalkulatorenwerte();
}

/* Gibt einen Kalkulatorenwert zurück. Zunächst werden die Kalkulatorenwerte
 * der Cookies durchsucht.
 *
 * Parameters: String mit dem Namen des Kalkulatorenwerts
 * Returns: Den Kalkulatorenwert, oder null, wenn dieser nicht vorhanden ist.
 */ 
function getKalkulatorenwert(Name) {
	if (UserKalkulatorenwerte[Name])
		return UserKalkulatorenwerte[Name];
	
	if (Kalkulatorenwerte[Name])
		return Kalkulatorenwerte[Name];
	
	return null;
}
/* Setzt einen UserKalkulatorenwert und legt ihn in einem Cookie ab
 * Parameters:
 *	String Name des Kalkulatorenwerts
 *	Double Value des Kalkulatorenwerts
*/ 
function setKalkulatorenwert(Name, Value) {
	// Escapen der Argumente, da sie im Cookie auch so gespeichert sind
	Name = escape(Name);
	Value = escape(Value);
	
	var CookieString = getCookie("UserKalkulatorenwerte");
	CookieString = CookieString == null ? "":CookieString;
	var Wertpaare = CookieString.split(",");
	var Bezeichner = new Array(Wertpaare.length);
	var Werte = new Array(Wertpaare.length);
	var CreateNewEntry = true;
	
	// Auslesen der bisherigen Werte
	for (var i = 0; i < Wertpaare.length; i++)
	{
		var Wertpaar = unescape(Wertpaare[i]).split(",");
		Bezeichner[i] = Wertpaar[0];
		Werte[i] = Wertpaar[1];
		
		// Wenn der Wert bereits vorhanden war -> Überschreiben
		if (Name == Bezeichner[i])
		{
			Werte[i] = Value;
			CreateNewEntry = false;
		}
	}
	
	// Wenn der Wert noch nicht vorhanden war -> neu anlgen
	if (CreateNewEntry) {
		Bezeichner.push(Name);
		Werte.push(Value);
	}
	
	// CookieString wieder aufbauen
	Wertpaare = new Array;
	for (var i = 0; i < Bezeichner.length; i++)
		Wertpaare.push(escape(Bezeichner[i] + "," + Werte[i]));
	
	CookieString = Wertpaare.join(",");
	// Speichern der Werte
	setCookie("UserKalkulatorenwerte", CookieString);
	
	// Neue Laden der UserKalkulatorenwerte ins Objekt
	loadUserKalkulatorenwerte();
}

/* Lädt vom Benutzer eingegebene Kalkulatorenwerte in den Speicher */
function loadUserKalkulatorenwerte() {
	// Zurücksetzen des Objekts
	UserKalkulatorenwerte = new Object();
	
	var CookieString = getCookie("UserKalkulatorenwerte");
	CookieString = CookieString == null ? "":CookieString;
	var Wertpaare = CookieString.split(",");
	
	// Auslesen der bisherigen Werte
	for (var i = 0; i < Wertpaare.length; i++)
	{
		var Wertpaar = unescape(Wertpaare[i]).split(",");
		UserKalkulatorenwerte[unescape(Wertpaar[0])] = unescape(Wertpaar[1]);
	}	
}

