var ajaxPath = "/ajax/";
var dWait = '<div id="divWait"><img src="/img/wait2.gif" vspace="20"></div>'

function goTo (sDestination) { if(sDestination.indexOf(".asp")==-1) {sDestination+=".asp"}; window.location=sDestination; }

function ajaxThis(sExec,sMetodo,cDestino,sParametros)
{ 
new Ajax.Updater(cDestino, 
				 sExec, { 
					method: sMetodo, 
					postBody: sParametros, 
					encoding: 'ISO-8859-1',
					onComplete : function(transport) { loadThumbs(); }
				}); 
}



function ajaxFormRedir(cDestino, accao, redirection, sParametros)
{
new Ajax.Request( ajaxPath+accao+".asp", {
				  method : "post",
				  postBody : sParametros,
				  encoding: 'ISO-8859-1',
				  onComplete : function(transport) {
					var sResposta = transport.responseText || '';
					if (sResposta=="ok")
						goTo(redirection);
					else {
						$(cDestino).innerHTML=sResposta;
						Effect.Appear(cDestino);
						Effect.Fade.delay(2, cDestino);
					}
		} } );
}



function ajaxModalRedir(cDestino, accao, redirection, sParametros)
{
new Ajax.Request( ajaxPath+accao+".asp", {
				  method : "post",
				  postBody : sParametros,
				  encoding: 'ISO-8859-1',
				  onComplete : function(transport) {
					var sResposta = transport.responseText || '';
					if (sResposta=="ok")
						goTo(redirection);
					else {
						$(cDestino).innerHTML=sResposta;
						Effect.Appear(cDestino);
						Effect.Fade.delay(2, cDestino);
					}
		} } );
}




 // Função para recuperar todos os campos de uma form
 function getParams(idForm)
 {
 var arrForm=Form.getElements(idForm);
 
 var resposta="";
 arrForm.each(function(formElement){
	switch(formElement.type.toLowerCase()) {
		case 'radio':
			if(formElement.checked==true) resposta+=formElement.name+"="+escape(formElement.value)+"&";
			break;
		case 'checkbox':
			resposta+=formElement.name+"="+escape(formElement.checked)+"&"
			break;
		default:
			resposta+=formElement.name+"="+escape(formElement.value)+"&"
	}	
	}); 	
return resposta;
}



// Funções para a actualização de comentários na ficha da foto
function ActualizaComentarios(divActualizar,idautor,idfoto)
{
   var objDiv=elem(divActualizar);
   var prm = "idautor=" + idautor + "&idfoto=" + idfoto
   ajaxThis("comentariosfoto.asp","post",objDiv,prm);
}


// envio de comentário
function enviaComentario(idForm, divActualizar, accao, path)
{
	var prm = getParams(idForm);
	
	$(divActualizar).insert( {top: '<div style="display: none;" id="novoComentario"></div>'} );
	var objDiv=$("novoComentario");
	ajaxThis("/ajax/"+accao,"post", objDiv, prm);
	
	getFoldDivClick(idForm,path);
	Effect.Appear.delay(1, 'novoComentario');
}


// envio de comentário
function enviaComentarioAutor(path)
{
	var idForm="frmComentario";
	var idDiv="divComentarAutor";
	var divActualizar="divComentariosWrap";
	var accao="comentarioAutorAdd.asp";
	var divACriar="novoCom";
	var prm = getParams(idForm);
	
	$(divActualizar).insert( {top: '<div style="display: none;" id="'+divACriar+'"></div>'} ); //
	var objDiv=$(divACriar);
	ajaxThis("/ajax/"+accao,"post", objDiv, prm);
	
	getFoldDivClick(idDiv,path);
	Effect.Appear.delay(1, divACriar);
	$(idForm).reset();
}


function enviaOpiniao(ida)
{
	var frmID='frmOpiniao';
	var divActualizar='divOpinioes';
	var divOp='op'+ida;
	var prm = getParams(frmID);
	
	if (!$(divOp))
	{
	$(divActualizar).insert( {top: '<div style="display: none;" id="'+divOp+'"></div>'} );
	}

	var objDiv=$(divOp);
	ajaxThis("/ajax/opiniaoadd.asp","post", objDiv, prm);
	
	/* getFoldDivClick(idForm,path); */
	getFoldDivClick(frmID,"/");
	Effect.Appear.delay(1, divOp);
}


