noFrames();
new Asset.css('/_skin/_css/portali/foto_addon.css');
window.addEvent('domready', runtime);

var actual = 0;
var thumbSize = 5;

var picSelected;
var previous;
var next;

document.ajaxOpened = false;

function runtime()
{
	new Tips( $$('#testo .alt') );
	new Tips( $$('#menuTopGrafico .alt') );
	
	if ($('sendPic')) sendPic();
	
	//gestione voti
	if ($('vota'))
	{
		$('vota').addEvent('click', vota);
	}
	
	//pulizia campo indirizzo sul click
	if ( $('frmIndirizzo') )
	{
		$('frmIndirizzo').addEvent('click', function()
		{
			$('frmIndirizzo').value = '';
		});
	}
	
	//gestione navigazione tra foto dalla home
	if ( $('btnNextPicHome') )
	{
		$('btnNextPicHome').addEvent('click', function()
		{
			document.location.href = './index.jsp';
		});
	}
	
	//gestione della navigazione tra foto
	if ( $('btnPrevPic') )
	{
		new Fx.Style('pic', 'opacity').start(0,1);
		
		$('pic').addEvent('load', function()
		{
			new Fx.Style('pic', 'opacity').start(0,1);
		});

		$('btnPrevPic').addEvent('click', function()
		{
			readThumbs();
			if (previous != null)
			{
				if (previous.getProperty('id') == 'btnPrevPage') document.location.href = previous.getProperty('href') + "&back=1";
				else document.location.href = previous.getProperty('href')
				/* disabilito json per la navigazione tra foto
				else
				{
					picSelected.removeClass('selected')
					previous.addClass('selected');
					extract( previous.getProperty('id') );
				}
				*/
			}
		});
		
		$('btnNextPic').addEvent('click', function()
		{
			readThumbs();
			if (next != null)
			{
				if (next.getProperty('id') == 'btnNextPage') document.location.href = next.getProperty('href');
				else document.location.href = next.getProperty('href')
				/* disabilito json per la navigazione tra foto
				else
				{
					picSelected.removeClass('selected')
					next.addClass('selected');
					extract(next.getProperty('id'));
				}
				*/
			}
		});
	}
	
	if (typeof(webcamPlugin) != "undefined")  webcamAdmin();
	else
	{
		var galleryWebcam = $('galleryWebcam');
		if (galleryWebcam)
		{
			galleryWebcam.addEvent('click', function(evt)
			{
				var event = new Event(evt);
				var target = $(event.target)
				
				showWebcam(target, event);
			});
		}
	}
}

function showWebcam(el, event)
{
	if ( (el.getTag() != 'img' && el.getProperty('class') != 'ftnome') || el.id == 'zImg') return;
	event.stop();
	
	var div = new Element('div');
	var infoSpan = el.getParent().getParent().getNext().getChildren();
	
	//se il div è ancora aperto, lo chiudo prima di procedere
	if (document.ajaxOpened) 
	{
		$('zChiudi').fireEvent('click');
	}
	
	if (!document.cachedAjax) 
	{
		new Ajax('/foto/_pages/_element/dettagli.htm', 
		{
			update: div,
			onSuccess: function() 
			{
				document.cachedAjax = div.clone();
				openDiv( div, el, infoSpan );
			}
		}).request();
	}
	else openDiv( document.cachedAjax.clone(), el, infoSpan )
}

function openDiv( div, el, infoSpan )
{
	var ajax = div.getFirst();
	var top = el.getTop() - $('galleryWebcam').getTop() - 150 + 'px';
	
	document.ajaxOpened = true;
	document.tImg = new Element('img');
	document.tImg.setAttribute('src', infoSpan[3].getText() );
	
	ajax.inject('galleryWebcam');
	
	$('zLinkImg').setAttribute('href', infoSpan[3].getText());
	$('zComune').setHTML(infoSpan[2].getText());
	$('zNome').setHTML(infoSpan[0].getText());
	
	if (infoSpan[4].getText().length > 1)
	{
		$('zFonte').setHTML(infoSpan[4].getText());
		$('zUrlFonte').setAttribute('href', infoSpan[5].getText());
	}
	else $('zUrlFonte').remove();
	
	$('zChiudi').addEvent('click', function()
	{
		document.ajaxOpened = false;
		document.tImg.removeEvent('load');
		document.tImg.src = null;
		document.tImg = null;
		ajax.remove();
	});
	
	$('zImg').addEvent('click', function()
	{
		$('zChiudi').fireEvent('click');
	});
	
	document.tImg.addEvent('load', function()
	{
		$('zImg').setAttribute('src', infoSpan[3].getText() );
	});
	
	ajax.setStyles (
	{
		'display': 'block',
		'top': top
	});
}

