var series = getUrlParam("series");
var filters = getUrlParam("filters");
var chartType = 'default';
var params = "";

function applySeriesSelect()
{
	$('input#series-compare').node.checked = true;
	$('label#series-compare-label').addClass("checked");
	applySeries();
}

function applySeries()
{
	series = "series=";
	
	if($('input#series-average').node.checked)
		series += 'average,';
	if($('input#series-country').node && $('input#series-country').node.checked)
		series += 'country,';
	if($('input#series-compare').node.checked)
	{
		var val = $('#series-compare-select').node.value;
		if(val!="")
			series += "c_" + $('#series-compare-select').node.value+",";
	}
	if($('input#series-user').node && $('input#series-user').node.checked)
		series += 'user,';
		
	if(series.match(',$'))
		series = series.substr(0,series.length-1);
	
	updateChart();
}


function filterPanel(el)
{
	Ojay('.filter-tabs li').removeClass("selected");
	el.parents().addClass("selected");

	Ojay('.filter-content-c').setStyle({display:'none'}).removeClass("active")
	Ojay('.filter-content-c').setStyle({display:'none'})
	Ojay("#"+el.node.id+"-options").setStyle({display:'block'}).addClass("active");
	
	applyFilters();
}

function applyFilters()
{
	var el = $('.active select');
	filters = "filters=" + el.node.id + "_" + el.node.value;

	if(chartType=='table')
		myDataTable.getDataSource().sendRequest(filters, myDataTable.onDataReturnInitializeTable, myDataTable);
	else
		updateChart();
}

function updateChart()
{
	params = "";
	if(filters || series)
	{
		if(filters)
			params+=filters;
		if(filters && series)
			params+='&'
		if(series)
			params+=series;			
	}
	
	var prefix = "";
	if(dataUrl.indexOf('?') > 0 || dataUrl.indexOf('%') > 0)
		prefix += "&";
	else
		prefix += "?";
	
	var flashMovie = document.getElementById(movieId);	
	flashMovie.setParam("radar.grow_time","0");
	flashMovie.setParam("column.grow_time","0");
	flashMovie.reloadData(dataUrl + prefix + params);
	
	/*
	Ojay('.tabs A.view-tab').forEach(function(element, i) {
	    element.node.href += "&" + params;
	});
	*/
	
	//Ojay('#commentUrl').node.value = baseUrl + "?" + params; 
}


function setupChartOptions()
{
	var f = getUrlParam("filters");
	var apply = false;
	if(f)
	{
		var p = f.split("_");
		Ojay('.filter-tabs li').removeClass("selected");
		Ojay('#'+p[0]+'-tab').parents().addClass("selected");

		Ojay('.filter-content-c').setStyle({display:'none'}).removeClass("active")
		Ojay('.filter-content-c').setStyle({display:'none'})
		Ojay("#"+p[0]+"-tab-options").setStyle({display:'block'}).addClass("active");
		
		Ojay('#'+p[0]).node.value=p[1];
		
		filters = f;
		apply = true;
	}
	
	var s = getUrlParam("series");
	if(s)
	{
		if($('input#series-average').node && s.indexOf("average")>=0)
			checkboxAverage.setValue(true);
		else
			checkboxAverage.setValue(false);

		if($('input#series-country').node && s.indexOf("country")>=0)
			checkboxCountry.setValue(true);
		else
			checkboxCountry.setValue(false);
		
		if($('input#series-user').node)
			if(s.indexOf("user")>=0)
				checkboxUser.setValue(true);
			else
				checkboxUser.setValue(false);
			
		if($('input#series-compare').node && s.indexOf("c_")>=0)
		{
			var countryCode = s.substring(s.indexOf("c_") + 2, s.indexOf("c_") + 4);
			$('#series-compare-select').node.value = countryCode.toUpperCase();
			checkboxCompare.setValue(true);
		}
		else
			checkboxCompare.setValue(false);
		
		series = s;
		apply = true;		
	}
	
	if(apply)
		updateChart();
	
}

function plot() 
{
	window.location = ( "/explore/compare/" + $('#indicator1').node.value+"-"+$('#indicator2').node.value);
}

function getUrlParam(name)
{  
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp( regexS );  
	var results = regex.exec( window.location.href );  
	if( results == null )    return "";  
	else return results[1];
}


function toggle(selector)
{
	var hud = Ojay(selector);
	if(hud.getStyle('display')!='block')
		hud.setStyle({display:'block'})
	else
		hud.setStyle({display:'none'})
}

function setCookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}


function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}