////////////////////////////////////////////////////////////////////////////////
//
// Service input form checking and control
//
////////////////////////////////////////////////////////////////////////////////

function check_general (form, button, user_id)
{
  var test_results=true;

  if (user_id == 0)
  {
     test_results &= (check_names(form.user_name, form.user_name.value) &&
                      check_email(form.user_email, form.user_email.value));
  }

  if (test_results == true)
    test_results &= is_empty(form.details, form.details.value, "details");

  return test_results;
}

  //
  // for sale
  //
function onload_srv_for_sale( form, max_aval )
{
  for (i=0; i<max_aval; i++)
    form.clsf_action[i].checked=false;

    // >>> don't hard code
  form.clsf_equip_1.disabled  = true;
  form.clsf_equip_2.disabled  = true;
  form.clsf_equip_4.disabled  = true;
  form.clsf_equip_8.disabled  = true;
  form.clsf_equip_16.disabled = true;
  form.clsf_equip_32.disabled = true;
  form.clsf_equip_64.disabled = true;

  form.clsf_boat_no.disabled = true;
  form.clsf_price.disabled   = true;

  return true;
}

function onclick_clsf_action( form )
{
    // >>> don't hard code
  form.clsf_equip_1.disabled  = false;
  form.clsf_equip_2.disabled  = false;
  form.clsf_equip_4.disabled  = false;
  form.clsf_equip_8.disabled  = false;
  form.clsf_equip_16.disabled = false;
  form.clsf_equip_32.disabled = false;
  form.clsf_equip_64.disabled = false;

  form.clsf_price.disabled   = false;

  return true;
}

function onclick_clsf_equip( form )
{
    // >>> don't hard code
  if (form.clsf_equip_1.checked ||
      form.clsf_equip_2.checked
     )
    form.clsf_boat_no.disabled = false;
  else
    form.clsf_boat_no.disabled = true;

  return true;
}


function check_for_sale( form, button, user_id, max_aval )
{
  var test_results=true;

  if (user_id == 0)
  {
     test_results &= (check_name (form.user_name,  form.user_name.value) &&
                      check_email(form.user_email, form.user_email.value));
  }

  if (test_results == true)
    test_results &= is_empty(form.details, form.details.value, "details");

    // make sure at least one of the classified actions is checked.
  if (test_results == true)
  {
    clsf_check = form.clsf_action[0].checked;
    for (i=1; i<max_aval; i++)
      clsf_check |= form.clsf_action[i].checked;

    test_results &= clsf_check;

    if (test_results == false)
    {
      message="Please choose one of the classified actions ('selling or searching')";
      alert( message );
    }
  }

  if (test_results == false)
    return false;

  document.srv_for_sale.submit();
  return false;
}

  //
  // crew search
  //
function check_crew_search (form, button, user_id, max_aval )
{
  var test_results=true;

  if (user_id == 0)
  {
     test_results &= (check_name (form.user_name,  form.user_name.value) &&
                      check_email(form.user_email, form.user_email.value));
  }

  if (test_results == true)
    test_results &= is_empty(form.details, form.details.value, "details");

    // make sure at least one of the classified actions is checked.
  if (test_results == true)
  {
    clsf_check = form.clsf_action[0].checked;
    for (i=1; i<max_aval; i++)
      clsf_check |= form.clsf_action[i].checked;

    test_results &= clsf_check;

    if (test_results == false)
    {
      message="Please choose one of the classified actions ('available or searching')";
      alert( message );
    }
  }

  if (test_results == false)
    return false;

  document.srv_crew_search.submit();
  return false;
}


  //
  // diaries
  //
function onload_srv_diaries(form)
{
  form.which_topic[0].checked=true;
  form.which_topic[1].checked=false;

  form.new_diary_topic.disabled = false;
  form.diary_topic.disabled = true;

  return;
}

function topic_toggle(form, button)
{
  if (form.which_topic[0].checked == true)
  {
    form.new_diary_topic.disabled = false;
    form.diary_topic.disabled = true;
  }
  else
  {
    form.new_diary_topic.disabled = true;
    form.diary_topic.disabled = false;
  }
  return;
}
function check_diaries (form, button)
{
  var test_results=true;

  if (form.which_topic[0].checked == true)
    test_results &= is_empty(form.new_diary_topic, form.new_diary_topic.value, "new topic");

  if (test_results == true)
    test_results &= is_empty(form.details, form.details.value, "your thoughts");

  if (test_results == false)
    return false;

  document.srv_diaries.submit();
  return false;
}

  //
  // articles
  //
function onload_srv_articles(form)
{
  form.upload_pdf.checked=false;
  form.pdf.disabled = true;

  return;
}

function upload_pdf_toggle(form, button)
{
  if (form.upload_pdf.checked == true)
    form.pdf.disabled = false;
  else
    form.pdf.disabled = true;

  return;
}

function check_article(form, button)
{
  var message;
  var test_results=true;

    // 1. location
  if (form.menu_0.selectedIndex == 0)
  {
    alert( "Please choose a location for your article" );
    test_results = false;
  }

    // 2. headline
  if (test_results == true)
    test_results &= is_empty(form.art_headline, form.art_headline.value, "a headline... something snappy!");

    // 3. upload file
/*
  if (test_results == true &&
      form.upload_pdf.checked == true &&
      form.pdf
*/

    // 4. text
  if (test_results == true)
  {
    if (form.upload_pdf.checked == true)
      message = "a brief overview of the PDF document you are uploading";
    else
      message = "something for the article itself";

    test_results &= is_empty(form.details, form.details.value, message);
  }

  if (test_results == false)
    return false;

  document.srv_articles.submit();
  return true;
}

  // photos
function check_photos (form, button)
{
  var test_results=true;

  if (test_results == true) // >>> why is this needed?
    test_results &= (is_empty(form.photo_image, form.photo_image.value, "the image file to be uploaded") &&
                     is_empty(form.details, form.details.value, "the photo caption")
                    );

  if (test_results == false)
    return false;

  document.srv_photos.submit();
  return true;
}


