function moveElem(elem, dir, value)
{
	var curValue = getStyleValue(elem, dir);
	var pix = curValue.indexOf('p');
	var coord = parseInt(curValue.substring(0, pix), 10);
	coord += parseInt(value);
	coord += "px";
	if(dir == "top")
		elem.style.top = coord;
	else
		elem.style.left = coord;

}
function storePlanOffset()
{
	var floorplan = document.getElementById("floorplancage");
	if (floorplan ){
		originalLeft = floorplan.offsetLeft;
		originalTop = floorplan.offsetTop;
	}
}
function restorePlanOffset()
{
	var floorplan = document.getElementById("floorplancage");
	if (floorplan ){
    	floorplan.style.left = originalLeft + "px";
   		floorplan.style.top = originalTop + "px";
 	}
}


function panDelta(deltaX, deltaY, elemen)
{
	elem = document.getElementById(elemen);
	if (elem  && panEnabled){
		if (elem.offsetLeft > 0 && deltaX > 0)
			deltaX = 0;
		if (elem.offsetTop > 0 && deltaY > 0){
			deltaY = 0;
			}
		if (!enlarged){
		if (elem.offsetTop < (levels[activeLevel].clipbottom - levels[activeLevel].imageE.height) && deltaY < 0){
				deltaY = 0;
				}
			if (elem.offsetLeft < levels[activeLevel].clipright - levels[activeLevel].imageE.width && deltaX < 0)
				deltaX = 0;
		}
      	elem.style.left = (elem.offsetLeft + deltaX) + "px";
   		elem.style.top = (elem.offsetTop + deltaY) + "px";
   		window.status = "OffsetX = "+elem.offsetLeft+" OffsetY = " + elem.offsetTop + " DX=" + deltaX + " DY=" +deltaY;
 	}
}
function pan(evt)
{
evt = (evt) ? evt :((window.event) ? event : 0);;

   var newX = evt.clientX, newY = evt.clientY;
   if (firstMove){
	  oldX = newX;
	  oldY = newY;
	  firstMove = false;
	  evt.cancelBubble = true;
	  return false;
   }
   var deltaX = newX - oldX, deltaY = newY - oldY;
   panDelta(deltaX, deltaY, "floorplancage");


	  oldX = newX;
	  oldY = newY;
  	  evt.cancelBubble = true;
	  return false;	

}
function noPan(e)
{
return false;
}
function endPan()
{
	var floorplan = document.getElementById("floorplancage");
	if (floorplan ){
	floorplan.style.cursor = "auto";
		floorplan.onmousemove = null;
	}
}

function startPan()
{
	var floorplan = document.getElementById("floorplancage");
	if (floorplan){
	    floorplan.style.cursor = "move";

		firstMove = true;

		floorplan.onmousemove=pan;
		floorplan.onmouseup=endPan;
	//floorplan.addEventListener("onmouseout", outPan, true);
	}

}
function moveElementsForSlideShow (enlarge, oldH)
{
	if(enlarge)
	{
		var Photograph = document.getElementById("Photograph");
		var base = document.getElementById("base");
		if ( levels[activeLevel].contentWidth >(base.width - Photograph.width))
			floorplanSlideLeftNew =  (base.width - Photograph.width)/2 - HotSpot[ActiveHotSpot].NX;
		else 
			floorplanSlideLeftNew =  (Photograph.width - base.width)/2;
		if (floorplanSlideLeftNew > 0)
			floorplanSlideLeftNew = 0;
		if (levelChange)
			floorplanSlideLeftNew = 0;
			
		moveElem(document.getElementById("floorplancage"), "left", floorplanSlideLeftNew - floorplanSlideLeft);
		floorplanSlideLeft = floorplanSlideLeftNew;
		var newH = Photograph.height;
//		moveElem(document.getElementById("slideshowpanel"), "top", newH-oldH);

	}
}
function moveElementsForSizeToggle( enlarge, oldH)
{	
	var Photograph = document.getElementById("Photograph");
	var base = document.getElementById("base");
	var newH = Photograph.height;
	if (enlarge){
		if ( levels[activeLevel].contentWidth >(base.width - Photograph.width))
			floorplanSlideLeft =  (base.width - Photograph.width)/2 - HotSpot[ActiveHotSpot].NX;
		else 
			floorplanSlideLeft =  (Photograph.width - base.width)/2;
			
		if (floorplanSlideLeft > 0)
			floorplanSlideLeft = 0;
		else {
			moveElem(document.getElementById("floorplancage"), "left", floorplanSlideLeft);
		}
	}
	else {
		floorplan = document.getElementById("floorplancage");
		moveElem(floorplan, "left",  - floorplan.offsetLeft);
		moveElem(floorplan, "top", - floorplan.offsetTop);
	}

}

