/**
 * Funções e Códigos Javascript
 * 
 * @author Ismael Renard
 */
 /*
cadastraAcao=["Ajuda Para Cadastro de Ação","Nesta tela o advogado pode promover uma nova ação no sistema. É necessário ter em mente as seguintes informações:<br>1) Caso esta nova ação seja dependente de outra, deve-se utilizar a opção de cadastro de ação dependente localizada no menu ações.<br>2) O cadastro de uma ação é dividido em 3 passos: no primeiro cadastram-se as partes, determina-se a competência, o tipo de ação e o valor da causa. No segundo passo ocorre a inserção de arquivos que façam parte da petição inicial, incluindo a procuração, reproduções dos documentos das partes, enfim, tudo o que se apresentaria se a petição fosse entregue via papel, com a diferença de não ser necessário entregar uma segunda via. No último passo pode-se selecionar questões particulares do processo, como segredo de justiça, informação se há pedido de urgência (liminares, tutelas), partes maiores de 60 anos.<br> 3) Caso haja mais de um advogado promovente, deve-se inserir uma petição requerendo o cadastramento dos demais advogados no processo, informando os respectivos números de inscrição na Ordem. "];
movProcesso=["Ajuda para Movimentação de Processo","Abaixo há uma série de opções para se selecionar referentes à movimentação que você está fazendo no processo. <br> Obrigatoriamente você terá que selecinar uma descrição para a movimentação. Selecione a opção que melhor representa o que está fazendo. Em seguinda configure intimações, conclusões, cumprimentos para e cartório e outras opções, se for o caso."];
movimentarProcessoTurma=["Ajuda","Abaixo há uma série de opções para se selecionar referentes à movimentação que você está fazendo no processo. <br> Obrigatoriamente você terá que selecinar uma descrição para a movimentação. Selecione a opção que melhor representa o que está fazendo. Em seguinda configure intimações, conclusões, cumprimentos para e cartório e outras opções, se for o caso."];
movimentarProcessoBottom=["Ajuda","Aqui o usuário do sistema deve inserir os arquivos que julgar necessários para a movimentação que fará. Cada arquivo pode ter no máximo 1MB. Caso o arquivo do usuário possua tamanho maior, recomenda-se procurar formas mais econômicas de gerenciar a informação (menor definição nas imagens, utilização de formatos que utilizam compactação, como .gif, .jpg e .zip) constante no arquivo ou dividi-lo em vários outros. Pois bem, há duas formas possíveis de se inserir arquivos no sistema:<br>1ª)Inserir um arquivo já assinado. Neste caso o usuário dispõe de um arquivo já assinado e deve apenas selecioná-lo através do botão \"Procurar\" e depois clicar em \"Inserir\".<br>2ª)Inserir um arquivo ainda não assinado. Neste o usuário fará uso do assinador on-line do sistema. Deverá  clicar em \"Procurar\" para selecionar o arquivo a ser assinado e depois em \"Assinar\", quando lhe será solicitado um certificado digital e a senha deste. Não será necessário clicar em \"Inserir\" após realizar o assinatura on-line. <br>OBS.: É necessário que o certificado utilizada para assinar arquivos tenha sido emitido pelo Tribunal de Justiça da Paraíba ou por alguma entidade pertencente à ICP-Brasil. "];
arquivosInseridos=["Ajuda Sobre Arquivos Inseridos","Esta é a lista de arquvos já inseridos para esta movimentação. Caso deseje inserir outro arquivo, vá até o final da página."];
configuraIntimacao=["Ajuda Sobre Configuração de Intimações","A configuração desta área segue as seguintes diretrizes:<br>1)A configuração desta área de intimação não exime do usuário a necessidade de determinar a intimação nos autos.<br> 2) Quando se quer intimar todas as partes promoventes ou todas as partes promovidas, deve-se clicar em \"Intimar todas as partes\". Caso contrário, deve-se intimar apenas a parte selecionada.<br> 3) A seleção do item \"Intimação em Audiência/Cartório\" deve ser utilizada quando a parte está tomando ciência imediata da movimentação que está se dando no processo.<br> 4) A opção revelia/contumácia, quando utilizada, fará com que futuras intimações no processo não sejam mais enviadas para a parte.<br>5) Caso a intimação deva se dar tanto para a parte, pessoalmente, quanto para os advogados, deve-se fazer uso da opção Pessoal & Advogados. Através desta opção o sistema dispara intimações tanta para a parte quanto para seus advogados.<br>6) Caso haja algum prazo cumprimento para a parte, este deve ser selecionado."];
configuraCumprimentosCartorio=["Ajuda Sobre Cumprimentos","Caso o documento que está sendo inserido determine a expedição de algum ofício, alvará, cartá de adjudicação, mandado etc., selecione a opção correspondente. <br>Obs.: A opção de prazo é voltada para algum eventual prazo que o destinatário do documento a ser expedido (um ofício, por exemplo) tem para satisfazer a determinação judicial."];
configuraConclusaoVara=["Ajuda Sobre Conclusões","Caso o documento que está sendo inserido determine a realização de uma conclusão, selecione a mais específica possível."];
configuraOutrasOpcoesVara=["Ajuda Sobre Outras Opções","Nesta seção o usuário poderá determinar algumas conseqüências específicas no processo. É importante ter em mente que:<br> 1)Os autos só podem ser enviados ao nível recursal se não há audiências em aberto, autos com o contador e algum recurso relativo a este procesos já nas turmas recursais. <br>2) Só se pode suspender um processo que esteja ativo. Só se pode acabar com a suspensão de um processo que esteja suspenso.<br>3) Só se pode desarquivar um processo que está arquivado. Só se pode arquivar um processo se não há audiências em aberto, nem autos remetidos ao contador."];
opcoesProcesso=["Ajuda Sobre Opções","Não se pode agendar audiência caso já haja alguma agendada.<br> Não se pode utilizar a opção movimentar processo caso os autos estejam na turma recursal, conclusos ou com contador.<br> Caso os autos estejam na turma recursal, a utilização da opção peticionar irá levar a petição também para a turma recursal onde tramita o recurso."];
peticionar=["Ajuda para Peticionar/Inserir Cálculos/Pareceres","Você deve obrigatoriamente selecionar o tipo da movimentação (peça processual) que estará ingressando no sistema. Em seguida, insira os arquivos vinculados a esta peça, descrevendo cada um (Ex. petição; documentos anexos etc.). <br>As regras para inserção de arquivos explicadas no cadastro de ação são válidas também para o peticionamento. <br>Caso a peça envolva algum pedido de urgência, como tutelas ou liminares, marque a caixinha. <br> Obs.: Com exceção da petição inicial, as outras não entram diretamente no processo. Um servidor fará a análise do documento e só a partir deste mometo você poderá ver a petição dentre as movimentações do processo."];
conclusaoPessoal=["Sobre Conclusão Pessoal","Ao esolher algum analisador de conclusões, está será encaminhada de forma que apenas a pessoa escolhida poderá analisá-lá. <br>OBS.: No caso de ser escolhido um juiz leigo, o sistema irá impor o tipo de conclusão PARA DECISÂO mesmo que outro seja selecionado"];
ultimaOpcao=["Ajuda para peticionar","Peticionar"];
naoMarcarConciliacao=["Não Agendamento de Audiência Conciliatória","Caso a ação seja contra a Telemar e tenha como objeto PULSOS TELEFÔNICOS ou ASSINATURA MENSAL, não se deve agendar audiência conciliatória."];
ajudaDescricaoArquivo=["Ajuda sobre descrição de arquivo","Descreva o conteúdo do arquivo que está inserindo (Ex.: procuração, nota fiscal, contrato etc.). Caso se trate da petição inicial ou da tomada de termo, marque a caixinha já existente."];
ajudaCadastroSemCPF=["Informações sobre cadastro sem CPF","É possível cadastrar um processo sem o conhecimento do CPF da parte PROMOVIDA. Deve-se, porém, ter em mente que o processo se tornará mais lento, haja vista que todos os procedimentos de comunicação com a parte, que poderiam ser feitos de forma eletrônica, serão feitos de forma tradicional até que esta informe o seu CPF. Em razão disto, recomendamos que seja feito o máximo de esforço para que as partes promovidas sejam cadastradas com CPF. <br>Quanto às pessoas jurídicas, continua sendo obrigatório seu cadastro com CNPJ, já que as entidades desta natureza são obrigadas por lei a disponibilizarem tal informação e, não o fazendo, pode-se obtê-la através das Receitas Federal ou Estadual. <br>A apresentação de CPF/CNPJ pela parte PROMOVENTE é obrigatória, conforme dispositivo normativo.<br>ATENÇÃO: Partes que já têm cadastro no sistema, ao perceberem que há um processo em que figuram sem a exibição do seu CPF, devem procurar a Coordenação do Projudi a fim de informarem o processo em questão e seu CPF, sob pena de não conseguirem visualizar os autos através de sua área própria (Área da Parte)."];
ajudaNecessidadeCadastro=["Informações sobre cadastro no Sistema","Para ver seus processos através da Internet, a parte deve comparecer pessoalmente à coordenação do Projudi (no 2º Juizado Especial Cível de Campina Grande), a fim de apreentar cópia de RG, CPF/CNPJ e compravante de residência e cadastrar uma senha de acesso. <br> O cadastro de pessoas jurídicas exigirá um comprovante do CNPJ e uma procuração específica para a pessoa que irá digitar a senha de acesso.<br>ATENÇÃO: Partes que já têm cadastro no sistema, ao perceberem que há um processo em que figuram sem a exibição do seu CPF, devem procurar a Coordenação do Projudi a fim de informarem o processo em questão e seu CPF, sob pena de não conseguirem visualizar os autos através de sua área própria (Área da Parte)."];
ajudaOpcoesRedistribuicao=["Ajuda sobre opções de Redistribuição","Há duas formas de redistribuir o processo. Escolhendo a opção por SORTEIO, o novo juízo do processo será indicado automaticamente pelo sistema entre aqueles existentes numa determinada competência. É a opção tipicamente utilizada em casos de Suspeição e/ou Impedimento.<br>Já a opção de redistribuição PARA UM JUÍZO ESPECÍFICO coloca o processo no juízo indicado pelo usuário. É tipicamente utilizada em casos redistribuição em função de prevenção."];
/**/
/**
 * Função que permite o uso de imagens PNG no IE6
 */
