function displayCal(id)
{
  YAHOO.util.Dom.setStyle(id, 'display', 'block');
  return false;
}

function checkForm(form)
{
	var i;
  var str = '';
  var bad_field;
  var fields = new Array();
  var prompts = new Array();
  
  fields[fields.length]   = 'hotel[ref_point]';
  prompts[prompts.length] = 'City:';
  fields[fields.length]   = 'hotel[check_in]';
  prompts[prompts.length] = 'Check-in:';
  fields[fields.length]   = 'hotel[check_out]';
  prompts[prompts.length] = 'Check-out:';

  for (i = 0; i < fields.length; i++)
  {
    var field = form[fields[i]];
    if (field.value == '' || field.value==0)
    {
       if (str != ''){  str += '\n'; }
       else{bad_field = field;}
       str += prompts[i];
    }
  }
  if (str != '')
  {
     str +='\n';
     alert("Required fields missing:\n" + str);
     return false;
  }
  else
  {
    return true;
  }
}

function initCal(elementName, checkInDate, checkOutDate) 
{
  var checkInID = 'check-in-', checkOutID = 'check-out-';
  
  YAHOO.namespace('checkIn');
  YAHOO.namespace('checkOut');
  
  YAHOO.checkIn.cont = new YAHOO.widget.Overlay(checkInID + 'cont', {context:[checkInID + 'but','tl','bl', ['beforeShow', 'windowResize']], visible: false, width:'200px' });  
  YAHOO.checkOut.cont = new YAHOO.widget.Overlay(checkOutID + 'cont', {context:[checkOutID + 'but','tl','bl', ['beforeShow', 'windowResize']], visible: false, width:'200px' });

  YAHOO.checkIn.cal = new YAHOO.widget.Calendar('in', checkInID + 'cal', {mindate: checkInDate});
  YAHOO.checkOut.cal = new YAHOO.widget.Calendar('out', checkOutID + 'cal', {mindate: checkOutDate});  
  
  YAHOO.util.Event.on(document, "click", function(e) 
  {
      var el = YAHOO.util.Event.getTarget(e);
      var btnIn  = YAHOO.util.Dom.get(checkInID + 'but');
      var btnOut = YAHOO.util.Dom.get(checkOutID + 'but');
      var dialogIn  = YAHOO.checkIn.cont.element;
      var dialogOut = YAHOO.checkOut.cont.element;
      if (el != dialogIn && !YAHOO.util.Dom.isAncestor(dialogIn, el) && el != btnIn && !YAHOO.util.Dom.isAncestor(btnIn, el))
      {
          YAHOO.checkIn.cal.hide();
          YAHOO.checkIn.cont.hide();
      }
      if (el != dialogOut && !YAHOO.util.Dom.isAncestor(dialogOut, el) && el != btnOut && !YAHOO.util.Dom.isAncestor(btnOut, el))
      {
          YAHOO.checkOut.cal.hide();
          YAHOO.checkOut.cont.hide();
      }
  });
  
  function handleDate(type,args,obj) 
  {  
    var dates = args[0];  
    var date = dates[0];  
    var year = date[0], month = date[1], day = date[2];
      
    if(day < 10)
    {
      day = '0' + day;
    }
    
    if(month < 10)
    {
      month = '0' + month;
    }
    
    var txtDate = document.getElementById(elementName + '_check_' + obj.id);  
    txtDate.value = month + "/" + day + "/" + year; 
    
    if(obj.id == 'in')
    {
      YAHOO.checkIn.cal.hide();
      YAHOO.checkIn.cont.hide();
    }
    else if(obj.id == 'out')
    {
      YAHOO.checkOut.cal.hide();
      YAHOO.checkOut.cont.hide();
    }
  } 

  YAHOO.checkIn.cal.selectEvent.subscribe(handleDate, YAHOO.checkIn.cal, true); 
  YAHOO.checkOut.cal.selectEvent.subscribe(handleDate, YAHOO.checkOut.cal, true); 
  
  YAHOO.util.Event.addListener(checkInID + 'but', 'click', YAHOO.checkIn.cont.show, YAHOO.checkIn.cont, true);
  YAHOO.util.Event.addListener(checkOutID + 'but', 'click', YAHOO.checkOut.cont.show, YAHOO.checkOut.cont, true);  
  

  YAHOO.checkIn.cal.render();
  YAHOO.checkOut.cal.render();
  
  YAHOO.checkIn.cont.render();
  YAHOO.checkOut.cont.render(); 
}

function changeGuests(elementName, item, className) 
{

  cont = 'div';
  contEelements  = 'guests';
 
  var guests = new YAHOO.util.Element(contEelements);
  var childs = guests.get('childNodes');
  var nodes = Array ();
  var regID = new RegExp('^guest[0-9]');
  var y = 0;
   
  for(i = 0; i< childs.length; i++)
  {
    if(typeof childs[i] != 'undefined' && 
        (typeof childs[i].id != 'undefined' && regID.exec(childs[i].id)))
    {
      nodes[y++] = childs[i];
    }
  }

  for(i = 0; i < item; i++)
  {
    if(!nodes[i])
    {
      y = i;
      nodes[i] = document.createElement(cont);
      nodes[i].id = 'guest'+ y;
      
      if(typeof className != 'undefined')
      {
        nodes[i].className = className;
      }

      tmp = document.getElementById('guest0').innerHTML;
      tmp = tmp.replace(/hotel\[adults\]\[0\]/,'hotel[adults]['+ y +']');
      tmp = tmp.replace(/hotel_adults_0/,'hotel_adults_'+ y);
      
      nodes[i].innerHTML =  tmp;
      
      guests.appendChild(nodes[i]);
    }
  }
  
  for(y = i; y < nodes.length; y++)
  {
    guests.removeChild(nodes[y]);
  }
}


