/***
 * Consult module handling file
 */

/* Show error in special field */
function ShowConsultError( ErrorMsg )
{
  if (!$("#form_Consult_Error").is(":hidden"))
  {
    $("#form_Consult_Error").slideUp("slow", function()
      {
        $(this).text(ErrorMsg).slideDown("slow");
      });
  }
  else
    $("#form_Consult_Error").text(ErrorMsg).slideDown("slow");  
} /* End of 'ShowConsultError' function */

/* Get selected value from radio buttons list */
function GetSelectedValue( RadioName )
{
  var radios = document.getElementsByName(RadioName);

  if (radios != null) 
    for (var i = 0; i < radios.length; i++)
      if (radios[i].checked)
        return radios[i].value;
  return null;
} /* End of 'GetSelectedValue' function */

/* Submit feedback form */
function SubmitConsultForm( )
{
  var list = document.getElementById("form_Consult_SectionSelect"),
    SectionId = list.options[list.selectedIndex].value,
    AuthorName = $("#form_Consult_AuthorName").val(),
    AuthorEmail = $("#form_Consult_AuthorEmail").val(),
    AuthorCity = $("#form_Consult_AuthorCity").val(),
    AuthorAge = $("#form_Consult_AuthorAge"),
    AuthorTitle = $("#form_Consult_AuthorTitle"),
    AuthorGender = GetSelectedValue("form_Consult_AuthorGender"),
    AuthorText = $("#form_Consult_AuthorText").val(),
    Captcha = $("#form_Consult_Captcha").val();

  /* Check for correct user input */
  if (AuthorName.length == 0)
    ShowConsultError("Ошибка: Вы не ввели имя.");
  else if (AuthorName.length >= 100)
    ShowConsultError("Ошибка: Ваше имя слишком длинное.");
  else if (AuthorEmail.length == 0)
    ShowConsultError("Ошибка: Вы не ввели почтовый адрес.");
  else if (AuthorEmail.length >= 100)
    ShowConsultError("Ошибка: Ваш почтовый адрес слишком длинный.");
  else if (AuthorText.length == 0)
    ShowConsultError("Ошибка: Вы не ввели текст.");
  else if (AuthorText.length >= 1000)
    ShowConsultError("Ошибка: Текст слишком длинный, постарайтесь уложиться в 1000 символов.");
  else if (Captcha.length < 5)
    ShowConsultError("Ошибка: Не верно введены символы с картинки."); 
  else
  {
    /* Ajax request to the server */
    $.ajax({
      type : "POST",
      url : "http://" + location.host + "/modules/consult/consult.php",
      data : ( 
        {
          submit : "1",
          section_id : SectionId,
          author_name : AuthorName,
          author_email : AuthorEmail,
          author_city : AuthorCity,
          author_age : (AuthorAge != null ? AuthorAge.val() : ''),
          author_gender : (AuthorGender != null ? AuthorGender.val() : 'M'),
          author_title : (AuthorTitle != null ? AuthorTitle.val() : ''),
          author_text : AuthorText,          
          captcha : Captcha 
        }
      ),
      success: function(data)
      {
        ConsultSubmitListener(data);
      },
      dataType : (($.browser.msie) ? "text" : "xml"),
      error: function (XMLHttpRequest, textStatus, errorThrown)
      {
        alert("AJAX error: " + textStatus + XMLHttpRequest.responseText);
      }
      });
  }
} /* End of 'SubmitConsultForm' function */

/* Ajax listener */
function ConsultSubmitListener( data )
{
  var parsed_data = ParseXml(data);
  var errors = parsed_data.documentElement.getElementsByTagName("error");
  
  /* Check for errors */
  if (errors.length > 0)
    ShowConsultError(getNodeText(errors.item(0)));
  /* If all right */
  else
  {
    $("#form_Consult_Error").hide();
    $("#form_Consult").hide("slow");
    $("#form_Consult_Success").show("slow");
  }
} /* End of 'ConsultSubmitListener' function */