function fixPNG(){
	
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	if ((version >= 5.5) && (document.body.filters)){
		for(var i=0; i<document.images.length; i++){
			var img = document.images[i];
			var imgName = img.src.toUpperCase();
			
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
				var imgID = (img.id) ? "id='" + img.id + "' " : "";
				var imgClass = (img.className) ? "class='" + img.className + "' " : "";
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
				var imgStyle = "display:inline-block;" + img.style.cssText;
				if (img.align == "left") imgStyle = "float:left;" + imgStyle;
				if (img.align == "right") imgStyle = "float:right;" + imgStyle;
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
				
				var strNewHTML = "<span " + imgID + imgClass + imgTitle
					+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
					+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
					+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"; 
            		img.outerHTML = strNewHTML;
            	i = i-1;
			}
		}
	}    
}

/** Carrega a função fixPNG */
window.onload = function(){fixPNG();};

/**
 * Evitar conflito com Prototype
 */
var $j = jQuery.noConflict();

/**
 * Inicia o ready, onde podemos inserir os códigos com o JQuery
 */
$j(document).ready(function(){
	
	/* Menus */
	$j('ul.sf-menu').supersubs({
		minWidth: 15,
		maxWidth: 27, 
        extraWidth: 1
     }).superfish({ 
         delay: 1000, 
         animation: {opacity:'show'}, 
         dropShadows: true 
     }).find('ul').bgIframe({opacity:true});


	$j("#menuTreeRed").treeview({
		animated: "fast",
		collapsed: true,
		unique: true,
		toggle: function() {}
	}); 

	$j("#menuTree").treeview({
		collapsed: true,
		unique: true,
		animated: "medium"
		//persist: "location"
	});

	$j('#menuAccordion ul').hide();
	$j('#menuAccordion li a').click(function() {
        $j(this).next().slideToggle('normal');	
	});
	var current = $j('#menuAccordion ul').find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
	if ( current.length ) {
		current.addClass("selected").parents("ul, li").add( current.next() ).show();
	}

	/**
	 * Banner Pagamento Digital (120 x 240)
	 */
	$j('#bannerPD').flash({
		src: 'flash/pagDigVert.swf',
		width: 120,
		height: 240,
		wmode: 'transparent'
		},
		{ 
			version: 8
		}
   	);
	
	/*Javascript JQUERY AQUI
	
	/**
	 * Permite o uso de imagens PNG no IE6
	 */
	if ($j('#pageTopo')) {
		//$j('#pageTopo').corner('10px');
		
	}

	/**
	 * Permite o uso de imagens PNG no IE6
	 */

	//$j('#container a').nyroModal();
	
	/**
	 * Cores alternadas em Tabelas
	 */
	$j(".linhas tr").mouseover(function(){
		$j(this).addClass("over");
	});
	$j(".linhas tr").mouseout(function(){
		$j(this).removeClass("over");
	});
	
	$j(".linhas tr:even").addClass("alt");

});

