function updateChildren()
{
  var nrChildren = $('nr_children').value;
  for(var i=1;i<=20;i++)
    cs_disableElement('child'+i);
  for(var i=1;i<=nrChildren;i++)
    cs_enableElement('child'+i);
  if(nrChildren>0)
    $('age_child1').focus();
}

function isbooking(whatForm)
{
  var selectionType = getCheckedValue(whatForm.elements['book_a_journey']);
  if(selectionType == "yes")
    return true;
  return false;
}

function isblank(s)
{
  for(var i = 0; i < s.length; i++ )
  {
    var c = s.charAt(i);
    if((c!=' ') && (c!='\n') && (c!='\t'))
      return false;
  }
  return true;
} // isblank

function gt_zero(val)
{
  if(!isblank(val) && val>0) return true;
  
  return false;
}

function gt_val(val,checkValue)
{
  if(!isblank(val) && val>checkValue) return true;
  
  return false;
}

function getCheckedValue(nodeList)
{
  for(var i=0;i<nodeList.length;i++)
    if(nodeList[i].checked) return nodeList[i].value;
 
  return null;
}

function isInPast(day,month,year)
{
  var curDate = new Date();
  if(year < curDate.getFullYear())
    return true;
  if(year == curDate.getFullYear() && month < (curDate.getMonth()+1))
    return true;
  if(year==curDate.getFullYear()&&month == (curDate.getMonth()+1) && day < curDate.getDate()) 
    return true;
  return false;
}


function isBefore(sDay,sMonth,sYear,eDay,eMonth,eYear)
{
  if(eYear<sYear)
    return true;
  if(sYear==eYear)
  {
    if(eMonth<sMonth)
      return true;
    if(eMonth==sMonth)
    {
      if(eDay<sDay)
      {
alert(eDay + ":" +sDay);
        return true;
      }
    }
  }
  return false;
}


