function userEdit(aktuser,uid,uname,unname,uvname,ustatus,session)
{
	var del=0;
	if(aktuser!=uid){
		del=confirm("Username: "+
		uname+"\nName: "+
		uvname+" "+
		unname+"\nStatus: "+
		ustatus+"\nUser-ID: "+
		uid+"\n\nAus Datenbank löschen?");
	}
	else{
		alert("Administrator kann nicht gelöscht werden!");
		return;
	}
	if(del){
		var child=window.open("template.php?seite=deluser&user="+uid+"&session="+session,"loeschen","width=550,height=300,left=150,top=100");
	}
	else
		alert("Mitarbeiter wird nicht gelöscht");
}
/**
 * Funktion überprüft die Eingaben in searchform.php
 *
 * Alter und PLZ muessen aufsteigend sein, da sonst
 * die sqlabfrage fehlerhaft wird.
 */
	function checkInputFields()
	{
		var alter_von = parseInt(document.searchform.alter1.value);
		var alter_bis = parseInt(document.searchform.alter2.value);
		var plz_von = parseInt(document.searchform.zipcode_from.value);
		var plz_bis = parseInt(document.searchform.zipcode_until.value);
		var fehlerstring="";
		var returnvalue=true;

		if(alter_von > alter_bis)
		{
			fehlerstring="Alter nicht aufsteigend.\n";
		}
		if(plz_von > plz_bis)
		{
			fehlerstring+="PLZ nicht aufsteigend.\n";
		}

		if(fehlerstring!="")
		{
			fehlerstring="Fehler bei der Eingabe:\n"+fehlerstring;
			returnvalue=false;
			alert(fehlerstring);
		}
		return returnvalue;
	}

/**
 * Funktionen für die Profilsuche (dosearch.php)
 *
 */
 function markBoxes()
{
	//alert(document.table.elements.length);
	for(var i=0; i<document.table.elements.length;i++)
	{
		var box=document.table.elements[i];

		if(box.name!='markall'&&box.id=='userid')
		{
			box.checked=document.table.markall.checked;
		}
	}
}

//pruefen, ob die max. Anzahl an Mitarbeitern ueberschritten wird
function getBoxes(numReq,numAct){
	var req=parseInt(numReq);
	var act=parseInt(numAct);
	var counter=0;
	for(var i=0;i<document.table.elements.length;i++){
		var box=document.table.elements[i];
		if(box.name!='markall'&&box.id=='userid'){
			if(box.checked)
				counter++;
		}
	}
	if((counter*1 + act*1) > req*1){
		var remain=req*1-act*1;
		alert("Maximale Profilzahl kann nicht überschritten werden!\n\nAnzahl benötigter Profile: "+remain);
		return false;
	}
	else{
		return true;
	}
}
/**
 * Funktionen für projectadd2.php und projectadd.php
 */
/************** projectadd_check() ********************
Abpruefen der obligatorischen Felder auf Existenz,
Felder aus der Datei doprojectadd.php werden geprueft.
Bei einem Fehler wird false zurueck geliefert sonst true.
zu pruefende Felder :
-project_name
-project_orderer
-project_manager
-project_status
-project_priority
version 1.1
parseInt fuer 1.09.xx 1.10.xx vergleich
**************************************************/

function projectadd_check()
{
   var projektname  = document.form1.project_name.value=="";
   var auftraggeber = document.form1.project_orderer.value=="";
   var projektleiter = document.form1.project_manager.value=="";
   var projektstatus = document.form1.project_status.value==0;
   var projektprioritaet= document.form1.project_priority.value==0;
   if(projektname || auftraggeber || projektleiter || projektstatus || projektprioritaet)
   {
      var str=" ";
      if(projektname)       str  = "Projektname\n";
      if(auftraggeber)      str += " Auftraggeber\n";
      if(projektleiter)     str += " Projektleiter\n";
      if(projektstatus)     str += " Projektstatus\n";
      if(projektprioritaet) str += " Projektprioritaet\n";
      alert("Unvollstaendige Eingabe: \n "+str);

      return false;
   }//if(projektname || auftraggeber || projektleiter)
   else
   {
     var fehler="";
     fehler =  projectadd_checkDatum();
     if(fehler!="")
     {
       alert("Es ist ein Fehler bei der Eingabe des Projektzeitraums aufgetreten!\n"+
       fehler);
       return false;
     }
     else
     {
  	return true;
     }
   }
}//function checkfields()


