	var MenuClass = new function() {
		this.mousePos	= undefined;
		this.placeID	= null;

		this.menuId			= "menu";
		this.menuPlaceId	= "menuPlace";

		this.openMenu = function(e, menuId, placeID) {
			MenuClass.closeMenu();
			MenuClass.mousePos = getMousePos(e);

			var point = MapClass.GoogleMap.getSize();
			var mapObj = document.getElementById("map");

			if(menuId == undefined) {
				menuId = MenuClass.menuId;
				if(MenuClass.mousePos.x < getObjPos(mapObj).x || MenuClass.mousePos.x > getObjPos(mapObj).x + point.width
					|| MenuClass.mousePos.y < getObjPos(mapObj).y || MenuClass.mousePos.y > getObjPos(mapObj).y + point.height) {
					MenuClass.closeMenu();

					return false;
				}
			}

			if(placeID == undefined)
				placeID = null;

			var menuObj = document.getElementById(menuId);
			if(MenuClass.mousePos.x + getObjWidth(menuObj) < getObjPos(mapObj).x + point.width) {
				menuObj.style.left = MenuClass.mousePos.x;
			} else {
				menuObj.style.left = MenuClass.mousePos.x - getObjWidth(menuObj);
			}
			if(MenuClass.mousePos.y + getObjHeight(menuObj) < getObjPos(mapObj).y + point.height) {
				menuObj.style.top = MenuClass.mousePos.y;
			} else {
				menuObj.style.top = MenuClass.mousePos.y - getObjHeight(menuObj);
			}

			if(HintClass.placeID != null) {
				MenuClass.placeID = HintClass.placeID;
				document.getElementById("menuEditTr").style.display = "";
			} else {
				MenuClass.placeID = placeID;
				document.getElementById("menuEditTr").style.display = "none";
			}
			menuObj.style.display = "";

			return false;
		}
		this.openMenuPlace = function(e, placeID) {
			MenuClass.placeID = placeID;
			return MenuClass.showScreen(e);
			//return MenuClass.openMenu(e, MenuClass.menuPlaceId, placeID);
		}
		this.closeMenu = function() {
			var menuObj = document.getElementById(MenuClass.menuId);
			menuObj.style.display = "none";

			menuObj = document.getElementById(MenuClass.menuPlaceId);
			menuObj.style.display = "none";
		}

		this.addPlace = function(type) {
			MenuClass.closeMenu();

			if(type != undefined) {
				MenuClass.mousePos	= undefined;
			}

			document.getElementById("samplecheck").checked = "checked";
			if ( samplepic(this) ) { // check member inside sample pic
				return BoxClass.openBox(MenuClass.mousePos);
			}
			//window.alert( MenuClass.mousePo );
			if ( MenuClass.mousePos != undefined ) {
				BoxClass.oldMousePosition = new function() {
					this.x = 	MenuClass.mousePos.x;
					this.y = MenuClass.mousePos.y;
				}
			}
			
			return false;
		}
		this.zoomIn = function() {
			MenuClass.closeMenu();

			MapClass.zoomIn(MenuClass.mousePos);
			return false;
		}
		this.zoomOut = function() {
			MenuClass.closeMenu();

			MapClass.zoomOut(MenuClass.mousePos);
			return false;
		}

		this.editImage = function(e) {
			MenuClass.closeMenu();

			var mousePos = MenuClass.mousePos;
			var placeID = MenuClass.placeID;
			//if(MapClass.placeHash.containsKey(placeID))
				//mousePos = MapClass.getPlaceCenter(placeID);

			BoxClass.openBox(mousePos);
			BoxClass.editImage(placeID);
			return false;
		}
		this.showScreen = function(e, placeID) {
			MenuClass.closeMenu();

			if(placeID == undefined)
				placeID = MenuClass.placeID;
			showScreen("frame/detail.php?id=" + placeID);
			return false;
		}
	}