// JavaScript Document

function getContacts(id, lang, preselect_id)
{
  $.ajax({
    type: "GET",
    url: "/ctrl_front.php",
    data: "fct=getContacts&id="+id+"&lang="+lang,
    success: function(msg){
      $('select[name="contact_id"]').html(msg);
      if(preselect_id != '')
      {
        $('select[name="contact_id"] option[value="'+preselect_id+'"]').attr('selected', 'selected');
      }
      //supprime les anciennes valeurs du select
      $('select[name="contact_id"]').parent('div').children('.cmf-skinned-text').remove();
      //met à jour
      //$('select[name="contact_id"]').select_skin();
    }
  });
}

function checkMail(mail)
{
  //pour tester email
  var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  return reg.test(mail);
}

function recharge()
{
    window.location.reload();
}

$(document).ready(function() {
  //récupère les contacts du service séléctionné par défaut
  /*var id = $('select[name="service_id"]').val();
  var lang = $('input[name="lang"]').val();
  getContacts(id, lang, '');*/

  //récupère les contacts quand le service change
  $('select[name="service_id"]').change(function(){
    var id = $(this).val();
    var lang = $('input[name="lang"]').val();
    getContacts(id, lang, '');
  });

      /** enlève les cadre rouge des input séléctionné **/
      $('#form input[class!="btn_action"]').focus(function(){
        $(this).removeClass('bordure_erreur').parent().removeClass("coul_erreur").children("span").text(" ");
      });
      $('#form textarea').focus(function(){
        $(this).removeClass('bordure_erreur').parent().removeClass("coul_erreur").children("span").text(" ");
      });

      /** AJAX FORM **/
      var options = {
        target:    '#form',   // target element(s) to be updated with server response
        dataType:  'json',
        beforeSubmit:  function() {
          var cst_invalid = oblg_field;
          var mail_invalid = "Veuillez entrer une adresse correct : exemple@site.com";
          var error = false;
          if($('input[name="nom"]').val() == '')
          {
            $('input[name="nom"]').addClass('bordure_erreur').parent().addClass("coul_erreur").children("span").text(cst_invalid);;
            var nyroOffset = $('#nyroModalBackofficeContent').offset().top;
            var inputOffset = $('#nyroModalBackofficeContent input[name="nom"]').offset().top;
            var scroll = inputOffset - nyroOffset;
            $('#nyroModalBackofficeContent').animate({scrollTop: scroll + 'px'});
            error = true;
          }
          if($('input[name="email"]').val() == '')
          {
            $('input[name="email"]').addClass('bordure_erreur').parent().addClass("coul_erreur").children("span").text(cst_invalid);;
            var nyroOffset = $('#nyroModalBackofficeContent').offset().top;
            var inputOffset = $('#nyroModalBackofficeContent input[name="email"]').offset().top;
            var scroll = inputOffset - nyroOffset;
            $('#nyroModalBackofficeContent').animate({scrollTop: scroll + 'px'});
            error = true;
          }
          else if(!checkMail($('input[name="email"]').val()))
          {
            $('input[name="email"]').addClass('bordure_erreur').parent().addClass("coul_erreur").children("span").text(mail_invalid);;
            var nyroOffset = $('#nyroModalBackofficeContent').offset().top;
            var inputOffset = $('#nyroModalBackofficeContent input[name="email"]').offset().top;
            var scroll = inputOffset - nyroOffset;
            $('#nyroModalBackofficeContent').animate({scrollTop: scroll + 'px'});
            error = true;
          }
          if($('input[name="objet"]').val() == '')
          {
            $('input[name="objet"]').addClass('bordure_erreur').parent().addClass("coul_erreur").children("span").text(cst_invalid);;
            var nyroOffset = $('#nyroModalBackofficeContent').offset().top;
            var inputOffset = $('#nyroModalBackofficeContent input[name="objet"]').offset().top;
            var scroll = inputOffset - nyroOffset;
            $('#nyroModalBackofficeContent').animate({scrollTop: scroll + 'px'});
            error = true;
          }
          if($('textarea[name="message"]').val() == '')
          {
            $('textarea[name="message"]').addClass('bordure_erreur').parent().addClass("coul_erreur").children("span").text(cst_invalid);;
            var nyroOffset = $('#nyroModalBackofficeContent').offset().top;
            var inputOffset = $('#nyroModalBackofficeContent textarea[name="message"]').offset().top;
            var scroll = inputOffset - nyroOffset;
            $('#nyroModalBackofficeContent').animate({scrollTop: scroll + 'px'});
            error = true;
          }
          if(error == false)
          {
            $.blockUI({message : "<h4>"+sending+"</h4>"});
            return true;
          }
          else
          {
            return false;
          }
        },  // pre-submit callback
        success:       function(data) {
          $.unblockUI();
          if(data.success)
          {
             $.blockUI({message : "<h4 class=\"success\">"+data.success+"</h4>"});
             setTimeout("recharge()", 3000);
          }
          else
          {
             $.blockUI({message : "<h4 class=\"error\">"+data.error+"</h4>"});
             setTimeout($.unblockUI, 3000);
          }
        }
      };

      $('#form').ajaxForm(options);
      /** FIN AJAX FORM **/
});

/* function init_formulaire
 * Initialise les controlles js du formulaire
 * @param : NULL
 */
function init_formulaire()
{
  $('input').checkBox();
  init_highlight_form();
  //$("select.txt").select_skin();
  //reset du formulaire
  $('#reset').click(function(){
    //supprime et remet le select skiné pour affiché la valeur par défut
    $('select[name="service_id"] option[value=""]').attr('selected', 'selected');
    $('select[name="service_id"]').parent('div').children('.cmf-skinned-text').remove();
    //$('select[name="service_id"]').select_skin();
    getContacts($('select[name="service_id"]').val(), $('input[name="lang"]').val(), '');
  });
}

function init_highlight_form()
{

  //-- Highlight des champ input
  $("input[type=text][class!='highlight_off'],input[type=password],input[type=submit],input[type=file],select[class!='select_date'], textarea").focus(function()
  {
    $(this).addClass("elmt_focus").parent().children("label").addClass("coul_important");

    if($(this).hasClass("bordure_erreur")) {
      $(this).removeClass("bordure_erreur").parent().removeClass("coul_erreur").children("span.msg_erreur").html("&nbsp;");
    }
  });

  $("input[type=text][class!='highlight_off'],input[type=password],input[type=submit],input[type=file],select[class!='select_date'], textarea").blur(function()
  {
    $(this).removeClass("elmt_focus").parent().children("label").removeClass("coul_important");
  });


  //Champs radio et checkbox
  $("input[type=radio][class!='highlight_off'], input[type=checkbox], span.ui-checkbox").focus(function()
  {

    $(this).parent().addClass("coul_important");

    if( $(this).parent().parent().hasClass("bordure_erreur") )
      $(this).parent().parent().removeClass("bordure_erreur").prev().removeClass("coul_erreur").children("span").html("&nbsp;");
    else
    {
      if($(this).next().hasClass("coul_erreur") )
        $(this).next().removeClass("coul_erreur").parent().parent().prev().removeClass("coul_erreur").children("span").html("&nbsp;");
    }
  });

  $("input[type=radio][class!='highlight_off'], input[type=checkbox], span.ui-checkbox").blur(function()
  {
    $(this).parent().removeClass("coul_important");

  });
}