//-----------------------------------------------------------------------------------------------
//Skripte Angebotsrechner 
//Autor: Anja Machmeier
//Ertellt:April 2005
//aktualisiert: am 30.04.05
//-----------------------------------------------------------------------------------------------

//Javascript ueberpruefen auf aktiv---------------------------------------------------------------

function JavascriptEnabled(){
  if(document.forms[0]) {
    if(document.forms[0].JavascriptAktiv) {
      document.forms[0].JavascriptAktiv.value=true;
    }
  }
}

//Fokus auf erstes Eingabefeld setzen-------------------------------------------------------------
/* Fuer den Fall das gesuchte Feld nicht vom Type "hidden" ist, aber ueber JavaScript/css ausgeblendet wird
 * muss die Bedingung document.forms[0].elements[2].style.display!="none" zusaetzlich abgefragt werden, da 
 * ansonsten im IE ScriptFehler angezeigt werden.
 * Hierbei muss darauf geachtet werden, dass die entsprechende Eigenschaft auch fuer das Form-Element 
 * in den entsprechenden Methoden show/hideDiv, hideElements gesetzt wird.
 * 
*/ 
function initPage() {
  if(document.forms[0]) {
    if(document.forms[0].elements[2]) {	  
    	if(document.forms[0].elements[2].type!="hidden" 
    		&& document.forms[0].elements[2].disabled!=true
    		&& document.forms[0].elements[2].style.display!="none") {
      		document.forms[0].elements[2].focus();
      	}
    }
    
  }
  return;
}
//Bereiche aus dem Formular aus und einblenden----------------------------------------------------

function hideElements(name, value){

	if(name=="Dokumente"){
		if (value == true){
			showDiv("versendenAktiv");
			hideDiv("versendenPassiv");
		}else{
			showDiv("versendenPassiv");
			hideDiv("versendenAktiv");
		}
	}
	if(name=="Personen"){
		if(value <= 4){
			document.getElementById("Person4").style.display ="none";
		} else{
			document.getElementById("Person4").style.display ="";	
		}
		if(value <= 3){
			document.getElementById("Person3").style.display ="none";
		} else{
			document.getElementById("Person3").style.display ="";	
		}
		if(value <= 2){
			document.getElementById("Person2").style.display ="none";
		} else{
			document.getElementById("Person2").style.display ="";	
		}
		if(value<=1){
			document.getElementById("Person1").style.display ="none";
		} else{
			document.getElementById("Person1").style.display ="";	
		}
	}
	if(name=="Tierhalterhaftpflicht"){
		if(value==false){document.getElementById("TierhalterForms").style.display ="none";}
		else{document.getElementById("TierhalterForms").style.display ="";	}
	}
	if(name=="Privathaftpflicht"){
		if(value==false){document.getElementById("PrivathaftForms").style.display ="none";}
		else{document.getElementById("PrivathaftForms").style.display ="";	}
	}
	if(name=="Zahlweise"){
		if(value=="3"){
			document.getElementById("antragsdaten.zahlungsart").selectedIndex=0;	
			hideElements("Zahlungsart", document.getElementById("antragsdaten.zahlungsart").value);
			hideDiv("Zahlungsart");
			document.getElementsByName("antragsdaten.zahlungsart")[0].style.display = "none";			
		}
		else{
			showDiv("Zahlungsart");	
			document.getElementsByName("antragsdaten.zahlungsart")[0].style.display = "block";	
		}
	}
	if(name=="Zahlungsart"){
		if(value=="0"){
			showDiv("ktonr");
			showDiv("blz");
		}
		else{
			hideDiv("ktonr");
			hideDiv("blz");
		}
	}
	if(name=="AvbDatenschutzbestimmungenFernabsatzbelehrungGeprueft"){
		if(value==true){
			showDiv("AntragGeprueft1");
			showDiv("AntragGeprueft2");
			showDiv("AntragGeprueft3");
			showDiv("AntragGeprueft4");
			showDiv("AntragGeprueft5");			
		} else {
			hideDiv("AntragGeprueft1");			
			hideDiv("AntragGeprueft2");
			hideDiv("AntragGeprueft3");
			hideDiv("AntragGeprueft4");
			hideDiv("AntragGeprueft5");			
		}
	}
	
	if (name == "Versicherungssumme"){
		if (value == "1"){
			hideDiv("versWert");
		} else {
			showDiv("versWert");
		}
	}
	
	if (name == "HausratVorschaeden"){
		if (value == true || value=='true'){
			hideDiv("hausratVorschaeden");
		} else {
			showDiv("hausratVorschaeden");
		}
	}
	
	if (name == "ElementarVorschaeden"){
		if (value == true || value=='true'){
			hideDiv("elementarVorschaeden");
		} else {
			showDiv("elementarVorschaeden");
		}
	}
	
	if (name == "ThvVorschaeden"){
		if (value == true || value=='true'){
			hideDiv("thvVorschaeden");
		} else {
			showDiv("thvVorschaeden");
		}
	}
	
	if (name == "PhvVorschaeden"){
		if (value == true || value=='true'){
			hideDiv("phvVorschaeden");
		} else {
			showDiv("phvVorschaeden");
		}
	}
	if(name=="BisherigeAngaben"){
		if(value=="show"){
			document.getElementById("BisherigeAngaben").className="showElement";
			document.getElementById("BisherigeAngabenAusgeblendet").className="hideElement";
		}
		else{
			document.getElementById("BisherigeAngaben").className="hideElement";
			document.getElementById("BisherigeAngabenAusgeblendet").className="showElement";
		}
	}
}


