/* Copyright Bayerische Hypo- und Vereinsbank AG 1999 */
	
	/* Konvertiert, falls nötig Zahlenwerteingaben der Benutzer in Zahlenwerte deutscher Notation */

	function FormatNumberForField(field,decimals){
		if (CheckNumber(field)){
		start=0;				
		var sign="";
		var dot=0;
		var x=0;
		
		if (decimals==0){
		 field.value=Math.round(field.value); 
		}
		numb=field.value+"";
		if (numb.substring(0,1)=="-"){
			start=1;
			sign="-";
			numb=numb.substring(1,numb.length);
		}
		// Behandlung Sonderfall: Nur ein Punkt und kein Komma, dann Punkt als Komma interpretieren 
		for (var i1 = 0;i1 < numb.length;i1++){
			if (dot>=1){
			x+=1;
			}
			if(numb.substring(i1,i1+1) == "."){
				dot+=1
			}
		}
		if (dot==1 && numb.indexOf(",")<=0 && x<3){
		numb=ReplaceCharacter(numb,".",",")
		}
		numb=RemoveDots(numb);
		numb=ReplaceCharacter(numb,",",".");
		numb=round_aic(numb);
		numb=ReplaceCharacter(numb,".",",");
		var comma=numb.indexOf(",");
		numb_right=numb.substring(comma,numb.length);
		numb_left=numb.substring(0,comma);
		numb_middle="";
		while (numb_left.length>3){
			numb_middle="."+numb_left.substring(numb_left.length-3,numb_left.length)+numb_middle;
			numb_left=numb_left.substring(0,numb_left.length-3);
		} /*Ende von while */
		if(decimals==1){
	    numb=sign+numb_left+numb_middle+numb_right;}
		else{
		  numb=sign+numb_left+numb_middle;}
			field.value=numb	
		}	
		else{
			alert ("Bitte geben Sie einen g\u00FCltigen Zahlenwert ein.\nSie k\u00F6nnen Punkte als Tausender Trennzeichen und ein Komma als Dezimalzeichen verwenden.");
			field.value = "";
			field.focus();
		}
	}

	/**
	no rounding parameter stipulates that the passed number of decimalplaces is maintained.  If this isn't set, and the
	decimals parameter is set, then the number is rounded to 2.
	**/
	function FormatNumberForField(field,decimals,norounding){
	if (CheckNumber(field)){
		start=0;
		var sign="";
		var dot=0;
		var x=0;
      var decimalcount = 2;

		if (decimals==0){
		 field.value=Math.round(field.value);
		}

		numb=field.value+"";

		if (numb.substring(0,1)=="-"){
			start=1;
			sign="-";
			numb=numb.substring(1,numb.length);
		}

		if (norounding == 1) {
		   // check if we have any decimals in this number.  If so, count the
		   // decimals so that it's used later in the rounding
		   var lastdot = numb.lastIndexOf(".");
		   if (lastdot >0) {
		      decimalcount = numb.length - lastdot;
		   }
		}

		// Behandlung Sonderfall: Nur ein Punkt und kein Komma, dann Punkt als Komma interpretieren
		for (var i1 = 0;i1 < numb.length;i1++){
			if (dot>=1){
			x+=1;
			}
			if(numb.substring(i1,i1+1) == "."){
				dot+=1
			}
		}


		if (dot==1 && numb.indexOf(",")<=0 && x<=decimalcount){
		numb=ReplaceCharacter(numb,".",",")
		}


		numb=RemoveDots(numb);
		numb=ReplaceCharacter(numb,",",".");
		numb=round_aic(numb,decimalcount);
		numb=ReplaceCharacter(numb,".",",");

		var comma=numb.indexOf(",");
		numb_right=numb.substring(comma,numb.length);
		numb_left=numb.substring(0,comma);
		numb_middle="";
		while (numb_left.length>3){

			numb_middle="."+numb_left.substring(numb_left.length-3,numb_left.length)+numb_middle;
			numb_left=numb_left.substring(0,numb_left.length-3);

			} /*Ende von while */

			if(decimals==1){
			     numb=sign+numb_left+numb_middle+numb_right;}
			else{
			     numb=sign+numb_left+numb_middle;}

			field.value=numb
		}
		else	{
		alert ("Bitte geben Sie einen g\u00FCltigen Zahlenwert ein.\nSie k\u00F6nnen Punkte als Tausender Trennzeichen und ein Komma als Dezimalzeichen verwenden.");
		field.value = "";
		field.focus();
		}
	}


	/* Funktion zur Überprüfung von Nutzereingaben für allgemeine numerische Felder    */
	function CheckNumber(field){
		var comma = 0;
		var numb=field.value
		if (field.value.length==0||field.value==" "){field.value=0;}
		for (var i1 = 0;i1 < numb.length;i1++){
			if(numb.substring(i1,i1+1) == ","){
				comma+=1;
				if (comma>1){return false}}
			else
			if(numb.substring(i1,i1+1) != "." && isNaN(numb.substring(i1,i1+1))){
				if(numb.substring(i1,i1+1)=="-"){
					if(i1!=0){return false}}
				else {return false;}
			}
		}
		return true;
	}

	/* Funktion zur Umwandlung von numerischen Feldinhalten in deutscher Notation */
	/* in gültige Zahlenwerte für Javascript Berechnungen.                         */
	
	function ReadValue(field){
		var wert=field.value;
		wert=RemoveDots(wert);
		wert=ReplaceCharacter(wert,",",".");
		return wert
	}
	
		
	
	function RemoveDots(wert){
		wert=wert+"";
		for (var i1 = 0;i1 < wert.length;i1++){
			if(wert.substring(i1,i1+1) == "."){
			var dot=wert.indexOf(".")
				while (dot >= 0){
				var wert_left = wert.substring(0,dot);
				var wert_right = wert.substring(dot+1,wert.length);
				wert = wert_left + wert_right;
				dot=wert.indexOf(".")
				}
			}
		
		}
		return wert
	}
	
	function ReplaceCharacter(wert,character1, character2){
	/* Ersetzt in String wert alle character1 durch character 2 */
		wert=wert+"";
		var indx=wert.indexOf(character1)
		while (indx >= 0){
			var wert_left = wert.substring(0,indx);
			var wert_right = wert.substring(indx+1,wert.length);
			wert = wert_left + character2 + wert_right;
			indx=wert.indexOf(character1)
			}
		return wert
	}
	
	function CheckYear(year){
		if(year.length!=4){return false}
		for (var i1 = 0;i1 < 4;i1++){
			if(isNaN(year.substring(i1,i1+1))){
			return false
		}
	 }
	 return true
	}
	
	function checkdate(field) {
		var err=0
		a=field.value;
		if (a.length != 10) err=1
		b = a.substring(0, 2)// day
		c = a.substring(2, 3)// '.'
		d = a.substring(3, 5)// month
		e = a.substring(5, 6)// '.'
		f = a.substring(6, 10)// year
		if (d<1 || d>12) err = 1
		if (c != '.') err = 1
		if (b<1 || b>31) err = 1
		if (e != '.') err = 1
		if (f<0 || f>99) err = 1
		if (d==4 || d==6 || d==9 || d==11){
			if (b==31) err=1
		}
		if (d==2){
			var g=parseInt(f/4)
			if (isNaN(g)) {
				err=1
			}
			if (b>29) err=1
			if (b==29 && ((f/4)!=parseInt(f/4))) err=1
		}
		if (err==1) {
			alert ("Bitte geben Sie ein g\u00FCltiges Datum im Format tt.mm.jj ein!");
			field.focus;
			return false;
		}
		else {
			return true;
   }
}
	
	
	
	
	
	
	
	
	
