
var moveX,moveY,downX,downY,upX,upY,clickX,clickY;
var eventId = "";
var divNum = -1;
var lineY = new Array();
var lineX = new Array();

///////////////////////////////////////////////////////
//
//	捕捉鼠标事件。
//	IE: Move 、 Down 、 Click 、 Up 、 DbCLick
//	NS:  Move 、 Down 、 Click 、 Up
//
///////////////////////////////////////////////////////

function epCaptureEvent()
{
	if (document.layers) {
		document.captureEvents(Event.MOUSEMOVE);
		document.captureEvents(Event.MOUSEDOWN);
		document.captureEvents(Event.MOUSEUP);
		document.captureEvents(Event.CLICK);
	}
	document.onmousemove = epMouseMove;
	document.onmousedown = epMouseDown;
	document.onmouseup = epMouseUp;
	document.onclick = epMouseClick;
	document.ondblclick = epMouseDbclick;

}

function epMouseMove(e)
{

	eventId = event.srcElement.id;

	if( document.layers )
	{
		moveX = e.pageX;
		moveY = e.pageY;
	} else if( document.all ) {
		moveX = event.clientX + document.body.scrollLeft;
		moveY = event.clientY + document.body.scrollTop;
	}
	

	if( epCheckMouse_Map() )
	{
		if( blMoveTool && blDown ) 	// 漫 游
		{
			lcMoveLayer( szLayerMapImage,moveX-downX,moveY-downY );
			lcMoveLayer( szLayerMapImageBg,moveX-downX,moveY-downY );
		}
	
		if( blRectTool  && blDown )
		{
			epRect();		// 拉 框
		}

		if( divNum != -1 && divNum <= 9 && blDblClickTool )
		{
			epAddUserLine( divNum );	 // 画虚线
		}
	}
	
	if( epCheckMouse_Bar() && blDown ) {	//  滑轨
		epGetScale( moveY );
		lcMoveLayer( szLayerBar, Bar_Left, moveY);
		epSetMap_Bar();
	}


}
var DeventId;
function epMouseDown(e)
{
	downX = moveX;
	downY = moveY;
	eventId = event.srcElement.id;
	DeventId = event.srcElement.id;
	
	if( eventId != "" )
			blDown = true;
	else 
			blDown = false;

	if( epCheckMouse_Map() && blRectTool ) {
		lcShowLayer('layRect');
		lcMoveLayer( 'layRect',downX,downY );
	}

}

function epMouseUp(e)
{
	upX = moveX;
	upY = moveY;
	blDown = false;
	
	if( epCheckMouse_Map() && ( blRectTool || blMoveTool ) )
	{
		mtSubmitFromClickMap( downX-left, downY-top, upX-left, upY-top  );
	}

}

function epMouseClick(e)
{
	clickX = moveX;
	clickY = moveY;
	eventId = event.srcElement.id;
	
	if( blClickTool && epCheckMouse_Map())
		mtSubmitFromClickMap( clickX-left, clickY-top, clickX-left, clickY-top  );

	if( epCheckMouse_Map() && blDblClickTool ) {		// 画虚线
		divNum = divNum + 1;
		lineX[divNum] = clickX - left;
		lineY[divNum] = clickY - top;
	}
	
	if( epCheckMouse_Bar() ) {	//  滑轨
		epGetScale( moveY );
		lcMoveLayer( szLayerBar, Bar_Left, clickY);
		epSetMap_Bar();
		mtSumbitMapZoom( scale );
	}
	
	if( eventId == 'imgee' ) {
		mtSubmitEEyes( event.offsetX,event.offsetY);
	}
}

function epMouseDbclick(e)
{
	eventId = event.srcElement.id;
	if( epCheckMouse_Map() && blDblClickTool ) {
		epEventNull();
		var szXs = lineX.join( ',' );
		var szYs = lineY.join( ',' );
		mtSubmitFromDblClickMap( szXs, szYs );

		divNum = -1;
		lineY = new Array();
		lineX = new Array();
	}
}


// check Mouse Position
function epCheckMouse_Map()
{

	if( (moveX > left) && (moveX < left+width) && 
		(moveY > top)  && (moveY < top+height) && 
		(downX > left) && (downX < left+width) && 
		(downY > top)  && (downY < top+height) &&
		eventId == szLayerMask &&  DeventId != 'layerOutput')
	{
		return true;
	} else {
		return false;
	}

}
/////////////////////
//
//	滑轨功能
//
/////////////////////

// 地图变化函数
function epSetMap_Bar()
{
	var w = width / scale;
	var h = height / scale;

	var x = width/2 * ( 1 - 1/scale );
	var y = height/2 * ( 1 - 1/scale );
	
	lcChangeImgSize( w, h );
	lcSetImgSize( szImageMapBg, w, h );
	lcMoveLayer( szLayerMapImage, x, y);
	lcMoveLayer( szLayerMapImageBg, x, y);
}


