// posiciona elementos //
bFs = ($('barrauol')) ? $('barrauol').offsetWidth/76 : 0 ;
function findPos(bId, sum) {
	obj = $(bId);
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) curtop += obj.y;
	return curtop;
}

// equaliza colunas //
function getHeight(id) {
	if ($(id)) return $(id).offsetHeight + findPos(id);
	else return 0;
}

function getMaxHeight(args) {
	maxHeight = getHeight(args[0]);
	for(i=0;i<args.length;i++)	
		maxHeight = Math.max(maxHeight, getHeight(args[i]))
	return maxHeight;
}

function setHeight() {
	maxHeight = getMaxHeight(arguments) 
	for(i=0;i<arguments.length;i++)
		if ($(arguments[i]) && maxHeight != 0 && bFs != 0){
			$(arguments[i]).style.height = (maxHeight - findPos(arguments[i]))/bFs  +'em';
			}
}

// adicionar aqui os IDs das colunas que deseja equalizar 
// estes elementos devem ser DIVs de estruturação, não devem conter padding ou margin
function acerta() {
	setTimeout("setHeight('corpo','col-esquerda','col-centro','col-direita');",500);
}
acerta();
//Esta com settimout para equalizar com a enquete.

// barra UOL //
writeUOLBar(BarraNumero,BarraCor1,BarraCor2);

// copyright //
writeCopyright();

// uol busca //
if($('abas')){
  var ultimaBarraSel = $('abas').getElementsByTagName('a')[0];
}
var docForm = $('form1');
function UOLBusca(s){
    if(ultimaBarraSel!="" && ultimaBarraSel!=s){
        ultimaBarraSel.className="";
        ultimaBarraSel.nextSibling.style.visibility=ultimaBarraSel.previousSibling.style.visibility='visible';
    }

    s.nextSibling.style.visibility=s.previousSibling.style.visibility='hidden';
    s.blur();
    s.className="sel";
    ultimaBarraSel=s;

    dC.formb.skin.disabled=dC.formb.id.disabled=dC.formb.rd.disabled = (s.innerHTML=='Notícias') ? "" : "disabled" ;
    
    if(s.innerHTML=='Web') dC.formb.action = "http://busca.uol.com.br/www/index.html";
    else if(s.innerHTML=='Notícias') dC.formb.action = "http://noticias.busca.uol.com.br/uol/index.html";
    else if(s.innerHTML=='Imagens') dC.formb.action = "http://busca.uol.com.br/imagem/index.html";
    else if(s.innerHTML=='Vídeo') dC.formb.action = "http://busca.uol.com.br/video/index.html";
    else if(s.innerHTML=='Shopping') {dC.formb.action = "http://shopping.uol.com.br/busca.html";buscaprecos();}

    docForm.getElementsByTagName('input')[0].focus();
}

function buscaprecos() {
 var shopClick = document.createElement('img')
 document.getElementsByTagName('body')[0].appendChild(shopClick);
 shopClick.src = 'http://click.uol.com.br/?rf=celebridades-busca-precos&u=http://img.uol.com.br/x.gif';
}

// posiciona elementos na tela
function placePos(bId, pos, sum) {
	if(bFs != 0) $(bId).style.top = (sum+pos)/bFs+'em';		
}

// posiciona banners //
function findPosY(bId, sum) {
	obj = document.getElementById('banner-'+bId+'-area');
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) curtop += obj.y;

	bFs = document.getElementById('corpo').offsetWidth/76;
	document.getElementById('banner-'+bId).style.top = (sum+curtop)/bFs+'em';		
}

// config banners
var DEpopcfg ="POPpers"; // Popup
var DEsite="uolbr";		// Site, este valor tambem é usado no parametro affiliate
var DEchan="person";	// Canal
var DEsubc="capa";		// Subcanal
var Expble=1;					// Alterar para 0 se não houver 240 pixels de espaço abaixo do 468x60 até o final da pagina ou dentro de um frame.
var DEconn=document.body; DEconn.style.behavior='url(#default#clientCaps)'; DEconn=(DEconn.connectionType=='lan')?1:0;

