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);
	   }
	}
    
    this.addLoadEvent = function(func) { 
        var oldonload = window.onload; 
        if (typeof window.onload != 'function') { 
            window.onload = func; 
        } else { 
            window.onload = function() { 
                if (oldonload) { 
                    oldonload(); 
                } 
                func(); 
            } 
        } 
    } 	
}
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+$/,"");
}





