$(function (){
	document.getElementById('Enviar').disabled = false;
	
	jQuery.extend(jQuery.validator.messages, {
		required: "Este campo es obligatorio.",
		remote: "Por favor, rellena esta campo.",
		email: "Por favor, escribe una dirección de correo válida",
		url: "Por favor, escribe una URL válida.",
		date: "Por favor, escribe una fecha válida.",
		dateISO: "Por favor, escribe una fecha (ISO) válida.",
		number: "Por favor, escribe un número entero válido.",
		digits: "Por favor, escribe sólo dígitos.",
		creditcard: "Por favor, escribe un número de tarjeta válido.",
		equalTo: "Por favor, escribe el mismo valor de nuevo.",
		accept: "Por favor, escribe una valor con una extensión aceptada.",
		maxlength: jQuery.validator.format("Por favor, no escribas más de {0} caracteres."),
		minlength: jQuery.validator.format("Por favor, no escribas menos de {0} caracteres."),
		rangelength: jQuery.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
		range: jQuery.validator.format("Por favor, escribe un valor entre {0} y {1}."),
		max: jQuery.validator.format("Por favor, escribe un valor igual o menor que {0}."),
		min: jQuery.validator.format("Por favor, escribe un valor igual o mayor que {0}.")
	});
	
	$("#formulario").validate ({
		rules: {
			fotografia: {
				required: true,
				accept: 'jpg|jpeg'
			},
			nombre: 'required',
			dui: {
				required: true,
				digits: true,
				minlength: 9
			},
			departamento: 'required',
			municipio: 'required',
			colonia: 'required',
			complemento: 'required',
			genero: 'required',
			fechanacimiento: {
				required: true,
				date: true
			},
			edad: {
				required: true,
				number: true
			},
			telefonocasa: {
				required: true,
				number: true
			},
			telefonocelular: {
				required: true,
				number: true
			},
			telefonorecado: {
				required: true,
				number: true
			},
			estadocivil: 'required',
			medioplaza: 'required',
			otromedioplaza: {
				required: function (){
					return $('#medioplaza').val() == 'Otro Medio';
				}
			},
			quienrefiere: {
				required: function (){
					return $('#medioplaza').val() == 'Referido';
				}
			},
			familiaresenomnisport: 'required',
			nombrefamiliar: {
				required: '#familiaresenomnisport:checked'
			},
			sucursalfamiliar: {
				required: '#familiaresenomnisport:checked'
			},
			departamentofamiliar: {
				required: '#familiaresenomnisport:checked'
			},
			puestotrabajo1: 'required',
			otropuesto1: {
				required: function () {
					return $('#puestotrabajo1').val() == 'otro';
				}
			},
			pretencionsalarial1: {
				required: true,
				digits: true
			},
			otropuesto2: {
				required: function () {
					return $('#puestotrabajo2').val() == 'otro';
				}
			},
			pretencionsalarial2: {
				required: "#puestotrabajo2:filled",
				digits: true
			},
			otropuesto3: {
				required: function () {
					return $('#puestotrabajo3').val() == 'otro';
				}
			},
			pretencionsalarial3: {
				required: "#puestotrabajo3:filled",
				digits: true
			},
			nivelacademico: 'required',
			institucionestudio: 'required',
			carreraestudio: 'required',
			estudiaactualmente: 'required',
			nombreestudios: {
				required: '#estudiaactualmente:checked'
			},
			nivelalcanzado: {
				required: '#estudiaactualmente:checked'
			},
			institucionactual: {
				required: '#estudiaactualmente:checked'
			},
			horarios: {
				required: '#estudiaactualmente:checked'
			},
			telefonotrabajo1: {
				required: '#empresatrabajo1:filled',
				digits: true
			},
			jefetrabajo1:  {
				required: '#empresatrabajo1:filled'
			},
			/*motivotrabajo1:  {
				required: '#empresatrabajo1:filled'
			},*/
			entradatrabajo1: {
				required: '#empresatrabajo1:filled',
				date: true
			},
			salidatrabajo1: {
				required: false,
				date: true
			},
			telefonotrabajo2: {
				required: '#empresatrabajo2:filled',
				digits: true
			},
			jefetrabajo2: {
				required: '#empresatrabajo2:filled'
			},
			motivotrabajo2: {
				required: '#empresatrabajo2:filled'
			},
			entradatrabajo2: {
				required: '#empresatrabajo2:filled',
				date: true
			},
			salidatrabajo2: {
				required: '#empresatrabajo2:filled',
				date: true
			},
			telefonotrabajo3: {
				required: '#empresatrabajo3:filled',
				digits: true
			},
			jefetrabajo3: {
				required: '#empresatrabajo3:filled'
			},
			motivotrabajo3: {
				required: '#empresatrabajo3:filled'
			},
			entradatrabajo3: {
				required: '#empresatrabajo3:filled',
				date: true
			},
			salidatrabajo3: {
				required: '#empresatrabajo3:filled',
				date: true
			}
		},
		messages: {
			fotografia: {
				required: 'Por favor seleccione un archivo',
				accept: 'Seleccioen un archivo en formato JPG y JPEG'
			}
		},
		errorPlacement: function(error, element) {
			if (element.attr("name") == "genero") error.insertAfter($("#genero_1").parent().parent());
			else if (element.attr("name") == "familiaresenomnisport") error.insertAfter($("#familiaresenomnisport2").parent().parent());
			else if (element.attr("name") == "estudiaactualmente") error.insertAfter($("#estudiaactualmente2").parent().parent());
			else error.insertAfter(element);
		}
	});
	
	$('#fechanacimiento').datepicker({
		monthNamesShort:['Enero','Febrero','Marzo','Abril','Mayo',
											'Junio','Julio','Agosto','Septiembre',
											'Octubre','Noviembre','Diciembre'],
		dayNamesMin:['Do','Lu','Ma','Mi','Ju','Vi','Sa'],
		dateFormat:'dd/mm/yy',
		changeYear: true,
		changeMonth: true,
		yearRange: "1960:" + (2010 - 18)
	});
	
	$('#entradatrabajo1, #salidatrabajo1, #entradatrabajo2, #salidatrabajo2, #entradatrabajo3, #salidatrabajo3').datepicker({
		monthNamesShort:['Enero','Febrero','Marzo','Abril','Mayo',
											'Junio','Julio','Agosto','Septiembre',
											'Octubre','Noviembre','Diciembre'],
		dayNamesMin:['Do','Lu','Ma','Mi','Ju','Vi','Sa'],
		dateFormat:'dd/mm/yy',
		changeYear: true,
		changeMonth: true,
		yearRange: "1960:2010"
	});
});