YAHOO.namespace("aerlingus.multiPageCalendar");var SELECTED_DEPARTURE_DAY="selectedDay_1";var SELECTED_DEPARTURE_MONTH="selectedMonth_1";var SELECTED_RETURN_DAY="selectedDay_2";var SELECTED_RETURN_MONTH="selectedMonth_2";var DEPARTURE_LABEL="lblSelectedDay_1";var RETURN_LABEL="lblSelectedDay_2";var RETURN_TYPE="selectedFlightTypeReturn";var ONEWAY_TYPE="selectedFlightTypeOneway";var DEPARTURE_DATE,RETURN_DATE;var NUM_CALENDAR_PAGES=1;var Dom=YAHOO.util.Dom;YAHOO.aerlingus.multiPageCalendar.selectFlightType_Load=function(){var b=Dom.get(ONEWAY_TYPE);var a=Dom.get(SELECTED_RETURN_DAY);var c=Dom.get(SELECTED_RETURN_MONTH);if(b!=null){if(b.checked==true){a.disabled=true;c.disabled=true}else{a.disabled=false;c.disabled=false}}};YAHOO.aerlingus.multiPageCalendar.selectFlightType_Click=function(c){var d=YAHOO.util.Event.getTarget(c);var a=Dom.get(SELECTED_RETURN_DAY);var b=Dom.get(SELECTED_RETURN_MONTH);if(d.id==ONEWAY_TYPE){a.disabled=true;b.disabled=true}else{a.disabled=false;b.disabled=false}};YAHOO.aerlingus.multiPageCalendar.setCalendarDeparture_Load=function(){var b=parseInt(Dom.get(SELECTED_DEPARTURE_DAY).value);var c=parseInt(Dom.get(SELECTED_DEPARTURE_MONTH).value);var a=YAHOO.aerlingus.multiPageCalendar.getYear(b,c);YAHOO.aerlingus.multiPageCalendar.setDepartureDate(b,c,a)};YAHOO.aerlingus.multiPageCalendar.setCalendarReturn_Load=function(){var c=parseInt(Dom.get(SELECTED_RETURN_DAY).value);var b=parseInt(Dom.get(SELECTED_RETURN_MONTH).value);var a=YAHOO.aerlingus.multiPageCalendar.getYear(c,b);YAHOO.aerlingus.multiPageCalendar.setReturnDate(c,b,a)};YAHOO.aerlingus.multiPageCalendar.selectDeparture_Change=function(){var c=parseInt(Dom.get(SELECTED_DEPARTURE_DAY).value);var f=parseInt(Dom.get(SELECTED_DEPARTURE_MONTH).value);var a=parseInt(Dom.get(SELECTED_DEPARTURE_MONTH).selectedIndex);var b=YAHOO.aerlingus.multiPageCalendar.getYear(c,f);var h=Dom.get(SELECTED_RETURN_DAY).value;var e=Dom.get(SELECTED_RETURN_MONTH).value;var g=Dom.get(SELECTED_RETURN_MONTH).selectedIndex;var d=YAHOO.aerlingus.multiPageCalendar.getYear(h,e);if((f==e)&&(h<c)){YAHOO.aerlingus.multiPageCalendar.updateReturnDates(c,e)}else{if(a>g){YAHOO.aerlingus.multiPageCalendar.selectDepartureMonth_Change()}}YAHOO.aerlingus.multiPageCalendar.updateNumberOfDays(Dom.get(SELECTED_DEPARTURE_MONTH),Dom.get(SELECTED_DEPARTURE_DAY));YAHOO.aerlingus.multiPageCalendar.setDepartureDate(c,f,b)};YAHOO.aerlingus.multiPageCalendar.selectDepartureMonth_Change=function(){var f=Dom.get(SELECTED_DEPARTURE_DAY);var a=Dom.get(SELECTED_DEPARTURE_MONTH);var d=a.selectedIndex;var b=a.value;var c=parseInt(b,10);var e=Dom.get(SELECTED_RETURN_MONTH).selectedIndex;if(e<d){YAHOO.aerlingus.multiPageCalendar.updateReturnDates(f.value,Dom.get(SELECTED_DEPARTURE_MONTH).value);YAHOO.aerlingus.multiPageCalendar.updateNumberOfDays(Dom.get(SELECTED_RETURN_MONTH),Dom.get(SELECTED_RETURN_DAY))}YAHOO.aerlingus.multiPageCalendar.selectDeparture_Change()};YAHOO.aerlingus.multiPageCalendar.selectReturn_Change=function(){var c=Dom.get(SELECTED_RETURN_DAY).value;var b=Dom.get(SELECTED_RETURN_MONTH).value;var a=YAHOO.aerlingus.multiPageCalendar.getYear(c,b);YAHOO.aerlingus.multiPageCalendar.updateNumberOfDays(Dom.get(SELECTED_RETURN_MONTH),Dom.get(SELECTED_RETURN_DAY));YAHOO.aerlingus.multiPageCalendar.setReturnDate(c,b,a)};YAHOO.aerlingus.multiPageCalendar.updateNumberOfDays=function(e,d){var b=e.value;var f=parseInt(b,10);var g=new Date();var a=(g.getUTCMonth());var h=g.getYear();if(f<a){var c=YAHOO.aerlingus.multiPageCalendar.getLenMonth(h+1,f)}else{var c=YAHOO.aerlingus.multiPageCalendar.getLenMonth(h,f)}YAHOO.aerlingus.multiPageCalendar.populateDays(c,d)};YAHOO.aerlingus.multiPageCalendar.setDepartureDate=function(b,d,a){var e=new Date();var c=YAHOO.aerlingus.multiPageCalendar.getLenMonth(a,d);e.setMonth(d);if(c<b){e.setDate(1)}else{e.setDate(b)}e.setFullYear(a);DEPARTURE_DATE=YAHOO.aerlingus.multiPageCalendar.formatDate(e)};YAHOO.aerlingus.multiPageCalendar.setReturnDate=function(e,d,a){var c=new Date();var b=YAHOO.aerlingus.multiPageCalendar.getLenMonth(a,d);c.setMonth(d);if(b<e){c.setDate(1)}else{c.setDate(e)}c.setFullYear(a);RETURN_DATE=YAHOO.aerlingus.multiPageCalendar.formatDate(c)};YAHOO.aerlingus.multiPageCalendar.getYear=function(a,c){var b=new Date();if(c<b.getMonth()||(c==b.getMonth()&&a<b.getDate())){return b.getFullYear()+1}else{return b.getFullYear()}};YAHOO.aerlingus.multiPageCalendar.populateDays=function(d,b){var a=b.length;var e=b.selectedIndex+1;for(var c=0;c<a;c++){b.options[c]=null}b.length=d;for(var c=0;c<d;c++){b.options[c]=new Option(c+1);b.options[c].value=(c+1);if(c==(e-1)){b.options[c].selected=true}}};YAHOO.aerlingus.multiPageCalendar.getLenMonth=function(a,b){b++;var c;if(b==1||b==3||b==5||b==7||b==8||b==10||b==12){c=31}else{if(b==4||b==6||b==9||b==11){c=30}else{if(b==2){if(YAHOO.aerlingus.multiPageCalendar.isLeapYear(a)){c=29}else{c=28}}}}return(c)};YAHOO.aerlingus.multiPageCalendar.isLeapYear=function(a){if(((a%4)==0)&&((a%100)!=0)||((a%400)==0)){return(true)}else{return(false)}};YAHOO.aerlingus.multiPageCalendar.updateReturnDates=function(b,c){Dom.get(SELECTED_RETURN_DAY).value=b;Dom.get(SELECTED_RETURN_MONTH).value=c;var a=YAHOO.aerlingus.multiPageCalendar.getYear(b,c);YAHOO.aerlingus.multiPageCalendar.setReturnDate(b,c,a)};YAHOO.aerlingus.multiPageCalendar.formatDate=function(a){var b=a.getMonth()+1+"/"+a.getDate()+"/"+a.getFullYear();return b};YAHOO.aerlingus.multiPageCalendar.init=function(){YAHOO.util.Event.addListener(SELECTED_DEPARTURE_DAY,"change",YAHOO.aerlingus.multiPageCalendar.selectDeparture_Change);YAHOO.util.Event.addListener(SELECTED_DEPARTURE_MONTH,"change",YAHOO.aerlingus.multiPageCalendar.selectDeparture_Change);YAHOO.util.Event.addListener(SELECTED_RETURN_DAY,"change",YAHOO.aerlingus.multiPageCalendar.selectReturn_Change);YAHOO.util.Event.addListener(SELECTED_RETURN_MONTH,"change",YAHOO.aerlingus.multiPageCalendar.selectReturn_Change);YAHOO.util.Event.addListener(RETURN_TYPE,"click",YAHOO.aerlingus.multiPageCalendar.selectFlightType_Click);YAHOO.util.Event.addListener(ONEWAY_TYPE,"click",YAHOO.aerlingus.multiPageCalendar.selectFlightType_Click);YAHOO.aerlingus.multiPageCalendar.selectFlightType_Load();YAHOO.aerlingus.multiPageCalendar.setCalendarDeparture_Load();YAHOO.aerlingus.multiPageCalendar.setCalendarReturn_Load();var c=YAHOO.util.Event;var b=YAHOO.util.Event;var a=Dom.get("showDeparture");var d=Dom.get("showReturn");c.on(a,"click",function(f){YAHOO.aerlingus.multiPageCalendar.calendarOpen("depart")});b.on(d,"click",function(f){YAHOO.aerlingus.multiPageCalendar.calendarOpen("return")})};YAHOO.aerlingus.multiPageCalendar.calendarOpen=function(b){var a=new YAHOO.util.YUILoader({require:["container","calendar"],base:"/js/yui_2.7.0/build/",onSuccess:function(){if(b=="depart"){YAHOO.aerlingus.multiPageCalendar.loadDepartureCalendar()}else{YAHOO.aerlingus.multiPageCalendar.loadReturnCalendar()}}});a.insert()};YAHOO.aerlingus.multiPageCalendar.loadDepartureCalendar=function(){var a=Dom.get("showDeparture");YAHOO.aerlingus.multiPageCalendar.loadCalendar(SELECTED_DEPARTURE_DAY,DEPARTURE_LABEL,"dContainer",SELECTED_DEPARTURE_MONTH,DEPARTURE_DATE,a)};YAHOO.aerlingus.multiPageCalendar.loadReturnCalendar=function(){var a=Dom.get("showReturn");YAHOO.aerlingus.multiPageCalendar.loadCalendar(SELECTED_RETURN_DAY,RETURN_LABEL,"rContainer",SELECTED_RETURN_MONTH,RETURN_DATE,a)};YAHOO.aerlingus.multiPageCalendar.loadCalendar=function(p,k,c,n,o,m){var j,f;var e=new Date();var b=new Date();b.setMonth(b.getMonth()+11);var l=YAHOO.aerlingus.multiPageCalendar.getLenMonth(b.getYear(),b.getMonth());b.setDate(l);var i=YAHOO.aerlingus.multiPageCalendar.formatDate(e);var d=YAHOO.aerlingus.multiPageCalendar.formatDate(b);if(!j){var a=Dom.get(p);j=new YAHOO.widget.Dialog(c,{visible:false,context:[a,"tl","bl"],draggable:false,close:true});YAHOO.util.Event.on(document,"click",function(s){var q=YAHOO.util.Event.getTarget(s);var r=j.element;if(q!=r&&!Dom.isAncestor(r,q)&&q!=m&&!Dom.isAncestor(m,q)){j.hide()}});var h=Dom.get(k).innerHTML;j.setHeader(h);j.setBody('<div id="cal"></div>');j.render(document.body);j.showEvent.subscribe(function(){if(YAHOO.env.ua.ie){j.fireEvent("changeContent")}})}if(!f){f=new YAHOO.widget.CalendarGroup("cal1",c,{PAGES:NUM_CALENDAR_PAGES,LOCALE_WEEKDAYS:"medium",LOCALE_MONTHS:"long"});f.cfg.setProperty("WEEKDAYS_MEDIUM",WEEKDAYS_MEDIUM);f.cfg.setProperty("MONTHS_LONG",MONTHS_LONG);f.cfg.setProperty("MINDATE",i);f.cfg.setProperty("MAXDATE",d);f.render();f.selectEvent.subscribe(function(){if(f.getSelectedDates().length>0){var s=f.getSelectedDates()[0]}else{var s=new Date()}var q=f.cfg.getProperty("WEEKDAYS_MEDIUM")[s.getDay()];var r=s.getDate();var u=f.cfg.getProperty("MONTHS_SHORT")[s.getMonth()];var t=s.getFullYear();Dom.get(p).value=r;Dom.get(n).value=s.getMonth();j.hide();if(c=="dContainer"){YAHOO.aerlingus.multiPageCalendar.selectDeparture_Change(Dom.get(n))}else{if(c=="rContainer"){YAHOO.aerlingus.multiPageCalendar.selectReturn_Change(Dom.get(n))}}});f.renderEvent.subscribe(function(){j.fireEvent("changeContent")})}f.cfg.setProperty("SELECTED",o);var g=f.getSelectedDates();if(g.length>0){f.cfg.setProperty("pagedate",g[0]);f.render()}j.show()};