(function($) {
$.fn.vacancy = function(options) {
  
// Открываем полный текст вакансии и форму отправки резюме
function vacancyOpen (curr) {
  var vacancyList = $("ul.vacancy-list");
  var sendResume = $("#sendResume");
  var vacancyHide = $("#vacancyHide");
  var vacancyName = $("#vacancyName");
  var seekerCoverLetter = $("#seekerCoverLetter");
  var seekerSurname = $("#seekerSurname");
  var seekerName = $("#seekerName");
  
  if (curr) {
    var vacancyNameText = curr.parent().find("span.title").text();
    var currID = curr.attr("id");
    var currBody = $("#"+currID+"Body");    
    
    vacancyList.css("display", "none");
    currBody.css("display", "block");
    sendResume.css("display", "block");
    vacancyHide.css("display", "block");    
    vacancyName.val(vacancyNameText);
    $("#vacancyNameSpan").text(vacancyNameText);
    seekerCoverLetter.val($("#seekerCoverLetterDiv").text());
    
    $("#vacancyHide span").click(function() {
      vacancyList.css("display", "block");
      currBody.css("display", "none");
      sendResume.css("display", "none");
      vacancyHide.css("display", "none");
      vacancyName.val('');
      seekerName.val('');
      seekerCoverLetter.val('');
      seekerSurname.val('');
    })      
    
    seekerCoverLetter.focus(function() {
      if (!txrIsChanged) {
        $("#seekerCoverLetterDiv").hide();
        $(this).css({"color" : "#000000", "opacity" : "1"}).html("");
      }
    }).change(function() {
      txrIsChanged = true;
    })
    
    seekerSurname.change(function() {
      if (!txrIsChanged) {
        $("#seekerSurnameSpan").html($(this).val());
        seekerCoverLetter.val($("#seekerCoverLetterDiv").text());
      }
    });
    
    seekerName.change(function() {
      if (!txrIsChanged) {
        $("#seekerNameSpan").html($(this).val());
        seekerCoverLetter.val($("#seekerCoverLetterDiv").text());
      }
    });
    
    $("#vacancyClear").click(function() {
      seekerName.val('');
      seekerCoverLetter.val('');
      seekerSurname.val('');
    })      
      
    // Проверка формы в вакансиях
    var txrIsChanged = false;
    var options = {
      timeout: 9000,
      success : function() {
        $("#sendResumeForm").html("Спасибо, "+seekerName.val()+"! Ваше резюме на вакансию «"+vacancyName.val()+"» успешно отправлено.");
      }
    };
    
    $("#sendResumeForm").validate({
      submitHandler : function(form) {
        $(form).ajaxSubmit(options);
      },
      rules : {
        vacancyName : "required",
        seekerSurname : "required",
        seekerName : "required",
        seekerCoverLetter : "required",
        resumeFile : "required"
      },
      messages : {
        vacancyName : "",
        seekerSurname : "Вы не указали вашу фамилию",
        seekerName : "Вы не указали ваше имя",
        seekerCoverLetter : "Вы не заполнили сопроводительное письмо",
        resumeFile : "Вы не прикрепили файл резюме"   
      },
      errorPlacement : function(error, element) {
        error.appendTo(element.parent());
      }
    });    
  }
}
  
return this.each(function() {
  var curr = $(this);
  
  curr.click(function() {    
    vacancyOpen($(this));
  })    
})  
}

})(jQuery);
