YAHOO.namespace("seabreeze.calenders");

var calenderDDate;
var panelDDate;
var calenderRDate;
var panelRDate;

var showDCalendar = function(){
	calenderDDate.render();
	YAHOO.util.Dom.get("buttonDDate").focus();
	panelDDate.show();
}

var dDateSelectedEvent = function(type, args){
	var dy = args[0][0][2].toString().length==1 ? "0" + args[0][0][2].toString(): args[0][0][2].toString();
	var mon = args[0][0][1].toString().length==1 ? "0" + args[0][0][1].toString(): args[0][0][1].toString();
	document.getElementById("departuredate").value = dy + "-" + mon + "-" + args[0][0][0];
	YAHOO.util.Dom.get("buttonDDate").focus();
	panelDDate.hide();
}

var showRCalendar = function(){
	var d = document.getElementById("departuredate").value;
	if(d != ""){
		var da = d.split("-");
		calenderRDate.cfg.setProperty("mindate", d);
		calenderRDate.cfg.setProperty("pagedate", da[1] + "-" + da[2]);
	}
	calenderRDate.render();
	YAHOO.util.Dom.get("buttonRDate").focus();
	panelRDate.show();
}

var rDateSelectedEvent = function(type, args){
	var dy = args[0][0][2].toString().length==1 ? "0" + args[0][0][2].toString(): args[0][0][2].toString();
	var mon = args[0][0][1].toString().length==1 ? "0" + args[0][0][1].toString(): args[0][0][1].toString();
	document.getElementById("returndate").value = dy + "-" + mon + "-" + args[0][0][0];
	YAHOO.util.Dom.get("buttonRDate").focus();
	panelRDate.hide();
}

YAHOO.seabreeze.calenders.init = function(){
	calenderDDate = new YAHOO.widget.CalendarGroup("dca1","calenderDDate", {pages:2, iframe:false, DATE_FIELD_DELIMITER:"-", MDY_DAY_POSITION:"1", MDY_MONTH_POSITION:"2", MDY_YEAR_POSITION:"3" });
	calenderDDate.cfg.setProperty("mindate",calenderDDate.today);
	
	calenderRDate = new YAHOO.widget.CalendarGroup("rca1","calenderRDate", {pages:2, iframe:false, DATE_FIELD_DELIMITER:"-", MDY_DAY_POSITION:"1", MDY_MONTH_POSITION:"2", MDY_YEAR_POSITION:"3" });
	
	
	panelDDate = new YAHOO.widget.Panel("panelDDate", {width:"100%", visible:false, draggable:false, close:false, context:['buttonDDate','tr','tl'], effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}});
	panelDDate.render();
	
	panelRDate = new YAHOO.widget.Panel("panelRDate", {width:"100%", visible:false, draggable:false, close:false, context:['buttonRDate','tr','tl'], effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}});
	panelRDate.render();
	
	
	calenderDDate.selectEvent.subscribe(dDateSelectedEvent);
	YAHOO.util.Event.addListener("buttonDDate", "click", showDCalendar);
	YAHOO.util.Event.addListener("departuredate", "click", showDCalendar);
	YAHOO.util.Event.addListener("departuredate", "focus", showDCalendar);
	
	calenderRDate.selectEvent.subscribe(rDateSelectedEvent);
	YAHOO.util.Event.addListener("buttonRDate", "click", showRCalendar);
	YAHOO.util.Event.addListener("returndate", "click", showRCalendar);
	YAHOO.util.Event.addListener("returndate", "focus", showRCalendar);
	
	var Event = YAHOO.util.Event;
	var Dom = YAHOO.util.Dom;
	var dBtn = Dom.get("buttonDDate");
	var dTxt = Dom.get("departuredate");
	var rBtn = Dom.get("buttonRDate");
	var rTxt = Dom.get("returndate");
	
	Event.on(document, "click", function(e){
		var el = Event.getTarget(e);
		var dPanelEl = panelDDate.element;
		var rPanelEl = panelRDate.element;
		
		if (el != dPanelEl && !Dom.isAncestor(dPanelEl, el) && el != dBtn && !Dom.isAncestor(dBtn, el) && el != dTxt && !Dom.isAncestor(dTxt, el)) {
			panelDDate.hide();
		 }
		if(el != rPanelEl && !Dom.isAncestor(rPanelEl, el) && el != rBtn && !Dom.isAncestor(rBtn, el) && el != rTxt && !Dom.isAncestor(rTxt, el)){
			 panelRDate.hide();
		 }
	});
}

YAHOO.util.Event.onDOMReady(YAHOO.seabreeze.calenders.init);