function one(e,ui) {
				var step = Math.floor(ui.value * ui.slider.options.steps / 100);
				if (typeof(map) != 'undefined') map.SetZoomLevel(19-step);
			}
function setupZoomSlider() {
		
		function updateSlider(event) {
			var zoomLevel = event.zoomLevel;
			if (map.GetMapStyle() != "o") {
				var step = -1*zoomLevel+19;
				jQuery("#orthoZoom").sliderMoveTo(100/19*step);
				if(document.getElementById('MSVE_navAction_AerialMapStyle').style.display=='block') {
					document.getElementById('MSVE_dashboardContainer').style.height='198px';
					document.getElementById('MSVE_dashboardContainer').style.top='-62px';
				} else {
					document.getElementById('MSVE_dashboardContainer').style.height='178px';
					document.getElementById('MSVE_dashboardContainer').style.top='-40px';
				}
			} else {
				var step = 2 - zoomLevel;
				jQuery("#obliqueZoom").sliderMoveTo(100*step);
			}
		}
					
		orthoSliderOptions = {
			handle: ".orthoZoomIndicator",
			axis: "vertical",
			steps: 19,			
			startValue: 50,
//			steps: (19-0-1),
			change: function (e,ui) {one(e,ui);}				
		}
		
		obliqueSliderOptions = {
			handle: ".obliqueZoomIndicator",
			axis: "vertical",
			steps: 1,
			startValue: 100,
			change: function (e,ui) {
				var step = Math.floor(ui.value * ui.slider.options.steps / 100);
	//			console.log(step+":"+ui.value + "--" + ui.slider.options.steps);
				try { map.SetZoomLevel(2-step);
						} catch (e) {}
			}
		}
				
		jQuery("#orthoZoom").slider(orthoSliderOptions);
		jQuery("#obliqueZoom").slider(obliqueSliderOptions);
		jQuery("#obliqueZoomOuter").css({display: "none","left":"847px"});
		
		if (typeof(map) != 'undefined') {
			map.AttachEvent("onendzoom",updateSlider);
		}
		
		jQuery("#orthoZoomPlus").click(function () {
			if (typeof(map) != 'undefined') {
				var zoomLevel = map.GetZoomLevel();
				zoomLevel = zoomLevel++ > 19 ? 19 : zoomLevel++;
				try { map.ZoomIn(); } catch (e) {}
			}
	//		 console.log("zoom in");
		});
		jQuery("#orthoZoomMinus").click(function () {
			if (typeof(map) != 'undefined') {
				var zoomLevel = map.GetZoomLevel();
				zoomLevel = zoomLevel-- < 1 ? 1 : zoomLevel--;
				try { map.ZoomOut(); } catch (e) {}
			}
	//		 console.log("zoom out");
		});
		
		jQuery("#obliqueZoomPlus").click(function () {
														map.ZoomIn();
														}
										);
		jQuery("#obliqueZoomMinus").click(function () {
														map.ZoomOut();
													}
										);
	}

	function getCoordinates(angle,radius) {
		var VV=angle/360*2*Math.PI;
		var coords = {x: Math.round(radius*(Math.cos(VV))),
	 		y: Math.round(radius*(Math.sin(VV)))};
		return coords;
	}

	function getAngle(x,y,add) {
		var angle = Math.round(Math.atan2(y,x)*180/Math.PI);
		if (add != 0) angle = angle - (angle % Math.abs(add)) + add;
		angle = angle < 0 ? angle + 360 : angle;
		return angle > 360 ? angle - 360 : angle;
	}
	
	function moveRosePoint(self,radius,angle,turns) {
	//	console.log("move");
		var left = parseInt(jQuery(self).css("left"));
		var top = parseInt(jQuery(self).css("top"));
		var coords = getCoordinates(getAngle(left,top,angle),radius);
		var callback = turns > 1 ? function () {/* console.log("animate-callback");*/ moveRosePoint(self,radius,angle,--turns)} : null;
	//	console.log("pre-animate");
		jQuery(self).animate({left: coords.x + "px", top: coords.y + "px"}, "fast", "linear", callback);
	//	console.log("post-animate");
	}
	
	function rosePointAnimationObject(coords,left,top) {
		var oLeft = {left: coords.x+"px"};
		var oTop  = {top: coords.y+"px"};
		
		return coords.x != 0 ? [oLeft,oTop] : [oTop,oLeft];
	}
	
	function pointObliqueCompassArrow() {
		var left = parseInt(jQuery(this).css("left"));
		var top = parseInt(jQuery(this).css("top"));
		
		if (top < 0) document.getElementById("obliqueCompassArrow").className="obliqueCompassArrowU";
		if (left < 0) document.getElementById("obliqueCompassArrow").className="obliqueCompassArrowL";
		if (top > 0) document.getElementById("obliqueCompassArrow").className="obliqueCompassArrowD";
		if (left > 0) document.getElementById("obliqueCompassArrow").className="obliqueCompassArrowR";		
	}
	
	function unpointObliqueCompassArrow() {
		document.getElementById("obliqueCompassArrow").className="obliqueCompassArrowU";
	}
	
	function setupObliqueRosePoints() {
		jQuery(".obliqueRosePoint").click(function() {
			var left = parseInt(jQuery(this).css("left"));
			var top = parseInt(jQuery(this).css("top"));
			if (top >= 0) {
		//		console.log("top >= 0");
				var radius = Math.max(Math.abs(left),Math.abs(top));			
				var angle = getAngle(left,top,0);			
				var turns = (360 - 90 - angle)/30;
				var turnangle = turns > 6 ? -30 : 30;
				turns = turns > 6 ? 3 : turns;
				if (turns > 0) {
					jQuery(this).addClass("obliqueRosePointOn");
					var self = this;
					jQuery(".obliqueRosePoint").each(function() {
				//		console.log("each");
						if (self != this) jQuery(this).removeClass("obliqueRosePointOn");
						moveRosePoint(this,radius,turnangle,turns);
					});
				}
				var orientations = {N: "North", E: "East", S: "South", W: "West"};
				try {
					map.SetBirdseyeOrientation(orientations[jQuery(this).html()]);
				} catch (e) {}
			}
		}).hover(pointObliqueCompassArrow,unpointObliqueCompassArrow);		
	}