var arrErrors = new Array();
var arrFocus = new Array();
var hasMessage = false;

function switchTab(tab) {
   for (var s in SectionTabs) {
      try {
         var sectionTab = SectionTabs[s];
         if (sectionTab.Tab == tab) {
            tabSelected = sectionTab.Tab;
            YAHOO.util.Dom.get(sectionTab.Link).className = 'active';
            show(sectionTab.Mod);
            YAHOO.util.Dom.get(sectionTab.Focus).focus();
         }
         else {
            YAHOO.util.Dom.get(sectionTab.Link).className = '';
            hide(sectionTab.Mod);
         }
      }
      catch (ex) { }
   }
}

function required(objectToEvaluate, requiredName, messageToAdd, minLength, isValid) {
   if (isValid == undefined) {
      isValid = (YAHOO.util.Dom.get(objectToEvaluate).value.length > minLength);
   }
   if (YAHOO.util.Dom.get(objectToEvaluate)) {
      if (!isValid) {
         arrErrors.push(messageToAdd);
         arrFocus.push(objectToEvaluate);
         if (requiredName != '') {
            YAHOO.util.Dom.get(requiredName).style.display = '';
         }
      }
      else if (requiredName != '') {
         YAHOO.util.Dom.get(requiredName).style.display = 'none';
      }
   }
}

function validateAutocomplete(txtClassName, hdnClassName, rqfClassName, msgRequired, msgInvalid) {
   var txt = YAHOO.util.Dom.getElementsByClassName(txtClassName)[0];
   var hdn = YAHOO.util.Dom.getElementsByClassName(hdnClassName)[0];
   var rqf = YAHOO.util.Dom.getElementsByClassName(rqfClassName)[0];
   if (txt.value.toLowerCase() != 'df') {
      required(txt.id, rqf.id, msgRequired, 2);
      if (txt.value != '' && txt.value != hdn.value) {
         arrErrors.push(msgInvalid);
         arrFocus.push(txt.id);
      }
   }
}

function setFocus() {
   for (var i = 0; i < arrFocus.length; i++) {
      try {
         YAHOO.util.Dom.get(arrFocus[i]).focus();
         break;
      }
      catch (ex) {
         return false;
      }
   }
}

function validateHotelForm(isRoomsPage) {
   if (!isRoomsPage) {
      validateAutocomplete('cnTxtDestinationHotel', 'cnHdnDestinationHotel', 'cnRqfDestinationHotel', errDestinationRequired, errDestinationInvalid);
   }

   var txtCheckIn = YAHOO.util.Dom.getElementsByClassName('cnTxtCheckIn')[0];
   var hdnCheckIn = YAHOO.util.Dom.getElementsByClassName('cnHdnCheckIn')[0];
   var rqfCheckIn = YAHOO.util.Dom.getElementsByClassName('cnRqfCheckIn')[0];
   var isCheckInPast = false;

   var txtCheckOut = YAHOO.util.Dom.getElementsByClassName('cnTxtCheckOut')[0];
   var hdnCheckOut = YAHOO.util.Dom.getElementsByClassName('cnHdnCheckOut')[0];
   var rqfCheckOut = YAHOO.util.Dom.getElementsByClassName('cnRqfCheckOut')[0];
   var isCheckOutPast = false;

   if (hdnCheckIn.value == '') {
      if (hdnCheckOut.value != '' || isRoomsPage) {
         arrErrors.push(errCheckInRequired);
         arrFocus.push(txtCheckIn.id);
         rqfCheckIn.style.display = '';
      }
      else {
         rqfCheckIn.style.display = 'none';
      }
   }
   else {
      isCheckInPast = (new Date(hdnCheckIn.value).valueOf() < dtNow.valueOf());
      rqfCheckIn.style.display = 'none';
   }

   if (hdnCheckOut.value == '') {
      if (hdnCheckIn.value != '' || isRoomsPage) {
         arrErrors.push(errCheckOutRequired);
         arrFocus.push(txtCheckOut.id);
         rqfCheckOut.style.display = '';
      }
      else {
         rqfCheckOut.style.display = 'none';
      }
   }
   else {
      isCheckOutPast = new Date(hdnCheckOut.value).valueOf() < dtNow.valueOf();
      rqfCheckOut.style.display = 'none';
   }

   if (isCheckInPast && isCheckOutPast) {
      arrErrors.push(errPastDates);
      arrFocus.push(txtCheckIn.id);
      rqfCheckIn.style.display = '';
      rqfCheckOut.style.display = '';
   }
   else {
      required(txtCheckIn.id, rqfCheckIn.id, errCheckInPast, 0, !isCheckInPast);
      required(txtCheckOut.id, rqfCheckOut.id, errCheckOutPast, 0, !isCheckOutPast);
   }

   validateRooms(isRoomsPage ? '' : 'Hotel');

   if (arrErrors.length > 0) {
      for (var i = 0; i < arrErrors.length; i++) {
         arrErrors[i] = '* ' + arrErrors[i];
      }
      YAHOO.util.Dom.get('divSearchError').innerHTML = arrErrors.join('<br />');
      YAHOO.util.Dom.get('divSearchError').style.display = 'block';
      setFocus();
      return false;
   }

   YAHOO.util.Dom.get('divSearchError').style.display = 'none';
   return true;
}

