function GetCookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}

function SetCookie(name,value,expires) {
    document.cookie = name + "=" +escape(value) + ((expires) ? ";expires=" + expires.toGMTString() : "");
}

function hideMenu() {
	var menu, conteudo, submenu;
	menu = document.getElementById("menu");
	conteudo = document.getElementById("conteudo");
	submenu = menu.childNodes;

	if (!document.getElementById) return;

	for (var i = 0; i < submenu.length; i++) {
		if (submenu[i].className == "boxcontent") {
			v = submenu[i].style.display;
			if ((v == null) || (v == "none")) {
				document.getElementById("menu_size").className = "menu_max";
				submenu[i].style.display = "block";
				conteudo.style.borderLeftWidth = "165px";
				menu.style.width = "150px";
				menu.style.marginLeft = "-165px";
				SetCookie('menu_size','max');
			} else {
				document.getElementById("menu_size").className = "menu_min";
				submenu[i].style.display = "none";
				conteudo.style.borderLeftWidth = "65px";
				menu.style.width = "50px";
				menu.style.marginLeft = "-65px";
				SetCookie('menu_size','min');
			}
		}
	}
}

function mark(checkbox) {
		var arrCheckbox = document.forms[checkbox.form.name].elements[checkbox.name];
		if (checkbox.id.substr(-1) == 'c') {
				if (checkbox.checked == false) {
						for(i=1; i<arrCheckbox.length; i++) arrCheckbox[i].checked = false;
				}
		} else {
				for(i=0; i<arrCheckbox.length; i++)
					if(arrCheckbox[i].id.substr(-1) == 'c') {
						arrCheckbox[i].checked =  true;
					}else{
						arrCheckbox[i].checked =  arrCheckbox[i].checked;
					}
		}
}

function markAll(form, name) {
		var test, es, i;
		form = document.getElementById(form);
		tmp = form.getElementsByTagName('input');
		es = new Array();
		test = true;
		
		for(i = 0; i< tmp.length; i++){
			if(tmp[i].type == "checkbox" && !tmp[i].disabled && tmp[i].name == name)
				es.push(tmp[i]);
		}
		
		for(i=0; i<es.length; i++) {
			if (es[i].checked == true) test = false;
		}
		for(i=0; i<es.length; i++) es[i].checked = test;
}

// changeSelection(this, 'nome do select que vai alterar(mesmo que o do objeto)', 'frase padrão no primeiro option');
// EXEMPLO: changeSelection(this, 'setor', 'Selecione um Setor:');
function changeSelection(a, b, c) {
    var chooser = a.form.elements[b];
    chooser.options.length = 0;
    var choice = a.options[a.selectedIndex].value;
    var db = eval(b+"[choice]");
    chooser.options[0] = new Option(c, "", true, false);
    if (choice != "") {
        for (var i = 0; i < db.length; i++) chooser.options[i + 1] = new Option(db[i].text, db[i].value);
    }
}

// selectOption("nome do formulario", ("b,c,d" correspondem "a,b,c" da função "changeSelection"), "valor da opção para selecionar");
// EXEMPLO selectOption('formFuncionario', 'empresa', 'setor', 'Selecione um Setor:', '2');
function selectOption(a, b, c, d, e) {
	var form = eval("document."+a);
	var element = form.elements[c];
	changeSelection(form.elements[b], c, d);
	for(i=0; i<element.length; i++){
		if (element[i].value == e) element[i].selected = true;
	}
}

function openWindow(url, propriedades) {
  window.open(url,'_blank',"toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no," + propriedades);
}

function goUrl(url) {
  parent.location = url;
}