// 取得缩放比例
function epGetScale( paramY )
{
	if( moveY < Bar_Top ) {
		scale = ( Bar_bgHeight / 2 ) / ( ( ( Bar_Top - Bar_Height / 2 ) - paramY ) * 2 + Bar_bgHeight / 2 )
	}
	if( moveY > Bar_Top ) {
		scale = ( ( paramY - ( Bar_Top - Bar_Height / 2 ) ) * 2 + Bar_bgHeight / 2 ) / ( Bar_bgHeight / 2 );
	}
	if( scale > 3 )   scale = 3;
	if( scale < 1/3 ) scale = 1/3;
	
}

// 检测鼠标位置并
// 判断当前页面是否支持滑轨功能
function epCheckMouse_Bar()
{
	if( moveX > Bar_bgLeft && moveX < ( Bar_bgLeft + Bar_bgWidth ) &&
		moveY > Bar_bgTop  && moveY < ( Bar_bgTop + Bar_bgHeight ) &&
		blBarExit && eventId == szLayerBarMask  &&  DeventId != 'layerOutput')
		return true;
	else
		return false;
}

/////////////////////
//
//	画虚线
//
/////////////////////

function epAddUserLine( d )
{
	lcShowLayer( 'div'+ d );
	var MmX = clickX;
	var MmY = clickY;
	var McX = moveX;
	var McY = moveY;

	if( McY > top + height ) McY = top + height;
	if( McY < top )     McY = top;
	if( McX > left + width )  McX = left + width;
	if( McX < left )     McX = left;

	if( McX > MmX && McY > MmY ) //1
		epSetMeasureq( d, MmY, MmX, McX-MmX, McY-MmY, 'images/tl.gif' );
	if( McX > MmX && McY < MmY ) //2
		epSetMeasureq( d, McY,MmX,McX-MmX,MmY-McY, 'images/tr.gif' );
	if( McX < MmX && McY > MmY ) //3
		epSetMeasureq( d,MmY,McX,MmX-McX,McY-MmY, 'images/tr.gif' );
	if( McX < MmX && McY < MmY ) //4
		epSetMeasureq( d,McY,McX,MmX-McX,MmY-McY, 'images/tl.gif' );

}

function epSetMeasureq( pname, ptop, pleft, pwidth, pheight, psrc )
{
	document.all( 'div' + pname ).style.top = ptop;
	document.all( 'div' + pname ).style.left = pleft;
	document.all( 'img' + pname ).width = pwidth;
	document.all( 'img' + pname ).height = pheight;
	document.all( 'img' + pname ).src = psrc;
}


/////////////////////
//
//	拉框操作
//
/////////////////////

function epRect()
{
	if( moveX<downX && moveY<downY ) {        // No.2
		lcResizeLayer('layRect',downX-moveX,downY-moveY);
		lcMoveLayer('layRect',moveX,moveY);
	} else if( moveX>downX && moveY<downY ) { // No.1
		lcResizeLayer('layRect',moveX-downX,downY-moveY);
		lcMoveLayer('layRect',downX,moveY);
	} else if( moveX<downX && moveY>downY ) { // No.3
		lcResizeLayer('layRect',downX-moveX,moveY-downY);
		lcMoveLayer('layRect',moveX,downY);
	} else if( moveX>downX && moveY>downY ) { // No.4
		lcResizeLayer('layRect',moveX-downX,moveY-downY);
		lcMoveLayer('layRect',downX,downY);
	}
}

/////////////////////
//
//	复位操作
//
/////////////////////

function epInitMappage() {
	downX = 0;
	downY = 0;
	moveX = 0;
	moveY = 0;
	//alert("结果信息返回");
	lcHideLayer( szLayerLoading );

	lcHideLayer( szLayerBorder );
	lcResizeLayer( szLayerBorder, 1, 1 );
	lcMoveLayer(  szLayerBorder, -10, -10 );

	if( document.all ) { 
//		lcChangeImgSize( width, height );
		lcMoveLayer( szLayerMapImage, 0, 0 );
		lcShowLayer( szLayerMapImage );

	}

	for(i=0; i<9; ++i) { // 尺子
		lcHideLayer( 'div' + i );
		lcMoveLayer(  'div' + i, -10, -10 );
		lcResizeLayer('div' + i, 1, 1 );
	}
	
	if( blBarExit ) { // 滑轨
		lcMoveLayer( szLayerBar, Bar_Left, Bar_Top );		
	}
}

function epEventNull()
{
	document.onmousemove = '';
	document.onmousedown = '';
	document.onmouseup = '';
	document.onclick = '';
	document.ondblclick = '';
}
