$(document).ready(function() {
	/* validate forms */
	$(".validate").each(function(i) {
		$(this).validate({
			ignore: ":not(:visible) input"
		});
		$.metadata.setType("attr", "validate");
	});
	
	$.validator.addMethod(
		"modulo",
		function(value, element, params) {
			return this.optional(element) || value % params == 0;
		}
	);
	
	/* input fields with default values */
	$("input.default-value").each(function() {
		$("input.default-value").css("color", '#444444');
			var default_values = new Array();
			$(this).focus(function() {
				if (!default_values[this.id]) {
					default_values[this.id] = this.value;
				}
				if (this.value == default_values[this.id]) {
					this.value = '';
					this.style.color = '#000000';
				}
			$(this).blur(function() {
				if (this.value == '') {
					this.style.color = '#444444';
					this.value = default_values[this.id];
				}
			});
		});
	});
});
