
	var _chart_mdown = false;
	var _chart_x=-1;
	var _chart_y=-1;
	var _chart_pos_x = -1;
	var _chart_pos_y = -1;
	var _chart_visible=false;
	var _chart_query='';
	var _chart_moved = false;
	var _chart_2D = true;
	var _chart_static_div = false;
	var _chart_type = 'bar';
	var _chart_var=0;

	function adjustChart() {
		if(_chart_visible && !_chart_moved) 
			buildCharts(_chart_query);
	}

	function findPosX(obj) {
		var curleft = 0;
		if (obj.offsetParent){
			while (obj.offsetParent){
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}

	function buildCharts(query,type) {
		
	var elem = document.getElementsByTagName('div');

		try {
		if(type) _chart_type=type;

		var PIECHART='<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="220" id="FusionCharts"> <PARAM NAME=movie VALUE="/Flash/FC_2_3_Pie2D.swf"> <PARAM NAME="FlashVars" VALUE="&dataURL=/chart.php?q='+URLEncode(query)+'%40pie&chartWidth=450&chartHeight=220"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED id="embedchart" src="/Flash/FC_2_3_Pie2D.swf" FlashVars="&dataURL=/chart.php?q='+URLEncode(query)+'%40pie&chartWidth=450&chartHeight=220" quality=high bgcolor=#FFFFFF WIDTH="450" HEIGHT="220" NAME="FusionCharts" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
		PIECHART = PIECHART + '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="140" id="FusionCharts"> <PARAM NAME=movie VALUE="/Flash/FC_2_3_SSGrid.swf"> <PARAM NAME="FlashVars" VALUE="&dataURL=/chart.php?q='+URLEncode(query)+'%40pie&chartWidth=450&chartHeight=140&valueColumnPadding=300"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED id="embedchart" src="/Flash/FC_2_3_SSGrid.swf" FlashVars="&dataURL=/chart.php?q='+URLEncode(query)+'%40pie&chartWidth=450&chartHeight=140&valueColumnPadding=300" quality=high bgcolor=#FFFFFF WIDTH="450" HEIGHT="140" NAME="FusionCharts" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
		var LINECHART='<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="310" id="FusionCharts"> <PARAM NAME=movie VALUE="/Flash/FC_2_3_Line.swf"> <PARAM NAME="FlashVars" VALUE="&dataURL=/chart.php?q='+URLEncode(query)+'%40line&chartWidth=450&chartHeight=310"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED id="embedchart" src="/Flash/FC_2_3_Line.swf" FlashVars="&dataURL=/chart.php?q='+URLEncode(query)+'%40line&chartWidth=450&chartHeight=310" quality=high bgcolor=#FFFFFF WIDTH="450" HEIGHT="310" NAME="FusionCharts" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
		var BARCHART='<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="310" id="FusionCharts"> <PARAM NAME=movie VALUE="/Flash/FC_2_3_Column3D.swf"> <PARAM NAME="FlashVars" VALUE="&dataURL=/chart.php?q='+URLEncode(query)+'%40bar&chartWidth=450&chartHeight=310"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED id="embedchart" src="/Flash/FC_2_3_Column3D.swf" FlashVars="&dataURL=/chart.php?q='+URLEncode(query)+'%40bar&chartWidth=450&chartHeight=310" quality=high bgcolor=#FFFFFF WIDTH="450" HEIGHT="310" NAME="FusionCharts" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
		var BARMONTHLYCHART='<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="310" id="FusionCharts"> <PARAM NAME=movie VALUE="/Flash/FC_2_3_Column3D.swf"> <PARAM NAME="FlashVars" VALUE="&dataURL=/chart.php?q='+URLEncode(query)+'%40barmonth&chartWidth=450&chartHeight=310"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED id="embedchart" src="/Flash/FC_2_3_Column3D.swf" FlashVars="&dataURL=/chart.php?q='+URLEncode(query)+'%40barmonth&chartWidth=450&chartHeight=310" quality=high bgcolor=#FFFFFF WIDTH="450" HEIGHT="310" NAME="FusionCharts" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
		var MULTISERIESCHART='<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="310" id="FusionCharts"> <PARAM NAME=movie VALUE="/Flash/FC_2_3_DualYLine.swf"> <PARAM NAME="FlashVars" VALUE="&dataURL=/chart.php?q='+URLEncode(query)+'%40multiseries&chartWidth=450&chartHeight=310"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED id="embedchart" src="/Flash/FC_2_3_DualYLine.swf" FlashVars="&dataURL=/chart.php?q='+URLEncode(query)+'%40multiseries&chartWidth=450&chartHeight=310" quality=high bgcolor=#FFFFFF WIDTH="450" HEIGHT="310" NAME="FusionCharts" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';

		if(_chart_2D) {
			BARCHART=BARCHART.replace(/3D/g,'2D');
			//BARMONTHLYCHART=BARMONTHLYCHART.replace(/3D/g,'2D');
		}
		
		if (_chart_type == 'pie')
			document.getElementById('flashchart').innerHTML=PIECHART;
		else if (_chart_type == 'line')
			document.getElementById('flashchart').innerHTML=LINECHART;
		else if (_chart_type == 'bar')
			document.getElementById('flashchart').innerHTML=BARCHART;
		else if (_chart_type == 'barmonth')
			document.getElementById('flashchart').innerHTML=BARMONTHLYCHART;
		else if (_chart_type == 'multiseries')
			document.getElementById('flashchart').innerHTML=MULTISERIESCHART;

		if(true && !_chart_moved) {
			var _add_x = 0;
			var _screen_x=0;
			var _screen_y=0;

			if(navigator.appName == "Microsoft Internet Explorer") {
//		        	_screen_x=document.getElementById('maintable1').offsetLeft;
//		        	_screen_y=document.getElementById('maintable1').offsetTop + 40;
					// load the graph in the centre of the current window
					_screen_x=window.pageXOffset;
					_screen_y=window.pageYOffset + 40;

					for(i = 0; i < elem.length; i++) {
						att = elem[i].getAttribute("name");
					if(att == 'charts'){
						_chart_var = elem[i];
						break;
					}}
			}else {
//		        	_screen_x=document.getElementById('maintable').offsetLeft;
//		        	_screen_y=document.getElementById('maintable').offsetTop + 100;
					// load the graph in the centre of the current window
					_screen_x=window.pageXOffset;
					_screen_y=window.pageYOffset + 100;
					_chart_var = document.getElementById('charts');
			}

			if(readCookie('searchbar') == 'advanced') {
				_screen_y+=100;
			}

	        if(_add_x  < 0) _add_x = 0;
			_add_x += 300;

			_chart_pos_x = _screen_x + _add_x;
			_chart_pos_y = _screen_y;

		if(navigator.appName != "Microsoft Internet Explorer") {
		    _chart_var.style.marginLeft = _screen_x + _add_x +'px';
		    _chart_var.style.marginTop = _screen_y +'px';
			}	
		}
	if(_chart_var) _chart_var.style.display='';
		_chart_visible=true;
		_chart_query=query;
		} catch(e) {
			alert(e);
		}
	}

	function URLEncode(plaintext) {
		try{
			// The Javascript escape and unescape functions do not correspond
			// with what browsers actually do...
			var SAFECHARS = "0123456789" +          // Numeric
			"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +  // Alphabetic
			"abcdefghijklmnopqrstuvwxyz" +
			"-_.!~*'()";          // RFC2396 Mark characters
			var HEX = "0123456789ABCDEF";
			
			var encoded = "";
			for (var i = 0; i < plaintext.length; i++ ) {
				var ch = plaintext.charAt(i);
				if (ch == " ") {
					encoded += "+"; // x-www-urlencoded, rather than %20
				} else if (SAFECHARS.indexOf(ch) != -1) {
					encoded += ch;
				} else {
					var charCode = ch.charCodeAt(0);
					if (charCode > 255) {
						alert( "Unicode Character" );
						encoded += "+";
					} else {
						encoded += "%";
						encoded += HEX.charAt((charCode >> 4) & 0xF);
						encoded += HEX.charAt(charCode & 0xF);
					}
				}
			} // for

			return encoded;
		} catch(e){ }
	}

	function mousedown(e) {
		_chart_pos_x = document.getElementById('charts').offsetLeft;
		_chart_pos_y = document.getElementById('charts').offsetTop;
		_chart_mdown=true;

		if(e.pageX || e.pageY) {
			_chart_x=e.pageX;
			_chart_y=e.pageY;
		}
		else {
			_chart_x=e.clientX;
			_chart_y=e.clientY;
		}
	}

	function mouseup(e) {
		_chart_mdown=false;
		_chart_x=_chart_y=-1;
	}

	function mousemove(e) {
		if(!_chart_mdown) return;
		_chart_visible=false;

		var _xx;
		var _yy;

		if(e.pageX || e.pageY) {
			_xx=e.pageX;
			_yy=e.pageY;
		}
		else {
			_xx=e.clientX;
			_yy=e.clientY;
		}

		var _dx = _xx - _chart_x;
		var _dy = _yy - _chart_y;
		_chart_x = _xx;
		_chart_y = _yy;

		_chart_pos_x+=_dx;
		_chart_pos_y+=_dy;

		//document.getElementById('mpos').value=_pos_x+":"+_pos_y;

		document.getElementById('charts').style.marginLeft =_chart_pos_x+'px';
		document.getElementById('charts').style.marginTop = _chart_pos_y+'px';
		_chart_moved = true;
	}