function validateForm(whatForm)
{

  var curDate = new Date();
  var curMonth = curDate.getMonth()+1;

  if(!gt_zero(whatForm.elements['nr_adults'].value))
  {
    alert('Het veld \'Aantal volwassenen\' is niet goed ingevuld.');
    return false;
  }

  if(gt_zero(whatForm.elements['trip_start_date_day'].value))
  {
    var selMonth = whatForm.elements['trip_start_date_month'].value;
    var selYear = whatForm.elements['trip_start_date_year'].value;
    if(isInPast(whatForm.elements['trip_start_date_day'].value,selMonth,selYear))
    {
      alert('De datum in het veld \'Datum gewenst vertrek vanuit Nederland\' is al geweest.');
      return false;
    }
  }
  else
  {
    alert('Het veld \'Datum gewenst vertrek vanuit Nederland\' is niet goed ingevuld.');
    return false;
  }

  if(gt_zero(whatForm.elements['trip_end_date_day'].value))
  {
    var selMonth = whatForm.elements['trip_end_date_month'].value;
    var selYear = whatForm.elements['trip_end_date_year'].value;
    if(isInPast(whatForm.elements['trip_end_date_day'].value,selMonth,selYear))
    {
      alert('De datum in het veld \'Datum gewenst vertrek vanuit vakantieland\' is al geweest.');
      return false;
    }
  }
  else
  {
    alert('Het veld \'Datum gewenst vertrek vanuit vakantieland\' is niet goed ingevuld.');
    return false;
  }

  var sMonth = parseInt(whatForm.elements['trip_start_date_month'].value);
  var sYear = parseInt(whatForm.elements['trip_start_date_year'].value);
  var sDay = parseInt(whatForm.elements['trip_start_date_day'].value);
  var eMonth = parseInt(whatForm.elements['trip_end_date_month'].value);
  var eYear = parseInt(whatForm.elements['trip_end_date_year'].value);
  var eDay = parseInt(whatForm.elements['trip_end_date_day'].value);

  if(isBefore(sDay,sMonth,sYear,eDay,eMonth,eYear))
  {
    alert('De datum \'gewenst vertrek vanuit vakantieland\' valt voor de vertrekdatum vanuit Nederland.');
    return false;
  }

  var journeyType = getCheckedValue(whatForm.elements['journey_type']);
  if(journeyType != 'rondreis' && journeyType != 'bouwstenen')
  {
    alert('Maak een keuze uit \'rondreis\' of \'bouwstenen\'.');
    return false;
  }
 
  if(journeyType == 'rondreis')
  {
    if(whatForm.elements['selected_trip'].selectedIndex==0)
    {
      alert('Maak een keuze uit een rondreis.');
      return false;
    }
  }
  else if(journeyType == 'bouwstenen') 
  {
    if(whatForm.elements['selected_buildingblock1'].selectedIndex==0 &&
       whatForm.elements['selected_buildingblock2'].selectedIndex==0 &&
       whatForm.elements['selected_buildingblock3'].selectedIndex==0 &&
       whatForm.elements['selected_buildingblock4'].selectedIndex==0 &&
       whatForm.elements['selected_buildingblock5'].selectedIndex==0 &&
       whatForm.elements['selected_buildingblock6'].selectedIndex==0)
    {
      alert('Maak een keuze uit een of meer bouwstenen.');
      return false;
    }
  }

  if(!getCheckedValue(whatForm.elements['bookflight']))
  {
    alert('Maak een keuze uit de opties bij Vliegtickets.');
    return false;
  }

  var selectionType = getCheckedValue(whatForm.elements['book_a_journey']);
  if(selectionType == "yes")
  {
    if(!getCheckedValue(whatForm.elements['title_1']) ||
       isblank(whatForm.elements['firstname_1'].value) ||
       isblank(whatForm.elements['lastname_1'].value) ||
       isblank(whatForm.elements['streetname_1'].value) ||
       isblank(whatForm.elements['postalcode_1'].value) ||
       isblank(whatForm.elements['city_1'].value) ||
       isblank(whatForm.elements['birthdate_1'].value) ||
       isblank(whatForm.elements['nationality_1'].value) ||
       isblank(whatForm.elements['pasport_1'].value) ||
       isblank(whatForm.elements['phone_1'].value) ||
       isblank(whatForm.elements['email_1'].value))
    {
      alert('Sommige velden bij de aanvraag / reiziger informatie zijn niet of niet goed ingevuld.');
      return false;
    }

    if(!whatForm.elements['insurance1'].checked && 
       !whatForm.elements['insurance2'].checked &&
       !whatForm.elements['insurance3'].checked &&
       !whatForm.elements['insurance4'].checked &&
       !whatForm.elements['insurance5'].checked)
    {
      alert('Selecteer tenminste 1 optie bij Verzekeringen.');
      return false;
    }

    if(!whatForm.elements['special1'].checked &&
       !whatForm.elements['special2'].checked)
    {
      alert('Voordat we deze boeking in behandeling kunnen nemen dient u akkoord te gaan met de reisvoorwaarden van KidsReizen.\nDaarnaast dient u op de hooge te zijn van de vereiste reisdocumenten en gezondheidsadviezen voor de bestemming van uw keuze.');
      return false;
    }
  }
  else
  {
    if(!getCheckedValue(whatForm.elements['aanvr_title']) ||
       isblank(whatForm.elements['aanvr_firstname'].value) ||
       isblank(whatForm.elements['aanvr_lastname'].value) ||
       isblank(whatForm.elements['aanvr_phone'].value) ||
       isblank(whatForm.elements['aanvr_email'].value))
    {
      alert('Sommige velden bij de aanvraag / reiziger informatie zijn niet of niet goed ingevuld.');
      return false;
    }
  }

  if(whatForm.elements['reference'][0].checked ||
     whatForm.elements['reference'][1].checked ||
     whatForm.elements['reference'][2].checked ||
     whatForm.elements['reference'][3].checked ||
     whatForm.elements['reference'][4].checked)
  {
    if(whatForm.elements['reference'][1].checked)
    {
      if(isblank(whatForm.elements['reference_internet'].value))
      {
        alert('Er is nog geen website ingevuld bij "Hoe heb je KidsReizen gevonden?".');
        return false;
      }
    }
    else if(whatForm.elements['reference'][2].checked)
    {
      if(isblank(whatForm.elements['reference_magazine'].value))
      {
        alert('Er is nog geen tijdschrift ingevuld bij "Hoe heb je KidsReizen gevonden?".');
        return false;
      }
    }
    else if(whatForm.elements['reference'][4].checked)
    {
      if(isblank(whatForm.elements['reference_other'].value))
      {
        alert('Er is nog geen referentie ingevuld bij "Hoe heb je KidsReizen gevonden?".');
        return false;
      }
    }
  }
  else
  {
    alert('Er is nog niets geselecteerd bij "Hoe heb je KidsReizen gevonden?".');
    return false;
  }
  whatForm.submit();
  return true;
}