//Feld Vertragsablauf bzw. Vertragsnummer und VU fuer gewaehlten VP und Vertrag aus-/einblenden
function showVU(fieldName, value, vertragsNr, vpIndex){

	var vuVertragsablauf = vpIndex + ".VUVertragsablauf" + vertragsNr;	
	var vuVersicherungsnummer = vpIndex + ".VUVersicherungsnummer" + vertragsNr;
	showDiv(vuVertragsablauf);
	showDiv(vuVersicherungsnummer);
}

/** Blendet einen Block über einen Vorvertrag ein. Abhängig von den gewählten Werten werden 
   alle oder nur die relevanten Zeilen angezeigt.*/
function showVorversicherung(vpIndex, vertragsNr, prefix) {

		if (isNaN(vpIndex)){
			vpIndex = "";
		}
		
		var vu = prefix + vpIndex + ".VU" + vertragsNr;
		var vuStatus = prefix + vpIndex + ".VUStatus" + vertragsNr;
		var vuVertragsablauf = prefix + vpIndex + ".VUVertragsablauf" + vertragsNr;	
		var vuVersicherungsnummer = prefix + vpIndex + ".VUVersicherungsnummer" + vertragsNr;
		
		showDiv(vu);
		showDiv(vuStatus);
		showDiv(vuVertragsablauf);
		showDiv(vuVersicherungsnummer);
}

/* Blendet den Block über einen Vorvertrag aus. */
function hideVorversicherung(vpIndex, vertragsNr, prefix) {
		if (isNaN(vpIndex)){
			vpIndex = "";
		}
		
		var vu = prefix + vpIndex + ".VU" + vertragsNr;
		var vuStatus = prefix + vpIndex + ".VUStatus" + vertragsNr;
		var vuVersicherungsnr = prefix + vpIndex + ".VUVersicherungsnummer" + vertragsNr;
		var vuAblauf = prefix + vpIndex + ".VUVertragsablauf" + vertragsNr;
		hideDiv(vu);
		hideDiv(vuStatus);
		hideDiv(vuVersicherungsnr);	
		hideDiv(vuAblauf);	
}

/* Blendet die Blöcke zu den Vorversicherungen abhängig vom gewählten Wert der Vorverträge ein oder aus. */
function showVorversicherungen(name, value) {
	var vpIndex = name.substring(name.length-1);
	vpIndex = Number(vpIndex) + 1;
	prefix = name.substring(5,8);
	if(value=="0" || value=="kA"){
		hideVorversicherung(vpIndex, "1", prefix);
		hideVorversicherung(vpIndex, "2", prefix);
		hideVorversicherung(vpIndex, "3", prefix);
	}
	if(value =="1"){
		showVorversicherung(vpIndex, "1", prefix);
		hideVorversicherung(vpIndex, "2", prefix);
		hideVorversicherung(vpIndex, "3", prefix);
	}
	if(value =="2"){
		showVorversicherung(vpIndex, "1", prefix);
		showVorversicherung(vpIndex, "2", prefix);
		hideVorversicherung(vpIndex, "3", prefix);	
	}
	if(value =="3"){
		showVorversicherung(vpIndex, "1", prefix);
		showVorversicherung(vpIndex, "2", prefix);
		showVorversicherung(vpIndex, "3", prefix);
	}
}

