
$(document).ready(function() {
   
   $(document).ajaxSend(function(e, xmlHttpRequest, options) {

      $('.ajax-success-message').each(function() {
         $(this).hide();
      });
      
      $('.errorMsg').each(function() {
         $(this).hide();
      });
      
      $(':input').each(function() {
         $(this).removeClass('fieldWithErrors');
      });
      
   });
   
   $(document).ajaxSuccess(function(e, xmlHttpRequest, options) {
      
      var responseObj = $.parseJSON(xmlHttpRequest.responseText);
      if (!responseObj) return;
      
      $('.errorMsg').each(function() {
         if (!responseObj.success) {
            var $form = $(this).closest('form');
            var classes = ($(this).attr('class') || "").split(" ");
            for (var i=0; i<classes.length; i++) {
               var classParts = classes[i].split("_");
               if (classParts.length < 2 && classParts[0] != "field") continue;
               classParts.shift();
               var inputName = classParts.join("_");
               var $input = $form.find(':input[name="' + inputName + '"]');
               if (responseObj && responseObj.errorFields && responseObj.errorFields[inputName] && options.url == $form.attr('action')) {
                  var errorText = responseObj.errorFields[inputName][0];
                  $(this).html(errorText).fadeIn();
                  if(!$input.hasClass('fieldWithErrors')) {
                     $input.addClass('fieldWithErrors');
                  }
               }
            }
         }
      });
   });
   
   $('.captha-reload').live('click', function(e) {
     e.preventDefault();
     var $form = $(this).closest('form');
     reloadCaptcha($form);
   });
});

function reloadCaptcha($form) {
   var url = $form.find('.captha-reload').attr('href');
   
   if (url) {
      $.ajax({
         dataType: 'html',
         success: function(data) {
            $form.find('.ajaxContainer').html(data);      
         },
         url: url
      });
   }
}

function openPrint(printUrl) {
  printview = window.open(printUrl, "Druckansicht", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=700,height=450,left=100,top=100");
  printview.focus();
}
