/*-----------------------------------------------------------------------
Overview JavaScript File

version: 	4.0
author:		sebastian kupke
email:		sebastian.kupke@baral.de
website:	http://www.baral.de
-----------------------------------------------------------------------*/


/* =overview
-----------------------------------------------------------------------*/
function stopDragging() {

	var overviewWidth = $('#overview_map').width();
	var overviewHeight = $('#overview_map').height();
	var overviewWidthMeter = overviewExtent.maxx - overviewExtent.minx;
	var overviewHeightMeter = overviewExtent.maxy - overviewExtent.miny;
	
	var top = parseInt($(this).css('top'));
	var left = parseInt($(this).css('left'));
	var width = $(this).width();
	var height = $(this).height();
	
	// calculate center coords
	var overviewCenterX = left + (width / 2);
	var overviewCenterY = top + (height / 2);
	
	var diffCenterX = (overviewWidthMeter * overviewCenterX) / overviewWidth;
	var diffCenterY = (overviewHeightMeter * overviewCenterY) / overviewHeight;
	
	center.x = overviewExtent.minx + diffCenterX;
	center.y = overviewExtent.maxy - diffCenterY;
	
	getMap();
}

function setOverviewRect() {
	
	// Get width and height of map div
	var widthPixel = $('#map_div').width();
	var heightPixel = $('#map_div').height();
	
	var overviewWidth = $('#overview_map').width();
	var overviewHeight = $('#overview_map').height();
	var overviewWidthMeter = overviewExtent.maxx - overviewExtent.minx;
	var overviewHeightMeter = overviewExtent.maxy - overviewExtent.miny;
	
	// Current map position in meter
	var minX = center.x - (widthPixel / 2 * scaleFactor);
	var minY = center.y - (heightPixel / 2 * scaleFactor);
	var maxX = center.x + (widthPixel / 2 * scaleFactor);
	var maxY = center.y + (heightPixel / 2 * scaleFactor);
	
	// Different in meter at the corners [m]
	// *-------
	// |      |
	// --------
	var diffUpperLeftX = minX - overviewExtent.minx;
	var diffUpperLeftY = overviewExtent.maxy - maxY;
	
	// --------
	// |      |
	// -------*
	var diffLowerRightX = maxX - overviewExtent.minx;
	var diffLowerRightY = overviewExtent.maxy - minY;
	
	// upper left in pixel
	var diffUpperLeftPixelX = Math.round((diffUpperLeftX * overviewWidth) / overviewWidthMeter);
	var diffUpperLeftPixelY = Math.round((diffUpperLeftY * overviewHeight) / overviewHeightMeter);
	
	var deltaX = maxX - minX;
	var deltaY = maxY - minY;
	
	// width and height
	var diffLowerRightPixelX = Math.round((deltaX * overviewWidth) / overviewWidthMeter);
	var diffLowerRightPixelY = Math.round((deltaY * overviewHeight) / overviewHeightMeter);
	
	$('#overview_rect').css('opacity','0.5');
	
	$('#overview_rect').animate({ 
		width: diffLowerRightPixelX + 'px',
        height: diffLowerRightPixelY + 'px',
        top: diffUpperLeftPixelY,
        left: diffUpperLeftPixelX
	}, 500);
}










