var ImgAjax = "<center><img src=\"img/loading.gif\" alt=\"Carregando... Aguarde.\" border=\"0\"/>";

function openAjax() {
  var ajax;
  try {
    ajax = new XMLHttpRequest();
  } catch(ee) {
    try {
      ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(E) {
        ajax = false;
      }
    }
  }
  return ajax;
}
//  Funções do PHP
function echo(str){window.alert(str);}
function print(str){window.alert(str);}

function _some_valor(o,v) {
  if (o.value==v) {
    o.value="";
  }
}
function _volta_valor(o,v) {
  if(o.value=="") {
    o.value=v;
  }
}
function require_once(arquivo){
  var novo = document.createElement('script');
  novo.setAttribute('type', 'text/javascript');
  novo.setAttribute('src', arquivo);
  document.getElementsByTagName('head')[0].appendChild(novo);
}
/***************************************
*  Função de popup de janelas
****************************************/
function popup(url, intWi, intHei, scr, nome, intTop, intLeft, resize) {
  if (intLeft == null){
    intLeft = 10
    intTop  = 10
  }
  var janela = null
  janela=window.open(url,nome,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scr+',resizable='+resize+',menubar=no,width=' + intWi + ',height=' + intHei+ ', left=' + intLeft + ', top=' + intTop + '');
}

function _mascaraData(campoData) {
  var data = campoData.value;
  var temp = campoData;
  if (data.length == 2) {
    data = data + '/';
    temp.value = data;
    return true;
  }
  if (data.length == 5){
    data = data + '/';
    temp.value = data;
    return true;
  }
}

function checar_email(mail){
  var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
  if(typeof(mail) == "string"){
    if(er.test(mail)){
        return true;
    } else {
      return false;
    }
  } else if(typeof(mail) == "object"){
    if(er.test(mail.value)){
      return true;
    } else {
      return false;
    }
  } else {
    return false;
  }
}


function _post_request(pg, parametros, div) {
  if(document.getElementById) {
    var d = document.getElementById(div);
    var ajax = openAjax();
    ajax.open("POST", pg , true);
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader("Content-length", parametros.length);
    ajax.setRequestHeader("Connection", "close");
    ajax.setRequestHeader("Pragma", "no-cache");
    ajax.onreadystatechange = function() {
      if(ajax.readyState == 4) { 
        if(ajax.status == 200) { 
          var r = ajax.responseText; 
          r = r.replace(/\+/g, " "); 
          r = unescape(r); 
          d.innerHTML = r;
        }
      }
    }
    ajax.send(parametros);
  }
}

function _some_valor(o,v) {
  if (o.value==v) {
    o.value="";
  }
}

function _volta_valor(o,v) {
  if(o.value=="") {
    o.value=v;
  }
}

function _escondeDivFundo() {
  document.getElementById('DivFundo').style.display='none';
}
function _mostraDivFundo() {
  document.getElementById('DivFundo').style.display='block';
}

function getURL(form){
  var form = form;
  var url  = "";
  var erro = false;
  for (i = 0; i < form.length; i ++ ) {
    // Caso seja um do tipo radio
    if (form[i].type == "radio") {
      if (form[i].checked) {
        url += form[i].id + "=" + form[i].value + "&";
      }
    }
    // Caso seja um input do tipo texto
    if (form[i].type == "text") {
      url += form[i].id + "=" + form[i].value + "&";
    }
    if (form[i].type == "textarea") {
      url += form[i].id + "=" + form[i].value + "&";
    }
    if (form[i].type == "password") {
      url += form[i].id + "=" + form[i].value + "&";
    }
    if (form[i].type == "select") {
      url += form[i].id + "=" + form[i].value + "&";
    }
    // Caso seja um input do tipo hidden
    if (form[i].type == "hidden") {
      url += form[i].id + "=" + form[i].value + "&";
    }
    // Caso seja um checkbox
    if (form[i].type == "checkbox") {
      if (form[i].checked) {
        url += form[i].id + "=" + form[i].value + "&";
      }
      else {
        url += form[i].id + "=&";
      }
    }
    // Caso seja do tipo SELECT
    if (form[i].tagName == "SELECT") {
      var sel = form[i];
      url += sel.id + "=" + sel.options[sel.selectedIndex].value + "&";
    }
  }
  return url;
}
/**
*  Esta função verifica se o valor informado contem somente numeros ou nao
*/
function numero (valor) {
  var er = /^[0-9]+$/;
  if(valor==0) {
    return false;
  } else {
    return (er.test(valor)) ? true : false;
  }
}
function is_int(v) {
  var er = /^[0-9]+$/;
  return (er.test(v)) ? true : false;
}
/*
*  Validação de Radio Buttons
*/
function checaRadio(f,r) {
  marcado = -1
  for (i=0; i<r.length; i++) {
  	if (r[i].checked) {
      marcado = i
      resposta = r[i].value
    }
  }

  if (marcado == -1) {
    return false;
  } else { 
    return true; 
  } 
}

function _alert_on() {
  _mostraDivFundo();
  document.getElementById('alert_on').style.display="block";
}

function _alert_off() {
  _escondeDivFundo();
  document.getElementById('alert_on').style.display="none";  
}

function _excluir(p,m,a,s,id) {
  var url = "";
  if(confirm('Deseja realmente excluir este registro?')==true) {
    if(p) {
      url += p+"?";
    } else {
      url += "?";
    }

    if(m) {
      url += "m="+m;
    }
    if(a) {
      url += "&action="+a;
    }
    if(s) {
      url += "&subaction="+s;
    }
    if(id) {
      url += "&id="+id;
    }
    window.location=(url);
  }
}

function menor10(v) {
  if (v.length==1) {
    var temp;
    temp = "0" + v;
    return temp;
  } else {
    return v;
  }
}

function Relogio(){
  momentoAtual = new Date();
  hora = momentoAtual.getHours();
  minuto = momentoAtual.getMinutes();
  segundo = momentoAtual.getSeconds();

  var horaStr = "";
  horaStr += hora;
  horaStr = menor10(horaStr);
  
  var minutoStr = "";
  minutoStr += minuto;
  minutoStr = menor10(minutoStr);
  minuto = menor10(minuto);
  
  var segundoStr = "";
  segundoStr += segundo;
  segundoStr = menor10(segundoStr);
  
  horaImprimivel = horaStr + ":" + minutoStr + ":" + segundoStr;
  document.getElementById('Relogio').innerHTML = horaImprimivel;
  setTimeout("Relogio()",1000)
}

function ShellPaginator(d,url) {
  new Ajax.Request(url,{
    method:'get',
    onComplete: function(transport) {
      $(d).innerHTML = transport.responseText;
    }
  });
}


/*------------------------------------------------------------------------------------------*/
// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function base64_encode(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);

   return output;
}

// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function base64_decode(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

function getPageSize(){
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
}
