window.addEvent('domready', function() {
	var etichetta = {
		'true': '[apri]',
		'false': '[chiudi]'
	};
	

	if($('divsegnala')!=null){
		var SlideSegnala = new Fx.Slide('divsegnala').hide();
			
		$('segnala').addEvent('click', function(e){
			e.stop();
			SlideSegnala.toggle();
		});


		$('sendsegnalazione').addEvent('submit', function(e) {
			//Prevents the default submit event from loading a new page.
			e.stop();
			//Set the options of the form's Request handler. 
			//("this" refers to the $('myForm') element).
			this.set('send', {onComplete: function(response) { 
				$('divsegnala').set('html', response);
				chiudi.delay(2000);
			}});
			//Send the form.
			this.send();
		});
	
	}
	

    //campo file sul form per le immagini annuncio
	if($('upload_id_imgannuncio_doc')) {
		$('upload_id_imgannuncio_doc').addEvent('change', function(e) {
			var myVal = $('upload_id_imgannuncio_doc').get("value");
			var ext = myVal.substring(myVal.length-4,myVal.length);
			ext = ext.toLowerCase();
			if(ext != '.jpg' && ext != 'jpeg' && ext != '.png' && ext != '.gif') {
				alert('Puoi inserire solo immagini jpg, png e gif!');
				$('upload_id_imgannuncio_doc').set("value","");
				return false;
			}
		});
	}
	

	if($('divrisposta')!=null){ 
	
		if(erroririsposta){
			var SlideRisposta = new Fx.Slide('divrisposta').show();
		} else {
			var SlideRisposta = new Fx.Slide('divrisposta').hide();
		}
		
		$('chiudi').addEvent('click', function(e){
			e.stop();
			
			SlideRisposta.toggle();
			$('chiudi').set('text', etichetta[SlideRisposta.open]);
		});
		
	
		$('toggle').addEvent('click', function(e){
			e.stop();
			
			var testo = $('toggle').get('value');
			if(testo == 'Scrivi qui la risposta a questo annuncio'){
				$('toggle').set('text', '');
	
			}
			
			SlideRisposta.slideIn();
			
			if($('chiudi').get('text') == '[apri]')$('chiudi').set('text', etichetta[SlideRisposta.open]);
		});
	
		$('toggle').addEvent('focus', function(e){
			e.stop();
				var testo = $('toggle').get('value');
				if(testo == 'Scrivi qui la risposta a questo annuncio'){
					$('toggle').set('text', '');
		
				}
	
			
			SlideRisposta.slideIn();
			if($('chiudi').get('text') == '[apri]')$('chiudi').set('text', etichetta[SlideRisposta.open]);
		});
	
	}


	if($('divamico')!=null){
	
		if(erroriamico){
			var SlideAmico = new Fx.Slide('divamico').show();
		} else {
			var SlideAmico = new Fx.Slide('divamico').hide();
		}
		
		$('amico').addEvent('click', function(e){
			e.stop();
			SlideAmico.toggle();
		});
	}
	

	if($('divhelptesto') && $('divhelp')){
		$('divhelptesto').hide();
		$('divhelp').hide();
		
		$('tit').addEvent('click', function(e) {
			$('divhelp').show();
			$('divhelptesto').hide();
		});
		
		$('tit').addEvent('focus', function(e) {
			$('divhelp').show();
			$('divhelptesto').hide();
		});
		
		$('tit').addEvent('blur', function(e) {
			$('divhelp').hide();
		});
		
		
		$('testoann').addEvent('click', function(e) {
			$('divhelptesto').show();
			$('divhelp').hide();
		});
		
		$('testoann').addEvent('focus', function(e) {
			$('divhelptesto').show();
			$('divhelp').hide();
		});
		
		$('testoann').addEvent('blur', function(e) {
			$('divhelptesto').hide();
		});
	}

	
	//cerca sugli elementi dei form metacatalogo se esiste il parametro rel
	var elementi = $$('input[rel!=], textarea[rel!=], select[rel!=]');
	
	$each(elementi, function(elemento){ 
		var rel = elemento.get('rel');
		var name = elemento.get('name');
		if(rel) {
			var dipendenze = JSON.decode(rel);
			var required = dipendenze.required;
			var notrequired = dipendenze.notrequired;
			
			var myEvent = "change";
			if(elemento.type=="text" || elemento.type=="textarea") {
				myEvent = "keyup";
			}
			
			//alert(myEvent + ' ' + name);
			
			elemento.addEvent(myEvent, function(e) { 

				//alert("ok, modifico le classi delle dipendenze");
				if(((this.type=="text" || this.type=="textarea") && this.value != '') || (this.type=="checkbox" && this.checked)) {	

					//elementi che diventano required
					if(required) {
						$each(required.split(','), function(dipendenza){ 
							var lblPrevious = $$('input[name='+dipendenza+']').getPrevious('label');
							var lblParent = $$('input[name='+dipendenza+']').getParent('label');
							
							if(lblPrevious) { 
								lblPrevious.removeClass('laberror');
								lblPrevious.addClass('labmandatory');
							} else if(lblParent) {
								lblParent.removeClass('laberror');
								lblParent.addClass('labmandatory');
							}
							
						});
					}
					
					//elementi che diventano notrequired
					if(notrequired) {
						$each(notrequired.split(','), function(dipendenza){ 
	
							var lblPrevious = $$('input[name='+dipendenza+']').getPrevious('label');
							var lblParent = $$('input[name='+dipendenza+']').getParent('label');
							
							if(lblPrevious) {
								lblPrevious.removeClass('laberror');
								lblPrevious.removeClass('labmandatory');
							} else if(lblParent) {
								lblParent.removeClass('laberror');
								lblParent.removeClass('labmandatory');
							}
							
						});
					}
					
				}

				else if(((this.type=="text" || this.type=="textarea") && this.value == '') || (this.type=="checkbox" && !this.checked)) {	

					//elementi che diventano required
					if(required) {
						$each(required.split(','), function(dipendenza){ 
							var lblPrevious = $$('input[name='+dipendenza+']').getPrevious('label');
							var lblParent = $$('input[name='+dipendenza+']').getParent('label');
							
							if(lblPrevious) { 
								lblPrevious.removeClass('laberror');
								lblPrevious.removeClass('labmandatory');
							} else if(lblParent) {
								lblParent.removeClass('laberror');
								lblParent.removeClass('labmandatory');
							}
							
						});
					}
					
					//elementi che diventano notrequired
					if(notrequired) {
						$each(notrequired.split(','), function(dipendenza){ 
	
							var lblPrevious = $$('input[name='+dipendenza+']').getPrevious('label');
							var lblParent = $$('input[name='+dipendenza+']').getParent('label');
							
							if(lblPrevious) {
								lblPrevious.removeClass('laberror');
								lblPrevious.addClass('labmandatory');
							} else if(lblParent) {
								lblParent.removeClass('laberror');
								lblParent.addClass('labmandatory');
							}
							
						});
					}
					
				}
				
			});
			
		}
	});
	
	
}); //fine domready


