//<script>
function Lib_io(obj)
{
	obj.Error_String="";
	obj.error=Library_error_;
	obj.format=Library_format_;
	obj.Datum_To_Str=Library_Datum_To_Str;
	obj.Dateadd		=Library_Dateadd;
	obj.Datediff	=Library_Datediff;
	obj.on_Focus	=Library_on_Focus;
	obj.keypress	=Library_keypress_;
	obj.standart	=Library_standart_;
	obj.StringToDate=Library_StringToDate;
	obj.Datum_p_Tage=Library_Datum_p_Tage;
	obj.on_blur_colection = new Array();
	return obj;
}
if(self["Lib"] == null) 
		self["Lib"] = Lib_io(new Object());
else	Lib_io(self["Lib"]);

/*  typ - year, month, day, hour, minute, second, millisecond
	z.B. Dateadd( "day", new Date(), 5 ) // Von heute plus 5 Tage
*/
function Library_Dateadd( typ, datum, anzahl ) {
	var retDate = new Date(datum.getTime());
	var x;
	switch( typ ) {
	case "year":  x=datum.getYear(); if(x<1000) x+=1900; retDate.setYear(x+anzahl); break;
	case "month": x=datum.getMonth();   retDate.setMonth(x+anzahl); break;
	case "day":   x=datum.getDate();    retDate.setDate(x+anzahl); break;
	case "hour":  x=datum.getHours();   retDate.setHours(x+anzahl); break;
	case "minute":x=datum.getMinutes(); retDate.setMinutes(x+anzahl); break;
	case "second":x=datum.getSeconds(); retDate.setSeconds(x+anzahl); break;
	}
	return retDate;
}
/*  datum2-datum1
	typ - year, month, day, hour, minute, second, millisecond
	z.B. Datediff( "day", new Date(), new Date() ) - 0 Tage // Von heute plus 5 Tage
*/
function Library_Datediff( typ, datum1, datum2 ) {
	var x=0;
	x=datum2.getTime()-datum1.getTime();
	switch( typ ) {
	case "month":	x=datum2.getYear()-datum1.getYear();
					x=x*12+datum2.getMonth()-datum1.getMonth();
					break;
	case "year":	x=datum2.getYear()-datum1.getYear();
					break;
	case "day":		datum1=new Date(datum1.getTime());
					datum2=new Date(datum2.getTime());
					datum1.setHours(12);
					datum2.setHours(12);
					x=datum2.getTime()-datum1.getTime();
					x = Math.round(x/86400000);
					break;
	case "hour":	x = Math.floor(x/3600000);
					break;
	case "minute":	x = Math.floor(x/60000);
					break;
	case "second":	x = Math.floor(x/1000);
					break;
	}
	return x;
}

// Datum_p_Tage( "10.10.2003", "12.10.2003", retLength==true ) -> 3
// Datum_p_Tage( "10.10.2003", "12.10.2003", retLength==false/null ) -> Array("10.10.2003", "11.10.2003", "12.10.2003");
function Library_Datum_p_Tage(Datum0, Datum1, retLength)
{
	var dateToString = Library_dateToString;
	var dvon = Library_Datum_To_Str(Datum0+" 12:00");
	var dbis = Library_Datum_To_Str(Datum1+" 12:00");
	var ret = new Array();
	var i=0;
	for( ; retLength || i<10000; i++ ) {
		if(!retLength) {
			ret[i] = dateToString(dvon);
		}
		dvon.setDate(dvon.getDate()+1);
		if( dvon>dbis ) break;
	}
	if( i==10000 ) { 
		alert(" Fehler: Datum_p_Tage - zu viel Elemente in Array (max 10000) !");
		return null;
	}
	if( retLength ) {
		return i;
	} else {
		return ret;
	}
}

function Library_dateToString( date ) {
	if( !date.getYear ) return "NaN";
	var jjjj = date.getYear();
	if(jjjj < 1000) {
		if(jjjj < 20) jjjj += 2000;
		else jjjj += 1900;
	}
	var dd = date.getDate();
	var mm = date.getMonth()+1;
	if( dd<10 ) dd="0"+dd;
	if( mm<10 ) mm="0"+mm;
	var ret = dd+'.'+mm+'.'+jjjj;
	return ret;
}

function Library_StringToDate(Datum, Zeit)
{	return Library_Datum_To_Str(Datum+" "+Zeit);
}

