function tilerExtras()
{
  if(isTilerOrContractor())
  {
    //handle mobile
    $('mobile_required').show();
    //handle tiler job type
    $('tiler_job_types').show();
  }
  else
  {
    //handle mobile
    $('mobile_required').hide();
    //handle tiler job type
    $('tiler_job_types').hide();
  }
}

function liteValidate()
{
  if(isTilerOrContractor())
  {
    if(!$('mobile_number').value || $('mobile_number').value == '')
    {
      alert('As a tiler/fixer or contractor, you must also supply your mobile number');
      return false;
    }
    if(getTilerJobTypeCount() < 1)
    {
      alert('As a tiler/fixer or contractor, you must also choose at least one job type');
      return false;
    }
  }
  
  //success
  document.forms.user_details.submit();
}

function isTilerOrContractor()
{
  if($('profession') && $F('profession') && ($('profession').options[$F('profession')].innerHTML == 'Contractor' || $('profession').options[$F('profession')].innerHTML == 'Fixer / Tiler'))
  {
    return true;
  }
  else
  {
    return false;
  }
}

function getTilerJobTypeCount()
{
  var count = 0;

  $('tiler_job_types').select('input').each(function(s)
    {
      if(s.checked)
      {
        count++;
      }
    }
  );
  
  return count;
}

function selectAllTilerJobTypes()
{
  $('tiler_job_types').select('input').each(function(s)
    {
      s.checked = true;
    }
  );
}

function deselectAllTilerJobTypes()
{
  $('tiler_job_types').select('input').each(function(s)
    {
      s.checked = false;
    }
  );
}