function readThumbs()
{
	picSelected = ( $$('#thumbs .selected')[0] != null ? $$('#thumbs .selected')[0] : $$('#thumbs a')[0] );
	
	previous = ( picSelected.getParent().getPrevious() ? picSelected.getParent().getPrevious().getFirst() : null );
	next = ( picSelected.getParent().getNext() ? picSelected.getParent().getNext().getFirst() : null );	
}

/*
function extract( id )
{
	if (id == null) return;
	var url = './json.jsp?pic=' + id.replace('pic', '');
	
	$('pic').setStyle('opacity', 0);
	$('foto').addClass('spinner');
	
	new Json.Remote(url, 
	{
		onComplete: function(result)
		{
			$('jsonTitoloPagina').setHTML(result.titolo);
			$('descrizione').setHTML(result.info);
			$('pic').src = result.image;
		}
	}).send();
}
*/

function vota()
{
	var id = $('voti').getProperty('class').replace('foto', '');
	var url = '/foto/vota.jsp?pic=' + id;
	
	$('smVoti').addClass('spinner');
	
	new Json.Remote(url, 
	{
		onComplete: function(result)
		{
			$('smVoti').removeClass('spinner');
			$('smVoti').setHTML(result.message);
			if (result.esito == true) $('voti').setHTML(result.voti);
			
		}
	}).send();
}

function sendPic()
{
	$('frmHash').addEvent('focus', function()
	{
		$('frmHash').addClass('loader');
		new Json.Remote('/foto/hash.jsp', 
		{
			onComplete: function(result)
			{
				$('frmHash').value = result.hash;
				$('frmHash').removeClass('loader');
			}
		}).send();
	});
	
	$('sendPic').addEvent('submit', function(e)
	{
		var err = false;
		var e = new Event(e);
		e.preventDefault();
		
		if ( $('frmAutore') ) if ( !$('frmAutore').getValue() ) 
		{
			err = true;
			$('frmAutore').addClass('error');
		}
		else 
		{
			$('frmAutore').removeClass('error');
			$('frmAutore').value = $('frmAutore').getValue().toLowerCase().capitalize();
		}
		
		if ( $('frmNome') ) if ( !$('frmNome').getValue() ) 
		{
			err = true;
			$('frmNome').addClass('error');
		}
		else
		{
			$('frmNome').removeClass('error');
			$('frmNome').value = $('frmNome').getValue().toLowerCase().capitalize();
		}
		
		if ( $('frmCognome') ) if ( !$('frmCognome').getValue() ) 
		{
			err = true;
			$('frmCognome').addClass('error');
		}
		else
		{
			$('frmCognome').removeClass('error');
			$('frmCognome').value = $('frmCognome').getValue().toLowerCase().capitalize();
		}
		
		if ( $('frmIndirizzo') ) if ( !$('frmIndirizzo').getValue() ) 
		{
			err = true;
			$('frmIndirizzo').addClass('error');
		}
		else
		{
			$('frmIndirizzo').removeClass('error');
			$('frmIndirizzo').value = $('frmIndirizzo').getValue().toLowerCase().capitalize();
		}
		
		if ( $('frmTelefono') ) if ( !$('frmTelefono').getValue() ) 
		{
			err = true;
			$('frmTelefono').addClass('error');
		}
		else $('frmTelefono').removeClass('error');
		
		if ( $('frmEmail') )if ( $('frmEmail').getValue() ) 
		{
			if (!$('frmEmail').getValue().match( /[a-z0-9\.-_]{2,}@[a-z0-9\.-_]{2,}\.[a-z0-9]{2,4}/ ))
			{
				err = true;
				$('frmEmail').addClass('error');
			}
			else $('frmEmail').removeClass('error');
		}
		else $('frmEmail').removeClass('error');
		
		if ( $('frmDescrizione') ) if ( !$('frmDescrizione').getValue() ) 
		{
			err = true;
			$('frmDescrizione').addClass('error');
		}
		else $('frmDescrizione').removeClass('error');
		
		if ( $('frmTitolo') ) if ( !$('frmTitolo').getValue() ) 
		{
			err = true;
			$('frmTitolo').addClass('error');
		}
		else $('frmTitolo').removeClass('error');
		
		if ($('frmData')) if ( $('frmData').getValue() ) 
		{
			if (!$('frmData').getValue().match(/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/))
			{
				err = true;
				$('frmData').addClass('error');
			}
			else $('frmData').removeClass('error');
		}
		else $('frmData').removeClass('error');
		
		if ( !$('frmHash').getValue() ) 
		{
			err = true;
			$('frmHash').addClass('error');
		}
		else $('frmHash').removeClass('error');
		
		if (!err) 
		{
			var frmSubmit = $('frmSubmit')
			frmSubmit.addClass('loader');
			frmSubmit.value = 'caricamento';
			frmSubmit.setStyle('padding-right', '15px');
			frmSubmit.setProperty('disabled', 'disabled');
			
			$('sendPic').submit()
		}
		
	});
}

function foo(){}
