var destino;
var xaa,yaa;
if (self.innerHeight) // all except Explorer
{
	xaa = self.innerWidth;
	yaa = self.innerHeight;
	
}
else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
{
	xaa = document.documentElement.clientWidth;
	yaa = document.documentElement.clientHeight;
	
}
else if (document.body) // other Explorers
{
	xaa = document.body.clientWidth;
	yaa = document.body.clientHeight;
	
}




function number_format( number, decimals, dec_point, thousands_sep ) {
    // %        nota 1: Para 1000.55 retorna com precisão 1 no FF/Opera é 1,000.5, mas no IE é 1,000.6
    // *     exemplo 1: number_format(1234.56);
    // *     retorno 1: '1,235'
    // *     exemplo 2: number_format(1234.56, 2, ',', ' ');
    // *     retorno 2: '1 234,56'
    // *     exemplo 3: number_format(1234.5678, 2, '.', '');
    // *     retorno 3: '1234.57'
    // *     exemplo 4: number_format(67, 2, ',', '.');
    // *     retorno 4: '67,00'
    // *     exemplo 5: number_format(1000);
    // *     retorno 5: '1,000'
    // *     exemplo 6: number_format(67.311, 2);
    // *     retorno 6: '67.31'
 
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = Math.abs(n).toFixed(prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    return s;
}






function extraiScript(texto){
	var ini, pos_src, fim, codigo;
	var objScript = null;
	ini = texto.indexOf('<script', 0)
	while (ini!=-1){
		var objScript = document.createElement("script");
		pos_src = texto.indexOf(' src', ini)
		ini = texto.indexOf('>', ini) + 1;
		if (pos_src < ini && pos_src >=0){
			ini = pos_src + 4;
			fim = texto.indexOf('.', ini)+4;
			codigo = texto.substring(ini,fim);
			codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
			objScript.src = codigo;
		}else{
			fim = texto.indexOf('</script>', ini);
			codigo = texto.substring(ini,fim);
			objScript.text = codigo;
		}
		document.body.appendChild(objScript);
		ini = texto.indexOf('<script', fim);
		objScript = null;
	}
}
/************MASCARAS ***************/
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function leech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

function soNumeros(v){
    return v.replace(/\D/g,"")
}

function telefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function cpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function cep(v){
    v=v.replace(/\D/g,"")                //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

function cnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}

function romanos(v){
    v=v.toUpperCase()             //Maiúsculas
    v=v.replace(/[^IVXLCDM]/g,"") //Remove tudo o que não for I, V, X, L, C, D ou M
    //Essa é complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
    while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
        v=v.replace(/.$/,"")
    return v
}

function site(v){
    //Esse sem comentarios para que você entenda sozinho ;-)
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
        caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v
}
/*************************************/











function imprime(dadospedido){
	popUpWin = window.open(null, "myWindow", "left=20, top=20, status = 0, height = 400, width = 600, resizable = 0" );
	//popUpWin = window.print();
    popUpWin.document.write("<html><head><title>Dados do Pedido</title><link rel=\"stylesheet\" href=\"css3.css\" type=\"text/css\"></head><body onload='window.print();self.close();'>"+dadospedido+"</body></html>");
    popUpWin.document.close();
}



function mostra(camada)
        { document.getElementById(camada).style.display = 'inline';
        document.getElementById("full").style.overflow = "hidden";
		}
function esconde(camada)
        { document.getElementById(camada).style.display = 'none'; 
		document.getElementById("escuro").style.display = 'none'; 
		}
function destrava(){
	
	document.getElementById("full").style.overflow = "auto";
	
}



function zoom(produto,foto, prodtitulo){
	if (xaa>1){
		posx=(xaa/2)-(570/2); 
		posy=(yaa/2)-(425/2);
	}else{
		posx=(document.body.clientWidth/2)-(570/2); 
		posy=(document.body.clientHeight/2)-(425/2);	
	}
	
	
	
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	
	
	posx=0;
	posy=0;
	posx=posx+x;
	posy=posy+y;
	
	
	divescuro = document.getElementById("escuro");
	divescuro.style.top = y+'px';
	divescuro.style.left = x+'px';
	
	mostra('escuro');

	
	divfotart = document.getElementById("divfoto");
	
	divfotart.style.top = posy+'px';
	divfotart.style.left = posx+'px';
	pretit2 = document.getElementById("titpag2");
	pretit2.innerHTML = prodtitulo;
	
	//tdfoto = document.getElementById("fotoaqui");
	//tdfoto.innerHTML = '<img src=thumb.php?file=./prod_img/'+produto+'_'+foto+'&largmax=500&altmax=400 LOWSRC=imgs/loading.gif alt=carregando>';
	mostra('divfoto');

}
function trocafoto(qfoto){
	tdfoto = document.getElementById("fotoaqui");
	tdfoto.innerHTML = '<img src=thumb.php?file=/'+qfoto+'&largmax=678&altmax=450 LOWSRC=./imgs/loading.gif alt=Loading>';
}
function meu(){
	document.getElementById("outroend").style.display = 'none';
	document.getElementById("meumesmo").style.display = 'inline';
}

function outro(){
	document.getElementById("outroend").style.display = 'inline';
	document.getElementById("meumesmo").style.display = 'none';
}

function tipofrete(tipo){
  if(tipo==2){
    document.getElementById("tipo2").style.display = 'inline';
	document.getElementById("tipo3").style.display = 'none';
	document.getElementById("tipo1").style.display = 'none';  
  }
  if(tipo==3){
    document.getElementById("tipo3").style.display = 'inline';
	document.getElementById("tipo2").style.display = 'none'; 
document.getElementById("tipo1").style.display = 'none';  	
  }
  if(tipo==1){
    document.getElementById("tipo3").style.display = 'none';
	document.getElementById("tipo2").style.display = 'none';
	document.getElementById("tipo1").style.display = 'inline';
  }
}


function selectByValue(sel, value) {
  var i = 0;
  var end = sel.options.length;
  while(i < end) {
    if (sel.options[i].value == value) {
      sel.options[i].selected = true;
      sel.selectedIndex = i;
      return;
    }
    i++;
  }
}


function recarregaopcionais( passagem, valor, quantos, produto, genero, possiveis )
{
  http.open("GET", "ajax.php?valor="+valor+"&passagem="+passagem+"&quantos="+quantos+"&produto="+produto+"&genero="+genero+"&possiveis="+possiveis+"&acao=opcionais", true);
  http.onreadystatechange = handleHttpResponseOpcionais;
  http.send(null);
}
function handleHttpResponseOpcionais()
{
	if (http.readyState == 4) {
	 	results        = http.responseText.split("*idestoque*");
		dados          = results[0];
		infos          = results[1];
		
		infox          = infos.split("|");
		idestoque      = infox[0];
		valoradicional = infox[1];
		passagem       = infox[2];
		
		options = dados.split("*opt*"); 	
		
		for( i = 0; i < options.length-1; i++ ){
			//teste = teste+options[i]+"<br>";
			option = options[i].split("|");
			genero = option[0];
			campogenero = "genero["+genero+"]";
			campo_select = document.getElementById(campogenero);
			campo_select.options.length = 0;
			imprimeoptions = option[6].split(";");
			campo_select.onchange = new Function ("evt", "recarregaopcionais('"+option[2]+"', this.value,'"+option[3]+"', '"+option[4]+"', '"+genero+"', '"+option[5]+"');");//mudar o valor do onchange dinamicamente!
			//alert("recarregaopcionais('"+option[2]+"', this.value,'"+option[3]+"', '"+option[4]+"', '"+genero+"', '"+option[5]+"');");
			for( j = 0; j < imprimeoptions.length-1; j++ )
			{ 
				string = imprimeoptions[j].split( "," );
				opcao = string[0];
				nome  = string[1];
				campo_select.options[j] = new Option( nome, opcao );
				//alert(nome + " " + opcao);
				
			}
		}
		campo_estoque = document.getElementById("widestoque");
		campo_estoque.value = idestoque;
		//alert(idestoque);
		if (valoradicional >0){
			campo_adicional = document.getElementById("valadicional");
			campo_adicional.value = valoradicional;
			campo_apresentaadicional = document.getElementById("apresentavaloradicional");
			campo_valorproduto = document.getElementById("valorproduto");
			valortotal=(campo_valorproduto.value*1)+(valoradicional*1);
			//alert(campo_valorproduto.value);
			//alert(valortotal);
			campo_apresentaadicional.innerHTML = "Adicional: R$ "+number_format(valoradicional, 2, ",",".")+"<br> Total: R$ "+number_format(valortotal, 2, ",",".");
		}else{
			campo_apresentaadicional = document.getElementById("apresentavaloradicional");
			campo_apresentaadicional.innerHTML = "";
		}
		//strDivId.innerHTML = "nome:"+nome;
		//strDivId = document.getElementById("valoropcionais");
		//strDivId.innerHTML = "tudo:"+http.responseText;
		
	}
}

function buscacep( valor )
{
  http.open("GET", "consultacep.php?id=" + valor, true);
  http.onreadystatechange = handleHttpResponseCep;
  http.send(null);
}


function handleHttpResponseCep()
{
  campo_select = document.getElementById("cidadecada");
  campo_estado = document.getElementById("estadocada");
  campo_bairro = document.getElementById("bairrocada");
  campo_rua    = document.getElementById("enderecocada");
  if (http.readyState == 4 && http.responseText!= "falhou") {
    campo_select.options.length = 0;
    results = http.responseText.split(",");
    for( i = 0; i < results.length-1; i++ )
    { 
      string = results[i].split( "|" );
	  
	  //cidades
	  if(string[0]!=""){
		resultsc = string[0].split(";");
		for( j = 0; j < resultsc.length; j++ )
		{ 
			campo_select.options[j] = new Option( resultsc[j], resultsc[j] );
		}
	  }
	  //cidades
	  selectByValue(campo_estado, string[2]);
	  selectByValue(campo_select, string[1]);
	 // if (campo_bairro.value=="" && string[3]!=""){
		campo_bairro.value=string[3];
	 //}
	  //if (campo_rua.value=="" && string[4]!=""){
		campo_rua.value=string[4];
	  //}

    } 
	//campo_select.options[i+1] = new Option( "Outra", "Outra" );
  }
}

function buscacidade( valor )
{
  http.open("GET", "consultacidades.php?id=" + valor, true);
  http.onreadystatechange = handleHttpResponseCidade;
  http.send(null);
}

function handleHttpResponseCidade()
{
  campo_select = document.getElementById("cidadecada");
  if (http.readyState == 4) {
    campo_select.options.length = 0;
    results = http.responseText.split(",");
    for( i = 0; i < results.length-1; i++ )
    { 
      string = results[i].split( "|" );
      campo_select.options[i] = new Option( string[0], string[1] );
	  if (string[2]==1){
		campo_select.options[i].selected = "true";
	  }
    } 
	//campo_select.options[i+1] = new Option( "Outra", "Outra" );
  }
}



function dadbank(quemsou, numpedido){
	pretit2 = document.getElementById("titcarrinho");
	pretit2.innerHTML = "Dados para dep&oacute;sito ou transfer&ecirc;ncia";
	http.open("GET", "ajax.php?id="+quemsou+"&pedido="+numpedido+"&acao=dadbank", true);
  	http.onreadystatechange = geracarrinho;
	http.send(null);
	
}
function brpay(quemsou, numpedido){
	pretit2 = document.getElementById("titcarrinho");
	pretit2.innerHTML = "Pagamento via BrPay";
	http.open("GET", "ajax.php?id="+quemsou+"&pedido="+numpedido+"&acao=brpay", true);
  	http.onreadystatechange = geracarrinho;
	http.send(null);
	
}


function atualiza_qtd(produto, valor, idestoque){
	http.open("GET", "ajax.php?id=" + produto +"&qtd="+valor+"&idestoque="+idestoque+"&acao=alteraqtd", true);
  	http.onreadystatechange = geracarrinho;
	http.send(null);
	
}
function deleta_produto(produto, idestoque){
	//alert("ajax.php?id=" + produto +"&idestoque="+idestoque+"&acao=deletaprod");
	http.open("GET", "ajax.php?id=" + produto +"&idestoque="+idestoque+"&acao=deletaprod", true);
  	http.onreadystatechange = geracarrinho;
	http.send(null);
	
}



function geracarrinho()
{
 
  	
  	carrinho = document.getElementById("meucarrinho");
  	
	  carrinho.innerHTML = "<table width=100% height=100%><tr><td align=center valign=middle height=100%><img src='./imgs/loading.gif'></td></tr></table>";
	if (http.readyState == 4) {
	 	string = http.responseText;
		tabela = string;
		carrinho.innerHTML = tabela;
		extraiScript(tabela);
		
	}
}



function handleHttpResponseField()
{
 
  	strDivId = document.getElementById(destino);
  	strDivId.innerHTML = "<table width=100% height=100%><tr><td align=center valign=middle height=100%><img src='./imgs/loading.gif'></td></tr></table>";
	if (http.readyState == 4) {
	 	resultado="<a href='#null' onclick='esconde(destino);destrava();'>Fechar(X)</a><br><br>"+http.responseText ;
		strDivId.innerHTML = resultado;
	}
}

function handleHttpResponseSelect()
{
  campo_select = document.forms[0].subcategoria;
  if (http.readyState == 4) {
    campo_select.options.length = 0;
    results = http.responseText.split(",");
    for( i = 0; i < results.length; i++ )
    {
      string = results[i].split( "|" );
      campo_select.options[i] = new Option( string[0], string[1] );
    }
  }
}

function getHTTPObject() {
    var req;

    try {
 if (window.XMLHttpRequest) {
     req = new XMLHttpRequest();

     if (req.readyState == null) {
   req.readyState = 1;
   req.addEventListener("load", function () {
   req.readyState = 4;

   if (typeof req.onReadyStateChange == "function")
       req.onReadyStateChange();
   }, false);
     }

     return req;
 }

 if (window.ActiveXObject) {
     var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

     for (var i = 0; i < prefixes.length; i++) {
   try {
       req = new ActiveXObject(prefixes[i] + ".XmlHttp");
       return req;
   } catch (ex) {};
     }
 }
    } catch (ex) {}

    alert("Atualize seu Browser! Use a ultima versão do Mozilla, Firefox, IE, Safari, Opera.");
}
var http = getHTTPObject();

