$(document).ready(function() {
	// validate signup form on keyup and submit
	$.validator.addMethod("test", function(value) {
		var pattl = /^0{1}((\.|,)[0-9]{1,2})?$|^[1-9]{1}([0-9]{0,2})?(\.?[0-9]{3}){0,}((\.|,)[0-9]{1,2})?$/;
		return pattl.test(document.getElementById("pret").value);	}, 'Pretul trebuie sa fie numeric!');

	var validator = $("#signupform").validate({
		rules: {
			titlu: {
				required: true,
				minlength: 5,
				maxlength: 60
			},
			pret: {
				required: true,
				test: true
			},
			descriere: {
				required: true,
				minlength: 1
			},
			nume: {
				required: true,
				minlength: 3,
				maxlength: 60				
			},
			email: {
				required: true,
				email: true
			},
			telefon: {
				required: true,
				number: true,
				minlength: 10,
				maxlength: 13
			},
			//vehicule
			marca: "required",
			model: "required",
			km: {
				required: true,
				number: true
			},
			anul_fabr: "required",
			luna_fabr: "required",
			motor: "required",
			poluare: "required",
			inmatriculare: "required",
			camere: "required",
			schimb_cu: "required",
			schimb_camere: "required",
			regiune: "required",
			localitate: "required",
			/*cat_id: {
				required: true,
				//remote: "/scripts/php/categ.php"				
			},*/
			cat_id: "required",
			//imobiliare
			zona: {
				required: true,
				maxlength: 25
			},
			spatiu: {
				required: true,
				number: true
			}
		},
		messages: {
			titlu: { 
				required: "Introdu titlul anuntului",
				minlength: jQuery.format("Introdu cel putin {0} caractere"),
				maxlength: jQuery.format("Introdu cel mult {0} caractere")
			},
			pret: {
				required: "Trebuie sa completati campul Pret",
				number: "Pretul trebuie sa fie numeric"
			},
			descriere: {
				required: "Trebuie sa completati campul Descriere",
				minlength: jQuery.format("Introdu cel putin {0} caractere")
			},
			nume: {
				required: "Trebuie sa completati campul Nume",
				minlength: jQuery.format("Introdu cel putin {0} caractere"),
				maxlength: jQuery.format("Introdu cel mult {0} caractere")			
			},
			email: {
				required: "Trebuie sa completati campul E-mail",
				email: "E-mailul nu este corect"
			},
			telefon: {
				required: "Trebuie sa completati campul Telefon",
				number: "Formatul numarului de telefon nu este corect",
				minlength: "Introduceti cel putin 10 caractere",
				maxlength: "Introduceti cel mult 13 caractere"
			},
			marca: "Trebuie sa introduceti marca automobilului",
			model: "Trebuie sa introduceti modelul automobilului",
			km: {
				required: "Trebuie sa introduceti kilometrajul",
				number: "Kilometrajul trebuie sa fie numeric"
			},
			regiune: "Trebuie sa selectati judetul",
			localitate: "Trebuie sa selectati localitatea",
			anul_fabr: "Trebuie sa selectati anul fabricatiei",
			luna_fabr: "Trebuie sa selectati luna fabricatiei",
			motor: "Trebuie sa selectati tipul de motorizare",
			poluare: "Trebuie sa selectati norma de poluare",
			inmatriculare: "Trebuie sa selectati starea de inmatriculare",
			camere: "Trebuie sa selectati numarul de camere",
			zona: {
				required:"Trebuie sa specificati zona imobilului",
				maxlength:jQuery.format("Introdu cel mult {0} caractere")
			},
			/*cat_id: {
				required: "Trebuie sa alegeti o categorie"
				//remote: "Nu puteti alege o categorie principala"
			},*/
			cat_id: "Trebuie sa alegeti o categorie",
			spatiu: {
				required: "Trebuie sa specificati suprafata imobilului",
				number: "Suprafata trebuie sa fie sub forma de numar"
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next().next() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.next() );
			else
				error.appendTo( element.parent().next() );
		},
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function() {			
			document.formAdauga.submit();
		},
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		}
	});
	
});