var AVP_maxDuration=30;
if(AVP_maxDuration==0) AVP_maxDuration=30;

function AVP_init() 
{
  var d=new Date();
  var y=d.getFullYear();
  var lm=document.getElementById('AVP_list_months');
  var ld=document.getElementById('AVP_list_days');
  var ln=document.getElementById('AVP_list_nights');
  for(i=0;i<12;i++)
  {
    var m=(d.getMonth()+i)%12;
    if(m==0&&i!=0) y++;
    AVP_appendOption(lm,AVP_months[m]+' '+y,y+'-'+(m<9?'0':'')+(m+1));
  }

  for(i=1;i<=31;i++)
  {
    AVP_appendOption(ld,i,i);
    if(i<=AVP_maxDuration)
      AVP_appendOption(ln,i,i);
  }
  ld.selectedIndex=d.getDate()-1;
  AVP_setDays();
}

function AVP_setDays()
{
  var ld=document.getElementById('AVP_list_days');
  var lm=document.getElementById('AVP_list_months');
  var ym=lm.options[lm.selectedIndex].value;
  var y=eval(ym.substring(0,4));
  var m=eval(ym.substring(5,ym.length));
  var d=AVP_getDaysInMonth(y,m);

  if(d>ld.length)
  {
    for(i=ld.length;i<d;i++)
      AVP_appendOption(ld,i+1,i+1);
  }

  if(d<ld.length)
  {
    if(ld.selectedIndex>d-1)
      ld.selectedIndex=d-1;
    ld.length=d;
  }
}

function AVP_appendOption(l,t,v)
{
  var e=document.createElement('option');
  e.text=t;
  e.value=v;
  
  try{
    l.add(e,null);
  }
  catch(ex)
  {
    l.add(e);
  }
}

function AVP_getDaysInMonth(y,m)
{
  var days=[31,28,31,30,31,30,31,31,30,31,30,31];
  var d=days[m-1];

  if(d==28)
  {
    if(AVP_isLeapYear(y)) d=29;
  }

  return d/1;
}

function AVP_isLeapYear(y)
{
  if(y%400==0||(y%4==0&&y%100!=0))
    return true;
  return false;
}

function AVP_validate()
{
  var lm=document.getElementById('AVP_list_months');
  var ld=document.getElementById('AVP_list_days');
  var ym=lm.options[lm.selectedIndex].value;
  var y=eval(ym.substring(0,4));
  var m=eval(ym.substring(5,ym.length));
  var d=new Date();
  var t=new Date(d.getFullYear(),d.getMonth(),d.getDate());
  
  d=new Date(y,m-1,eval(ld.options[ld.selectedIndex].value));
  if(d<t)
  {
    alert(AVP_message);
    return false;
  }

  var ln=document.getElementById('AVP_list_nights');
  document.getElementById('AVP_arrivalDate').value = lm.options[lm.selectedIndex].value+'-'+ld.options[ld.selectedIndex].value;
  document.getElementById('AVP_nights').value = ln.options[ln.selectedIndex].value;
  return true;
  //document.getElementById('AVP').submit();
}

AVP_init();