var showdays = new Array();
var selectedShowDay = -1;
var month = -1;
var year = -1;



function setPage(i, count)
{
	for (j = 1; j <= count; j++)
	{
		document.getElementById('splitContent' + j).style.display = 'none';
	}
	
	document.getElementById('splitContent' + i).style.display = 'block';
}


function mouseOver(o, i, a)
{
	o.src = 'images/navi' + i + '_over.gif';
}

function mouseOut(o, i, a)
{
	if (i == a)
	{
		// active
		o.src = 'images/navi' + i + '_on.gif';
	}
	else
	{
		// inactive
		o.src = 'images/navi' + i + '_off.gif';
	}
	
}

function mouseOverSubNavi(o, i, s)
{
	o.src = 'images/subnavi' + s + '_' + i + '_on.gif';
}

function mouseOutSubNavi(o, i, a, s)
{
	if (i == a)
	{
		// active
		o.src = 'images/subnavi' + s + '_' + i + '_on.gif';
	}
	else
	{
		// inactive
		o.src = 'images/subnavi' + s + '_' + i + '_off.gif';
	}
	
}


function preloadImages()
{
	var imgArray = new Array();

	// MouseOvers Navi
	imgArray[0]  = "images/navi1_over.gif";
	imgArray[1]  = "images/navi2_over.gif";
	imgArray[2]  = "images/navi3_over.gif";
	imgArray[3]  = "images/navi4_over.gif";
	imgArray[4]  = "images/navi5_over.gif";
	imgArray[5]  = "images/navi6_over.gif";
	// MouseOvers SubNavi
	imgArray[6]  = "images/subnavi1_1_on.gif";
	imgArray[7]  = "images/subnavi1_2_on.gif";
	imgArray[8]  = "images/subnavi1_3_on.gif";
	imgArray[9]  = "images/subnavi1_4_on.gif";
	imgArray[10] = "images/subnavi1_5_on.gif";
	imgArray[11] = "images/subnavi1_6_on.gif";
	imgArray[12] = "images/subnavi2_1_on.gif";
	imgArray[13] = "images/subnavi2_2_on.gif";
	imgArray[14] = "images/subnavi2_3_on.gif";
	imgArray[15] = "images/subnavi4_1_on.gif";
	imgArray[16] = "images/subnavi4_2_on.gif";
	imgArray[17] = "images/subnavi4_3_on.gif";
	imgArray[18] = "images/subnavi5_1_on.gif";
	imgArray[19] = "images/subnavi5_2_on.gif";
	imgArray[20] = "images/subnavi5_3_on.gif";
	imgArray[21] = "images/subnavi5_4_on.gif";

	for (i = 0; i < imgArray.length; i++)
	{
		var img = new Image();
		img.src = imgArray[i];
	}
	
	// Intro unsichtbar und Startseite sichtbar machen
	window.setTimeout("loadFrontpage()", 20000);
}


function loadFrontpage()
{
	$('intro').style.display = "none";
	$('main').style.visibility = "visible";
	playStartVideo();
}


function playStartVideo()
{
	// open popup window
	openWindow("popups/popup.html", 440, 620);
	
	// Video Startseite laden (nach 6 Sekunden)
	window.setTimeout("loadFrontpageVideo()", 6000);
}


function loadFrontpageVideo()
{
	$('frontpageVideo').innerHTML = "<embed src='flash/video_frontpage.swf' width='167' height='145' hspace=0 vspace=0 border=0 play='true' loop='true' quality='autohigh'>";
}


function openWindow(url, breite, hoehe) {
	var openWin = window.open(url, '', 'width=' + breite + ',height=' + hoehe + ',status=no,locationbar=no,menubar=no,scrollbars=auto');
}



/* ********************************** SLIDESHOWS ********************************** */

function start_slideshow(start_frame, end_frame, delay) {
    setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}
                        
function switch_slides(frame, start_frame, end_frame, delay) {
    return (function() {
        Effect.Fade('slideshow' + frame);
        if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
        setTimeout("Effect.Appear('slideshow" + frame + "');", 850);
        setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
    })
}




/* ********************************** RESERVIERUNGSKALENDER ********************************** */

function updateCalendar(m, y)
{
	var url = './ws/reservierung_ws.php';
	var pars = 'm=' + m + '&y=' + y;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onComplete: showResponse} );
}