// envio de votações
function vota(idForm)
{
	var prm = getParams(idForm);
	
	if(prm.indexOf("vSeq=T")>=0)
		{
		var objDiv=elem('vResult');
		ajaxFormRedir(objDiv, 'votoadd', "concursoseq.asp", prm)
		}
	else
		{
		var objDiv=elem('divVotacao');
		ajaxThis("/ajax/votoadd.asp","post", objDiv, prm);		
		}
}



// Funções para a actualização de fotos segundo o tema
function actualizaFotos(divActualizar,idAutor,idFiltro,tipo)
{
   var objDiv=elem(divActualizar);
   var prm = "ida=" + idAutor + "&idf=" + idFiltro + "&t=" + tipo
   
   objDiv.innerHTML=dWait;
   
   ajaxThis("/ajax/ajaxfotos.asp","post",objDiv,prm);
}

function fotoTemaDesafio(idDiv, idAutor, idFoto, idTema, tipo)
{
$(idDiv).className = ($(idDiv).className=="lstFotoOff pointer" || $(idDiv).className=="lstFotoNone pointer") ? "lstFotoOn pointer" : "lstFotoNone pointer"
var valor = ($(idDiv).className=="lstFotoNone pointer") ? '0' : idTema

   var objDiv=elem('flush');
   var prm = "ida=" + idAutor + "&idf=" + idFoto + "&idt=" + valor + "&t=" + tipo

   ajaxThis("/ajax/ajaxfotos.asp","post",objDiv,prm);
}

function actMarcas(tipo, msg)
{
if ($('listaEquipamentos')!=null) $('listaEquipamentos').update("");

$('divEquipamentos').update(msg);

chamaAjax('divMarcas','marcaslst.asp','t='+tipo.value+'&m=0&s=10');
Effect.Appear('divMarcas', { duration: 0.5 });
}

function actModelos(marca)
{
if ($('listaEquipamentos')!=null)
	{
	$('divEquipamentos').update("");
	chamaAjax('listaEquipamentos','equipamentolst.asp','t='+$('frmEquipamento').tipos.value+'&m='+marca.value+'&e=0');
	}
else
	{
	chamaAjax('divEquipamentos','equipamentolst.asp','t='+$('frmEquipamento').tipos.value+'&m='+marca.value+'&e=0&s=10&f=select');
	Effect.Appear('divEquipamentos', { duration: 0.5 });
	Effect.Appear('divAddBtn', { duration: 0.5 });
	}
}


function addEquipamento()
{
chamaAjax('divLstEqA', 'equipamentoautoradd.asp', 'e='+$('frmEquipamento').modelos.value+'&a='+$('frmEquipamento').idAutor.value);
Effect.Appear.delay(1, 'msgResult');
Effect.Fade.delay(3, 'msgResult');
Effect.Fade('divAddBtn', { duration: 0.5 });
Effect.Fade('divEquipamentos', { duration: 0.5 });
Effect.Fade('divMarcas', { duration: 0.5 });
setSeleccao('tipos', -1);
setSeleccao('marcas', -1);
setSeleccao('modelos', -1);
}


