Validation.add('pukkas-onecheck', '', function(v,elm) {
	var i = 0;
	while ( (i < elm.id.length) && (isNaN(elm.id.charAt(i))) ) {
		i++;
	}
	var raiz = elm.id.replace(parseInt(elm.id.substr(i)),'');
	var hits = 0;
	
	$$('form input').each(
		function (el, i) {
			if (el.id.substr(0, raiz.length) == raiz) {
				if (el.checked)
					hits++;
			}
		}
	);
	
	return (hits > 0);
	}
);

var ControlPagina = Class.create();

ControlPagina.prototype = {                       
    validador : null,
    validadorMenorsMulti : null,
    idForm : 'formulari',
    
    initialize : function() {
		Object.extend(window, this);
    
        window.validador = new Validation(this.idForm);
        window.validadorMenorsMulti = new ValidacioMenorsMulti(window.submitForm);
        
        Event.observe($('submitForm'), 'click', this.submitForm.bind(this));
		Event.observe($('fills'), 'change', this.showFills.bind(this));
		Event.observe($('nets'), 'change', this.showNets.bind(this));
		Event.observe($('autoritzo'), 'click', this.aceptar.bind(this));
		this.showFills();
		this.showNets();
    },
	
	showFills : function (evt){
		
		$$('#fills-list li.extra').each ( 
			function (el, i) {
				el.style.display = (i < $F('fills')) ? "block" : "none";
			}
		);
	    return true; 
    },
	
	showNets : function (evt){
		
		$$('#nets-list li.extra').each ( 
			function (el, i) {
				el.style.display = (i < $F('nets')) ? "block" : "none";
			} 
		);
	    return true; 
    },
    
    
	
	aceptar : function (evt){
		if ($('autoritzo').checked) {
			$('submitForm').disabled = false;
			$('submitForm').removeClassName('disabled');
		}
		else {
			$('submitForm').disabled = true;
			$('submitForm').addClassName('disabled');
		}
		
	    return true; 
    },
	
    submitForm : function (evt) {
		if(window.validadorMenorsMulti.validate()){
    		if (window.validador.validate()) {
				if($("concertsgeneralment1").checked) $("vaig").value = $F("vaig") + "," + $F("concertsgeneralment1");
				if($("socabonat1").checked) $("abonament").value = $F("socabonat1");
		        
				normalitzar = new Normalitzar();
				normalitzar.run($("formulari"), $("adreca-carrer"), $("adreca-num"), $("cp"), $("poblacio"), $("tipoviaNorm"), $("indica"), $("indfia"));
				return false;
			}
		}
    },
    
    normalizeCallBack : function(){
		setTimeout("$('formulari').submit()",200);
    }
}

Event.observe(window,"load",function(){ new ControlPagina(); });

