/*--------------------------------------------------------------------
JAVASCRIPT "usados ao longo do site" - workvalue

Version: 	1.0 - 2008/2008
author: 	Burocratik (alexandre gomes)
email: 		alex@burocratik.com
website: 	http://www.burocratik.com
-----------------------------------------------------------------------*/

/* =Open new window e Mandar Imprimir
-----------------------------------------------------------------------*/
document.onclick = function(e){
  var target = e ? e.target : window.event.srcElement; //teste para FF-IE
  while (target && !/^(a|body)$/i.test(target.nodeName)){target = target.parentNode;}
	//Open new window
  if (target && target.getAttribute("rel")&& target.rel == "external"){
    var linkExterno = window.open(target.href);
    return linkExterno.closed;
  }
	//Mandar Imprimir
  if (target && target.getAttribute("rel")&& target.rel == "print"){
    var imprimir = window.print();
    return false;
  }	
}

/* =Limpar Formularios
-----------------------------------------------------------------------*/
function limparForms(qualform) {
  for (var i=0; i<qualform.elements.length; i++) {
    var element = qualform.elements[i];
    if (element.type == "submit")continue; //se o elemento for um submit passa a proxima iteracao do loop
	 if (element.type == "button") continue; //se o elemento for um button passa a proxima iteracao do loop
    if (!element.defaultValue) continue; 
    element.onfocus = function() {
    if (this.value == this.defaultValue) {
      this.value = "";
     }
    }
    element.onblur = function() {
      if (this.value == "") {
        this.value = this.defaultValue;
      }
    }
  }
}
//passar cada object form para a funcao limparForms()
function iniciarForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    limparForms(thisform);
  }
}


/* =ABRIR E FECHAR BLOCOS: coloca-los todos fora do stage do on.load
-----------------------------------------------------------------------*/
var W3CDOM = (document.getElementsByTagName && document.createElement);
if (W3CDOM){
	var link = document.createElement('link');
	link.setAttribute("rel", "stylesheet");
	link.setAttribute("type", "text/css");
	link.setAttribute("href", "scripts/javascript-index.css");
	link.setAttribute("media", "screen");
	document.getElementsByTagName("head")[0].appendChild(link);
}

/* =ABRIR E FECHAR BLOCOS: abrir e fechar os blocos
-----------------------------------------------------------------------*/
function fVisivel(id) {
  var divs = document.getElementsByTagName("div");
  for (var i=0; i<divs.length; i++ ) {
    if (divs[i].className.indexOf("txtRestante") == -1) continue;
    if (divs[i].getAttribute("id") == id) {
		if (addClass("check",divs[i],"show")){ //verifica se ja apliquei a class (isto e' se ja estava aberto)
			addClass("remove",divs[i],"show"); //tira a class
		} else {
			addClass("add",divs[i],"show"); //adiciona nova class, esta funcao esta em geral.js
		}	
    } else {
	  addClass("remove",divs[i],"show"); //remove nova class, esta funcao esta em geral.js
    }
  }
}
// =Desactivar o botao ao clicar
function fBotao(clicado){
	var links = getElementsByClassName(document, "a", "linkTexto");
	for (var i=0; i<links.length; i++ ) {
		if (links[i] == clicado) {
		if (addClass("check",links[i],"hide")){ //verifica se ja apliquei a class linkOn (isto e' se ja estava aberto)
				addClass("remove",links[i],"hide"); //tira a class
			} else {
				addClass("add",links[i],"hide"); //adiciona nova class, esta funcao esta em geral.js
			}
	   } else {
			addClass("remove",links[i],"hide"); 
    	}
	}
}

function iniciarLinks() {
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	var links = getElementsByClassName(document, "a", "linkTexto");
	for (var i=0; i<links.length; i++ ) {
   	var sectionId = links[i].getAttribute("href").split("#")[1];
    	if (!document.getElementById(sectionId)) continue;
  	    links[i].destination = sectionId;
    	  links[i].onclick = function() {
		    fBotao(this);
      	fVisivel(this.destination);
      	return false;
    	} 
	}
}


/* =Preparar Eventos
-----------------------------------------------------------------------*/
addLoadEvent(iniciarForms);
addLoadEvent(iniciarLinks);