//Tenta criar o objeto xmlHTTP
try{
    xmlhttp = new XMLHttpRequest();
}catch(ee){
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            xmlhttp = false;
        }
    }
}

//Fila de conexões
fila=[]
ifila=0

//Carrega via XMLHTTP a url recebida e coloca seu valor
//no objeto com o id recebido
function ajaxHTML(id,url,classname,loadphrase){
    //Carregando...
    //document.getElementById(id).innerHTML="<span class='" + classname + "'>" + loadphrase + "</span>";
	document.getElementById(id).innerHTML="<span><img src='dbGrid/loading.gif'>" + loadphrase + "</span>";
    //Adiciona à fila
    fila[fila.length]=[id,url]
    //Se não há conexões pendentes, executa
    if((ifila+1)==fila.length)ajaxRun()
}

//Executa a próxima conexão da fila
function ajaxRun(){
    //Abre a conexão
    xmlhttp.open("GET",fila[ifila][1],true);
    //Função para tratamento do retorno
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4){
            //Mostra o HTML recebido
			texto = xmlhttp.responseText;
			texto = texto.replace(/\+/g," ");
			texto = unescape(texto);
            document.getElementById(fila[ifila][0]).innerHTML=texto
			//Roda o próximo
            ifila++
            if(ifila<fila.length)setTimeout("ajaxRun()",20)
        }
    }
    //Executa
    xmlhttp.send(null)
}

function dbListCheckAll(ref,index) {
  var ckallname = "dbListCheckAll_" + index;
  var ckboxname = "dbListCheckBox_" + index + "[]";
  var chkAll 	= document.getElementById(ckallname);
  var checks 	= document.getElementsByName(ckboxname);
  var rows   	= document.getElementsByTagName('tr');
 
  var boxLength = checks.length;
  var allChecked = false;
  var totalChecked = 0;
  if ( ref == 1 ) {
    if ( chkAll.checked == true ) {
      for ( i=0; i < boxLength; i++ ) {
        checks[i].checked = true;
      }
	  for ( i=0; i < rows.length; i++ ) {
	    if ( (rows[i].className == 'dbLinhaImpar' || rows[i].className == 'dbLinhaPar') && rows[i].id.indexOf('_'+index+'_') != -1 ) {
			rows[i].className = 'dbLinhaSelecionada';
			rows[i].setAttribute('mclass','dbLinhaSelecionada');
		}
	  }
    }
    else {
      for ( i=0; i < boxLength; i++ ) {
		checks[i].checked = false;
      }
	  for ( i=0; i < rows.length; i++ ) {
		if (rows[i].className == 'dbLinhaSelecionada' && rows[i].id.indexOf('_'+index+'_') != -1) {
			rows[i].className = rows[i].getAttribute('oclass');
			rows[i].setAttribute('mclass',rows[i].getAttribute('oclass'));
		}
	  }
    }
  }
  else {
    for ( i=0; i < boxLength; i++ ) {
      if ( checks[i].checked == true ) {
        allChecked = true;
        continue;
      }
      else {
        allChecked = false;
        break;
      }
    }
    if ( allChecked == true ) {
      chkAll.checked = true;
    }
    else {
      chkAll.checked = false;
    }
  }
}

function dbListCheck(ref,index) {
  var ckallname = "dbListCheckAll_" + index;
  var ckboxname = "dbListCheckBox_" + index + "[]";
  var chkAll = document.getElementById(ckallname);
  var checks = document.getElementsByName(ckboxname);
 
  var boxLength = checks.length;
  var allChecked = false;
  var totalChecked = 0;
  
  for ( i=0; i < boxLength; i++ ) {
    if (checks[i].checked == false) {
		chkAll.check = false;
		break;
	} else {
		chkAll.check = true;	
	}
  }

}

function clearColorRow(tipo_input) {
	var rows = document.getElementsByTagName("tr");
	if (tipo_input=="radio") {
		for (var i=0; i<rows.length; i++) {
			if (rows[i].className = 'dbLinhaSelecionada') {
				rows[i].className = rows[i].getAttribute('oclass');
				rows[i].setAttribute('mclass',rows[i].getAttribute('oclass'))
			}
		}
	}
}

function checkRow(chk_id,row,class_name) {
	var chk = document.getElementById(chk_id);
	if (chk.checked) {
		chk.checked = false;
		row.className = class_name;
		row.setAttribute('mclass',class_name);
	} else {
		chk.checked = true;
		clearColorRow(chk.type);
		row.className = 'dbLinhaSelecionada';
		row.setAttribute('mclass','dbLinhaSelecionada');
	}
}

function check_mark(chk,class_name) {
	var row = chk.parentNode.parentNode;
	checkRow(chk.id,row,class_name);
}

// overChangeColorRow
function overCCR(row) {
	row.className = 'dbLinhaComMouseEmCima';
}

function outCCR(row) {
	row.className = row.getAttribute('mclass');
}