/************projectadd_checkDatum()*******************
Fkt liefert bei unstimmigkeit des Datums einen
String mit der entsprechenden Fehlerbeschreibung,
falls es keine Beanstandung gibt bleibt
der String leer -> ""
******************************************************/

function projectadd_checkDatum()
{

   var startjahr = document.form1.start_year.value;
   var startmonat = document.form1.start_month.value;
   var starttag = document.form1.start_day.value;

   var endejahr = document.form1.finish_year.value;
   var endemonat = document.form1.finish_month.value;
   var endetag = document.form1.finish_day.value;

   var fehlergrund="";

   if(parseInt(endejahr) < parseInt(startjahr) )
   {
   	fehlergrund=" Ende Jahr vor dem Anfang Jahr";
        return fehlergrund;
   }
   else if(parseInt(startjahr) == parseInt(endejahr))
   {
      if(parseInt(endemonat) < parseInt(startmonat) )
      {
     	 fehlergrund=" Ende Monat vor dem Anfang Monat im selben Jahr";
     	 return fehlergrund;
      }//if(parseInt(endemonat) < parseInt(startmonat) )

      else if(parseInt(startmonat) == parseInt(endemonat))
      {
         if(parseInt(endetag) < parseInt(starttag))
         {
           fehlergrund=" Ende Tag vor dem Anfang Tag im selben Jahr und Monat";
     	   return fehlergrund;
         }// if(endetag) < starttag))

         else if(parseInt(starttag) == parseInt(endetag))
         {
         	fehlergrund=" Anfang und Ende der Projektdauer sind gleich";
         	return fehlergrund;
         }//else if(starttag == endetag)

         else
         {
         	return fehlergrund;
         }

      }//else if(parseInt(startmonat) == parseInt(endemonat))

      else
      {
      	return fehlergrund;
      }
   }
   else
   {
   	return fehlergrund;
   }

}//function checkDatum()


/************** pwvergess_check() ********************
Überprüfen, ob alle Felder ausgefüllt sind
**************************************************/

function pwvergess_check()
{
	var vname = document.form1.vorname.value=="";
	var nname = document.form1.name.value=="";
	var mail = document.form1.email.value=="";

	if(vname || nname || mail){
		var str="";
		//if(uname)       str  = "Username\n";
		if(vname)      str += "Vorname\n";
		if(nname)     str += "Nachname\n";
		if(mail)     str += "Email\n";
		alert("Unvollstaendige Eingabe: \n "+str);
		return false;
	}
	else{
  		return true;
	}
}

/**
 * Funktionen die eingaben in useranmeld.php zu überprüfen
 *
 */

/************** checkfields() ********************
Überprüfen, ob alle Felder ausgefüllt sind
**************************************************/

function checkfields()
{
	var uname  = document.form1.username.value=="";
	var vname = document.form1.vorname.value=="";
	var nname = document.form1.name.value=="";
	var mail = document.form1.email.value=="";
	var pw1= document.form1.pass1.value=="";
	var pw2= document.form1.pass2.value=="";

	if(uname || vname || nname || mail || pw1 || pw2){
		var str="";
		if(uname)       str  = "Username/n";
		if(vname)      str += "Vorname/n";
		if(nname)     str += "Nachname/n";
		if(mail)     str += "Email/n";
		if(pw1) str += "Passwort/n";
		if(pw2) str += "Passwort-Wiederholung/n";
		alert("Unvollstaendige Eingabe: /n "+str);
		return false;
	}
	else{
		uname=document.form1.username.value;
		vname=document.form1.vorname.value;
		nname=document.form1.name.value;
		mail=document.form1.email.value;
		pw1=document.form1.pass1.value;
		pw2=document.form1.pass2.value;

  		var fehler= new Array("","","","","","","");
		fehler[0] = checkPassLen(pw1);
		fehler[1] =  checkPass(pw1,pw2);
		fehler[2] = checkNameIntegrity(uname,0);
		fehler[3] = checkNameLen(uname);
		fehler[4] = checkMailIntegrity(mail);
		fehler[5] = checkNameIntegrity(vname,1);
		fehler[6] = checkNameIntegrity(nname,2);

		var err="Folgende Fehler sind aufgetreten:/n/n";
		var errcnt=0;
		for(var i in fehler){
			if(fehler[i]!=""){
				errcnt=1;
				err+="- "+fehler[i]+"/n";
			}
		}
		if(errcnt){
			alert(err+"/nBitte korrigieren Sie Ihre Eingaben");
			return false;
		}
		return true;
	}
}//function checkfields()

//******************************************************
//function checkfields2() -> gleich wie oben, nur zuständig, wenn Benutzer seine Daten ändert
//******************************************************

