var TestValidation = {

	someFormValidator: null,
	
	init: function() {
		this.someFormValidator = new Validation("autoForm", {
			onFormInvalid: function(failures) {
				failures.each(function(fail) {
					$("validation-errors").adopt(new Element("li", {'html': fail}));
				});
			},
			
			onFormValid: function() {
				$('autoForm').submit();
//				alert("All elements are valid!");
			},
			
			onElementValidating: function(el) {
				if(el.removeClass){
					el.removeClass("valid").removeClass("error");
				}
			},
			
			onElementInvalid: function(el, err) {
				if(el.removeClass){
					el.addClass("error");
				}
			},
			
			onElementValid: function(el) {
				if(el.removeClass){
					el.addClass("valid");
				}
			}
		});
		
		$("autoForm").addEvent("submit", function(e) {
			new Event(e).stop();
			
			$("validation-errors").empty();
			TestValidation.someFormValidator.validate();

		});
		
	}
}



/********** INICJACJA DATAPICKER **********************/
window.addEvent("domready", function() {
	$$('input[subtype="fulldate"]').each(function(e){
		if(e.getProperty('subtype')=='fulldate'){
			var reservedDays = new Array();
			reservedDays[6]=new Array();
			reservedDays[6][18]=true;
			var mooCal = new MooCal(e.getProperty('id'));
			mooCal.minYear = new Date().getFullYear();
			mooCal.maxYear = "2100";
//			mooCal.reservedDays = reservedDays;
			$("datCal_"+e.getProperty('name')).addEvent("click", function(e){
				var event = new Event(e).stop();
				//var x = event.client.x;
				//var y = event.client.y;
				var x = event.page.x;
				var y = event.page.y;
				mooCal.show(x,y); // Display the calendar at the position of the mouse cursor
			});
		};
	});
});

// validacja formularzy
window.addEvent("domready", TestValidation.init.bind(TestValidation));

