﻿/*
Verwendung:	Funktionen, die fuer das Modul Leserartikel/Userarticle benoetigt werden
Datum		Autor	Bemerkung
2006-11-15	SZ		Erstellt
*/

// Allgemeine Hilfsfunktionen
	function ist_Schaltjahr(j) {
		return ((j % 4 == 0) && ((j % 100!= 0) || (j % 400 == 0)));	
	}
	<!----------------------------------------------------------------------------->
	function falsches_datum(this_handle) {
		t1 = "Ung\u00fcltiges Datumsformat:  >>  " + this_handle.value + "  <<\n\n";
		t2 = "Erlaubte Trennzeichen: ', . / -' \n\n Jahreszahl: 4stellig (1921 - 2020) \n\n"
		t3 = "z.B.:    01-12-2000        1.12.2000      31/12/2000      17,7,2000"
		alert(t1 + t2 + t3 + "\n\n[" + this_handle.name + "]");
		this_handle.focus();
	}
	<!----------------------------------------------------------------------------->
	function check_date(this_handle){
		datumstring = this_handle.value;
		if (datumstring == "") {return true;} <!--- Leeres Feld ist gueltig --->
		
		<!--- Formale Pruefung --->
		text = datumstring.replace(/[^0-9.,-\/]/g,"");	<!--- Ungueltige Zeichen entfernen --->
		zahlen = text.split(/[ ,.\-\/]/);				<!--- In tt mm jjjj auftrennen --->
		if (zahlen.length != 3) {falsches_datum(this_handle);  return false;}

		<!--- Bereichspruefung --->
		mtage = new Array (0,31,28,31,30,31,30,31,31,30,31,30,31);
		tag   = zahlen[0]*1;	<!--- String in Zahl wandeln --->
		monat = zahlen[1]*1;
		jahr  = zahlen[2]*1;
		if (ist_Schaltjahr(jahr)){ mtage[2] = 29};	<!--- Februar bei Schaltjahr korrigieren --->

		if ((jahr  < 1921) || (jahr  >2020))			{falsches_datum(this_handle); return false;}
		if ((monat <    1) || (monat >  12))			{falsches_datum(this_handle); return false;}
		if ((tag   <    1) || (tag >  mtage[monat]))	{falsches_datum(this_handle); return false;}

		<!--- Ausgabe formatieren --->
		if (tag   < 10){tag   = "0" + tag   }		<!--- Formatierung 2stellig --->
		if (monat < 10){monat = "0" + monat }

		<!--- Formatierten Eingabewert ins Formular zurueckschreiben --->
		this_handle.value = (tag + "." + monat + "." + jahr);
	
		return true;	 <!--- Wenn die Routine bis hier gekommen ist, dann ist alles OK ---> 
	}



////// Lesertest /////////////////////////////////////////////////////////////////////////////////////////

	// Vor dem Bildupload muss geprueft werden, ob eine Produktkategorie u. ein Produkt markiert wurde
	function UserreviewImageCheckFormAdd(){
		if(document.MessageForm.entity_type_id.value == -1 || document.MessageForm.entity_type_id.value==''){
			alert('Sie müssen eine Produktkatekorie wählen!');
			document.MessageForm.entity_type_id.focus();
		}else if (document.MessageForm.entity_id.value == -1 || document.MessageForm.entity_id.value == ''){
			alert('Sie müssen ein Produkt wählen!');
			document.MessageForm.entity_id.focus();
		}else if (document.MessageForm.image.value.replace(/\s/g,"").length == 0){
			alert('Bitte wählen Sie ein Bild aus!')
			document.MessageForm.image.focus();
		}else if (document.MessageForm.APRNote.value == -1 || document.MessageForm.entity_id.value == ''){
			alert('Sie müssen eine Bewertung vergeben!');
			document.MessageForm.APRNote.focus();
		}else{
			document.MessageForm.submit();
		}
	}
	
	function UserreviewCheckForm(){
		if(document.MessageForm.entity_type_id.value == -1 || document.MessageForm.entity_type_id.value==''){
			alert('Sie müssen eine Produktkatekorie wählen!');
			document.MessageForm.entity_type_id.focus();
		}else if (document.MessageForm.entity_id.value == -1 || document.MessageForm.entity_id.value == ''){
			alert('Sie müssen ein Produkt wählen!');
			document.MessageForm.entity_id.focus();
		}else if (document.MessageForm.msgtitle.value.replace(/\s/g,"").length == 0){
			alert('Sie müssen die Überschrift eingeben!');
			document.MessageForm.msgtitle.focus();
		}else if(document.MessageForm.msgtext.value.length == 0){
			alert('Sie müssen den Artikeltext eingeben!');
			document.MessageForm.msgtext.focus();
		}else if (document.MessageForm.APRNote.value == -1 || document.MessageForm.entity_id.value == ''){
			alert('Sie müssen eine Bewertung vergeben!');
			document.MessageForm.APRNote.focus();
		}else{
			//document.MessageForm.SendButton.value = 'Bitte warten...';
			//document.MessageForm.SendButton.disabled = true;
			document.MessageForm.submit();
		}
	}
	