//Falls Vorschaeden, Unfaelle etc., dann Antrag absenden nicht moeglich
function checkAntragMoeglich(type){
	if(type == 'hausrat'){
	
		hideDiv("hausrattxt1");
		hideDiv("hausrattxt2");
		hideDiv("hausrattxt3");
	}
	
	if(type == 'haftpflicht'){
	
		hideDiv("haftpflichttxt1");
		hideDiv("haftpflichttxt2");
		hideDiv("haftpflichttxt3");
		hideDiv("haftpflichttxt4");
	}
	
	if(type == 'unfall'){
		hideDiv("unfalltxt1");
		hideDiv("unfalltxt2");
		hideDiv("unfalltxt3");
	}
}

function changeElementar(value){
	
	if(value==true){
		hideDiv("elementar");
		hideDiv("wohnanschrift");
		hideDiv("wohnanschrift_headline");
		enableWeiter();
	}
	else{
		showDiv("elementar");
		showDiv("wohnanschrift");
		showDiv("wohnanschrift_headline");
	}
}

function checkZuersButton(value){
	checkZuersStrasse(value);
	document.getElementById('searchHausnummerButton').click();
}


function checkZuersStrasse(value){
	var showButton=false;
	if(value != null && value.length>0 || document.getElementById("hausrat.zuers.elementarohne").checked==true){
		showButton=true;
	}
	
	if(showButton==false) {disableWeiter();}
	else {enableWeiter();}
}



//Liefert den Wert einens Eingabeelementes. Ist dieses nicht vorhanden, dann -1:
function getValueFromElement(id){
	if( document.getElementById(id)) {return document.getElementById(id).value;}
	else {return -1;}
}


//Modellauswahl für die drei Personen mit einfüllen der Werte
function selectModell(n,v){
	n=n.substr(n.length-1,1)
	if(v==1){
		eval('document.getElementById("unfall.invaliditaetssumme.vp'+n+'").value=50');
		eval('document.getElementById("unfall.progression.vp'+n+'").selectedIndex = 0');
		eval('document.getElementById("unfall.todesfallsumme.vp'+n+'").value=15');
		eval('document.getElementById("unfall.krankenhaustagegeld.vp'+n+'").selectedIndex=1');
	}
	if(v==2){
		eval('document.getElementById("unfall.invaliditaetssumme.vp'+n+'").value=50');
		eval('document.getElementById("unfall.progression.vp'+n+'").selectedIndex = 1');
		eval('document.getElementById("unfall.todesfallsumme.vp'+n+'").value=20');
		eval('document.getElementById("unfall.krankenhaustagegeld.vp'+n+'").selectedIndex=2');
	}
	if(v==3){
		eval('document.getElementById("unfall.invaliditaetssumme.vp'+n+'").value=50');
		eval('document.getElementById("unfall.progression.vp'+n+'").selectedIndex = 2');
		eval('document.getElementById("unfall.todesfallsumme.vp'+n+'").value=25');
		eval('document.getElementById("unfall.krankenhaustagegeld.vp'+n+'").selectedIndex=3');
	}
}

function disableWeiter() {
	document.getElementById('Weiter').style.backgroundColor = "#bbbbbb";
	document.getElementById('Weiter').parentNode.style.borderColor = "#bbbbbb";
	document.getElementById('Weiter').disabled = true;
}

function enableWeiter() {
	document.getElementById('Weiter').style.backgroundColor = "#5c9c17";
	document.getElementById('Weiter').parentNode.style.borderColor = "#5c9c17";
	document.getElementById('Weiter').disabled = false;
}



// Berufsliste mit Auswahl füllen aus dem CMS
function addOption(n,v){
		
		if(document.getElementById("unfall.vp0beruf")){
			myOption= new Option(n, v, false, false);
  			document.getElementById("unfall.vp0beruf").options[document.getElementById("unfall.vp0beruf").length] = myOption;
  		}
  		if(document.getElementById("unfall.vp1beruf")){
  			myOption= new Option(n, v, false, false);
  			document.getElementById("unfall.vp1beruf").options[document.getElementById("unfall.vp1beruf").length] = myOption;
  		}
  		if(document.getElementById("unfall.vp2beruf")){
  			myOption= new Option(n, v, false, false);
  			document.getElementById("unfall.vp2beruf").options[document.getElementById("unfall.vp2beruf").length] = myOption;
  		}
  		
 }
 
//Bereiche aus dem Formular aus und einblenden----------------------------------------------------