function toggleAltroInput___piumaz(idelementChange,elementId){ 
	
	if($(idelementChange).getSelected().hasClass('aprialtro')=='true'){
		
		var mySize = $(idelementChange).getDimensions(true);
		var elemtofocus = elementId + '_input';
		
		$(elementId).setStyle('display','inline');
		
		$(elemtofocus).setStyle('display','inline-block');
		$(elemtofocus).setStyle('float','left');
		
		$(idelementChange).setStyle('display','none');
		
		var myCloseElement = new Element('a.chiudialtro', {
			html: '<span>[X]</span>', 
			href: 'javascript:void(0);', 
			styles: {
				'height': (mySize.height-2)+'px'
			}, 
			events: { 
				click: function() { 
					this.getNext('span').destroy();
					this.destroy();
					
					$(elemtofocus).set('value','');
					$(elementId).hide(); 
					$(idelementChange).selectedIndex = 0;
					$(idelementChange).setStyle('display','inline-block');
				}
			}
		}).inject($(elemtofocus), 'after'); 
		
		var myClearElement = new Element('span.clear').inject(myCloseElement, 'after');
		
		
		$(elemtofocus).setStyle('width', (mySize.width - 20));
		$(elemtofocus).focus();
	}
	else { 
		$(elementId).hide();
	}
}

function toggleAltroInput(idelementChange,elementId){
	if($(idelementChange).getSelected().hasClass('aprialtro')=='true'){
		var elemtofocus = elementId + '_input';
		$(elementId).setStyle('display','inline');
		$(elemtofocus).focus();
	}
	else $(elementId).hide();
}

function chiudi(){
	var SlideSegna= new Fx.Slide('divsegnala');
	SlideSegna.slideOut();
}

function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(email); 
}
