function GetNum(str){
  var checkOK = "0123456789-,.";
  var checkStr = str;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++){
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length){
      allValid = false;
      break;
    }
    if (ch == ","){
      allNum += ".";
      decPoints++;
    }else if (ch != ".")
      allNum += ch;
  }
  if (!allValid)
    return (false);

  if (decPoints > 1)
    return (false);

  var chkVal = allNum;
  return (parseFloat(allNum));
}


function convert(num) {
	var neustr = "";
	var str = String(num); //95
	if ((k=str.indexOf("."))>-1) 
		if (k>3) 
			neustr = str.substr(0,k-3) + "." + str.substr(k-3,3) + "," + str.substr(k+1,((str.length-k)>=3) ? 2 : 1)
		else
			neustr = str.substr(0,k) + "," + str.substr(k+1,((str.length-k)>=3) ? 2 : 1)
	else
		if ((k=str.length)>3)		
			neustr = str.substr(0,k-3) + "." + str.substr(k-3,k-1)
		else
			neustr = str;

	return (neustr)
}
  
function creditCalculate(formObj){
  
  var creditamountNum = formObj.creditamount.value.replace(".", "");
  var creditdurationNum = formObj.creditduration.value.replace(".", "");
  var creditamount = creditamountNum.replace(",", ".");
  var creditduration = creditdurationNum.replace(",", ".");
  
  if( isNaN(creditamount) || isNaN(creditduration) || formObj.creditamount.value == '' || formObj.creditduration.value == ''){
    if( formObj.cmd ){
      alert("Bitte geben Sie korrekte Zahlen an!\nGewünschter Betrag: 10000,00\nLaufzeit in Monaten: 24");
    }
  }else if( creditamount < 3500 ){
    
      alert("Es tut uns leid, aber die Mindestsumme für den Online Kredit beträgt € 3.500,00.");
  }else{
    
    var zns = '5,7';
    var lfz = GetNum(formObj.creditduration.value);
    var kap = GetNum(formObj.creditamount.value);
    var rateStart = GetNum(formObj.creditrate.value);
    var F3 = Math.pow((1+(GetNum(zns)/100)),(1/4))-1;
    var R =(kap)*(Math.pow((1+F3),(lfz/3))*F3)/(Math.pow((1+F3),(lfz/3))-1)/3;
    
    document.getElementById('fCreditrate').value = convert(Math.round(R));
    
    document.getElementById('fCreditduration').value = convert(lfz);
    document.getElementById('fCreditamount').value = convert(kap);
    
    if( convert(rateStart) != convert(Math.round(R)) ){
      document.getElementById('fCreditrate').className = 'highlight';
    }
  }
  
  return false;
  
}


function showTooltip(cmd, obj){
  
  var url = "tooltip.php?lang=de&cmd="+cmd;
  
  new Ajax(url, {
    method: 'get',
    update: $('tooltipMsg')
  }).request();
  
}


function addBookmark(title,url) {
  if (window.sidebar) {
      window.sidebar.addPanel(title, url, 0);
  } else if( document.all ) {
      window.external.AddFavorite( url, title);
  } else if( window.opera && window.print ) {
      return true;
  }
}


function accInit(updateElement){
  window.addEvent('domready', function() {
    var accordion = new Accordion('h3.atStart', 'div.atStart', {
      display: false,
      opacity: false
    }, $(updateElement));
  });
  return true;
}


function formularSend(obj, updateElement){
  
  var url = obj.action;
  
  new Ajax(url, {
    method: 'post',
    data: obj,
    update: $(updateElement)
  }).request();
  
  return false;
  
}


function creditlexicon(aHref){
  
  var url = aHref;
  
  new Ajax(url, {
    method: 'get',
    onComplete: function (request){
      if( request ){
        document.getElementById('creditEncyclopediaContent').innerHTML = request;
        document.getElementById('creditEncyclopediaContent').style.display = 'none';
        if( accInit('creditEncyclopediaContent') && document.getElementById('creditEncyclopediaContent') ){
          document.getElementById('creditEncyclopediaContent').style.display = 'block'; 
        }
      }
    }
  }).request();
  
  return false;
  
}

