
   function calcBeitrag (durchschnitt, obergrenze, beitragssatz) {
   	var gehalt = document.fo_calc.gehalt.value;
   	var satz = durchschnitt;

   	var diff,diffjahr;
   	// Eingaben bearbeiten: Komma in Punkt wandeln
   	pos = gehalt.indexOf(',');
   	if (pos != -1) {
   		gehalt = gehalt.substring(0,pos) + '.' + gehalt.substring(pos + 1);
   	}
   	gehalt = parseFloat(gehalt);

   	if(gehalt > obergrenze) {	gehalt = obergrenze; }
   	diff = gehalt * (((satz - beitragssatz) / 100) / 2);
   
   	// Ausgabe formatieren (zwei Nachkommastellen)
   	if (isNaN(diff)) {
   		diff = "falsche Eingabe";
   	} else {
        
         n = Math.round((diff*100) % 100); if (n < 10) n = "0"+n;
         if (n == 100)
           diff_anzeige = Math.floor(diff+1)+",00";
         else
           diff_anzeige = Math.floor(diff)+","+n;
         document.fo_calc.diff.value = diff_anzeige;
   	}

      monatlBeitrag = gehalt * beitragssatz / 100 / 2;
      n = Math.round((monatlBeitrag*100) % 100); if (n < 10) n = "0"+n;
      monatlBeitrag_anzeige  = Math.floor(monatlBeitrag)+","+n;
      document.fo_calc.monatlBeitrag.value = monatlBeitrag_anzeige;

      monatlBeitragZusatz = gehalt * 0.9 / 100;
      n = Math.round((monatlBeitragZusatz*100) % 100); if (n < 10) n = "0"+n;
      monatlBeitragZusatz_anzeige = Math.floor(monatlBeitragZusatz)+","+n;
      document.fo_calc.monatlBeitragZusatz.value = monatlBeitragZusatz_anzeige;

      monatlBeitragGesamt = monatlBeitrag + monatlBeitragZusatz;
      n = Math.round((monatlBeitragGesamt*100) % 100); if (n < 10) n = "0"+n;
      monatlBeitragGesamt_anzeige = Math.floor(monatlBeitragGesamt)+","+n;
      document.fo_calc.monatlBeitragGesamt.value = monatlBeitragGesamt_anzeige;

   	diffjahr = diff * 12;
      n = Math.round((diffjahr*100) % 100); if (n < 10) n = "0"+n;
      if (n == 100)
        diffjahr_anzeige = Math.floor(diffjahr+1)+",00";
      else
        diffjahr_anzeige = Math.floor(diffjahr)+","+n;

    	document.fo_calc.diffjahr.value = diffjahr_anzeige;
   }
   
   function resetBeitragForm() {
   	document.fo_calc.gehalt.value = "";
   	document.fo_calc.diff.value = "";
   	document.fo_calc.diffjahr.value = "";
//   	document.fo_calc.old_satz.value = "";
      document.fo_calc.monatlBeitrag.value = "";
      document.fo_calc.monatlBeitragZusatz.value = "";
      document.fo_calc.monatlBeitragGesamt.value = "";
   }

   function show_pdf(uebergabe) {

	  switch(uebergabe) {
	  case "Familienversicherung":
		 var legendwindow = window.open("file/3/Familienfragebogen.pdf","legendwindow","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=400");
		 break;
	  case "nichts":
		 var legendwindow = window.open("extern/hinweis.php","legendwindow","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=400");
		 break;
	  }         

	}


  function openme(url,w,h) { 
    window.open(url, '', 'location=0,resizable=1,status=0,titlebar=1,directories=0,toolbar=0,menubar=0,scrollbars=yes,status=0,width='+w+',height='+h);
    return;
  }

  function verbandsportal() {
     window.open("http://www.beranet.de/verband/module/bkk_bundesverband/","Verband","width=780,height=600,menu=no,toolbar=yes,scrollbars=yes,status=yes");
  }



// special function that looks recursively for a nested NS4 layer/forms
function findObject(id,d)
{
    var i,ret; 

    if(!d) d=document; 
    
    ret=d[id];
    if( !ret && d.all) ret=d.all[id]; 
    if( !ret && d.getElementById) ret=d.getElementById(id); 
    
    for(i=0; !ret && i<d.forms.length; i++) ret=d.forms[i][id];
    for(i=0; !ret && d.layers && i<d.layers.length; i++) ret=findObject(id,d.layers[i].document); 
    
    return ret;
}
// special function that looks recursively for a nested NS4 layer
function findNS4Layer(id, d) { 
	var ret,i; 
	if(!d) d=document; 
	ret = d.layers ? d.layers[id] : false;
	// look for sublayers
	for(i=0; !ret && i<d.layers.length;i++) {
		ret = findNS4Layer(id,d.layers[i].document); 
	}
	return ret;
}


