function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



function calculate_beitrag_new( oform, bbg, min_selbstst, min_freiw, min_eink ) {
  var beitrag = 0;
  var sparmon = 0;
  var zusatz = oform.zusatz;
  var status = oform.status;
  var einkommen = strnum( oform.einkommen.value );
  var beitrag_old = strnum( oform.beitrag_old.value );
  var percent_old = 0;
  if (oform.percent.selectedIndex != -1)
    percent_old = oform.percent[oform.percent.selectedIndex].value;
  var zusatz_percent = 0;
  
  einkommen = Math.min( einkommen, 99999999.99 );
  beitrag_old = Math.min( beitrag_old, 999999.99 );
  oform.einkommen.value = numformat( einkommen );
  einkommen = Math.min( einkommen, bbg );
  
  for( i = 0; i < status.length; i++ ) {
	 if( status[i].checked){
		percent = status[i].value;
	 }
  } 

  if( zusatz.checked ) {
    zusatz_percent=0.9;
  }
  

  if( einkommen > min_eink ) {
	 // Selbstaendige ohne KG
	 
	 if( status[1].checked ) {                     
		einkommen = Math.max( min_selbstst, einkommen );
	 }
	 
	 if( status[2].checked ) {                      
		// Selbstaendige ohne AN, KG ab 4. Woche
		einkommen = Math.max( min_selbstst, einkommen );
	 }

	 if( status[3].checked ) {                      
		// Selbstaendige ohne AN, KG ab 7. Woche
		einkommen = Math.max( min_selbstst, einkommen );
	 }

    beitrag = round2dec(einkommen * (percent/100 + zusatz_percent/100) );
    beitrag_arbeitgeber = round2dec(einkommen * (percent/100) );
  }

  if( percent_old > 0 ) {
	 if( status[0].checked ) {                        
		// Bei Arbeitnehmer AG-Anteil raus
		percent_old = percent_old / 2;
		beitrag = round2dec(einkommen * ( (percent/2 + zusatz_percent)/ 100 ) );
		beitrag_arbeitgeber = round2dec(einkommen * ( percent/2 / 100 ) );
	 } else {
		beitrag_arbeitgeber = 0;
    }


	 beitrag_old = round2dec( einkommen * ( percent_old/100 + zusatz_percent/100) );

  }

  oform.beitrag_old.value = numformat( beitrag_old );
  sparmon = Math.max( round2dec( beitrag_old - beitrag ), 0 );
  oform.beitrag_bkk.value = numformat( beitrag );
  oform.arbeitgeber.value = numformat( beitrag_arbeitgeber );
  oform.spar_monat.value  = numformat( sparmon );
  oform.spar_jahr.value   = numformat( round2dec( sparmon * 12 ) );

}


function calculate_beitrag_old( oform, bbg, min_selbstst, min_freiw, min_eink ) {
  var beitrag = 0;
  var sparmon = 0;
  var status = oform.status;
  var einkommen = strnum( oform.einkommen.value );
  var beitrag_old = strnum( oform.beitrag_old.value );
  var percent_old = oform.percent[oform.percent.selectedIndex].value;
  
  einkommen = Math.min( einkommen, 99999999.99 );
  beitrag_old = Math.min( beitrag_old, 999999.99 );
  oform.einkommen.value = numformat( einkommen );
  einkommen = Math.min( einkommen, bbg );
  
  for( i = 0; i < status.length; i++ ) {
	 if( status[i].checked){
		percent = status[i].value;
	 }
  } 
  

  if( einkommen > min_eink ) {
	 // Selbstaendige ohne KG
	 
	 if( status[1].checked ) {                     
		einkommen = Math.max( min_selbstst, einkommen );
	 }
	 
	 if( status[2].checked ) {                      
		// Selbstaendige ohne AN, KG ab 4. Woche
		einkommen = Math.max( min_selbstst, einkommen );
	 }

	 if( status[3].checked ) {                      
		// Selbstaendige ohne AN, KG ab 7. Woche
		einkommen = Math.max( min_selbstst, einkommen );
	 }

	 beitrag = round2dec(einkommen * ( percent / 100 ) );
  }


  if( percent_old > 0 ) {
	 if( status[0].checked ) {                        
		// Bei Arbeitnehmer AG-Anteil raus
		percent_old = percent_old / 2;
		beitrag = round2dec(beitrag / 2);
	 }

	 beitrag_old = round2dec( einkommen * ( percent_old / 100 ) );
  }

  oform.beitrag_old.value = numformat( beitrag_old );
  sparmon = Math.max( round2dec( beitrag_old - beitrag ), 0 );
  oform.beitrag_bkk.value = numformat( beitrag );
  oform.spar_monat.value  = numformat( sparmon );
  oform.spar_jahr.value   = numformat( round2dec( sparmon * 12 ) );

}



