function f_round( ad_zahl, al_anzkomma )
{
  ls_nk= new String();
  ls_vk = new String();
  ls_zahl = new String();


  if(al_anzkomma == 0)
  { return Math.round(ad_zahl); }

  ls_zahl = String(ad_zahl);
  if(ls_zahl.search(/\./) > 0 )
  {
	  ls_help = ls_zahl.split(".");
	  ls_vk = ls_help[0];
	  ls_nk = ls_help[1] + "000000000000000";
  }
  else
  { ls_vk = ls_zahl;
    ls_nk = "000000000000000";
  }

  ls_nk = ls_nk.substr(0, al_anzkomma)+ "." + ls_nk.substr(al_anzkomma, 1);
  ls_nk = Math.round(ls_nk);
  ls_nk = "000000000000000" + ls_nk;
  if(ls_nk.substring(ls_nk.length - (al_anzkomma + 1)) == Math.pow(10, al_anzkomma))
  { ls_vk = parseInt(ls_vk) + 1; }
  ls_nk = ls_nk.substr(ls_nk.length - al_anzkomma, al_anzkomma);

  return ls_vk + "." + ls_nk;
}


function f_number_format(ad_zahl, al_anzkomma, as_tausend, as_decimal)
{ // Zahl in Vorkomma und Nachkommabereich teilen
  // --------------------------------------------

  ls_nk= new String();
  ls_vk = new String();
  ls_zahl = new String();
  ls_vz="";

  // Wenn die Zahl negativ war, dann jetzt das Minus dazugeben
  //----------------------------------------------------------
  if( ad_zahl < 0 ) {
    ls_vz = "-";
  }

  ad_zahl = f_round( Math.abs(ad_zahl) , al_anzkomma);
  ls_zahl = String(ad_zahl);
  ls_help = ls_zahl.split(".");
  ls_vk = ls_help[0];
  ls_nk = ls_help[1];


  // Den Tausenderpunkt im Vorkommabereich
  // -------------------------------------
  ai_anz=0;
  ls_vk_neu="";
  for (i=ls_vk.length-1; i >= 0; i--)
  {
    if (ai_anz == 3)
    { ls_vk_neu = as_tausend + ls_vk_neu;
      ai_anz=0;
    }
    ls_vk_neu = ls_vk.substr(i, 1) + ls_vk_neu;
    ai_anz++;
  }


  ls_vk_neu = ls_vz + ls_vk_neu;

  if (al_anzkomma <= 0 )
  { return ls_vk_neu; }
  else
  { return ls_vk_neu + as_decimal + ls_nk; }


}

function f_check_decimal ( as_obj, ai_nkstellen )
{
  // Tausendertrennzeichen entfernen
  // Komma in Dezimalpunkt umwandeln
  // -------------------------------
  ls_wert = as_obj.value;
  ls_wert = ls_wert.replace(/\./, "");
  ls_wert = ls_wert.replace(/,/, "." );
  a = parseFloat( ls_wert );
  if (isNaN(a))
  { return false;
  }
  else
  {
   // Zahl ist gültig, jetzt noch runden und fertig
   // ---------------------------------------------
   as_obj.value = f_round(a, ai_nkstellen);
   return true;
  }
}


function f_get_decimal ( as_wert )
{
  // Tausendertrennzeichen entfernen
  // Komma in Dezimalpunkt umwandeln
  // -------------------------------
  as_wert = as_wert.replace(/\./, "");
  as_wert = as_wert.replace(/,/, "." );
  a = parseFloat( as_wert );
  if (isNaN(a))
  { return 0; }
  else
  { return a; }
}

//Funktion überprüft ob d der Wert des übergebenen Objekts
//ganzzahlig ist oder ,0 und rundet den Wert
function f_is_integer(as_obj)
{
  var ls_wert = as_obj.value;
  //überprüfen obs eine gültige Zahl ist
  ls_wert = f_get_decimal(ls_wert);
  
  if(ls_wert != 0)
  {
    //Dezimalpunkt wieder zu Komma machen
    ls_wert = ls_wert.toString();
    var ll_pos = ls_wert.indexOf(".");
    
    //Kein Nachkommateil vorhanden oder ,0 eingebeben
    //Falls ,0 muss der Wert des Objekt noch angepasst werden
    if(ll_pos == -1)
    {
      as_obj.value = ls_wert;
      return true;
    }
    
    ll_pos++;
    var ll_nk = ls_wert.substr(ll_pos);
    
    //Der Nachkommateil wird in eine Zahl umgewandelt
    ll_nk = parseInt(ll_nk); 
    if(isNaN(ll_nk))
      return false;
    else
    {
      as_obj.value = f_round(ls_wert, 0);
      //Wenn der Nachkommateil nicht 0 ist, ist es kein Integer
      if(ll_nk != 0)
      {
        return false;
      }
      else
        return true;
    }  
  
  }
  
  return false;
}
