var row = 0;
var rpp = 3;
var recordcount = 0;
var pagecount = 0;
var cols = 0;
var srordering;
var srorderby;
var setaimage = "";
var array = new Array();
var srxml = null;;
var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1;
var mousex;
var mousey;
var cidadeclick;

var requester  = null
try
{
  var requester = new XMLHttpRequest();
}
catch (error)
{
  try
  {
    var requester = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch (error)
  {
  }
}

function clicked(who)
{
  srxml.getElementsByTagName("r")[who].setAttribute('ckd', '1');
}

function dadosfilHandler()
{
  if (requester.readyState == 4)
  {
    if (requester.status == 200)
    {
      //var data = requeste.responseXML.getElementsByTagName("cidade")[0].childNodes;
      var data = requester.responseText;

      document.getElementById('divfil').innerHTML = "<br>";

      if (document.getElementById('nomecidade'))
        document.getElementById('divfil').innerHTML += 
         "<table border=0 cellspacing=0 cellpadding=0>" + 
         "<tr><td width=110 align=right>Cidade:</td><td width=370 style='color:blue'><b>" + 
         document.getElementById('nomecidade').innerHTML + 
         "</b></td></tr></table>";

      document.getElementById('divfil').innerHTML += 
       "<table border=0 cellspacing=0 cellpadding=0>" + 
       "<tr><td width=110 align=right>Cidade:&nbsp;</td><td width=370 style='color:blue'><b>" + 
       unescape(cidadeclick) + 
       "</b></td></tr></table>" +
       data;
    }
    else
    {
      requester.abort();
      return false;
    }
    requester.abort();
  }
  return true;
}

/*
//=============================================================================
*/
function moveto(pageno)
{
  row = pageno;
  if (pageno < pagecount)
    fillTable(row); 
  else
  {
    row = 0;
    fillTable(row);
  }

  document.cookie="sr_pageno="+row;
}

/*
//=============================================================================
*/
function movenext()
{
  if ((row + 1) < pagecount)
  {
    row++;
    fillTable(row)
    document.cookie="sr_pageno="+row;
  }
}

/*
//=============================================================================
*/
function moveprevious()
{
  if (row > 0) 
  {
    row--;
    fillTable(row)
    document.cookie="sr_pageno="+row;
  }
}

/*
//=============================================================================
*/
function findTable(id)
{
  id = "#" + id;
  var tables = document.getElementsByTagName("table");
  var i;
  for (i=0; i < tables.length; i++) 
  {
    var table = tables[i];
    if (table.getAttribute("datasrc") == id)
    return table;
  }
  return null;
}
function getSrcFieldValues(xml, fieldNames)
{
  var i;
  for (i=0; i < fieldNames.length; i++) 
  {
    var field = fieldNames[i];
  }
}
/*
//=============================================================================
*/
function loadTableData(valor)
{
  var i;

  // XML neles !
  if (document.getElementById('xmlsr'))
    xmltext = document.getElementById('xmlsr').innerHTML;
  else
  {
    totalid(); // para os links name=auto
    return false;
  }

  // code for IE
  if (window.ActiveXObject)
  {
    srxml=new ActiveXObject("Microsoft.XMLDOM");
    srxml.async="false";
    srxml.loadXML(xmltext);
  }
  // code for Mozilla, Firefox, Opera, etc.
  else
  {
    var parser=new DOMParser();
    xmltext = xmltext.replace(/&nbsp;/g,"&amp;nbsp;");
    xmltext = xmltext.replace(/\n/g,"");
    srxml=parser.parseFromString(xmltext,"text/xml");
  }

  var tt = srxml.getElementsByTagName("r");

  //qtde de colunas
  try {cols = tt[0].childNodes.length;}
  catch (error) {cols = 0;}

  getDataFieldNames();

  recordcount = tt.length;
  pagecount   = recordcount / rpp ;

  if (valor)
  {
    if (valor > parseInt(pagecount))
      row = parseInt(pagecount) - 1;
    else
      row = valor - 1;
    fillTable(row);
  }
  else
    fillTable(0);

  totalid();

  if ((typeof sr_com_accept) != 'undefined')
    marcacoluna();

}

function focus_last()
{
  window.scrollBy(0,100000);
}
/*
//=============================================================================
*/
function sortme(orderno, fldkind)
{
  order = array[orderno];

  // code for IE
  if (orderno == srorderby)
  {
    if (srordering == 'ascending')
      srordering = 'descending';
    else
      srordering = 'ascending';
  }
  else
    srordering = 'ascending';

  if (srordering == 'ascending')
    setaimage = "background: #878787;"
  else
    setaimage = "background: #878787;"

/*
  if (srordering == 'ascending')
    setaimage = "&#9650;"
  else
    setaimage = "&#9660;"
*/

  srorderby = orderno;
  // Load the XSL
  xsltext = '<?xml version="1.0" encoding="ISO-8859-1"?>' +
            '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' +
            '<xsl:template match="/">' +
            '<rs>' +
            '<xsl:for-each select="rs/r">' + '\n';
  if (fldkind == "A")
  {xsltext=xsltext+'<xsl:sort select="' + order + '" order="' + srordering + '"/>' + '\n'};
  if (fldkind == "N")
  {
    xsltext=xsltext+'<xsl:sort select="translate(translate(translate(translate(' + order + ', \'&lt;FONT COLOR=BLUE&gt;\', \'\'), \'&lt;/font&gt;\', \'\'),\'.\',\'\'),\',\',\'.\')" order="' + srordering + '" data-type="number"/>' + '\n'
  }
  if (fldkind == "D")
  {
    xsltext=xsltext + 
    '<xsl:sort select="substring-after(substring-after(' + order + ', \'/\'), \'/\')" order="' + 
    srordering + '" data-type="number" />' + '\n'+
    '<xsl:sort select="substring-before(substring-after(' + order + ', \'/\'), \'/\')" order="' +
    srordering + '" data-type="number" />' +'\n'+
    '<xsl:sort select="substring-before(' + order + ', \'/\')" order="' + srordering + '" data-type="number" />';
  }
  if (fldkind == "DT")
  {
    xsltext=xsltext +
    '<xsl:sort select="substring-after(substring-after(' + order + ', \'/\'), \'/\')" order="' +
    srordering + '" data-type="number" />' + '\n'+
    '<xsl:sort select="substring-before(substring-after(' + order + ', \'/\'), \'/\')" order="' +
    srordering + '" data-type="number" />' +'\n'+
    '<xsl:sort select="substring-before(' + order + ', \'/\')" order="' + srordering + '" data-type="number" />' +
    '<xsl:sort select="substring-before(substring-after(' + order + ', \' \'), \':\')" order="' +
    srordering + '" data-type="number" />' + '\n'+
    '<xsl:sort select="substring-after(substring-after(' + order + ', \' \'), \':\')" order="' +
    srordering + '" data-type="number" />' + '\n';
  }
  if (fldkind == "T")
  {
    xsltext=xsltext +
    '<xsl:sort select="substring-before(' + order + ', \':\')" order="' +
    srordering + '" data-type="number" />' + '\n'+
    '<xsl:sort select="substring-after(' + order + ', \':\')" order="' + srordering + '" data-type="number" />';
  }
  xsltext=xsltext+'<r>';

  xsltext=xsltext+'<xsl:attribute name="ckd">';
  xsltext=xsltext+'<xsl:value-of select="@ckd"/>';
  xsltext=xsltext+'</xsl:attribute>';

  for (i=0;i<array.length;i++)
    xsltext=xsltext+'<'+array[i]+'><xsl:value-of select="'+array[i]+'"/></'+array[i]+'>';

  xsltext=xsltext+
          '</r>' +
          '</xsl:for-each>' +
          '</rs>' +
          '</xsl:template>' +
          '</xsl:stylesheet>';
  // code for IE
  if (window.ActiveXObject)
  {
    var xsl=new ActiveXObject("Microsoft.XMLDOM");
    xsl.async="false";
    xsl.loadXML(xsltext);
    // aplica o XSL
    srxml.loadXML(srxml.transformNode(xsl))
    //document.getElementById('xmlsr').LOAXML(srxml.transformNode(xsl));
  }
  // code for Mozilla, Firefox, Opera, etc.
  else
  {
    var parser=new DOMParser();
    var xsl=parser.parseFromString(xsltext,"text/xml");
    // aplica o XSL
    var xsltProcessor = new XSLTProcessor();
    xsltProcessor.importStylesheet(xsl);
    var resultDocument = xsltProcessor.transformToFragment(srxml, document);
    srxml.replaceChild(resultDocument, srxml.firstChild);
  }

  if ((typeof sr_com_accept) == 'undefined')
    setTimeout('fillTable(0);totalid();', 10);
  else
    setTimeout('fillTable(0);totalid();marcacoluna();', 10);

}
function setohn(){ohn=1}
function showmapasr(param)
{
  var tagname
  ican=false;
  tagname = '_blank';
  action = "http://www.ssw.inf.br/mapa/mapa.php?" + param;
  janela=window.open(action, tagname, "fullscreen=0,menubar=0,location=0,toolbar=0,status=0," +
                                      "scrollbars=0,resizable=0,width=655" +
                                      ",height=720,top=1,left=1");
  setTimeout('ican=true', 100);
  return true;
}

function showfil(fil,cidade)
{
  document.getElementById('divfil').style.left = (parseInt(mousex) - 25) + 'px';
  document.getElementById('divfil').style.top = (parseInt(mousey) - 152) + 'px';
  document.getElementById('divfil').innerHTML = "";
  document.getElementById('divfil').style.visibility = "visible";
  cidadeclick = cidade;
  dadosfil(fil)
}

function showfil3(fil,oobj)
{
  document.getElementById('divfil').style.left = (parseInt(mousex) - 25) + 'px';
  document.getElementById('divfil').style.top = (parseInt(mousey) - 152) + 'px';
  document.getElementById('divfil').innerHTML = "";
  document.getElementById('divfil').style.visibility = "visible";
  cidadeclick = oobj.parentNode.parentNode.childNodes[2].innerText;
  dadosfil(fil)
}

function showfil2(fil,emp)
{
  document.getElementById('divfil').style.left = (parseInt(mousex) - 25) + 'px';
  document.getElementById('divfil').style.top = (parseInt(mousey) - 152) + 'px';
  document.getElementById('divfil').innerHTML = "";
  document.getElementById('divfil').style.visibility = "visible";
  cidadeclick = document.getElementById("cidadeori").value;
  dadosfil(fil, emp)
}

function mousemoves(e)
{
  var dsoctop = (window.pageYOffset)?window.pageYOffset:(document.documentElement && document.documentElement.scrollTop)?document.documentElement.scrollTop:document.body.scrollTop;
  if (ie)
  {
    var dsocleft=parseInt(document.body.scrollLeft);
    //var dsoctop=parseInt(document.body.scrollTop);
    mousex = event.clientX + dsocleft;
    mousey = event.clientY + dsoctop;
    return false;
  }
  else
  {
    mousex = e.pageX;
    mousey = e.pageY;
    return false;
  }
}

document.onmousemove = mousemoves;


