/**
* JavaScript Document *.js
* 
* Internet Agentur
* Torsten Weiler
* Heerenhusstr. 11b
* 26465 Langeoog
* 
* phone: +49 (0)4972 990933
* fax: +49 (0)4972 990934
* mail: mail-at-torsten-weiler.de
* Internet: http://www.torsten-weiler.de
*
*© 2007 Internet Agentur Torsten Weiler, Langeoog
*/
var doc=document;
var lang=navigator.language;
var xmlhttp=null;
var res=null;
var noSupportXMLhttp='Your browser does not support XMLHTTP.'+"\n"+'You should update your obsolet Browser for example to:'+"\n"+'Firefox 1.0.5 or Opera 8 and higher';
window.onerror=ErrorFunction;
window.onError=ErrorFunction;

function ErrorFunction(msg, url, line)
{
  var hr; var appcode; var app; var ver; var usr; var wl; var qs; var errorurl;
  errorurl='http'+'://'+'www.'+'torsten-weiler'+'.de';
  errorurl+='/tools/'+'js'+'-'+'errorserversilent'+'.'+'php';
  hr=window.location.href; //url js
  qs=window.location.search;
  if (qs.indexOf('JsError=return')==-1)
  {
    appcode=navigator.appCodeName;
    app=navigator.appName;
    ver=navigator.appVersion;
    usr=navigator.userAgent;
    wl=errorurl+"?JsErrorUrl="+escape(url);
    wl+="&JsErrorLine="+escape(line);
    wl+="&JsErrorMsg="+escape(msg);
    wl+="&JsErrorAppcode="+escape(appcode);
    wl+="&JsErrorApp="+escape(app);
    wl+="&JsErrorVer="+escape(ver);
    wl+="&JsErrorUsr="+escape(usr);
    window.location=wl;
  }
  return true;
}

function Tide2Date() {
	var StationName = '';
	StationName = 'Langeoog, Germany' ;
	var b = ''; // '1967-04-10';
	var e= ''; //'1967-04-13';
	if (b && e) {
		loadXMLDoc('predictions.php?Station='+escape(StationName)+'&b='+b+'%2000:01&e='+e+'%2023:59',b,e);
	} else {
		loadXMLDoc('predictions.php','','');
	}
}


function msXMLHttpRequest() {
	var msxmlhttp=new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
	for(var i=0;i<msxmlhttp.length;i++){
		try{
			xmlhttp = new ActiveXObject(msxmlhttp[i]);
			}catch(e){
				xmlhttp=null;
			}
		}
		return xmlhttp;
}

function loadXMLDoc(url) {
	if(window.XMLHttpRequest) {
		xmlhttp=new XMLHttpRequest();
        if (xmlhttp.overrideMimeType) {
        	xmlhttp.overrideMimeType('text/xml');
        }
	} else if (window.ActiveXObject) {
		xmlhttp=msXMLHttpRequest();
	}
	if(xmlhttp!=null){
		xmlhttp.onreadystatechange=parseTide;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}else{
		alert(noSupportXMLhttp);
	}
}

function checkReadyState(obj) {
	switch (obj.readyState) {
    case 0 : // UNINITIALIZED
	// 0 = Verbindung noch nicht geöffnet ('open()' noch nicht aufgerufen)
	  break;
    case 1 : // LOADING
	// 1 = Noch keine Anfrage gesendet ('send()' noch nicht aufgerufen)
	  break;
    case 2 : // LOADED
	// 2 = Anfrage gesendet, Antwort-Header und Antwort-Status kann abgefragt werden.
		LoadingInfo(obj.readyState);
	  break;
    case 3 : // INTERACTIVE
	// 3 = Daten vom Server kommen nach und nach an. 'responseText' enthält die bislang vom Server gesendeten Daten.
      break;
    case 4 : // COMPLETED
	// 4 = Kommunikation mit dem Server ist abgeschlossen. Alle Daten sind angekommen (status = 200), wenn kein Fehler aufgetreten ist.
      //handleResponse(xmlHttp.status, xmlHttp.responseText);
		if (obj.status == 200) {
			// daten erfolgreich geladen: starte Verarbeitung
			LoadingInfo(obj.readyState);
			return true;
		} else {
			// fehler
			alert("Fehler beim Abrufen der XML Daten: "+obj.status);
		}
      break;
    default : ; // fehlerhafter Status
  }	
}

function LoadingInfo(handleState) {
	var LoadInfo = '';
	var docElementId = doc.getElementById('StationInfo');
	LoadInfo += 'Tideserver wird abgefragt!';
	docElementId.innerHTML = LoadInfo;
	if (LoadInfo != "" && handleState != 4) {
		docElementId.style.visibility = "visible";
	} else if (
		handleState == 4) {
			docElementId.style.visibility = "hidden";
	} else {
		docElementId.style.visibility = "hidden";
	}
}

