function ChartsAjax(){  
  var statType='';  
  var chartType='';  
  this.buildChart = buildChart;  
  this.useData = useData;  
  this.handleFailure = handleFailure;  

  function buildChart(type, chart, emp, start, end){  
   statType = type;  
   chartType = chart;  

   var sourceUrl = '/ajax/' + type + "?start_dt=" + start + "&end_dt=" + end + "&emp=" + emp;  
   var callback = {success:this.useData,failure:this.handleFailure};  

   AjaxObject.makeRequest(sourceUrl, callback);  
};  

function useData(o){  
    
    try {var json = YAHOO.lang.JSON.parse(o.responseText);}  
    catch (e) {return false;}  

    YAHOO.widget.Chart.SWFURL = "/yui_2.8.1/build/charts/assets/charts.swf";  
    var msDs = new YAHOO.util.DataSource( json.Response.Results );   
    msDs.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;   
    msDs.responseSchema = {  
            fields:json.Response.Fields  
    };
    
   var yAxis = new YAHOO.widget.NumericAxis();
	yAxis.minimum = 0;
	yAxis.maximum = 100;
		
	var xAxis = new YAHOO.widget.CategoryAxis();
   xAxis.stackingEnabled = true;
		

    var targetDiv = statType; 
    var chartDefinition = {
    	   wmode: "transparent",  
        series: json.Response.Series,
        xField: json.Response.XField,  
        yField: json.Response.YField,         
        yAxis: yAxis,
        xAxis: xAxis, 
        style: json.Response.Style   
    }
    
    switch(chartType){  
        case "line":  
            var chart = new YAHOO.widget.LineChart(targetDiv, msDs, chartDefinition);  
        break;  
        case "column":  
            var chart = new YAHOO.widget.ColumnChart(targetDiv, msDs, chartDefinition);  
        break;
        case "Pie":  
            var chart = new YAHOO.widget.PieChart(targetDiv, msDs, chartDefinition);  
        break;     
    }  
};  

	function handleFailure(o){  
	    //do something with o.responseText  
	}  
};


var AjaxObject = {  
  makeRequest:function(url, callback){var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);}  
};
 
function load_charts(){  
  var products_sold = new ChartsAjax();  
  products_sold.buildChart('marketing_chart_line', 'line');  
}
 
function generatePieChart(chart_name, emp, start, end) {
 
  YAHOO.widget.Chart.SWFURL = "/yui_2.8.1/build/charts/assets/charts.swf";
 var sUrl = "/ajax/" + chart_name + "?emp=" + emp + "&start_dt=" + start + "&end_dt=" + end;
	
var jsonData = new YAHOO.util.DataSource(sUrl);
//use POST so that IE doesn't cache the data
jsonData.connMethodPost = true;
jsonData.responseType = YAHOO.util.DataSource.TYPE_JSON;
jsonData.responseSchema =
	{
		resultsList: "Results",
		fields: ["Name","Value"]
};


var mychart = new YAHOO.widget.PieChart( chart_name, jsonData,
	{
	wmode: "transparent",
	dataField: "Value",
	categoryField: "Name",
	style:
	{
		padding: 20,
		legend:
		{
			display: "right",
			padding: 10,
			spacing: 5,
			font:
			{
				family: "Arial",
				size: 13
			}
		}
	},
	//only needed for flash player express install
	expressInstall: "assets/expressinstall.swf"
});
}
 
var clearLoading = function (id) {
  document.getElementById(id).style.display = "none";	
}