var oPasso=1;
function insFotoStep(direccao)
{
switch(oPasso)
{
	case 1 :	{
		// Se a foto foi validada, passa para o passo dois, senão repete o passo 1
		if ($('uplResult').innerHTML=="OK" && direccao=="seg")
			{
			$('step1').hide();
			Effect.Appear('btnAnt');
			Effect.Appear('btnSeg');
			Effect.Appear('step2');
			Effect.Appear('prTipo');
			oPasso++;
			}
		else
			{
			$('aFoto').innerHTML="";
			$('btnAnt').hide();
			$('btnSeg').hide();
			$('frmUpload').show();
			Effect.Appear('step1');
			oPasso=1;
			}
		break;
	}
	case 2 :	{
		// validar a galeria
		$('step2').hide();
		if (direccao=="seg")
			{
			Effect.Appear('step3');
			if ($('FS')) $('Abertura').value=$('FS').innerHTML;
			if ($('SS')) $('Velocidade').value=$('SS').innerHTML;
			if ($('IS')) $('ISO').value=$('IS').innerHTML;
			if ($('anoFoto')) $('Ano').value=$('anoFoto').innerHTML;
			if ($('mesFoto')) $('Mes').value=$('mesFoto').innerHTML;
			if ($('diaFoto')) $('Dia').value=$('diaFoto').innerHTML;
			$('step2').insert( {top: '<input type="hidden" name="fLarg" value="' + $('larg').innerHTML + '">'} );
			$('step2').insert( {top: '<input type="hidden" name="fAlt" value="' + $('alt').innerHTML + '">'} );			
			oPasso++;
			}
		else
			{
			$('aFoto').innerHTML="";
			$('btnAnt').hide();
			$('btnSeg').hide();
			$('frmUpload').show()
			Effect.Appear('step1');
			oPasso--;
			}
		break;
		}
	case 3 :	{
		// validar o formulário de dados
		if (direccao=="seg")
			{
			if($('idTema').value!=0)
				{
				$('idTema').style.backgroundColor='#ffffff';
				$('step3').hide();
				Effect.Appear('step4');
				oPasso++;
				}
			else
				$('idTema').style.backgroundColor='#ffffc0';
			}
		else
			{
			$('step3').hide();
			Effect.Appear('step2');
			oPasso--;
			}
		break;
		}
	case 4 :	{
		$('step4').hide();
		// marca de água
		if (direccao=="seg")
			{
			Effect.Appear('step5');
			$('btnSeg').hide()
			$('btnEnd').show()
			oPasso++;
			}
		else
			{
			Effect.Appear('step3');
			oPasso--;
			}
		
		break;
	}
	case 5 :	{
		// equipamento
		$('step5').hide();
		if (direccao=="end")
			{
			insereFoto();
			}
		else
			{
			Effect.Appear('step4');
			$('btnSeg').show()
			$('btnEnd').hide()			
			oPasso--;
			}
		
		break;
	}
}
return false;
}


function insereFoto()
{
var prm = getParams('frmInsereFoto2');
chamaAjax('insFotoWrap','fotoadd.asp',prm);
}

function forumReply(ida, idf, idt, idm, ttlR, ttlC)
{	
	if($('reply'+idm).visible()==false) 
		{
		chamaAjax('wrapperReply'+idm, 'frmforumpost.asp', 'ida='+ida+'&idf='+idf+'&idt='+idt+'&idm='+idm);
		$('btnResponderTxt'+idm).innerHTML=ttlC;
		}
	else
		{
		$('btnResponderTxt'+idm).innerHTML=ttlR;
		}

	Effect.toggle('reply'+idm, 'slide')
}

function forumNewThread(ida, idf, ttlR, ttlC)
{	
	if($('nTopico').visible()==false) 
		{
		chamaAjax('wrapperNTopico', 'frmforumpost.asp', 'ida='+ida+'&idf='+idf+'&idt=0&idm=0');
		$('btnNovoTxt').innerHTML=ttlC;
		}
	else
		{
		$('btnNovoTxt').innerHTML=ttlR;
		}

	Effect.toggle('nTopico', 'slide');
	Effect.ScrollTo('divTituloPaginaWrap');
}


// post no fórum
function postForum(idForm, idDiv, accao, btnID, btnIDTxt, btnLabel)
{
	
	var prm = getParams(idForm);
	// var objDiv=elem(idDiv);
	chamaAjax(idDiv, accao, prm);
	
	$(btnIDTxt).innerHTML=btnLabel;
	
	// chamaAjax.delay(3, "forumWrap", "forumtopicos.asp", prm)
	if ($('btnNovoTopico') != null) 
		{ Effect.ScrollTo.delay(0.5, 'divTituloPaginaWrap'); }
}

// subscrever / cancelar subscrição fórum
function toggleSubForum(act,ida,idf)
{
chamaAjax('forummsgdiv', 'forumsegueforum.asp', 'ida='+ida+'&idf='+idf+'&act='+act);

if (act=='sub')
	{
	Effect.toggle('subForum'+idf,'Appear', { duration: 0 });
	Effect.toggle('unsubForum'+idf,'Appear', { duration: 0.5 });
} else {
	Effect.toggle('unsubForum'+idf,'Appear', { duration: 0 });	
	Effect.toggle('subForum'+idf,'Appear', { duration: 0.5 });
}
	
}



