tesseraManager = Class.create();
tesseraManager.prototype = 
{
	initialize : function(type, lang) 
	{
		oThis = this;
		this.type = type;
		this.lang = lang
		
		this.fields = ['nome','cognome','data_nascita','nazione','indirizzo','citta','cap','email','conf_email', 'tipo_pagamento']
		
		if (this.type== 1)
		{
			$('v-pagamento').setStyle({display:'none'});
			$('v-ente').setStyle({display:'none'});
			$('t-tessera').update(this.lang=='pl' ? 'Zarejestruj legitymację' : 'Registra tessera')
			this.fields.push('tessera');
		}
		else
		{
			$('v-tessera').setStyle({display:'none'});
			$('t-tessera').update(this.lang=='pl' ? '': 'Compila e richiedi tessera');
			this.fields.push('tipo_pagamento');
			this.fields.push('ente');
		}
		
		this.mainForm = $('richiedi');
		$('btnSubmit').onclick = this.send.bindAsEventListener(this);
	},
	
	send: function(ev)
	{
		if (this.verify())
		{
			this.mainForm.submit();
			//alert(Form.serialize(this.mainForm));
		}
		else
		{
			alert(this.lang=='pl' ? 'Wypełnić prawidłowo wszystkie pozycje'  :  'Compilare correttamente tutti i campi');
		}
	},
	
	verify: function ()
	{
		Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
		error = [];
		
		$A(this.fields.each(function(field){
			var ver=false;
			var ff = '';
			
			if ($F(field)!='') 
				ver=true;
			
			if (field=='email')
				ver = Filtro.test($F(field)); 
			
			
			if (field=='conf_email')
			{
				if ($F(field) != $F('email'))
					ver = false;
			}
			
			if (field=='ente')
			{
				/*if (oThis.type==1) return
				else
				{*/
					if (($('tipo_pagamento').selectedIndex==5) && (ver==false))
						ver=false;
					else
						ver=true;
					
					if ($F(field)!='') 
						ver = true;
					else
						ver = false;
					
					//alert(1)
				//}
			}
				
			
			if (field=='tipo_pagamento')
			{
				if (oThis.type!=1)
					ver = $(field).selectedIndex !=0 ;
				else return;
			}
				
			if (!ver) error.push(1);
			
			oThis.setError(field, ver);
		
		}))
		
		return error.length == 0;
   
	},
	
	setError: function(el, err)
	{
		var bg = err == false ? 'red' : '#63604f'
		$(el).setStyle({borderColor:bg})
	
	}
	
}