$('.sg-chart').each(function(index) {
	var $container=$(this);
	var chartId=$container.attr("id");
	var chartTitle=$container.find("h3").text();
	var chartType=$container.data("chartType");
	var $chartTable=$(this).find("table");
	var chartData=[];
	var chartColumn=[];
	var options={};

	if (chartType==undefined) chartType="col"

	console.log("=== sg-chart create "+chartId+" ===")
	console.log('Chart Title : '+chartTitle)
	console.log('Chart Type : '+chartType)


	var defaults={
					pointSize: 4,
					vAxis: {
						viewWindowMode: "explicit",
					},
					hAxis: {
						textStyle: {
							fontSize:10,
						}
					},
					annotations: {
						textStyle: {
							fontSize:9,
						},
					},
			};
	if ($container.data("series")==2) {
		defaults.series={
										0:{targetAxisIndex:0},
										1:{targetAxisIndex:1},
									}
	}
	var options = $.extend(defaults, $(this).data('options'));
	//options=$(this).data('options');
	//console.log(defaults);

	$.each($chartTable.find('tbody>tr'),function(i,eachRow){
		var $row=$(this)
		//console.log($row.text())
		var rowData=[]
		$.each($row.find('td'),function(j,eachCol){
			var $col=$(this)
			var colKey=$col.attr('class').split(':')
			if (i==0) chartColumn.push([colKey[0],colKey[1],colKey[2]==undefined?'':colKey[2]])
			var colValue
			if (colKey[0]=="string") colValue=$col.text()
			else colValue=Number($col.text().replace(/[^\d\.]/g,''))
			console.log($col.attr('class')+$col.text())
			rowData.push(colValue)
		})
		chartData.push(rowData)
		console.log(rowData)
	})
	console.log('Chart Data')
	console.log(chartData)
	console.log('Chart Column : '+chartColumn)

	google.charts.load("current", {"packages":["corechart"]});
	google.charts.setOnLoadCallback(drawChart);

	function drawChart() {
		/*
		options = {
										pointSize: 4,
										vAxis: {
											viewWindowMode: "explicit",
										},
									};
		if ($container.data("series")==2) {
			options.series={
											0:{targetAxisIndex:0},
											1:{targetAxisIndex:1},
										}
		}
		if (chartType=="pie") {
			options = {
											legend: {position: "none"},
											// chartArea: {width:"100%",height:"80%"},
										};
			console.log($container.data("options"))
			if ($container.data("options")) options=$container.data("options");
			//options.legend="label";
			//options.pieSliceText="percent";
			//options.legend.position="labeled";
			//options.legend.position=$container.data("legendSeries")?$container.data("legendSeries"):"none";
											// chartArea: {width:"100%",height:"80%"},
		}
										*/
		options.title=chartTitle;
		console.log(options);
		var data = new google.visualization.DataTable();
		// Add chart column
		$.each(chartColumn,function(i){
			if (chartColumn[i][2]=='role') data.addColumn({type: chartColumn[i][0], role: 'annotation'});
			else data.addColumn(chartColumn[i][0],chartColumn[i][1]);
		})
		// Add chart rows
		data.addRows(chartData);

		var chartContainer=document.getElementById(chartId)
		var chart
		//var chart = new google.visualization.PieChart(chartContainer);
		if (chartType=="line") {
			chart = new google.visualization.LineChart(chartContainer);
		} else if (chartType=="bar") {
			chart = new google.visualization.BarChart(chartContainer);
		} else if (chartType=="col") {
			chart = new google.visualization.ColumnChart(chartContainer);
		} else if (chartType=="pie") {
			chart = new google.visualization.PieChart(chartContainer);
		} else if (chartType=="combo") {
			chart = new google.visualization.ComboChart(chartContainer);
		}
		if ($container.data("image")) {
			google.visualization.events.addListener(chart, 'ready', function () {
				var imgUri = chart.getImageURI();
				// do something with the image URI, like:
				document.getElementById($container.data("image")).src = imgUri;
			});
		}
		chart.draw(data, options);
	}
});