// chartPosition Init
this.chartPositionLastPosition = null;

$('chartActualHeightLabel').style.display = 'none';
						
Event.observe($('chartInnerContainer'), 'mouseover', this.chartPositionStartDrag.bind(this));
this.chartPositionMaxLeftPosition = $('chartInnerContainer').getWidth();		

function chartPositionStartDrag ()
{	
	this.chartPositionRemoveHeightMarker();
			
	$('chartActualHeight').style.display = 'none';
	this.chartPositionCurrentHeight = 0;
	
	chartOffset = $('chartInnerContainer').cumulativeOffset();
	this.chartPositionLastPosition = new Object();
	this.chartPositionLastPosition.x = chartOffset[0];
	
	
	Event.observe($('chartInnerContainer'), 'mouseout', this.chartPositionStopDrag.bind(this));
	
	$('chartActualHeight').style.display = '';
	$('chartInnerContainer').onmousemove = this.chartPositionDragging.bind(this);
}

function chartPositionStopDrag ()
{
	this.chartPositionRemoveHeightMarker();
}

function chartPositionDragging (e)
{
	e = e || window.event;
	var cursor = {x:0, y:0};
	if (e.pageX || e.pageY) {
		cursor.x = e.pageX;
		cursor.y = e.pageY;
	} 
	else {
		var de = document.documentElement;
		var b = document.body;
		cursor.x = e.clientX + 
			(de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
		cursor.y = e.clientY + 
			(de.scrollTop || b.scrollTop) - (de.clientTop || 0);
	}		
	
	this.chartPositionCursorPosition = cursor;
			
	if(this.chartPositionLastPosition != null)
	{
		var diff = this.chartPositionCursorPosition.x - this.chartPositionLastPosition.x;
		this.chartPositionCurrentHeight += diff;
		
		var dragicon = new GIcon();
		dragicon.iconSize = new GSize(24, 24);
		dragicon.iconAnchor = new GPoint(22, 1);
		dragicon.image = "/de/images/touren/drag.png";	
		dragicon.infoWindowAnchor = new GPoint(22, 1);
		
		$('chartInnerContainer').style.backgroundPosition = this.chartPositionCurrentHeight + "px top";
		
		if(this.chartPositionCurrentHeight >= 0 && this.chartPositionCurrentHeight <= this.chartPositionMaxLeftPosition)
		{			
			var percent = this.chartPositionCurrentHeight / this.chartPositionMaxLeftPosition;
			var markerNr = Math.round(polylineData.length * percent);
			
			if(polylineData[markerNr])
			{
				if(!this.chartPositionHeightMarker)
				{
					this.chartPositionHeightMarker = new GMarker(polylineData[markerNr],{icon: dragicon});
					map.addOverlay(this.chartPositionHeightMarker);
				}
				else
				{
					this.chartPositionHeightMarker.setPoint(polylineData[markerNr]);
				}
				$('chartActualHeight').innerHTML = parseInt(elevation[markerNr]) + ' m';
			}
		}
	}
	
	this.chartPositionLastPosition = this.chartPositionCursorPosition;
}

function chartPositionRemoveHeightMarker ()
{
	if(this.chartPositionHeightMarker != null)
	{
		map.removeOverlay(this.chartPositionHeightMarker);
		this.chartPositionHeightMarker = null;
	}
}
