function f_reloadOff()
{
    if (event.keyCode == 116)
    {
        event.keyCode = 0;
        return false;
    }
}
document.onkeydown = f_reloadOff;

function f_thisRow(mn,n)
{
    mn.style.color = "#FF9933";
    document.images["menu"+n].src = menuOn.src;
}

function f_prevRow(mn,n)
{
    mn.style.color = "";
    document.images["menu"+n].src = menuOff.src;
}

function isNull(obj, msg)
{
    if (obj.value == null || obj.value == "")
    {
        if (msg)
        {
            alert(msg);
		}
        obj.focus();
        return true;
    }
    return false;
}

function isNotNumber(obj, msg)
{
    if (obj.value.length == 0)
    {
        if (msg)
        {
            alert(msg);
		}
        obj.focus();
        obj.select();
        return true;
    }

    for (var i=0; i < obj.value.length; i++)
    {
        if (!('0' <= obj.value.charAt(i) && obj.value.charAt(i) <= '9'))
        {
            if (msg)
            {
                alert(msg);
    		}
            obj.focus();
            obj.select();
            return true;
        }
    }
    return false;
}

function isAlphabet(obj)
{
    var str = obj.value;
    if (str.length == 0)
        return false;

    str = str.toUpperCase();
    for(var i=0; i < str.length; i++)
    {
        if(!('A' <= str.charAt(i) && str.charAt(i) <= 'Z'))
            return false;
    }
    return true;
}

function isAlphaNumeric(obj)
{
    var str = obj.value;
    if(str.length == 0)
        return false;

    str = str.toUpperCase();
    for(var i=0; i < str.length; i++)
    {
        if (!(('A' <= str.charAt(i) && str.charAt(i) <= 'Z') ||
			  ('0' <= str.charAt(i) && str.charAt(i) <= '9')))
            return false;
    }
    return true;
}

function isSame(obj1, obj2, msg)
{
    var str1 = obj1.value;
    var str2 = obj2.value;
    if ((str1 != null && str1.length == 0) || (str2 != null && str2.length == 0))
    {
        if (msg)
        {
            alert(msg);	
        }
        obj2.focus();
        obj2.select();
        return false;
    }
    if (str1 == str2)
    {
        return true;
    }
    else
    {
        if (msg)
        {
            alert(msg);	
        }
        obj2.focus();
        obj2.select();
        return false;
    }
}

function isShort(obj, len, msg)
{
    var str = obj.value;
    if (str.length < len)
    {
        if (msg)
        {
            alert(msg);	
        }
        obj.focus();
        obj.select();
        return true;
    }
    return false;
}

function isGreat(obj, len, msg)
{
    var str = obj.value;
    if (str.length > len)
    {
        if (msg)
        {
            alert(msg);	
        }
        obj.focus();
        obj.select();
        return true;
    }
    return false;
}

function isCardNumber(obj)
{
    var str = obj.value;
    if (str.length != 16)
        return false;

    for (var i=0; i < 16; i++)
    {
        if (!('0' <= str.charAt(i) && str.charAt(i) <= '9')) 
            return false;
    }
    return true;
}

function isEmail(obj)
{
    var str = obj.value;
    if (str == "")
        return true;

    var i = str.indexOf("@");
    if (i < 0)
        return false;

    i = str.indexOf(".");
    if (i < 0)
        return false;

    return true;
}

function emailCheck(emailStr) 
{
    var checkTLD=1;
    var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
        alert("Email address seems incorrect (check @ and .'s)");
        return false;
    }
    
    var user=matchArray[1];
    var domain=matchArray[2];
    for (i=0; i<user.length; i++) {
        if (user.charCodeAt(i)>127) {
            alert("The Email address contains invalid characters.");
            return false;
        }
    }
    
    for (i=0; i<domain.length; i++) {
        if (domain.charCodeAt(i)>127) {
            alert("The domain name contains invalid characters.");
            return false;
        }
    }
    
    if (user.match(userPat)==null) {
        alert("The username doesn't seem to be valid.");
        return false;
    }
    
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                alert("Destination IP address is invalid!");
                return false;
            }
        }
        return true;
    }
    
    var atomPat=new RegExp("^" + atom + "$");
    var domArr=domain.split(".");
    var len=domArr.length;
    for (i=0;i<len;i++) {
        if (domArr[i].search(atomPat)==-1) {
            alert("The domain name does not seem to be valid.");
            return false;
        }
    }
    
    if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
        alert("The address must end in a well-known domain or two letter " + "country.");
        return false;
    }
    
    if (len<2) {
        alert("This address is missing a hostname!");
        return false;
    }
    
    return true;
}
function f_suchenForm()
{
    if (document.suchen.inputstring.value == "")
    {
        window.alert("Bitte geben Sie zunächst einen Suchbegriff ein.");
    }
    else
    {
       document.suchen.action = "search/search.jsp";
       document.suchen.submit();        
    }
}
function f_searchForm(fmThis)
{
    if (isNull(fmThis.inputstring, "Bitte geben Sie zunächst einen Suchbegriff ein."))
    {
        return false;
    }
    if (isShort(fmThis.inputstring, 3 , "Bitte geben Sie mindestens drei Zeichen ein."))
    {
        return false;
    }
    return true;
}
