
jQuery(document).ready(function(){

  //jQuery('.info').hide(); 
  //jQuery('.ok').hide();
  //jQuery('.error').hide();

  $('table.blw_form .validate_max').keyup(function(){
    var maxlength = parseInt($(this).attr('maxlength'));
    $(this).val($(this).val().substring(0, maxlength));
    var remaining = maxlength - $(this).val().length;
    var row = $(this).closest('tr').next();
    if($(this).closest('tr').hasClass('minimal'))
    row = $(this).closest('tr');
    if(row.find('.info').text().match(/\(\d+\sverbleibend\)/gi))
      row.find('.info').text(row.find('.info').text().replace(/\(\d+\sverbleibend\)/gi, '(' +  remaining + ' verbleibend)'));
    else
      row.find('.info').text(row.find('.info').text() + ' (' +  remaining +' verbleibend)');
  });
  
  jQuery('table.blw_form div.inputtext input').focus(function(){
    jQuery(this).parent().addClass('active');
    var row = jQuery(this).closest('tr').next();
    if(jQuery(this).closest('tr').hasClass('minimal'))
    row = jQuery(this).closest('tr');
    row.find('.ok').hide();
    row.find('.error').hide();
    row.find('.info').show();
  });
  jQuery('table.blw_form div.inputtext input').blur(function(){
    var row = jQuery(this).closest('tr').next();
    if(jQuery(this).closest('tr').hasClass('minimal'))
    row = jQuery(this).closest('tr');
    if(jQuery(this).val()==''){
      if(row.find('.col-required').text() !=''){
        row.find('.info').hide();
        row.find('.error').show();
      }else{
        jQuery(this).parent().removeClass('active');
      }
    }else{
      row.find('.info').hide();
      row.find('.ok').show();
    }
  });
  jQuery('table.blw_form div.inputfile input').focus(function(){
    var row = jQuery(this).closest('tr').next();
    if(jQuery(this).closest('tr').hasClass('minimal'))
    row = jQuery(this).closest('tr');
    jQuery(this).parent().addClass('active');
    row.find('.ok').hide();
    row.find('.error').hide();
    row.find('.info').show();
  });
  jQuery('table.blw_form div.inputfile input').blur(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    if(jQuery(this).val()==''){
      if(row.find('.col-required').text() !=''){
        row.find('.info').hide();
        row.find('.error').show();
      }else{
        jQuery(this).parent().removeClass('active');
      }
    }else{
      row.find('.info').hide();
      row.find('.ok').show();
    }
  });

  jQuery('table.blw_form div.inputcheckbox input').change(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    if(jQuery(this).is(':checked')){
      row.find('.ok').show();
      row.find('.error').hide();
    }else{
      row.find('.ok').hide();
      row.find('.error').show();
    }

  });

  jQuery('table.blw_form div.inputtextarea textarea').focus(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    jQuery(this).parent().addClass('active');
    row.find('.ok').hide();
    row.find('.error').hide();
    row.find('.info').show();
  });
  jQuery('table.blw_form div.inputtextarea textarea').blur(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    if(jQuery(this).val()==''){
      if(row.find('.col-required').text() !=''){
        row.find('.info').hide();
        row.find('.error').show();
      }else{
        jQuery(this).parent().removeClass('active');
      }
    }else{
      row.find('.info').hide();
      row.find('.ok').show();
    }
  });

  jQuery('table.blw_form div.inputtext select').focus(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    jQuery(this).parent().addClass('active');
    row.find('.ok').hide();
    row.find('.error').hide();
    row.find('.info').show();
  });
  jQuery('table.blw_form div.inputtext select').blur(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    if(jQuery(this).val()=='nothing'){
      if(jQuery(this).closest('tr').find('.col-required').text() !=''){
        row.find('.info').hide();
        row.find('.error').show();
      }else{
        jQuery(this).parent().removeClass('active');
      }
    }else{
      row.find('.info').hide();
      row.find('.ok').show();
    }
  });
  jQuery('table.blw_form div.inputtext select').change(function(){
    	var row = jQuery(this).closest('tr').next();
  		if(jQuery(this).closest('tr').hasClass('minimal'))
  		  row = jQuery(this).closest('tr');
    if(jQuery(this).val()=='nothing'){
      if(jQuery(this).closest('tr').find('.col-required').text() !=''){
        row.find('.info').hide();
        row.find('.error').show();
      }else{
        jQuery(this).parent().removeClass('active');
      }
    }else{
      row.find('.info').hide();
      row.find('.ok').show();
    }
  });

});
