// Função para iniciarmos o Ajax no browser do cliente.
function openAjax() {

var ajax;

try{
    ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
}catch(ee){
    try{
        ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
    }catch(e){
        try{
            ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
        }catch(E){
            ajax = false;
        }
    }
}
return ajax;
}

// Função que realiza a busca instantânea

function abre(id, url) {
	
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		
		var exibeResultado = document.getElementById(id); // div que exibirá o resultado da busca.
		
			var ajax = openAjax(); // Inicia o Ajax.
			ajax.open("GET", url, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<center>Carregando...</center>";
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						
						var resultado2 = resultado;			
						
						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						resultado = unescape(resultado); // Resolve o problema dos acentos
						exibeResultado.innerHTML = resultado;
						
						
						
    					
						
						
					} else {
						exibeResultado.innerHTML = "<center>Erro!</center>";
					}
				}
			}
			ajax.send(null); // submete
		
	}
}	

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function atualiza_subc(cat){
	//alert(cat);
	abre('subc','produtos/subcategoria.php?cat='+cat);
}
function atualiza_sublink(val){
	//alert(val);
	abre('divsublink','paginas/sublinks.php?link='+val);
}	


function addfavoritos(vUrl,vDescricao, vRetorno)
{
  window.external.AddFavorite(vUrl,vDescricao);
  if (vRetorno==null)
  {
    //não retorna nada
  }
  else
  {
    //retorna qualquer coisa que você definir em vRetorno 
    //obs.: aplicavel ao caso de querer retornar uma outra função ou o valor de outra função
    return vRetorno;
  };
};

function paginicial(vId, vUrl, vRetorno)
{
  var ns = (navigator.appName == "Netscape");
  var ie = (navigator.appName == "Microsoft Internet Explorer");
  if(ie)
  {
    vId.style.behavior='url(#default#homepage)';
    vId.setHomePage(vUrl);
  } 
  else if(ns)
  {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesWrite");
    navigator.preference("browser.startup.homepage", vUrl);
  };

  if (vRetorno==null)
  {
    //não retorna nada
  }
  else
  {
    //retorna qualquer coisa que você definir em vRetorno 
    //obs.: aplicavel ao caso de querer retornar uma outra função ou o valor de outra função
    return vRetorno;
  };
};



function imgTroca(id,src){
	document.getElementById(id).src=src;
}



function atualizatexto(id, str){	
	var exibeResultado = document.getElementById(id); // div que exibirá o resultado da busca.
	var resultado = str;
	resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
	resultado = unescape(resultado); // Resolve o problema dos acentos
	exibeResultado.innerHTML = resultado;	
}

function escondeGeral(id){
	//alert('esconde'+i);
	var obj = document.getElementById(id);
	//if(obj.style.visibility == "visible"){
		obj.style.visibility = "hidden";
		obj.style.display = "none";
	//}
}



function escondeMostra(id){
	var obj = document.getElementById(id);
	if(obj.style.visibility == "visible"){
		obj.style.visibility = "hidden";
		obj.style.display = "none";
	} else {
		obj.style.visibility = "visible";
		obj.style.display = "block";
	}
}

function esconde(i){
	//alert('esconde'+i);
	var obj = document.getElementById(i);
	//if(obj.style.visibility == "visible"){
		obj.style.visibility = "hidden";
		obj.style.display = "none";
		
	//}
}
function mostra(i){
	//alert('mostra'+i);
	var obj = document.getElementById(i);
	//if(obj.style.visibility == "hidden"){
		obj.style.visibility = "visible";
		obj.style.display = "block";
	//}
}

function aviso_pelicula(str){	
	var exibeResultado = document.getElementById('conteudo_pelicula'); // div que exibirá o resultado da busca.
	var resultado = str;
	
	exibeResultado.innerHTML = resultado;
	mostra('pelicula');
}





documentall = document.all;

function formatamoney(c) {
    var t = this; if(c == undefined) c = 2;		
    var p, d = (t=t.split("."))[1].substr(0, c);
    for(p = (t=t[0]).length; (p-=3) >= 1;) {
	        t = t.substr(0,p) + "." + t.substr(p);
    }
    return t+","+d+Array(c+1-d.length).join(0);
}

String.prototype.formatCurrency=formatamoney

function demaskvalue(valor, currency){
/*
* Se currency é false, retorna o valor sem apenas com os números. Se é true, os dois últimos caracteres são considerados as 
* casas decimais
*/
var val2 = '';
var strCheck = '0123456789';
var len = valor.length;
	if (len== 0){
		return 0.00;
	}

	if (currency ==true){	
		/* Elimina os zeros à esquerda 
		* a variável  <i> passa a ser a localização do primeiro caractere após os zeros e 
		* val2 contém os caracteres (descontando os zeros à esquerda)
		*/
		
		for(var i = 0; i < len; i++)
			if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;
		
		for(; i < len; i++){
			if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);
		}

		if(val2.length==0) return "0.00";
		if (val2.length==1)return "0.0" + val2;
		if (val2.length==2)return "0." + val2;
		
		var parte1 = val2.substring(0,val2.length-2);
		var parte2 = val2.substring(val2.length-2);
		var returnvalue = parte1 + "." + parte2;
		return returnvalue;
		
	}
	else{
			/* currency é false: retornamos os valores COM os zeros à esquerda, 
			* sem considerar os últimos 2 algarismos como casas decimais 
			*/
			val3 ="";
			for(var k=0; k < len; k++){
				if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);
			}			
	return val3;
	}
}

