// AJAX
//==================================================
//==================================================

//var xmlHttp;
var varstring;
var varposicao = 0;
var tabelaid = new Array();
var tabelaindice = new Array();
var tabelaidindex = 0;
var mesactual = 9999;
var ret_ajax_valor = 0;
var ret_ajax_fornecedor = "";
var ret_ajax_url = "";
var ret_ajax_nome = "";


//==================================================
// chama_servicos_contactos(textoservico,tms)
//==================================================
function chama_servicos_contactos(servico,tms)
{ 
var xmlHttp;

// Ajax
// =============================================================
xmlHttp = GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("O seu browser não suporta AJAX, por isso as estatisticas de banners não funcionam");
  return;
  } 
var url="insere_servicos_contactos.php";
url=url+"?servico="+servico+"&tms="+tms;
//alert("URL:"+url);
//xmlHttp.onreadystatechange=function() {estado_servicos_contactos(xmlHttp);};
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

//==================================================
// estado_servicos_contactos(xmlHttp)
//==================================================
function estado_servicos_contactos(xmlHttp) 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
  alert("Resposta:"+xmlHttp.responseText);
}
else
  alert("Resposta:"+xmlHttp.responseText);

}

//==================================================
// chama_banner_click(id)
//==================================================
function chama_banner_click(id)
{ 
var xmlHttp;

// Ajax
// =============================================================
xmlHttp = GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("O seu browser não suporta AJAX, por isso as estatisticas de banners não funcionam");
  return;
  } 
var url="../../include_main/include_banner_click.php";
url=url+"?id="+id;
//xmlHttp.onreadystatechange=function() {estado_banner_click(xmlHttp);};
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

//==================================================
// estado_banner_click(xmlHttp)
//==================================================
function estado_banner_click(xmlHttp) 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
  alert("Resposta:"+xmlHttp.responseText);
}
}

//============================================================
// decompoe_resposta_ajax
//============================================================    
function decompoe_resposta_ajax(resposta)
{
  var i;
  var posicao;
  
  //alert(":"+resposta+":");  
  var tabrespostas = resposta.split(",");  
  for (i=0;i<tabrespostas.length;i++)
  {
    if (i==0)
    {
      //alert("i:"+i+"Split:"+tabrespostas[i]+"Varstring:"+varstring);
      ret_ajax_valor=tabrespostas[i];
    }  
    if (i==1)
    {
      ret_ajax_fornecedor=tabrespostas[i];
    }  
    if (i==2)
    {
      ret_ajax_url=tabrespostas[i];                  
    }  
    if (i==3)
    {
      ret_ajax_nome=tabrespostas[i];                        
    }  
    if (i==4)
    {
      posicao=tabrespostas[i];                        
    }      
  }
  //alert("Ret URL:"+ret_ajax_url);
  // actualiza valores
  document.getElementById("valor_"+posicao).innerHTML=ret_ajax_valor;  
  document.getElementById("link_"+posicao).innerHTML=ret_ajax_nome;    
  document.getElementById("link_"+posicao).href=ret_ajax_url;      
}


//============================================================
// actualizaorcamento
//============================================================    
function actualizaorcamento()
{
  var i=0;
  var escalao=0;
  var string2;
  for (i=0;i<tabelaidindex;i++)  
  {
    escalao = 0;
    //=========================================
    //valida se radio = bronze
    string2="radio_"+tabelaindice[i]+"_1";  
    elemento=document.getElementById(string2);
    if (elemento)
    {    
      if (elemento.checked==true)
      {
        escalao = 1;
      }
    }
    //valida se radio = prata
    string2="radio_"+tabelaindice[i]+"_2";  
    elemento=document.getElementById(string2);
    if (elemento)
    {    
      if (elemento.checked==true)
      {
        escalao = 2;
      }
    }    
    //valida se radio = bronze
    string2="radio_"+tabelaindice[i]+"_3";  
    elemento=document.getElementById(string2);
    if (elemento)
    {    
      if (elemento.checked==true)
      {
        escalao = 3;
      }
    }    
    //=========================================    
    if (escalao!=0)
    {
      //alert("Id:"+tabelaid[i]+":Escalao:"+escalao+":Indice:"+tabelaindice[i]+"Mes:"+mesactual);              
      calculavalor(tabelaid[i],escalao,tabelaindice[i]);
    }  
  }  
  // apura novos totais
  calculaorcamento()
}

