
var ValidacioMenors = Class.create(); 

ValidacioMenors.prototype = {
	validaEdadWin : null,
	callbackMenores : null,
	
	initialize : function(submitCallback) {
		Object.extend(window, this);
		window.callbackMenores = submitCallback;
	},
	
	validate : function(){
		correcto = true;
	
		$$("input.validate-age").each(function(item){
			correcto = correcto && validaEdad(item, "data");
		});
		
		$$("input.validate-age-years").each(function(item){
			correcto = correcto && validaEdad(item, "anys");
		});

		return correcto;
	},
	
	validaEdad : function(elemento, inputType){
		if (inputType == "data") {
			var edad = window.calculaEdad(elemento.value);
		}
		else {
			var edad = elemento.value * 1;
		}
		
		if(($F("nomTutor") == "") && (edad < elemento.getAttribute("edadMin"))){
			if(window.validaEdadWin == null){
				window.validaEdadWin = new Window({
					className: "enviaramic", 
					zIndex: 10000, 
					id: "validacioEdad", 
					width:450, 
					height:400, 
					destroyOnClose: true, 
					resizable: false, 
					minimizable: false, 
					maximizable: false, 
					draggable: false,
					onClose : window.validaMenorsClose
				});
			
				var urlMissatge = "services/validacioMenors/missatges.aspx?missatge=" + elemento.getAttribute("missatge");
				var options = {
					onComplete : window.validarMenorsComplete,
					asynchronous : false
				}
				
				window.validaEdadWin.setAjaxContent(urlMissatge, options, true, false);
    			window.validaEdadWin.showCenter();
				return false;
			}
			return false;
		}
		return true;
	},
	
	validaMenorsClose : function(){
		window.validaEdadWin = null;
	},
	
	validarMenorsComplete : function(){
		Event.observe($("btnTutorAceptar"), "click", function(){
			if($F("nomTutorVM") == ""){
				$("msgErrorMenors").show();
				return false;
			}
			if(($F("adrecaTutorVM") == "") && ($F("emailTutorVM") == "")){
				$("msgErrorMenors").show();
				return false;
			}
			$("formDadesTutor").hide();
			$("formDadesTutorFinal").show();
			
			if($("tractamentTutor")){
				 $("tractamentTutor").value = $F("tractamentTutorVM");
			}else{
				$("nomTutor").value = $F("tractamentTutorVM");
			}
			if($("nomTutor")){
				$("nomTutor").value = $F("nomTutor") + " " + $F("nomTutorVM");
			}
			if($("cognom1Tutor")){
				 $("cognom1Tutor").value = $F("cognom1TutorVM");
			}else{
				$("nomTutor").value = $F("nomTutor") + " " + $F("cognom1TutorVM");
			}
			if($("cognom2Tutor")){
				$("cognom2Tutor").value = $F("cognom2TutorVM");
			}else{
				$("nomTutor").value = $F("nomTutor") + " " + $F("cognom2TutorVM");
			}
			if($("adrecaTutor"))	$("adrecaTutor").value = $F("adrecaTutorVM");
			if($("poblacioTutor"))	$("poblacioTutor").value = $F("poblacioTutorVM");
			if($("emailTutor"))		$("emailTutor").value = $F("emailTutorVM");
			if($("telefonTutor"))	$("telefonTutor").value = $F("telefonTutorVM");
			
			
			return true;
		});
		
		Event.observe($("btnTutorCerrar"), "click", function(){
			window.validaEdadWin.close();
			window.validaEdadWin = null;
			window.callbackMenores.call();
			return false;
		});
	},
	
	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);
	}
}