function reais(obj,event){

var whichCode = (window.Event) ? event.which : event.keyCode;
/*
Executa a formatação após o backspace nos navegadores !document.all
*/
if (whichCode == 8 && !documentall) {	
/*
Previne a ação padrão nos navegadores
*/
	if (event.preventDefault){ //standart browsers
			event.preventDefault();
		}else{ // internet explorer
			event.returnValue = false;
	}
	var valor = obj.value;
	var x = valor.substring(0,valor.length-1);
	obj.value= demaskvalue(x,true).formatCurrency();
	return false;
}
/*
Executa o Formata Reais e faz o format currency novamente após o backspace
*/
FormataReais(obj,'.',',',event);
} // end reais


function backspace(obj,event){
/*
Essa função basicamente altera o  backspace nos input com máscara reais para os navegadores IE e opera.
O IE não detecta o keycode 8 no evento keypress, por isso, tratamos no keydown.
Como o opera suporta o infame document.all, tratamos dele na mesma parte do código.
*/

var whichCode = (window.Event) ? event.which : event.keyCode;
if (whichCode == 8 && documentall) {	
	var valor = obj.value;
	var x = valor.substring(0,valor.length-1);
	var y = demaskvalue(x,true).formatCurrency();

	obj.value =""; //necessário para o opera
	obj.value += y;
	
	if (event.preventDefault){ //standart browsers
			event.preventDefault();
		}else{ // internet explorer
			event.returnValue = false;
	}
	return false;

	}// end if		
}// end backspace

function FormataReais(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;

//if (whichCode == 8 ) return true; //backspace - estamos tratando disso em outra função no keydown
if (whichCode == 0 ) return true;
if (whichCode == 9 ) return true; //tecla tab
if (whichCode == 13) return true; //tecla enter
if (whichCode == 16) return true; //shift internet explorer
if (whichCode == 17) return true; //control no internet explorer
if (whichCode == 27 ) return true; //tecla esc
if (whichCode == 34 ) return true; //tecla end
if (whichCode == 35 ) return true;//tecla end
if (whichCode == 36 ) return true; //tecla home

/*
O trecho abaixo previne a ação padrão nos navegadores. Não estamos inserindo o caractere normalmente, mas via script
*/

if (e.preventDefault){ //standart browsers
		e.preventDefault()
	}else{ // internet explorer
		e.returnValue = false
}

var key = String.fromCharCode(whichCode);  // Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false;  // Chave inválida

/*
Concatenamos ao value o keycode de key, se esse for um número
*/
fld.value += key;

var len = fld.value.length;
var bodeaux = demaskvalue(fld.value,true).formatCurrency();
fld.value=bodeaux;

/*
Essa parte da função tão somente move o cursor para o final no opera. Atualmente não existe como movê-lo no konqueror.
*/
  if (fld.createTextRange) {
    var range = fld.createTextRange();
    range.collapse(false);
    range.select();
  }
  else if (fld.setSelectionRange) {
    fld.focus();
    var length = fld.value.length;
    fld.setSelectionRange(length, length);
  }
  return false;

}



function ContaCaracteres(){
   intCaracteres = 350 - document.form.descricao.value.length;
   if (intCaracteres > 0) {
      document.form.caracteres.value = intCaracteres;
      return true;
   }
   else {
      document.form.caracteres.value = 0;
      document.form.descricao.value = document.form.descricao.value.substr(0,350)
      return false;
   }
}
function Validar(){
   if (ContaCaracteres()){
      document.form.submit();
   }
   else{
      alert("Número de caracteres do comentário maior que 350.");
   }
}


function formatar(src, mask) 
{
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida) 
  {
	src.value += texto.substring(0,1);
  }
}
function writeToday(formName, elementName, nextElement){
	var tmpObj = eval("document." +formName+ "." +elementName);
	if (tmpObj.value == "") {
		var today = new Date();
		var tmpDay =  String(today.getDate());
		var tmpMonth = String(today.getMonth()+ 1); 
		var tmpYear = String(today.getFullYear()); 
    	tmpDay  = ((tmpDay.length==1)? '0':'')  + String(tmpDay);
		tmpMonth = ((tmpMonth.length==1)? '0':'') +  String(tmpMonth);
		var tmpDate = tmpDay +"/"+ tmpMonth +"/"+ tmpYear;
		tmpObj.value = tmpDate;
	} else {
		return;
	}
}
function NewWindow(myPage, myName, Width, Height, Scroll, Resizable) {
	var winTop = ((screen.height - Height) / 2);
	var winLeft= ((screen.width - Width) / 2);
	winProps = 'top=' +winTop+ ',left=' +winLeft+ ',height=' +Height+ ',width=' +Width+ ',Scrollbars=' +Scroll+ ',Resizable=' +Resizable+ ';'
	Win = window.open(myPage, myName, winProps);
		
		if (parseInt(navigator.appVersion) >= 4) { 
			Win.window.focus(); //set focus to the window
		}
}

function confirmBox(cod) {
	if (confirm("Se você excluir este registro todas as informações ligadas a ele também serão excluidas!!! Você tem certeza que quer excluir este registro?")) {
		location.href="?pag=<?=$pag?>&acao=excluir&cod="+cod;
	}
}