function parseTide() {
  if(checkReadyState(xmlhttp))
  {
	var output='';
	doc.getElementById('StationInfo').innerHTML=output;
	var res=null;
	res=xmlhttp.responseXML;
	//alert(res.getElementsByTagName("station")[0].firstChild.nodeValue);
	var StationName=res.getElementsByTagName("station")[0].firstChild.nodeValue;
	var coords=res.getElementsByTagName("coord")[0].firstChild.nodeValue.split(',');
	var lat=coords[0];
	var lon=coords[1];
	var software=res.getElementsByTagName("software")[0].firstChild.nodeValue;
	output += '<' + 'h2>' + StationName + '<' + '/h2>';
	output += '<' + 'div align="left"><' + 'p>';
	output += '<' + 'strong>' + arrLangEvent[lang]['coord'] + '<' + '/strong>' + '<' + 'br/>';
	output += arrLangEvent[lang]['lat'] + ' ' + lat + '<' + 'br/>';
	output += arrLangEvent[lang]['lon'] + ' ' + lon + '<' + '/p>' + '<' + '/div>';
	output += '<' + 'table border="0" width="100%" class="tide" cellspacing="0">';
	for ( var i = 0; i < res.getElementsByTagName("tide").length; i++) {
		output += '<' + 'tr class="seperator">';
		{
	      try {
	        output += '<' + 'td>' + res.getElementsByTagName("date")[i].firstChild.nodeValue + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
	      try {
	        output += '<' + 'td>' + res.getElementsByTagName("time")[i].firstChild.nodeValue + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
	      try {
	        output += '<' + 'td>' + res.getElementsByTagName("daytime")[i].firstChild.nodeValue + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
	      try {
	        output += '<' + 'td>' + res.getElementsByTagName("timezone")[i].firstChild.nodeValue + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
	      try {
	        output += '<' + 'td>' + arrLangEvent[lang][res.getElementsByTagName("events")[i].firstChild.nodeValue] + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
	      try {
	        output += '<' + 'td>' + res.getElementsByTagName("tidalhigh")[i].firstChild.nodeValue + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
	      try {
	        output += '<' + 'td>' + arrLangEvent[lang][res.getElementsByTagName("units")[i].firstChild.nodeValue] + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		{
		var xx = res.getElementsByTagName("water")[i];
	      try {
	        output += '<' + 'td>' + arrLangEvent[lang][xx.firstChild.nodeValue] + '<' + '/td>';
	        } catch (e) {
	        output += '<' + 'td>&nbsp;<' + '/td>';
	        }
	      }
		output += '<' + '/tr>';
	}
	output += '<' + '/table>';
	output += '<' + 'hr/>';
	doc.getElementById('StationInfo').innerHTML=output;
	if (output != "") {
		doc.getElementById('StationInfo').style.visibility="visible";
	} else {
		doc.getElementById('StationInfo').style.visibility="hidden";
	}
  }
}
function check(form) {
		var aS ='';
		var DocForm = null;
		DocForm = doc.forms[0];
if (form == 'Kontakt'){
		if (DocForm.elements[0].value=="" || DocForm.elements[1].value=="" || DocForm.elements[2].value==""
		 || DocForm.elements[3].value=="" || DocForm.elements[4].value=="" || DocForm.elements[5].value=="")
		{
			aS="Sie haben nicht alle Felder ausgefüllt.\nIhre Daten konnten nicht gesendet werden.\nEs fehlen folgende Angaben:\n";
			if (DocForm.elements[0].value=="") aS=aS+"\t\t--> Name\n";
			if (DocForm.elements[1].value=="") aS=aS+"\t\t--> Vorname\n";
			if (DocForm.elements[2].value=="") aS=aS+"\t\t--> Strasse\n";
			if (DocForm.elements[3].value=="") aS=aS+"\t\t--> Postleitzahl\n";
			if (DocForm.elements[4].value=="") aS=aS+"\t\t--> Ort\n";
			if (DocForm.elements[5].value=="") aS=aS+"\t\t--> eMail Adresse\n";
			else 
			if (DocForm.elements[5].value.indexOf('@') == -1) aS=aS+"\t\t--> gültige eMail Adresse\n";
			//if (document.forms[0].elements[6].value=="") aS=aS+"\t\t--> Telefon\n";
			alert(aS);
			return false;
		}
	}
if (form == 'Buchung') {
		if (DocForm.elements[0].value=="" || DocForm.elements[1].value=="" || DocForm.elements[2].value==""
		 || DocForm.elements[3].value=="" || DocForm.elements[4].value=="" || DocForm.elements[5].value==""
		 || DocForm.elements[6].value=="" || DocForm.elements[9].value=="" || DocForm.elements[10].value==""
		 || DocForm.elements[11].value=="" || DocForm.elements[12].value=="" || DocForm.elements[13].value=="")
		{
			aS="Sie haben nicht alle Felder ausgefüllt.\nIhre Daten konnten nicht gesendet werden.\nEs fehlen folgende Angaben:\n";
			if (DocForm.elements[0].value=="") aS=aS+"\t\t--> Name\n";
			if (DocForm.elements[1].value=="") aS=aS+"\t\t--> Vorname\n";
			if (DocForm.elements[2].value=="") aS=aS+"\t\t--> Strasse\n";
			if (DocForm.elements[3].value=="") aS=aS+"\t\t--> Postleitzahl\n";
			if (DocForm.elements[4].value=="") aS=aS+"\t\t--> Ort\n";
			if (DocForm.elements[5].value=="") aS=aS+"\t\t--> eMail Adresse\n";
			else 
			if (DocForm.elements[5].value.indexOf('@') == -1) aS=aS+"\t\t--> gültige eMail Adresse\n";
			if (DocForm.elements[6].value=="") aS=aS+"\t\t--> Telefon\n";
			if (DocForm.elements[9].value=="") aS=aS+"\t\t--> Anreise\n";
			if (DocForm.elements[10].value=="") aS=aS+"\t\t--> Areise\n";
			if (DocForm.elements[11].value=="") aS=aS+"\t\t--> Dauer des Aufenthalts\n";
			alert(aS);
			return false;
		}
}
}

if(!addresses) var addresses = new Array();
addresses.push("1393 713 135 916 574 348 779 1035 242 79 474 921 574 474 150 665 1035 160 150 423 150 1116 708 1116 916 322 574 201 916 1116 474 150 916 961 1250 474");
addresses.push("1393 713 135 916 574 348 779 1035 242 135 916 574 348 708 779 1035 921 299 779 474 150 201 665 474 574 348 474 921 961 1250 474");