////// Casemod /////////////////////////////////////////////////////////////////////////////////////////
	function UsercasemodCheckForm(){
		if(document.MessageForm.msgtitle.value.replace(/\s/g,"").length == 0){
			alert('Sie müssen die Überschrift eingeben!');
			document.MessageForm.msgtitle.focus();
		
		}else if(document.MessageForm.msgmod_duration.value.length == 0){
			alert('Sie müssen die Moddauer eingeben!');
			document.MessageForm.msgmod_duration.focus();
		
		}else if(document.MessageForm.msgmod_date_finished.value.length == 0 || check_date(document.MessageForm.msgmod_date_finished)==false){
			alert('Sie müssen das Datum der Fertigstellung eingeben!');
			document.MessageForm.msgmod_date_finished.focus();
		
		}else if(document.MessageForm.msgtext.value.length == 0){
			alert('Sie müssen den Artikeltext eingeben!');
			document.MessageForm.msgtext.focus();
		
		}else{
			document.MessageForm.SendButton.value = 'Bitte warten...';
			document.MessageForm.SendButton.disabled = true;
			document.MessageForm.submit();
		}
	}

	// Vor dem Bildupload muss geprueft werden, ob das Datum der Fertigstellung eingegeben wurde wurde
	function UsercasemodImageCheckFormAdd(){
		if(document.MessageForm.msgmod_date_finished.value.length == 0 || check_date(document.MessageForm.msgmod_date_finished)==false){
			alert('Sie müssen das Datum der Fertigstellung eingeben!');
			document.MessageForm.msgmod_date_finished.focus();
		}else if (document.MessageForm.image.value.replace(/\s/g,"").length == 0){
			alert('Bitte wählen Sie ein Bild aus!')
			document.MessageForm.image.focus();
		}else{
			document.MessageForm.submit();
		}
	}


////// Leserartikel /////////////////////////////////////////////////////////////////////////////////////////
	/* Diese Funktion ueberprueft das Formular beim Eintragen von Userarticle-Elementen (entspr. Forenboards) */
	function UserarticleCheckForm(){
		if (document.MessageForm.msgtitle.value.replace(/\s/g,"").length == 0){
			alert('Sie müssen die Überschrift eingeben!');
			document.MessageForm.msgtitle.focus();
		}else if(document.MessageForm.msgtext.value.length == 0){
			alert('Sie müssen den Artikeltext eingeben!');
			document.MessageForm.msgtext.focus();
		}else{
			document.MessageForm.SendButton.value = 'Bitte warten...';
			document.MessageForm.SendButton.disabled = true;
			document.MessageForm.submit();
		}
	}
	
	// Userarticle-Edit-Formular vor dem Bildupload pruefen
	function UserarticleImageCheckFormEdit(){
		if (document.MessageForm.image.value.replace(/\s/g,"").length > 0){
			document.MessageForm.action.value='upload';
			document.MessageForm.s.value='userarticle.edit';
			document.MessageForm.submit();
		}else{
			alert('Bitte wählen Sie ein Bild aus!');
		}
	}
	// Userarticle-Add-Formular vor dem Bildupload pruefen
	function UserarticleImageCheckFormAdd(){
		if (document.MessageForm.image.value.replace(/\s/g,"").length > 0){
			document.MessageForm.submit();
		}else{
			alert('Bitte wählen Sie ein Bild aus!')
		}
	}
	
	
	/* Diese Funktion ueberprueft das Formular beim Eintragen von Kommentaren zu Userarticle-Elementen (entspr. Forenthreads) */
	function UserarticleCommentCheckForm(){
		if (document.MessageForm.msgcomment.value.replace(/\s/g,"").length == 0){
			alert('Sie müssen einen Kommentar eingeben!');
			document.MessageForm.msgcomment.focus();
		}else{
			document.MessageForm.SendButton.value = 'Bitte warten...';
			document.MessageForm.SendButton.disabled = true;
			document.MessageForm.submit();
		}
	}

	
	/* Diese Funktion ueberprueft das Formular beim Eintragen von Sektionen (enspr. Forengruppen) */
	function UserarticleSectionCheckForm(){
		if (document.MessageForm.msgsection.value.replace(/\s/g,"").length == 0){
			alert('Sie müssen für die Sektion einen Namen eingeben!');
			document.MessageForm.msgsection.focus();
		}else{
			document.MessageForm.SendButton.value = 'Bitte warten...';
			document.MessageForm.SendButton.disabled = true;
			document.MessageForm.submit();
		}
	}
	
	
	/* Diese Funktion ist fuer die QuickJump Navigation im Userarticle-Bereich */
	function UserarticleQuickNavi(navi,menu)
		{
		var JumpTo = eval("document.UserarticleNavigation" + navi + ".QuickNavigation.value");
		var sAdditionalParams= eval("document.UserarticleNavigation" + navi + ".AdditionalParams.value");
		var JumpToType = JumpTo.substr(0,3);
		var JumpToTarget = JumpTo.replace(JumpToType,'');
	
		if (JumpToType == 'gid')
			{
			document.location.href = '/?menu=' + menu + '&s=board.overview&gid=' + JumpToTarget + sAdditionalParams;
			}
		else if (JumpToType == 'usr')
			{
			document.location.href = '/?menu=' + menu + '&s=board.user';
			}
		else if (JumpToType == 'bid')
			{
			document.location.href = '/?menu=' + menu + '&s=board&bid=' + JumpToTarget + '';
			}
		else if (JumpToType == 'can')
			{
			document.location.href = '/?menu=' + menu + '&s=trashcan';
			}
		else if (JumpToType == 'fol')
			{
			document.location.href = '/?menu=' + menu + '&s=board.follow';
			}
		}