function hide(id) { setVisibility(id, "hidden"); }
function show(id) { setVisibility(id, "visible"); }

function setVisibility(id, val) { // valid values for val are visible/hidden/inherit
	if(document.layers) 
    {
		if(val == "hidden") val = "hide";
		else if(val = "visible") val = "show";
	}
	getLayerStyle(id).visibility = val;
}

function getLayerObjectStyle(obj) 
{ 
  if (!obj)
    return null;

  if(document.layers) return obj;
  else return obj.style;
}


function setLayerObjVisibility(obj, val) { // valid values for val are visible/hidden/inherit
	if(document.layers) 
    {
		if(val == "hidden") val = "hide";
		else if(val = "visible") val = "show";
	}
   if (getLayerObjectStyle(obj))
     getLayerObjectStyle(obj).visibility = val;
}

function getLayerStyle(id) 
{ 
	if(document.layers) return getLayer(id);
	else return getLayer(id).style;
}

function getLayer(id) 
{
   // if id is alreadz the layer object just return the id
   if( (typeof id) == "object" ) return id; 

	if(document.getElementById) return document.getElementById(id);
	else if (document.layers) return findObject(id);
	else return document.all[id];
}


function moveLayerObj(obj, x, y) {

	if(! document.layers) {
		x = x + "px";
		y = y + "px";
	}
   if (getLayerObjectStyle(obj))
     getLayerObjectStyle(obj).left = x;
   if (getLayerObjectStyle(obj))
     getLayerObjectStyle(obj).top = y;
}

// rewrite html-code of layer
function writeLayerObject(obj, htmlText)
{
	if(obj && document.layers) {
		obj.document.open();
		obj.document.write(htmlText);
		obj.document.close();
	} else {
      obj.innerHTML = htmlText;
   }
}


function showLayerNavLevel2(nr,posx)
{
  eval("var layerNavLevel2_" + nr + ";");
  var blindLayer;
  var blindLayerTop;
  var indent_left=0;

  if(document.layers) {
    eval("layerNavLevel2_" + nr + "=document.layers['layerNavLevel2_" + nr + "'];");
    blindLayer=document.layers["blindLayer"];
    blindLayerTop=document.layers["blindLayerTop"];
    eval("indent_left = document.layers['my_menu1_" + nr + "'].offsetLeft;");
  } else {
    eval("layerNavLevel2_" + nr + "=document.getElementById('layerNavLevel2_" + nr + "');");
    blindLayer=document.getElementById("blindLayer");
    blindLayerTop=document.getElementById("blindLayerTop");
    eval("indent_left = document.getElementById('my_menu1_" + nr + "').offsetLeft;");
  } 
  
  window.scroll(0,0);
      
  eval("setLayerObjVisibility(layerNavLevel2_" + nr + ",'hidden');");

  indent_left += 9;

  eval("moveLayerObj(layerNavLevel2_" + nr + ", indent_left, 113);");
         
  eval("setLayerObjVisibility(layerNavLevel2_" + nr + ",'visible');");
  setLayerObjVisibility(blindLayer,'visible');
  setLayerObjVisibility(blindLayerTop,'visible');

}


function showLayerNavLevel3(nrx, nry, posx)
{
  eval("var layerNavLevel3sub_" + nrx + "_" + nry + ";");
  var blindLayer;
  var blindLayerTop;
  var indent_left=0;
  var lineHeight=0;

  if(document.layers) {
    eval("layerNavLevel3sub_" + nrx + "_" + nry + "=document.layers['layerNavLevel3sub_" + nrx + "_" + nry + "'];");
    blindLayer=document.layers["blindLayer"];
    blindLayerTop=document.layers["blindLayerTop"];
    // indent_left is relative, so get width of current parent layer
    eval("indent_left = document.layers['layerNavLevel2_" + nrx + "'].offsetWidth;");
    eval("lineHeight = document.layers['layerNavLevel3header_" + nrx + "_" + nry + "'].offsetHeight;");
  } else {
    eval("layerNavLevel3sub_" + nrx + "_" + nry + "=document.getElementById('layerNavLevel3sub_" + nrx + "_" + nry + "');");
    blindLayer=document.getElementById("blindLayer");
    blindLayerTop=document.getElementById("blindLayerTop");
    // indent_left is relative, so get width of current parent layer
    eval("indent_left = document.getElementById('layerNavLevel2_" + nrx + "').offsetWidth;");
    eval("lineHeight = document.getElementById('layerNavLevel3header_" + nrx + "_" + nry + "').offsetHeight;");
  } 
  
  window.scroll(0,0);
      
  eval("setLayerObjVisibility(layerNavLevel3sub_" + nrx + "_" + nry + ",'hidden');");

  indent_left -= 1;
  var indent_top = (nry-1) *lineHeight;

  //  eval("moveLayerObj(layerNavLevel3sub_" + nrx + "_" + nry + ", indent_left, indent_top);");
         
  eval("setLayerObjVisibility(layerNavLevel3sub_" + nrx + "_" + nry + ",'visible');");
  setLayerObjVisibility(blindLayer,'visible');
  setLayerObjVisibility(blindLayerTop,'visible');

}


