﻿
function keyFilter(filtertype,erlaubtezeichen,verbotenezeichen,nokey,e) {
	
	var keycode;
	if (window.event) keycode = window.event.keyCode;
    else if (e)       keycode = e.which;
	else return true;

    var i;
    
    // Steuerzeichen
	if ((keycode==0) && (keycode==8))  return true;
	
    if (nokey) return false;   
    
    // (enter)
    if ((keycode==13))  return true;
                    
    i=0;
    while (verbotenezeichen.length>i) 
        if (keycode==verbotenezeichen.charCodeAt(i++)) return false;
                
    i=0;
    while (erlaubtezeichen.length>i) 
        if (keycode==erlaubtezeichen.charCodeAt(i++)) return true;
	    
    // Nur Zahlen (0 bis 9)
    if((filtertype & 1)==1) 
        if ((keycode>47 && keycode<58))return true;
       
    // Nur (A bis Z), (a bis z), (ÖÄÜöäü .....        
    if((filtertype & 2)==2)
            if ((keycode>64 && keycode<91) ||
                (keycode>96 && keycode<123) ||
                (keycode>191 && keycode<256) ) return true;

    // (+  - ,)
    if((filtertype & 16)==16) 
        if (keycode==43 || keycode==44 || keycode==45)  return true;

    // ( Space )
    if((filtertype & 32)==32)
            if (keycode==32) return true;   
    
    // ( . )
    if((filtertype & 64)==64)
            if (keycode==46) return true;       
            
    // ( : )
    if((filtertype & 128)==128)
            if (keycode==58) return true;      

    if(filtertype==0) 
        return (erlaubtezeichen.length==0);

	return false;
}
   
