$(document).ready(function(){
	jQuery.validator.setDefaults({ 
		onkeyup: false,
		onblur: false,
		onclick: false,
		onfocusout: false,
		focusInvalid: false
	});
	
	//nuevos metodos
	jQuery.validator.addMethod("validarMes", function(value){ 
		if (value != -1){
			return ($("#anyo").val()!= -1);
		} else {
			return true; 
		}
	});
	//validacion comentarioForm
	var comentarioForm = $(".comentarioForm");
	if (comentarioForm.length > 0) {		
		comentarioForm.each(function(){
			var formActual = $(this);	
			var parent = formActual.parent().parent().attr("id");	
			var literal1 = (parent == "listComments") ? "responderForm" : "comentarioForm";
			if($("ul.msgError", formActual).size()==0){
				$("<ul class='msgError' tabindex='-1'></ul>").insertBefore($("ul:first",$(formActual))).hide();
			};
			var formActualWrapperErrores = $('ul.msgError',formActual);
			var comentarioFormJSON = { 
				errorLabelContainer: formActualWrapperErrores,
				errorElement: "li",
				showErrors: function(errorMap, errorList) {
					$("#comentarioForm", formActual).empty();
					this.defaultShowErrors(); 
					if ($.browser.msie && parseInt($.browser.version) == 6){
						$("span.cBr",formActual).remove();
						formActual.append("<span class='cBr'></span>");
					}
					$("ul.msgError", formActual).focus();//ponemos el foco en la caja de errores
				},
				rules:{
					titulo:{
						required:true
					},
					comentario:{
						required: true
					}
					
				},
				messages:{
					titulo:{
						required: literal[literal1][0]
					},
					comentario:{
						required: literal[literal1][1]
					}
				}
			}
			
		   formActual.validate(comentarioFormJSON);
		});
	   
	} //fin validacion comentarioForm
	
	//validacion loginUser
	 var loginUser = $("#loginUser");
	if (loginUser.length > 0) {
		var comentarioLoginUserJSON = {
			errorLabelContainer: "#loginUser ul.msgError",
			errorElement: 'li',
			showErrors: function(errorMap, errorList) {
				$("#loginUser ul.msgError").empty();
				this.defaultShowErrors(); 
				if ($.browser.msie && parseInt($.browser.version) == 6){
					$("span.cBr",loginUser).remove();
					loginUser.append("<span class='cBr'></span>");
				}
				$("#loginUser ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'user':{
					required: true
				},
				'pass':{
					required: true
				}
			},
			messages:{
				'user':{
					required: literal["loginUser"][0]
				},
				'pass':{
					required: literal["loginUser"][1]
				}
			}
		}
		
		if($("ul.msgError", loginUser).size()==0){
			$("<ul class='msgError'></ul>").insertBefore($("fieldset ul:first",loginUser)).hide();
		}
	   loginUser.validate(comentarioLoginUserJSON);
	}//fin validacion loginUser
	
	//validacion nuevoTemaForm
	var nuevoTemaForm = $("#nuevoTemaForm");
	if (nuevoTemaForm.length > 0) {
		var nuevoTemaFormJSON = {
			errorLabelContainer: "#nuevoTemaForm ul.msgError",
			errorElement: "li",
			showErrors: function(errorMap, errorList) {
				$("#nuevoTemaForm ul.msgError").empty();
				this.defaultShowErrors(); 
				if ($.browser.msie && parseInt($.browser.version) == 6){
					$("span.cBr",nuevoTemaForm).remove();
					nuevoTemaForm.append("<span class='cBr'></span>");
				}
				$("#nuevoTemaForm ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'grupo':{
					required: true
				},
				'titulo':{
					required:true
				},
				'texto':{
					required: true
				}				
			},
			messages:{
				'grupo':{
					required: literal["nuevoTemaForm"][2]
				},
				'titulo':{
					required: literal["nuevoTemaForm"][0]
				},
				'texto':{
					required: literal["nuevoTemaForm"][1]
				}
			}
		}
		if($("ul.msgError", nuevoTemaForm).size()==0){
			$("<ul class='msgError' tabindex='-1'></ul>").insertBefore($('ul:first',nuevoTemaForm)).hide();
		}
	   nuevoTemaForm.validate(nuevoTemaFormJSON);
	}//fin validacion nuevoTemaForm
	
	//validacion register
	var register = $("#register");
   	if (register.length > 0) {
		var registerJSON = {
			errorLabelContainer: "#register ul.msgError",
			errorElement: 'li',
			showErrors: function(errorMap, errorList) {
				$("#register ul.msgError").empty();
				this.defaultShowErrors(); 
				if ($.browser.msie && parseInt($.browser.version) == 6){
					$("span.cBr",register).remove();
					register.append("<span class='cBr'></span>");
				}
				$("#register ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'nombre':{
					required: true
				},
				'apellidos':{
					required: true
				},
				'email':{
					required: true,
					email: true
				},
				'usuario':{
					required: true	
				},
				'password':{
					required: true	
				},
				'alias':{
					required: true	
				},
				'condiciones':{
					required: true	
				}
			},
			messages:{
				'nombre':{
					required: literal["register"][0]
				},
				'apellidos':{
					required: literal["register"][1]
				},
				'email':{
					required: literal["register"][2],
					email: literal["register"][2]
				},
				'usuario':{
					required: literal["register"][3]	
				},
				'password':{
					required: literal["register"][4]	
				},
				'alias':{
					required: literal["register"][5]	
				},
				'condiciones':{
					required: literal["register"][6]	
				}
			}
		}
		if($("ul.msgError", register).size()==0){
			$("<ul class='msgError' tabindex='-1'></ul>").appendTo($("fieldset:first",register)).hide();
		}
	   register.validate(registerJSON);
	}
	//fin validacion register
	
	//validacion profile
	var profile = $("#profile");
   	if (profile.length > 0) {
		var profileJSON = {
			errorLabelContainer: "#profile ul.msgError",
			errorElement: 'li',
			showErrors: function(errorMap, errorList) {
				$("#profile ul.msgError").empty();
				this.defaultShowErrors(); 
				if ($.browser.msie && parseInt($.browser.version) == 6){
					$("span.cBr",profile).remove();
					profile.append("<span class='cBr'></span>");
				}
				$("#profile ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'nombre':{
					required: true
				},
				'apellidos':{
					required: true
				},
				'email':{
					required: true,
					email: true
				},
				'usuario':{
					required: true	
				},
				'password':{
					required: true	
				},
				'alias':{
					required: true	
				},
				'condiciones':{
					required: true	
				}
			},
			messages:{
				'nombre':{
					required: literal["register"][0]
				},
				'apellidos':{
					required: literal["register"][1]
				},
				'email':{
					required: literal["register"][2],
					email: literal["register"][2]
				},
				'usuario':{
					required: literal["register"][3]	
				},
				'password':{
					required: literal["register"][4]	
				},
				'alias':{
					required: literal["register"][5]	
				},
				'condiciones':{
					required: literal["register"][6]	
				}
			}
		}
		if($("ul.msgError", register).size()==0){
			$("<ul class='msgError' tabindex='-1'></ul>").appendTo($("fieldset:first",profile)).hide();
		}
	   profile.validate(profileJSON);
	}
	//fin validacion profile
	
	//validacion linkotecaForm
	var linkoteca = $("#linkotecaForm");
   	if (linkoteca.length > 0) {
		var linkotecaJSON = {
			errorLabelContainer: "#linkotecaForm ul.msgError",
			errorElement: 'li',
			showErrors: function(errorMap, errorList) {
				$("#linkotecaForm ul.msgError").empty();
				this.defaultShowErrors(); 
				if ($.browser.msie && parseInt($.browser.version) == 6){
					$("span.cBr",linkoteca).remove();
					linkoteca.append("<span class='cBr'></span>");
				}
				$("#linkotecaForm ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'mes':{
					validarMes:true	
				}
			},
			messages:{
				'mes':{
					validarMes: literal["linkotecaForm"][0]
				}
			}
		}
		if($("ul.msgError", linkoteca).size()==0){
			$("<ul class='msgError' tabindex='-1'></ul>").insertBefore($("ul:first",linkoteca)).hide();
		}
	   linkoteca.validate(linkotecaJSON);
	}
	//fin validacion profile
	
	// validacion acceso
	var acceso = $("#accesoForm");
   	if (acceso.length > 0) {
		var accesoJSON = {
			errorLabelContainer: "#accesoForm ul.msgError",
			errorElement: 'li',
			showErrors: function(errorMap, errorList) {
				$("#accesoForm ul.msgError").empty();
				this.defaultShowErrors(); 
				$("#accesoForm ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'usuario':{
					required:true	
				},
				'pass':{
					required:true	
				}
			},
			messages:{
				'usuario':{
					required: literal["accesoForm"][0]
				},
				'pass':{
					required: literal["accesoForm"][1]
				}
			}
		}
		if($("ul.msgError", acceso).size()==0){
			$("<ul class='msgError' tabindex='-1'></ul>").insertBefore($("ul:first",acceso)).hide();
		}
	   acceso.validate(accesoJSON);
	}
	// fin validacion acceso
	
	// validacion newsletter
	var newsletter = $("#newsletterForm");
   	if (newsletter.length > 0) {
		var newsletterJSON = {
			errorLabelContainer: "#newsletterForm ul.msgError",
			errorElement: 'li',
			showErrors: function(errorMap, errorList) {
				$("#newsletterForm ul.msgError").empty();
				this.defaultShowErrors(); 
				$("#newsletterForm ul.msgError").focus();//ponemos el foco en la caja de errores
			},
			rules:{
				'email':{
					required:true,
					email:true
				}
			},
			messages:{
				'email':{
					required: literal["newsletterForm"][0],
					email: literal["newsletterForm"][1]
				}
			}
		}
		if($("ul.msgError", newsletter).size()==0){
			$("<ul class='msgError' tabindex='-1'></ul>").insertBefore($("ul:first",newsletter)).hide();
		}
	   newsletter.validate(newsletterJSON);
	}
	// fin validacion newsletter
});