var deixarRotacionarAtracoesDestaques = true;
var posicaoSel = 1;
var statusBox=0;


function trunc(phrase, tamanho_max)
{
   var original = phrase;
   var palavras = phrase.split(' ');
   var tamanho = 0;
   var max_words = 0;
   for (var x=0; x<palavras.length; x++) {
   		tamanho += palavras[x].length;
   		if (tamanho<tamanho_max){
   			phrase = array_slice(palavras, 0, max_words).join(' ')+'...';
   		}
   		if (max_words==palavras){
   			phrase = original;
   		}
   		max_words++;
   }
   return phrase;
}
function expandirDescricao() {
	var fb = new FloatBox('Descrição', descricao, 400, 300);
	fb.setAlinhamento('justify');
	fb.abrir();
}
var descricao;
function truncarDescricao() {
	descricao = document.getElementById("descricao").innerHTML;

    descri = descricao.match(/(<\/?[^>]+>)/gi);
    var descricao_copia = descricao;
    for (desc in descri) {
        if (isNaN(desc)) {
            continue;
        }
        descricao_copia = descricao_copia.split(descri[desc]).join('');
    }
    
    document.getElementById("descricao").innerHTML = trunc(descricao_copia,280);
}
function array_slice(arr, offst, lgth, preserve_keys) {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir
    // -    depends on: is_int
    // %          note: Relies on is_int because !isNaN accepts floats 
    // *     example 1: array_slice(["a", "b", "c", "d", "e"], 2, -1);
    // *     returns 1: {0: 'c', 1: 'd'}
    // *     example 2: array_slice(["a", "b", "c", "d", "e"], 2, -1, true);
    // *     returns 2: {2: 'c', 3: 'd'}
 
    /*
    if ('callee' in arr && 'length' in arr) {
        arr = Array.prototype.slice.call(arr);
    }
    */
 
  if (!(arr instanceof Array) || (preserve_keys && offst != 0)) { // Assoc. array as input or if required as output
    var lgt =0, newAssoc = {};
    for (var key in arr) {
      //if (key !== 'length') {
        lgt += 1;
        newAssoc[key] = arr[key];
      //}
    }
    arr = newAssoc;
    
    offst = (offst < 0) ? lgt + offst : offst;
    lgth  = lgth == undefined ? lgt : (lgth < 0) ? lgt + lgth - offst : lgth;
    
    var assoc = {};
    var start = false, it=-1, arrlgth=0, no_pk_idx=0;
    for (var key in arr) {
        ++it;
        if (arrlgth >= lgth) {
          break;
        }
        if (it == offst){
          start = true;
        }
        if (!start) {
           continue;
        }
        ++arrlgth;
        if (is_int(key) && !preserve_keys) {
                assoc[no_pk_idx++] = arr[key];
        } else {
            assoc[key] = arr[key];
        }
    }
    //assoc.length = arrlgth; // Make as array-like object (though length will not be dynamic)
    return assoc;
  }
    
    if (lgth === undefined) {
        return arr.slice(offst);    
    } else if (lgth >= 0) {
        return arr.slice(offst, offst + lgth);
    } else {
        return arr.slice(offst, lgth);
    }
    
}

function selecionarTempo() {
	selecionarAbaGadget(1);
}
function selecionarMoeda() {
	selecionarAbaGadget(2);
}
function selecionarHorario() {
	selecionarAbaGadget(3);
}
function selecionarInformacoes() {
	selecionarAbaInfo(1);
}
function selecionarMapa() {
	selecionarAbaInfo(2);
}

function selecionarAbaInfo(num_aba) {
	document.getElementById("aba_info_1").className = '';
	document.getElementById("aba_info_2").className = '';
	
	document.getElementById("aba_info_"+num_aba).className = 'active';
	
	document.getElementById("info_1").style.display = 'none';
	document.getElementById("info_2").style.display = 'none';
	
	document.getElementById("info_"+num_aba).style.display = '';
	
	if (num_aba==2 && document.getElementById("mapa_lugar").innerHTML=='') {
		mostrarMapa(latitude,longitude, 'mapa_lugar', 12, 'cidade');
	}
}