function validateFlightForm() {
   validateAutocomplete('cnTxtDepartureAirport', 'cnHdnDepartureAirport', 'cnRqfDepartureAirport', errFromAirportRequired, errFromAirportInvalid);
   validateAutocomplete('cnTxtReturningAirport', 'cnHdnReturningAirport', 'cnRqfReturningAirport', errToAirportRequired, errToAirportInvalid);

   var txtDeparture = YAHOO.util.Dom.getElementsByClassName('cnTxtDeparture')[0];
   var hdnDeparture = YAHOO.util.Dom.getElementsByClassName('cnHdnDeparture')[0];
   var rqfDeparture = YAHOO.util.Dom.getElementsByClassName('cnRqfDeparture')[0];
   var isDeparturePast = (new Date(hdnDeparture.value).valueOf() < dtNow.valueOf());
   required(txtDeparture.id, rqfDeparture.id, errDepartureRequired, 0, (hdnDeparture.value != ''));

   var txtReturning = YAHOO.util.Dom.getElementsByClassName('cnTxtReturning')[0];
   var hdnReturning = YAHOO.util.Dom.getElementsByClassName('cnHdnReturning')[0];
   var rqfReturning = YAHOO.util.Dom.getElementsByClassName('cnRqfReturning')[0];
   var isReturningPast = (new Date(hdnReturning.value).valueOf() < dtNow.valueOf());
   required(txtReturning.id, rqfReturning.id, errReturningRequired, 0, (hdnReturning.value != '' || !YAHOO.util.Dom.get('rtrp').checked));

   if (isDeparturePast && isReturningPast) {
      arrErrors.push(errPastDates);
      arrFocus.push(txtDeparture.id);
      rqfDeparture.style.display = '';
      rqfReturning.style.display = '';
   }
   else {
      required(txtDeparture.id, rqfDeparture.id, errDeparturePast, 0, !isDeparturePast);
      required(txtReturning.id, rqfReturning.id, errReturningPast, 0, !isReturningPast);
   }

   if (!isValidPax('Flight')) {
      arrErrors.push(errPassengerMax);
   }
   else {
      validateKids('Flight');
   }

   if (arrErrors.length > 0) {
      for (var i = 0; i < arrErrors.length; i++) {
         arrErrors[i] = '* ' + arrErrors[i];
      }
      YAHOO.util.Dom.get('divErrorFlight').innerHTML = arrErrors.join('<br />');
      YAHOO.util.Dom.get('divErrorFlight').style.display = 'block';
      setFocus();
      return false;
   }

   YAHOO.util.Dom.get('divErrorFlight').style.display = 'none';
   return true;
}

