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

Version: 	2.0 - 2009/2010
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;
  }
}

/*-----------------------------------------------------------------------
 =ABRIR e FECHAR
-----------------------------------------------------------------------*/
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-corpo.css");
	link.setAttribute("media", "screen");
	document.getElementsByTagName("head")[0].appendChild(link);
}

/*-----------------------------------------------------------------------
 =ABRIR e FECHAR CONTEUDOS
-----------------------------------------------------------------------*/
function fOpenTexto(id) {
  var divs = getElementsByClassName(document, "div", "openTxt");
  var links = getElementsByClassName(document, "a", "openLink");
  var titulo = getElementsByClassName(document, "h3", "openTitle");
  
  for (var i=0; i<divs.length; i++ ) {
    if (divs[i].className.indexOf("openTxt") == -1) continue;
    if (divs[i].getAttribute("id") == id) {
			if (addClass("check",divs[i],"showTxt")){
					addClass("remove",divs[i],"showTxt");
					addClass("remove",links[i],"on");
			} else {
					addClass("add",divs[i],"showTxt");
					addClass("add",links[i],"on");
			}
    } else {
	  		addClass("remove",divs[i],"showTxt");
			addClass("remove",links[i],"on");
    }
  }
}

function iniciarAcordeao() {
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	var links = getElementsByClassName(document, "a", "openLink");
  var texto = getElementsByClassName(document, "div", "openTxt");
	if (links[0]==null) return false; //se nao tem links sai da iteracao
  	//Colocar hrefs e Ids  (numero de link tem de ser igual a texto)
 	for (var i=0; i<links.length; i++ ) {
  	links[i].setAttribute("href","#idOPEN"+i) ;
    texto[i].setAttribute("id","idOPEN"+i);
  	}
  	//
	for (var i=0; i<links.length; i++ ) {
   	var sectionId = links[i].getAttribute("href").split("#")[1];
			links[i].destination = sectionId;
    	links[i].onclick = function() {
      	fOpenTexto(this.destination);
      	//return false;
    	}
   }
}

/*-----------------------------------------------------------------------
 =ABRIR e FECHAR CONTEUDOS - Desaparece link
-----------------------------------------------------------------------*/
function fOpenTexto2(id) {
  var divs = getElementsByClassName(document, "div", "hideTxt");
	//var links = getElementsByClassName(document, "a", "openLink");
  for (var i=0; i<divs.length; i++ ) {
    if (divs[i].className.indexOf("hideTxt") == -1) continue;
    if (divs[i].getAttribute("id") == id) {
			if (addClass("check",divs[i],"showTxt")){
					addClass("remove",divs[i],"showTxt");
			} else {
					addClass("add",divs[i],"showTxt");
			}
    } else {
	  		addClass("remove",divs[i],"showTxt");
    }
  }
}
// =Desactivar o botao ao clicar
function fBtnLink(clicado){
	var links = getElementsByClassName(document, "a", "showLink");
	for (var i=0; i<links.length; i++ ) {
  	links[i] == clicado ?  links[i].style.display="none" : links[i].style.display="inline";
	}
}

function iniciarAcordeao2() {
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	var links = getElementsByClassName(document, "a", "showLink");
	var links2 = getElementsByClassName(document, "a", "hideLink");
  	var texto = getElementsByClassName(document, "div", "hideTxt");
	if (links[0]==null) return false; //se nao tem links sai da iteracao
  	//Colocar hrefs e Ids  (numero de link tem de ser igual a texto)
 	for (var i=0; i<links.length; i++ ) {
  	links[i].setAttribute("href","#idHIDE"+i);
	links2[i].setAttribute("href","#idHIDE"+i)
    texto[i].setAttribute("id","idHIDE"+i);
  	}
  	//
	for (var i=0; i<links.length; i++ ) {
   	var sectionId = links[i].getAttribute("href").split("#")[1];
			links[i].destination = sectionId;
    	links[i].onclick = function() {
      	fOpenTexto2(this.destination);
				fBtnLink(this);
      	return false;
    	}
	}
	for (var i=0; i<links2.length; i++ ) {
   	var sectionId = links2[i].getAttribute("href").split("#")[1];
			links2[i].destination = sectionId;
    	links2[i].onclick = function() {
      	fOpenTexto2(this.destination);
				fBtnLink(this);
      	return false;
    	}
   }
}
/*-----------------------------------------------------------------------
=Limpar Formulario de Pesquisa
-----------------------------------------------------------------------*/
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() {
  	formId = document.forms["formPesquisar"]; //forms k quero que possam ser limpos
	formId2 = document.forms["formNewsletter"]; //forms k quero que possam ser limpos
  	for (var i=0; i<document.forms.length; i++) {
    if (document.forms[i]!= formId && document.forms[i]!= formId2) continue; //se nao e' o form k defini, sai do loop
    var thisform = document.forms[i];
    limparForms(thisform);
  }
}



/*-----------------------------------------------------------------------
=Inserir E-mails correctos: Obrigatorio class="email", e [-at-]
-----------------------------------------------------------------------*/
 function iniciarEmails() {
	if (!document.getElementsByTagName) return false;
	var vMails = getElementsByClassName(document, "a", "email");
  for (var i=0; i<vMails.length; i++) {
  	if(vMails[i].className && vMails[i].className=="email"){
    	var mailToReplace = vMails[i].firstChild;
      var mailReal = mailToReplace.nodeValue.replace("[-at-]","@");
      mailToReplace.nodeValue = mailReal;
      mailToReplace.parentNode.setAttribute("href","mailto:"+mailReal);
  	}
	}
}



/* =Preparar Eventos
-----------------------------------------------------------------------*/
addLoadEvent(iniciarAcordeao);
addLoadEvent(iniciarAcordeao2);
addLoadEvent(iniciarForms);
addLoadEvent(iniciarEmails);