function hide_all_layers()
{

  hide('blindLayer'); hide('blindLayerTop');

  for (i=1; i<=30; i++) {
    layer_name = "layerNavLevel2_" + i;

    if (getLayer(layer_name)) {
      hide(layer_name);
    }

    for (j=1; j<=20; j++) {
      layer_name = "layerNavLevel3sub_" + i + "_" + j;

      if (getLayer(layer_name)) {
        hide(layer_name);
      }
    }
  }
}

function hide_all_level3_layers(cntx)
{

  hide('blindLayer'); hide('blindLayerTop');

  for (j=1; j<=20; j++) {
    layer_name = "layerNavLevel3sub_" + cntx + "_" + j;
    
    if (getLayer(layer_name)) {
      hide(layer_name);
    }
  }
}



var zahlenspiel_index = 1;
function zahlenspiel_iterate(step, count)
{
  zahlenspiel_index = zahlenspiel_index + step;
  if (zahlenspiel_index > (count*2 - 1))
    zahlenspiel_index=1;
  if (zahlenspiel_index <= 0 )
    zahlenspiel_index=(count*2 - 1);

  if (step<0)
    step=-step;

  for (i=1; i<=(count*2 - 1); i=i+step) {
    if (i==zahlenspiel_index)
      continue;
    if (document.getElementById("zahlenspiel_box"+i)) {
      document.getElementById("zahlenspiel_box"+i).style.visibility="hidden";
      document.getElementById("zahlenspiel_zahl"+i).style.visibility="hidden";
    }
    else
      break;
  }

  if (document.getElementById("zahlenspiel_box"+zahlenspiel_index)) {
    document.getElementById("zahlenspiel_box"+zahlenspiel_index).style.visibility="visible";
    document.getElementById("zahlenspiel_zahl"+zahlenspiel_index).style.visibility="visible";
  }
}

function setOpacity(obj, value) {
	obj.style.opacity = value/10;
	obj.style.filter = 'alpha(opacity=' + value*10 + ')';
}


function make_grey(id)
{
  setOpacity(document.getElementById("zahlenspiel_img"+id), 5);
  document.getElementById("zahlenspiel_text"+id).style.visibility="visible";

  document.getElementById("zahlenspiel_img"+id).style.zIndex=4;
  document.getElementById("zahlenspiel_text"+id).style.zIndex=5;
}

function remove_grey(id)
{
  setOpacity(document.getElementById("zahlenspiel_img"+id), 10);
  document.getElementById("zahlenspiel_text"+id).style.visibility="hidden";

  document.getElementById("zahlenspiel_img"+id).style.zIndex=5;
  document.getElementById("zahlenspiel_text"+id).style.zIndex=4;
}


var standard_font_size;


function font_resize_zoom(multiplier) {
  if (multiplier == -1) {
  alert(document.body.style.zoom);
    (document.body.style.zoom) ? document.body.style.zoom/=1.2 : document.body.style.zoom=1/1.2;
  } else if (multiplier == 1) {
    (document.body.style.zoom) ? document.body.style.zoom*=1.2 : document.body.style. zoom=1.2;
  }
}

function font_reset_zoom() {
  document.body.style.zoom=1; 
}


function font_resize_orig(multiplier) {
  if (document.body.style.fontSize == "") {
    document.body.style.fontSize = "100%";
    var browserName=navigator.appName; 
    if (browserName=="Microsoft Internet Explorer") {
      var browserVer=parseInt(navigator.appVersion); 
      if (browserVer < 7) {
        document.body.style.fontSize = "90%";
      }
    }
  }
  if (!standard_font_size) {
    standard_font_size = document.body.style.fontSize;
  }
  document.body.style.fontSize = parseFloat(document.body.style.fontSize) + (multiplier * 10) + "%";
}

function font_reset_orig() {
  if (standard_font_size) {
    document.body.style.fontSize = standard_font_size;
  }
}


var fontSize = 12;
function font_resize(multiplier) {
  if (multiplier==1)
    fontSize += 2;
  else if (fontSize>8)
    fontSize -= 2;
    
  document.body.style.fontSize = fontSize + "px";
}

function font_reset() {
  fontSize=12;
  document.body.style.fontSize = "12px";
}

