
var dragging = false;

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function mouseDownEvent(ev) {
	if( element = document.getElementById( 'highlighter' ) ) {
		position = mouseCoords( ev );
		degree = 75;

		if (element.filters&&obj.tempobj.filters[0])
		{
			if (typeof element.filters[0].opacity=="number") //if IE6+
				element.filters[0].opacity=degree;
			else //else if IE5.5-
				element.style.filter="alpha(opacity="+degree+")";
		}
		else if (element.style.MozOpacity)
			element.style.MozOpacity=degree/101;
		else if (element.style.KhtmlOpacity)
			element.style.KhtmlOpacity=degree/100;


		element.style.top = position.y + 'px';
		element.style.left = position.x + 'px';
		dragging = true;
	}
}

function mouseMoveEvent(ev ) {
	if( dragging )
	{
		if( element = document.getElementById( 'highlighter' ) ) {
			position = mouseCoords( ev );
			element.style.width = ( parseInt( position.x ) - parseInt( element.style.left ) )+ 'px' ;
			element.style.height = ( parseInt( position.y ) - parseInt( element.style.top ) )+ 'px' ;			
		}
	}
}

//document.onmousedown = mouseDownEvent;
//document.onmousemove = mouseMoveEvent;

function tubeMap( element ) {
	this.element = document.getElementById( element );
	this.position = 1;
	if( !this.element ) {
		alert( 'Tube Map not initialised properly.' );
		return;
	}
	this.positionMap( 1 );
}

tubeMap.prototype.createMarker = function( top, left ) {
	
}

tubeMap.prototype.move = function( direction ) {
	switch( direction ) {
		case 'right':
			if( this.position != 3 && this.position != 6 )
				this.positionMap( ++this.position );
			break;
		case 'up':
			if( this.position > 3 ) {
				this.position = this.position - 3;
				this.positionMap( this.position );
			}
		case 'up_left':
			if( this.position > 4  ) {
				this.position = this.position - 4;
				this.positionMap( this.position )
			}
			break;
		case 'left':
			if( ( this.position != 1 ) && ( this.position != 4 ) ) {
				this.positionMap( --this.position );
			}
			break;
		case 'down':
			if( this.position < 4 ) {
				this.position = this.position + 3;
				this.positionMap( this.position );
			}
	}
}


tubeMap.prototype.positionMap = function ( position ) {
	this.element.style.backgroundImage = "url(/resources/images/tube/tube0" + position + ".gif)";
}