function formValidate( form) {
	var valid = true;
	
	if(document.getElementById('alercik')){$('#alercik').text('');}
	
	
	
	isInteger = function( s ) {
		return !isNaN( parseInt( s ) );
	}
	
	
	$(".date", form).each( function() {
		$(this).removeClass( "invalid");
		if (this.value != '' && false == /^\d{4}-\d{1,2}-\d{1,2}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	
	
	
	
	
		
	$(".year", form).each( function() {
		$(this).removeClass( "invalid");
		if (this.value != '' && false == /^\d{4}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	$('.required', form).each( function() {
		$(this).removeClass( "invalid");
		$('label[for='+this.id+']').removeClass( "invalid");
		if (this.tagName == "SELECT" && this.value == 0) {
			$(this).addClass( "invalid");
			valid = false;
		} else if (this.tagName == "INPUT" && this.type == "password"){
				   
				   
			if (false == /^.{6,}$/.test( this.value)) {
				$(this).addClass( "invalid");
				valid = false;
			}else{
				
				
				
				var cyfry_w_hasle = 0;
			
				for(i=0; i< this.value.length; i++){
					if(isInteger(String.fromCharCode(this.value.charCodeAt(i)))){
						cyfry_w_hasle++;
					}
				}
				
				if(cyfry_w_hasle<2){
					$(this).addClass( "invalid");
					valid = false;
				}
				
			}
			
			
		} else if (this.tagName == "INPUT" && this.type == "checkbox" && false == this.checked) {
			$('label[for='+this.id+']').addClass( "invalid");
			valid = false;
		} else if ($(this).attr( "class").indexOf( "email") >= 0 && false == /^[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z0-9._%-]{2,4}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		} else if ($(this).attr( "class").indexOf( "date") >= 0 && false == /^\d{4}-\d{2}-\d{2}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		} else if ($(this).attr( "class").indexOf( "year") >= 0 && false == /^\d{4}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		} else if (this.value == "") {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	
	if($("#data_rozp").val() > $("#data_ukon").val() ) {$("#data_rozp").addClass( "invalid"); $("#data_ukon").addClass( "invalid"); valid = false; }
	

	function explode( delimiter, string, limit ) {
    
    var emptyArray = { 0: '' };
    
    // third argument is not required
    if ( arguments.length < 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }
 
    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }
 
    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }
    
    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}


if(document.getElementById('dosw_od_1')){	
for(i=0; i<10; i++){
	
	if($("#dosw_od_"+i).val() != '' ) {

		_od = $("#dosw_od_"+i).val();
		array_od = explode("-", _od);;
		data_od = new Date(array_od[0],array_od[1],array_od[2]);
		
		_do = $("#dosw_do_"+i).val();
		array_do = explode("-", _do);;
		data_do = new Date(array_do[0],array_do[1],array_do[2]);
		
		if(data_od > data_do){ $("#dosw_od_"+i).addClass( "invalid"); $("#dosw_do_"+i).addClass( "invalid"); valid = false; }	
		
	}
}

		_od = $("#dosw_od_0").val();
		array_od = explode("-", _od);;
		data_od = new Date(array_od[0],array_od[1],array_od[2]);
		
		_do = $("#dosw_do_10").val();
		array_do = explode("-", _do);;
		data_do = new Date(array_do[0],array_do[1],array_do[2]);
		
		if(data_od > data_do){ $("#dosw_od_0").addClass( "invalid"); $("#dosw_do_10").addClass( "invalid"); valid = false; }	


}





	$(".tel_stac", form).each( function() {
		$(this).removeClass( "invalid");
		//if (this.value != '' && false == /^[(]\d{2}[)][ ]\d{3}[ ]\d{2}[ ]\d{2}$/.test( this.value)) {
		//if (this.value != '' && false == /^[(]\d{2}[)][ ]?\d{3}[ ]?\d{2}[ ]?\d{2}$/.test( this.value)) {
		//if (this.value != '' && false == /^[(]\d{2}[)]([ ]?\d){7}$/.test( this.value)) {
		if (this.value != '' && false == /^([(](\d?\d{2})[)]|(\d?\d{2}))?([ ]?\d){7}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	$(".tel_kom", form).each( function() {
		$(this).removeClass( "invalid");
		//if (this.value != '' && false == /^[(]\d{1}[)][ ]\d{3}[ ]\d{3}[ ]\d{3}$/.test( this.value)) {
		if (this.value != '' && false == /^([ ]?\d){9}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	$("#kod_pocztowy1", form).each( function() {
		//$(this).removeClass( "invalid");
		if (this.value != '' && false == /^\d{2}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	$("#kod_pocztowy2", form).each( function() {
		//$(this).removeClass( "invalid");
		if (this.value != '' && false == /^\d{3}$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	$("#oczekiwania_okr_probn", form).each( function() {
		//$(this).removeClass( "invalid");
		if (this.value != '' && false == /^\d{2}\d+$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	$("#oczekiwania_po_roku", form).each( function() {
		//$(this).removeClass( "invalid");
		if (this.value != '' && false == /^\d{2}\d+$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	
	$(".liczba", form).each( function() {
		//$(this).removeClass( "invalid");
		if (this.value != '' && false == /^[0-9]+$/.test( this.value)) {
			$(this).addClass( "invalid");
			valid = false;
		}
	});
	
	



	if(!valid && document.getElementById('alercik')){$('#alercik').html('Proszę zaznaczyć pola obowiązkowe, zaznaczone na czerwono.');}
	
	
	return( valid);
}