function showDiv(v){
	if(document.getElementById(v)){document.getElementById(v).style.display ="";}
	eval('if(document.getElementById("error'+v+'")){document.getElementById("error'+v+'").style.display =""}');
}

function hideDiv(v){
	if(document.getElementById(v)){document.getElementById(v).style.display ="none";}
	eval('if(document.getElementById("error'+v+'")){document.getElementById("error'+v+'").style.display ="none"}');
}

function readOnlyDiv(v){
	if(document.getElementById(v)){document.getElementById(v).style.display ="none";}
	eval('if(document.getElementById("error'+v+'")){document.getElementById("error'+v+'").style.display ="none"}');
}

// Bereiche beim Laden der Seite ausblenden
function initHide(name, value){
	if (name == "Personen"){
		if(document.forms[0].elements[value]){
			if(document.forms[0].elements[value].value){;
				hideElements('Personen',document.forms[0].elements[value].value);
			}
		}
	}
	if (name == "Versicherungssumme"){
		hideElements('Versicherungssumme', value);
	}
	if (name == "Beschaeftigung"){
		hideElements('Beschaeftigung', value);
	}
	if (name == "HausratVorschaeden"){
		hideElements('HausratVorschaeden',value);
	}
	if (name == "ElementarVorschaeden"){
		hideElements('ElementarVorschaeden',value);
	}
	if (name == "ThvVorschaeden"){
		hideElements('ThvVorschaeden',value);
	}
	if (name == "PhvVorschaeden"){
		hideElements('PhvVorschaeden',value);
	}
} 

function initHideVps(name, idxVp, value){
	hideElementsVp('Beschaeftigung',idxVp, value);
	hideElementsVp('UnfallVorschaeden',idxVp,value);
}
 
function hideElementsVp(name, idxVp, value){
	if (name == "Beschaeftigung"){
		if (value == "Berufstaetig"){
			showDiv("BerufAuswahl" + idxVp);
			showDiv("BerufSuchergebnis" + idxVp);
			showDiv("Selbststaendig" + idxVp);
		} else {
			hideDiv("BerufAuswahl" + idxVp);
			hideDiv("BerufSuchergebnis" + idxVp);
			hideDiv("Selbststaendig" + idxVp);
		}
	}
	
	if (name == "UnfallVorschaeden"){
		if (value == true || value=='true'){
			hideDiv("unfallVorschaeden" + idxVp);
		} else {
			showDiv("unfallVorschaeden" + idxVp);
		}
	}
}

function updateVnVp(){
	document.forms["input"].elements["antragsdaten.vn_ist_zvp"].value = 0;
}
//ContentButtons groesse fuer Firefox/Netscape/Opera anpassen
function sizeButtons(){
	if(navigator.userAgent.indexOf("Firefox")>-1||navigator.userAgent.indexOf("Opera")>-1){
		if(document.getElementById("bt_element")){document.getElementById("bt_element").style.paddingLeft=20+"px";}
		if(document.getElementById("bt_element_small")){document.getElementById("bt_element_small").style.paddingLeft="20px";}
	}
	if(navigator.userAgent.indexOf("Netscape")>-1){
		if(document.getElementById("bt_element")){document.getElementById("bt_element").style.paddingLeft=0+"px";}
		if(document.getElementById("bt_element_small")){document.getElementById("bt_element_small").style.paddingLeft="10px";}
	}
}

function setChecked (elementName, value){
	document.getElementById(elementName).checked = value;
}

//HilfePopup
function Popup(link){
	var popupProperties1 = "directories=no,menubar=no,toolbar=yes,status=no,resizable=no,scrollbars=auto,hotkeys=no,width=570,height=600,left=186,top=120";
	newWin1 = window.open(link,'HilfePopup',popupProperties1);
}

//Übersicht Popup
function PopupUebersicht(link){
	var popupProperties1 = "directories=no,menubar=no,toolbar=yes,status=no,resizable=no,scrollbars=yes,hotkeys=no,width=570,height=600,left=186,top=120";
	newWin1 = window.open(link,'HilfePopup',popupProperties1);
}

//MapeGuidePopup
function MGPopup(link){
	var popupProperties2 = "directories=no,menubar=no,toolbar=yes,status=no,resizable=no,scrollbars=yes,hotkeys=no,width=570,height=600,left=186,top=120";
	newWin2 = window.open(link,'Expertensuche',popupProperties2);
}
//Hilfetexte Skripte erstellen---------------------------------------------------------------

