﻿/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
(function($) {
	$.datepick.regional['de'] = {
		clearText: 'löschen', clearStatus: 'aktuelles Datum löschen',
		closeText: 'schließen', closeStatus: 'ohne Änderungen schließen',
		prevText: '&#x3c;zurück', prevStatus: 'letzten Monat zeigen',
		prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
		nextText: 'Vor&#x3e;', nextStatus: 'nächsten Monat zeigen',
		nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
		currentText: 'heute', currentStatus: '',
		monthNames: ['Januar','Februar','März','April','Mai','Juni',
		'Juli','August','September','Oktober','November','Dezember'],
		monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
		'Jul','Aug','Sep','Okt','Nov','Dez'],
		monthStatus: 'anderen Monat anzeigen', yearStatus: 'anderes Jahr anzeigen',
		weekHeader: 'Wo', weekStatus: 'Woche des Monats',
		dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
		dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		dayStatus: 'Setze DD als ersten Wochentag', dateStatus: 'Wähle D, M d',
		dateFormat: 'dd.mm.yy', firstDay: 1,
		initStatus: 'Wähle ein Datum', isRTL: false,
		/*andere Einstellungen*/
	 	minDate: new Date(2002,1,0)};
	$.datepick.setDefaults($.datepick.regional['de']);
})(jQuery);


function errorMessage(message) {
	errorMessageOut("Eingabefehler",message );
}

function errorMessageOut(title, message) {
	$("body").append('<div id=\'error\' style.display =\'none\' > <span class=\'error_right\'><a href=\'#\' class=\'error_img\' onClick=\'$(this).parents("#error").remove()\' alt=\'Meldung schließen\' ><img src=\'gfx/main.icon.close.png\'/></a></span><h2>' + title + '</h2><p>' + message + '</p></div>');
}

function convertStringToDate(date){
	var dateParts = date.split(".");
	var day = dateParts[0];
	var month = dateParts[1];
	var year = dateParts[2];
	return year+"/"+month+"/"+day;
} 

function checkDateErlaubt(datumId)
{
	if( $("#"+datumId).val() == undefined || $("#"+datumId).val() == "") return;
	var date = new Date(convertStringToDate($("#"+datumId).attr('value')));
	var kleinsteserlaubtesDate = new Date(convertStringToDate("01.01.2002"));
	if( date.compare(kleinsteserlaubtesDate) < 0)
	{
		var dateString = kleinsteserlaubtesDate.dateFormat("DD.MM.YYYY");
		errorMessage("Bitte geben Sie ein Datum ab " + dateString + " ein! Der Eintrag wurde automatisch korrigiert.");
		$("#"+datumId).val(dateString);
	}	
	return;
}


function checkDateRange(checkdatumId, vergleichdatumId, relation)
{
	//relation darf + 1 oder - 1 sein. 
	if( $("#"+checkdatumId).val() == undefined || $("#"+vergleichdatumId).val() == undefined 
			|| $("#"+checkdatumId).val() == "" || $("#"+vergleichdatumId).val() == "") return;
	var checkdatum = new Date(convertStringToDate($("#"+checkdatumId).val()));
	var vergleichdatum = new Date(convertStringToDate($("#"+vergleichdatumId).val()));
	if(checkdatum.compare(vergleichdatum) * relation < 0)
	{
		errorMessage("Das Datum 'von' muß kleiner als das Datum 'bis' sein! Der Eintrag wurde automatisch korrigiert.");
		$("#"+checkdatumId).val(vergleichdatum.add(relation, "days").dateFormat("DD.MM.YYYY"));
	}
	return checkDateErlaubt(checkdatumId);
}
