/*--------------------------------------------------------------------
| File:		drag.js
| Purpose:	Handle map dragging and panning
| Updated:	030812
| Version:	040502
| Edited:	TNY
| Status:	Release
| Copyright © Centroid Software Ab Oy 2000-2003, Finland
|				All rights reserved. 
+--------------------------------------------------------------------*/

var nXStart=0,nYStart=0,nXEnd=0,nYEnd=0;
var width;	
var height;	
var left;	
var top;	
var mapscript;	
var down=1;
var mapid,tleast,tlnorth,mapname,theme,group,resolution,coordsys;
var ob,X,Y;

/*--------------------------------------------------------------------
*  Function:initPan
*  Purpose:	Initialize the Pan functionality
*-------------------------------------------------------------------*/
function initPan(mapid,tleast,tlnorth,mapname,theme,group,resolution,coordsys,width,height,left,top,mapscript){
	this.mapid=mapid;
	this.tleast=tleast;
	this.tlnorth=tlnorth;
	this.mapname=mapname;
	this.theme=theme;
	this.group=group;
	this.resolution=resolution/1000;
	this.coordsys=coordsys;
	this.width=width;
	this.height=height;
	this.left=left;
	this.top=top;
	this.mapscript=mapscript;
}

/*--------------------------------------------------------------------
*  Function:MD
*  Purpose:	Handle the mouse down event
*-------------------------------------------------------------------*/
function MD(e){
	if(ns6){
		if(e.target.name=='mapBigMap'){
			ob=document.getElementById(e.target.name);
			X=e.pageX;
			Y=e.pageY;
			nXStart=X;
			nYStart=Y;
			down=1;	
			return false;
		}
	}	
	else{	
		if(event.srcElement.name=='mapBigMap'){
			ob=event.srcElement.parentElement.style;
			X=event.offsetX;
			Y=event.offsetY;
  			nXStart=X;
			nYStart=Y;
			down=1;
		}
	}
}
/*--------------------------------------------------------------------
*  Function:MM
*  Purpose:	Handle the mouse move event
*-------------------------------------------------------------------*/
function MM(e){
	if(ob){
		if (ns6){
			ob.style.left=e.pageX-X +"px"; 
			ob.style.top=e.pageY-Y +"px";
			down=0;
		}
		else{
			ob.pixelLeft=event.clientX-X + document.body.scrollLeft;
			ob.pixelTop=event.clientY-Y + document.body.scrollTop;
			down=0;
			return false;
		}	
	}
}

/*--------------------------------------------------------------------
*  Function:MU
*  Purpose:	Handle the mouse up event
*-------------------------------------------------------------------*/
function MU(e){
	var url;
	var MCEasting,lMCNorthing;
	var lCoordE,lCoordN;
	
	if (ns6){
		nXEnd=e.pageX;
		nYEnd=e.pageY;
	}
	else{
		nXEnd=event.clientX;
		nYEnd=event.clientY;
	}

	lCoordE=width/2+(nXStart-nXEnd)+left;	
	lCoordN=height/2+(nYStart-nYEnd)+top;		

	lMCEasting = Math.round(tleast+(resolution*lCoordE));
	lMCNorthing = Math.round(tlnorth-(resolution*lCoordN));

	url=mapscript+".asp?MCEasting="+lMCEasting+"&MCNorthing="+lMCNorthing+"&MapId="+mapid+"&Theme="+theme+"&MapName="+mapname+"&CoordSys="+coordsys;
	
	if(down==0){
		self.location.href=url;
		ShowWait("mapWait");
	}
	else{
		if (ns6){
			if(e.target.name=='mapBigMap')
				click(e.pageX-left,e.pageY-top,mapid,tleast,tlnorth,mapname,theme,group,resolution,coordsys);
		}
		else{
			if(event.srcElement.name=='mapBigMap')		
				click(event.clientX-left,event.clientY-top,mapid,tleast,tlnorth,mapname,theme,group,resolution,coordsys);
		}
	}
	ob=null;
	saveCookie(siteId+'newMap',1,1);
}

/*--------------------------------------------------------------------
*  Function:click
*  Purpose:	Handle the mouse click event
*-------------------------------------------------------------------*/
function click(mousex,mousey,mapid,tleast,tlnorth,mapname,theme,group,resolution,coordsys){
	var url;
	var MCEasting,lMCNorthing;
	var lCoordE,lCoordN;
	var str;

	down=1;

	lCoordE=mousex;	
	lCoordN=mousey;	

	lMCEasting = Math.round(tleast+(resolution*lCoordE));
	lMCNorthing = Math.round(tlnorth-(resolution*lCoordN));

	url=mapscript+".asp?MCEasting="+lMCEasting+"&MCNorthing="+lMCNorthing+"&MapId="+mapid+"&Theme="+theme+"&MapName="+mapname+"&CoordSys="+coordsys;
	self.location.href=url;
	ShowWait("mapWait");
}

document.onmousedown=MD; 
document.onmousemove=MM; 
document.onmouseup=MU;

