function myOnLoad() {
	setCurser();
	initializeTooltip();
}

function SetAction(strActionID,strTargetPage) {
  window.location.replace('/KCN/start.php');
  document.frmMain.hidAction.value= strActionID;
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
  // alert(strTargetPage + ' ' + strActionID);
}

function EditUser(strUserId,strTargetPage) {
  document.frmMain.hidAction.value= 'edituser';
  document.frmMain.action = strTargetPage;
  document.frmMain.hidVar1.value= strUserId;
  document.frmMain.submit();
}

function DeleteUser(strUserId,strTargetPage) {
  var ret;
  ret = confirm("Soll dieser Benutzer wirklich aus der Datenbank gelöscht werden? Das Löschen von Benutzern ist i.d.R. nur bei Austritten notwendig. (Diese Aktion kann nicht Rückgängig gemacht werden!)");
  if (ret == true) {
	  document.frmMain.hidAction.value= 'deleteuser';
	  document.frmMain.action = strTargetPage;
	  document.frmMain.hidVar1.value= strUserId;
	  document.frmMain.submit();
  }
}

function NewUser(strTargetPage) {
  document.frmMain.hidAction.value= 'newuser';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function SaveUser(strTargetPage) {
  	
  	if(document.frmMain.inUserName != null)
  	{
	  	if (document.frmMain.inUserName.value.length == 0) {
	  		alert('Das Feld Benutzername muss einen gültigen Wert enthalten');
	  		return false;
	  	}
	}

  	if (document.frmMain.inName.value.length == 0) {
  		alert('Das Feld Nachname muss einen gültigen Wert enthalten');
  		return false;
  	}
 
  	if (document.frmMain.inFirstName.value.length == 0) {
  		alert('Das Feld Vorname muss einen gültigen Wert enthalten');
  		return false;
  	}
  	
  	// empty Date allowed! 
  	if(document.frmMain.inBirthday.value.lenght > 0) {
	  	if (!isValidDate(document.frmMain.inBirthday.value)) {
	  		return false;
	  	}
	}

  	document.frmMain.hidAction.value= 'saveuser';
  	document.frmMain.action = strTargetPage;
  	document.frmMain.submit();
}

function SaveUserOwn(strTargetPage) {

  	if (!isValidDate(document.frmMain.inBirthday.value)) {
  		return false;
  	}
  	
  	document.frmMain.hidAction.value= 'saveuserown';
  	document.frmMain.action = strTargetPage;
  	document.frmMain.submit();
}


function CreateUser(strTargetPage) {
  	
  	if (document.frmMain.inUserName.value.length == 0) {
  		alert('Das Feld Benutzername muss einen gültigen Wert enthalten');
  		return false;
  	}
  	
  	
  	if (document.frmMain.inName.value.length == 0) {
  		alert('Das Feld Nachname muss einen gültigen Wert enthalten');
  		return false;
  	}
 
  	if (document.frmMain.inFirstName.value.length == 0) {
  		alert('Das Feld Vorname muss einen gültigen Wert enthalten');
  		return false;
  	}

  	document.frmMain.hidAction.value= 'createuser';
  	document.frmMain.action = strTargetPage;
  	document.frmMain.submit();
}

function ResetPassword(strTargetPage) {
  	document.frmMain.hidAction.value= 'resetpassword';
  	document.frmMain.action = strTargetPage;
  	document.frmMain.submit();
}

function DoPasswordReset(strTargetPage) {

  	if (document.frmMain.inNewPwd.value != document.frmMain.inNewPwdConf.value) {
  		alert('Das neue Passwort und und das wiederholte Passwort stimmen nicht überein');
  		return false;
  	}
  	
  	if (document.frmMain.inNewPwd.value.length < 6) {
  		alert('Das neue Passwort muss mindestens 6 Zeichen lang sein');
  		return false;
  	}

  	document.frmMain.hidAction.value= 'dopasswordreset';
  	document.frmMain.action = strTargetPage;
  	document.frmMain.submit();
}
 
 
function EditNewsEntry(strNewsEntryId,strTargetPage) {
  document.frmMain.hidAction.value= 'editnews';
  document.frmMain.action = strTargetPage;
  document.frmMain.hidVar1.value= strNewsEntryId;
  document.frmMain.submit();
}

function DeleteNewsEntry(strNewsEntryId,strTargetPage) {
  var ret;
  ret = confirm("Soll dieser News Eintrag wirklich aus der Datenbank gelöscht werden? (Diese Aktion kann nicht Rückgängig gemacht werden!)");
  if (ret == true) {
	  document.frmMain.hidAction.value= 'deletenews';
	  document.frmMain.action = strTargetPage;
	  document.frmMain.hidVar1.value= strNewsEntryId;
	  document.frmMain.submit();
  }
}


function NewNewsEntry(strTargetPage) {
  document.frmMain.hidAction.value= 'newnews';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}


function SaveNewsEntry(strTargetPage) {
/*
  document.frmMain.inHeader.value = escapeHTML(document.frmMain.inHeader.value);
  document.frmMain.txtText.value = escapeHTML(document.frmMain.txtText.value);
  document.frmMain.inURL.value = escapeHTML(document.frmMain.inURL.value);
*/

  reInvalidChars = /["']/g;
/*
  if (reInvalidChars.test(document.frmMain.inHeader.value)) {
  		alert('Die Überschrift enthält ungültige Zeichen. Folgende Zeichen dürfen nicht enthalten sein: \' und "');
  		return false;
  }

  if (reInvalidChars.test(document.frmMain.txtText.value)) {
  		alert('Der Text enthält ungültige Zeichen. Folgende Zeichen dürfen nicht enthalten sein: \' und "');
  		return false;
  }
*/
  if (reInvalidChars.test(document.frmMain.inURL.value)) {
  		alert('Die URL enthält ungültige Zeichen. Folgende Zeichen dürfen nicht enthalten sein: \' und "');
  		return false;
  }

  document.frmMain.hidAction.value= 'savenews';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function CreateNewsEntry(strTargetPage) {
/*
  document.frmMain.inHeader.value = escapeHTML(document.frmMain.inHeader.value);
  document.frmMain.txtText.value = escapeHTML(document.frmMain.txtText.value);
  document.frmMain.inURL.value = escapeHTML(document.frmMain.inURL.value);
*/

  var ret;
  reInvalidChars = /["']/g;
  if (reInvalidChars.test(document.frmMain.inURL.value)) {
  		alert('Die URL enthält ungültige Zeichen. Folgende Zeichen dürfen nicht enthalten sein: \' und "');
  		return false;
  }

  if (document.frmMain.chkMailToAll.checked) {
	  ret = confirm("Die Option \"Als Mail an alle Mitglieder\" ist angehakt. Dadurch wird an JEDES Mitglied eine E-Mail Nachricht mit dem Inhalt des neuen News Eintrag versendet. Sollen wirklich alle Mitglieder diese Mail bekommen?");
	  if (ret == true) {
		  document.frmMain.hidAction.value= 'createnews';
		  document.frmMain.action = strTargetPage;
		  document.frmMain.submit();
	  }
  } else {
	  document.frmMain.hidAction.value= 'createnews';
	  document.frmMain.action = strTargetPage;
	  document.frmMain.submit();
  }
  

}

function UploadFotos(strTargetPage) {
  document.frmMain.hidAction.value= 'uploadphotos';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function CreateGallery(strTargetPage) {
  	if (superTrim(document.frmMain.txtNewGallery.value).length < 1) {
  		alert('Bitte einen Namen für die Galerie eingeben');
  		return false;
  	}
  	
  reInvalidChars = /[\\\/:\*\?"<>\|!]/g;
  if (reInvalidChars.test(document.frmMain.txtNewGallery.value)) {
  		alert('Der Galerie Name enthält ungültige Zeichen. Der Name darf folgende Zeichen nicht enthalten: \\ / : * ? " < > !');
  		return false;
  }

  document.frmMain.hidAction.value= 'creategallery';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function DeleteGallery(strTargetPage) {

  ret = confirm("Achtung! Es werden alle dieser Bilder Galerie unwiederruflich gelöscht. Soll dieser Befehl wirklich ausgeführt werden?");
  if (ret == true) {
	  document.frmMain.hidAction.value= 'deletegallery';
	  document.frmMain.action = strTargetPage;
	  document.frmMain.submit();
  }
}


function ShowUserDetails(strUserId, strTargetPage) {
  document.frmMain.action = strTargetPage;
  document.frmMain.hidVar1.value= strUserId;
  
	var wstat
}

function OpenHelp() {
	var wstat
	wstat=window.open("EventCalendarHelp.html","Hilfe","scrollbars=yes,status=yes,toolbar=no,location=no,directories=no,resizable=no,menubar=no,width=660,height=420")   
}

function UploadArticle(strTargetPage) {
  document.frmMain.hidAction.value= 'uploadarticle';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function DeleteArticle (strTargetPage) {

  ret = confirm("Achtung! Dieser Artikel wird unwiederruflich gelöscht. Soll dieser Befehl wirklich ausgeführt werden?");
  if (ret == true) {
	  document.frmMain.hidAction.value= 'deletearticle';
	  document.frmMain.action = strTargetPage;
	  document.frmMain.submit();
  }
}

function CreateGuestbookEntry (strTargetPage) {
  document.frmMain.hidAction.value= 'guestbook';
  document.frmMain.gbAction.value= 'newentry';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function SaveGuestbookEntry (strTargetPage, strAction) {
  	if (superTrim(document.frmMain.inName.value).length < 1) {
  		alert('Bitte einen Namen angeben');
  		document.frmMain.inName.focus();
  		return false;
  	}

  	if (superTrim(document.frmMain.txtText.value).length < 1) {
  		alert('Bitte eine Nachricht eingeben');
  		document.frmMain.txtText.focus();
  		return false;
  	}
  	
  	if (superTrim(document.frmMain.sicherheitscode.value).length < 5) {
  		alert('Sicherheitscode unvollständig!');
  		document.frmMain.sicherheitscode.focus();
  		return false;
  	}


  document.frmMain.hidAction.value= 'guestbook';
  document.frmMain.gbAction.value= strAction;
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function AcceptGBEntry(strTargetPage, strEntryID) {
  document.frmMain.hidAction.value= 'acceptgbentry';
  document.frmMain.gbAction.value= strEntryID;
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function DeleteGBEntry(strTargetPage, strEntryID) {
  var ret;
  ret = confirm("Soll dieser Gästebucheintrag wirklich aus der Datenbank gelöscht werden? (Diese Aktion kann nicht Rückgängig gemacht werden!)");
  if (ret == true) {
	  document.frmMain.hidAction.value= 'deletegbentry';
	  document.frmMain.gbAction.value= strEntryID;
	  document.frmMain.action = strTargetPage;
	  document.frmMain.submit();
  }	
}

function AddFunny() {
	insertAtCaret(document.frmMain.txtText, ':-)');
    //document.frmMain.txtText.value = document.frmMain.txtText.value + ':-)';
}

function AddIronic() {
    insertAtCaret(document.frmMain.txtText, ';-)');
    //document.frmMain.txtText.value = document.frmMain.txtText.value + ';-)';
}

function AddHappy() {
    insertAtCaret(document.frmMain.txtText, ':-D');
    //document.frmMain.txtText.value = document.frmMain.txtText.value + ':-D';
}

function AddSad() {
    insertAtCaret(document.frmMain.txtText, ':-(');
    //document.frmMain.txtText.value = document.frmMain.txtText.value + ':-(';
}

function AddAbashed() {
    insertAtCaret(document.frmMain.txtText, ':-$');
    //document.frmMain.txtText.value = document.frmMain.txtText.value + ':-$';
}

function AddSurprised() {
    insertAtCaret(document.frmMain.txtText, '8-|');
    //document.frmMain.txtText.value = document.frmMain.txtText.value + '8-|';
}

function AddAngry() {
	insertAtCaret(document.frmMain.txtText, ':-@');
    //    document.frmMain.txtText.value = document.frmMain.txtText.value + ':-@';
}

function PreviewGuestbookEntry(name, email, homepage,text) {
	var stat;
	stat=window.open("widget_guestbookpreview.php?name="+escapeHTML(escape(name))+"&email="+escapeHTML(escape(email))+"&homepage="+escapeHTML(escape(homepage))+"&text="+escapeHTML(escape(text))  ,"Vorschau", "scrollbars=yes,status=no,toolbar=no,location=no,directories=no,resizable=no,menubar=no,width=560,height=320");  
}

function LoadGuestbookPage(pagenumber) {
  document.frmMain.hidAction.value= 'guestbookpage';
  document.frmMain.gbAction.value= pagenumber;
  //document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function OpenMemberMailForm(strTargetPage) {
	// ist mindesten ein Benutzer ausgewählt?
  if (getCheckedCount(document.frmMain.elements['membermails[]']) == 0) {
  		alert('Es muss mindestens ein Mitglied ausgewählt sein');
  		return false;
  } 
  document.frmMain.hidAction.value= 'membermailform';
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}

function SendMail(strActionID,strTargetPage) {
  	if (document.frmMain.txtRecipient.value.length < 1) {
  		alert('Bitte mindestens einen Empfänger angeben');
  		document.frmMain.txtRecipient.focus();
  		return false;
  	}

  	if (document.frmMain.inSubject.value.length < 1) {
  		alert('Bitte einen Betreff angeben');
  		document.frmMain.inSubject.focus();
  		return false;
  	}

  	if (document.frmMain.txtMessage.value.length < 1) {
  		alert('Bitte eine Nachricht eingeben');
  		document.frmMain.txtMessage.focus();
  		return false;
  	}
  	
  	document.frmMain.btnSend.disabled = true;
  	document.getElementById('img_progress').style.visibility = "visible";
  	
    document.frmMain.hidAction.value= strActionID;
	document.frmMain.action = strTargetPage;
	document.frmMain.submit();
}


function ShowYear(strYear, strTargetpage) {
  document.frmMain.hidAction.value= 'calendar';
  document.frmMain.hidView.value = 'year';
  document.frmMain.hidYear.value = strYear;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function ShowDayView(strDate, strTargetpage) {
//  alert("Not implemented yet (Day View)! (" + strDate + ")");

  document.frmMain.hidAction.value= 'calendar';
  document.frmMain.hidView.value = 'day_ro';
  document.frmMain.hidDate.value = strDate;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();

}

function ShowMonthView(intMonth, intYear, strTargetpage) {
  //alert("Not implemented yet! (Month View)" + intMonth + '.' + intYear + ")");

  document.frmMain.hidAction.value= 'calendar';
  document.frmMain.hidView.value = 'month';
  document.frmMain.hidDate.value = intMonth + '.' + intYear;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}


function CreateAppointment(strTargetpage, strDate) {
  document.frmMain.hidAction.value= 'newappointment';
  document.frmMain.hidDate.value = strDate;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function EditAppointment (intAppointmentId, strTargetpage) {
  document.frmMain.hidAction.value= 'editappointment';
  document.frmMain.hidVar1.value= intAppointmentId;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function ShowAppointment (intAppointmentId, strTargetpage) {
  document.frmMain.hidAction.value= 'showappointment';
  document.frmMain.hidVar1.value= intAppointmentId;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function DeleteAppointment (intAppointmentId, strDate, strTargetpage) {
  var ret;
  ret = confirm("Soll dieser Termin wirklich aus der Datenbank gelöscht werden? ");
  if (ret == true) {
	  document.frmMain.hidAction.value= 'deleteappointment';
      document.frmMain.hidView.value = 'day_ro';
  	  document.frmMain.hidDate.value = strDate;
	  document.frmMain.hidVar1.value= intAppointmentId;
	  document.frmMain.action = strTargetpage;
	  document.frmMain.submit();
  }
}

function SaveAppointment (strDate, strTargetpage) {
  	reTime = /^([0-1][0-9]|2[0-3]):([0-5][0-9])$/;
  	
	if (reTime.test(document.frmMain.inStartzeit.value) == false) {
		alert('Bitte eine gültige Startzeit eingeben! Format: SS:MM, z.B. 09:30 oder 21:00');
		document.frmMain.inStartzeit.focus();
		return false;
	}

  	if (document.frmMain.inThema.value.length < 1) {
  		alert('Bitte ein Thema (Terminbeschreibung) eingeben');
  		document.frmMain.inThema.focus();
  		return false;
  	}
  	
  	if (document.frmMain.chkOnline.checked == true) {
  		
  		var app_date;
		var today = new Date();
		
  		today.setHours(0);
  		today.setMinutes(0);
  		today.setSeconds(0);
		
  		if(document.frmMain.inDate == null) {
  			app_date_str = document.frmMain.hidDate.value;
  		} else {
  			app_date_str = document.frmMain.hidDate.value;
  		}
  		aapp_date = app_date_str.split('.');
  		
  		if(IsEmptyString(document.frmMain.inASchluss.value)) {
  			alert('Für Online Anmeldungen muss ein Anmeldeschluss gesetzt werden!');
  			return false;
  		}
  		
  		aa_schluss_date = document.frmMain.inASchluss.value.split('.');
  		
  		app_date = new Date();
  		app_date.setHours(0);
  		app_date.setMinutes(0);
  		app_date.setSeconds(0);
  		app_date.setDate(aapp_date[0]);
  		app_date.setMonth(aapp_date[1]-1);
  		app_date.setFullYear(aapp_date[2]);
  		
  		a_schluss_date = new Date();
  		a_schluss_date.setHours(0);
  		a_schluss_date.setMinutes(0);
  		a_schluss_date.setSeconds(0);
  		a_schluss_date.setDate(aa_schluss_date[0]);
  		a_schluss_date.setMonth(aa_schluss_date[1]-1);
  		a_schluss_date.setFullYear(aa_schluss_date[2]);
  		
  		if(a_schluss_date > app_date) {
  			// Anmeldeschluss nach Eventdatum
  			alert('Das Anmeldeschluss Datum darf nicht hinter dem Termin liegen');
  			return false;
		}

  		if(a_schluss_date < today) {
  			// Anmeldeschluss vor heute
  			if(confirm('Das Anmeldeschluss Datum liegt vor dem aktuellen Datum! Ist das gewünscht?') == false)
  			{ 
	  			return false;
	  		}
  		}
  				
  		if(today > app_date) {
  			// Termin liegt vor dem aktuellen Datum
  			if(confirm('Trotz Online Anmeldung liegt der Termin vor dem aktuellen Datum! Ist das gewünscht?') == false) {
  				return false;
  			}
		}		
  	}

  document.frmMain.hidAction.value= 'saveappointment';
  document.frmMain.hidView.value = 'day_ro';
  document.frmMain.hidDate.value = strDate;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function UnregisterForEvent(anouncementId, appointmentId, strTargetpage) {
  document.frmMain.hidVar1.value= appointmentId;
  document.frmMain.hidVar2.value = anouncementId;
  document.frmMain.hidAction.value= 'unregisterevent';
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function RegisterForEvent(anouncementId, appointmentId, strTargetpage) {
  document.frmMain.hidVar1.value= appointmentId;
  document.frmMain.hidVar2.value = anouncementId;
  document.frmMain.hidAction.value= 'registerevent';
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function AddMemberAppointment(appointmentId, strTargetpage) {
  document.frmMain.hidVar1.value= appointmentId;
  document.frmMain.hidAction.value= 'addmemberappointment';
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function SaveMemberAppointment(anouncementId, strTargetpage, strDate){
  document.frmMain.hidVar1.value = anouncementId;
  document.frmMain.hidVar2.value = document.frmMain.MemberToBeAdded.value;
  document.frmMain.hidView.value = 'day_ro';
  document.frmMain.hidDate.value = strDate;
  document.frmMain.hidAction.value= 'savememberappointment';
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function DeleteParticipant(anouncementId, memberId, membername, strTargetpage) {
  var ret;
  ret = confirm('Soll das Mitglied ' + membername + ' wirklich von diesem Termin abgemeldet werden?');
  if (ret == true) {
	  document.frmMain.hidVar1.value = anouncementId;
	  document.frmMain.hidVar2.value = memberId;
	  document.frmMain.hidView.value = 'day_ro';
	  document.frmMain.hidAction.value= 'deleteparticipant';
	  document.frmMain.action = strTargetpage;
	  document.frmMain.submit();
   }
}

function RequestCredentialsScreen(strTargetpage) {
      document.frmMain.hidAction.value= 'requestusrpwd';
	  document.frmMain.action = strTargetpage;
	  document.frmMain.submit();
}

function RequestCredentials(strTargetpage) {
  var ret;
  ret = confirm('Soll das aktuelle Passwort für das Mitglied mit der Email Adresse ' + document.frmMain.email.value + ' wirklich zurückgesetzt werden?');
  if (ret == true) {
      document.frmMain.hidAction.value= 'requestusrpwdaction';
	  document.frmMain.hidVar1.value = document.frmMain.email.value;
	  document.frmMain.action = strTargetpage;
	  document.frmMain.submit();
   }
}

function ChangeDirectory(strPath, strTargetpage) {
  document.frmMain.hidAction.value= 'minutessub';
  document.frmMain.hidVar1.value = strPath;
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();
}

function SaveMarqee(strTargetpage) {
  document.frmMain.hidAction.value= 'marqueesave';
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();

}


function SaveShopActive(strTargetpage) {
  document.frmMain.hidAction.value= 'shopactsave';
  document.frmMain.action = strTargetpage;
  document.frmMain.submit();

}

function OpenPhotoArchive(strTargetPage) {
  document.frmMain.hidAction.value= 'Archive';
  document.frmMain.action = strTargetPage;
  document.frmMain.hidVar1.value= '';
  document.frmMain.submit();
}

function OpenVorstandMailBody(strTargetPage, strMailID) {
  document.frmMain.hidAction.value= 'showmailvorstand';
  document.frmMain.action = strTargetPage;
  document.frmMain.hidVar1.value= strMailID;
  document.frmMain.submit();
}

function OpenProtocolMailBody(strTargetPage, strMailID) {
  document.frmMain.hidAction.value= 'showprotocolvorstand';
  document.frmMain.action = strTargetPage;
  document.frmMain.hidVar1.value= strMailID;
  document.frmMain.submit();
}

function PrepareAfterTypeChange(control) {
	switch (control.options[control.selectedIndex].value) {
		case '7':
			document.getElementById("inThema").value = "KCN Stammtisch";
			document.getElementById("inStartzeit").value = "20:00";
			document.getElementById("inOrt").value = "Jus Hof (KCN Heim)";
			if (document.getElementById("txtText").value == "") {
				document.getElementById("txtText").value = "Thekendienst: ? & ?";
			}
			break;
		default:
			//alert(control.options[control.selectedIndex].value);
	}
}


function UpdateLogTimespan(strTargetPage) {
  document.frmMain.hidAction.value= 'log';
  document.frmMain.hidVar1.value = document.getElementById("optTime").value;
  document.frmMain.action = strTargetPage;
  document.frmMain.submit();
}


