function getChart() {
	
	var Form = $('chart_options')
	
	elementList = Form.getElements("chart_options");	
	
	var inputName = '';
	var inputText = '';
	
	var pars = new Object();
	
	for (var i = 0; i < elementList.length; i++)
	{	

		inputName = elementList[i].id;
		inputText = $F(elementList[i]);
		
		//Encode URI does not code ~!*()'
		inputName = encodeURIComponent(inputName);
		inputText = encodeURIComponent(inputText);
		
		//alert ("name is "+inputName+". text is "+inputText);
		
		//var escapedInputText = inputText.escapeHTML();	
		if (inputText.length > 0) {
			pars[inputName] = inputText;
		}
	}
	
	var radiovalue1; 
	Form.getInputs().each(
		function(input) { 
			if(input.name=="fill1"&&input.checked) {
				radiovalue1=input.value
				pars["fill1"] = radiovalue1;
			}; 
		}
	);	
	
	var radiovalue2; 
	Form.getInputs().each(
		function(input) { 
			if(input.name=="fill2"&&input.checked) {
				radiovalue2=input.value
				pars["fill2"] = radiovalue2;
			}; 
		}
	);	
	
	var url = 'scripts/chart.php';
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onComplete: showResponse
		});
}

function showResponse(originalRequest){
	$("chart_result").innerHTML = originalRequest.responseText;
}	

function encodeData(){
	var data_text = $F("chart_data");
	
	var data_array = data_text.split(",");
	
	var highest = 0;
	
	for (i=0;i<data_array.length;i++) {
		if (data_array[i] > highest){
			highest = data_array[i];
		}
	}
		
	$("chart_data_encoded").value = simpleEncode(data_array);	
}

var simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
 
function simpleEncode(values,maxValue) {

var chartData = ['s:'];
  for (var i = 0; i < values.length; i++) {
    var currentValue = values[i];
    if (!isNaN(currentValue) && currentValue >= 0) {
    chartData.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1) * currentValue / maxValue)));
    }
      else {
      chartData.push('_');
      }
  }
return chartData.join('');
}