$(document).ready(function() 
  {
   // enhance style of form elements
   $('fieldset').each(function(index) 
     {
      var heading = $('legend', this).remove().text();
      $('<h3></h3>')
        .text(heading)
        .prependTo(this);
     });
   var requiredFlag = '';
   var requiredKey = $('input.required:first').next('span').text();
   requiredKey = requiredFlag + requiredKey.replace(/^\((.+)\)$/,"$1");
   $('form :input').filter('.required')
     .next('span').text(requiredFlag).end()
     .prev('label').addClass('req-label');
   $('<p></p>')
     .addClass('field-keys')
     .append(requiredKey + '<br />')
     .insertBefore('#contact');
   //validate fields on blur
   $('form :input').blur(function() 
     {
      $(this).parents('div:first').removeClass('warning')
        .find('span.error-message').remove();
      if ($(this).is('.required')) 
        {
//         var $listItem = $(this).parents('li:first');
         var $listItem = $(this).parents('div:first');
         var result=this.value;
         var trimmed = result.replace(/^\s+|\s+$/g, '') ;
//       if (this.value == '')
         if (trimmed == '') 
           {
            var errorMessage = 'Поле обязательно к заполнению';
	    //if ($(this).is('.conditional')) 
	    //  {
	    //   errorMessage += ', when its related checkbox is checked';
	    //  };
            $('<span></span>')
              .addClass('error-message')
              .text(errorMessage)
              .appendTo($listItem);
            $listItem.addClass('warning');
           };
        };
      if ($(this).is('#general_info_orgform'))
        {
         var $listItem = $(this).parents('div:first');
         if (this.value == 'undef')
           {
            var errorMessage = 'Вы должны выбрать организационную форму';
              $('<span></span>')
                .addClass('error-message')
                .text(errorMessage)
                .appendTo($listItem);
              $listItem.addClass('warning');
           };
        };
      if ($(this).is('#contact_person_email')) 
        {
         var $listItem = $(this).parents('div:first');
         if (this.value != '' && !/.+@.+\.[a-zA-Z]{2,4}$/
           .test(this.value)) 
             {
              var errorMessage = 'Используйте верный формат электронного адреса' + ' (например: joe@example.com)';
              $('<span></span>')
                .addClass('error-message')
                .text(errorMessage)
                .appendTo($listItem);
              $listItem.addClass('warning');
             };
        };
      if ($(this).is('#contact_person_pphhoonnee')) 
        {
         var $listItem = $(this).parents('div:first');
         if (this.value != '' && !/(\d+\-\d+)$/
           .test(this.value)) 
             {
              var errorMessage = 'Используйте верный формат электронного адреса' + ' (например: joe@example.com)';
              $('<span></span>')
                .addClass('error-message')
                .text(errorMessage)
                .appendTo($listItem);
              $listItem.addClass('warning');
             };
        };


     });
   //validate form on submit
   $('form').submit(function() 
     {
      $('#submit-message').remove();
      $(':input.required').trigger('blur');
      var numWarnings = $('.warning', this).length;
      if (numWarnings) 
        {
         var fieldList = [];
         $('.warning label').each(function() 
           {
            fieldList.push($(this).text());
           });
         $('<div></div>')
           .attr({
                  'id': 'submit-message',
                  'class': 'warning'
                 })
           .append('Пожалуйста исправьте ошибки в  ' +
                                   numWarnings + ' поле(полях):<br />')
           //.append('&bull; ' + fieldList.join('<br />&bull; '))
           .insertBefore('#send');
         return false;
        };
     });
//   //checkboxes
//   $('form :checkbox').removeAttr('checked');
//   //checkboxes with (un)check all
//   $('<li></li>').html('<label><input type="checkbox" '
//           + ' id="discover-all" /> <em>check all</em>'
//           + '</label>').prependTo('li.discover > ul');
//   $('#discover-all')
//     .click(function() 
//       {
//        var $checkboxes = $(this).parents('ul:first').find(':checkbox');
//        if (this.checked) 
//          {
//           $(this).next().text(' un-check all');
//           $checkboxes.attr('checked', 'true');
//          } 
//        else 
//          {
//           $(this).next().text(' check all');
//           $checkboxes.attr('checked', '');
//          };
//       })
//     .parent('label')
//       .css({
//             borderBottom: '1px solid #ccc',
//             color: '#777',
//             lineHeight: 2
//            });
  });