function zoom_in()
{
	var planImg = document.getElementById("plan");
	planImg.src = levels[activeLevel].imageE.src;
	levels[activeLevel].TransformHotSpots("enlarge");
	panEnabled = 1;
	zoomInEnabled = 0;
	zoomOutEnabled = 1;
	fitScreenEnabled = 1;
	updateNavigation();

}
function zoom_out()
{
	restorePlanOffset();
	var planImg = document.getElementById("plan");
	planImg.src = levels[activeLevel].image.src;
	levels[activeLevel].TransformHotSpots("normal");
	panEnabled = 0;
	zoomInEnabled = 1;
	zoomOutEnabled = 0;
	fitScreenEnabled = 0;
	updateNavigation();
	floorplanSlideLeft = 0;
}
function fit_screen()
{
	window.status="Fit Screen clicked";
	zoom_out();
}
function updateNavigation()
{
	  var pan_up = document.getElementById("pan_up");
	  var pan_lt = document.getElementById("pan_lt");
	  var pan_rt = document.getElementById("pan_rt");
	  var pan_dn = document.getElementById("pan_dn");
	  var zoom_in = document.getElementById("zoom_in");
	  var zoom_out = document.getElementById("zoom_out");
	  var fit_screen = document.getElementById("fit_screen");
	  if (pan_up && pan_lt && pan_rt && pan_dn && zoom_in && zoom_out && fit_screen){
	  if (isIE4){
	  	  panOpacity = getOpac(panEnabled) * 100 ;
	  	  var flt = "alpha(opacity="+panOpacity+")";
		  pan_up.style.filter = flt;
		  pan_lt.style.filter = flt;
		  pan_rt.style.filter = flt;
		  pan_dn.style.filter = flt;
		  zoomInOpacity = getOpac(zoomInEnabled) * 100 ;
		  zoomOutOpacity = getOpac(zoomOutEnabled) * 100 ;
		  fitScreenOpacity = getOpac(fitScreenEnabled) * 100;
		  zoom_in.style.filter = "alpha(opacity="+zoomInOpacity+")";
		  zoom_out.style.filter = "alpha(opacity="+zoomOutOpacity+")";
		  fit_screen.style.filter = "alpha(opacity="+fitScreenOpacity+")";
		  pan_up.style.opacity = getOpac(panEnabled);
		  pan_lt.style.opacity = getOpac(panEnabled);
		  pan_rt.style.opacity = getOpac(panEnabled);
		  pan_dn.style.opacity = getOpac(panEnabled);
		  zoom_in.style.opacity = getOpac(zoomInEnabled);
		  zoom_out.style.opacity = getOpac(zoomOutEnabled);
		  fit_screen.style.opacity = getOpac(fitScreenEnabled);

	  } else if (isCSS){
		  pan_up.style.MozOpacity = getOpac(panEnabled);
		  pan_lt.style.MozOpacity = getOpac(panEnabled);
		  pan_rt.style.MozOpacity = getOpac(panEnabled);
		  pan_dn.style.MozOpacity = getOpac(panEnabled);
		  zoom_in.style.MozOpacity = getOpac(zoomInEnabled);
		  zoom_out.style.MozOpacity = getOpac(zoomOutEnabled);
		  fit_screen.style.MozOpacity = getOpac(fitScreenEnabled);
	  	  
	  } else {
	  	  ;
	  }
	  }
}
function ShowNavigation(newlevel)
{
		if (levels[newlevel].enlargeable)
		document.getElementById('navigation').style.display="block";
	else 
		document.getElementById('navigation').style.display="none";

}

function adjustForPhotoHeght(oldH)
{
	var Photograph = document.getElementById("Photograph");
	var newH = Photograph.height;
	window.status = newH;
	if(!enlarged) // enlarged photo covers the description
		moveElem(document.getElementById("description"), "top", newH-oldH);

}
<!-- 
 --><!-- 
 -->
