document.write(''); function $(id){ return document.getElementById(id); } LastVer = new function() { this.event = new Array(); this.tracktrick = new Image(); } LastVer.initAll = function(){ var inputs = document.getElementsByTagName("input"); var namen = new Array(); var buttons = new Array(); for(var input in inputs){ var type = inputs[input].type; if(type == "text" || type == "radio" || type == "checkbox" || type == "select"){ namen.push(inputs[input].name); } else if(type == "submit" || type == "button"){ buttons.push(inputs[input].name); } } for(var button in buttons){ this.init(namen,buttons[button]); } } LastVer.init = function(inputs,submitname) { var form = document.getElementsByTagName("form"); if(form.length == 0 ){ document.getElementsByName(submitname)[0].parentNode.parentNode.style.display = "block"; document.getElementsByName(submitname)[0].parentNode.parentNode.style.visibility = "visible"; } this.lastv = "-1"; this.event[submitname] = ''; for(var i=0;i Cookie wird gelöscht return true; }catch(e){return false;} } LastVer.sendToDatabase = function(werte) { if(this.lastv) { //TODO } } LastVer.sendToDatabase.createLastVerURLvariable = function(variablenname, variablenwert){ var url = "https://banking.degussa-bank.de:443/banking/servlet/com.pagentix.banking.servlet.lastver.CheckboxServlet"; try{ var sessionID=top.action.menu.mystate.sessionID; if (sessionID != "0") { url=url+';jsessionid='+sessionID; } }catch(e){;} url += "?lastv="+LastVer.lastv; url += "&"+variablenname+"="+variablenwert; LastVer.sendToDatabase.imageLastVer(url); /** ZUM TESTEN! IN FINALVERSION BITTE ENTFERNEN **/ //$('Tracking').innerHTML = "

Tracking-Verhalten:

" + url + "

"; //var fenster = window.open(url, "Tracking"); //fenster.focus(); /** ZUM TESTEN! IN FINALVERSION BITTE ENTFERNEN **/ return url; } LastVer.sendToDatabase.createLastVerURL = function(variablen){ var url = "https://banking.degussa-bank.de:443/banking/servlet/com.pagentix.banking.servlet.lastver.CheckboxServlet"; try{ var sessionID=top.action.menu.mystate.sessionID; if (sessionID != "0") { url=url+';jsessionid='+sessionID; } }catch(e){;} url += "?lastv="+LastVer.lastv; for(var i=0;iTracking-Verhalten:

" + url + "

"; //window.open(url, "Tracking"); /** ZUM TESTEN! IN FINALVERSION BITTE ENTFERNEN **/ return url; } LastVer.sendToDatabase.imageLastVer = function(LastVerurl){ try{ LastVer.tracktrick = new Image(); LastVer.tracktrick.src = LastVerurl; }catch(e){return false;} if( LastVer.tracktrick.src == LastVerurl){ return true; } else{ return false; } } LastVer.eventHandler = function(event,variablenname,variablenwert) { var variablen = new Array(); var name = event.name; if(this.event[name]){ try{ eval(this.event[name]); }catch(e){return false;} } else{ this.initAll(); try{ eval(this.event[name]); }catch(e){return false;} } // LastVer.flashcookie("42314314124","23144213"); /*if(LastVer.flashcookie.exist() == true) // Flashcookie wird verwendet: Erste Wahl { LastVer.LASTV.create(); alert("keks"); LastVer.flashcookie.read (); } else*/ if(LastVer.cookie.exist() == true) // HTTPCookie wird verwendet: 2te Wahl { if(LastVer.cookie.read("lastv") == false) // Der User hat noch keine lastv im cookie gespeichert { if(LastVer.lastv == "-1" || LastVer.lastv == -1 || typeof LastVer.lastv == "undefined") // Das aktuelle geöffnete Programm hat noch keine lastv erzeugt { LastVer.LASTV.create(); // erstellt lastv } try{ LastVer.cookie("lastv",this.lastv); // lastv wird in cookie geschrieben }catch(e){alert("Fataler Fehler: Cookie konnte nicht erstellt werden;");} } else { this.lastv = LastVer.cookie.read("lastv"); // lastv wird aus cookie ausgelesen und gespeichert } if(typeof variablenname == "undefined" || variablenname == "" || typeof variablenwert == "undefined" || variablenwert == "") { try{ LastVer.sendToDatabase.createLastVerURL(variablen); }catch(e){return false;} } else { LastVer.sendToDatabase.createLastVerURLvariable(variablenname, variablenwert); } } else { return false; } } // //prod.mestmatch (dauer, betrag) returns kondition // SparenMatrix = array(SPAR_ID, NAME, URL, VORTEILTEXT); /* SparenMatrix = new Array(); SparenMatrix[0] = new Sparen("0","Renditensparen **","#link",""); SparenMatrix[1] = new Sparen("1","Sparplan **","#link",""); SparenMatrix[2] = new Sparen("2","VL-Sparen **","#link",""); SparenMatrix[3] = new Sparen("3","Sparbrief Typ-V","#link",""); SparenMatrix[4] = new Sparen("4","Sparbrief Typ-A","#link",""); SparenMatrix[5] = new Sparen("5","Dynamiksparen","#link",""); SparenMatrix[6] = new Sparen("6","Telegeld V1: Zinsvorteil Pur","#link",""); SparenMatrix[7] = new Sparen("7","Telegeld V2: Zinsvorteil mit System","#link",""); SparenMatrix[8] = new Sparen("8","Topzins **","#link",""); SparenMatrix[9] = new Sparen("9","FestInvest **","#link",""); SparenMatrix[10] = new Sparen("10","Festgeld","#link",""); SparenMatrix[11] = new Sparen("11","Rentenplan","#link",""); SparenMatrix[12] = new Sparen("12","Investmentsparen*","#link",""); // SparvarianteMatrix = array(SPAR_ID,MINDESTANLAGEBEITRAG,VARIANTEN_ID,ANLAGE); SparvarianteMatrix = new Array(); SparvarianteMatrix[0] = new Sparvariante("0","2500","0","einmalig"); SparvarianteMatrix[1] = new Sparvariante("0","5000","1","einmalig"); SparvarianteMatrix[2] = new Sparvariante("1","25","2","monat"); SparvarianteMatrix[3] = new Sparvariante("1","250","3","jahr"); SparvarianteMatrix[4] = new Sparvariante("2","0","4","monat+jahr"); SparvarianteMatrix[5] = new Sparvariante("3","0","5","einmalig"); SparvarianteMatrix[6] = new Sparvariante("4","0","6","einmalig"); SparvarianteMatrix[7] = new Sparvariante("5","2500","7","einmalig"); // Dynamiksparen SparvarianteMatrix[8] = new Sparvariante("6","5000","8","RAUS"); // Telegeld V1 SparvarianteMatrix[9] = new Sparvariante("7","0","9","RAUS"); // Telefel V2 SparvarianteMatrix[10] = new Sparvariante("8","0","10","monat+jahr+einmalig"); // TopZins SparvarianteMatrix[11] = new Sparvariante("9","2500","11","einmalig"); // FestInvest SparvarianteMatrix[12] = new Sparvariante("10","5000","12","einmalig"); // Festgeld SparvarianteMatrix[13] = new Sparvariante("10","25000","13","einmalig"); SparvarianteMatrix[14] = new Sparvariante("10","50000","14","einmalig"); //SparvarianteMatrix[14] = new Sparvariante("12","5000","15","einmalig"); //SparvarianteMatrix[14] = new Sparvariante("13","25","16","einmalig"); // DauerMatrix = array("Anlagemindestdauer, Anlagemaximaldauer, Dauerid"); DauerMatrix = new Array(); DauerMatrix[0] = new Dauer("6","3000","0"); DauerMatrix[1] = new Dauer("12","3000","1"); DauerMatrix[2] = new Dauer("24","3000","2"); DauerMatrix[3] = new Dauer("36","72","3"); DauerMatrix[4] = new Dauer("96","300","4"); DauerMatrix[5] = new Dauer("72","72","5"); DauerMatrix[6] = new Dauer("12","12","6"); DauerMatrix[7] = new Dauer("24","24","7"); DauerMatrix[8] = new Dauer("36","36","8"); DauerMatrix[9] = new Dauer("48","48","9"); DauerMatrix[10] = new Dauer("60","60","10"); DauerMatrix[11] = new Dauer("84","84","11"); DauerMatrix[12] = new Dauer("96","96","12"); DauerMatrix[13] = new Dauer("120","120","13"); DauerMatrix[14] = new Dauer("60","60","14"); DauerMatrix[15] = new Dauer("0","3000","15"); DauerMatrix[16] = new Dauer("1","3000","16"); DauerMatrix[17] = new Dauer("2","3000","17"); DauerMatrix[18] = new Dauer("3","3000","18"); DauerMatrix[19] = new Dauer("6","3000","19"); DauerMatrix[20] = new Dauer("300","300","20"); // ZinsenMatrix = array(variantenid,dauerid,zinssatz,bonusid); ZinsenMatrix = new Array(); ZinsenMatrix [0] = new Zinsen("0","0","3.00",""); ZinsenMatrix [1] = new Zinsen("0","1","3.20",""); ZinsenMatrix [2] = new Zinsen("0","2","3.40",""); ZinsenMatrix [3] = new Zinsen("1","0","3.10",""); ZinsenMatrix [4] = new Zinsen("1","1","3.30",""); ZinsenMatrix [5] = new Zinsen("1","2","3.50",""); ZinsenMatrix [6] = new Zinsen("2","3","1.80","var bonusbreak = true; var bonuszinsen = new Array(0,2,4,8,12,16); if(k == 1){ sparleistung -= zinsen; jahreszinsen -= zinsen; temp_sparbetrag = sparbetrag; zinsen = Jahreszinsen(zinssatz, temp_sparbetrag)/12; zinsen = parseFloat(Modellrechner.runde(zinsen)); sparleistung += zinsen; jahreszinsen += zinsen; jahreszinsen = parseFloat(Modellrechner.runde(jahreszinsen));} temp_sparbetrag += sparbetrag; if((k%12) == 0){ temp_sparbetrag += ((sparbetrag*12)*bonuszinsen[((k/12)-1)])/100; sparleistung += ((sparbetrag*12)*bonuszinsen[((k/12)-1)])/100; temp_sparbetrag += jahreszinsen; jahreszinsen = 0;}"); ZinsenMatrix [7] = new Zinsen("2","4","3.20","var bonusbreak = true; var bonuszinsen = new Array(0,0,0,0,0,0,0,8,10,12,15,20,25,30,35,40,45,50,55,60,65,70,75,80,100); if(k == 1){ sparleistung -= zinsen; jahreszinsen -= zinsen; temp_sparbetrag = sparbetrag; zinsen = Jahreszinsen(zinssatz, temp_sparbetrag)/12; zinsen = parseFloat(Modellrechner.runde(zinsen)); sparleistung += zinsen; jahreszinsen += zinsen; jahreszinsen = parseFloat(Modellrechner.runde(jahreszinsen));} temp_sparbetrag += sparbetrag; if((k%12) == 0){ temp_sparbetrag += ((sparbetrag*12)*bonuszinsen[((k/12)-1)])/100; sparleistung += ((sparbetrag*12)*bonuszinsen[((k/12)-1)])/100; temp_sparbetrag += jahreszinsen; jahreszinsen = 0;}"); ZinsenMatrix [44] = new Zinsen("3","3","1.80","var bonuszinsen = new Array(0,2,4,8,12,16); if((k%12) == 0){ temp_sparbetrag += (sparbetrag*bonuszinsen[((k/12)-1)])/100; sparleistung += ((sparbetrag)*bonuszinsen[((k/12)-1)])/100;}"); ZinsenMatrix [45] = new Zinsen("3","4","3.20","var bonuszinsen = new Array(0,0,0,0,0,0,0,8,10,12,15,20,25,30,35,40,45,50,55,60,65,70,75,80,100); if((k%12) == 0){ temp_sparbetrag += (sparbetrag*bonuszinsen[((k/12)-1)])/100; sparleistung += ((sparbetrag)*bonuszinsen[((k/12)-1)])/100;}"); ZinsenMatrix [8] = new Zinsen("4","5","0.75","if(k == zeitspanne){sparleistung += Jahreszinsen(14,temp_sparbetrag)/12*schrittweise;};"); //14.00 nach 7 Jahren ZinsenMatrix [9] = new Zinsen("5","6","4.25","jahreszinsen = 0;"); ZinsenMatrix [10] = new Zinsen("5","7","4.30","jahreszinsen = 0;"); ZinsenMatrix [11] = new Zinsen("5","8","4.30","jahreszinsen = 0;"); ZinsenMatrix [12] = new Zinsen("5","9","4.30","jahreszinsen = 0;"); ZinsenMatrix [13] = new Zinsen("5","10","4.30","jahreszinsen = 0;"); ZinsenMatrix [14] = new Zinsen("5","11","4.35","jahreszinsen = 0;"); ZinsenMatrix [15] = new Zinsen("5","12","4.40","jahreszinsen = 0;"); ZinsenMatrix [16] = new Zinsen("5","13","4.50","jahreszinsen = 0;"); ZinsenMatrix [17] = new Zinsen("6","6","4.25",""); ZinsenMatrix [18] = new Zinsen("6","7","4.30",""); ZinsenMatrix [19] = new Zinsen("6","8","4.30",""); ZinsenMatrix [20] = new Zinsen("6","9","4.30",""); ZinsenMatrix [21] = new Zinsen("6","10","4.30",""); ZinsenMatrix [22] = new Zinsen("6","11","4.35",""); ZinsenMatrix [23] = new Zinsen("6","12","4.40",""); ZinsenMatrix [24] = new Zinsen("6","13","4.50",""); ZinsenMatrix [25] = new Zinsen("7","14","3.50","var a = new Array(0, 0.25, 0.50, 0.75, 1.25); zinsen = Jahreszinsen(a[(k/12)-1],temp_sparbetrag)/12*schrittweise; sparleistung += zinsen; jahreszinsen += zinsen;"); // 3.50+3.75+4.00+4.25+4.75 ZinsenMatrix [26] = new Zinsen("8","15","3.07",""); ZinsenMatrix [27] = new Zinsen("9","15","3.07",""); ZinsenMatrix [28] = new Zinsen("10","15","3.25",""); ZinsenMatrix [29] = new Zinsen("11","20","5.00","");//+X ZinsenMatrix [30] = new Zinsen("12","19","3.90",""); ZinsenMatrix [31] = new Zinsen("12","16","2.50",""); ZinsenMatrix [32] = new Zinsen("12","17","2.50",""); ZinsenMatrix [33] = new Zinsen("12","18","3.60",""); ZinsenMatrix [34] = new Zinsen("13","5","2.65",""); ZinsenMatrix [35] = new Zinsen("13","16","2.65",""); ZinsenMatrix [36] = new Zinsen("13","17","3.60",""); ZinsenMatrix [37] = new Zinsen("13","18","3.90",""); ZinsenMatrix [38] = new Zinsen("14","0","2.80",""); ZinsenMatrix [39] = new Zinsen("14","0","2.80",""); ZinsenMatrix [40] = new Zinsen("14","0","3.60",""); ZinsenMatrix [41] = new Zinsen("14","0","3.90",""); ZinsenMatrix [42] = new Zinsen("2","4","3.20",""); ZinsenMatrix [43] = new Zinsen("3","3","1.80",""); */ Modellrechner = function(){ } /** * Funktion die beim Initialisieren aufgerufen wird. * @params {rechner_inputs} ein array von allen inputfeldern die eingelesen werden sollen **/ Modellrechner.init = function(rechner_inputs){ this.inputs = rechner_inputs; /*for(var i in rechner_inputs) { try{ for(var x in document.getElementsByName(rechner_inputs[i])){ document.getElementsByName(rechner_inputs[i])[x].checked = false; } }catch(e){;} }*/ document.getElementsByName("anlage")[0].checked = true; document.getElementsByName("frist")[0].checked = true; document.getElementsByName("geld_anlage")[0].value = "5000"; document.getElementsByName("anlage_zeiteinheit")[0].checked = true; $("anlagesub").style.display = "none"; this.Eingabewerte = new Object(); this.GuteVariante = new Array(); this.SchlechtereVariante = new Array(); this.GuteDauer = new Array(); this.SchlechtereDauer = new Array(); this.GuteZinsen = new Array(); } /** * Wir aufgerufen wenn auf den Buttom gedrückt wurde. **/ Modellrechner.submit = function(){ this.Ausgabe(""); Modellrechner.read(); } /** * Durchsucht das array Dauer **/ Modellrechner.SearchDauer = function(){ var min = 0; var max = 0; this.GuteDauer = new Array(); for(var i = 0; i < DauerMatrix.length;i++) { min = parseInt(DauerMatrix[i].anlagemindestdauer); max = parseInt(DauerMatrix[i].anlagemaximaldauer); if(min <= this.Dauer && this.Dauer <= max) { this.GuteDauer.push(DauerMatrix[i].dauerid); } else if((min <= Math.ceil(this.Dauer*0.5) && Math.ceil(this.Dauer*0.5) <= max) || (min <= this.Dauer*2 && this.Dauer*2 <= max)) { this.SchlechtereDauer.push(DauerMatrix[i].dauerid); } } } Modellrechner.SearchArray = function(id,array){ var response = false; for(var j = 0; j < array.length;j++) { if(array[j] == id) { response = id; break; } } return response; } Modellrechner.SearchZinsen = function(){ var variantenid=""; var dauerid=""; this.GuteZinsen = new Array(); for(var i = 0; i < ZinsenMatrix.length;i++) { dauerid=ZinsenMatrix[i].dauerid; variantenid=ZinsenMatrix[i].variantenid; dauer_search = Modellrechner.SearchArray(dauerid,this.GuteDauer); varianten_search = Modellrechner.SearchArray(variantenid,this.GuteVariante); if( dauer_search != false && varianten_search != false) { this.GuteZinsen.push(i); } } } Modellrechner.SearchSparvariante = function(){ var search_anlage; Modellrechner.GuteVariante = new Array(); for(var i = 0; i < SparvarianteMatrix.length;i++) { //parseInt(SparvarianteMatrix[i].mindestanlagebeitrag); search_anlage = SparvarianteMatrix[i].anlage.search(this.Anlage); if(this.Anlage == SparvarianteMatrix[i].anlage || search_anlage != -1) { if(this.MindestAnlageBeitrag >= parseInt(SparvarianteMatrix[i].mindestanlagebeitrag)) { Modellrechner.GuteVariante.push(SparvarianteMatrix[i].variantenid); } else { Modellrechner.SchlechtereVariante.push(SparvarianteMatrix[i].variantenid); } } } } Modellrechner.Ausgabe = function(ausgabe){ $("ausgabe").style.display = "block"; $("ausgabe").innerHTML = ausgabe; } /** * Rundet einen Zahl kaufmännisch auf 2 Stellen hinterm Komma * Kriegt eine komma-Zahl übergeben, und gibt einen String mit der gerundeten Zahl wieder **/ Modellrechner.runde = function(x) { var k = (Math.round(x * 100) / 100).toString(); k += (k.indexOf('.') == -1)? '.00' : '00'; return k.substring(0, k.indexOf('.') + 3); } /* Modellrechner.datum = function(monate){ var datum = new Date(); monate var milli = datum.getMilliseconds() return datum.toGMTString(); }*/ Modellrechner.Sparbetrag = function(){ var Jahreszinsen = function(zinsatz,kapital){ // Funktion die die Jahreszinsen ausrechnet und diese wiedergib, Parameter: Der Zinssatz und das zu verzinsende Kapital var response = (kapital*zinsatz)/100; return response; } var table_header = function(){ // Funktion die in die Ausgabe eine Tabelle Anfängt und 3 Spaltenüberschriften in diese schreibt; if(Modellrechner.ausgabeprodukte.length == 0){ ausgabe += '
Leider keine passenden Produkte für ihre eingabe gefunden.
'; } else { ausgabe += ''; ausgabe += '"; } } var table_foot = function(foot){ ausgabe += "

"; ausgabe += foot; ausgabe += "

"; ausgabe += "

"; ausgabe += "** Der Zinssatz ist während der Laufzeit variabel und abhängig vom Marktzinssatz. Es wurde bei der Berechnung des Zinsertrages für die gesamte Laufzeit der aktuelle Zinssatz verwendet."; ausgabe += "

"; } this.sparleistung_regel = function(schrittweise,sparbetrag,zeitspanne){ var zinssatz = 0; var variantenid = 0; var Sparid = 0; var bonusid = ""; this.ausgabeprodukte = new Array(); for(var i = 0;i < Modellrechner.GuteZinsen.length; i++) { var bonusbreak = false; var jahreszinsen = 0; var sparleistung = 0; var zinsen = 0; var temp_sparbetrag = sparbetrag*12/schrittweise; zinssatz = parseFloat(ZinsenMatrix[parseInt(Modellrechner.GuteZinsen[i])].zinssatz); variantenid = parseInt(ZinsenMatrix[parseInt(Modellrechner.GuteZinsen[i])].variantenid); bonusid = ZinsenMatrix[parseInt(Modellrechner.GuteZinsen[i])].bonusid; Sparid = parseInt(SparvarianteMatrix[variantenid].Sparid); this.ausgabeprodukte[i] = new Object(); this.ausgabeprodukte[i]['name'] = SparenMatrix[Sparid].name; this.ausgabeprodukte[i]['vorteile'] = SparenMatrix[Sparid].vorteile; this.ausgabeprodukte[i]['link'] = SparenMatrix[Sparid].link; this.ausgabeprodukte[i]['mindestanlage'] = SparvarianteMatrix[variantenid].mindestanlagebeitrag; for(var k = schrittweise; k <= zeitspanne; k+=schrittweise) { zinsen = Jahreszinsen(zinssatz,temp_sparbetrag)/12*schrittweise; zinsen = parseFloat(Modellrechner.runde(zinsen)); sparleistung += zinsen; jahreszinsen += zinsen; jahreszinsen = parseFloat(Modellrechner.runde(jahreszinsen)); if(bonusid != "" && typeof bonusid != "undefined") { eval(bonusid); } if((((k%12) == 0) || ((schrittweise == 1) && (k == schrittweise))) && (bonusbreak != true)) // Hier wird das Problem abgefangen dass es nicht Zinseszinsen auf Zinsen gibt die nur ein Teilzinsen der Zinsen eines Jahres sind. { temp_sparbetrag += jahreszinsen; temp_sparbetrag += sparbetrag*12/schrittweise; jahreszinsen = 0; } } if(this.ausgabeprodukte[i]['sparleistung'] == "" || this.ausgabeprodukte[i]['sparleistung'] == 0 || typeof this.ausgabeprodukte[i]['sparleistung'] == "undefined"){ // Fall dass dieses Produkt schonmal mit Sparleistung drinnen steht this.ausgabeprodukte[i]['sparleistung'] = sparleistung; } else{ if(this.ausgabeprodukte[i]['sparleistung'] < sparleistung) { this.ausgabeprodukte[i]['sparleistung'] = sparleistung; } } } } this.sparleistung_einmalig = function(schrittweise,sparbetrag,zeitspanne){ var zinssatz = 0; var variantenid = 0; var Sparid = 0; var bonusid =""; this.ausgabeprodukte = new Array(); for(var i = 0;i < Modellrechner.GuteZinsen.length; i++) { var jahreszinsen = 0; var sparleistung = 0; var zinsen = 0; var zinssatz = 0; var temp_sparbetrag = sparbetrag; zinssatz = parseFloat(ZinsenMatrix[parseInt(Modellrechner.GuteZinsen[i])].zinssatz); variantenid = parseInt(ZinsenMatrix[parseInt(Modellrechner.GuteZinsen[i])].variantenid); bonusid = ZinsenMatrix[parseInt(Modellrechner.GuteZinsen[i])].bonusid; Sparid = parseInt(SparvarianteMatrix[variantenid].Sparid); this.ausgabeprodukte[i] = new Object(); this.ausgabeprodukte[i]['name'] = SparenMatrix[Sparid].name; this.ausgabeprodukte[i]['vorteile'] = SparenMatrix[Sparid].vorteile; this.ausgabeprodukte[i]['link'] = SparenMatrix[Sparid].link; this.ausgabeprodukte[i]['mindestanlage'] = SparvarianteMatrix[variantenid].mindestanlagebeitrag; for(var k = schrittweise; k <= zeitspanne*schrittweise; k+=schrittweise) { zinsen = Jahreszinsen(zinssatz,temp_sparbetrag)/12*schrittweise; zinsen = parseFloat(Modellrechner.runde(zinsen)); sparleistung += zinsen; jahreszinsen += zinsen; jahreszinsen = parseFloat(Modellrechner.runde(jahreszinsen)); if(bonusid != "" && typeof bonusid != "undefined") { eval(bonusid); } if((schrittweise == 12) || ((k%12) == 0) || ((schrittweise == 1) && (k == zeitspanne*schrittweise))) // Hier wird das Problem abgefangen dass es nicht Zinseszinsen auf Zinsen gibt die nur ein Teilzinsen der Zinsen eines Jahres sind. { temp_sparbetrag += jahreszinsen; jahreszinsen = 0; } } this.ausgabeprodukte[i]['sparleistung'] = sparleistung; } } this.sort = function(produkte){ var min = 0; var temp = new Object(); for(var u = 0; u < produkte.length; u++) { min = u; for(var o = u; o < produkte.length; o++){ if ((parseFloat(produkte[o]['sparleistung'])*100) > (parseFloat(produkte[min]['sparleistung'])*100)){min=o;} } tmp = produkte[min]; produkte[min] = produkte[u]; produkte[u] = tmp; } return produkte; } this.produktdontexist = function(array,produktname){ var response = true; for(var l = 0; l < array.length; l++){ if(array[l] == produktname){ response = false; break; } } return response; } this.ausgabeprodukte = new Array(); var zeitspanne = parseInt(this.Dauer); // Wie lange man sparen möchte var sparbetrag = parseInt(this.MindestAnlageBeitrag); // Soviel soll p. a. oder pro monat oder einmalig gespart werden var ausgabe = ""; // Die endausgabe in TabellenForm if(this.Anlage == "jahr") // Der das jedes Jahr Geld auf das Sparkonto eingezahlt wird { var jahre = 0; if(zeitspanne%12 == 0){ // falls genau ein jahr jahre = zeitspanne/12; schrittweise = 12; } else{ // zb. 17 monate, hier wird auf die nächstniedrigere jahreszahl runtergekürzt zeitspanne -= zeitspanne%12; jahre = zeitspanne/12; schrittweise = 1; } this.sparleistung_regel(schrittweise,sparbetrag,zeitspanne); table_header(); var foot = "* Empfohlene Produkte mit Zinsertrag bei jährlicher Einzahlung von "+sparbetrag+"? für einen Zeitraum von "+jahre+" Jahren"; } else if(this.Anlage == "monat") // Der Falll das jeden Monat Geld zum sparen zurück gelegt wird { schrittweise = 1; this.sparleistung_regel(schrittweise,sparbetrag,zeitspanne); table_header(); var foot ="* Empfohlene Produkte mit Zinsertrag bei monatlicher Einzahlung von "+sparbetrag+"? für einen Zeitraum von "+zeitspanne+" Monaten"; } else // Der Fall einer einmaligen festanlage von einen batzen geld { var jahrmonat = "Monaten"; var schrittweise = 1; if((zeitspanne>11) && ((zeitspanne%12) == 0)){ // Wenn die Zeitspanne genau ein oder mehrere Jahre enspricht zeitspanne = zeitspanne/12; jahrmonat = "Jahren"; schrittweise = 12; } this.sparleistung_einmalig(schrittweise,sparbetrag,zeitspanne); table_header(); var foot = "* mit Zinsertrag bei einmaliger Einzahlung von "+sparbetrag+"? und einer Laufzeit von "+zeitspanne+" "+jahrmonat; } this.ausgabeprodukte = this.sort(this.ausgabeprodukte); var doppelte_produkte = new Array(); for(var x = 0; x < this.ausgabeprodukte.length; x++) { if(this.produktdontexist(doppelte_produkte,this.ausgabeprodukte[x]['name']) == true){ doppelte_produkte.push(this.ausgabeprodukte[x]['name']); if(x == 0){ ausgabe += ""; if(parseFloat(this.ausgabeprodukte[x]['sparleistung']) == 0){ this.Ausgabe("

Bitte überprüfen Sie nochmals ihre Eingabe.

"); return;} } else if(x == (this.ausgabeprodukte.length-1)){ ausgabe += ""; } else{ ausgabe += ""; } ausgabe += ""; } } ausgabe +="
Produkt Empfehlung
Mindestanlage in ?
'; ausgabe += "Erwarteter Zinsertrag*
Vorteile/Details
"+this.ausgabeprodukte[x]['name']+""+this.ausgabeprodukte[x]['mindestanlage']+"?"+this.runde(this.ausgabeprodukte[x]['sparleistung'])+"?

"+this.ausgabeprodukte[x]['vorteile']+"

"; table_foot(foot); this.Ausgabe(ausgabe); } Modellrechner.rechne = function(){ this.MindestAnlageBeitrag = Modellrechner.Eingabewerte["geld_anlage"]; //this.Dauer = parseInt(Modellrechner.Eingabewerte["zeitspanne"]); var anlage = Modellrechner.Eingabewerte["anlage"]; var frist = Modellrechner.Eingabewerte["frist"]; var frist_zeiteinheit = Modellrechner.Eingabewerte["frist_zeiteinheit"]; if(anlage == "regel") { var anlage_zeiteinheit = Modellrechner.Eingabewerte["anlage_zeiteinheit"]; this.Anlage = anlage_zeiteinheit; } else { this.Anlage = anlage; } if(frist_zeiteinheit == "Monate") { this.Dauer = parseInt(frist); } else { this.Dauer = parseInt(frist)*12; } Modellrechner.SearchSparvariante(); Modellrechner.SearchDauer(); Modellrechner.SearchZinsen(); Modellrechner.Sparbetrag(); } Modellrechner.read = function(){ var radio = function(input){ radiobuttons= document.getElementsByName(input); var value = ""; for(var j=0;j 80){ window.clearInterval(Opacity.interval); } } /** * Fahr * Parameter: Id: gibt die id des div elemnts and, welches "Fahren" soll, height: gibt an bis zu welcher hoehe das div fahren soll. **/ Fahr = function(id,height){ try{ $(this.id).style.height = ""; // zur sicherheit wird die Standardhoehe des vorigen Fahrers entfernt }catch(e){;} window.clearInterval(this.interval); // zur sicherheit werden alle noch fahrenden Fahrer beendet this.id = id; this.i = 1; this.height = height; $(this.id).style.display = "block"; $(this.id).style.height = String(this.i)+"px"; this.interval = window.setInterval("Fahr.auf(this)",10); } Fahr.auf = function(Fahr){ Fahr.i += 25; $(Fahr.id).style.height = String(Fahr.i)+"px"; if(Fahr.i > parseInt(Fahr.height)){ $(Fahr.id).style.height = ""; window.clearInterval(Fahr.interval); } } /** * Fahr * Parameter: Id: gibt die id des div elemnts and, welches "Fahren" soll, height: gibt an bis zu welcher hoehe das div fahren soll. Doafter: eine Funktion hoeherer ordnung die ausgeführt wenn das driven fertig ist **/ Drive = function(id,height,doafter){ try{ $(this.id).style.height = ""; // zur sicherheit wird die Standardhoehe des vorigen Fahrers entfernt }catch(e){;} window.clearInterval(this.interval); // zur sicherheit werden alle noch fahrenden Fahrer beendet this.id = id; this.i = height; this.height = height; this.doafter = doafter; $(this.id).style.height = String(this.i)+"px"; this.interval = window.setInterval("Drive.zu(this)",10); } Drive.zu = function(Drive){ Drive.i -= 25; $(Drive.id).style.height = String(Drive.i)+"px"; if(Drive.i < 5){ $(Drive.id).style.height = ""; $(Drive.id).style.display = "none"; window.clearInterval(Drive.interval); eval(Drive.doafter); } } Seitenfahr = function(id,width){ try{ $(this.id).style.width = ""; // zur sicherheit wird die Standardhoehe des vorigen Fahrers entfernt }catch(e){;} window.clearInterval(this.interval); // zur sicherheit werden alle noch fahrenden Fahrer beendet this.id = id; this.i = 1; this.width = width; $(this.id).style.display = "block"; $(this.id).style.width = String(this.i)+"px"; this.interval = window.setInterval("Seitenfahr.auf(this)",10); } Seitenfahr.auf = function(Seitenfahr){ Seitenfahr.i += 3; $(Seitenfahr.id).style.width = String(Seitenfahr.i)+"px"; if(Seitenfahr.i > parseInt(Seitenfahr.width)){ $(Seitenfahr.id).style.width = ""; window.clearInterval(Seitenfahr.interval); } } function Fahren(fahrid, pixel, schrittweise,richtung,geschwindigkeit,doafterthis,manuell){ clearIt(fahrid); // Hier wird eine neue Instanz des zu Fahrenden Elementes Erzeugt eval("this."+fahrid+" = new Fahren_Instanz(fahrid, pixel, schrittweise,richtung,geschwindigkeit,doafterthis,manuell);"); var richtung = eval("this."+fahrid+".richtung"); var funktion = "this."+fahrid+"."+richtung; try{ // Hier wird sichergestellt das die Funktion die "fährt" immer wieder aufgerufen wird eval(fahrid+'.interval = window.setInterval("try{eval('+funktion+');}catch (e){;}",'+geschwindigkeit+');'); }catch(e) {;} } // Funktion die alle laufenden Instanzen des jeweiligen Block Elements anhält function clearIt(id){ try{ eval('window.clearInterval('+id+'.interval)'); }catch (e){;} } /** * Eine Funktion die den Inhalt eines Blockelemnts langsam auf und Zufahren lässt * @params : {fahrid} :Die id des Blockelements, welches Auf- bzw zfahren soll * @params : {pixel} :Die Anzahl der Pixel die das Element fahren soll * @params : {schrittweise} :Die Schrittweise in Pixel die solch ein Element pro Aufruf fahren soll * @params : {richtung} : Kann "horizontal" oder "vertikal" sein * @params : {geschwindigkeit| : Geschwindikeit in Millisekunden pro schritt * @params(optional) : {doafter} : code der durch eval nach abschluss der wiederaufrufe ausgeführt wird * @params(optional) : {manuell} : Kann "open" oder "close" erhalten. **/ function Fahren_Instanz(fahrid, pixel, schrittweise, richtung ,geschwindigkeit, doafterthis, manuell){ // Eine Funktion die den ÜbergebenenString als Javascript-Code ausführt this.doafter = function(dothis){ try{ eval(dothis); }catch(e){;} } // Funktion die, die passende funktion die für die benötigte Richtung zurückgibt this.welche_richtung = function(richtung,pixel){ if(richtung == "horizontal"){ this.width = pixel; if(this.manuell == "" || (typeof this.manuell == "undefined")){ try{ // Liest die aktuelle Weite des Blockelementes aus var weite = $(this.id).style.width; }catch(e){;} try{ // Entfernt die Maßeinheit weite = Number(weite.replace(/px/g, "")); }catch(e){;} if(weite > 0){ this.i = pixel; return "links()"; } else { this.i = 0; return "rechts()"; } } else if(this.manuell == "open") { this.i = 0; return "rechts()"; } else { this.i = pixel; return "links()"; } } else if(richtung == "vertikal"){ this.height = pixel; if(this.manuell == "" || (typeof this.manuell == "undefined")){ try{ // Liest die aktuelle hoehe des BlockElementes aus var hoehe = $(this.id).style.height; }catch(e){;} try{ // Entfernt die Maßeinheit hoehe = Number(hoehe.replace(/px/g, "")); }catch(e){;} if(hoehe > 0){ this.i = pixel; return "oben()"; } else{ this.i = 0; return "unten()"; } } else if(this.manuell == "open") { var hoehe = $(this.id).style.height; hoehe = Number(hoehe.replace(/px/g, "")); this.i = hoehe; return "unten()"; } else { this.i = pixel; return "oben()"; } } else // Bei jeder anderen Eingabe bricht das Programm ab { return false; } } // Hier wird verhindert dass die selbe Instanz nochmals läuft clearIt(this.id); // Die Id des Blockelementes und Gleichzeitig der Name der Instanz this.id = fahrid; // Die Schrittweise gibt in Pixel an wie weit das Element pro Intervaaufrufe fahren soll, wenn sie kleiner null ist bricht das Programm ab if(schrittweise <= 0) return false; this.schrittweise = schrittweise; this.manuell = manuell; // Die Richtung gibt an ob das Element vertikal oder Diagonal fahren soll this.doafterthis = doafterthis; this.richtung = this.welche_richtung(richtung,pixel); //this.interval = window.setInterval(String(this.id)+"."+this.richtung+"()",10); } // Funktion die das Element von unten nach Oben fahren lässt Fahren_Instanz.prototype.oben = function(){ try{ this.i -= this.schrittweise; }catch(e){;} try{ $(this.id).style.height = String(this.i)+"px"; }catch(e){;} try{ var i = this.i; }catch(e){;} // Die Abbruchbedingungen if(i <= 0){ try{ $(this.id).style.height = "1px"; }catch(e){;} try{ $(this.id).style.display = "none"; }catch(e){;} clearIt(this.id); try{ this.doafter(this.doafterthis); }catch(e){;} } } // Funktion die das Element nach untenFahren lässt Fahren_Instanz.prototype.unten = function(){ this.i += this.schrittweise; $(this.id).style.height = String(this.i)+"px"; var i = this.i; try{ $(this.id).style.display = "block"; }catch(e){;} var hoehe = this.height; // Die Abbruchbedingungen if(i >= hoehe){ try{ $(this.id).style.height = ""; }catch(e){;} clearIt(this.id); try{ this.doafter(this.doafterthis); }catch(e){;} } } // Funktion die das Element nach Links Fahren lässt Fahren_Instanz.prototype.links = function(){ this.i -= this.schrittweise; $(this.id).style.width = String(this.i)+"px"; var i = this.i; // Die Abbruchbedingungen if(i <= 0){ try{ $(this.id).style.width = "0px"; }catch(e){;} clearIt(this.id); try{ this.doafter(this.doafterthis); }catch(e) {;} } } // Funktion die das Element nach Rechts Fahren lässt Fahren_Instanz.prototype.rechts = function(){ this.i += this.schrittweise; $(this.id).style.width = String(this.i)+"px"; var i = this.i; var weite = this.width; // Die Abbruchbedingungen if(i >= weite){ clearIt(this.id); try{ this.doafter(this.doafterthis); }catch(e) {;} } } var divs = new Array(); var openedDivs = new Array(); function animatedDivToggle (level,divName, height, step, speed) { //Close if ((openedDivs[level]) && (openedDivs[level] != "")) { Fahren(openedDivs[level],divs[level][openedDivs[level]]['height'],divs[level][openedDivs[level]]['steps'],'vertikal',divs[level][openedDivs[level]]['speed'],'','close'); /*for (var i = 0; i < level; i++) { $(openedDivs[i]).style.height = divs[i][openedDivs[i]].height-(divs[level][openedDivs[level]].height)+"px"; divs[i][openedDivs[i]].height -= (divs[level][openedDivs[level]].height); }*/ openedDivs[level] = ""; } // OpenUP if (arguments.length > 1) { /*for (var i = 0; i < level; i++) { animatedDivToggle(i,openedDivs[i], divs[i][openedDivs[i]].height+height, step, speed); }*/ Fahren(divName,height,step,'vertikal',speed,'','open'); if (!divs[level]) {divs[level] = new Object();} divs[level][divName] = {'height' : height, 'steps' : step, 'speed' : speed}; openedDivs[level] = divName; } } /* Funktion zum definieren der Pflichtfelder im Response "Termin vereinbaren" */ function displayItem(ID) { if (ID.value == "Telefon") { document.getElementById("value"+ID.value).className = "block"; document.getElementById("valueEmail").className = "none"; } else if (ID.value == "Email") { document.getElementById("value"+ID.value).className = "block"; document.getElementById("valueTelefon").className = "none"; } }