
	function hasClass(ele,cls) {
			return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
	}
	
	function addClass(ele,cls) {	
		if (!this.hasClass(ele,cls)){ 
			ele.className += " "+cls;
		}
	}
	
	function removeClass(ele,cls) {
		if (hasClass(ele,cls)) {
			var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
			ele.className=ele.className.replace(reg,' ');
		}
	}
	
	
	function echo(s){
	    var elDebug = document.getElementById("debug");
    	elDebug.innerHTML = "<p>" + s + "</p>" + elDebug.innerHTML;
	
	}
	
	function $(element) {
  		if (arguments.length > 1) {
    		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      			elements.push($(arguments[i]));
    			return elements;
  		}
  		if (typeof element == 'string')
    		element = document.getElementById(element);
  		return element;
	}
	
Formular = {
	
	
	members:0,
	
	// attach an event for an element
	// (element, type, function)
	add: function(event, body, d) {
	    if (event.addEventListener) return event.addEventListener(body, d,false)
	    if (event.attachEvent) return event.attachEvent('on'+body, d)
	},

	// kill an event of an element
	end: function(e){
		if (window.event) {
			window.event.cancelBubble = true
			window.event.returnValue = false
      		return;
    	}
	    if (e.preventDefault && e.stopPropagation) {
	      e.preventDefault()
	      e.stopPropagation()
	    }
	},
	
	echo: function(s){ 
    	var elDebug = document.getElementById("debug");
    	elDebug.innerHTML = "<p> " + s + "</p>" + elDebug.innerHTML;	
	},
	
	changing: function(){ 
	
		this.members = 0;
		if($("p_adult").value != "" && isNaN(parseInt($("p_adult").value))){
			alert("Bitte geben Sie hier eine Zahl ein!");
			$("p_adult").value = "";
		}else{
			if($("p_adult").value != "")
				this.members += parseInt($("p_adult").value);
		}
		if($("p_child").value != "" && isNaN(parseInt($("p_child").value))){
			alert("Bitte geben Sie hier eine Zahl ein!");
			$("p_child").value = "";
		}else{
			if($("p_child").value != "")
				this.members += parseInt($("p_child").value);
		}	

		if(this.members == 0){
			this.members = 1;	
		}
		
		for(var i=(this.members+1); i<=10; i++){
			$("pm_label_" + i).style.display = 'none';
			$("pm_fname_" + i).style.display = 'none';
			$("pm_lname_" + i).style.display = 'none';
			$("pm_geb_" + i).style.display = 'none';
			
			$("pm_fname_" + i).value = "";
			$("pm_lname_" + i).value = "";
			$("pm_geb_" + i).value = "";;
		}
		
		for(var i=1; i<=(this.members); i++){
			$("pm_label_" + i).style.display = 'block';
			$("pm_fname_" + i).style.display = 'block';
			$("pm_lname_" + i).style.display = 'block';
			$("pm_geb_" + i).style.display = 'block';		
		}
		//this.members = parseInt($("p_child").value) + parseInt($("p_adult").value);
		//alert(this.members);
	},
	
	loading: function(){
		
		if(!$("p_adult") || !$("p_child")){
			return;	
		}
		$("p_adult").onchange = function (){
				Formular.changing();
		}
		
		$("p_child").onchange = function (){
				Formular.changing();
		}
		Formular.changing();
		
	},
	
	
	// initializer that adds the renderer to the onload function of the window
	init: function(){		
		
		Formular.add(window,'load', Formular.loading);		
		//Scroller.add(window,'load', Scroller.render)
	}
	
}
// invoke the initializer of the scroller
Formular.init();

/*------------------------------------------------------------
 *						END OF CODE
/*-----------------------------------------------------------*/

