$().ready(function(){   
	
    //Dodawanie licznika znaków do textarea
    var ar = $("#formularz .area_text .wrapper");
    ar.each(function(){        
        var counter = $(this).attr('counter');
        if(!counter) counter = 300;
        $(this).after('<div class="pozostalo">Pozostało: <span class="counter">'+counter+'</span> znaków.</div>');
        $(this).find('textarea').textLimit(parseInt(counter),function( length, limit ){            
            if(length<limit){
				$(this).data({flag:0});
			}
            if(limit==length){
				if($(this).data('flag')==0){
					$(this).data({flag:1});
					alert('Przekroczono limit znaków!');
				}				
			}                                   
            $(this).parents('.wrapper').next('.pozostalo').children('.counter').text( limit - length );            
            
        })
    });
    
 
    
    
    
    
    
    $('input[class!="notrequired"], textarea[class!="notrequired"], select').addClass("required");
    //alert($("input, textarea, select").length);
    $('.area_text_2 input, input[type=hidden], input[name="data[0][email]"], input[name="data[3][email]"],input[name="data[3][data]"]').removeClass("required");
    
    //VALIDACJA	
    $("#formularz").validate({
		rules:{ 
						
		},
		messages: {			
			"dane[4]": "Wyrażenie zgody jest obligatoryjne!"			
		},
		//onkeyup: false,
		validClass: "success",
		//errorLabelContainer: "#message_box",
        //wrapper: "li",
		invalidHandler: function(e, validator) {
              //alert(validator.numberOfInvalids() + " field(s) are invalid");
        },  
        errorPlacement: function(error, element) {
             var classs = element.parents(".field").attr("class");
             if(classs.search("input_text")!=(-1)){             
                 element.parents(".field").after('<div class="wawa_error_wrapper"></div>');
                 error.appendTo(element.parents(".field").next('.wawa_error_wrapper'));
             }
             if(classs.search("area_text")!=(-1)){             
                 element.parents(".field").after('<div class="wawa_error_wrapper"></div>');
                 error.css('right','-230px');
                 error.css('top','-87px');
                 error.appendTo(element.parents(".field").next('.wawa_error_wrapper'));
             }
             
             if(classs.search("checkbox")!=(-1)){             
                 if(classs.search("exept")!=(-1)){                                                               
                     error.css('right','-230px');
                     error.css('top','-280px');
                     if(classs.search("exept2")!=(-1)) error.css('top','-90px');
                     error.appendTo(element.parents(".field").next('.area_text_2_error').find('.wawa_error_wrapper'));                 
                 } else if(classs.search("area")!=(-1)){
                     element.parents("table").parents(".field").after('<div class="wawa_error_wrapper"></div>');                     
                     error.css('right','-230px');
                     error.css('top','-70px');
                     error.appendTo(element.parents("table").parents(".field").next('.wawa_error_wrapper'));
                 } else {
                    element.parents("table").after('<div class="wawa_error_wrapper"></div>');
                    error.css('right','-230px');
                    error.css('top','-60px');
                    error.appendTo(element.parents("table").next('.wawa_error_wrapper'));
                 }
             }
             
        },  
        ignore:".skip"   
		//debug:true
	});
    
    //UAKTYWNIENIE VALIDACJI
    $("#formularz").validate();		        

});



//METODA DLA GRUPY
jQuery.validator.addMethod('required_group', function(val, el) {
        var $module = $(el).parents('div.area_text_2');
        return $module.find('.required_group:checked').length;
},"Zaznacz jedno lub więcej pól!");

jQuery.validator.addClassRules('required_group', {
        'required_group' : true
});

jQuery.validator.addMethod("kod", function(value, element) {  
  return /^[\d]{2}-[\d]{3}$/i.test(value);
}, "Niepoprawny kod!"); 

jQuery.validator.addMethod("tel", function(value, element) {  
  return /^[\d]{2}-[\d]{7}$/i.test(value) || /^[\d]{3}-[\d]{3}-[\d]{3}$/i.test(value);
}, "Niepoprawny numer!"); 

jQuery.validator.addMethod("lettersonly", function(value, element) {
  return this.optional(element) || /^[a-z±ćęłńó¶Ľż ]+$/i.test(value);
}, "Tylko litery!"); 

jQuery.validator.addMethod("no_zero", function(value, element) {
  return this.optional(element) || value.substring(0,1)!='0';
}, "Numer nie może zaczynać się od zera."); 

jQuery.validator.addMethod("wiek_ropy", function(value, element) {
  return this.optional(element) || value.substring(0,2)=='19';
}, "Niewła¶ciwy rok urodzenia."); 

jQuery.validator.addMethod("data_rozpoczecia", function(value, element) {
  return /^[\d]{2}-[\d]{2}-[\d]{4}$/i.test(value);
}, "Niewła¶ciwy format daty."); 

