document.Keno_Horoskop_horoskopData    = [];
document.Keno_Horoskop_sternzeichenSet = false;
document.Keno_Horoskop_currentDate     = null;

document.Keno_Horoskop_daysInMonth = [0, 31, 29, 31,30,31, 30, 31, 31, 30, 31, 30, 31];

var YEAR  = 0;
var MONTH = 1;
var DAY   = 2;

function Keno_Horoskop_getSternzeichen(day, month) {

	var dayOfYear = day + month * 31;
	var sternzeichen;
    
	if(dayOfYear >= 22+12*31)
		sternzeichen = "Steinbock";
		
	else if(dayOfYear >= 23+11*31)
		sternzeichen = "Sch&uuml;tze";
		
	else if(dayOfYear >= 24+10*31)
		sternzeichen = "Skorpion";
		
	else if(dayOfYear >= 24+9*31)
		sternzeichen = "Waage";
		
	else if(dayOfYear >= 24+8*31)
		sternzeichen = "Jungfrau";
		
	else if(dayOfYear >= 23+7*31)
		sternzeichen = "L&ouml;we";
		
	else if(dayOfYear >= 22+6*31)
		sternzeichen = "Krebs";
		
	else if(dayOfYear >= 21+5*31)
		sternzeichen = "Zwilling";
		
	else if(dayOfYear >= 21+4*31)
		sternzeichen = "Stier";
		
	else if(dayOfYear >= 21+3*31)
		sternzeichen = "Widder";
		
	else if(dayOfYear >= 21+2*31)
		sternzeichen = "Fische";
		
	else if(dayOfYear >= 21+1*31)
		sternzeichen = "Wassermann";
		
	else
		sternzeichen = "Steinbock";
	
	//alert(dayOfYear + " = " + sternzeichen + "; " + day + "." + month)
	
	return sternzeichen;
}

function Keno_Horoskop_getHoroskopTipp(day, month, year, sex) {

	if(!document.Keno_Horoskop_horoskopData[year])                  document.Keno_Horoskop_horoskopData[year]                  = [];
	if(!document.Keno_Horoskop_horoskopData[year][month])           document.Keno_Horoskop_horoskopData[year][month]           = [];
	if(!document.Keno_Horoskop_horoskopData[year][month][day])	    document.Keno_Horoskop_horoskopData[year][month][day]      = [];
	if(!document.Keno_Horoskop_horoskopData[year][month][day][sex]) {
		
		var kasten = new KenoKasten();
		kasten.should_typ = 10;
		kasten.quicktipp()
		
		document.Keno_Horoskop_horoskopData[year][month][day][sex] = kasten;
	}
	
	return document.Keno_Horoskop_horoskopData[year][month][day][sex];
}

function Keno_Horoskop_updateSternzeichen() {
	
	var form = MM_findObj("horoskopForm");
	
	var dateString   = form.date.value;
	var date         = Keno_Horoskop_parseDate(dateString);
	
	var sternzeichen;
	
	if(date == 0) {
	
		if(document.Keno_Horoskop_sternzeichenSet) {
			document.Keno_Horoskop_sternzeichenSet = false;
			sternzeichen = "&nbsp;"
			
			NDS_helpStatic("Datum")
			
			NDS_help('Datum')
			
		} else {
			return 
		}
	} else {
	
		NDS_helpStatic("OKButton")
		
		if(Keno_Horoskop_dateIsValid(date)) {
			document.Keno_Horoskop_sternzeichenSet = true;
			sternzeichen                   = Keno_Horoskop_getSternzeichen(date[DAY], date[MONTH]);
			document.Keno_Horoskop_currentDate     = date;
		} else {
			document.Keno_Horoskop_sternzeichenSet = false;
			sternzeichen = "&nbsp;"
			
			NDS_helpStatic("DatumUngueltig")
			NDS_help('DatumUngueltig')
		}
	}
	
	MM_findObj("horoskopSternzeichen").value = sternzeichen
}

function Keno_Horoskop_horoskopTipp() {

	Keno_Horoskop_updateSternzeichen()

	//if(document.Keno_Horoskop_sternzeichenSet) {
	
		var date  = document.Keno_Horoskop_currentDate;
		var day   = date[DAY];
		var month = date[MONTH];
		var year  = date[YEAR];
		
		var form  = MM_findObj("horoskopForm");
		var sex   = parseInt(form.sex.options[form.sex.selectedIndex].value);
		
		var field = document.Keno_Horoskop_currentField
		
		return Keno_Horoskop_getHoroskopTipp(day, month, year, sex);
	//}
}

function Keno_Horoskop_parseDate(dateString) {
	
	if(dateString.indexOf(".") == -1) return 0;
	
	var dateArray = ["","",""];
	var index     = 0;
	
	var inside = false; // haben wir schon im aktuellen String Teil eine Zahl != 0 gesehen?
	for(var i = 0; i < dateString.length; i++) {
	
		var cur = dateString.substr(i, 1);
		if(cur == ".") {
			index++
			if(index > 2) return 0
			inside = false
		} else {
			if(inside || cur != "0") { // ignorier leading zeros
				dateArray[index] += cur;
			}
			inside = true;
		}
	}
	
	var day   = parseInt(dateArray[0]);
	var month = parseInt(dateArray[1]);
	var year  = parseInt(dateArray[2]);
	
	var curDate = new Date();
	
	if(isNaN(day) || isNaN(month) || isNaN(year)) return 0
	
	if(day > 0 && day <= 31 && month > 0 && month <= 12 && year > 0 && year <= curDate.getFullYear() ) {
	
	
		var date = [year,month,day]
		return date;
		
	} else {
		return 0
	}
	
	
}

function Keno_Horoskop_dateIsValid(date) { // checks whether the given month has the given number of dates
	var day   = date[DAY];
	var month = date[MONTH];
	var year  = date[YEAR];
	
	if(day < 1)                                        return false
	if(day > document.Keno_Horoskop_daysInMonth[month])        return false
	if(month == 2 && day > Keno_Horoskop_daysInFebruary(year)) return false
	return true
}


function Keno_Horoskop_daysInFebruary(year) {
    var ret = 28;
    
    if(year % 4 == 0) {
    	ret = 29
    	//alert(1)
    	if(year % 100 == 0) {
    		//alert(2)
    		ret = 28
    		if(year % 400 == 0) {
    			//alert(3)
    			ret = 29
    		}
    	}
    }
    
    return ret
}


function Keno_Horoskop_showHoroskopTipp() {

	NDS_helpStatic("Blank");

	MM_showHideLayers('subNavAnkreuzenStaticLayer','','hide','subNavHoroskopStaticLayer','','show','horoskopBGlayer','','show','horoskopText1Layer','','show','horoskopText3Layer','','show','horoskopOKLayer','','show','horoskopText2Layer','','show','horoskopSternzeichenLayer','','show','horoskopGebDatumLayer','','show','horoskopGeschlechtLayer','','show','bgHoroskopSternzeichenLayer','','show')
}

function Keno_Horoskop_hideHoroskopTipp() {

	NDS_helpStatic("Blank")

	MM_showHideLayers('subNavAnkreuzenStaticLayer','','show','subNavHoroskopStaticLayer','','hide','horoskopBGlayer','','hide','horoskopText1Layer','','hide','horoskopText3Layer','','hide','horoskopOKLayer','','hide','horoskopText2Layer','','hide','horoskopSternzeichenLayer','','hide','horoskopGebDatumLayer','','hide','horoskopGeschlechtLayer','','hide','bgHoroskopSternzeichenLayer','','hide')
}

