var services = 'scripts/cclara.php'

function changeURL(event)
	{
	var pathName=event.pathNames;
	if(pathName[0] != 'agenda')
		{
		$('painelmeio').removeClassName('painelmeio_agenda');
		$('paineldir').show();
		}
	var arquivo = 0;
	var agenda = 0;
	if(Object.isElement($('divMeses')))
		{
		arquivo = 1;
		}
	else
		{
		arquivo = 0;
		}
	if(Object.isElement($('divSemana')))
		{
		agenda = 1;
		}
	else
		{
		agenda = 0;
		}
	$$('.menu_item').each( function(s) {
			if(s.hasClassName('menu_item_activo'))
				s.removeClassName('menu_item_activo');
		});


	switch(event.path)
		{
		case '/':
		case '/home/':
			initHome();
			break;
		case '/agenda/':
			getAgenda();
			break;
		case '/arquivo/':
			getArquivo();
			break;
		case '/programa/':
			getPrograma();
			break;
		case '/parceiros/':
			getParceiros();
			break;
		case '/equipa/':
			getEquipa();
			break;
		case '/mailinglist/':
			getMailingList();
			break;
		default:
			var pathName = event.pathNames;
			if(pathName[0] == 'arquivo')
				{
				$('menuArquivo').addClassName('menu_item_activo');
				if(arquivo==0)
					{
					getArquivo(pathName[1]);
					}
				else
					{
					getArquivoPrograma(pathName[1]);
					}
				}
			else if(pathName[0] == 'agenda')
				{
				$('menuAgenda').addClassName('menu_item_activo');
				if(agenda==0)
					{
					if(pathName[2] == null)
						{
						getAgenda(pathName[1],1);
						}
					else
						{
						getAgenda(pathName[1],0);
						agendaAlteraDia(pathName[2]);					
						}
					}
				else
					{
					if (pathName[2] == null) 
						{
						agendaAlteraSemana(pathName[1], 1);
						}
					else
						{
						agendaAlteraSemana(pathName[1],0);
						agendaAlteraDia(pathName[2]);						
						}
					}
				}
			break;
		}
	}
	
function initHome()
	{
	$('menuHome').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/HOME_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getHomeContents'
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update(resposta['dir']);
				}
			});
	}
	
function getAgenda(semana,abre_dia_default)
	{
	abre_dia_default = typeof(abre_dia_default) != 'undefined' ? abre_dia_default : 1;
	$('menuAgenda').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/AGENDA_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getAgenda',
				s: semana,
				d: abre_dia_default
				},
			onSuccess: function(req) {
				// Altera o layout para a Agenda
				$('painelmeio').addClassName('painelmeio_agenda');
				$('paineldir').hide();
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update('');
				}
			});
	}

function agendaAlteraSemana(semana,abre_dia_default)
	{
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'agendaAlteraSemana',
				s: semana,
				d: abre_dia_default
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('divSemana').update(resposta);
				}
			});
	// Retira highlight de todos
	$$('.agendaSemana').each( function(s) {
				if(s.hasClassName('agendaSemana_activo'))
					s.removeClassName('agendaSemana_activo');			
			});
	// Atribui highlight ao seleccionado
	$('divSemana'+semana).addClassName('agendaSemana_activo');
	
	// Verifica se o slider do mês está aberto
	var pai = $('divSemana'+semana).ancestors();
	if(!(pai[1].visible()))
		{
		fechaSliders('agendaMesEsq',pai[1].identify());
		Effect.toggle(pai[1].identify(), 'slide');
		$(pai[1].identify()).previous('.sliderLink').addClassName('activo'); 
		}
	}

function agendaAlteraDia(dia)
	{
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'agendaAlteraDia',
				d: dia
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('conteudoDia').update(resposta);
				}
			});
	// Retira highlight a todos
	$$('.divAgendaMenuDia').each( function(s) { 
					if(s.hasClassName('diaAgendaMenuDia_activo'))
						s.removeClassName('diaAgendaMenuDia_activo');
				});
	}
	
function getArquivo(numero)
	{
	$('menuArquivo').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/ARQUIVO_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getArquivo',
				n: numero
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update(resposta['dir']);
				}
			});
	}
	
function getArquivoPrograma(numero)
	{
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getArquivoPrograma',
				n: numero
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('divPrograma').update(resposta['meio']);
				$('recomendacoes').update(resposta['dir']);
				}
			});
	
	var divs = $$('.divArquivoPrograma');
	//alert(divs.length);
	divs.each(function(s) {
				if(s.hasClassName('divArquivoPrograma_activo'))
					s.removeClassName('divArquivoPrograma_activo');
			});
	//$('div'+numero).addClassName('divArquivoPrograma_activo');
	}
	
function arquivoAlteraAno(ano)
	{
	if($('arquivoMenuAnos2006').hasClassName('arquivoMenuAnos2006_active'))
		$('arquivoMenuAnos2006').removeClassName('arquivoMenuAnos2006_active');
	if($('arquivoMenuAnos2007').hasClassName('arquivoMenuAnos2007_active'))
		$('arquivoMenuAnos2007').removeClassName('arquivoMenuAnos2007_active');
	if($('arquivoMenuAnos2008').hasClassName('arquivoMenuAnos2008_active'))
		$('arquivoMenuAnos2008').removeClassName('arquivoMenuAnos2008_active');
	if($('arquivoMenuAnos2009').hasClassName('arquivoMenuAnos2009_active'))
		$('arquivoMenuAnos2009').removeClassName('arquivoMenuAnos2009_active');
	if($('arquivoMenuAnos2010').hasClassName('arquivoMenuAnos2010_active'))
		$('arquivoMenuAnos2010').removeClassName('arquivoMenuAnos2010_active');
		
	$('arquivoMenuAnos'+ano).addClassName('arquivoMenuAnos'+ano+'_active');
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'arquivoAlteraAno',
				a: ano
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('divMeses').update(resposta['esq']);
				}
			});
	}

