// stosunek matrixa do mapy
var mapRatio;
// szybkosc chowania mapy
var mapSpeed;
// stan w jakim sie znajduje mapa zwinieta/rozwinieta
var mapStatus;
// intervał chowania mapy
var mapInteval;
var mapMilisecond;
var mapTopMinX;
var mapTopMinY;
var mapTopMaxX;
var mapTopMaxY;
var mapMinX;
var mapMaxX;
var mapMinY;
var mapMaxY;
var map;
var map_background;
var map_pattern;
var map_loader;
var map_scroll;
var map_image;
var ratioX;
var ratioY;
function setMapPosition(){
	mapTopMinX=-map.offsetWidth;
	mapTopMinY=-map.offsetHeight;
	mapTopMaxX=0;mapTopMaxY=0;
	var cM=new cookieManager(); cM.lifeTime=30; var pos=cM.getCookie('pMapPosition');
	if(pos==0) 	{
		map.setStyle({'top':mapTopMinY+'px'}); 
		mapStatus = 1;
		$('mapScrollLeftArrow').src = pathImage+'rollDownArrow.jpg';
		$('mapText').update('ROZWIŃ MAPĘ');
		$('mapScrollRightArrow').src= pathImage+'rollDownArrow.jpg';
	}
	else {
		map.setStyle({'top':'0px'});
		mapStatus = 0;
		$('mapScrollLeftArrow').src = pathImage+'rollUpArrow.jpg';
		$('mapText').update('ZWIŃ MAPĘ');
		$('mapScrollRightArrow').src= pathImage+'rollUpArrow.jpg';
	}
}
function mapStartDrag(MouseE){
	if(mapClicked != 1){
		mapX = Event.pointerX(MouseE);
		mapY = Event.pointerY(MouseE);
		Event.stop(MouseE);
		mapClicked = 1;
		relocationMatrix();
	}
}
function switchOffMap(){
	map_loader.setStyle({'display':'none'});
	map_image.setStyle({'display':'block'});
	map_background.setStyle({'left':((map.offsetWidth-1)-map_background.offsetWidth)/2+'px','top':((map.offsetHeight-1)-map_background.offsetHeight)/2+'px'});
}
function switchOnMap(){
	map_loader.setStyle({'display':'block'});
}
function mapRoll(MouseE){
	if(mapClicked==1){
		var offsetX = Event.pointerX(MouseE) - mapX;
		var offsetY = Event.pointerY(MouseE) - mapY;
		mapX = Event.pointerX(MouseE);
		mapY = Event.pointerY(MouseE);
		Event.stop(MouseE);
		var arr = getRealCoordinates(map_pattern);
		var x = map_pattern.offsetLeft + offsetX;
		var y = map_pattern.offsetTop + offsetY;
		if(x<mapMinX) x=mapMinX;
		if(y<mapMinY) y=mapMinY;
		if(x>mapMaxX) x=mapMaxX;
		if(y>mapMaxY) y=mapMaxY;
		map_pattern.setStyle({'left':x+"px", 'top':y+"px"});
		relocationMatrix();
		loadInvisibleImages();
	}
}
function mapStopDrag(MouseE){
	Event.stop(MouseE);
	mapClicked = 0;
}
function initMap(MouseE){
	pH.show(1);
	if(mapStatus==0) mapInteval = window.setInterval("hideMap()", mapMilisecond);
	else mapInteval = window.setInterval("showMap()", mapMilisecond);
}
function hideMap(){
	var top = map.offsetTop - mapSpeed;
	if(top<mapTopMinY) top = mapTopMinY;
	map.setStyle({'top': top + 'px'});
	if( (top == mapTopMinY)){
		 window.clearInterval(mapInteval);
		 var cM=new cookieManager(); cM.lifeTime=30; cM.setCookie('pMapPosition',0);
		 mapStatus = 1;
		 $('mapScrollLeftArrow').src = pathImage+'rollDownArrow.jpg';
		 $('mapText').update('ROZWIŃ MAPĘ');
		 $('mapScrollRightArrow').src= pathImage+'rollDownArrow.jpg';
	}
}
function showMap() {
	var top = map.offsetTop + mapSpeed;
	if(top>mapTopMaxY) top = mapTopMaxY;
	map.setStyle({'top': top + 'px'});
		if( (top == mapTopMaxY)){
		 	window.clearInterval(mapInteval);
		 	var cM=new cookieManager(); cM.lifeTime=30; cM.setCookie('pMapPosition',1);
		 	mapStatus = 0;
		 	$('mapScrollLeftArrow').src = pathImage+'rollUpArrow.jpg';
		 	$('mapText').update('ZWIŃ MAPĘ');
		 	$('mapScrollRightArrow').src= pathImage+'rollUpArrow.jpg';
	}
}

function refreshMapRatio(){
	if(pageInfo['layer'][layer]['width']>projector.offsetWidth || pageInfo['layer'][layer]['height']>projector.offsetHeight){
		map_pattern.setStyle({"display":"block"});
		if(projector.offsetWidth<matrix.offsetWidth) ratioX = projector.offsetWidth/matrix.offsetWidth; else ratioX = 1;
		if(projector.offsetHeight<matrix.offsetHeight) ratioY = projector.offsetHeight/matrix.offsetHeight; else ratioY = 1;
		map_pattern.setStyle({'width':Math.floor(map_background.offsetWidth*ratioX)-2+"px", 'height':Math.floor(map_background.offsetHeight*ratioY)-2+"px"});
		mapMinX = 0; mapMaxX = map_background.offsetWidth-map_pattern.offsetWidth;
		mapMinY = 0; mapMaxY = map_background.offsetHeight-map_pattern.offsetHeight;
		relocationMap();
	}
	else map_pattern.setStyle({"display":"none"});
}

function relocationMap(){
	if(matrix.offsetLeft<0) var x = Math.abs(matrix.offsetLeft/matrix.offsetWidth); else var x = 0;
	if(matrix.offsetTop<0)  var y = Math.abs(matrix.offsetTop/matrix.offsetHeight); else var y = 0;
	map_pattern.setStyle({"left": Math.round(map_background.offsetWidth*x)+"px", "top":  Math.round(map_background.offsetHeight*y)+"px"});
}

function relocationMatrix(){
	if((map_pattern.offsetWidth)<map_background.offsetWidth) matrix.setStyle({"left": Math.round((map_pattern.offsetLeft/map_background.offsetWidth*matrix.offsetWidth)*(-1)) + "px"});
	if((map_pattern.offsetHeight)<map_background.offsetHeight) matrix.setStyle({"top": Math.round((map_pattern.offsetTop/map_background.offsetHeight*matrix.offsetHeight)*(-1))  + "px"});
}
