
// Javascript fuer die Berater

/**
 * Initiale Einstellung des Schiebereglers für die Alterseingabe im Vorsorgeberater
 */
function initSliderVorsorgeberater()
{
	initSlider('slider-alter',18,99,'beraterform',1,'slider-alter-input');
}

/**
 * Funktion zum Ein- und Ausblenden der DIVs beim Immobilienberater
 *
 */
function showDivImmoBerater()
{
	// Alle 3 Divs mit Checkboxen ausblenden
	hide(getElement('ADVIB-STARTFRAGE-LEISTEN'));
	hide(getElement('ADVIB-STARTFRAGE-HAUSBAUKAUF'));
	hide(getElement('ADVIB-STARTFRAGE-RENOVIEREN'));


	// Value des ausgew?hlten Radiobuttons ermitteln, dieser entspricht
	// der ID des einzublendenden DIVs
	var elements = document.getElementsByName("beraterform:startFrage");
	var selectedOption;
	for (var idx = 0 ; idx < elements.length ; idx++) {
		if ( elements[idx].checked  ) {
			selectedOption = elements[idx].value;
		}
	}

	// Div anzeigen
	var divToShow = getElement(selectedOption);
	show(divToShow);
}


/**************************************************/
/*START: helper functions */
function getElement(id)
{
	var retval;
	var obj;
	obj = document.getElementById(id);
	if (obj) {
		retval = obj;
	} else {
		retval = null;
	}
	return retval;
}

function show(obj)
{
	if (obj) {
		obj.style.display = "block";
	}
}

function hide(obj)
{
	if (obj) {
		obj.style.display = "none";
	}
}

function BrowserDetection()
{
	var sUserAgent = navigator.userAgent.toLowerCase();

	// browser name
	this.isIE = (sUserAgent.indexOf('msie') != -1);
}

var oBrowser = new BrowserDetection();

function setSelect(form, id){
	form["sofortkreditrechner:radioSelectLaufzeitRate"][ id ].checked=true;
}

function selectChanged(form){
	if ( form["sofortkreditrechner:radioSelectLaufzeitRate"][ 0 ].checked==true ){
		form["sofortkreditrechner:laufzeit"].disabled=false;
		form["sofortkreditrechner:rate"].disabled=true;
	}
	if ( form["sofortkreditrechner:radioSelectLaufzeitRate"][ 1 ].checked==true ){
		form["sofortkreditrechner:laufzeit"].disabled=true;
		form["sofortkreditrechner:rate"].disabled=false;
	}
}

/**************************************************/
/* Init-Scripte fuer die Rechner und Berater   */
/**************************************************/

function initSliderVermoegensrechner(){
	initSlider('slider-einmalAnlage',0,100000,'vermoegensrechner',500,'slider-einmalAnlage-input');
	initSlider('slider-sparRate',0,1000,'vermoegensrechner',25,'slider-sparRate-input');
	initSlider('slider-rendite',0,20,'vermoegensrechner',1,'slider-rendite-input');
	initSlider('slider-anlageDauer',0,25,'vermoegensrechner',1,'slider-anlageDauer-input');
}

function initSliderVermoegensrechnerPortfolio(){
	initSlider('slider-einmalAnlage',0,100000,'vermoegensrechner_portfolio',250,'slider-einmalAnlage-input');
	initSlider('slider-rendite',0,20,'vermoegensrechner_portfolio',1,'slider-rendite-input');
	initSlider('slider-anlageDauer',0,25,'vermoegensrechner_portfolio',1,'slider-anlageDauer-input');
}

function initSliderKontoberater() {
		 initSlider('slider-alter',18,99,'kontoberaterform',1,'slider-alter-input');
}

function initSliderAnlageberater() {
initSlider('slider-aspekt-rest',0,100,'anlageberaterform',5,'slider-aspekt-rest-input');
initSlider('slider-sparen',0,2000,'anlageberaterform',25,'slider-sparen-input');
initSlider('slider-anlegen',0,100000,'anlageberaterform',500,'slider-anlegen-input');
initSlider('slider-zeitraum',0,25,'anlageberaterform',1,'slider-zeitraum-input');
}

function initImmobilienberater() {
	showDivImmoBerater();
	initSlider('slider-finanzbedarf',1000,500000,'beraterform',1000,'slider-finanzbedarf-input');
}
function openPrintWindow(backingbean) {
	var breite = 520;
	var hoehe = 695;
    xOff = (screen.width-breite)/2;
    yOff = (screen.height-hoehe)/2;
    yOff -= 20; //Hoehenjustage, Wert anpassen, wenn Fenster Toolbar/Adresszeile/Statuszeile etc. hat
    window.open('/portal?view=/advisory/print.jsf&embedded=false&backingbean='+backingbean, 'print', 'toolbar=no,status=no,location=no,directories=no,resizable=no,scrollbars=no,width='+breite+',height='+hoehe+',left='+xOff+',top='+yOff);
}