function Library_standart_(Zahl_,Nachkoma)
{
	if(Nachkoma==null || Nachkoma<1 || Nachkoma>10) Nachkoma=2;
	var n=Math.pow(10,Nachkoma);
	Zahl = parseFloat(Zahl_+"");
	if(isNaN(Zahl)) return Zahl_;
	Zahl=Math.round(n*Zahl)*1./n;
	var Minus="";
	if(Zahl < 0) {
		Minus="-";
		Zahl = -Zahl;
	}
	var str=(Zahl+"").split(".");
	if(Zahl<1) str[0]="0";
	n=(n+"").substring(1,Nachkoma+1); //"10000"-->"0000"
	if(str[1]==null) str[1]=n;
	else str[1]=(str[1]+n).substring(0,Nachkoma);
	return Minus+str.join(".");
}

function Library_error_(str,Err,x1,x2,x3,x4,x5,x6,x7,x8)
{
	if(str==null)
	 if((Lib.Error_String+" ").split(" ").join("") != "") 
	          return true;
	 else return false;

	var s=Lib.Error_String; 
	for(var CharNr=0; CharNr<str.length; CharNr++) {
	  switch(str.charAt(CharNr))
	    {
		case "v": if((" "+s).split(' ').join('').split('\n').join('')!='') alert(s); 	 	//view
		    break;
		case "c": Lib.Error_String=""; 		//clear
		    break;
		case "r": return s; 		//read
		    break;
		case "w":  if(Lib.error.arguments.length>2) // write
				   {
				    Err=(Err+" ").split("%s"); // wie in scanf("%s",i)
				    for(i=2; i<Lib.error.arguments.length && (i-2)<Err.length; i++)
					  if(Err[i-2]!=null)
					       Err[i-2]+=Lib.error.arguments[i];
					  else Err[i-2] =Lib.error.arguments[i];
				    Err=Err.join("");
		           }
				  s+="\n"+Err; 
				  Lib.Error_String+="\n"+Err;
				  break;
	    }
	}
	return true;
}
function Library_format_(str,x1,x2,x3,x4,x5,x6,x7,x8)
{
	if(Lib.format.arguments.length>1)
	   {
	    str=(str+" ").split("%s"); // wie in scanf("%s",i)
	    for(i=1; i<Lib.format.arguments.length && (i-1)<str.length; i++)
		  if(str[i-1]!=null)
		       str[i-1]+=Lib.format.arguments[i];
		  else str[i-1] =Lib.format.arguments[i];
	    str=str.join("");
	   }
	 return str;
}

//********** Standart 10.01.1999 
function Library_Date_onblur(obj)
{ 
	var Ein_Tag = 1000*60*60*24;
	if(obj == null || (obj.type != "text" && obj.type != 'password' && obj.type != 'textarea')) obj = this;
	//  || (obj.type != "text" && obj.type != 'password' && obj.type != 'textarea')) obj = this;
	if(obj.Error != null || (obj.type != "text" && obj.type != 'password' && obj.type != 'textarea')) return;
	// 	|| (obj.type != "text" && obj.type != 'password' && obj.type != 'textarea')) return;
	obj.blur();
	var vgl_Datum; 
	if(obj.value.split(" ").join("") !="") 
	{ 
		if(obj.String_Format != null ) obj.String_Format.blur();
		var dd_mm_jjjj=obj.value.split(obj.String_Format.tren_symbol);
		var lange = dd_mm_jjjj.length;
		if(obj.vgl_datum != null) 
			vgl_Datum = Library_Datum_To_Str(obj.vgl_datum); 
		if(obj.vgl_datum == null || isNaN(vgl_Datum)) 
			vgl_Datum = new Date(); 
		if(parseInt(dd_mm_jjjj[0],10) <= 0) 
			dd_mm_jjjj[0] = vgl_Datum.getDate();
		else dd_mm_jjjj[0] = parseInt(dd_mm_jjjj[0],10);
		if(dd_mm_jjjj.length <= 1 || parseInt(dd_mm_jjjj[1],10) <= 0) 
			dd_mm_jjjj[1] = vgl_Datum.getMonth();
		else dd_mm_jjjj[1] = parseInt(dd_mm_jjjj[1],10)-1;
		if(dd_mm_jjjj.length <= 2 || parseInt(dd_mm_jjjj[2],10) < 0) 
		{
			var Jahr = vgl_Datum.getYear(); 
			if(Jahr < 1000)
			if(Jahr < 20) Jahr += 2000;
			else Jahr += 1900;
			dd_mm_jjjj[2] = Jahr;
		}
		else dd_mm_jjjj[2] = parseInt(dd_mm_jjjj[2],10);
		var Datum =new Date(dd_mm_jjjj[2],dd_mm_jjjj[1],dd_mm_jjjj[0],0,0,0);
		if(obj.mode_str != null)
		{
			if(obj.mode_str == "+" && Datum.getTime()+ Ein_Tag-1 < vgl_Datum.getTime())
			{	if(lange == 1)      dd_mm_jjjj[1]++;
				else if(lange == 2) dd_mm_jjjj[2]++; 
			}
			else if(obj.mode_str == "-" && Datum.getTime() > vgl_Datum.getTime())
			{	if(lange == 1)      dd_mm_jjjj[1]--;
				else if(lange == 2) dd_mm_jjjj[2]--; 
			}
			Datum =new Date(dd_mm_jjjj[2],dd_mm_jjjj[1],dd_mm_jjjj[0],0,0,0);
		}
	  
		//isKurz = (obj.String_Format!=null && obj.String_Format.value!=null && obj.String_Format.value[2].length==2) ;
		if( isNaN(Datum) ) {
			Datum = new Date();
		}
		obj.value=obj.value1=Lib.Datum_To_Str(Datum,null,null,obj.String_Format.isKurz); 
	} 
	Library_on_change1(obj);
}

