﻿var map;
var mapIcons;
var MAP_IMAGES_NAMES = ["image.png", "shadow.png", "printImage.gif", "mozPrintImage.gif", "printShadow.gif", "transparent.png"];
var MAP_IMAGES_ROOT = "/images/map/";
var mapIndicator;


/////////////////////////////////////////////////
//		SetMapModule()
/////////////////////////////////////////////////

function SetMapModule(initLat,initLng,initScale,showIndicator) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		SetMapCustomUI(map);
		map.setMapType(G_NORMAL_MAP);
		SetMapIcons();
		map.setCenter(new GLatLng(initLat,initLng),initScale);
		
		mapIndicator=new MapIndicator();
		if(showIndicator){
			mapIndicator.show();
		}
	}
	else {
		alert("К сожалению, Ваш браузер не работает с картами Google.");
	}
}

function SetMapCustomUI(map) {
	var customUI=map.getDefaultUI();
	customUI.controls.scalecontrol = false;
	customUI.zoom.scrollwheel = false;
	map.setUI(customUI);
}

function SetMapIcons(){
	mapIcons = new Object();

	mapIcons.noStars = GetMapIcon("nostars");
	mapIcons.oneStar = GetMapIcon("onestar");
	mapIcons.twoStars = GetMapIcon("twostars");
	mapIcons.threeStars = GetMapIcon("threestars");
	mapIcons.fourStars = GetMapIcon("fourstars");
	mapIcons.fiveStars = GetMapIcon("fivestars");
}

function GetMapIcon(dir) {
	PreloadMapImages(dir);
	var icon = new GIcon();
	icon.image = MAP_IMAGES_ROOT + dir + "/image.png";
	icon.shadow = MAP_IMAGES_ROOT + dir + "/shadow.png";
	icon.iconSize = new GSize(23,23);
	icon.shadowSize = new GSize(35,23);
	icon.iconAnchor = new GPoint(12,23);
	icon.infoWindowAnchor = new GPoint(12, 0);
	icon.printImage = MAP_IMAGES_ROOT + dir + "/printImage.gif";
	icon.mozPrintImage = MAP_IMAGES_ROOT + dir + "/mozPrintImage.gif";
	icon.printShadow = MAP_IMAGES_ROOT + dir + "/printShadow.gif";
	icon.transparent = MAP_IMAGES_ROOT + dir + "/transparent.png";
	icon.imageMap = [20,0,21,1,22,2,22,3,22,4,22,5,22,6,22,7,22,8,22,9,22,10,22,11,22,12,22,13,22,14,22,15,22,16,21,17,20,18,14,19,13,20,12,21,11,22,11,22,10,21,9,20,8,19,2,18,1,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0];;
	return icon;
}

function PreloadMapImages(dir) {
	for (var i = 0; i < MAP_IMAGES_NAMES.length; i++) {
		PreloadImage(dir, MAP_IMAGES_NAMES[i]);
	}
}

function PreloadImage(dir, imageName) {
	var image = new Image();
	image.src = MAP_IMAGES_ROOT + dir + "/" + imageName;
}


///////////////////////////////////////////
//		Indicator
///////////////////////////////////////////
function MapIndicator(){
	this.isVisible=false;
}
MapIndicator.prototype.show=function(){
	var me=this;
	this.timeout = setTimeout(function() {
		if(!me.isVisible){
			$("#map_indicator").show();
			$("#map").addClass("map_opac");
			me.isVisible=true;
		}
	}, 100);
}
MapIndicator.prototype.hide=function(){
	var me=this;
	setTimeout(function(){
		if(me.isVisible){
			$("#map_indicator").hide();
			$("#map").removeClass("map_opac");
			me.isVisible=false;
		}	
	}, 100)
}