bubbleDoc='document.getElementById("bubble")';
ifram = 'document.getElementById("bubble_bg")';
var IE =(navigator.appName.indexOf("Microsoft")>-1)?true:false;
var IE6=((navigator.appName.indexOf("Microsoft")>-1&&navigator.appVersion.indexOf("6")>-1))?true:false;
var scrolltop=0;
var scrollleft=0;
var winHeight=0;
var winWidth=0;

function posBubble(){
	winWidth=(IE6)?document.documentElement.offsetWidth:window.innerWidth;
	winHeight=(IE6)?document.documentElement.offsetHeight:window.innerHeight;
}

function createBubble(content){
	
	if(bubbleDoc){
		eval(bubbleDoc+'.innerHTML=\"'+content+'\"');
		document.onmousemove = moveBubble;
	}
}

function killBubble(){
	if(bubbleDoc){
		document.onmousemove = null;
		eval(bubbleDoc+'.style.visibility="hidden"');
	}
	if (IE){
		eval(ifram+'.style.visibility = "hidden"');
	}
}

function moveBubble(e){
	var eX,eY;
	eX=(document.all)?window.event.clientX:e.pageX;
	eY=(document.all)?window.event.clientY:e.pageY;
	posBubble();
	scrollBubble();
	leftpos=eX+20;
	toppos=eY+20;
	leftpos+=(IE)?scrollleft:0;
	toppos+=(IE)?scrolltop:0;
	if(leftpos<winWidth+scrollleft-eval(bubbleDoc+'.offsetWidth')){
		leftpos+="px";
	}
	else{
		leftpos+=leftpos- eval(bubbleDoc+'.offsetWidth')-30+"px";
	}
	if(toppos<winHeight+scrolltop-eval(bubbleDoc+'.offsetHeight')){
		toppos+="px";
	}
	else{
		toppos= toppos- eval(bubbleDoc+'.offsetHeight')-30+"px";
	}
	//eval(bubbleDoc+'.style.left=\"'+leftpos+'\"');
	eval(bubbleDoc+'.style.top=\"'+toppos+'\"');
	eval(bubbleDoc+'.style.visibility="visible"');
	
	if (IE) {
		el = eval(bubbleDoc);
		ifrm=eval(ifram);
		ifrm.style.width = el.offsetWidth + "px";
		ifrm.style.height = el.offsetHeight + "px";
		ifrm.style.left = el.offsetLeft + "px";
		ifrm.style.top = el.offsetTop + "px";
		ifrm.style.visibility = "visible";
		
		ifrm.style.width = el.offsetWidth + "px";
		ifrm.style.height = el.offsetHeight + "px";
		ifrm.style.left = el.offsetLeft + "px";
		ifrm.style.top = el.offsetTop + "px";
	}
}

function scrollBubble(){
	scrolltop=(IE6)?document.documentElement.scrollTop:document.body.scrollTop;
	scrollleft=(IE6)?document.documentElement.scrollLeft:document.body.scrollLeft;
}

//------------------------------------------------------------------------------
//Skript Enter Funktion
//Autor: IE6X
//Ertellt: 19.02.2008
//------------------------------------------------------------------------------
/** 
	Legt bei 'enter' den Focus auf den Weiter-Button. 
	Funktioniert mit IE6, FireFox 2.
*/
function enter(Ereignis) {
  
  if (!Ereignis) 
  {
    Ereignis = window.event;
  }//--- END if (!Ereignis) { --------------------------------------------------
  
  if (Ereignis.which == "13" || Ereignis.keyCode == "13") 
  {
  	
  	var button = document.getElementsByName("conButton")[0];
  	var bFound = false
  	var i = 0;
  	while(bFound == false)
  	{
  		if(button)
  		{
  			if(button.id == "Weiter" || 
  			button.id == "Jetztbeantragen" || 
  			button.id == "Antragerstellen" ||
  			button.id == "Versenden")
  			{
  				bFound = true;
 	 		} else
  			{
		  		i++;
  				button = document.getElementsByName("conButton")[i];
  			}//--- END if(button.id == "Weiter" || -----------------------------
  			
		} else
  		{
 	 		break;
  		}//--- END if(button) --------------------------------------------------
  		
  	}//--- END while(bFound == false) ------------------------------------------

  	if (button != null && !button.disabled) {
  	   button.focus();
  	}//--- END if (button != null && !button.disabled) { -----------------------
  	
  }//--- END if (Ereignis.which == "13" || Ereignis.keyCode == "13") { ---------
}//--- END function enter(Ereignis) { ------------------------------------------
document.onkeydown = enter;