function Library_Zeit_onblur(obj)
{ 
	if(obj == null || (obj.type != "text" && obj.type != 'password' && obj.type != 'textarea')) obj = this;
	// || obj.type != "text")
	if(obj.Error != null || (obj.type != "text" && obj.type != 'password' && obj.type != 'textarea')) return;
	// || obj.type != "text")
	obj.blur(); 
	if(obj.value.split(" ").join("") != "") 
	{ 
		if(obj.String_Format != null ) obj.String_Format.blur();
		var std_min_sec=obj.value.split(obj.String_Format.tren_symbol);

		if(obj.String_Format.value.length >= 2 && std_min_sec.length < 2) 
		  std_min_sec[1]="00";
		if(obj.String_Format.value.length >= 3 && std_min_sec.length < 3) 
		  std_min_sec[2]="00";

		obj.value = obj.value1= std_min_sec.join(obj.String_Format.tren_symbol);
	}
	Library_on_change1(obj);
}

function Library_standart_Zeit(str)
{
 	 if(parseInt(str,10) >= 10) 
                   return       parseInt(str,10);
 	 return  "0"+parseInt(str,10);
}


function Library_Datum_To_Str(Datum, isStd_Min, isSec, isKurzDatum)
{  
 if(typeof Datum == "undefined") return "";

 if(typeof Datum == "string" || Datum["getYear"]==null)
  {
   var str = (""+Datum).split('.'); 
   var Std=0, Min=0;
   if(str.length == 3 && str[2].indexOf(":")!=-1 && str[2].indexOf(" ")!=-1) {
		var Std_Min = str[2].split(" ")[1];
		Std_Min = (""+Std_Min).split(":")
		if(Std_Min.length >= 2)	{
			if( isNaN(Std = parseInt(Std_Min[0],10)) )
				Std=0;
			if( isNaN(Min = parseInt(Std_Min[1],10)) )
				Min=0;
		}
   }
   var Jahr = parseInt(str[2],10); 
	if(Jahr < 1000)
	 if(Jahr < 20) Jahr += 2000;
	 else Jahr += 1900;

   if(str.length == 3)
    return new Date(Jahr,parseInt(str[1],10)-1,parseInt(str[0],10),Std,Min,0);
    
   return new Date("oio"); //isNaN() 
  }
 var Jahr = Datum.getYear(); 
 if(Jahr < 1000)
	if(Jahr < 20) Jahr += 2000;
	else Jahr += 1900;
	
 if( isKurzDatum!=null && isKurzDatum==true ) {
   Jahr = (""+Jahr).substring(2);
 }
 var dat_str = Datum.getDate();
	if(dat_str<10) dat_str="0"+dat_str;
 var mon_str = Datum.getMonth()+1;
	if(mon_str<10) mon_str="0"+mon_str;
 str = dat_str+'.'+ mon_str+ '.' + Jahr; // DD.MM.JJJJ

 if(isStd_Min!=null && isStd_Min==true) {
	var std_str = Datum.getHours();
	if(std_str<10) std_str="0"+std_str;
	var min_str = Datum.getMinutes();
	if(min_str<10) min_str="0"+min_str;
	str+= " "+std_str+":"+min_str; // hh:mm
	if( isSec ) {
		var sec_str = Datum.getSeconds();
		if(sec_str<10) sec_str="0"+sec_str;
		str+= ":"+sec_str; // hh:mm:ss
	}
 }
  return str;
}