function showResponse(originalRequest)
{
	eval(originalRequest.responseText);

	// render table
	var counter = 0;
	var tableString = "";
	tableString += "<table border='0' class='reservation_cal'>";
	tableString += "	<tr>";
	linkYearPrev = year;
	linkMonthPrev = month - 1;
	if (month == 1)
	{
		linkYearPrev--;
		linkMonthPrev = 12;
	}
	linkYearNext = year;
	linkMonthNext = month + 1;
	if (month == 12)
	{
		linkYearNext++;
		linkMonthNext = 1;
	}
	
	
	

	tableString += "		<td><a href='javascript:updateCalendar(" + linkMonthPrev + "," + linkYearPrev + ");' class='reservation_cal_left'><img src='images/bg_footnavi_left.gif' /></a></td>";
	tableString += "		<td colspan='5' align='center'><span class='red'><b>" + monthstring + "&nbsp;" + year + "</b></span></td>";
	tableString += "		<td><a href='javascript:updateCalendar(" + linkMonthNext + "," + linkYearNext + ");' class='reservation_cal_right'><img src='images/bg_footnavi_right.gif' /></a></td>";
	
	
	
	tableString += "	</tr>";
	tableString += "	<tr>";
	tableString += "		<td class='reservation_cal_head'>Mo</td>";
	tableString += "		<td class='reservation_cal_head'>Di</td>";
	tableString += "		<td class='reservation_cal_head'>Mi</td>";
	tableString += "		<td class='reservation_cal_head'>Do</td>";
	tableString += "		<td class='reservation_cal_head'>Fr</td>";
	tableString += "		<td class='reservation_cal_head'>Sa</td>";
	tableString += "		<td class='reservation_cal_head'>So</td>";
	tableString += "	</tr><tr>";
	
	var zeilenCounter = 1;
	for (i = 1; i <= dayshift; i++)
	{
		tableString += "<td>&nbsp;</td>";
		counter++;
	}

	for (var i = 0; i < showdays.length; i++)
	{
		// analyse shows available
		var cssClass = "reservation_cal_empty";
		var countShowsOfDay = showdays[i]["shows"].length;
		var counterAvailableShows = 0;
		for (j = 0; j < countShowsOfDay; j++)
		{
			if (showdays[i]["shows"][j]["available"] > 0)
				counterAvailableShows++
		}
		
		if (countShowsOfDay == 0)
		{
			cssClass = "reservation_cal_empty";
		}
		else
		{
			if (counterAvailableShows == 0)
				cssClass = "reservation_cal_red";
			else if (counterAvailableShows == countShowsOfDay)
				cssClass = "reservation_cal_green";
			else
				cssClass = "reservation_cal_yellow";
		}
		
		tableString += "<td class='" + cssClass + "'>";
		if ((countShowsOfDay > 0) && (counterAvailableShows > 0))
		{
			tableString += "<a href='javascript:selectDay(" + (i + 1) + ");'>" + showdays[i]["day"] + "</a>";
		}
		else
		{
			tableString += showdays[i]["day"];
		}
		
		tableString += "</td>";
		
		counter++;
		if (counter == 7)
		{
			tableString += "</tr><tr>";
			counter = 0;
			zeilenCounter++;
		}
	}
	
	for (i = counter; i < 7; i++)
	{
		tableString += "<td>&nbsp;</td>";
		counter++;
	}
	
	if (zeilenCounter < 6)
	{
		tableString += "</tr><tr><td colspan='7'>&nbsp;</td>";
	}
	
	tableString += "</tr>";
	tableString += "</table>";
	$('calContent').innerHTML = tableString;

	
		
	//alert(originalRequest.responseText);
}



function selectDay(d)
{
	var selectField = $('showTime');
	
	// global parameters
	selectedShowDay = d;

	// make Info invisible
	$('calInfo').style.display = 'none';

	// zuvor alle Childs löschen
    while (selectField.hasChildNodes()) {
        selectField.removeChild(selectField.firstChild)
    }
	
	// Childs einfügen
	var option = document.createElement("OPTION");
	var Text = document.createTextNode("--- Uhrzeit wählen ---");
	option.appendChild(Text);
	selectField.appendChild(option);
	
	for (i = 0; i < showdays[d - 1]["shows"].length; i++)
	{
		if (showdays[d - 1]["shows"][i]["available"] > 0)
		{
			// Show verfügbar
			var option = document.createElement("OPTION");
			
			var dateString = "";
			if (selectedShowDay < 10)
				dateString = "0" + selectedShowDay;
			else
				dateString = selectedShowDay;
			dateString += "."
			if (month < 10)
				dateString += "0" + month;
			else
				dateString += month;
			dateString += "." + year;
			
			var Text = document.createTextNode(dateString + " um " + showdays[d - 1]["shows"][i]["time"] + " Uhr");
			option.appendChild(Text);
			selectField.appendChild(option);
		}
		
		
		
		else
		
		
		
		{
			// Show NICHT verfügbar
			var option = document.createElement("OPTION");
			
			var dateString = "";
			if (selectedShowDay < 10)
				dateString = "0" + selectedShowDay;
			else
				dateString = selectedShowDay;
			dateString += "."
			if (month < 10)
				dateString += "0" + month;
			else
				dateString += month;
			dateString += "." + year;

			var Text = document.createTextNode(dateString + " um " + showdays[d - 1]["shows"][i]["time"] + " Uhr");
			option.appendChild(Text);
			option.disabled = true;
			option.style.color = '#666666';
			option.style.fontStyle = 'italic';
			selectField.appendChild(option);
		}
	}
	
	// make Select visible
	$('calTime').style.display = 'block';
}


function selectTime()
{
	var selTime = $('showTime');
	
	if (selTime.selectedIndex == 0)
	{
		// no time selected
		$('calInfo').style.display = 'none';
	}
	else
	{
		if (showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["available"] > 0)
		{
		
			// valid time selected
			var dateString = "";
			if (selectedShowDay < 10)
				dateString = "0" + selectedShowDay;
			else
				dateString = selectedShowDay;
			dateString += "."
			if (month < 10)
				dateString += "0" + month;
			else
				dateString += month;
			dateString += "." + year;
			//$('calInfoDay').innerHTML = dateString;
			$('calInfoTime').innerHTML = showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["time"] + "&nbsp;Uhr";
			$('calInfoEntryTime').innerHTML = showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["timeEntry"] + "&nbsp;Uhr";
			$('calInfoPrice1').innerHTML = showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["price1"] + "&nbsp;€";
			//$('calInfoPrice2').innerHTML = showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["price2"] + "&nbsp;€&nbsp;&nbsp;(AK)";
			$('calInfoInfo').innerHTML = showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["info"];
			
			// set hidden parameter
			document.reservationForm.hiddenId.value = showdays[selectedShowDay - 1]["shows"][selTime.selectedIndex - 1]["id"];
	
			// make Info visible
			$('calInfo').style.display = 'block';
		
		}
	}
}