// mostra banners //
var DEt=new Date(); DEt=DEt.getTime(); DErand=Math.floor(DEt*1000*Math.random());
var scw=0,sch=0; if(screen.height){scw=screen.width;sch=screen.height;}
function DEshow(ad,pos,sum){
if(document.getElementById('banner-'+ad+'-area')) {
	document.write('<'+'scr'+'ipt type="text/javascript" src="http://bn.uol.com.br/js.ng/site='+DEsite+'&amp;chan='+DEchan+'&amp;subchan='+DEsubc+'&amp;affiliate='+DEsite+DEchan+'&amp;size='+ad+'&amp;page='+pos+'&amp;conntype='+DEconn+'&amp;expble='+Expble+'&amp;reso='+scw+'x'+sch+'&amp;tile='+DErand+'?"><\/scr'+'ipt>');
	if(ad!='300x250'&&ad!='1x1') findPosY(ad, sum); // se não é popup, posiciona
	}
}

// popup //
if(document.cookie.indexOf(DEpopcfg)==-1) { 
	document.cookie=DEpopcfg+"0"; 
	DEshow('1x1',11); 
	}

// gato necessário para o firefox por culpa do 'maravilhoso' IE7
if(navigator.appName=='Netscape') {
	document.write('<style>#bloco5 #bloco-scroll #frame #rotativo { width:120.6em;position:absolute;top:0;left:-40.2em; }</style>')
}


/*
elGrade   -> Id do elemento onde os links devem ser verificados
linksFora -> Array com as palavras-chave dos links que merecem target
*/
function changeTargetToBlank(elGrade, linksFora)
{
  var $ = function(){return document.getElementById(arguments[0]);}
  var objGrade = $(elGrade) ? $(elGrade) : null;

  if(objGrade == null)
    return false;

  var allLinks = objGrade.getElementsByTagName("a");
  for(var i = 0; i < allLinks.length; i++)
  {
    var objA = allLinks[i];
    if(objA.target == "")
      for(var j = 0; j < linksFora.length; j++)
        if(objA.href.indexOf(linksFora[j]) != -1)
          objA.target = "_blank";
  }
}

function loadFrame( oFrame )
{
  var corpo = oFrame.contentWindow.document.getElementById("corpo");
  oFrame.style.height = corpo.offsetHeight/bFs + "em";
  oFrame.style.width = corpo.offsetWidth/bFs + "em";
  setHeightAgain();
}

changeTargetToBlank("ultnot", ["folha.uol"]);
changeTargetToBlank("ultnot-home", ["folha.uol"]);


// funções para manipular classes de objetos DOM //
getArrayFromClasses = function( obj )
{
  var classes = obj.className.split(" ");
  if( classes.length == 1 && classes[0] == "" )
  {
    classes = new Array();
  }  
  
  return classes;
}

function setClassesStringFromArray( classes )
{
  return classes.join(" ");
}

function addClass( obj, className )
{
  var classes = getArrayFromClasses( obj );
  classes.push( className );
  obj.className = setClassesStringFromArray( classes );
}

function removeClass( obj, className )
{
  var classes = getArrayFromClasses( obj );
  for(i in classes)
  {
    if(classes[i] == className)
    {
      classes.splice(i,1);
    }
  }
  obj.className = setClassesStringFromArray( classes );  
}

function clearClasses( obj )
{
  var classes = new Array();
  obj.className = setClassesStringFromArray( classes );
}

function existsClass( obj, className )
{
  var classes = getArrayFromClasses( obj );
  for(i in classes)
  {
    if(classes[i] == className)
    {
      return true;
    }
  }
  return false;
}

// Altera aba selecionada
function changeAba( obj )
{
  var ul = obj.parentNode.parentNode;
  var a = ul.getElementsByTagName("a");
  
  for(var i=0; i<a.length; i++)
  {
    removeClass( a[i], "ativo" );
  }
  addClass( obj, "ativo" );
}

