$().ready(function() {

	$("#formRegister").validate({
		rules: {
			email: {
                required: true,
                email: true
            }
		},
		messages: {
			email: {
                required: "Ingresar un correo",
                email: "Ingresar un correo válido"
            }
		}
	});

	$("#formLogin").validate({
		rules: {
			userName: {
                required: true,
                email: true
            },
			passwordUser: {
			  required: true
			}
		},
		messages: {
			userName: {
                required: "Ingresar un correo",
                email: "Ingresar un correo válido"
            },
			passwordUser: {
			  required: "Contraseña"
			}
		}
	});

	$("#formPaso1").validate({
		rules: {
			password: {
			  required: true,
        minlength: 3
      },
			repassword: {
			  required: true,
        equalTo: "#password"
      },
			userNombre: {required: true},
			userApellido: {required: true},
			cedula: {
			  required: true,
        remote: "../functions/existe_cedula.php"
      },
			genero: {required: true},
			pais: {required: true},
			region: {required: true},
			ciudad: {required: true},
			telefono: {required: true},
			como: {required: true}
		},
		messages: {
			password: {
			  required: "Se require una Contraseña",
        minlength: "No puede ser menor a 3 caracteres"
      },
			repassword: {
        equalTo: "Debe ser igual a la Contraseña"
      },
			userNombre: {required: "Ingrese su Nombre"},
			userApellido: {required: "Ingrese su Apellido"},
			cedula: {
			  required: "Ingrese su Cédula",
			  remote: "Ya hay alguien registrado con esta c&eacute;dula."
			},
			genero: {required: "Ingrese su Génere"},
			pais: {required: "Ingrese su País"},
			region: {required: "Ingrese una Región / Estado"},
			ciudad: {required: "Ingrese una Ciudad"},
			telefono: {required: "Ingrese un Teléfono"},
			como: {required: "Como se enteró?"}
		}
	});
	
	$("#formPaso2").validate({
		rules: {
			myfile: {required: true},
			name_img: {
                required: true,
                minlength: 4
            },
			categoria: {required: true},
			ubicacion: {required: true},
			descripcion: {required: true}
		},
		messages: {
			myfile: {required: "Es necesario escojer una Fotografía"},
			name_img: {
                required: "Es necesario un nombre para la Fotografía",
                minlength: "El nombre no puede ser menor a 4 letras"
            },
			categoria: {required: "Es necesario que escoja una Categoría"},
			ubicacion: {required: "Es necesario que especifique una Ubicación"},
			descripcion: {required: "Es necesario que ingrese un Descripcióń"}
		}
	});

	$("#formEditarFoto").validate({
		rules: {
			name_img: {required: true},
			ubicacion: {required: true},
			descripcion: {required: true}
		},
		messages: {
			name_img: {required: "Debe ingresar un Título"},
			ubicacion: {required: "Debe ingresar una Ubicación"},
			descripcion: {required: "Debe ingresar una Descripción"}
		}
	});

	$("#formEditarUsuario").validate({
		rules: {
		  email: {
		    required: true,
		    email: true
		  },
			password: {minlength: 3},
			repassword: {equalTo: "#password"},
			userNombre: {required: true},
			userApellido: {required: true},
			cedula: {required: true},
			genero: {required: true},
			pais: {required: true},
			region: {required: true},
			ciudad: {required: true},
			direccion: {required: true},
			telefono: {required: true},
			zip: {required: true},
			como: {required: true}
		},
		messages: {
		  email: {
		    required: "Se necesita un correo electrónico",
		    email: "Debe ser un correo válido"
		  },
			password: {minlength: "No puede ser menor a 3 caracteres"},
			repassword: {equalTo: "Debe ser igual a la Contraseña"},
			userNombre: {required: "Ingrese su Nombre"},
			userApellido: {required: "Ingrese su Apellido"},
			cedula: {required: "Ingrese su Cédula"},
			genero: {required: "Ingrese su Génere"},
			pais: {required: "Ingrese su País"},
			region: {required: "Ingrese una Región / Estado"},
			direccion: {required: "Ingrese una Dirección"},
			ciudad: {required: "Ingrese una Ciudad"},
			telefono: {required: "Ingrese un Teléfono"},
			zip: {required: "Ingrese código ZIP"},
			como: {required: "Como se enteró?"}
		}
	});
	
	$("#formEditarFoto").validate({
		rules: {
			name_img: {
        required: true,
        minlength: 4
      },
			ubicacion: {required: true},
			descripcion: {required: true}
		},
		messages: {
			name_img: {
        required: "Debe ingresar un Título.",
        minlength: "El Título es muy corto"
      },
			ubicacion: {required: "Debe ingresar la Ubicación."},
			descripcion: {required: "Debe ingresar una Descripción."}
		}
	});
	$("#formVota").validate({
		rules: {
			nombre: {required: true},
			cedula: {required: true},
			email: {
                required: true,
                email: true
            }
		},
		messages: {
			nombre: {required: "Debe ingresar un nombre"},
			cedula: {required: "Debe ingresar una cédula"},
			email: {
                required: "Ingresar un correo",
                email: "Ingresar un correo válido"
            }
		}
	});

});
// apply inline-box only for mozilla
if( jQuery.browser.mozilla ) {
	// do when DOM is ready
	$( function() {
		// search form, hide it, search labels to modify, filter classes nocmx and error
		$( 'form.form1' ).hide().find( 'p>label:not(.nocmx):not(.error)' ).each( function() {
			var $this = $(this);
			var labelContent = $this.html();
			var labelWidth = document.defaultView.getComputedStyle( this, '' ).getPropertyValue( 'width' );
			// create block element with width of label
			var labelSpan = $("<span>")
				.css("display", "block")
				.width(labelWidth)
				.html(labelContent);
			// change display to mozilla specific inline-box
			$this.css("display", "-moz-inline-box")
				// remove children
				.empty()
				// add span element
				.append(labelSpan);
		// show form again
		}).end().show();
	});
};
