//------------------

function GameGraphs_Init(colors)
{
	if( typeof( EJSC ) == 'undefined' )
	{
		alert( 'GameGraphs_Init() EJSC not defined!' );
		return;
	}
	
	EJSC.DefaultColors = colors;
	EJSC.DefaultPieColors = colors;
}

//------------------
// hint_string = '[label]<br />[x] hours'

function GameGraphs_CreatePie(data, xmax, objname, hint_string)
{
	var chart = new EJSC.Chart(
		objname,
		{   // chart options
		    title: '&nbsp;',
			show_legend: false,
			show_titlebar: false,
			x_axis_formatter: new EJSC.NumberFormatter( {forced_decimals: 0} ),
			onShowHint: function(point, series, chart, hint_element, hover_or_select)
			{
			    var percent = Math.round(100*point.x/xmax);
				var text = hint_string.replace(/\[percent\]/g, percent);
				return text;
			}
		}
	);
	var series = new EJSC.PieSeries(
		new EJSC.ArrayDataHandler(data),
		{   // series options
		}
	);
	chart.addSeries(series);
}

//------------------

function GameGraphs_CreateGenreMultiline(data, titles, xaxis_title, yaxis_title, hint_string)
{
	var chart = new EJSC.Chart(
		"game_graph_genre_multiline",
		{   // chart options
		    title: '&nbsp;',
			show_legend: false,
			show_titlebar: false,
			y_min: 0,
			x_axis_caption: xaxis_title,
			y_axis_caption: yaxis_title,
			x_axis_formatter: new EJSC.DateFormatter( { format_string: "MMM D"} ),
			auto_zoom: 'y',
			onShowHint: function(point, series, chart, hint_element, hover_or_select)
			{
				return hint_string;
			}
 		}
	);
	for(var i=0 ; i<data.length ; i++)
	{
		var series = new EJSC.LineSeries(
			new EJSC.ArrayDataHandler(data[i]),
			{   // series options
			    title: titles[i]
			}
		);
		chart.addSeries(series);
	}
}

//------------------

function GameGraphs_CreateGameLine(data, xaxis_title, yaxis_title, hint_string)
{
	if( typeof( EJSC ) == 'undefined' )
	{
		alert( 'GameGraphs_CreateGameLine() EJSC not defined!' );
		return;
	}
	
	var chart = new EJSC.Chart(
		"game_graph_game_line",
		{   // chart options
		    title: '&nbsp;',
			show_legend: false,
			show_titlebar: false,
			y_min: 0,
			x_axis_caption: xaxis_title,
			y_axis_caption: yaxis_title,
			x_axis_formatter: new EJSC.DateFormatter( { format_string: "MMM D"} ),
			x_axis_tick_className: "game_graph_game_line_xaxis",
			y_axis_tick_className: "game_graph_game_line_yaxis",
			auto_zoom: 'y',
			onShowHint: function(point, series, chart, hint_element, hover_or_select)
			{
				return hint_string;
			}
 		}
	);
	for(var i=0 ; i<data.length ; i++)
	{
		var series = new EJSC.LineSeries(
			new EJSC.ArrayDataHandler(data[i]),
			{   // series options
				color: 'rgb(255,0,0)',
				lineWidth: 3
			}
		);
		chart.addSeries(series);
	}
}

//------------------
