		/**
		 * AJAX Timetable Construction based on JQuery
		 * @Author: Andy Völschow
		 * @Verion: 1.0
		 * 
		 * Last Change: Andy Völschow 02/04/2008
		 */
		
		var date;
		$(document).ready(function() {
			if (document.getElementById("Timetable")) {
				try {
					$("#dateNext").click(function() {
						$("#dateOut").attr( "value", $("#dateNext").attr("rel") );
						});
					$("#dateBefore").click(function() {
						$("#dateOut").attr( "value", $("#dateBefore").attr("rel") );
						});
		
				    $("#Kalender").click(function () {
							tmp = document.getElementById('dateOut').value.replace(/\./g, "/");
							if( date != tmp && tmp.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/) )
								retrieveData();
				        });
					$("#dateOut").focus(function () {
							document.getElementById('dateOut').value='';
						});
					$("#dateOut").keyup(function () {
							tmp = document.getElementById('dateOut').value.replace(/\./g, "/");
							if( date != tmp && tmp.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/) )
								retrieveData();
						});
				                
					// start first fetching
					retrieveData();
				} catch (err) {
					//alert(err.description);
				}
			}
		});

		function getAjaxData()
		{
			date = document.getElementById('dateOut').value.replace(/\./g, "/");
			var route = document.getElementById('route').value;
			
			$.ajax({
			   type: "POST",
			   url: "/xml/timetable.php",
			   data: "date="+ date +"&route="+ route,
			   success: function(data) {
			     drawLines(data);
			   }
			 });
		}
		function retrieveData()
		{
			// delete all existing voyages
			$("#Timetable tbody").empty();
			$("#datePresent").empty().append("&nbsp;");

 			// add progress bar
			tmp = "<tr><td colspan=\"3\" style=\"width:100%\">" +
				    	"<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" " +
				    		"	codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"100\" height=\"100\">" +
					    		"	<param name=\"movie\" value=\"/images/loading.swf\" />" +
						    	"	<param name=\"quality\" value=\"high\" />" +
						"<embed src=\"/images/loading.swf\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"100\" height=\"100\"></embed>";
					"</td></tr>";
 			$("#Timetable tbody").append(tmp);
			
			window.setTimeout("getAjaxData()", 500);
		}
		function drawLines(xmlResponse)
		{
			// delete all existing voyages
			$("#Timetable tbody").empty();
			$("#datePresent").empty().append("&nbsp;");
 
			var xmlRoot = xmlResponse.documentElement;
			var xmlRoute = xmlRoot.getElementsByTagName("route");
			var xmlDate = xmlRoot.getElementsByTagName("dateOfVoyage");
			var xmlDateBefore = xmlRoot.getElementsByTagName("beforeDate");
			var xmlDateNext = xmlRoot.getElementsByTagName("nextDate");
			var xmlVoyages = xmlRoot.getElementsByTagName("voyage");
			var xmlDepartureTimes = xmlRoot.getElementsByTagName("departureTime");
			var xmlArrivalTimes = xmlRoot.getElementsByTagName("arrivalTime");
			var xmlDeparturePorts = xmlRoot.getElementsByTagName("departurePort");
			var xmlArrivalPorts = xmlRoot.getElementsByTagName("arrivalPort");
			var xmlImageSrc = xmlRoot.getElementsByTagName("vesselIcon");
			var xmlImageAlt = xmlRoot.getElementsByTagName("vesselName");
			var xmlMessage = xmlRoot.getElementsByTagName("errorMsg");
			
			$("#dateOut").attr( "value", xmlDate.item(0).firstChild.data );
			$("#dateBefore").attr( "rel", xmlDateBefore.item(0).firstChild.data );
			$("#dateNext").attr( "rel", xmlDateNext.item(0).firstChild.data );
			$("#datePresent").empty().append( xmlDate.item(0).firstChild.data );
			
			$("#Timetable tbody").empty();
			for( var i=0; i<xmlVoyages.length; i++ )
			{
				if( i%2 )
					style='style="background:0; color:#555"'
				else
					style='';

				tmp = "<tr>";
				tmp += "<td class=\"time\" "+ style +"><strong>"+ xmlDepartureTimes.item(i).firstChild.data +"</strong><br />"+ xmlDeparturePorts.item(i).firstChild.data +"</td>";
				tmp += "<td class=\"time\" "+ style +"><strong>"+ xmlArrivalTimes.item(i).firstChild.data +"</strong><br />"+ xmlArrivalPorts.item(i).firstChild.data +"</td>";
				tmp += "<td class=\"vessel\" "+ style +"><img src=\""+ xmlImageSrc.item(i).firstChild.data +"\" alt=\""+ xmlImageAlt.item(i).firstChild.data +"\" title=\""+ xmlImageAlt.item(i).firstChild.data +"\" /></td>";
				tmp += "</tr>";
				$("#Timetable tbody").append( tmp );
			}
			
			if( xmlMessage.length )
			{
				// print out error message in cases of any empty fetching data
				tmp = "<tr><td class=\"error\" colspan=\"3\">"+ xmlMessage.item(0).firstChild.data +"</td></tr>";
				$("#Timetable tbody").append( tmp );
			}
		}
