/************************************************************
© by Markus C. Unterleitner
Last updated: 24.04.2003
All rights reserved
*************************************************************/

function buildlink(vn, name, domain,tld, link) {
	
var link1 = "<a href='mailto:";
if (vn.length==0)
	link1+=name+"@"+domain+"."+tld+"' class='link1'>"+link+"</a>";
else
	link1+=name+"."+vn+"@"+domain+"."+tld+"' class='link1'>"+link+"</a>";
document.write(link1);
}

function isblank(s) {
	for(var i = 0; i< s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '')) return false;
	}
	return true;
}

function check_email(e) {
ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

	if (e.indexOf(", ")!=0)
		return (true);
	for(i=0; i < e.length ;i++){
		if(ok.indexOf(e.charAt(i))<0){ 
			return (false);
		}	
	} 
	var re_mail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,4})+$/;
	if (!e.match(re_mail)) {
		return (false);
	}		
	return true;
}


function check_pw(e, f) {

//alert(e.value+" "+e.value.length+" "+f.value+" "+f.value.length);
	if (((e.value==null)||(e.value==""))&&((f.value==null)||(f.value==""))) {
		return 0;
	}
	if (((e.value==null)||(e.value==""))&&(f.value.length!=0)) {
		return 1;
	}
	if (((f.value==null)||(f.value==""))&&(e.value.length!=0)) {
		return 2;
	}

    if ((f.value.length < 6) && (e.value.length!=0)) {
        return 3;
    }


var upass_string_new= f.value;
var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sizechar=f.value.length;

    for (var i=0; i<sizechar; i++) {
        if (valid.indexOf(upass_string_new.charAt(i)) < 0) {
        	//alert(i);
            return 4;
        }
    }

var num_valid="0123456789";
var chk=false;

    for (var i=0; i<sizechar; i++) {
        if (num_valid.indexOf(upass_string_new.charAt(i)) >= 0) {
            chk=true;
            i=sizechar;
        }
    }
    if (chk==false)
        return 5;
    
chk=false;

var alph_valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    for (var i=0; i<sizechar; i++) {
        if (alph_valid.indexOf(upass_string_new.charAt(i)) >= 0) {
            chk=true;
            i=sizechar;
        }
    }
    if (chk==false)
        return 6;

	return 0;
 }


