   /*
   Script created by Kelly Smith - klsmith@tallgrassmedia.com
   Modified: 24 December 2008
   
   This script is adapted from the excellent foundation
   provided by Christian Heilmann with his original table2chart.js:
   http://icant.co.uk/sandbox/datatable-to-chart/

   For details on the Google Chart API:
   http://code.google.com/apis/chart/
   */

(table2graph = function(){

  /* variables */
  var triggerClass = 'tochart';
  var chartClass = 'fromtable';
  var hideClass = 'hidden';
  var chartColor = 'FFFF00,0000FF'; // two colors of the bar chart
  var chartSize = '560x120';
  /* end variables */

  var tables = document.getElementsByTagName('table');
  for(var i=0;tables[i];i++){
    var t = tables[i];
    var c = t.className;
    var data = [];
    var labels = []
    if(c.indexOf(triggerClass) !== -1){
    
      var chartTitle = t.getAttribute('summary');
      var titleF = chartTitle.split(' ').join('+');
      t.className += ' '+ hideClass;
      var size = chartSize;
      var col = chartColor;
      
      /* get data from table  for labels */
      var thlabel = t.getElementsByTagName('thead')[0].getElementsByTagName('th');
      var labelNow = thlabel[0].innerHTML; 
      var labelNeed = thlabel[1].innerHTML;
      var titleCaption = t.getElementsByTagName('caption')[0].innerHTML;
	
      /* get data from table  for current giving and needed amount */
      var tds = t.getElementsByTagName('tbody')[0].getElementsByTagName('td');
      var amtNow = tds[0].innerHTML;
      var amtNeed = tds[1].innerHTML;
      var amtNowLabel = tds[2].innerHTML;
      var amtNeedLabel = tds[3].innerHTML;
      
            
      /* build chart url */
      var charturl = 'http://chart.apis.google.com/chart?cht=bhs&chco=' + col + '&chs=' + size;
      charturl += '&chtt=' + titleCaption + '&chd=t:' + amtNow + '|' + amtNeed;  /* title and chart data */
      charturl += '&chds=0,' + amtNeed;    /* data set min and max values */
      charturl += '&chxt=t,x,t,x';  /* chart axis - both values on x-axis  */
      charturl += '&chxl=0:|' + amtNowLabel + '|1:|' + amtNeedLabel + '|2:|' + labelNow + '|3:|' + labelNeed;   /* labels  */
      charturl += '&chxp=0,' + amtNow + '|1,' + amtNeed + '|2,' + amtNow + '|3,' + amtNeed;
      charturl += '&chxr=0,0,' + amtNeed + '|1,0,' + amtNeed + '|2,0,' + amtNeed + '|3,0,' + amtNeed;
      
      /* create the chart image to replace the table using Google charts */
      var chart = document.createElement('img');
      chart.setAttribute('src',charturl);
      chart.setAttribute('alt',t.getAttribute('summary'));
      chart.className = chartClass;
      
      t.parentNode.insertBefore(chart,t);
    };
  };
  
  
}());