Booking = {
	
	
	arrival:false,
	departure:false,
	arrivalset:'',
	departureset:'',
	// attach an event for an element
	// (element, type, function)
	add: function(event, body, d) {
	    if (event.addEventListener) return event.addEventListener(body, d,false)
	    if (event.attachEvent) return event.attachEvent('on'+body, d)
	},

	// kill an event of an element
	end: function(e){
		if (window.event) {
			window.event.cancelBubble = true
			window.event.returnValue = false
      		return;
    	}
	    if (e.preventDefault && e.stopPropagation) {
	      e.preventDefault()
	      e.stopPropagation()
	    }
	},
	
	echo: function(s){ 
    	var elDebug = document.getElementById("debug");
    	elDebug.innerHTML = "<p> " + s + "</p>" + elDebug.innerHTML;	
	},
	
	set_values: function(val){  
		$("p_" + val).value = this[val + 'set'];					
	},
	
	delete_values: function(){ 
    	if(confirm("Möchten Sie die Inhate zurücksetzen?")){
			$("bookingform").style.display = 'block';
			$("p_arrival").value = "";
			$("p_departure").value = "";			
			removeClass($("td_" + this.arrival), "bookingarrival");	
			removeClass($("td_" + this.departure), "bookingdeparture");	
			this.arrival = false;
			this.departure = false;
			this.arrivalset = '';
			this.departureset = '';
			$("sendbookcontact").disabled = true;
			return;
		}else{
			return;	
		}	
	},
	
	set_calendar: function(d, m, y){ 
		
		if(document.forms["calendarForm"].elements["cal_fewo"].value == ""){
			return;	
		}
		d = parseInt(d);
		m = parseInt(m);
		y = parseInt(y);
		
		if(this.arrival == false){
			
			this.arrival = d + "-" + m + "-" + y;	
			this.arrivalset = ((d>9) ? d : "0"+d) + "." + ((m>9) ? m : "0"+m) + "." + y;
			if(confirm("Möchten Sie das Datum: " + this.arrivalset + " als gewünschtest Anreisedatum festlegen?")){
				$("bookingform").style.display = 'block';
				$("p_arrival").value = this.arrivalset;
				addClass($("td_" + this.arrival), "bookingarrival");	
				return;
			}else{
				return;	
			}
		
		
		}
		
		if(this.departure == false){
			
			this.departure = d + "-" + m + "-" + y;	
			this.departureset = ((d>9) ? d : "0"+d) + "." + ((m>9) ? m : "0"+m) + "." + y;
			if(confirm("Möchten Sie das Datum: " + this.departureset + " als gewünschtest Abreisedatum festlegen?")){
				$("bookingform").style.display = 'block';		
				$("p_departure").value = this.departureset;
				addClass($("td_" + this.departure), "bookingdeparture");	
				$("sendbookcontact").disabled = false;
				return;
			}else{
				return;	
			}
		
		
		}
		
		alert("Anreise- und Abreisedatum sind ausgewählt. Klicken Sie auf zurücksetzen um die Inhalte zu löschen, oder auf Zum Anfrageformular um die Daten zu übernehmen.");	
	
	},
	
	loading: function(){
		
		//todo something
		if(!$("sendbookcontact")){
			return;
		}
		$("sendbookcontact").disabled = true;
		
	},
	
	
	// initializer that adds the renderer to the onload function of the window
	init: function(){		
		
		Booking.add(window,'load', Booking.loading);		
		//Scroller.add(window,'load', Scroller.render)
	}
	
}
// invoke the initializer of the scroller
Booking.init();

/*------------------------------------------------------------
 *						END OF CODE
/*-----------------------------------------------------------*/
window.addEvent('domready', function() {
	var isiPad = navigator.userAgent.match(/iPad/i) != null;
	var isiPhone = navigator.userAgent.match(/iPhone/i) != null;
	if(isiPad || isiPhone){
		
		var size = $("container_container").getSize();
		var scroll = $('container_holder').getScrollSize();
		$('container_holder').setStyle('height', scroll.y + 'px');
		var bheight = 855;
		var bwidth = 1236;
		
		$('background').setStyle('height', scroll.y + 'px');
		//$('background').setStyle('width', (bwidth * (scroll.y/bheight)) + 'px');
	}
	
	//alert('My element can scroll to ' + );
	
});
