/*-----------------------------------------------------------------------
pin.js

version: 	4.1
author:		sebastian kupke
email:		sebastian.kupke@baral-geohaus.de
website:	http://www.baral.de

-----------------------------------------------------------------------*/	
/* =namespace module pin
 -----------------------------------------------------------------------*/

var dragObject  = null;
var mouseOffset = null;
var iMouseDown = null;

ws.pin ={
	
	//Capturing Mouse Clicks
	startDrag: function(elem) {		
		elem.onmousedown =function(ev) {
			dragObject  = this;
			mouseOffset = ws.pin.getMouseOffset(this, ev);
			return false;						        
		}				
	},	
	
	//// funktion anfang	
	
	imgMauseOver: function(elem,title) {		
		elem.onmouseover =function(ev) {
			elem.title=title;				        
		}		
	},
	
	imgOnClick: function(elem,url) {
		elem.onclick =function(ev) {
			window.open(url);
		}		
	},
//// funktion end	
	
	//information on where we clicked our item
	getMouseOffset:function (target, ev){
		ev = ev || window.event;   
		var mousePos  = ws.pin.mouseCoords(ev);
		var docPos    = ws.pin.getPosition(target);		
		return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
	},
	
	//the coordinates of an item relative to the document
	getPosition:function (e){
		
		var left = 0;
		var top  = 0;		
		left = e.offsetLeft ;
		top  = e.offsetTop ;		
		return {x:left, y:top};
	},
	
	//capture the mouse coordinates
	mouseCoords:function (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
		};		
        },
	
	//Moving an Item
	mouseMove:function  (ev)   {
		
		ev  =  ev  ||  window.event;      
                var mousePos = ws.pin.mouseCoords(ev);
		//elem = document.getElementById('pin_select');
		if  (dragObject )  {						
		  dragObject .style.position  = 'absolute';		
			dragObject .style.top  = (mousePos.y-mouseOffset.y)+"px";
			dragObject .style.left  = (mousePos.x-mouseOffset.x)+"px"; 		 
			
			Imgs_coords = ws.map.px2Coords(mousePos);             
      top.parent.document.getElementById('geox').value = Imgs_coords.x;
		  top.parent.document.getElementById('geoy').value = Imgs_coords.y; 
			     
		}
		
		// track the current mouse state 
	        lMouseState = iMouseDown;		
		return false;	
	},
	
	//release an Item
	mouseUp:function  (ev)   {
		
		
		var Pin_px_start= ws.map.getStadtfixPx();		
		var Pin_coords=ws.map.px2Coords(Pin_px_start);
		
		
		dragObject = null;
		iMouseDown = false;
		
	}

}
  document.onmousemove = ws.pin.mouseMove;       
	document.onmouseup   = ws.pin.mouseUp;






