function getPrograma()
	{
	$('menuPrograma').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/PROGRAMA_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getPrograma'
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update(resposta['dir']);
				$('TV').setStyle({display:'block'});
				$('TV').previous('.sliderLink').addClassName('activo');
				}
			});
	}

function getParceiros()
	{
	$('menuParceiros').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/PARCEIROS_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getParceiros'
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update(resposta['dir']);
				}
			});
	}


function getEquipa()
	{
	$('menuEquipa').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/EQUIPA_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getEquipa'
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update(resposta['dir']);
				}
			});
	}


function getMailingList()
	{
	$('menuMailingList').addClassName('menu_item_activo');
	$('fundo').setStyle({ background:'url(images/MAILING_01.jpg) no-repeat'});
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'getMailingList'
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('painelesq').update(resposta['esq']);
				$('painelmeio').update(resposta['meio']);
				$('paineldir').update(resposta['dir']);
				}
			});
	}


function enviarComentario(form)
	{
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'submitComment',
				id_programa: $('id_programa').getValue(),
				nome: $('nome').getValue(),
				email: $('email').getValue(),
				localidade: $('localidade').getValue(),
				comentario: $('comentario').getValue()
				},
			onCreate: function(req) {
				$('loader').setStyle({display:'inline'});
			},
			onSuccess: function(req) {
				new Effect.Fade('divForm', {
							afterFinish: function(event) {
								$('divForm').setStyle({display:'block'});
								$('divForm').update(req.responseText);
								new Effect.Highlight('divForm', {
											startcolor: '#EC7106',
											endcolor: '#000000'
											});
							}
						});
			} 
		});
	}

function subscreverMailingList(form)
	{
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'subscribeMailingList',
				nome: $('nome').getValue(),
				apelido: $('apelido').getValue(),
				email: $('email').getValue(),
				localidade: $('localidade').getValue(),
				pressRelease: $('pressRelease').getValue(),
				agendaCultural: $('agendaCultural').getValue()
				},
			onCreate: function(req) {
				$('loader').setStyle({display:'inline'});
			},
			onSuccess: function(req) {
				new Effect.Fade('divForm', {
							afterFinish: function(event) {
								$('divForm').setStyle({display:'block'});
								$('divForm').update(req.responseText);
								new Effect.Highlight('divForm', {
											startcolor: '#BF1FFE',
											endcolor: '#000000'
											});
							}
						});
			} 
		});
	}
	
function fechaSliders(classe_paineis,painel_para_abrir)
	{
	$$('div.'+classe_paineis).each( function(s) {
						if(s.visible() && s.identify() != painel_para_abrir)
							{
							s.previous('.sliderLink').removeClassName('activo');
							new Effect.toggle(s, 'slide', {queue:'end', duration:'0.5'});
							}
						if(s.identify() == painel_para_abrir)
							if(s.visible())
								{
								s.previous('.sliderLink').removeClassName('activo');
								}
							else
								{
								s.previous('.sliderLink').addClassName('activo');								
								}
					});
	}
	
function toggleComentarios() {
	if($('comentarios').visible())
		$('comentarios').previous('.comentarios').removeClassName('activo');
	else
		$('comentarios').previous('.comentarios').addClassName('activo');
}

function refreshComments(programa_id)
	{
	new Ajax.Request(services, {
			method:'post',
			parameters: {
				m: 'refreshComments',
				id: programa_id
				},
			onSuccess: function(req) {
				resposta = req.responseText.evalJSON();
				$('divNrComentarios').update(resposta['nr_comentarios']);
				$('comentarios').update(resposta['comentarios']);
				}
			});
	}
	
function startSearchAgenda(value) {
	if(value.length > 0) {
		new Ajax.Request(services, {
				method:'post',
				parameters: {
					m: 'startSearchAgenda',
					s: value
					},
				onSuccess: function(req) {
					resposta = req.responseText.evalJSON();
					$('searchResults').update(resposta);
					
					if(!$('searchResults').visible())
						$('searchResults').slideDown();
					}
				});
	}
	else
	{
		if($('searchResults').visible())
			$('searchResults').slideUp();
	}
}

function startSearchArquivo(value,span) {
	if(value.length >= 3) {
		new Ajax.Request(services, {
				method:'post',
				parameters: {
					m: 'startSearchArquivo',
					s: value,
					sp: span
					},
				onSuccess: function(req) {
					resposta = req.responseText.evalJSON();
					$('searchResults').update(resposta);
					
					if(!$('searchResults').visible())
						$('searchResults').slideDown();

					}
				});
	}
	else if(value.length > 0 && value.length < 3) {
		$('searchResults').update('<div class="inner_inner">Escreva no m&iacute;nimo 3 caracteres para pesquisar.</div>');

		if(!$('searchResults').visible())
			$('searchResults').slideDown();
	}
	else {
		if($('searchResults').visible())
			$('searchResults').slideUp();
	}
}

function checkKey(event,seccao) {
	if(event.keyCode == 13)
	{
		if(seccao == "arquivo")
			startSearchArquivo(event.target.value,0);
		else if(seccao == "agenda")
			startSearchAgenda(event.target.value);
	}
}