function validatePackageForm(isRoomPage) {
   validateAutocomplete('cnTxtDeparturePackage', 'cnHdnDeparturePackage', 'cnRqfDeparturePackage', errFromAirportRequired, errFromAirportInvalid);
   validateAutocomplete('cnTxtReturnPackage', 'cnHdnReturnPackage', 'cnRqfReturnPackage', errToAirportRequired, errToAirportInvalid);

   var txtDeparturePackage = YAHOO.util.Dom.getElementsByClassName('cnTxtDepartureDatePackage')[0];
   var hdnDeparturePackage = YAHOO.util.Dom.getElementsByClassName('cnHdnDepartureDatePackage')[0];
   var rqfDeparturePackage = YAHOO.util.Dom.getElementsByClassName('cnRqfDepartureDatePackage')[0];
   var isDeparturePast = (new Date(hdnDeparturePackage.value).valueOf() < dtNow.valueOf());
   required(txtDeparturePackage.id, rqfDeparturePackage.id, errDepartureRequired, 0, (hdnDeparturePackage.value != ''));

   var txtReturnPackage = YAHOO.util.Dom.getElementsByClassName('cnTxtReturnDatePackage')[0];
   var hdnReturnPackage = YAHOO.util.Dom.getElementsByClassName('cnHdnReturnDatePackage')[0];
   var rqfReturnPackage = YAHOO.util.Dom.getElementsByClassName('cnRqfReturnDatePackage')[0];
   var isReturningPast = (new Date(hdnReturnPackage.value).valueOf() < dtNow.valueOf());
   required(txtReturnPackage.id, rqfReturnPackage.id, errReturningRequired, 0, (hdnReturnPackage.value != '' || (YAHOO.util.Dom.get('rtrp') != null && !YAHOO.util.Dom.get('rtrp').checked)));

   if (isDeparturePast && isReturningPast) {
      arrErrors.push(errPastDates);
      arrFocus.push(txtDeparturePackage.id);
      rqfDeparturePackage.style.display = '';
      rqfReturnPackage.style.display = '';
   }
   else {
      required(txtDeparturePackage.id, rqfDeparturePackage.id, errDeparturePast, 0, !isDeparturePast);
      required(txtReturnPackage.id, rqfReturnPackage.id, errReturningPast, 0, !isReturningPast);
   }

   if (!isValidPax(isRoomPage ? '' : 'Package')) {
      arrErrors.push(errPassengerMax);
   }
   else {
      validateRooms(isRoomPage ? '' : 'Package');
   }

   if (arrErrors.length > 0) {
      for (var i = 0; i < arrErrors.length; i++) {
         arrErrors[i] = '* ' + arrErrors[i];
      }
      YAHOO.util.Dom.get('divErrorPackage').innerHTML = arrErrors.join('<br />');
      YAHOO.util.Dom.get('divErrorPackage').style.display = 'block';
      setFocus();
      return false;
   }

   YAHOO.util.Dom.get('divErrorPackage').style.display = 'none';
   return true;
}

