var JPORTAL = window.JPORTAL ||{};
//alert('JPORTAL:'+JPORTAL)
JPORTAL.namespace = function(_1){
    if (!_1 || !_1.length) {
        return null;
    }
    var _2 = _1.split(".");
    var _3 = JPORTAL;
    for (var i = (_2[0] == "JPORTAL") ? 1 : 0; i < _2.length; ++i) {
        _3[_2[i]] = _3[_2[i]] ||
        {};
        _3 = _3[_2[i]];
    }
    return _3;
};
JPORTAL.namespace("Util");
JPORTAL.namespace('Usabilidade');
JPORTAL.namespace('Lib');
JPORTAL.namespace('Interface');
JPORTAL.namespace('BLOCOTEMPLATE');

JPORTAL = {
	rootPath          : "/jportal/",
    BlocoTemplatePath : "/jportal/blocoTemplate/",
    BlocoTemplatePost : "post.jsf",
    params            : "ajax=true"
}

JPORTAL.Interface = {
	player : function(idObjeto, pathVideo, largura, altura, logomarca, url_video){
				if(typeof(SWFObject)!='function'){
					throw new Error("Para utilizar este recurso vocï¿½ precisa ter a biblioteca SWFObject declarada. Para declarar, basta adicionar a linha com script correspondente no HEAD do seu codigo html.");
				}

				if ( typeof(idObjeto)!='string' || idObjeto == undefined || typeof(pathVideo)!= 'string' || pathVideo == undefined ) {
					throw new Error("Para instanciar JPORTAL.Interface.player voce precisa passar os seguintes parametros: id do OBJETO, idVideo.");
				}


				// O player novo estï¿½ dando problema no IE 6.
				// Por enquanto, quem usa IE 6 vai carregar o player antigo.
				/*if (jQuery.browser.msie && jQuery.browser.version == '6.0') {
					var url_player = "/jportal/swf/mediaplayer.swf";
				} else {*/
					var url_player = "/jportal/swf/mediaplayer_novo.swf";
				//}

				var url_video     = (url_video==undefined || url_video=='') ? '/jportal/blocoTemplate/playlist.jsf?video='+pathVideo : url_video;
				var url_video     = url_video+'.flv';

				//alert("idObjeto:"+ idObjeto+ ", pathVideo"+pathVideo+", largura:"+largura+", altura:"+altura+", logomarca "+ logomarca+", url_video:"+url_video);

				pathStreamer  = "http://stream02.memes.com.br/memes";

				var largura       = (largura==undefined) ? '320' : largura;
				var altura        = (altura==undefined)  ? '260'  : altura;

				var imagem_buffer = "/jportal/img/"+pathVideo+'.jpg';
				var logomarca     = (logomarca==undefined) ? "/jportal/imgs/logo_swf.png" : logomarca;

				// window.onload = function(){
				var s1 = new SWFObject(url_player ,idObjeto, largura, altura ,"7", false, undefined, undefined, {id:""+idObjeto+"",name:""+idObjeto+""});
				    s1.addParam('allowfullscreen', 'true');
				    s1.addParam('allowscriptaccess', 'always');
				    s1.addVariable('streamer', 'lighttpd');
				    s1.addVariable('controlbar', 'over');
				    //s1.addVariable("file","playlist.php?id=");
				    s1.addVariable('file', url_video);
				    s1.addVariable("logo", logomarca);
				    s1.addVariable("repeat","true");
				    s1.addVariable("showdigits","false");
				    //s1.addVariable("skin","/jportal/swf/skin.swf");

				    //s1.addVariable('bufferlength', '5');
				    s1.addVariable("width",largura);
				    s1.addVariable("height",altura);
				    s1.addVariable("displaywidth",largura);
				    s1.addVariable("displayheight",altura);
					s1.write(""+idObjeto+"");
				// }
	},

	marcadagua : function(obj){
					if (typeof(obj)!='object' || obj == undefined) {
						throw new Error("Para instanciar MARCADAGUA voce precisa passar o OBJETO como parametro.");
					}
					obj.fadeTo("slow", 0.6);
	},
	slideshow : function(objId) {
					if (typeof(objId)!='string' || objId == undefined) {
						throw new Error("Para instanciar SLIDESHOW voce precisa passar o argumento 'objId' contendo uma STRING.");
					}

					$('div#'+objId).attr("style","display:block;z-index:0");
					$('div#'+objId).cycle({
						fx: 'fade',
						pause: 1,
						delay: -2000,
						pager: '#paginacao'
					});
					$("#paginacao a").corner("2px");
				}
}