// keypress_(e)******************
// document.forms[0].test1.onkeypress = keypress;
// document.forms[0].test1.str  = "A&B&C&...&Y&a&b&c&6&7&8&9&:";

function Library_keypress_(e)
{
	var kode;
	var ret = false, onKeyPress_function = false;
	var str = this.key_str.split(' ');
	var key;
	    if( Lib.browser.ie ) {
			key=this.window.event.keyCode;
	    } else if( Lib.browser.ns4 ) {
		    if( this.window != null && this.window.document["onkeypress"] != null )
				this.window.document.onkeypress(e);
			key=e.which;
		} else if( Lib.browser.ns6 ) {
			key=e.which;
		}

	if(this["MaxLange"]!=null)
	{   if(!isNaN(parseInt(this["MaxLange"]+"",10)) && this.value.length >= parseInt(this["MaxLange"],10))
			if(key != 8) return false;
	}
	if(this.key_str == null || this.window==null) 
    {	this.geaendert = true; 
		return true;
	}

	if( typeof( this["onkeypress_"+key] ) == "function" ) {
		this["onkeypress_"+key](); // z.B. onkeypress_32() space
		onKeyPress_function = true;
	}
	if( key==8 || key=='\t' )    ret = true;
	for(var i=(-0) ; ret == false && i < str.length; i++) {
	  if(str[i]==null || str[i]=="")
			 {
			   if(key == 32) ret = true;
			 }
	  else
	  if(str[i] == "\n")
			 {
			   if(key == 13 /*"\n"*/ ) ret = true;
			 }
	  else
	  if(str[i] == "bs") // " "
			 {
			   if(key == 32 /*"\n"*/ ) ret = true;
			 }
	  else
	  if(str[i] == "\t")
			 {
			   if(key == "\t") ret = true;
			 }
	  else
	  if(str[i] == "....")
	         { 
	           if(str[i-1].charCodeAt(0) <= key && key <= str[i+1].charCodeAt(0))
	                ret = true;
	         }
	  else{ 
	           if(str[i].charCodeAt(0) < 0) 
	              kode=256+str[i].charCodeAt(0);
	           else kode=str[i].charCodeAt(0);
	           if(key == kode)  ret = true; 
	        }
	}
	if( ret == false && onKeyPress_function == false )
	{
		if(this.key_press_Zahl==null) this.key_press_Zahl=0;
		else this.key_press_Zahl++;
		if(this.key_press_Zahl > 10)
		{ 
			this.key_press_Zahl = 0;
			Lib.error("w","Sie könnten nur folgender Zeichen benutzen:\n[ "+str.join(' , ')+" ] !");
			setTimeout("if(Lib.error())  Lib.error('vc')",500);
		}
		//var str=""; for( var i in e ) str+=i+':'+e[i]+'\n'; alert(str);
	} 
	else this.geaendert = true;
	return ret;
}

function Library_String_Format(obj,maska,format)
{
	this.obj     	= obj;
	//obj.onkeydown	= keydown_;

	this.index_trenn_symbol = maska.indexOf(' ');
	this.tren_symbol 		= format.charAt(this.index_trenn_symbol);   
	this.value		= maska.split(' '); 		//  "00 00 0000"
	this.format		= new Array();

	for(var i=0,lange=0 ; i<this.value.length; i++)
	{ 
		this.format[i] = parseInt(format.substring(lange,lange+this.value[i].length), 10); 	// "12.31.2050"
		lange += this.value[i].length+1;
	}
	this.blur 	= new Function("this.obj.value = this.str_bearb();");
	this.str_bearb	= Library_str_bearb_;

}
function Library_str_bearb_LetzteTrennWeg(str, trenn) {
	str = str.split(trenn);
	for( var i=str.length-1; i>=0; i-- ) {
		if( str[i]=="" ) str.length--;
	}
	return str.join(trenn);
}
function Library_str_bearb_()
{ 
	 this.obj.value = this.obj.value.split(this.tren_symbol).join(',').replace(/,+/,',').split(',').join(this.tren_symbol);
	 this.obj.value = Library_str_bearb_LetzteTrennWeg(this.obj.value, this.tren_symbol);
	 
	 var val1="",key=""; 
	 var stelle = 0;
	 var index=0; 
	 var ergebnis=new Array();
	 for(val1 = this.value[index]; stelle < this.obj.value.length && index < this.format.length; stelle++)
	 { 
		if(this.obj.value.charAt(stelle) == this.tren_symbol) 
	    {  
			ergebnis[index] = val1 + key;
			index++; if(index >= this.format.length) break;
			key = "";
			val1 = this.value[index];
			continue;
		}
		key += this.obj.value.charAt(stelle);
		if(parseInt(val1 + key ,10) > this.format[index] || val1.length <= 0)
		{   
			ergebnis[index] = val1 + key.substring(0,key.length-1);
			index++;  if(index >= this.format.length) break;
			if(this.obj.value.indexOf(this.tren_symbol,stelle) != -1) 
				stelle = this.obj.value.indexOf(this.tren_symbol,stelle)+1;
			key = this.obj.value.charAt(stelle);
			val1 = this.value[index];
		}
		val1=val1.substring(0,val1.length-1);
	}
	if(index < this.format.length) {
		if(parseInt(val1 + key ,10) <= this.format[index])
			ergebnis[index] = val1 + key; 
	}
	return ergebnis.join(this.tren_symbol)
 }