//gera combo de listas
function generateCombos(){
  var ul = document.getElementsByTagName("ul");
  var ol = document.getElementsByTagName("ol");
  var list = new Array();
  var a;
  var select;
  var option;
  var form;
  var funcao;
  
  for(var i = 0; i < ul.length; i++ ){
    list.push( ul[i] );
  }

  for(var i = 0; i < ol.length; i++ ){
    list.push( ol[i] );
  }
  
  for( i in list ){
    if( list[i].className.indexOf("toCombo") >= 0 ){
      a = list[i].getElementsByTagName("a");
      form = document.createElement("form");
      select = document.createElement("select");
      funcao = list[i].title;
      if (funcao!=""){
        // adicionar a linha abaixo para cada função específica
        //if (funcao=="teste") select.onchange=teste;
      } else {
        select.onchange = function(){
		  var target = this.options[this.selectedIndex].getAttribute("target");
		  if (target=="_blank") window.open(this.value);
		  else location.href=this.value;
        }
      }
      
      for( var j = 0; j < a.length; j++ ){
        option = document.createElement("option");
        
        for( var k = 0; k < a[j].attributes.length; k++ ){
          option.setAttribute( (a[j].attributes[k].nodeName!="href")?a[j].attributes[k].nodeName:"value", a[j].attributes[k].nodeValue );
        }
        option.innerHTML = a[j].innerHTML;
        select.appendChild( option );
      }
     
      form.appendChild( select );  
      list[i].parentNode.insertBefore( form, list[i] );
      list[i].parentNode.removeChild( list[i] );
    }
  }
}
generateCombos();


/**
 * Adiciona o prefixo de click uol nos links de conteúdo.
 * @param {String}  ref     Nome da estação ou alguma referência que identirique de onde vem o click
 * @param {Array}   colunas Array com os divs que deverão ter seus links com click uol
 * @param {Booleam} painel  Se deve colocar click uol no painel rotativo ou não. True = sim / False = não
 **/
function clickUOL(ref, colunas, painel) {

  var $ =  function() { return document.getElementById(arguments[0]); }

  for(var x = 0; x < colunas.length; x++) {

      // Se o elemento existir realmente
      if($(colunas[x])) {
          objA = $(colunas[x]).getElementsByTagName("a");

          // percorre todos os links do bloco
          for(var y = 0; y < objA.length; y++) {

              var lkn   = objA[y].href;
              var refOk = ref + "_" + objA[y].name;

              // A tag a deve possuir um atributo 'name'
              // O link não pode ter 'click.uol'
              // O link deve ser para um domínio 'uol.com.br'
              // Não pode ser um link javascript
              if(objA[y].name != "" && lkn.indexOf("click.uol") == -1 && lkn.indexOf("uol.com.br") != -1 && lkn.indexOf("javascript:") == -1 && lkn.indexOf("void(") == -1 ) {
                  //objA[y].href = objA[y].href.replace(/http(s?):\/\//,"http:\/\/click.uol.com.br/?rf=" + refOk + "&u=http$1:\/\/");
                  objA[y].href = "http://click.uol.com.br/?rf=" + refOk + "&u=" + objA[y].href;
              }

              // Se for um link da Rádio UOL
              if(lkn.indexOf('player.htm')!=-1 || lkn.indexOf('abreradio.htm')!=-1) {
                  objA[y].href='javascript:pop("'+objA[y].href+'")';
              }
          }
      }
  }

    // Click uol no painel rotativo
  if(painel == true) {
      if(typeof Item != "undefined") {
          for(var x = 0; x < Item.length; x++) {
              var lkn   = Item[x][3];
              var refOk = ref + "_rotativo" + (x+1);
              
              if(lkn.indexOf("click.uol") == -1 && lkn.indexOf("uol.com.br") != -1 && lkn.indexOf("javascript:") == -1 && lkn.indexOf("void(") == -1) {
                  Item[x][3] = "http://click.uol.com.br/?rf=" + refOk + "&u=" + Item[x][3];
              }
          }
      }
  }
}

clickUOL("dea", ["modulos-cruzados", "modulos-cruzados-canaval1", "modulos-cruzados-canaval2"],true);

