var lib = new function() {
    this.relativePath = "./";

    this.validEmail = function(value) {
        apos=value.indexOf("@");
        dotpos=value.lastIndexOf(".");
        if (apos<1||dotpos-apos<2) {
            return false;
        } else {
            return true;
        }
    }
    
    this.bookmarkUs = function(url, title) {
        if (window.sidebar) { // firefox
            window.sidebar.addPanel(title, url, "");
        } else if(window.opera && window.print) { // opera
            var elem = document.createElement('a');
            elem.setAttribute('href',url);
            elem.setAttribute('title',title);
            elem.setAttribute('rel','sidebar');
            elem.click();
        } else if(document.all) { // ie
            window.external.AddFavorite(url, title);
        }
    }    
    
    this.isEmptyAlert = function(elName,eMsg) {
        var el = document.getElementById(elName);
        if (el.value == "") {
            alert(eMsg);
            return(false);
        }
        return(true);
    }
    
    this.isValidEmailAlert = function(elName,eMsg) {
        var el = document.getElementById(elName);
        if (!this.validEmail(el.value)) {
            alert(eMsg);
            return(false);
        }
        
        return(true);
    }
    
    this.isValidDateAlert = function(elName,eMsg) {
        var el = document.getElementById(elName);
        if (this.getDate(el.value)==null) {
            alert(eMsg);
            return(false);
        }
        
        return(true);
    }        
    
    this.getDate = function(DateValue){
        var checkstr = "0123456789";
        var Datevalue = "";
        var DateTemp = "";
        var seperator = ".";
        var day;
        var month;
        var year;
        var leap = 0;
        var err = 0;
        var i;
        err = 0;

           /* Delete all chars except 0..9 */
           for (i = 0; i < DateValue.length; i++) {
              if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
                 DateTemp = DateTemp + DateValue.substr(i,1);
              }
           }
            DateValue = DateTemp;
           /* Always change date to 8 digits - string*/
           /* if year is entered as 2-digit / always assume 20xx */
           if (DateValue.length == 6) {
              DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
           if (DateValue.length != 8) {
              err = 19;}
           /* year is wrong if year = 0000 */
           year = DateValue.substr(4,4);
           if (year == 0) {
              err = 20;
           }
       /* Validation of month*/
       month = DateValue.substr(2,2);
       if ((month < 1) || (month > 12)) {
          err = 21;
       }
       /* Validation of day*/
       day = DateValue.substr(0,2);
       if (day < 1) {
         err = 22;
       }
       /* Validation leap-year / february / day */
       if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
          leap = 1;
       }
       if ((month == 2) && (leap == 1) && (day > 29)) {
          err = 23;
       }
       if ((month == 2) && (leap != 1) && (day > 28)) {
          err = 24;
       }
       /* Validation of other months */
       if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
          err = 25;
       }
       if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
          err = 26;
       }
       /* if 00 ist entered, no error, deleting the entry */
/*       if ((day == 0) && (month == 0) && (year == 00)) {
          err = 0; day = ""; month = ""; year = ""; seperator = "";
       }
*/       
       /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
       if (err == 0) {
            return(new Date(year, month, day, 0, 0,0,0));
       }
       /* Error-message if err != 0 */
       else {
            return(null);
       }
    }    
}
String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
    return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
    return this.replace(/\s+$/,"");
}