function checkfields2(){
	var uname  = document.form1.user_name.value=="";
	var vname = document.form1.firstname.value=="";
	var nname = document.form1.lastname.value=="";
	var mail = document.form1.mail.value=="";
	var oldpass=document.form1.oldpass2.value==""

	if(uname || vname || nname || mail || oldpass){
		var str="";
		if(uname)       str  = "Username/n";
		if(vname)      str += "Vorname/n";
		if(nname)     str += "Nachname/n";
		if(mail)     str += "Email/n";
		if(oldpass) str += "Passwort/n";
		alert("Unvollstaendige Eingabe: /n "+str);
		return false;
	}
	else{
		uname=document.form1.user_name.value;
		vname=document.form1.firstname.value;
		nname=document.form1.lastname.value;
		mail=document.form1.mail.value;
		oldpass=document.form1.oldpass2.value;
		var pw1= document.form1.pwd_new.value;
		var pw2= document.form1.pwd_new_check.value;

  		var fehler= new Array("","","","","","","");
  		if(pw1!='' || pw2!=''){
			fehler[0] = checkPassLen(pw1);
			fehler[1] =  checkPass(pw1,pw2);
		}

		fehler[2] = checkNameIntegrity(uname,0);
		fehler[3] = checkNameLen(uname);
		fehler[4] = checkMailIntegrity(mail);
		fehler[5] = checkNameIntegrity(vname,1);
		fehler[6] = checkNameIntegrity(nname,2);

		var err="Folgende Fehler sind aufgetreten:/n/n";
		var errcnt=0;
		for(var i in fehler){
			if(fehler[i]!=""){
				errcnt=1;
				err+="- "+fehler[i]+"/n";
			}
		}
		if(errcnt){
			alert(err+"/nBitte korrigieren Sie Ihre Eingaben");
			return false;
		}
		return true;
	}
}//function checkfields2()

//***************************************************************************************
//function checkfields3()
//***************************************************************************************

function checkfields3()
{
	var uname  = document.form1.username.value=="";
	var vname = document.form1.vorname.value=="";
	var nname = document.form1.name.value=="";
	var mail = document.form1.email.value=="";
	var pw1= document.form1.pass1.value=="";
	var pw2= document.form1.pass2.value=="";
	var stat= document.form1.status.value==0;

	if(uname || vname || nname || mail || pw1 || pw2 || stat){
		var str="";
		if(uname)       str  = "Username/n";
		if(vname)      str += "Vorname/n";
		if(nname)     str += "Nachname/n";
		if(mail)     str += "Email/n";
		if(pw1) str += "Passwort/n";
		if(pw2) str += "Passwort-Wiederholung/n";
		if(stat) str += "Status";
		alert("Unvollstaendige Eingabe: /n "+str);
		return false;
	}
	else{
		uname=document.form1.username.value;
		vname=document.form1.vorname.value;
		nname=document.form1.name.value;
		mail=document.form1.email.value;
		pw1= document.form1.pass1.value;
		pw2= document.form1.pass2.value;

  		var fehler= new Array("","","","","","","");
  		fehler[0] = checkPassLen(pw1);
		fehler[1] =  checkPass(pw1,pw2);
		fehler[2] = checkNameIntegrity(uname,0);
		fehler[3] = checkNameLen(uname);
		fehler[4] = checkMailIntegrity(mail);
		fehler[5] = checkNameIntegrity(vname,1);
		fehler[6] = checkNameIntegrity(nname,2);

		var err="Folgende Fehler sind aufgetreten:/n/n";
		var errcnt=0;
		for(var i in fehler){
			if(fehler[i]!=""){
				errcnt=1;
				err+="- "+fehler[i]+"/n";
			}
		}
		if(errcnt){
			alert(err+"/nBitte korrigieren Sie Ihre Eingaben");
			return false;
		}
		return true;
	}
}//function checkfields3()


/****************checkPass()*************************
Überprüfen, ob Passwörter übereinstimmen
******************************************************/