/**
* Funktion zum Setzen eines Restwertes
*
*/
function setRemainvalue(form, field1, field2, sumvalue) {
var maxvalue = 100;
var value1 = document.getElementById(form + ":" + field1).value;
if (value1 > maxvalue) {
value1=maxvalue;
document.getElementById(form + ":" + field1).value=maxvalue;
};
document.getElementById(form + ":" + field2).value = sumvalue-value1;
}

/**
 * Funktion fuer den Set von Checkboxen
 *
 */
function setCheckbox(form, name, id) {
	    document.getElementsByName(form + ":" + name)[id].checked=true;
}

/**
 * Funktion fuer den Reset von Checkboxen
 *
 */
function resetCheckbox(form, name, id) {
	    document.getElementsByName(form + ":" + name)[id].checked=false;
}

/**
 * Funktion fuer den Set von RadioButtons
 *
 */
function setRadio(form, name, id) {
       document.getElementsByName(form + ":" + name)[id].checked=true;
}

/**
 * Funktion fuer den Reset von RadioButtons
 *
 */
function resetRadio(form, name, id) {
       document.getElementsByName(form + ":" + name)[id].checked=false;
}

/**
 * Funktion zum Ein- und Ausblenden der FieldSets beim Vorsorgeberater
 *
 */
function showFieldSetVorsorgeBerater()
{
	var taetigkeit = getElement('beraterform:frage1').value;
	var alter = getElement('beraterform:slider-alter-input').value;

	hide(getElement('frage4AngestellteBis50'));
	hide(getElement('frage4BeamteBis50'));
	hide(getElement('frage4AngestellteBeamte50Bis62'));
	hide(getElement('frage4AngestellteBeamteAb62'));
	hide(getElement('frage4Studenten'));

	getElement('beraterform:frage4VisibleCheckBoxBlockID').value = 'keine';
	if (taetigkeit == 'ADVVV-FRAGE1-STUDENT') {
		show(getElement('frage4Studenten'));
		getElement('beraterform:frage4VisibleCheckBoxBlockID').value = 'frage4Studenten';
	} else {
		if (taetigkeit != 'ADVVV-FRAGE1-SELBSTAENDIG') {
			if (alter > 62)  {
				 show(getElement('frage4AngestellteBeamteAb62'));
		 		 getElement('beraterform:frage4VisibleCheckBoxBlockID').value = 'frage4AngestellteBeamteAb62';
			} else {
				if (alter > 50)  {
					 show(getElement('frage4AngestellteBeamte50Bis62'));
	 		 		 getElement('beraterform:frage4VisibleCheckBoxBlockID').value = 'frage4AngestellteBeamte50Bis62';
				} else {
					if (taetigkeit == 'ADVVV-FRAGE1-BEAMTER')  {
						show(getElement('frage4BeamteBis50'));
						getElement('beraterform:frage4VisibleCheckBoxBlockID').value = 'frage4BeamteBis50';
					} else {
						show(getElement('frage4AngestellteBis50'));
						getElement('beraterform:frage4VisibleCheckBoxBlockID').value = 'frage4AngestellteBis50';
					}
				}
			}
		}
	}
}

/**
* Funktion konvertiert eine Eingabe in einen Integer-Wert mit
* optionalen min/max-Werten; bei ueber_/unterschreiten dieser Werte
* wird auf den Min/Max-Wert gestellt
* @param min der Minimalwert; 'null' wenn keine Beruecksichtigung
* @param max der Maxiamlwert  'null' wenn keine Beruecksichtigung
* @param default der Wert der gesetzt werden soll, wenn keine Zahl eingegeben wurde
* @param ziel das Feld in dem der bereinigte Wert landen soll
*/
function validateInt(min, max, def, name) {
	var wertAlt = getElement(name).value;
	var wertNeu = def;
	var minimum = parseInt(min);
	var maximum = parseInt(max);
	var pointPos;

	/* Tausenderpunkte entfernen */
	pointPos = wertAlt.indexOf(".");
	while(pointPos != -1){
		pointPos = wertAlt.indexOf(".");
		wertAlt = wertAlt.substring(0,pointPos) + wertAlt.substring(pointPos + 1);
	}

	/* Komma gegen Punkt ersetzen */
	wertAlt = wertAlt.replace(/,/,".");

	/* wenn's kein Zahlenwert ist auf default setzen und abbrechen */
	if( isNaN(parseInt(wertAlt)) ){
		getElement(name).value = wertNeu;
		return;
	}

	wertAlt = Number(wertAlt);
	wertNeu = parseInt(wertAlt);

	if ( min != null && wertNeu < minimum){
		getElement(name).value = minimum;
		return;
	}

	if ( max != null && wertNeu > maximum){
		getElement(name).value = maximum;
		return;
	}

	getElement(name).value = wertNeu;
}
