/*******************************************************************************
* Datei :           eventform.js   ***JAVASCRIPT***                            *
*                                                                              *
* Projekt :         NC EveCal                                                  *
* Version :         4.0.3                                                      *
* Datum :           12.02.2006 (v4.0)                                          *
* Letzte Änderung : 25.11.2007 (v4.0.3)                                        *
* Autor :           Manuel Rennecke <info@netconcept24.de>                     *
* Herausgeber :     (c) 2001-2007 - Net Concept 24                             *
*                                                                              *
* Funktionen für Veranstaltungserstellung                                      *
*******************************************************************************/

// **** Formular absenden *******************************************
function ncEventFormSubmit(formName) {
	// Eingaben prüfen
	if ((arguments.length == 1 || arguments[1] == 1) && !ncEventFormCheck(formName))
		return false;
	// Formular für Absenden vorbereiten
	// -Individueller Wiederholungsintervall
	for (var i = 0; i < document.forms[formName].elements['individual_dates[]'].options.length; i++)
		document.forms[formName].elements['individual_dates[]'].options[i].selected = true;
	// -Ausnahmedaten
	for (var i = 0; i < document.forms[formName].elements['exception_dates[]'].options.length; i++)
		document.forms[formName].elements['exception_dates[]'].options[i].selected = true;
	// -Kategorien
	if (document.forms[formName].elements['ecCategories[]']) {
		for (var i = 0; i < document.forms[formName].elements['ecCategories[]'].options.length; i++)
			document.forms[formName].elements['ecCategories[]'].options[i].selected = true;
	}
	// -Links
	if (document.forms[formName].elements['ecLinks[]']) {
		for (var i = 0; i < document.forms[formName].elements['ecLinks[]'].options.length; i++)
			document.forms[formName].elements['ecLinks[]'].options[i].selected = true;
	}
	// -Dateien
	if (document.forms[formName].elements['ecFiles[]']) {
		for (var i = 0; i < document.forms[formName].elements['ecFiles[]'].options.length; i++)
			document.forms[formName].elements['ecFiles[]'].options[i].selected = true;
	}
	return true;
}