function checkPass(passwd1,passwd2){
	var fehl="";
   	if(passwd1!=passwd2){
		fehl="Passwort und Passwort-Wiederholung stimmen nicht überein";
	}
	return fehl;
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//			checkPassLen() überprüfen, ob Passwortlaenge ausreichend
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkPassLen(passwd1){
	var fehl="";
	if(passwd1.length<5)
		fehl="Passwort muss mindestens 5 Zeichen lang sein";
	return fehl;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//			checkIntegrity(str) auf unerlaubte Zeichen prüfen
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkIntegrity(str,flag){
	switch (flag) {
		case "0":
			var forbid='//s|/#|/*|/+|/&|/%|/$|/§|//|/<|/>|/,|/;|/:|//|/?|/~|/\'|/"|/¬|/°|/(|/)|/{|/}|/[|/]|/||/\'|/`/';
			break;
		case "1":
			var forbid='//d|/#|/*|/+|/&|/%|/$|/§|//|/<|/>|/_|/,|/.|/;|/:|//|/?|/~|/\'|/"|/¬|/°|/(|/)|/{|/}|/[|/]|/@|/||/\'|/`/';
			break;
	}
	var check=forbid.test(str);
	if(check)
		return true;

	return false;
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//			checkNameIntegrity() prüfen, ob unerlaubte Zeichen im Usernamen
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkNameIntegrity(nam,val){
	var str="";
	var flag="";
	switch(val){
		case 0:
			str="Username";
			flag=0;
			break;
		case 1:
			str="Vorname";
			flag=1;
			break;
		case 2:
			str="Nachname";
			flag=1;
			break;
	}
	var fehl="";
	if(checkIntegrity(nam,flag))
		fehl=str+" enthält unerlaubte Sonderzeichen";
	return fehl;
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//			checkNameLen() überprüfen, ob Passwortlaenge ausreichend
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkNameLen(usnam){
	var fehl="";
	if(usnam.length<5)
		fehl="Username muss mindestens 5 Zeichen lang sein";
	return fehl;
}


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//				checkMailIntegrity();
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkMailIntegrity(mail){
	var zeichen="/ ;:,äüö";
	var fehl="";
	var fault=0;

	for( i=0;i<mail.length;i++ ){
  		badchar=mail.charAt(i);
  		if (zeichen.indexOf(badchar)>-1)
			fault=1;
	}

	//checken, ob @ bzw. . vorhanden
		if(mail.indexOf('@')==-1 ||mail.indexOf('.')==-1)
		fault=1;

	//@position richtig?
	atPosition=mail.indexOf('@');
	if(mail.indexOf('@',atPosition+1)>-1)


	//nach dem @ muss ein Punkt folgen.....
	if(mail.indexOf('.',atPosition)==-1)
		fault=1;

	//..aber nicht gleich danach
	punktPosition=mail.lastIndexOf('.');
	if(punktPosition+3>mail.length)
		fault=1;

	//Länge d.Top-Level-Domain richtig?
	if(punktPosition+5<mail.length)
		fault=1;

	if(fault==1)
		fehl="Email-Adresse ist ungültig";
	return fehl;

}

/**
 * Funktionen für den Terminplaner!
 *
 */
function assignSelectedUser(assignUser,project,session)
{
	var child=window.open("terminplan.php?aktion=termin_neu&session="+session+"&user="+assignUser+"&project="+project,"loeschen","width=550,height=300,left=150,top=100");
}
function openTerminId(termin,session,project,eort)
{
	var child=window.open("terminplan.php?aktion=zeige&session="+session+"&terminid="+termin+"&project="+project+"&eortid="+eort,"loeschen","width=550,height=500,left=150,top=100,scrollbars=yes,resizable=yes");
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
	eval(targ+".location=\'"+selObj.options[selObj.selectedIndex].value+"\'");
	if (restore) selObj.selectedIndex=0;
}

function openMitarbeiter(session,pid,main)
{
	//alert(main);
	//var child=window.open("editmitarbeiter.php?session="+session+"&project="+pid+"","loeschen","width=800,height=600,left=150,top=100,scrollbars=yes");
	var child=window.open("template.php?seite="+main+"&session="+session+"&project="+pid+"","loeschen","width=550,height=350,left=150,top=100,scrollbars=yes,resizable=yes");
}

function assignUserDate(project,session,kw,day,year)
{
	var child=window.open("terminplan.php?week="+kw+"&day="+day+"&year="+year+"&aktion=termin_neu&session="+session+"&project="+project,"loeschen","width=500,height=400,left=150,top=100,scrollbars=yes,resizable=yes");
}

function openLog(project,session,kw,day,year)
{
	var child=window.open("template.php?seite=projectlog&week="+kw+"&day="+day+"&year="+year+"&aktion=termin_neu&session="+session+"&project="+project,"loeschen","width=500,height=400,left=150,top=100,scrollbars=yes,resizable=yes");
	if (!child.opener)
	child.opener = self;
}


function viewProject(ProjectID,session){
	window.open("index.php?main=viewproject&session="+session+"&project="+ProjectID,"_self");
}

function addNewOrt(session,project,aktion) {
	window.open("editeinsatzorte.php?project="+project+"&session="+session+"&aktion=add","_self");
}

function openEinsatzOrte(session,project,aktion){
	var child=window.open("editeinsatzorte.php?session="+session+"&project="+project+"&aktion="+aktion,"loeschen","width=500,height=350,left=150,top=100,scrollbars=yes,resizable=yes");
	if (!child.opener)
	child.opener = self;
}

function chkOrtForm () {
  if (document.einsatzOrte.stadt.value == "") {
    alert("Bitte den Stadtnamen eingeben!");
    document.einsatzOrte.stadt.focus();
    return false;
  }
  if (document.Formular.Mail.value.indexOf("@") == -1) {
    alert("Keine gueltige eMail Adresse!");
    document.Formular.Mail.focus();
    return false;
  }
}

function openTermin (session,project,week,day,year,userid,ortid,terminid) {
	var child=window.open("terminplan.php?week="+week+"&day="+day+"&year="+year+"&aktion=zeige&session="+session+"&project="+project+"&user="+userid+"&eortid="+ortid+"&terminid="+terminid,"Termin","width=500,height=600,left=150,top=100,scrollbars=yes,resizable=yes");
	if (!child.opener)
	child.opener = self;
}

function closeReload() {
//	opener.window.location.reload(); // Funzt irgendwie nicht richtig, es wird nicht das parent sondern das eigene neu geladen. Projekte bearbeiten -> Mitarbeiter bearbeiten -> einsatz planen.
	self.close();
	}
function importOrte(project,session) {
	opener.window.location.href="index.php?main=tourimport&session="+session+"&project="+project;
	self.close();
}

/**
 * Funktion prüft die Eingaben in userconfig2.php
 *
 */
function userconfig_check(){
	//alert(document.form1.autotyp.value);
	var vname = document.form1.firstname.value=="";
	var nname = document.form1.lastname.value=="";
	var genderw = document.form1.sex.checked==false;
	var genderm= document.form1.sex1.checked==false;
	var street= document.form1.street.value=="";
	var plz= document.form1.zipcode.value=="";
	var wohn=document.form1.city.value=="";
	var tel= document.form1.tel1.value=="";
	var mail  = document.form1.email.value=="";

	if(vname || nname || (genderw && genderm) || street || plz || wohn || tel || mail)
	{
		var str="";
		if(vname)     str  = "Vorname\n";
		if(nname)     str += "Nachname\n";
		if(genderw && genderm )    str += "Geschlecht\n";
		if(street)    str += "Strasse\n";
		if(plz)       str += "Postleitzahl\n";
		if(wohn)  str += "Wohnort\n";
		if(tel)       str += "Telefon\n";
		if(mail)      str += "Email\n";

		alert("Unvollstaendige Eingabe: \n "+str);
		return false;
	}
	else{
  		var auto=document.form1.auto.value;
  		var autotyp=document.form1.autotyp.value;
  		if(auto==0 && autotyp!=""){
  			alert("Eingabe überprüfen:\nAuto/Autotyp");
  		}
  		else
  			return true;
  	}
}

/**
 * Funktion überprüft die Eingaben in editmitarbeiter.php
 *
 */
/*
* Version 1.1
* Date 24.10.04
* Öffnen des Suchinterfaces um zu einem bestehenden Projekt
* Mitarbeiter hinzuzufügen
* session = aktuelle Session
* name = Projekt welchem Mitarbeiter hinzugefügt werden soll
* numReq= Anzahl d. benötigten Profile
* numAct= Anzahl Profile aktuell
* nicht mehr über die index.php aufrufen der mitarbeitersuche sondern im eigenen Fenster
*/

function openSearchFrom(session,name,seite,numReq,numAct)
{
	//alert(seite);
	//24.10.04 window.open("index.php?main=searchform&session="+session+"&project="+name,"_self","scrollbars=yes,menubar=yes");
	window.open("template.php?seite="+seite+"&session="+session+"&project="+name+"&numReq="+numReq+"&numAct="+numAct,"_self");
	//window.open("searchform.php?seite=searchform&session="+session+"&project="+name,"_self");

}
function deleteSelectedUser(deleteUser,project,session)
{
	//alert(session);
  	if(confirm("Mitarbeiter löschen?"))
	// window.open("deleteworker.php?deleteUser="+deleteUser+"&userProject="+project,"_self");
	 var child=window.open("template.php?seite=deleteworker&session="+session+"&worker="+deleteUser+"&project="+project,"loeschen","width=550,height=300,left=150,top=100");
}