//============================================================
// calculaorcamento
//============================================================    
function calculaorcamento()
{
var total=0;
var i;
var erro=true;
var somalinhas=0;
var elemento;
var vstring;

  // calcula o valor do orcamento
  // soma os valores de cada serviço para obter o total
  // ==================================================
  i=1;
  while (erro)
  {
    vstring="valor_"+i;  
    //alert(i+":"+document.getElementById(vstring).innerHTML);
    elemento=document.getElementById(vstring);
    if (elemento)
    {
      somalinhas+=(elemento.innerHTML-0);
      i+=1;
    }
    else
      {
       erro=false;
      }
  };
  if (document.getElementById("valororc2") == null)  
    document.getElementById("valororc").innerHTML=somalinhas;
  else
  {
    document.getElementById("valororc").innerHTML=somalinhas;  
    document.getElementById("valororc2").innerHTML=somalinhas;    
  }  

  // Valor com o simbolo euro  
  //document.getElementById("valororc").innerHTML=somalinhas+" "+String.fromCharCode(8364);    
}

//==================================================
// obtemvalor(str)
//==================================================
function obtemvalor(id,mes,indice,posicao,segmentoid)
{ 
var xmlHttp;
var nradultos;
var nrcriancas;

varstring="valor_"+posicao;
varposicao = posicao;
if (document.getElementById("valororc2") == null)  
  document.getElementById("valororc").innerHTML="A calcular ...";
else
{  
  document.getElementById("valororc").innerHTML="A calcular ...";
  document.getElementById("valororc2").innerHTML="A calcular ...";
}  
// obtem campos de input
nradultos=document.getElementById("nradultos").value;
nrcriancas=document.getElementById("nrcriancas").value;  
if (!nradultos)
  nradultos=0;
if (!nrcriancas)
  nrcriancas=0;    
// Ajax
// =============================================================
xmlHttp = GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("O seu browser não suporta AJAX, por isso o orçamentador não funcionará");
  return;
  } 
var url="orcamentador-ajax.php";
url=url+"?id="+id;
url=url+"&mes="+mes;
url=url+"&indice="+indice;
url=url+"&nradultos="+nradultos;
url=url+"&nrcriancas="+nrcriancas;
url=url+"&posicao="+posicao;
url=url+"&segmentoid="+segmentoid;
xmlHttp.onreadystatechange=function() {stateChanged(xmlHttp);};
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

//==================================================
// stateChanged()
//==================================================
function stateChanged(xmlHttp) 
{ 

if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
  // retorna o resultado do valor do serviço e actualiza o total do orçamento
  //document.getElementById(varstring).innerHTML=xmlHttp.responseText;
  //alert("State");
  decompoe_resposta_ajax(xmlHttp.responseText);
  calculaorcamento();
}
}

//==================================================
// GetXmlHttpObject()
//==================================================
function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("MSXML2.XMLHTTP.3.0");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

//============================================================
// calculavalor
//============================================================  
function calculavalor(id,indice,pos,segmentoid)
{
  // Muda o valor de cada linha de serviços, com base na alteração do radio button  
  // [id do servico,mesactual,indice(bronze,prata,ouro),posicao(qual a linha)]
  //alert("Id:"+id+":indice:"+indice+":Pos:"+pos+"Mes:"+mesactual);      
  //alert("Segmento"+segmentoid);
  obtemvalor(id,mesactual,indice,pos,segmentoid);
  
}
  
//============================================================
// calculames
//============================================================  
function calculames()
{
  var vstring1 ="";
  var vstring2 ="";    
  var elementoradio;
  var elementotexto;        
  var erro = true;

  // Obtem o mes actual
  mesactual=document.getElementById("mes").options[document.getElementById("mes").selectedIndex].value;
  actualizaorcamento();
  
  // Limpa os radio buttons, os valores parciais e o valor total   
  //var i=1;
  //while (erro)
  //{
  //  vstring1="radio_"+i+"_0";  
  //  vstring2="valor_"+i;        
    //alert(i+":"+document.getElementById(vstring).innerHTML);
    // Coloca radio a ND e os valores a zero
  //  elementoradio=document.getElementById(vstring1);
  //  elementotexto=document.getElementById(vstring2);      
  //  if (elementoradio && elementotexto)
  //  {
  //    elementoradio.checked=true;
  //    elementotexto.innerHTML="0";
  //    i+=1;
  //  }
  //  else
  //     {
  //        erro=false;
  //      }
  // };
   // Limpa valor total
  // document.getElementById("valororc").innerHTML="0";;   
}
  
//============================================================
// criatabelaid
//============================================================  
function criatabelaid(id,indice)
{
  // Adiciona os ids a um array
  tabelaid[tabelaidindex]=id;
  tabelaindice[tabelaidindex]=indice;  
  tabelaidindex+=1;  
}

