/**
* This is the package adapts and constructs a set of YAHOO.Calendars.<br/>
* Strong changes were made to fit original's viatges barceló requirements.<br/>
* This part is released under GPL v2 (2006/06/02 4:29)
* @author Marc Bria Ramírez (1.4.2)
* @version 1.4.2
**/
YAHOO.widget.Calendar2up_ES_Cal = function(id, containerId, monthyear, selected) {
if (arguments.length > 0)
{ this.init(id, containerId, monthyear, selected); }
}
YAHOO.widget.Calendar2up_ES_Cal.prototype = new YAHOO.widget.Calendar2up_Cal();
YAHOO.widget.Calendar2up_ES_Cal.prototype.customConfig = function() {
this.Config.Locale.MONTHS_SHORT = ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"];
this.Config.Locale.MONTHS_LONG = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
this.Config.Locale.WEEKDAYS_1CHAR = ["D", "L", "M", "X", "J", "V", "S"];
this.Config.Locale.WEEKDAYS_SHORT = ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"];
this.Config.Locale.WEEKDAYS_MEDIUM = ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"];
this.Config.Locale.WEEKDAYS_LONG =["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"];
this.Config.Options.START_WEEKDAY = 1;
}
YAHOO.widget.Calendar2up_ES = function(id, containerId, monthyear, selected) {
if (arguments.length > 0)
{ this.buildWrapper(containerId);
this.init(2, id, containerId, monthyear, selected); }
}
YAHOO.widget.Calendar2up_ES.prototype = new YAHOO.widget.Calendar2up();
YAHOO.widget.Calendar2up_ES.prototype.constructChild = function(id,containerId,monthyear,selected) {
var cal = new YAHOO.widget.Calendar2up_ES_Cal(id,containerId,monthyear,selected);
this.title = "<em>Elige fecha:</em>";
return cal;
};
YAHOO.widget.Calendar2up_ES.prototype.showToday = function(pStatus) {
if (!pStatus) YAHOO.widget.Calendar_Core.prototype.renderCellStyleToday = YAHOO.widget.Calendar_Core.prototype.renderCellDefault;
}
function hideAllCalendars(){
gCal1.hide();
gCal2.hide();}
YAHOO.widget.Calendar2up_ES.prototype.toggleCalendar=function(pToggler,pField,pFieldMin){
var offsetShadowX=0;
var offsetShadowY=0;
var offsetX=20;
var offsetY=20;
var posXY=Position.cumulativeOffset($(pToggler));
posXY[0]+=offsetX;
posXY[1]+=offsetY;
if(this.outerContainer.style.display!="block"){
hideAllCalendars();
if(pFieldMin){
this.changeDate(pField,pFieldMin);
this.renderTemplate("home",getFormDate($(pFieldMin),"objDate"));}
else{
this.changeDate(pField);}
this.outerContainer.style.left=posXY[0]+"px";
this.outerContainer.style.top=posXY[1]+"px";
this.outerContainer.style.display="block";
if(document.all){
var iframeShim=$("ieComboFixCalendar");
iframeShim.style.display=this.outerContainer.style.display;
if(iframeShim.style.display!="none"){
iframeShim.style.left=(posXY[0]+offsetShadowX)+"px";
iframeShim.style.top=(posXY[1]+offsetShadowY)+"px";
iframeShim.style.width=this.outerContainer.offsetWidth;
iframeShim.style.height=this.outerContainer.offsetHeight;}}}
else{
this.hide();}}
YAHOO.widget.Calendar2up_ES.prototype.changeDate=function(pField,pFieldMin){
var validDate=0;
tSelectedDate=getFormDate($(pField),"objDate");
var tMinDuration=0;
if(this.minDuration)tMinDuration=this.minDuration;
var tSalidaMin=YAHOO.widget.DateMath.add(new Date(),YAHOO.widget.DateMath.DAY,tMinDuration);
if(pFieldMin){
tSelectedDateMin=getFormDate($(pFieldMin),"objDate");
if((tSelectedDate==null)||(tSelectedDateMin==null))validDate=-4;
else validDate=this.validate(tSelectedDateMin,tSelectedDate);
if(tSelectedDateMin==null)validDate=-5;}
else{
if(tSelectedDate==null)validDate=-3;
else validDate=this.validate(tSelectedDate);}
if(validDate<0){
if(!pFieldMin)tSelectedDate=tSalidaMin;
else{
if(validDate!=-5)
tSelectedDate=YAHOO.widget.DateMath.add(getFormDate($(pFieldMin),"objDate"),YAHOO.widget.DateMath.DAY,tMinDuration);
else
if(this.getSelectedDates()[0])tSelectedDate=this.getSelectedDates()[0];
else tSelectedDate=tSalidaMin;}
this.warning(validDate,pField);}
if(!tSelectedDate)tSelectedDate=tSalidaMin;
var tDay=formDate(tSelectedDate,"MMDDYYYY");
var tMonth=tSelectedDate.getMonth();
var tYear=formDate(tSelectedDate,"YYYY");
this.select(tDay);
this.setMonth(tMonth);
this.setYear(tYear);
this.render();
return validDate;}
YAHOO.widget.Calendar2up_ES.prototype.warning=function(pNumber,pId){
switch(pNumber){
case-1:
//eAlert.showAlert("La fecha de ida debe seguir el formato DD/MM/YYYY y ser posterior al día de hoy.<br/><strong>Corregimos la fecha de ida por usted.</strong>",pId);
break;
case-2:
//eAlert.showAlert("La fecha de vuelta debe seguir el formato DD/MM/YYYY y ser posterior a la de ida.<br/><strong>Corregimos la fecha de vuelta por usted.</strong>",pId);
break;
case-3:
case-4:
case-5:
break;
default:
alert("Error:"+pNumber);
break;}}
YAHOO.widget.Calendar2up.prototype.minDate=function(pMinDate){
this.pages[0].minDate=YAHOO.widget.DateMath.add(pMinDate,YAHOO.widget.DateMath.DAY,0);
this.pages[1].minDate=YAHOO.widget.DateMath.add(pMinDate,YAHOO.widget.DateMath.DAY,0);}
YAHOO.widget.Calendar2up_ES.prototype.validate=function(pDateIni,pDateEnd){
var tMinDate=YAHOO.widget.DateMath.clearTime(new Date());
tMinDate=YAHOO.widget.DateMath.subtract(tMinDate,YAHOO.widget.DateMath.DAY,1);
var tMinDuration=0;
if(this.minDuration>0)tMinDuration=this.minDuration;
if(!pDateIni){
pDateIni=tMinDate;}
if(YAHOO.widget.DateMath.before(tMinDate,pDateIni)){
if(!pDateEnd){
return 1;}
else{
duration=YAHOO.widget.DateMath.getDayOffset(pDateEnd,tMinDate.getYear())-YAHOO.widget.DateMath.getDayOffset(pDateIni,tMinDate.getYear());
if(duration>=tMinDuration)return 2;
else return-2
}}
else return-1;}
YAHOO.widget.Calendar2up.prototype.hide=function(e,cal){
if(!cal){cal=this;}
cal.outerContainer.style.display="none";
if(document.all){
$("ieComboFixCalendar").style.display="none";}}
function formDate(pDate,pFormat){
if(!pDate)return "";
if(!pFormat)return "";
var tDate="";
if(pFormat!="objDate"){
var d=pDate.getDate();
var tDD=(d<10)?'0'+d:d;
var m=pDate.getMonth()+1;
var tMM=(m<10)?'0'+m:m;
var yy=pDate.getYear();
var tYYYY=(yy<1000)?yy+1900:yy;
switch(pFormat){
case "MMDDYYYY":tDate=tMM+"/"+tDD+"/"+tYYYY;break;
case "DDMMYYYY":tDate=tDD+"/"+tMM+"/"+tYYYY;break;
case "MMYYYY":tDate=tMM+"/"+tYYYY;break;
case "DD":tDate=tDD;break;
case "MM":tDate=tMM;break;
case "YYYY":tDate=tYYYY;break;
default:tDate=tMM+"/"+tDD+"/"+tYYYY;break;}
pDate=tDate;}
return pDate;}
function getFormDate(pField,pFormat){
var tDate="";
if(pField.value!=""){
var tForm=pField.value.split("/");
if((tForm.length>0)&&(tForm.length<4)){
if(tForm[2]<1000)tForm[2]=parseInt(tForm[2],10)+2000;
if((tForm[0]>=1)&&(tForm[0]<=31))
if((tForm[1]>=1)&&(tForm[1]<=12))
if((tForm[2]>=2000)&&(tForm[2]<=2100)){
day=parseInt(tForm[0],10);
month=parseInt(tForm[1],10)-1;
year=parseInt(tForm[2],10);
tDate=new Date(year,month,day);}}}
if(!tDate)return null;
return formDate(tDate,pFormat);}
function setFormDate(pCal,pField){
tField=$(pField);
var date1=pCal.getSelectedDates()[0];
tField.value=formDate(date1,"DDMMYYYY");
pCal.hide();}
var gCal1;
var gCal2;
function initCalendar(pSection){
var tFieldIni="fida";
var tFieldEnd="fvuelta";
var minDuration=null;
switch(pSection){
case "VUE":
minDuration=0;
break;
case "VIA":
case "HOT":
case "CAR":
default:
minDuration=1;
break;}
Event.observe('calendarIniToggle','click',function(event){gCal1.toggleCalendar('calendarIniToggle',tFieldIni);});
Event.observe('calendarEndToggle','click',function(event){gCal2.toggleCalendar('calendarEndToggle',tFieldEnd,tFieldIni);});
if(document.all){
if(!$('ieComboFixCalendar')){
var hoverDiv=$("gCal1Container");
hoverDiv.insertAdjacentHTML("afterEnd",'<IFRAME id="ieComboFixCalendar" style="position:absolute; z-index:2; display:none; filter:alpha(opacity=70);" src="javascript:false;" frameBorder="0" scrolling="no" />');}}
gCal1=new YAHOO.widget.Calendar2up_ES("gCal1","gCal1Container",getFormDate($(tFieldIni),"MMYYYY"),getFormDate($(tFieldIni),"MMDDYYYY"));
gCal1.setChildFunction("onSelect",function(event){setFormDate(gCal1,tFieldIni)});
gCal1.renderTemplate("home");
gCal2=new YAHOO.widget.Calendar2up_ES("gCal2","gCal2Container",getFormDate($(tFieldEnd),"MMYYYY"),getFormDate($(tFieldEnd),"MMDDYYYY"));
gCal2.setChildFunction("onSelect",function(event){setFormDate(gCal2,tFieldEnd)});
gCal2.minDuration=minDuration;
gCal2.renderTemplate("home");}
YAHOO.widget.Calendar2up_ES.prototype.renderTemplate=function(pStyle,pMinDate){
if(!pMinDate)pMinDate=new Date();
if(this.minDuration)pMinDate=YAHOO.widget.DateMath.add(pMinDate,YAHOO.widget.DateMath.DAY,this.minDuration);
if(pStyle=="home"){
var renderSunday=function(cal,cell){
YAHOO.widget.Calendar_Core.addCssClass(cell,"sunday");}
globalDates(this);
pageDates(this);
this.setMonth(pMinDate.getMonth());
this.setYear(formDate(pMinDate,"YYYY"));
this.minDate(pMinDate,YAHOO.widget.DateMath.DAY,0);
this.addWeekdayRenderer(1,renderSunday);
this.addWeekdayRenderer(7,renderSunday);
this.showToday(false);
this.render();
this.hide();}}
function globalDates(tCal){}
function pageDates(tCal){}