/**
 * Inicia o DOM loaded, onde podemos inserir os códigos com o Prototype
 */
document.observe('dom:loaded', function() {
	
	//* Javascript PROTOTYPE AQUI
	/*
	new Tip('tipTeste2', "A simple <b>tooltip</b>, nothing fancy just yet ...", { 
			width: 'auto', 
			border: 1,
			radius: 0
		});
	/**/

});

/**
 * Inicia a configuração do Editor TinyMCE, com o modo 'Exact' 
 * inserindo o editor a partir do ID do elemento textarea
 */
tinyMCE.init({
	
	/**
	 * Opções Gerais 
	 */
//	mode : "textareas",
	mode : "exact",
	elements : "teste",
	theme : "advanced",
	skin : "o2k7",
	skin_variant : "default",

	plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",

	/**
	 * Opções do Template 
	 */
	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
	theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
	theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
	theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
	theme_advanced_toolbar_location : "top",
	theme_advanced_toolbar_align : "left",
	theme_advanced_statusbar_location : "bottom",
	theme_advanced_resizing : true,

	/**
	 * Lista para link/image/media/template 
	 */
	template_external_list_url : "js/lists/template_list.js",
	external_link_list_url : "js/lists/link_list.js",
	external_image_list_url : "js/lists/image_list.js",
	media_external_list_url : "js/lists/media_list.js"

});