function selecionarAbaGadget(num_aba) {
	document.getElementById("aba_gadget_1").className = '';
	document.getElementById("aba_gadget_2").className = 'center';
	document.getElementById("aba_gadget_3").className = '';
	
	document.getElementById("aba_gadget_"+num_aba).className += ' active';
	
	document.getElementById("gadget_1").style.display = 'none';
	document.getElementById("gadget_2").style.display = 'none';
	document.getElementById("gadget_3").style.display = 'none';
	
	document.getElementById("gadget_"+num_aba).style.display = '';
}
function rotacionarAtracoesDestaques() {
	if (deixarRotacionarAtracoesDestaques) {
		if (posicaoSel==posicaoMaximaSel) selecionarPosicaoAtracaoDestaque(1);
		else selecionarPosicaoAtracaoDestaque(parseInt(posicaoSel)+1);
		var t = setTimeout("rotacionarAtracoesDestaques()",5000);
	} else {
		var t = setTimeout("rotacionarAtracoesDestaques()",1000);
	}
}
function selecionarPosicaoAtracaoDestaque(posicao) {
	for (var x=1; x<=posicaoMaximaSel; x++) {
		document.getElementById("ad_thumb_"+x).className = '';
	}
	document.getElementById("ad_thumb_"+posicao).className = 'active';
	posicaoSel = posicao;
	document.getElementById("img_atracao_destaque").src = '/imagens/atracao/'+codigosDestaques[posicao-1]+'-g.jpg';
}
function passaHorario(fuso) {
	var horario_atual = document.getElementById("horario_atual").innerHTML;
	var horario_atual_array = horario_atual.split(':');
	
	var hora = parseInt(horario_atual_array[0],10);
	var minuto = parseInt(horario_atual_array[1],10);
	var segundo = parseInt(horario_atual_array[2],10);
	var fuso_array;
	if(typeof(fuso)!='undefined') {
		fuso_array = fuso.split(':');
		hora += parseInt(fuso_array[0]);
		minuto += parseInt(fuso_array[1]);
	}
	
	segundo++;
	
	if (segundo>=60) {
		segundo = 0;
		minuto++;
	}
	if (minuto>=60) {
		minuto = 0;
		hora++;
	}
	if (hora==24) {
		hora=0;
	} else if (hora>24) {
		hora = hora - 24;
	}
	if (hora<=9) hora = '0'+hora;
	if (minuto<=9) minuto = '0'+minuto;
	if (segundo<=9) segundo = '0'+segundo;
	document.getElementById("horario_atual").innerHTML = hora+':'+minuto+':'+segundo;
	setTimeout('passaHorario()',1000);
}
var emblemasSelecionados;
var ultimo_emblema = 0;
var numeroEmblemasSelecionados = 0;
function selecionarEmblema(cod_emblema) {
	if (document.getElementById("emb_"+cod_emblema).className=='selected') marcarEmblema(cod_emblema,false);
	else {
		if (numeroEmblemasSelecionados>=5) {
			marcarEmblema(ultimo_emblema,false);
		}
		marcarEmblema(cod_emblema,true);
	}
	
}
function marcarEmblema(cod_emblema,marcar) {
	if (marcar) {
		document.getElementById("emb_"+cod_emblema).className = 'selected';
		var selemb = false;
		for (var x=0; x<emblemasSelecionados.length; x++) {
			if(emblemasSelecionados[x]=='') {
				emblemasSelecionados[x] = cod_emblema;
				selemb = true;
				break;
			}
		}
		if (selemb==false) {
			emblemasSelecionados[numeroEmblemasSelecionados] = cod_emblema;
		}
		ultimo_emblema = cod_emblema;
		numeroEmblemasSelecionados++;
	}
	else {
		document.getElementById("emb_"+cod_emblema).className = '';
		numeroEmblemasSelecionados--;
		for (var x=0; x<emblemasSelecionados.length; x++) {
			if (emblemasSelecionados[x]==cod_emblema) emblemasSelecionados[x] = '';	
		}
	}
}

function reload_page()
{
    location.reload(true)
}