function validateTransferForm() {
   var rqfAirport = YAHOO.util.Dom.getElementsByClassName('cnRqfAirport')[0];
   var rqfHotel = YAHOO.util.Dom.getElementsByClassName('cnRqfHotel')[0];
   var rqfDepartDate = YAHOO.util.Dom.getElementsByClassName('cnRqfDepartDate')[0];
   var rqfReturnDate = YAHOO.util.Dom.getElementsByClassName('cnRqfReturnDate')[0];
   var rqfInfants = YAHOO.util.Dom.getElementsByClassName('cnRqfInfants')[0]

   rqfAirport.style.display = 'none';
   rqfHotel.style.display = 'none';
   rqfDepartDate.style.display = 'none';
   rqfReturnDate.style.display = 'none';
   rqfInfants.style.display = 'none';

   var ddlAirport = YAHOO.util.Dom.getElementsByClassName('cnDdlAirport')[0];
   var hdnAirport = YAHOO.util.Dom.getElementsByClassName('cnHdnAirport')[0];
   if (isNaN(hdnAirport.value) || hdnAirport.value == 0) {
      arrErrors.push(errAirportRequired);
      arrFocus.push(ddlAirport.id);
      rqfAirport.style.display = '';
   }

   var txtHotel = YAHOO.util.Dom.getElementsByClassName('cnTxtHotel')[0];
   var hdnHotel = YAHOO.util.Dom.getElementsByClassName('cnHdnHotel')[0];
   if (isNaN(hdnHotel.value) || hdnHotel.value == 0) {
      arrErrors.push(errHotelRequired);
      arrFocus.push(txtHotel.id);
      rqfHotel.style.display = '';
   }

   var ddlTransferType = parseInt(YAHOO.util.Dom.getElementsByClassName('cnDdlTransferType')[0].value);
   
   var txtDepartDate = YAHOO.util.Dom.getElementsByClassName('cnTxtDepartDate')[0];
   var hdnDepartDate = YAHOO.util.Dom.getElementsByClassName('cnHdnDepartDate')[0];
   var isPastDepartDate = (ddlTransferType != TransferTypes.HotelToAirport && new Date(hdnDepartDate.value).valueOf() < dtNow.valueOf());
   if (ddlTransferType != TransferTypes.HotelToAirport) {
      required(txtDepartDate.id, rqfDepartDate.id, errDepartDateRequired, 0, hdnDepartDate.value != '');
   }

   var txtReturnDate = YAHOO.util.Dom.getElementsByClassName('cnTxtReturnDate')[0];
   var hdnReturnDate = YAHOO.util.Dom.getElementsByClassName('cnHdnReturnDate')[0];
   var isPastReturnDate = (ddlTransferType != TransferTypes.AirportToHotel && new Date(hdnReturnDate.value).valueOf() < dtNow.valueOf());
   if (ddlTransferType != TransferTypes.AirportToHotel) {
      required(txtReturnDate.id, rqfReturnDate.id, errReturnDateRequired, 0, hdnReturnDate.value != '');
   }

   if (isPastDepartDate && isPastReturnDate) {
      arrErrors.push(errPastDates);
      arrFocus.push(txtDepartDate.id);
      rqfDepartDate.style.display = '';
      rqfReturnDate.style.display = '';
   }
   else {
      required(txtDepartDate.id, rqfDepartDate.id, errDeparturePast, 0, !isPastDepartDate);
      required(txtReturnDate.id, rqfReturnDate.id, errReturningPast, 0, !isPastReturnDate);
   }

   var ddlAdults = YAHOO.util.Dom.getElementsByClassName('cnDdlAdults')[0];
   var ddlInfants = YAHOO.util.Dom.getElementsByClassName('cnDdlInfants')[0];
   if (parseInt(ddlInfants.value) > parseInt(ddlAdults.value)) {
      arrErrors.push(errInfantsExceeded);
      arrFocus.push(ddlInfants.id);
      rqfInfants.style.display = '';
   }

   if (arrErrors.length > 0) {
      for (var i = 0; i < arrErrors.length; i++) {
         arrErrors[i] = '* ' + arrErrors[i];
      }
      YAHOO.util.Dom.get('divErrorTransfer').innerHTML = arrErrors.join('<br />');
      YAHOO.util.Dom.get('divErrorTransfer').style.display = '';
      setFocus();
      return false;
   }

   return true;
}

