var downLeft, downTop;  //Position de la vue lorsqu'on a commencé à deplacer
var downX, downY;  //Position de la sourie au moment où on a commencé à deplacer
var reperes = new Array();

function movesegments(evt)
{
	vcarte =document.getElementById('vuecarte');
    if(!evt) var evt = window.event;
    vcarte.style.left = (downLeft + evt.screenX - downX) + 'px';
    vcarte.style.top  = (downTop  + evt.screenY - downY) + 'px';
    //document.getElementById('debug').innerHTML += document.getElementById('vuecarte').style.left;
}

function loadData()
{
	
	var minimap = document.getElementById('minimap');
	var vcarte = document.getElementById('vuecarte');
   	params = new Array();
    params['resize'] = 1;
	params['x'] = parseInt( minimap.style.width)/2-parseInt( vcarte.style.left);
    params['y'] = parseInt( vcarte.style.top)-parseInt(minimap.style.height)/2;
    params['largeur'] = parseInt(minimap.style.width);
    params['hauteur'] = parseInt(minimap.style.height);
   	if(reperes)
   		params['reperes'] = reperes;
   	else
   		params['reperes'] = new Array();
   	
    xajax_setMapPosition(params);
    
    minimap.oncontextmenu = contextMenu;
    minimap.ondragstart = drag;
    minimap.onmousedown = mousedown;
    minimap.onmouseup = mouseup;
}
function drag(evt)
{ 
	return false; 
} //On n'effectue pas un drag&drop d'image

function contextMenu(evt)
{ 
	
	return false;
}

function mousedown(evt){
	if(!evt)
		evt = window.event;
    
    if(
		(
			( (evt.which && evt.which == 1) || (evt.button && evt.button == 1) ) // bouton gauche de la souris
			&&
			(evt.ctrlKey) // Ctrl
		)
		||
		( (evt.which && evt.which == 2) || (evt.button && evt.button == 2) ) // bouton droit de la souris
	){
		downLeft = parseInt( document.getElementById('vuecarte').style.left);
		downTop  = parseInt( document.getElementById('vuecarte').style.top);
		downX = evt.screenX;
		downY = evt.screenY;
		
		document.getElementById('minimap').onmousemove = movesegments;
	}
}

function mouseup(evt)
{
	if(document.getElementById('minimap').onmousemove != null)
	{
		document.getElementById('minimap').onmousemove = null;
    
    	loadData();
    	return true;
    }
}
function mouseupTemples(evt)
{
	if(document.getElementById('minimap').onmousemove != null)
	{
		document.getElementById('minimap').onmousemove = null;
    
    	loadTemples();
    	
    	return true;
    }
    
}

function loadTemples()
{
	var minimap = document.getElementById('minimap');
	var vcarte = document.getElementById('vuecarte');
   	params = new Array();
    params['resize'] = 1;
	params['x'] = parseInt( minimap.style.width)/2-parseInt( vcarte.style.left);
    params['y'] = parseInt( vcarte.style.top)-parseInt(minimap.style.height)/2;
    params['largeur'] = parseInt(minimap.style.width);
    params['hauteur'] = parseInt(minimap.style.height);
    params['batiments'] = batiments;
    params['action'] = action;
    xajax_afficheBatiments(params);

    minimap.oncontextmenu = contextMenu;
    minimap.ondragstart = drag;
    minimap.onmousedown = mousedown;
    minimap.onmouseup = mouseupTemples;  
}
function centrerSurPosition(x,y)
{
	vcarte =document.getElementById('vuecarte');
	var minimap = document.getElementById('minimap');
	vcarte.style.top = (parseInt( minimap.style.height)/2+y)+"px";
	vcarte.style.left = (-x+parseInt(minimap.style.width)/2)+"px";
	minimap.onmouseup();
}
function centrerSurCarte()
{
	centrerSurPosition(parseInt(document.param.x_curseur.value),parseInt(document.param.y_curseur.value));
}

