   var temperature;
   var accelerationX ;
   var accelerationY ;
   var accelerationZ ;
   var dt = new Array();
   var rows = 0;
   var chart;
   var data;
   var chartA;
   var dataA;
   var xmlhttp;
   var xmlDoc;
    var x;   


 function IniVars()
{
    xmlhttp = null;
    xmlDoc= null;
    x= null;

    temperature=new Array();
    accelerationX = new Array();
    accelerationY = new Array();
    accelerationZ = new Array();
    dt = new Array();
}


//****Load imported data
 function LoadData()
 {
    IniVars();
 
    if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
    
    xmlhttp=new XMLHttpRequest();
    }
  else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

   //***************GET ALL VALUES FROM XML DOCUMENT
    xmlhttp.open("POST","/feeds/0001.xml",false);
   
    xmlhttp.send();
    
    xmlDoc=xmlhttp.responseXML; 
    x=xmlDoc.getElementsByTagName("data");
    if (x.length ==0)
   {	
	xmlhttp.abort();
   	xmlhttp.open("POST","/feeds/0001.xml",false);
   
    	xmlhttp.send();
    
 	   xmlDoc=xmlhttp.responseXML; 
    	x=xmlDoc.getElementsByTagName("data");
   }
    for (i=0;i<x.length;i++)
    { 
      dt[i]=x[i].getElementsByTagName("date_time")[0].childNodes[0].nodeValue;
      temperature[i]=x[i].getElementsByTagName("temperature")[0].childNodes[0].nodeValue;
      accelerationX[i]=x[i].getElementsByTagName("accelerationXaxis")[0].childNodes[0].nodeValue; 
      accelerationY[i]=x[i].getElementsByTagName("accelerationYaxis")[0].childNodes[0].nodeValue;  
      accelerationZ[i]=x[i].getElementsByTagName("accelerationZaxis")[0].childNodes[0].nodeValue;  
      
  }
      
      rows = temperature.length;

 }

//*************ini data chart
     
      LoadData();
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      google.setOnLoadCallback(drawChartAcc);
     createDocument();
      var t  = setInterval ( "RefreshData()", 300000 ); //timer: actualize data chart
    

function RefreshData()
{
     LoadData();
     refreshChart();
     refreshChartAcc();
 }



   //*****************************************************
  //**************** PLOT TEMPERATURE VALUES 

  function drawChart()  //**** temperature google chart instance 
   {   
      data = new google.visualization.DataTable();
      data.addColumn('string','data  time');
      data.addColumn('number', 'Temperature'); 
      data.addRows(rows); 
      
      chart = new google.visualization.AreaChart(document.getElementById('chart_temp'));
      fillChart();
   }
 
   function fillChart()
   {
      var i=0;
      var w = 400;
      
      if (w < 5*rows)
       w = 5*rows;
       
      for (i=0;i<=rows-1;i++)
	   {
         var hora = dt[i].toString();
         data.setValue(i,0,hora.toString());
         data.setValue(i,1, parseFloat(temperature[i].toString()));
	   }  
        chart.draw(data, {width: w, height: 240, title: 'Temperature (Celsius)', 
		legend:'none',
                      colors:['#FF0000','#004411'],
                      vAxis:{title: 'Temperature', titleColor:'#FF0000'}
                      });
	
   }
    function refreshChart()
    {
    if (data.getNumberOfRows()>0)
    {
      data.removeRows(0,data.getNumberOfRows());
    }
    data.addRows(rows); 
    fillChart();
    }

  //*****************************************************
  //**************** PLOT ACCELERATION VALUES 
   function drawChartAcc()  //**** acceleration google chart instance 
   {   

      dataA = new google.visualization.DataTable();
      dataA.addColumn('string','data time');
      dataA.addColumn('number', 'X axis acceleration');
      dataA.addColumn('number', 'Y axis acceleration');
      dataA.addColumn('number', 'Z axis acceleration');
      dataA.addRows(rows); 
      
      chartA = new google.visualization.AreaChart(document.getElementById('chart_acc'));
      fillAccelerationChart();
    }
    function fillAccelerationChart()
    {
      var i=0;
      var w = 400;
      
      if (w < 5*rows)
       w = 5*rows;
       
      for (i=0;i<=rows-1;i++)
	    {
          var hora = dt[i].toString();
          dataA.setValue(i,0,hora.toString());
          dataA.setValue(i,1, parseFloat(accelerationX[i].toString()));
          dataA.setValue(i,2, parseFloat(accelerationY[i].toString()));
          dataA.setValue(i,3, parseFloat(accelerationZ[i].toString()));
	    }  
       chartA.draw(dataA, {width: w, height: 240, title: 'X, Y and Z axis Acceleration', 
		legend:'none',
                      vAxis:{title: 'Acceleration', titleColor:'#FF0000'}
                         });
    }
  function refreshChartAcc()
  {
      if (dataA.getNumberOfRows()>0)
      {
        dataA.removeRows(0,dataA.getNumberOfRows());
      }
     dataA.addRows(rows); 
     fillAccelerationChart();
  }
 
 function createDocument()
 {
   document.write("<div id='chart_temp' style='overflow-x: scroll;'>&nbsp;</div><br />");
   document.write("<div id='chart_acc' style='overflow-x: scroll;'>&nbsp;</div><br />");
 }
 