function verify(f) {
	var msg;
	var undef;
	var empty_fields ="";
	var errors ="";
	var EMail = true;
	var NSService = false;
	var VPUService = false;
	var VERWEISService = false;
	var ANMService = false;
	var elem_pw;
	var elem_pw1;

	for(var i=0; i<f.length; i++){
		var e=f.elements[i];
		
		//alert(e.name+e.value);
		if (((e.type=="password")||(e.type=="text")||(e.type=="select-one")) && !e.optional) {
		
			if ((e.value == null) || (e.value == "") || (e.value == "-Bitte auswählen-") || isblank(e.value)) {
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		if ((e.name=="ns_mail") && (!e.optional || NSService) ) {
			if (!check_email(e.value)) {
				errors += "* ERROR: \nE-Mail Addresse im Feld "+e.name+" ist fehlerhaft.\n";
				EMail = false;
				continue;
			}
		}
		else if ((e.name=="vpu_mail") && (!e.optional || VPUService) ) {
			if (!check_email(e.value)) {
				errors += "* ERROR: \nE-Mail Addresse im Feld "+e.name+" ist fehlerhaft.\n";
				EMail = false;
				continue;
			}
		}
		else if ((e.name=="anm_mail") && (!e.optional || ANMService) ) {
			if (!check_email(e.value)) {
				errors += "* ERROR: \nE-Mail Addresse im Feld "+e.name+" ist fehlerhaft.\n";
				EMail = false;
				continue;
			}
		}
		else if ((e.name=="verweis_mail") && (!e.optional || VERWEISService) ) {
			if (!check_email(e.value)) {
				errors += "* ERROR: \nE-Mail Addresse im Feld "+e.name+" ist fehlerhaft.\n";
				EMail = false;
				continue;
			}
		}
		else if (e.name=="ns_service" ) {
			if (e.value == "1")
			{
				NSService = true;
				continue;
			}
		}
		else if (e.name=="vpu_service" ) {
			if (e.value == "1")
			{
				VPUService = true;
				continue;
			}
		}
		else if (e.name=="anm_service" ) {
			if (e.value == "1")
			{
				ANMService = true;
				continue;
			}
		}
		else if (e.name=="verweis_service" ) {
			if (e.value == "1")
			{
				VERWEISService = true;
				continue;
			}
		}
		else if ((e.name=="ns_mail_art" ) && (!e.optional || NSService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="ns_mail_filter" ) && (!e.optional || NSService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="verweis_mail_art" ) && (!e.optional || VERWEISService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="verweis_mail_filter" ) && (!e.optional || VERWEISService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="anm_mail_art" ) && (!e.optional || ANMService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="anm_mail_filter" ) && (!e.optional || ANMService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="vpu_mail_filter" ) && (!e.optional || VPUService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if ((e.name=="vpu_mail_art" ) && (!e.optional || VPUService)) {
			if (e.value == "keine")
			{
				empty_fields += "\n	"+e.name;
				continue;
			}
		}
		else if (e.name=="old_pw" ) {
			elem_pw = e;
			continue;
		}
		else if (e.name=="new_pw" ) {
			elem_pw1 = e;
			val1=check_pw(elem_pw, elem_pw1);
//			alert(val1);
			if (val1!=0) {
				if (val1==1)
					errors += "* ERROR: \nDas alte Passwort wurde nicht angegeben.\n";
				else if (val1==2)
					errors += "* ERROR: \nEs wurde kein neues Passwort angegeben.\n";
				else if (val1==3)
					errors += "* ERROR: \nDas neue Passwort ist zu kurz. Bitte mindestens 6 alphanumerische Zeichen angeben.\n";
				else if (val1==4)
					errors += "* ERROR: \nDas neue Passwort enthält ungültige Zeichen. Gültig sind Klein- und Großbuchstaben sowie Ziffern. (keine Umlaute)\n";
				else if (val1==5)
					errors += "* ERROR: \nDas neue Passwort enthält nur Buchstaben. Bitte auch mindestens eine Ziffer angeben.\n";
				else if (val1==6)
					errors += "* ERROR: \nDas neue Passwort enthält nur Ziffern. Bitte auch mindestens einen Buchstaben angeben.\n";
					
				continue;
			}
		}
	}
	if (!empty_fields && ! errors) return true;
	
	msg = "_____________________________________________________\n\n";
	msg+= "Das Formular wurde wegen der folgenden Fehler nicht übertragen.\n"
	msg+= "Bitte korregieren Sie diese Fehler und wiederholen Sie danach die Anfrage.\n";
	msg+= "_____________________________________________________\n\n";
	
	if (empty_fields) {
		msg+="* Diese Felder sind leer: " + empty_fields +"\n";
		if (errors) msg+="\n";
	}
	msg+= errors;
	alert(msg);
	return false;
}

function verify_termin(f) {
	var msg;
	var undef;
	var empty_fields ="";
	var errors ="";
	var var1 = 0;
	var var2 = 0;
	var var3 = 0;
	var var4 = 0;
	var var5 = 0;
	var var6 = 0;
	var var7 = 0;
	var var8 = 0;
	var var9 = 0;
	var var10 = 0;
	var var11 = 0;
	var tmp;
	var tmp2;
			
	for(var i=0; i<f.length; i++){
		var e=f.elements[i];
		//alert(e.type);
		
		if (((e.type=="text")|| (e.type=="select-one")|| (e.type=="textarea")) && !e.optional) {

			//alert("'"+e.id+"'");
			if ((e.value == null) || (e.value == "") || (e.value == "0") || (e.value == "nein") || (e.value == "keine") || (e.value == "keiner") || isblank(e.value)) {

				if (e.id=="ort_num" ) {
					empty_fields += "\n	Ort";
				}
				else if (e.id=="termin_periode" ) {
					empty_fields += "\n	"+e.id;
				}
				else if (e.id=="termin_typ" ) {
					empty_fields += "\n	"+e.id;
				}
				else if (e.id=="kursart" ) {
					var4=1;
				}
				else if (e.id=="periodisch_tag" ) {
					var5=1;
				}
				else if (e.id=="periodisch_abstand" ) {
					var6=1;
				}
				else if (e.id=="periodisch_senden" ) {
					var7=1;
				}
				else if (e.id=="einzel_wochentag" ) {
					var8=1;
				}
				else if (e.id=="einzel_datum" ) {
					var9=1;
				}
				else if (e.id=="uhrzeit_start" ) {
					empty_fields += "\n	"+e.id;
				}
				else if (e.id=="uhrzeit_ende" ) {
					var11=1;
				}
				continue;
			}
			else
			{
				if (e.id=="termin_periode" ) {
					if (e.value == "periodisch")
						var2=2;
					else if (e.value == "Einzeltermin")
						var2=3;
					else
						var2=1;
				}
				else if (e.id=="termin_typ" ) {
					if (e.value == "Nachschulung")
						var3=2;
					else if (e.value == "VPU")
						var3=3;
					else
						var3=1;
				}
				else if (e.id=="kursart" ) {
					if (e.value == "Alkoholdelikt" || e.value == "Verkehrsauffälligkeit" || e.value == "Drogendelikt" || e.value == "Medikamentenmißbrauch" || e.value == "Vormerksystem")
						var4=2;
					else
						var4=1;
				}
				else if (e.id=="periodisch_tag" ) {
					if (e.value == "montags" || e.value == "dienstags" || e.value == "mittwochs" || e.value == "donnerstags" || e.value == "freitags" || e.value == "samstags" || e.value == "sonntags")
						var5=2;
					else
						var5=1;
				}
				else if (e.id=="periodisch_abstand" ) {
					if (e.value == "täglich")
						var6=2;
					else if (e.value == "wöchentlich" || e.value == "alle 2 Wochen" || e.value == "alle 3 Wochen" || e.value == "alle 4 Wochen" || e.value == "monatlich")
						var6=3;
					else
						var6=1;
				}
				else if (e.id=="periodisch_senden" ) {
					if (e.value == "bei Aktualisierung der Ortstermine" || e.value == "monatlich")
						var7=2;
					else
						var7=1;
				}
				else if (e.id=="einzel_wochentag" ) {
					if (e.value == "Montag" || e.value == "Dienstag" || e.value == "Mittwoch" || e.value == "Donnerstag" || e.value == "Freitag" || e.value == "Samstag" || e.value == "Sonntag")
						var8=2;
					else
						var8=1;
				}
				else if (e.id=="einzel_datum" ) {
					tmp=e.value;
					tmp2=tmp.split(".");
					//alert(tmp2[0]+"_"+parseInt(tmp2[0],10)+","+tmp2[1]+"_"+parseInt(tmp2[1],10)+","+parseInt(tmp2[2])+"_"+tmp2[2]+":"+tmp2.length+":"+tmp.length);
					//if (tmp.length==10 && tmp2.length==3 && parseInt(tmp2[0])>0 && parseInt(tmp2[0])<32 && parseInt(tmp2[1])>0 && parseInt(tmp2[1])<13 && parseInt(tmp2[2])>2008 && parseInt(tmp2[2])<2011 )
					//Error if day 08 or 09
					if (tmp.length==10 && tmp2.length==3 && (parseInt(tmp2[0],10)>0 && parseInt(tmp2[0],10)<32) && (parseInt(tmp2[1],10)>0 && parseInt(tmp2[1],10)<13) && parseInt(tmp2[2])>2009 && parseInt(tmp2[2])<2013 )
						var9=2;
					else if (tmp.length!=0)
						var9=3;					
					else
						var9=1;
				}
				else if (e.id=="uhrzeit_start" ) {
					if (e.value == "ganztag")
						var10=2;
					else
						var10=3;
				}
				else if (e.id=="uhrzeit_ende" ) {
					if (e.value == "keine")
						var11=1;
					else
						var11=2;
				}
			}
		}
	}
	
	if (var2==2 && (var5==1 && var6!=2 || var6 == 1))
	{
		errors+="* Bei periodischen Terminen müssen die Felder periodisch_tag (sofern der Termin nicht täglich ist) und periodisch_abstand angegeben werden.\n";
	}		
	if (var2==2 && var5!=1 && var6==2)
	{
		errors+="* Bei täglichen Terminen darf das Feld periodisch_tag nicht angegeben werden.\n";
	}		
	//alert(var2+""+var8+""+var9);
	if (var2==3 && (var8==1 || var9 != 2))
	{
		errors+="* Bei Einzelterminen muss der einzel_wochentag sowie das Datum bei einzel_datum angegeben werden. Das einzel_datum muss 10 stellig im Format TT.MM.JJJJ eingetragen werden.\n";
	}		
	if (var2==2 && (var8!=1 || var9 != 1))
	{
		errors+="* Bei periodischen Terminen dürfen die Felder einzel_wochentag sowie das Datum bei einzel_datum nicht angegeben werden.\n";
	}		
	if (var2==3 && (var5!=1 || var6 != 1))
	{
		errors+="* Bei Einzelterminen dürfen die Felder periodisch_tag und periodisch_abstand nicht angegeben werden.\n";
	}		
	if (var3==2 && var4==1)
	{
		errors+="* Bei Termin_typ Nachschulung muss die Kursart angegeben werden.\n";
	}		
	if (var3==3 && var4!=1)
	{
		errors+="* Bei Termin_typ VPU darf die Kursart nicht angegeben werden.\n";
	}		
	if (var11==1 && var10!=2)
	{
		errors+="* Beim Termin muss eine Endzeit angegeben werden, sofern der Termin nicht ganztägig ist.\n";
	}		
	if (var11!=1 && var10==2)
	{
		errors+="* Beim Termin darf keine Endzeit angegeben werden, da der Termin ganztägig ist.\n";
	}		
		
	if (!empty_fields && ! errors) return true;
	
	msg = "_____________________________________________________\n\n";
	msg+= "Das Formular wurde wegen der folgenden Fehler nicht übertragen.\n"
	msg+= "Bitte korregieren Sie diese Fehler und schicken Sie die Form danach ab.\n";
	msg+= "_____________________________________________________\n\n";
	
	if (empty_fields) {
		msg+="* Diese Felder sind leer: " + empty_fields +"\n";
		if (errors) msg+="\n";
	}
	msg+= errors;
	alert(msg);
	return false;
}

function verifyres()
{
var res=window.screen.width+"x"+window.screen.height+"x"+window.screen.colorDepth; 
Bild01 = new Image();
Bild01.src = "verifyres.php?dep="+res;
cplg();
}


