if (typeof console == 'undefined') { 
	var console = {}; 
	console.log=function(){};
}
var UI={
	init:function(){
		for(i in UI){
			if(UI[i].init){
				UI[i].init();
			}
		}
	}
}

UI.CalendarField=Class.create();
UI.CalendarField.prototype={
	close:function(){
		this.scal.closeCalendar();
	},
	initialize: function(element, options){
		this.element=element;
		var value=element.innerHTML;
		element.innerHTML="";
		this.display=this.element.appendChild(new Element("input"));
		this.display.type="text";
		this.input=this.element.appendChild(new Element("input", {type:"hidden"}));
		this.input.name=element.id;
		this.button=this.element.appendChild(new Element("img"));
		this.button.src="/pics/icon_calendar.png";
		this.scalDiv=this.element.appendChild(new Element("div"));
		this.scalDiv.hide();
		this.scalDiv.addClassName("dashblack");
		this.button.observe("click", this.show.bindAsEventListener(this));
		this.display.observe("change", this.updateValue.bind(this));
		this.scal=new scal(this.scalDiv, this.display,
								{titleformat:'mmmm yyyy',
          						updateformat: 'yyyy-mm-dd',
								closebutton:'X',
								dayheadlength:2,
								weekdaystart:1,
								openeffect: Effect.Appear,
          						closeeffect: Effect.Fade
								});
		var date;
		if(value){
			date=new Date(value*1000);
		}
		else{
			date=new Date();
		}
		this.scal.setCurrentDate(date);
		this.scal.closeCalendar();
		document.observe("click", function(event){
				if(event.findElement(".CalendarField")!=this.element){
					this.close();
				}
			}.bindAsEventListener(this)
		);
		
		this.scalDiv.observe("click", function(event){
						if(Event.element(event).hasClassName("dayboxdate")){
							this.close();
							this.updateValue();
						}
		}.bindAsEventListener(this)
		
		);
		this.updateValue();
		
	},
	updateValue:function(){
		this.input.value=Date.parse(this.scal.currentdate)/1000;
		this.input.fire("widget:change");
	},
	show:function(event){
		this.scalDiv.makePositioned();
		
		Position.clone(this.button, this.scalDiv,  {setWidth: false, setHeight: false});
		this.scal.toggleCalendar();
	}
}
UI.CalendarField.init=function(){
	
	var calendarFields=$$(".CalendarField");
	var i;
	for(i=0, l=calendarFields.length;i<l;i++){
		new UI.CalendarField(calendarFields[i]);
	}
}


UI.passenger = Class.create();
UI.passenger.prototype = {
	index:2,
	initialize:function(elem){
		
		//this.date = elem.select(".CalendarField")[0].value;
		
		this.elem = elem
		$('addpassengerbtn').observe("click",this.add.bind(this));
	},
	add:function(){
		
		prev = Element.clone(this.elem,true)
		
		
		//prev.select('.CalendarField')[0].id = prev.select('.CalendarField')[0].id.split("-")[0]+"-"+this.index;
		//prev.select('.CalendarField')[0].innerHTML = "";
		
		var close = new Element("input",{type:'button',class:'button close',value:'x'});	
		close.observe("click",this.remove.bind(this,{elem:prev}))
		prev.appendChild(close)
		
		//new UI.CalendarField(prev.select('.CalendarField')[0]);
		
		$('addpassengerbtn').insert({
			before: prev
		})
		prev.select("label font")[0].innerHTML = this.index;
		prev.select("#c_lastname")[0].value="";
		prev.select("#c_firstname")[0].value="";
		//prev.select("#c_birthday input")[0].value=this.date;
		this.index++;
	},
	remove:function(elem){
		
		elem.elem.remove();
		this.index--;
	}
}
UI.passenger.init = function(){
	if($$('.passenger')[0]) new UI.passenger($$('.passenger')[0]);
}

document.observe("dom:loaded", UI.init);