function toggleSubThread(act,ida,idf,idt)
{
chamaAjax('forummsgdiv', 'forumseguetopico.asp', 'ida='+ida+'&idf='+idf+'&idt='+idt);

if (act=='sub')
	{
	Effect.toggle('subThread','Appear', { duration: 0 });
	Effect.toggle('unsubThread','Appear', { duration: 0.5 });
} else {
	Effect.toggle('unsubThread','Appear', { duration: 0 });	
	Effect.toggle('subThread','Appear', { duration: 0.5 });
}
	
}


// Função que executa o código ajax, devolvendo o resultado do script aExecutar para o objDestino especificado
function ajaxLogin(cDestino, sParametros)
{
new Ajax.Request( '/vlogin.asp', {
				  method : "post",
				  postBody : sParametros,
				  encoding: 'ISO-8859-1', 
				  onComplete : function(transport) {
					var sResposta = transport.responseText || '';
					$(cDestino).innerHTML=sResposta;
					verificaLogin();
		} } );
}

function vLogin()
{
	$('frmLoginResult').innerHTML="";
	
	if($('frmLoginResult').Visible!=true)
		Effect.Appear('frmLoginResult');
	
	var prm = getParams("frmLogin");
	var idDiv = "frmLoginResult";
	ajaxLogin(idDiv, prm);
}


function verificaLogin()
{
	if ($('frmLoginResult').innerHTML=="")
		{
		if($('frmLogin').ref.value!="")
			{
			var sLoc=$('frmLogin').ref.value;
			window.location=sLoc.replace("!","?").gsub("$","&");
			}
		else
			window.location="novidades.asp";
		}
	else
		Effect.Fade.delay(1,'frmLoginResult');
}



function insereSondagem()
{
	var prm = getParams("frmNovaSondagem");
	ajaxFormRedir("frmResult", "sondagemadd", "sondagens", prm)
}



function actualizaFeeds(idautor, ultimofeed, nfeeds, opcao)
{
	var prm = "ida=" + idautor + "&iduf=" + ultimofeed + "&nf=" + nfeeds + "&opc=" + opcao
	var idDiv = "f" + ultimofeed
	chamaAjax(idDiv, "feedsactualiza.asp", prm);
}

function capa(ida,idf,idt)
{
	var prm = "ida="+ida+"&idf="+idf+"&idt="+idt
	var objDiv=$('cp'+idf);
	ajaxThis("/ajax/capatemaadd.asp","post",objDiv,prm);	
}



google.load("language", "1");
function googleTranslate(idOrigem, idDestino, lOrigem, lDestino)
{
	if(lOrigem=="") { lOrigem="pt"; }
	if(lDestino=="") { lDestino="en"; }
	
	var oTexto = $(idOrigem).value;
	google.language.translate(oTexto, lOrigem, lDestino, function(result) 
		{
		var oTextoTraduzido = $(idDestino);
		if (result.translation) { $(idDestino).value = result.translation; }
		});
}



function googleTranslateDiv(idOrigem, idDestino, lOrigem, lDestino)
{
	if(lOrigem=="") { lOrigem="pt"; }
	if(lDestino=="") { lDestino="en"; }
	if(lOrigem=="auto") { lOrigem=""; }
	
	var oTexto = $(idOrigem).innerHTML;
	google.language.translate(oTexto, lOrigem, lDestino, function(result) 
		{
		if (result.translation) { 
			$(idDestino).innerHTML = result.translation; 
			google.language.getBranding('gBranding'); 
			$('gBranding').show; 
			}
		});
}



function googleIsTranslatable(sLang)
{
	return google.language.isTranslatable(sLang);
}



function chamaAjax(idDiv, accao, prm)
{
	var objDiv=$(idDiv);	
	if (objDiv != null) {
		$(idDiv).update(dWait);
		ajaxThis("/ajax/"+accao,"post",objDiv,prm);	
	}
}
