
var ValidacioMenorsMulti = Class.create(); 

ValidacioMenorsMulti.prototype = {
	callbackMenores : null,
	
	initialize : function(submitCallback) {
		Object.extend(window, this);
		window.callbackMenores = submitCallback;
	},
	
	validate : function(){
		correcto = true;
	
		$j("input.validate-age:visible").each(function(idx, el){
		    var tmp = validaEdad(el, "data", idx + 1);
			correcto = correcto && tmp;
		});
		
		$j("input.validate-age-years:visible").each(function(idx, el){
		    var tmp = validaEdad(el, "anys", idx + 1);
			correcto = correcto && tmp;
		});

		return correcto;
	},
	
	validaEdad : function(elemento, inputType, idx){
           
		if (inputType == "data") {
			var edad = window.calculaEdad(elemento.value);
		}
		else {
			var edad = elemento.value * 1;
		}
		
		validaEdadWin = $j(elemento).closest("li").nextAll("li.tutor_container").first();

		// if (($F("nomTutor"+(idx > 1 ? idx : "")) == "") && (edad < elemento.getAttribute("edadMin"))){
		
		if (edad < elemento.getAttribute("edadMin")) {
		
            if (validaEdadWin.css("display") != "none") {
                return validarMenorsComplete($j(validaEdadWin));
            }
            else if (validaEdadWin) {
                validaEdadWin.show();
                validaEdadWin.focus();
                return false;
            }
        }
        else {
            if (validaEdadWin.css("display") != "none") {
                validaEdadWin.hide();
            }
            return true;
        }

	},
	
	validarMenorsComplete : function(aTutorForm){

			if($j(aTutorForm).find(".nomTutor").val() == ""){
				$j(aTutorForm).find(".msgErrorMenors").show();
				return false;
			}

			if(($j(aTutorForm).find(".adrecaTutor") == "") && ($j(aTutorForm).find(".emailTutor") == "")){
				$j(aTutorForm).find(".msgErrorMenors").show();
				return false;
			}
			
			$j(aTutorForm).find(".msgErrorMenors").hide();

			return true;
	},
	
	calculaEdad : function(dataNaixement){
		dataNaixement = dataNaixement.split('/');
		diaNaixement = dataNaixement[0];
		mesNaixement= dataNaixement[1];
		anyNaixement = dataNaixement[2];

		var edad;
		var now = new Date();
		var diaActual = now.getDate();
		var mesActual = now.getMonth() + 1;
		var anyActual = now.getYear();
		if(anyActual < 1900) anyActual = anyActual + 1900;
		
		
		edad = (anyActual - anyNaixement) - 1;
		if(mesActual > mesNaixement) edad++;
		if((mesActual == mesNaixement) && (diaActual >= diaNaixement))	edad++;
		
		return(edad);
	}
}