function isValidFormSearch(isRoomPage, isPackage) {
   arrErrors = new Array();
   arrFocus = new Array();

   if (isRoomPage) {
      if (isPackage) {
         return validatePackageForm(isRoomPage);
      }
      else {
         return validateHotelForm(isRoomPage);
      }
   }
   else {
      switch (tabSelected) {
         case SectionTabs.Hotels.Tab:
            return validateHotelForm(false);
         case SectionTabs.Flights.Tab:
            return validateFlightForm();
         case SectionTabs.Packages.Tab:
            return validatePackageForm();
         case SectionTabs.Transfers.Tab:
            return validateTransferForm();
      }
   }

   return false;
}

function flightPreferences() {
   var flopt = YAHOO.util.Dom.get('flopt');
   flopt.style.display = (flopt.style.display == 'none' ? 'block' : 'none');
}

function createAutocomplete(config) {
   var ds = new YAHOO.widget.DS_XHR(config.url, config.schema);
   ds.responseType = YAHOO.widget.DS_XHR.TYPE_XML;
   ds.maxCacheEntries = 0;

   var ac = new YAHOO.widget.AutoComplete(config.input, config.containerId, ds);
   if (YAHOO.env.ua.ie > 0) ac.useIFrame = true;
   ac.maxResultsDisplayed = 10;
   ac.minQueryLength = 3;
   ac.animVert = false;
   ac.queryDelay = 0.17;

   var hidden = YAHOO.util.Dom.get(config.hidden);
   ac.itemSelectEvent.subscribe(function (self, item, data) {
      hidden.value = item[2][config.hiddenValue];
   });

   ac.textboxKeyEvent.subscribe(function (self, keyCode) {
      var params = config.params;
      if (config.type == 14) {
         params += '&airportId=' + YAHOO.util.Dom.getElementsByClassName('cnHdnAirport')[0].value;
      }
      ds.scriptQueryAppend = params;
      hidden.value = "";
   });
}

function getContainer(sectionType) {
   var rooms = (sectionType != 'Flight' ? parseInt(YAHOO.util.Dom.get(clientPrefix + 'ddlRooms' + sectionType).value) : 0); ;
   var container = YAHOO.util.Dom.get('containerMinorsAges' + sectionType);
   container.sectionType = sectionType;
   container.kids = new Array();
   container.hasKids = function () {
      for (var i = 0; i < this.kids.length; i++) {
         if (i < rooms && this.kids[i] > 0) return true;
      }
      return false;
   };
   return container;
}

function updateKids(ddlKids) {
   var maxKidsAux = parseInt(window.maxKids ? maxKids : window['maxKids' + ddlKids.container.sectionType]);
   var kids = parseInt(ddlKids.value);
   var hasKids = false;

   if (ddlKids.room) {
      var prefix = clientPrefix + 'Room' + ddlKids.room.toString() + '.';
      var rooms = parseInt(YAHOO.util.Dom.get(clientPrefix + 'ddlRooms' + ddlKids.container.sectionType).value);

      var trAgeKids = YAHOO.util.Dom.get(prefix + 'trAgeKids' + ddlKids.container.sectionType);
      if (trAgeKids) trAgeKids.style.display = (ddlKids.room <= rooms && kids > 0 ? '' : 'none');

      var tdAgeKids = YAHOO.util.Dom.get(prefix + 'tdAgeKids' + ddlKids.container.sectionType);
      if (tdAgeKids) tdAgeKids.style.display = (rooms > 1 ? '' : 'none');

      var tdAgeKidsAux = YAHOO.util.Dom.get(prefix + 'tdAgeKids');
      if (tdAgeKidsAux) tdAgeKidsAux.style.display = (ddlKids.room <= rooms && kids > 0 ? '' : 'none');

      for (var kid = 1; kid <= maxKidsAux; kid++) {
         YAHOO.util.Dom.get(prefix + 'tdAgeKid' + kid.toString() + ddlKids.container.sectionType).style.display = (ddlKids.room <= rooms && kid <= kids ? '' : 'none');
      }

      ddlKids.container.kids[ddlKids.room - 1] = kids;
   }
   else {
      for (var kid = 1; kid <= maxKidsAux; kid++) {
         YAHOO.util.Dom.get(clientPrefix + 'tdAgeKid' + kid.toString() + ddlKids.container.sectionType).style.display = (kid <= kids ? '' : 'none');
         hasKids = (kid <= kids ? true : hasKids);
      }
   }
   ddlKids.container.style.display = (ddlKids.container.hasKids() || hasKids ? '' : 'none');
}