//onkeypress="return true;" onfocus="hidden2.on_Focus(this,mode,self)" mode = ('Zeit','Datum','Geld','ABC','123')
//!!! Macht statt onchange() --> on_change() aber nur für text-Box
function Library_on_Focus(obj,obj_type,obj_window,mode_str)
{ 
	self.Lib = this;
	if(obj.Error != null)
	{
		obj.blur();
		Lib.error("w",obj.Error);
		switch(obj.type)
		{
		case "checkbox":if(obj.Checked_fest==null) 
						{	obj.Checked_fest = obj.checked;
							if(obj.onclick) {
								obj.on_click=obj.onclick;
							}
							obj.onclick = new Function("this.checked = this.Checked_fest; if(this.on_click) this.on_click();");
						}
						setTimeout("if(Lib.error())  Lib.error('vc')",500);
						break;
		case "radio":	if(obj.Checked_fest== null) 
						{	obj.Checked_fest = obj.checked;
							if(obj.onclick) {
								obj.on_click=obj.onclick;
							}
							obj.onclick = new Function("this.checked = this.Checked_fest; if(this.on_click) this.on_click();");
						}
						setTimeout("if(Lib.error())  Lib.error('vc')",500);
						break;
						//Lib.error('vc'); für Netscape schlecht
		default:		setTimeout("if(Lib.error())  Lib.error('vc')",500);
		}
		return;
	}

	if(obj.type != 'text' && obj.type != 'password' && obj.type != 'textarea') 
	{	if(obj.Checked_fest != null && obj.onclick != null) {
			obj.Checked_fest = null;
			if( obj.on_click!=null ) {
				obj.onclick = obj.on_click;
				obj.on_click = null;
			} else {
				obj.onclick = null;
			}
		}
		return;
	}

	obj.select();
	obj.geaendert = false; // kann man wissen ,ob objekt geaendert war 
	obj.value_alt = obj.value; // alte value
	if(obj_window != null) {
		if(obj.onkeypress == null && obj.string_type==null || obj.string_type!=obj_type)  // Init
		{   
			obj.onkeypress = Lib.keypress;
			obj.window = obj_window;
			obj.string_type = obj_type;
			obj.on_change = obj.onchange; obj.onchange=null;
			var obc = Lib.on_blur_colection; obc[obc.length] = obj;
			obj.onblur = Library_Default_onblur;
			switch(obj_type)
			{ 
			case 1:
			case 'ABC':		obj.key_str = "a b c .... x y z A B C .... X Y Z Ä ä Ü ü Ö ö ß ( ) - ! ? . ; , : & / _ bs \n"; 
							break;
			case 2:
			case 'Datum_1':
			case 'Datum':	obj.key_str = "0 .... 9 ."; 
							obj.onblur 			= Library_Date_onblur; 
							obj.onkeypress_32	= Library_Datum_on_space; // space drucken
							obj.String_Format	= new Library_String_Format(obj,"00 00 0000","31.12.2200"); 
							obj.String_Format.isKurz = false;
							if(mode_str != null) obj.mode_str=mode_str; 
							break;
			case 21:
			case 'DatumK':  obj.key_str = "0 .... 9 ."; 
							obj.onblur 			= Library_Date_onblur; 
							obj.onkeypress_32	= Library_Datum_on_space; // space drucken
							obj.String_Format	= new Library_String_Format(obj,"00 00 0000","31.12.2200"); //new Library_String_Format(obj,"00 00 00","31.12.99"); 
							obj.String_Format.isKurz = true;
							if(mode_str != null) obj.mode_str=mode_str; 
							break;
			case 3:
			case 'Zeit_1':
			case 'Zeit':	obj.key_str = "0 .... 9 :"; 
			         		obj.onblur 			= Library_Zeit_onblur; 
			       			obj.String_Format 	= new Library_String_Format(obj,"00 00","23:59"); 
							if(mode_str != null) obj.mode_str=mode_str;
							break;
			case 31:
			case 'ZeitK':	obj.key_str = "0 .... 9 :"; 
			         		obj.onblur 			= Library_Zeit_onblur; 
			       			obj.String_Format 	= new Library_String_Format(obj,"00 00","24:59"); 
							if(mode_str != null) obj.mode_str=mode_str;
							break;
			case 4:
			case 'Geld_1':
			case 'Geld':	obj.key_str = "- 0 1 .... 9 . ,"; 
			    			obj.onblur = Library_Geld_on_Blur;
							break;
			case 14:
			case 'Geld_2':	// gleich wie Geld aber immer 0.00 wen falsch
							obj.key_str = "- 0 1 .... 9 . ,"; 
			    			obj.onblur = Library_Geld_2_on_Blur;
							break;
			case 5:
			case 'Float':	obj.key_str = "0 1 .... 9 . ,"; 
			    			obj.onblur = Library_Float_on_Blur;
							break;
			case 6:
			case '123':		obj.key_str = "0 1 .... 9"; 
			     			obj.onblur = Library_Float_on_Blur;
							break;
			case 1:	
			case 'ABC':		obj.key_str = "a b c .... x y z A B C .... X Y Z Ä ä Ü ü Ö ö ß ( ) - ' _"; 
							break;
			case 7:
			case 'Alles':	obj.key_str = "! ? . , # $ § % & ( ) * + - / : ; < > =  @ [ ] ^ ° _ { } 0 .... 9 A .... Z Ä Ö Ü a .... z ä ö ü ß \n bs"; 
							break;
			case 8:
			case 'Login':	obj.key_str = "@ 0 .... 9 A .... Z a .... z _ - . , * # /"; 
							break;
			default:		break;
			}
		}
	}
}
function Library_Default_onblur()
{ 
	var val = this.value+"";
	if( val.indexOf("'")!=-1 )
		val = val.split("'").join(" ");
	if( val.indexOf("\"")!=-1 )
		val = val.split("\"").join(" ");
	if( val.indexOf("|")!=-1 )
		val = val.split("|").join(" ");
	this.value = val;
	Library_on_change1(this);
}
function Library_Float_on_Blur()
{ 
	var val = this.value.split('.').join(',').replace(/,+/,',').split(',');
	val = parseFloat(val.join(".")+"");
	if( isNaN(val) ) val = "";
	this.value = val;
	Library_on_change1(this);
}
function Library_Geld_on_Blur()
{ 
	var val = this.value.split('.').join(',').replace(/,+/,',').split(',');
	this.value = Library_standart_(val.join("."), 2);
	Library_on_change1(this);
}
function Library_Geld_2_on_Blur()
{ 
	var val = this.value.split('.').join(',').replace(/,+/,',').split(',');
	this.value = Library_standart_(val.join("."), 2);
	if( isNaN(parseFloat(this.value)) ) this.value="0.00"
	Library_on_change1(this);
}
function Library_on_change1( obj )
{
	if( obj.value_alt!=null && obj["value"]!=null && obj.value_alt != obj.value ) {
		obj.geaendert=true;
	}
	if(obj.geaendert!=null && obj.geaendert==true && obj.onchange != null)
	  obj.onchange();
	if( obj.geaendert!=null && obj.geaendert==true && obj.on_change != null && obj.on_change!=obj.onchange) {
	  obj.on_change();
	}
}
function Library_Datum_on_space( )
{
	self.bindObj = this;
	if( typeof(hidden2)=="undefined" || hidden2==null ) hidden2=Lib;
	var href = hidden2.getBVerz()+"/mf/kalend/Kalend.htm";
	var win = window.open(href,"kalender","width=260,height=210,resizable=no");
	win.opener = self;
//	win.focus();
}