/* JavaScript Library (2)
	 Enhält Funktionen zur Überprüfung von Formulareingaben
	 Copyright (c) 2003 Realize99
	 written by Joachim Maderer
*/
arrBWL = new Array('scheisse','fuck','shit','arsch','scheiss','scheiße','scheiß'); // BAD WORD LIST
function checkDate(pStrDate) { // Überprüft das übergebene Datum auf Gültigkeit
		var arrDate = new Array(); var leapyear=false;
		var arrDPM = new Array(31,29,31,30,31,30,31,31,30,31,30,31); // "Days per Month"
		arrDate = pStrDate.split('.');
		if(arrDate.length==3&&pStrDate.length==10) {
		if(((Number(arrDate[2])%4==0)&&!(Number(arrDate[2])%100==0))||
			  (Number(arrDate[2])%400==0)) leapyear=true;
		if((leapyear==false)&&(Number(arrDate[1])==2)&&(Number(arrDate[0]>28))) return(false);
		if((Number(arrDate[1])>12)||(Number(arrDate[0])>arrDPM[Number(arrDate[1])])) return(false);
		return(true);
		} else return(false);
}
function checkMail(pStrMail) { // Überprüft die übergebene E-Mail Addr. auf Gültigkeit
			 arrTLDs = new Array('ac','ad','ae','af','ag','ai','al','am','an','ao','aq','ar','arpa','as','at','au','aw','az','ba','bb','bd','be','bf','bg','bh','bi','biz','bj','bm','bn','bo','br','bs','bt','bv','bw','by','bz','ca','cc','cd','cf','cg','ch','ci','ck','cl','cm','cn','co','com','cr','cs','cu','cv','cx','cy','cz','de','dj','dk','dm','do','dz','ec','edu','ee','eg','eh','er','es','et','fi','fj','fk','fm','fo','fr','fx','ga','gb','gd','ge','gf','gg','gh','gi','gl','gm','gn','gov','gp','gq','gr','gs','gt','gu','gw','gy','hk','hm','hn','hr','ht','hu','id','ie','il','im','in','info','int','io','iq','ir','is','it','je','jm','jo','jp','ke','kg','kh','ki','km','kn','kp','kr','kw','ky','kz','la','lb','lc','li','lk','lr','ls','lt','lu','lv','ly','ma','mc','md','mg','mh','mil','mk','ml','mm','mn','mo','mp','mq','mr','ms','mt','mu','mv','mw','mx','my','mz','na','nc','ne','net','nf','ng','ni','nl','no','np','nr','nt','nu','nz','om','org','pa','pe','pf','pg','ph','pk','pl','pm','pn','pr','ps','pt','pw','py','qa','re','ro','ru','rw','sa','sb','sc','sd','se','sg','sh','si','sj','sk','sl','sm','sn','so','sr','st','su','sv','sy','sz','tc','td','tf','tg','th','tj','tk','tm','tn','to','tp','tr','tt','tv','tw','tz','ua','ug','uk','um','us','uy','uz','va','vc','ve','vg','vi','vn','vu','wf','ws','ye','yt','yu','za','zm','zr','zw','bizz'); // erfasste TLDs
			 arrMParts = new Array(); var regTst=/^[a-z0-9_][a-z0-9\._\-]*$/i;
			 arrMParts = pStrMail.split('@'); // E-Mail Adr. in vord. u. hint. T. zerbrechen
			 if(arrMParts.length<2||arrMParts.length>2) return(false); //f1: "kein @ gefunden"
			 arrMParts[0] = arrMParts[0].split('.');
			 arrMParts[1] = arrMParts[1].split('.');
			 for(i=0;i<2;i++) {
			 		for(ii=0;ii<arrMParts[i].length;ii++) {
							if((arrMParts[i][ii]=="")||(!regTst.test(arrMParts[i][ii]))) //f2: ungültige zeichen
								 return(false);
					}
			 }
			 enteredTLD=arrMParts[1][arrMParts[1].length-1].toLowerCase();
			 for(i=0;i<arrTLDs.length;i++) {
			 		if(enteredTLD==arrTLDs[i]) return(true); // in ordnung wenn bis zum...
			 } //...ende eine übereisntimmung mit einer gültigen tld gefunden wurde!..
			 return(false); //...sonst fehler in der email-adresse
}
function checkBadWords(str) {
		var strSearch = '';
		for(i=0;i<arrBWL.length-1;i++) // erzeugen der suchliste 
				strSearch+=arrBWL[i]+'|';
		strSearch+=arrBWL[i];
		var regTst = new RegExp(strSearch,'gi');
		if(regTst.test(str)) return(false); // wenn wörter gefunden wurden rückgabe falsch
		else return(true); // wenn keine wörter gefunden wurden ist der str in ordnung
}