function updateRooms(sectionType) {
   var container = getContainer(sectionType);
   var maxRoomsAux = parseInt(window.maxRooms ? maxRooms : window['maxRooms' + sectionType]);
   var rooms = parseInt(YAHOO.util.Dom.get(clientPrefix + 'ddlRooms' + sectionType).value);
   var tdRoom = YAHOO.util.Dom.get(clientPrefix + 'Room1.tdRoom' + sectionType);
   if (tdRoom) tdRoom.style.visibility = (rooms > 1 ? 'visible' : 'hidden');
   for (var room = 1; room <= maxRoomsAux; room++) {
      var roomPrefix = clientPrefix + 'Room' + room.toString() + '.';
      YAHOO.util.Dom.get(roomPrefix + 'trRoom' + sectionType).style.display = (room <= rooms ? '' : 'none');
      ddlKids = YAHOO.util.Dom.get(roomPrefix + 'ddlKids' + sectionType);
      ddlKids.container = container;
      ddlKids.room = room;
      ddlKids.onchange = function () {
         updateKids(this);
      };
      ddlKids.onchange();
   }
}

function initPax() {
   var ddlRooms = YAHOO.util.Dom.get(clientPrefix + 'ddlRooms');
   if (ddlRooms) {
      ddlRooms.onchange = function () {
         updateRooms('');
      };
      ddlRooms.onchange();
   }

   var ddlRoomsHotel = YAHOO.util.Dom.get(clientPrefix + 'ddlRoomsHotel');
   if (ddlRoomsHotel) {
      ddlRoomsHotel.onchange = function () {
         updateRooms('Hotel');
      };
      ddlRoomsHotel.onchange();
   }

   var ddlRoomsPackage = YAHOO.util.Dom.get(clientPrefix + 'ddlRoomsPackage');
   if (ddlRoomsPackage) {
      ddlRoomsPackage.onchange = function () {
         updateRooms('Package');
      }
      ddlRoomsPackage.onchange();
   }

   var ddlKidsFlight = YAHOO.util.Dom.get(clientPrefix + 'ddlKidsFlight');
   if (ddlKidsFlight) {
      ddlKidsFlight.container = getContainer('Flight');
      ddlKidsFlight.onchange = function () {
         updateKids(ddlKidsFlight);
      }
      ddlKidsFlight.onchange();
   }
}

YAHOO.util.Event.onDOMReady(initPax);

function isValidPax(sectionType) {
   var pax = 0;
   var ddlRooms = YAHOO.util.Dom.get(clientPrefix + 'ddlRooms' + sectionType);
   if (ddlRooms) {
      var rooms = parseInt(ddlRooms.value);
      for (var room = 1; room <= rooms; room++) {
         var prefix = clientPrefix + 'Room' + room.toString() + '.';
         pax += parseInt(YAHOO.util.Dom.get(prefix + 'ddlAdults' + sectionType).value);
         pax += parseInt(YAHOO.util.Dom.get(prefix + 'ddlKids' + sectionType).value);
      }
   }
   else {
      pax += parseInt(YAHOO.util.Dom.get(clientPrefix + 'ddlAdults' + sectionType).value);
      pax += parseInt(YAHOO.util.Dom.get(clientPrefix + 'ddlKids' + sectionType).value);
   }
   return (pax <= maxPax);
}

