	var ns4 = (document.layers);
	var ie4 = (document.all && !document.getElementById);
	var ie5 = (document.all && document.getElementById);
	var ns6 = (!document.all && document.getElementById);
	
	var activeLayer = null;
	var menuOpened = false;

	function EMail(s) {
	
	 var a = false;
	 var res = false;
	 if(typeof(RegExp) == 'function') {
	 
	  var b = new RegExp('abc');
	  if(b.test('abc') == true){a = true;}
	  
	 }
	
	 if(a == true) {
	 
	  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
	                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
	                   '(\\.)([a-zA-Z]{2,4})$');
	  res = (reg.test(s));
	  
	 }
	 else {
	 
	  res = (s.search('@') >= 1 &&
	         s.lastIndexOf('.') > s.search('@') &&
	         s.lastIndexOf('.') >= s.length-5)
	         
	 }
	 
	 return(res);
	 
	}
	function checkGB() {
		
		if (document.formular.name.value == "") {
			alert("Geben Sie bitte Ihren Namen ein");
			document.formular.name.focus();
			return false;
		}
    		
   		if (document.formular.email.value == "") {
			alert("Geben Sie bitte Ihre E-Mail Adresse ein (erscheint nicht im Gästebuch)");
			document.formular.email.focus();
			return false;
		}
		
		if (document.formular.entry.value == "") {
			alert("Geben Sie Ihren Text ein");
			document.formular.entry.focus();
			return false;
		}
		
		if (document.formular.securecode.value == "") {
			alert("Bitte übertragen Sie zum Schutz Ihrer persönlichen Daten die 4-Stellige Sicherheitsabfrage in das darunterliegende Feld!");
			document.formular.securecode.focus();
			return false;
		}
		
	}
	function check() {
    	
		if (document.formular.last_name.value == "") {
			alert("Geben Sie bitte Ihren Namen ein");
			document.formular.last_name.focus();
			return false;
		}
    		
   		if (document.formular.first_name.value == "") {
			alert("Geben Sie bitte Ihren Vornamen ein");
			document.formular.first_name.focus();
			return false;
		}
		
		if (document.formular.phone.value == "") {
			alert("Geben Sie bitte Ihre Telefonnummer ein");
			document.formular.phone.focus();
			return false;
		}
		
		if (document.formular.securecode.value == "") {
			alert("Bitte übertragen Sie zum Schutz Ihrer persönlichen Daten die 4-Stellige Sicherheitsabfrage in das darunterliegende Feld!");
			document.formular.securecode.focus();
			return false;
		}
		
		/*
		if (document.formular.street.value == "") {
			alert("Geben Sie bitte Ihre Straße ein");
			document.formular.street.focus();
			return false;
		}
		
		if (document.formular.commercial.value == '') {
			alert("Bitte wählen Sie, wie Sie auf uns Aufmerksam geworden sind");
			document.formular.commercial.focus();
			return false;
		}
		
		if (document.formular.plz.value == "" || document.formular.plz.value.match(/[A-Za-z]/)!=null) {
			alert("Geben Sie bitte ihre Postleitzahl ein");
			document.formular.plz.value = "";
			document.formular.plz.focus();
			return false;
		}
		
		if (document.formular.city.value == "") {
			alert("Geben Sie bitte Ihren Wohnort ein");
			document.formular.city.focus();
			return false;
		}
		
		if (document.formular.destination.value == "") {
			alert("Geben Sie bitte Ihr gewünschtes Reiseziel ein");
			document.formular.destination.focus();
			return false;
		}
		
		if (document.formular.begin.value == "") {
			alert("Geben Sie bitte Ihren frühstmöglichen Abflugtermin ein");
			document.formular.begin.focus();
			return false;
		}
		
		if (document.formular.end.value == "") {
			alert("Geben Sie bitte Ihren spätestmöglichen Rückflugtermin ein");
			document.formular.end.focus();
			return false;
		}

		if (document.formular.airport.value == "") {
			alert("Geben Sie bitte Ihren gewünschten Abflughafen ein");
			document.formular.airport.focus();
			return false;
		}
		
		if (document.formular.duration.value == "") {
			alert("Geben Sie bitte Ihre gewünschte Aufenthaltsdauer ein");
			document.formular.duration.focus();
			return false;
		}
		*/
		
		if (document.formular.newsletter_flag[0].checked) {
			
			if (document.formular.email.value == "") {
				alert("Bitte geben Sie Ihre E-Mail Adresse ein (Nur wenn Newsletter gewünscht).");
				document.formular.email.focus();
				return false;
			}
			
			if (! EMail(document.formular.email.value) ) {
				alert("Bitte geben Sie eine gültige E-Mail Adresse ein (Nur wenn Newsletter gewünscht).");
				document.formular.email.focus();
				return false;			
			}
			
		}
						
		return true;
	
	}	
	
	/**
     * Calculates the age for a given Date-String in the format DD.MM.YYYY or YYYY-MM-DD
     * <p>
     * @param date_string - Date-String in the format DD.MM.YYYY or YYYY-MM-DD
     * @return
     */
    function calculateAgeFromDateString(date_string) {

		// Get current date
		TheDate = new Date();
		TheDate.setHours(0);
		TheDate.setMinutes(0);
		TheDate.setSeconds(0);
		TheDate.setMilliseconds(0);

		by = date_string.split('.')[2];
		bm = date_string.split('.')[1];
		bd = date_string.split('.')[0];
		BDate = new Date();
		BDate.setDate(bd);
		BDate.setMonth(bm - 1);
		BDate.setYear(by);
		BDate.setHours(0);
		BDate.setMinutes(0);
		BDate.setSeconds(0);
		BDate.setMilliseconds(0);

		// Calculate Millis
		Age = TheDate.getTime() - BDate.getTime();
		
		/* Return age
		alert ('TheDate: ' + TheDate.getTime() + '\n' +
			   'BDate: ' + BDate.getTime() + '\n' + 
			   'AGE: ' + Age + '\n' +
			   'CALC Age: ' + ((((Age/1000)/60)/60)/24) / 365 ); */
			   
		return ((((Age/1000)/60)/60)/24)/365.2;
		
	}
	function DateCheck(date_string) {
		
		if ( date_string.length != 10 || date_string.indexOf('.') != 2 || date_string.lastIndexOf('.') != 5) {
			//alert('Length or Point problem');
			return false;
		}
		
		day = date_string.split('.')[0];
		month = date_string.split('.')[1];
		year = date_string.split('.')[2];
		
		if (day.length != 2 || month.length != 2 || year.length != 4) {
			//alert('Individual length problem');
			return false;
		}

		if (isNaN(day) || isNaN(month) || isNaN(year) ) {
			//alert('Not a number problem');
			return false;
		}
		
		var vT = new Date(year, month - 1, day);
		var day_check = vT.getDate();
		var month_check = vT.getMonth() + 1;
		var year_check = vT.getFullYear();
	
		if ((day != day_check) || (month != month_check) || (year != year_check)) {
			return false;
		}
		
		return true;
	}
	function hideAllPanels() {
	
	    var allPanels = "submenu1,submenu2,submenu3,submenu4,left_image";
		var panelArray = allPanels.split(",");
	    
	    var x = 0;
	    
		if(ns4){
		
			while (x < panelArray.length) {
			
				document.layers[panelArray[x]].display = "none";
				x = x + 1
				
			}
		}
		// Explorer 4
		else if(ie4) {
		
			while (x < panelArray.length) {
			
				document.all[panelArray[x]].style.display = "none";
				x = x + 1
				
			}
		}
		// W3C - Explorer 5+ and Netscape 6+
		else if(ie5 || ns6) {
		
			while (x < panelArray.length) {
			
				document.getElementById(panelArray[x]).style.display = "none";
				x = x + 1
				
			}
		}
	}
	function showPanel( /* Layer */ objLayer) {
	
	  hideAllPanels();	
		
	  if (document.layers) {
	  
			objLayer.display = "block";
			
	  } 
	  else {
	  
			objLayer.style.display = "block";
			
	  }
	  
	  menuOpened = true;
	  
	}
	function delayHide( /* Layer */ objLayer) {
	  menuOpened = false;	
		
	  activeLayer = objLayer;	
	
	  setTimeout('hidePanel()', 500);
	}
	function hidePanel() {
		if (! menuOpened) {
	
	  		if (document.layers) {
				activeLayer.display = "none";
	  		} 
			else {
				activeLayer.style.display = "none";
	  		}
	  	}
	}
	function getLayerRef ( /* String */ id, /* optional HTML-Object */ document) {
	
	  if (!document) {
	    document = window.document;
	  }
	  
	  if (document.layers) {
	  
	    for (var l = 0; l < document.layers.length; l++) {
	    
	      if (document.layers[l].id == id) {
	        return document.layers[l];
	      }
	    }
	    
	    for (var l = 0; l < document.layers.length; l++) {
	    
	      var result = getLayerRef(id, document.layers[l].document);
	      
	      if (result) {
	        return result;
	      }
	    }
	    
	    return null;
	    
	  }
	  else if (document.all) {
	    return document.all[id];
	  } 
	  else if (document.getElementById) {
	    return document.getElementById(id);
	  }
	}
	function hideSpecialPanel( /* Layer */ objLayer) {
	
		if (document.layers) {
			objLayer.diplay = 'none';
		} 
		else {
			objLayer.style.display = 'none';
		}
	}
	function showSpecialPanel( /* Layer */ objLayer) {

		if (document.layers) {
			objLayer.display = 'block';
		}
		else {
			objLayer.style.display = 'block';
		}
	}