var tags = new Array();
tags['b'] = new Array("[n]","[/n]");
tags['i'] = new Array("[i]","[/i]");
tags['s'] = new Array("[s]","[/s]");
tags['t'] = new Array("[titulo]","[/titulo]");
function formattext(z,k){
	var x = document.getElementById(z);
	var text;
	c = tags[k][0];
	f = tags[k][1];
	if(document.selection){
		x.focus();
		sel = document.selection.createRange();
		if(sel.text.indexOf(c) != -1){
			var text = sel.text;
			text = text.replace(c,'');
			text = text.replace(f,'');
			sel.text = text;
		} else {
			sel.text = c + sel.text + f;
		}
		//x.focus();
	} else {
		var start = x.selectionStart;
		var end = x.selectionEnd;
		var cursor = end;
		var scrollTop = x.scrollTop;
		var aux = c+f;
		var text = x.value.substr(start, end - start);
		
		if(text.indexOf(c) != -1){
			text = text.replace(c,'');
			text = text.replace(f,'');
			aux = start+text.length;
			text = x.value.substr(0,start)+text+x.value.substr(end);
			end = aux;
		} else {
			text = x.value.substr(0,start)+c+text+f+x.value.substr(end);
			end += aux.length;
		}
		x.focus();
		x.value = text;
		x.selectionStart = start;
		x.selectionEnd = end;
		x.scrollTop = scrollTop;
	}
}
function addLink(z){
	var y = document.getElementById(z);
	var text = (document.selection) ? document.selection.createRange().text : y.value.substr(y.selectionStart, y.selectionEnd - y.selectionStart);
	if(text.indexOf("[link=") != -1){
		c = text.substr(0,text.indexOf("]")+1);
		tags['a'] = new Array(c,"[/link]")
		formattext(z,'a');
	} else {
		var url = prompt("URL do link:","http://");
		if(url){
			var lnk = (text == "") ? prompt("Descrição do link:") : "";
			
			tags['a'] = new Array("[link="+url+"]"+lnk,"[/link]")
			formattext(z,'a');
		}
	}
}
function addList(z){
	var y = document.getElementById(z);
	var x = y.value.split("");
	x = x[getSelectionEnd(y)-1];
	var text = (document.selection) ? document.selection.createRange().text : y.value.substr(y.selectionStart, y.selectionEnd - y.selectionStart);
	tags['ul'] = new Array();
	tags['ul'][0] = ((x == null || x == 0) ? "" : "\r\n")+"[lista]\r\n\t[*]"+((text != "") ? "" : "Exemplo linha 1");
	tags['ul'][1] = "\r\n\t[*]Exemplo linha 2\r\n\t[*]Exemplo linha 3\r\n[/lista]\r\n";
	formattext(z,'ul');
	if(text == ""){
		if(document.selection){
			y.select();
			var aux = document.selection.createRange();
			setSelectionRange(y,aux.text.indexOf("Exemplo linha 1")-1,aux.text.indexOf("Exemplo linha 1")+14);
		} else {
			text = y.value.substr(y.selectionStart, y.selectionEnd - y.selectionStart);
			if(text.indexOf("Exemplo linha 1") != -1){
				var start, end, aux;
				aux = "Exemplo linha 1"
				start = y.value.indexOf(aux);
				end = start + aux.length;
				y.setSelectionRange(start, end);
			}
		}
	}
}

function setSelectionRange(input, start, end) {
	if (document.selection) {
		var range = input.createTextRange();
		range.collapse(true);
		range.moveStart("character", start);
		range.moveEnd("character", end - start);
		range.select();
	} else {
		input.setSelectionRange(start, end);
	}
}

function getSelectionStart(input) {
	if (document.selection){
		var range = document.selection.createRange();
		var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
		if (!isCollapsed)
			range.collapse(true);
		var b = range.getBookmark();
		return b.charCodeAt(2) - 2;
	} else {
		return input.selectionStart;
	}
}

function getSelectionEnd(input) {
	if (document.selection){
		var range = document.selection.createRange();
		var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
		if (!isCollapsed)
			range.collapse(false);
		var b = range.getBookmark();
		return b.charCodeAt(2) - 2;
	} else {
		return input.selectionEnd;
	}
}

function exibirFormatado(x){
	var z = document.getElementById("viewer-"+EL_FORMATED);
	var y = document.getElementById(EL_FORMATED);
	z.innerHTML = x;
	z.style.display = "block";
	y.style.display = "none";
}

function editar(e, z){
	var funcao;
	var p = e.parentNode;
	var as = p.getElementsByTagName("a");
	as[0].className = "this";
	as[1].className = "";
	
	var textarea = document.getElementById(z);
	p = p.parentNode.getElementsByTagName("p")[0];
	as = p.getElementsByTagName("a");
	for(var i = 0; i < as.length; i++){
		as[i].style.color = "#000000";
		as[i].style.cursor = "pointer";
	}
	as[0].onclick = new Function("formattext('"+textarea.id+"','b'); return false;");
	as[1].onclick = new Function("formattext('"+textarea.id+"','i'); return false;");
	as[2].onclick = new Function("formattext('"+textarea.id+"','s'); return false;");
	as[3].onclick = new Function("formattext('"+textarea.id+"','t'); return false;");
	as[4].onclick = new Function("addList('"+textarea.id+"'); return false;");
	as[5].onclick = new Function("addLink('"+textarea.id+"'); return false;");
	
	var z = document.getElementById("viewer-"+EL_FORMATED);
	var y = document.getElementById(EL_FORMATED);
	z.style.display = "none";
	y.style.display = "block";
}