function votarEmblemas() {
	var numeroSelecionados = 0;
	for (var x=0; x<emblemasSelecionados.length; x++) {
		if (emblemasSelecionados[x]!='') {
			numeroSelecionados++;
		}
	}
	if (numeroSelecionados>=1 && numeroSelecionados<=5) {
		$.post('/includes/ajax/lugares/votar-emblemas.php',{
			'emblemas[]': emblemasSelecionados, 
			'cod_item': cod_lugar},
			function (resposta) { 
				if (resposta=='sucesso') { 
					var fb = new FloatBox('Voto','Voto computado com sucesso.');
					fb.abrir();
                                        reload_page();
				} 
				else if (resposta=='nao-logado') { 
					naoLogado(); 
				} 
				else { 
					var fb = new FloatBoxAlert(); 
					fb.msgErro('Houve um problema e o voto n&atilde;o foi computado.'); 
					fb.abrir(); 
				}  
		$("a.bt-vote").click(); });
	}
}
function emblemasSel(resposta) {
	if (getCookie("ejfcodusuario")!=null) {
		if (typeof(resposta)=='undefined' && typeof(emblemasSelecionados)=='undefined') $.get('/includes/ajax/lugares/lista-emblemas-votados.php',{lugar: cod_lugar},function (resposta) { var resposta_array = resposta.split('|'); emblemasSel(resposta_array) });
		else {
			if (typeof(emblemasSelecionados)=='undefined') {
				emblemasSelecionados = new Array();
				for (var x=0; x<resposta.length; x++) {
					if (resposta[x]!='' && parseInt(resposta[x])!=0) selecionarEmblema(parseInt(resposta[x]));
				}
			}
		}
	} else {
		document.getElementById("votebox").innerHTML = '<span>Para participar da votação é necessário ter cadastro no site. Caso você já tenha, <a href="/usuarios/login.php">clique aqui para entrar</a>,<br /> ou <a href="/usuarios/cadastro.php">cadastre-se</a> agora mesmo.</span>';
	}
}


function showHint(embl) {
	if (embl==hintToShow) {
		document.getElementById("emblem-info").innerHTML = document.getElementById("desc_emb_"+embl).innerHTML;
		$("#emblem-info").slideDown("fast");
	}
	
}

/*
 * Altera o status de exibição do menu de emblemas
 *************************************************************/
function trocarStatusEmb() {
	
	//O menu com a lista de emblemas disponíveis está aberto
	if(statusBox==1){
		$("#votebox").slideUp("fast");
		statusBox=0;
	}
	
	//O menu com a lista de emblemas está fechado
	else if(statusBox==0){
		emblemasSel();
        $("#votebox").slideDown("slow");
        statusBox=1;
	}
}


function gerenciarPopUpEmblemas(){
	$("#vt-emb").click(
      function () {
      	trocarStatusEmb();
      }
	);
}

function verificarEstouDeOlho(codLugar){
	if (getCookie("ejfcodusuario")!=null) {
		fbRequisicao = new FloatBox('Seguir', '<form id="comment" onsubmit="javascript:seguirLugar('+codLugar+'); return  false;"> <ol> <li style="height:auto;">Você deseja receber atualizações das alterações deste lugar?</li> </ol> </form>');
	    fbRequisicao.altura = 60;
	    fbRequisicao.botaoOk('seguirLugar(' +codLugar+ ')');
	    fbRequisicao.botaoCancel();
	    fbRequisicao.abrir();
	}else {
		naoLogado();
	}
}



function seguirLugar(codLugar){
	
		var url = '/includes/ajax/lugares/seguir-lugar.php';
	
		$.get(url,{
				'cod_lugar': codLugar},
			function segReceive(resposta){
				resposta = resposta.split("|");
			
				if (resposta[0]=='nao-logado') {
					naoLogado(); 
				} 
				else { 
					if(resposta[0]=='seg_sucess'){
						var fb = new FloatBox('Lugar seguido com sucesso','Você acabou de ficar de olho nesse lugar');
						fb.abrir();
					}
					else{
						if(resposta[0]=='seg_fail'){
							var fb = new FloatBoxAlert(); 
							fb.msgErro('Não é possível seguir esse lugar.', 'Verifique se você já não o está seguindo'); 
							fb.abrir(); 
						}
					}
				}
			});
	
}

$(document).ready(function(){
	gerenciarPopUpEmblemas();

	$(".img-emblema").hover (
		function() {
			var cod_emblema = this.id.split('emb_');
			cod_emblema = cod_emblema[1];
			window.hintToShow = cod_emblema;
			setTimeout('showHint(\''+cod_emblema+'\')',1000);
		},
		function() {
			window.hintToShow = 0;
			$("#emblem-info").slideUp("fast");
		}
	);
});