// Funktion zum Runden auf 2 Nachkommastellen

function round2dec( number ) {
  return( Math.round( number * 100 ) / 100 );
}



// Eingegebene Zahl richtigstellen, z. B. negative Zahlen, falsches Komma
function strnum( string ) {        

  var len = string.length;
  var digits = "1234567890";
  var token  = "";
  var kommaflag = true;
  var cnumber = "";
  var iskomma = string.indexOf( "," );

  for( i = 0; i < len; i++ ) {

	 token = string.substring( i, i + 1 );
	 if( digits.indexOf( token ) > -1 ) {
		cnumber = cnumber + token;
	 }

	 if( token == "," && kommaflag && i > 0 ) {
		kommaflag = false;
		cnumber = cnumber + ".";
	 }

	 if( token == "." && kommaflag && i > 0 && iskomma < 1 ) {
		kommaflag = false;
		cnumber = cnumber + ".";
	 }
  }

  return( cnumber );

}


// Zahl als String formatieren (1000er-Punkt, zwei Nachkomma)

function numformat( number ) {      

  number = number + "";               // Zahl als String umwandeln
  var emptystr = "";
  var pointpos = number.indexOf( "." );

  if( pointpos < 0 ) { 
	 number = number + ".";
	 pointpos = number.indexOf( "." );
  }

  number = number + "00";

  var nachkomma = number.substring( pointpos + 1, pointpos + 3 );
  var vorkomma  = number.substring( 0, pointpos );
  var retstring = vorkomma;
  var len = vorkomma.length;

  if( len > 9 ) {
	 retstring = vorkomma.substr( 0, len - 9 ) + "." + vorkomma.substr( len - 9, 3 ) +  "." + vorkomma.substr( len - 6, 3 ) + "." + vorkomma.substr( len - 3, 3 ); 
  }
  else {

	 if( len > 6 ) {
		retstring = vorkomma.substr( 0, len - 6 ) + "." + vorkomma.substr( len - 6, 3 ) + "." + vorkomma.substr( len - 3, 3 ); 
	 }

	 else {
		if( len > 3 ) {         
		  retstring = vorkomma.substr( 0, len - 3 ) + "." + vorkomma.substr( len - 3, 3 ); 
		}
	 }
  }

  retstring = retstring + "," + nachkomma;

  return( emptystr.substr( 0, (18 - retstring.length) * 2 ) + retstring );

}


function write_percent(average) {

  for (i=16.9; i>=12; i=i-0.1) {
	 j=Math.round(i*10)/10;
	 document.write("<option value='" + j + "'>" + j + " %");
	 if (j == average) {
		document.write("(Durchschnittlicher Beitragssatz)");
	 }
	 document.write("</option>");
  }
}


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 swap(){
  if (document.images){
	 for (var x=0; x<swap.arguments.length; x+=2) {
		document[swap.arguments[x]].src = eval(swap.arguments[x+1] + ".src");
	 }
  }
}


function calculate_zuzahlung(oform, satz_normal, satz_chronisch, kind_frei, ehe_frei) {

  var married=false;
  var chronisch=false;
  
  if (oform.married.checked) {
    married=true;
  }

  if (oform.chronisch.checked) {
    chronisch=true;
  }

  var childs = strnum( oform.childs.value );
  var revenue = strnum( oform.revenue.value );

  var satz=satz_normal;
  if (chronisch)
	 satz=satz_chronisch;

  var frei=0;
  if (married)
	 frei += ehe_frei;

  if (childs)
	 frei += childs * kind_frei;

  var basis = revenue - frei;

  if (basis < 0)
	 basis=0;

  var limit = basis * satz / 100;

  oform.frei.value=numformat(frei);
  oform.basis.value=numformat(basis);
  oform.satz.value=numformat(satz);
  oform.limit.value=numformat(limit);


}


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


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 show_address(ort, val)
{
  
  if(document.layers) {
    layer=document.layers[ort];
    main_content_layer=document.layers["main_content"];
  } else {
    layer=document.getElementById(ort);
    main_content_layer = document.getElementById("main_content");
  } 

  var offsetHeight = main_content_layer.offsetHeight;

  if(document.layers) 
  {
 	 if(val == "hidden") val = "hide";
	 else if(val = "visible") val = "show";
    getLayer(layer).top=offsetHeight-2500;
    getLayer(layer).visibility=val;
  } else {
    getLayer(layer).style.top=offsetHeight-250;
    getLayer(layer).style.visibility = val;
  }
}
