
	var graphs = {};

	$(document).ready(function(){

		$('.graph-top').each(function(){
			var graph = $(this).parent();
			var id = graph.attr('id').split('-').pop();
			graphs[id] = {};
			graphs[id]['obj'] = graph;
			graphs[id]['startval'] 	= parseInt($('li:first', this).text());
			graphs[id]['endval'] 	= parseInt($('li:last', this).text());
			//width
			nwidth = parseInt($(this).css('padding-left')) + parseInt($('li:first', this).width()/2) -1;
			$('.graph-td-title', graph).width( nwidth );
			$('.graph-eg-result', graph).css('margin-left', nwidth);
			//table height
			nheight = parseInt($('#graph-' + id + ' table').height());
			$('.graph-lines', graph).css('height',nheight+'px');
			$('.graph-eg-result div', graph).css('height',nheight+'px');
			//vertical lines
			twidth = 0;
			$('li', this).each(function(){
				nwidth = parseInt($(this).position()['left']+$(this).width()/2) - twidth;
				$('#graph-' + id + ' .graph-lines').append('<div class="graph-line" style="width:'+(nwidth-1)+'px; height: '+nheight+'px"></div>');
				twidth += nwidth;
			});
			//some important values
			graphs[id]['realwidth'] = $('#graph-' + id + ' .graph-lines').width() - $('#graph-' + id + ' .graph-line:first').width();
			graphs[id]['scale'] = graphs[id]['realwidth'] / (graphs[id]['endval'] - graphs[id]['startval']);
			graphs[id]['eg-value'] = parseInt($('.graph-eg-result div', graph).attr('class').split('-').pop());
			graph.parent().hide();
		});

		$('#graph-links a').click(function() {
			id = $(this).attr('rel').split('-').pop();
			showGraph(id);
			if ($(this).attr('href') == "#no-disclaimer") 
				$('.disclaimer-block').hide();
			else
				$('.disclaimer-block').show();
			return false;
		});

		function showGraph(id) {
			graph = graphs[id]['obj'];
			$('#graph-links a').css('font-weight', 'normal');
			$('#'+id).css('font-weight', 'bold');
			$('.graph').parent().hide();
			$('.disclaimer').parent().hide();
			graph.parent().show();
			$('#'+graph.parent()[0].id+'-disclaimer').show();
			
			$('.progress', graph).each(function(){
			   if(!isNaN(parseInt($(this).parent().text()))) {
				  nwidth = parseInt($(this).parent().text());
				  $(this).animate({width: ((nwidth-graphs[id]['startval'])*graphs[id]['scale'] - 5)},1000);
				}
			});
			nleft = parseInt((graphs[id]['eg-value']-graphs[id]['startval']) * graphs[id]['scale'] - $('.graph-eg-result div', graph).width()/2);
			$('.graph-eg-result div', graph).animate({marginLeft: nleft}, 1500);
		}

		if (graphs[1])
			showGraph(1);

	});