JPORTAL.BLOCOTEMPLATE = function(nomeArquivo, path, params){
    if (path == undefined || nomeArquivo == undefined) {
        throw new Error("Para instanciar BLOCOTEMPLATE voce precisa setar pelo menos 2 argumentos: path e nomeArquivo.");
    }
    this.path        = path;
    this.nomeArquivo = nomeArquivo;
    this.params      = params;
	this.urlBloco    = this.path + this.nomeArquivo;
	this.url         = (this.params == undefined) ? this.urlBloco : this.urlBloco + "?" + this.params;
}

JPORTAL.Usabilidade = {
    posicionaTela: function(objId){
//		alert('tipo:'+ typeof(objId) + '; \nobjeto'+objId);
		if(typeof(objId)!='string'){
			throw new Error("JPORTAL.Usabilidade.posicionaTela: Objeto passado nï¿½o ï¿½ string");
		}
        // objId ï¿½ o id do objeto que serï¿½ tomado como referencia (topo)
        var topo = $("#" + objId).offset().top;
        $.scrollTo(topo, {
            speed: 1000
        });
        return false;
    }
}

JPORTAL.Util = {
	extensao : function(objA){ // pega a extensï¿½o do arquivo (url)
		return objA.attr("href").split(".")[$(this).length];
	},
    queryString: function(url){
        if (!url)
            throw new Error('JPORTAL.Util.queryString: o parï¿½metro "url" nï¿½o existe ou foi passado incorretamente.');

        if (typeof(url) == 'string')
            return url.split("?")[1];

    },
    mostrar_submenu: function(obj){
        // esta funï¿½ï¿½o pega o valor do atributo "style" e verifica se ï¿½ display: "none", caso positivo ele manda exibir ou ocultar conforme necessidade
        var submenu = obj.children("ul");
        if (submenu.attr("style")) {
            var styleDisplay = $.trim(submenu.attr("style").split(":")[1]); // pegando o valor do atributo "Style". Ex: style='display : none', ele dï¿½ split no "display:none" e pega o segundo elemento: "none";
            styleDisplay = styleDisplay.replace(/\;/, ""); // retirando ponto e virgula se existir
        }
        else {
            var styleDisplay = "none";
        }

        if (styleDisplay == "none" || styleDisplay == undefined) {
            obj.addClass("atual");
            submenu.show();
        }
        else {
            submenu.hide();
        }
    },
    ValidateLogin: function(){
        var quantidade_caracteres_login = $("div#area_institucional_off input[name='login']").val().length;
        var quantidade_caracteres_senha = $("div#area_institucional_off input[name='senha']").val().length;
        retorno = (quantidade_caracteres_login > 0 && quantidade_caracteres_senha > 0) ? true : false;

        if (!retorno) {
            $("div#area_institucional_off il").fadeTo("slow", 1);
            $("div#carregando_usuario").slideUp("slow");
            $("div#carregando_usuario").addClass("oculto");
            $("div#area_institucional_off p#erro").removeClass("oculto");
        }

        return retorno;
    },

    ValidateAlterarSenha: function(){
		// TODO: Usar ajax para pegar mensagem de retorno
    },

    log: function(text, objLog){
        if (text = undefined) {
            throw new Error("UTIL.log : texto de log nï¿½o informado");
        }

        if (objLog == undefined) {
            document.write(text);
        }
        else {
            document.getElementById(objLog).innerHTML += "<br/>" + text;
        }
    }
}

JPORTAL.Lib = {}

