/*
 * ======================================
 * 04-2009 Thomas Schlicker | 08 MEDIA de
 * ======================================
 * Datei: js/checkDate.js
 * Autor: Thomas Schlicker
 * ======================================
 */


function PruefeDatum(e) {

	var Datum, Tag, Monat, Jahr, Laenge, tageMonat;

	Datum = e.value;
	Laenge = e.value.length;
	
	var endTag;
	var endMonat;
	var endJahr;
	var input_id = e.id;
	
	if(e.name == "cpStart") {
		var date_name = "Startdatum";
		
		endDatum = document.getElementById("dateEnd").value;
		endTag = parseInt(endDatum.substring(0,2),10);
		endMonat = parseInt(endDatum.substring(3,5),10);
		endJahr = parseInt(endDatum.substring(6,10),10);	
	}
	else
		var date_name = "Enddatum";
						
	var JetztDatum = new Date();
	var DiesesJahr = JetztDatum.getFullYear();
	var DieserMonat = JetztDatum.getMonth()+1;
	var DieserTag = JetztDatum.getDate();

	if(Datum == "") {

		//alert("Kein Datum");
		return false;
	}

	// Format prüfen
	if(Laenge==10 && Datum.substring(2,3) == "." && Datum.substring(5,6) == ".") {

		Tag = parseInt(Datum.substring(0,2),10);
		Monat = parseInt(Datum.substring(3,5),10);
		Jahr = parseInt(Datum.substring(6,10),10);		
	}
	else {

		Datum = " . . ";
		return false;
	}

	// Datumswert prüfen
	if(Monat==4 || Monat==6 || Monat==9 || Monat==11) {
		tageMonat=30;
	}
	if(Monat==1 || Monat==3 || Monat==5 || Monat==7 || Monat==8 || Monat==10 || Monat==12) {
		tageMonat=31;
	}
	if(Monat==2 && Jahr%4==0 && Jahr%100!=0 || Jahr%400==0) {
		tageMonat=29;
	}
	else if(Monat==2 && Jahr%4!=0 || Jahr%100==0 && Jahr%400!=0) {
		tageMonat=28;
	}	

	var error = 0;
	
	// alert(Jahr +" < "+ DiesesJahr);
	
	// Jahr kleiner heutiges Jahr
	if(Jahr < DiesesJahr) {
	
		error = 1;
	}
	else {
	
		// Jahr größer heutiges Jahr
		// Monat und Tag müssen nicht geprüft werden
		error = 0;
	}
	
	// Jahr ist heutiges Jahr
	if(Jahr == DiesesJahr) {
	
		//alert(Monat +" > "+ DieserMonat);
		if(Monat < DieserMonat) {
		
			error = 1;
		}
		else {
		
			//alert(Tag +" < "+ DieserTag);
			if(Tag < DieserTag && Monat <= DieserMonat) {
			
				error = 1;
			}
			else {
			
				//alert(Jahr +" > "+ endJahr);
				if(Jahr > endJahr) {
	
					error = 2;
				}
				else {
	
					// Jahr ist heutiges Jahr
					if(Jahr >= endJahr) {
					
						//alert(Monat +" > "+ endMonat);
						if(Monat > endMonat) {
		
							error = 2;
						}
						else {
			
							//alert(Tag +" > "+ DieserTag);
							if(Tag > DieserTag) {
				
								error = 2;
							}
							else {
				
								error = 0;
							}
						}
					}
				}
			}
		}
	}
	
	//alert(error);
					
	switch(error) {
	
		case 1:		document.getElementById(input_id).style.borderColor = "#FF0000";
					document.getElementById("searchbutton").style.display = "none";
					document.getElementById("date-error-msg").innerHTML = "Ihr " + date_name + " ist in der Vergangenheit.";
					return false;
					break;
		
		case 2:		document.getElementById(input_id).style.borderColor = "#FF0000";
					document.getElementById("searchbutton").style.display = "none";
					document.getElementById("date-error-msg").innerHTML = "Ihr Startdatum muss vor dem Enddatum liegen.";
					return false;
					break;
					
		default:	document.getElementById(input_id).style.borderColor = "#AAAAAA";
					document.getElementById("searchbutton").style.display = "";
					document.getElementById("date-error-msg").innerHTML = "";
					return false;
	}

	return true;
}

function PruefeDatumFormat(e) {

	var Datum, Tag, Monat, Jahr, Laenge, tageMonat;

	Datum = e.value;
	Laenge = e.value.length;
	
	var input_id = e.id;
	if(e.name == "cpStart")
		var date_name = "Startdatum";
	else
		var date_name = "Enddatum";
						
	var JetztDatum = new Date();
	var DiesesJahr = JetztDatum.getYear();
	var DieserMonat = JetztDatum.getMonth()+1;
	var DieserTag = JetztDatum.getDate();

	if(Datum == "") {

		return false;
	}

	// Format prüfen
	if(Laenge==10 && Datum.substring(2,3) == "." && Datum.substring(5,6) == ".") {

		Tag = parseInt(Datum.substring(0,2),10);
		Monat = parseInt(Datum.substring(3,5),10);
		Jahr = parseInt(Datum.substring(6,10),10);
	}
	else {

		Datum = " . . ";
		document.getElementById(input_id).style.borderColor = "#FF0000";
		document.getElementById("date-error-msg").innerHTML = "Kein gültiges " + date_name + " (TT.MM.JJJJ)";
		return false;
	}

	// Datumswert prüfen
	if(Monat==4 || Monat==6 || Monat==9 || Monat==11) {
		tageMonat=30;
	}
	if(Monat==1 || Monat==3 || Monat==5 || Monat==7 || Monat==8 || Monat==10 || Monat==12) {
		tageMonat=31;
	}
	if(Monat==2 && Jahr%4==0 && Jahr%100!=0 || Jahr%400==0) {
		tageMonat=29;
	}
	else if(Monat==2 && Jahr%4!=0 || Jahr%100==0 && Jahr%400!=0) {
		tageMonat=28;
	}	
	if((Tag >= 1 && Tag <= tageMonat) && (Monat >= 1 && Monat <= 12) ) {

		if((Tag >= DieserTag) && (Monat >= DieserMonat) && (DiesesJahr <= Jahr)) {
			document.getElementById(input_id).style.borderColor = "#AAAAAA";
			document.getElementById("date-error-msg").innerHTML = "";
		}
	}
	else {

		document.getElementById(input_id).style.borderColor = "#FF0000";
		document.getElementById("date-error-msg").innerHTML = "Kein gültiges " + date_name + " (TT.MM.JJJJ)";
		return false;
	}
}