function exibir(e, z){
	var p = e.parentNode;
	var as = p.getElementsByTagName("a");
	as[0].className = "";
	as[1].className = "this";
	
	p = p.parentNode.getElementsByTagName("p")[0];
	as = p.getElementsByTagName("a");
	for(var i = 0; i < as.length; i++){
		as[i].onclick = new Function("return false;");
		as[i].style.color = "#666666";
		as[i].style.cursor = "default";
	}
	
	var x = document.getElementById(z);
	EL_FORMATED = z;
	x_exibir(x.value, z, exibirFormatado);
}

function selectAll(e){
	var tbody = document.getElementById("subjects");
	var els = tbody.getElementsByTagName("input");
	var x = false;
	for(i = 0; i < els.length; i++) {
		if (!els[i].checked && els[i].type == "checkbox") { x = true; break; }
	}
	for(i = 0; i < els.length; i++) {
		if (els[i].type == "checkbox") { els[i].checked = x; }
	}
	return false;
}

function getNextId(tag, id){
	if(document.getElementById(tag+id)){
		id++;
		getNextId(tag, id);
	} else {
		return id;
	}
}
function mudaPessoa(modo){
	var e, aux, r, obr;
	e = document.getElementById("labelPessoa");
	clearIt(e);
	
	modo = modo.toUpperCase();
	e.appendChild(document.createTextNode(modo+":"));
	obr = document.createElement("span");
	obr.appendChild(document.createTextNode("*"));
	obr.className = 'required';
	e.appendChild(obr);
	
	aux = document.createElement("em");
	aux.appendChild(document.createTextNode("Somente números"));
	e.appendChild(aux);
	
	e = document.getElementById("inputPessoa");
	e.name = modo.toLowerCase()+"|"+modo.toLowerCase();
	e.size = (modo == "CPF") ? 11 : 14;
	e.maxLength = (modo == "CPF") ? 11 : 14;
	if(e.value.length > e.maxLength)
		e.value = e.value.substr(0, e.maxLength);
	
	if(modo == "CPF"){
		r = document.getElementById("razao").parentNode;
		r.style.display = 'none';
		document.getElementById("razao").disabled = true;
		f = document.getElementById("nome");
		f.focus();
	}else{
		r = document.getElementById("razao").parentNode;
		r.style.display = 'block';
		f = document.getElementById("razao");
		f.disabled = false;
		f.focus();
	}
}

function clearIt(e) { if(e) { while (e.hasChildNodes()) e.removeChild(e.childNodes[0]); } }


function addChild(){
	var tbody = document.getElementsByTagName("tbody")[0];
	
	if(tbody){
		var tr, td, input, focar;
		tr = document.createElement("tr");
		tr.onmouseover = function(){ this.className = "hover"; }
		tr.onmouseout = function(){ this.className = ""; }
		tbody.appendChild(tr);
		
		td = document.createElement("td");
		td.className = "c";
		tr.appendChild(td);
		
		focar = input = document.createElement("input");
		input.type = "text";
		input.name = "titulo_area|multiple|255[]";
		td.appendChild(input);
		
		td = document.createElement("td");
		td.className = "c";
		tr.appendChild(td);
		
		input = document.createElement("input");
		input.type = "text";
		input.name = "parametro_area|multiple|255[]";
		td.appendChild(input);
		
		td = document.createElement("td");
		td.className = "c";
		tr.appendChild(td);
		
		input = document.createElement("input");
		input.type = "checkbox";
		input.checked = true;
		input.name = "status_subarea|multiple[]";
		td.appendChild(input);
		
		td = document.createElement("td");
		td.className = "c";
		tr.appendChild(td);
		
		input = document.createElement("input");
		input.type = "checkbox";
		input.name = "excluir_subarea|multiple[]";
		td.appendChild(input);
		
		focar.focus();
	}
}

function hide(){
	var el, loading;
	
	loading = document.getElementsByTagName("body");
	loading[0].style.background = "url('../imagens/ajax-loader.gif') no-repeat 20px 28px;";
	
	el = document.getElementById("imagem");
	el.style.visibility = "hidden";
	
}

function mostra(){ var el = document.getElementById("imagem");	el.style.visibility = "visible"; }

function initResize() {
	var i = (navigator.appName == 'Netscape') ? 20 : 0;
	if (document.images[0]) window.resizeTo(document.images[0].width+44, document.images[0].height+(118+i));
	setTimeout("mostra()", 10);
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function _excluirDireto(){
	var td_excluir = getElementsByClass("excluir",document,"td");
	var a_excluir;
	for(var i=0; i < td_excluir.length; i++){
		if(a_excluir = td_excluir[i].getElementsByTagName("a")[0]){
			if (!a_excluir.onclick) {
				a_excluir.onclick = function(){
					if(confirm(this.title+'?')){
						goUrl(this.href+"/sim");
					}
					return false;
				}
			}
		}
	}
}
Array.prototype.inArray = function (value){
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
}