$(document).ready(function(){

	if (window.screen.width < 801) {
		//alert(typeof(window.screen.width));
    	$("#portal").addClass("resolucao800x600");
	}
    try {
        // SIMULADO
		if ($("#simulado>form>ul>li>label") != undefined) {
			$("#simulado>form>ul>li>label").click(function(){
				$obj_li = $(this).parent("li");
				$(this).parent("li").children("input").attr("checked", "checked");
				JPORTAL.Util.mostrar_submenu($obj_li);		
			})
		}

		$(".area").change(function() {
			$(".subArea").attr("checked", "");
			$("label.sub").css("background", "#FFF");
			
			if(this.checked){
				$(this).parent("label.sub_1").css("background", "#dffce2");
			}else{
				$(this).parent("label.sub_1").css("background", "#FFF");
			}
			
		});
        
		$(".subArea").change(function() {
			$(".area").attr("checked", "");
			$("label.sub_1").css("background", "#FFF");
			$rel = $(this).attr("rel");
			$("input[type=checkbox]").each(function(){
				if ($(this).attr("rel") != $rel ){
					this.checked = false;
					$(this).parent("label.sub").css("background", "#FFF");
				}
			});

			if(this.checked){
				$(this).parent("label.sub").css("background", "#dffce2");
			}else{
				$(this).parent("label.sub").css("background", "#FFF");
			}
		});
		
	
		
        $resultado = $.trim($("div.resultado").html());
        if ($resultado == '') {
			if ($("div.resultado"))
            $("div.resultado").hide();
        }
    }
    catch (e) {
    }


    try {

        $("#portal.resolucao800x600 ul#menu>li>ul").hide();
        $("ul.links_disciplina").hide();

        $("div#novo_post").hide();
        $("div#deixar_recado").hide();
        $("div.form_interacao_usuario").hide();

        $("a.adicionar_contato").click(function(){
            $("div#adicionar_contato").show("slow");
            JPORTAL.Usabilidade.posicionaTela("adicionar_contato");
            return false;
        })

        $("a#link_novo_post").click(function(){
            $("div#novo_post").show("slow");
            JPORTAL.Usabilidade.posicionaTela("novo_post");
            return false;
        })

        $("a.cancelar_novo_post").click(function(){
            $("div#novo_post").fadeOut("slow");
            JPORTAL.Usabilidade.posicionaTela("topo");
            return false;
        })

        $("a.deixar_recado").click(function(){
            $("div#deixar_recado").show("slow");
            JPORTAL.Usabilidade.posicionaTela("deixar_recado");
        })

        $("button.cancelar").click(function(){
            $(this).parent("form").parent("div").fadeOut("slow");
            JPORTAL.Usabilidade.posicionaTela("topo");
            return false;
        });
    }
    catch (e) {
    }

    try {
        $(".canto_arredondado").corner("5px");

        $("p#erro").corner("3px");
        $("a[target='_blank']").addClass("link_externo");
    }
    catch (e) {
    }

    try {
        $("div#area_institucional_off button").click(function(){
            $("div#area_institucional_off form").fadeTo("slow", 0.60);
            $("div#carregando_usuario").removeClass("oculto");
            $("div#carregando_usuario").slideDown("slow");
            $("div#carregando_usuario p#erro").addClass("oculto");
            //return false;
        })
    }
    catch (e) {

    }

    $("div#mensagemSistema").fadeTo("slow", 0.85);

    try {
        $("div#mensagemSistema button").click(function(){
            $(this).parent("div").hide("slow");
            if ($("div#area_comentario")) {
                JPORTAL.Usabilidade.posicionaTela("area_comentario");
            }
        })
    }
    catch (e) {
        // nao existe mensagem
    }

    $("#carregando").ajaxStart(function(){
        $("#portal").fadeTo("slow", 0.40);
    });

    $("#carregando").ajaxComplete(function(){
        $("#portal").fadeTo("slow", 1);
    });


    $("#portal.resolucao800x600 ul#menu>li").mouseover(function(){
        JPORTAL.Util.mostrar_submenu($(this));
        return false;
    });

    $("#portal.resolucao800x600 ul#menu>li h2").click(function(){
        JPORTAL.Util.mostrar_submenu($(this));
        return false;
    });


    $("#portal.resolucao800x600 ul#menu>li").mouseout(function(){
        // se o mouse se posicionar fora da area de menu, manda esconder todos os menus.
        $("ul#menu>li").removeClass("atual");
        $("ul#menu>li>ul").hide();
    })


    // GUIAS E LINKS
    $("a.nome_disciplina").click(function(){

        $li_pai = $(this).parent("div");
        if ($li_pai.attr("class") == undefined || $li_pai.attr("class") == "") {
            $li_pai.children("ul.links_disciplina").fadeIn("slow");
            $li_pai.addClass("atual");
        }
        else {
            $li_pai.children("ul.links_disciplina").fadeOut("slow");
            $li_pai.removeClass("atual");
        }
        $(this).blur(); // blur() serve para tirar o foco do elemento
        return false;
    })


    // escondendo links que nao possuem conteudo
    $("div#guias_e_links>div>a.nome_disciplina").each(function(){
        $conteudo = $.trim($(this).parent("li").children("ul.links_disciplina").html());

        if ($conteudo == null || $conteudo == '') {
            $(this).parent("li").css("display", "none")
        }
        else {
            $link_disciplina = $conteudo = $(this).parent("div").children("ul.links_disciplina");
            $total_links = $link_disciplina.children("div").length;
            $html_atual = $(this).html();
            $novo_texto = $html_atual + '(' + $total_links + ' links)';
            $(this).html($novo_texto);
        }
    })

    
    // PLANTAO DE DUVIDAS

    $("ul.listaFaqs li a.pergunta").click(function(event){
        $li_pai = $(this).parent();
        if ($li_pai.attr("class") == undefined || $li_pai.attr("class") == "") {
            $li_pai.children("p").show("slow");
            $li_pai.addClass("atual");
        }
        else {
            $li_pai.children("p").hide("slow");
            $li_pai.removeClass("atual");
        }
        $(this).blur(); // blur() serve para tirar o foco do elemento
        return false;
    });
   
    

    // marcando links visitados
    $('ul.links_disciplina li a').each(function(i){
        html = $(this).html();
        peso = $(this).css("font-weight");
        if (peso != 'bold') {
            $(this).addClass("visited");
        }
    });

    // ACESSIBILIDADE TEXTO
    // TODO: Melhorar as funcoes abaixo, tem muita coisa repetida que pode virar funcao.
    $("ul.interatividade_texto a.aumenta_texto").click(function(event){
        if ($('div#post').css('font-size') > 0) {
            $tamanho_fonte = parseInt($('div#post').css('font-size'));
            $tamanho_fonte++;
            $('div#post').css('font-size', $tamanho_fonte);
        }
        else
            if ($('ul.listaFaqs').css('font-size')) {
                $tamanho_fonte = parseInt($('ul.listaFaqs').css('font-size'));
                $tamanho_fonte++;
                $('ul.listaFaqs').css('font-size', $tamanho_fonte);
            }
        return false;
    })

    $("ul.interatividade_texto.diminui_texto").click(function(event){
        if ($('div#post').css('font-size') > 0) {
            $tamanho_fonte = parseInt($('div#post').css('font-size'));
            $tamanho_fonte--;
            $('div#post').css('font-size', $tamanho_fonte);
        }
        else
            if ($('ul.listaFaqs').css('font-size')) {
                $tamanho_fonte = parseInt($('ul.listaFaqs').css('font-size'));
                $tamanho_fonte--;
                $('ul.listaFaqs').css('font-size', $tamanho_fonte);

            }
        return false;
    })

    $("ul.interatividade_texto a.imprimir").click(function(){
        print();
        return false;
    })

	// COMENTARIOS

    $("ul.interatividade_texto a.comentar").click(function(){
        JPORTAL.Usabilidade.posicionaTela("area_comentario");
        return false;
    })

    $("a.enviar_comentario").click(function(){
        $(this).parent("form").submit();
        return false;
    })


	$("form.form_comentario textarea#txt_comentario").keyup(function(){
		var max_caracteres = 4000;
		var total_caracteres = max_caracteres - $(this).val().length;

		$("#contador_caracteres").removeClass("ultrapassou");
		$("#contador_caracteres").removeClass("proximo");

		if(total_caracteres < 250) {
			$("#contador_caracteres").removeClass("ultrapassou");
			$("#contador_caracteres").addClass("proximo");
		}

		if(total_caracteres <= 0) {
			alert("Você ultrapassou o limite de caracteres. Tente resumir um pouco o texto do comentário.");
			$("#contador_caracteres").addClass("ultrapassou");
			$("#contador_caracteres").removeClass("proximo");
		}
		$("#contador_caracteres").text(total_caracteres);
	})

  //  $("form.form_comentario").submit(function(){
	//	var texto_captcha = $("#exibirCaptcha input").val().length;
	//	var tamanho_texto = $("textarea#txt_comentario").val().length;

	//	if (tamanho_texto > 0 && tamanho_texto < 4000 && texto_captcha > 0) {
			//	$("a.enviar_comentario").text("Aguarde...");
	//	}
		//else if(tamanho_texto > 3999) {
		//	alert("Seu comentário está muito longo. O numero máximo de caracteres é 4mil.");
		//	return false;
	//	}
	//	else if(tamanho_texto <= 0 ) {
		//	alert("O comentário não pode estar vazio");
	//		return false;
	//	}
	//	if (texto_captcha <= 0) {
	//		alert("Você precisa digitar o texto que aparece na imagem para confirmar o envio");
	//		return false;
	//	}
	//});

	// ALTERAR SENHA
	
	

	
	   try {

		$("#form_altera_senha").hide();

		$("a#alterar_senha").click(function(){
			$class = $("#form_altera_senha").attr("class");

			if ($class == "" || $class == undefined) {
				$("#form_altera_senha").show();
				$class = $("#form_altera_senha").attr("class", "mostrando");
			} else {
				$("#form_altera_senha").hide();
				$class = $("#form_altera_senha").attr("class", "");

			}

		})
		
		//$("a#link-s").click(function(){
			
			//$("#senha-e").show();
			
		//})

	   	$("#form_altera_senha button.bt-senha").attr("disabled", "disabled");

		$("input[name='confirmaNovaSenha']").keyup(function(){
			senha = $("input[name='novaSenha']").val();
			confirmacao = $(this).val();

			if (senha == confirmacao) {
			   	$("#form_altera_senha button.bt-senha").removeAttr("disabled");
		   	} else {
		   		$("#form_altera_senha button.bt-senha").attr("disabled", "disabled");
		   	}
		});


	  	} catch(e){}



	$("body").click(function(){
		$.ajax(
			{
				type: "get",
				url: "/jportal/renova_sessao.jsf",
				global : false,
				start: function(){}
			});
	})

	// usuario_exibir_perfil
	try {
		$("li.futuro").click(function(){
			alert('As aulas deste curso ainda não começaram');
		})
		
		$("li.passado").click(function(){
			alert('As aulas deste curso não estão mais disponíveis');
		})
	} catch(e){}
	
	// abas
	$("#comentarios").show();
	$("#botoes ul li#coment").css("border-bottom","solid 1px #FFF");
	$("#botoes ul li#coment").attr("class","selecionado");
	
	$("#botoes ul li#comentadas").attr("class","secundario");
	$("#botoes ul li#notic").attr("class","secundario");
	


	  $("#bt-comentarios").click(function(){
	  		$("#botoes ul li#coment").attr("class","selecionado");
			$("#botoes ul li#notic").attr("class","secundario");
			$("#botoes ul li#comentadas").attr("class","secundario");
	  		$("#botoes ul li#coment").css("border-bottom","solid 1px #FFF");
			$("#botoes ul li#notic").css("border-bottom","solid 1px #DBDBDB");
			$("#botoes ul li#comentadas").css("border-bottom","solid 1px #DBDBDB");
	  		$("#noticias").hide();
			$("#noticias").addClass("oculto");
			$("#mais-comentadas").hide();
			$("#mais-comentadas").addClass("oculto");
			
			var classe = ($("#comentarios").attr("class") == "oculto") ? "" : "oculto";
			if (classe==""){
				$("#comentarios").show();
			} else {
				<!-- $("#comentarios").hide(); -->
			}
			$("#comentarios").attr("class",""+ classe +"");
			return false;
		})
		
		$("#bt-comentadas").click(function(){
	  		$("#botoes ul li#comentadas").attr("class","selecionado");
			$("#botoes ul li#notic").attr("class","secundario");
			$("#botoes ul li#coment").attr("class","secundario");
	  		$("#botoes ul li#comentadas").css("border-bottom","solid 1px #FFF");
			$("#botoes ul li#notic").css("border-bottom","solid 1px #DBDBDB");
			$("#botoes ul li#coment").css("border-bottom","solid 1px #DBDBDB");
	  		$("#noticias").hide();
			$("#noticias").addClass("oculto");
			$("#comentarios").hide();
			$("#comentarios").addClass("oculto");
			
			var classe = ($("#mais-comentadas").attr("class") == "oculto") ? "" : "oculto";
			if (classe==""){
				$("#mais-comentadas").show();
			} else {
				<!-- $("#mais-comentadas").hide(); -->
			}
			$("#mais-comentadas").attr("class",""+ classe +"");
			return false;
		})	
		
		$("#bt-noticias").click(function(){
		$("#botoes ul li#notic").attr("class","selecionado");
		$("#botoes ul li#coment").attr("class","secundario");
		$("#botoes ul li#comentadas").attr("class","secundario");
		$("#botoes ul li#notic").css("border-bottom","solid 1px #FFF");
		$("#botoes ul li#coment").css("border-bottom","solid 1px #DBDBDB");
		$("#botoes ul li#comentadas").css("border-bottom","solid 1px #DBDBDB");
		$("#comentarios").hide();
		$("#comentarios").addClass("oculto");
		$("#mais-comentadas").hide();
		$("#mais-comentadas").addClass("oculto");
			
			var classe = ($("#noticias").attr("class") == "oculto") ? "" : "oculto";
			if (classe==""){
				$("#noticias").show();
			} else {
				<!-- $("#noticias").hide(); -->
			}
			$("#noticias").attr("class",""+ classe +"");
			return false;
		})	
	

})