function validateKids(sectionType, room) {
   var hasEmpties = false;
   var prefix = clientPrefix + (room ? 'Room' + room.toString() + '.' : '');
   var kids = parseInt(YAHOO.util.Dom.get(prefix + 'ddlKids' + sectionType).value);
   for (var kid = 1; kid <= kids; kid++) {
      var ddlAgeKid = YAHOO.util.Dom.get(prefix + 'ddlAgeKid' + kid.toString() + sectionType);
      var rqfAgeKid = YAHOO.util.Dom.get(prefix + 'rqfAgeKid' + kid.toString() + sectionType);
      if (parseInt(ddlAgeKid.value) < 0) {
         if (focus.length == 0) focus = ddlAgeKid.id;
         rqfAgeKid.style.display = '';
         hasEmpties = true;
      }
      else {
         rqfAgeKid.style.display = 'none';
      }
   }
   if (hasEmpties && !hasMessage) {
      arrErrors.push(errMinorsAgesRequired);
      hasMessage = true;
   }
}

function validateRooms(sectionType) {
   hasMessage = false;
   var rooms = parseInt(YAHOO.util.Dom.get(clientPrefix + 'ddlRooms' + sectionType).value);
   for (var room = 1; room <= rooms; room++) {
      validateKids(sectionType, room);
   }
}

function setAdults(sectionType, room) {
   var rPrefix = (room ? 'Room' + room.toString() + '.' : '');
   var cPrefix = clientPrefix + rPrefix;
   var adults = parseInt(YAHOO.util.Dom.get(cPrefix + 'ddlAdults' + sectionType).value);
   if (room) YAHOO.util.Dom.get(rPrefix + 'Adults').value = adults.toString();
   return adults;
}

function setKids(sectionType, room) {
   var rPrefix = (room ? 'Room' + room.toString() + '.' : '');
   var cPrefix = clientPrefix + rPrefix;
   var kids = parseInt(YAHOO.util.Dom.get(cPrefix + 'ddlKids' + sectionType).value);
   if (room) YAHOO.util.Dom.get(rPrefix + 'Kids').value = kids.toString();
   return kids;
}

function setAgeKids(sectionType, room) {
   var rPrefix = (room ? 'Room' + room.toString() + '.' : '');
   var cPrefix = clientPrefix + rPrefix;
   var kids = parseInt(YAHOO.util.Dom.get(cPrefix + 'ddlKids' + sectionType).value);
   var ageKids = new Array();
   for (var kid = 1; kid <= kids; kid++) ageKids.push(YAHOO.util.Dom.get(cPrefix + 'ddlAgeKid' + kid.toString() + sectionType).value);
   var ageKidsAux = ageKids.join(',');
   if (room) YAHOO.util.Dom.get(rPrefix + 'AgeKids').value = ageKidsAux;
   return ageKidsAux;
}

function setPax(sectionType) {
   var adults = 0; var kids = 0; var ageKids = new Array();
   var ddlRooms = YAHOO.util.Dom.get(clientPrefix + 'ddlRooms' + sectionType);
   if (ddlRooms) {
      var rooms = parseInt(ddlRooms.value);
      YAHOO.util.Dom.get('Rooms').value = rooms.toString();
      for (var room = 1; room <= rooms; room++) {
         var prefix = clientPrefix + 'Room' + room.toString() + '.';
         adults += setAdults(sectionType, room);
         kids += setKids(sectionType, room);
         var ageKidsAux = setAgeKids(sectionType, room);
         if (ageKidsAux.length > 0) ageKids.push(ageKidsAux);
      }
   }
   else {
      adults = setAdults(sectionType);
      kids = setKids(sectionType);
      ageKids.push(setAgeKids(sectionType));
   }
   YAHOO.util.Dom.get('Adults').value = adults.toString();
   YAHOO.util.Dom.get('Kids').value = kids.toString();
   YAHOO.util.Dom.get('AgeKids').value = ageKids.join(',');
}