// 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;

						

						

						// Pegando o conteudo do div que foi carregado

    					var conteudo = resultado2;	

						

						var p1 = eval(conteudo.indexOf('<script'));

						var teste = conteudo.substr(p1,conteudo.length);

						p1 = eval(teste.indexOf('>')+1);

						//alert(teste.substr(0, p1));

						var p2 = conteudo.indexOf('</script>');

						var qtd_str = eval(p2-p1);

						

    					// Declarando a criação de uma nova tag <script>

   						var newElement = document.createElement("script");

    

   						// Pegando os valores das Tags <script> que estão na página carregada pelo AJAX

   						var scripts = conteudo.substr(p1,qtd_str);

        				eval(scripts);

    					

						

						

					} else {

						exibeResultado.innerHTML = "<center>Erro!</center>";

					}

				}

			}

			ajax.send(null); // submete

		

	}

}	

function paginas_cotacao(val){
	abre('divsublink','cotacoes.php?cod='+val);
	alert(val);
}		


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 EmGrupos(k) { 
var h=document.getElementsByTagName("div").length; //vai ver quantos spans tem neste caso 2 
var m = document.getElementsByClassName("tabelas", "div").length;
for(i=1;i<=m;i++){ // este ciclo basicamente faz o seguinte corre os elementos se o elemento de i for igual ao //seleccionado mostra senao nao mostra 
if(i==k){document.getElementById(i).style.visibility="visible";} 
else 
{document.getElementById(i).style.visibility="hidden";} 
}
}
 


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 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];}}

}