/*

var f = document.formBoleto;
MaskInput(f.fone, "(99)9999-9999");
MaskInput(f.data, "99/99/9999");
MaskInput(f.etc, "Cc99-*C");
MaskInput(f.except, "E^abc");
MaskInput(f.only, "O^abc");
MaskInput(f.letra, "C^");
MaskInput(f.letra2, "C^ ");
MaskInput(f.numero, "9^abc");
*/

addEvent = function(o, e, f, s){
    var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
    r[r.length] = [f, s || o], o[e] = function(e){
        try{
            (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
            e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
            e.target || (e.target = e.srcElement || null);
            e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
        }catch(f){}
        for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
        return e = null, !!d;
    }
};

removeEvent = function(o, e, f, s){
    for(var i = (e = o["_on" + e] || []).length; i;)
        if(e[--i] && e[i][0] == f && (s || o) == e[i][1])
            return delete e[i];
    return false;
};

MaskInput = function(f, m){
    function mask(e){
        var patterns = {"1": /[A-Z]/i, "2": /[0-9]/, "4": /[\xC0-\xFF]/i, "8": /./ },
            rules = { "a": 3, "A": 7, "9": 2, "C":5, "c": 1, "*": 8};
        function accept(c, rule){
            for(var i = 1, r = rules[rule] || 0; i <= r; i<<=1)
                if(r & i && patterns[i].test(c))
                    break;
                return i <= r || c == rule;
        }
        var k, mC, r, c = String.fromCharCode(k = e.key), l = f.value.length;
        (!k || k == 8 ? 1 : (r = /^(.)\^(.*)$/.exec(m)) && (r[0] = r[2].indexOf(c) + 1) + 1 ?
            r[1] == "O" ? r[0] : r[1] == "E" ? !r[0] : accept(c, r[1]) || r[0]
            : (l = (f.value += m.substr(l, (r = /[A|9|C|\*]/i.exec(m.substr(l))) ?
            r.index : l)).length) < m.length && accept(c, m.charAt(l))) || e.preventDefault();
    }
    for(var i in !/^(.)\^(.*)$/.test(m) && (f.maxLength = m.length), {keypress: 0, keyup: 1})
        addEvent(f, i, mask);
};

function confirmSubmit(mensagem)
{
	if(mensagem == undefined) {
		var agree=confirm("Você tem certeza que deseja continuar?");
	} else {
		var agree=confirm(mensagem);
	}
	
	if (agree){
		return true ;
	} else {
		return false;
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function fAlturaTela(divGeral, divAlturaTela){
	var alturaBody = document.documentElement.clientHeight;
 	if($(divGeral)) var alturaTodo = $(divGeral).clientHeight;
 	if(alturaTodo){
		alturaTela = (alturaBody <= alturaTodo)? alturaTodo : alturaBody;
	} else {
		alturaTela = alturaBody;
	}
	if($(divAlturaTela)) $(divAlturaTela).style.height = alturaTela + "px";

	return alturaTela;
}

function fCentralizar(obj){
	obj.style.top = ((fAlturaTela()/2)-(obj.clientHeight)/2) + "px";
}

//Função para excluir itens.
function submeterTodos(formulario){
	var x,w=0;
	if ($(formulario).check.length > 1){
		for (x = 0; x < $(formulario).check.length; x++) {
			if ($(formulario).check[x].checked){
				w++;
			}
		}
		if(w != 0){
			if (confirmSubmit()) {
				$(formulario).submit();
			}				
		} else {
			alert("Selecione algum item a ser excluído!");
		}	
	} else {
		if ($(formulario).check.checked){
			w++;
		}
		if(w != 0){
			if (confirmSubmit()) {
				$(formulario).submit();
			}				
		} else {
			alert("Selecione algum item a ser excluído!");
		}	
	}
}

//Função para selecionar todos os itens
function selecionarTodos(formulario) {
	var y,w=0;

	if($(formulario).check.length > 1) {
		for(y = 0; y < $(formulario).check.length; y++) {
			if($(formulario).check_all.checked) {
				$(formulario).check[y].checked = 'checked';
			} else {
				$(formulario).check[y].checked = '';
			}
		}

	} else {

		if($(formulario).check_all.checked) {
			$(formulario).check.checked = 'checked';
		} else {
			$(formulario).check.checked = '';
		}
	}
}