// **** Formularprüfung *********************************************
function ncEventFormCheck(formName) {
	var status = 1;
	var rep = document.forms[formName].elements['ecRepetition'].value;
	// Startdatum
	if (rStartdate && rep != "individual") {
		status = 1;
		if (document.forms[formName].elements[rep + '_start_day'].value == "") {
			document.forms[formName].elements[rep + '_start_day'].focus();
			status = 0;
		}
		if (document.forms[formName].elements[rep + '_start_month'].value == "") {
			document.forms[formName].elements[rep + '_start_month'].focus();
			status = 0;
		}
		if (document.forms[formName].elements[rep + '_start_year'].value == "") {
			document.forms[formName].elements[rep + '_start_year'].focus();
			status = 0;
		}
		if (status == 0) {
			alert((rep == "none" ? txt_emptydate : txt_emptystartdate));
			return false;
		}
	}
	// Enddatum
	if (rEnddate && rep != "none" && rep != "individual") {
		status = 1;
		if (document.forms[formName].elements[rep + '_end_day'].value == "") {
			document.forms[formName].elements[rep + '_end_day'].focus();
			status = 0;
		}
		if (document.forms[formName].elements[rep + '_end_month'].value == "") {
			document.forms[formName].elements[rep + '_end_month'].focus();
			status = 0;
		}
		if (document.forms[formName].elements[rep + '_end_year'].value == "") {
			document.forms[formName].elements[rep + '_end_year'].focus();
			status = 0;
		}
		if (status == 0) {
			alert(txt_emptyenddate);
			return false;
		}
	} 
	else if (document.forms[formName].elements['seperate_events'] && document.forms[formName].elements['seperate_events'].checked && rep != "none" && rep != "individual") {
		status = 1;
		if (document.forms[formName].elements[rep + '_end_day'].value == "") {
			document.forms[formName].elements[rep + '_end_day'].focus();
			status = 0;
		}
		if (document.forms[formName].elements[rep + '_end_month'].value == "") {
			document.forms[formName].elements[rep + '_end_month'].focus();
			status = 0;
		}
		if (document.forms[formName].elements[rep + '_end_year'].value == "") {
			document.forms[formName].elements[rep + '_end_year'].focus();
			status = 0;
		}
		if (status == 0) {
			alert(txt_emptyenddate2);
			return false;
		}
	}
	// Startzeit
	if (rStarttime && document.forms[formName].elements[rep + '_start_hour'].value == "") {
		alert(txt_emptystarttime);
		document.forms[formName].elements[rep + '_start_hour'].focus();
		return false;
	}
	// Endzeit
	if (rEndtime && document.forms[formName].elements[rep + '_end_hour'].value == "") {
		alert(txt_emptyendtime);
		document.forms[formName].elements[rep + '_end_hour'].focus();
		return false;
	}
	// Zeitplan gültig?
	if (!checkRepetition(formName))
		return false;
	// Titel
	if (document.forms[formName].elements['ecName'].value == "") {
		alert(txt_emptytitle);
		document.forms[formName].elements['ecName'].focus();
		return false;
	}
	// Kategorie
	if (rCategory && document.forms[formName].elements['ecCategories[]'].length == 0) {
		alert(txt_emptycategory);
		document.forms[formName].elements['ecCategories[]'].focus();
		return false;
	}
	// Veranstalter
	if (rOrganizer) {
		if (document.forms[formName].elements['ecOrg_choice'][0]) {
			// Neuer Veranstalter
			if (document.forms[formName].elements['ecOrg_choice'][0].checked && document.forms[formName].elements['ecOrganizer_new[name]'].value == "") {
				alert(txt_emptyorganizer);
				document.forms[formName].elements['ecOrganizer_new[name]'].focus();
				return false;
			}
			// Gespeicherter Veranstalter
			if (document.forms[formName].elements['ecOrg_choice'][1].checked && document.forms[formName].elements['ecOrganizer_old[id]'].value == "") {
				alert(txt_emptyorganizer);
				document.forms[formName].elements['ecOrganizer_old[id]'].focus();
				return false;
			}
		} else {
			// Neuer Veranstalter
			if (document.forms[formName].elements['ecOrganizer_new[name]'] && document.forms[formName].elements['ecOrganizer_new[name]'].value == "") {
				alert(txt_emptyorganizer);
				document.forms[formName].elements['ecOrganizer_new[name]'].focus();
				return false;
			}
			// Gespeicherter Veranstalter
			if (document.forms[formName].elements['ecOrganizer_old[id]'] && document.forms[formName].elements['ecOrganizer_old[id]'].value == "") {
				alert(txt_emptyorganizer);
				document.forms[formName].elements['ecOrganizer_old[id]'].focus();
				return false;
			}
		}
	}
	// Veranstaltungsort
	if (rLocation) {
		if (document.forms[formName].elements['ecLoc_choice'][0]) {
			// Neuer Veranstaltungsort
			if (document.forms[formName].elements['ecLoc_choice'][0].checked && document.forms[formName].elements['ecLocation_new[name]'].value == "") {
				alert(txt_emptylocation);
				document.forms[formName].elements['ecLocation_new[name]'].focus();
				return false;
			}
			// Gespeicherter Veranstaltungsort
			if (document.forms[formName].elements['ecLoc_choice'][1].checked && document.forms[formName].elements['ecLocation_old[id]'].value == "") {
				alert(txt_emptylocation);
				document.forms[formName].elements['ecLocation_old[id]'].focus();
				return false;
			}
		} else {
			// Neuer Veranstaltungsort
			if (document.forms[formName].elements['ecLocation_new[name]'] && document.forms[formName].elements['ecLocation_new[name]'].value == "") {
				alert(txt_emptylocation);
				document.forms[formName].elements['ecLocation_new[name]'].focus();
				return false;
			}
			// Gespeicherter Veranstaltungsort
			if (document.forms[formName].elements['ecLocation_old[id]'] && document.forms[formName].elements['ecLocation_old[id]'].value == "") {
				alert(txt_emptylocation);
				document.forms[formName].elements['ecLocation_old[id]'].focus();
				return false;
			}
		}
	}
	// Beschreibung
	if (rDescription && document.forms[formName].elements['ecDescription'].value == "") {
		alert(txt_emptydescription);
		document.forms[formName].elements['ecDescription'].focus();
		return false;
	}
	// Preise
	if (rPrices && document.forms[formName].elements['ecPrices'].value == "") {
		alert(txt_emptyprices);
		document.forms[formName].elements['ecPrices'].focus();
		return false;
	}
	// Links
	if (rLinks && document.forms[formName].elements['ecLinks[]'].length == 0) {
		alert(txt_emptylinks);
		document.forms[formName].elements['ecLinks[]'].focus();
		return false;
	}
	// Dateien
	if (rFiles && document.forms[formName].elements['ecFiles[]'].length == 0) {
		alert(txt_emptyfiles);
		document.forms[formName].elements['ecFiles[]'].focus();
		return false;
	}
	// Prüfen, ob Datum schon vergangen und ggf. warnen
	if (eventFinished(formName))
		return confirm(txt_eventfinished);

	return true;
}

