	
	
	var currentHighlightedElement = null;
	
	function getLeft(element)
	{
		cmsLeft = element.offsetLeft;
		tempElement = element.offsetParent;
		while (tempElement != null)
		{
			cmsLeft += tempElement.offsetLeft;
			tempElement = tempElement.offsetParent;
		}
		return cmsLeft;
	}
	
	function getTop(element)
	{
		tsop = element.offsetTop;
		tempElement = element.offsetParent;
		while (tempElement != null)
		{
			tsop += tempElement.offsetTop;
			tempElement = tempElement.offsetParent;
		}
		return tsop;
	}
	
	function getWidth(element)
	{
		return element.offsetWidth;
	}
	
	function getHeight(element)
	{
		return element.offsetHeight;
	}
	
	function highlight(element)
	{
		document.getElementById("marker.top").style.visibility="visible";
		document.getElementById("marker.top").style.left=getLeft(element);
		document.getElementById("marker.top").style.width=getWidth(element);
		document.getElementById("marker.top").style.top=getTop(element);
	
		document.getElementById("marker.right").style.visibility="visible";
		document.getElementById("marker.right").style.left=getLeft(element)+getWidth(element)-2;
		document.getElementById("marker.right").style.top=getTop(element);
		document.getElementById("marker.right").style.height=getHeight(element);
	
		document.getElementById("marker.bottom").style.visibility="visible";
		document.getElementById("marker.bottom").style.left=getLeft(element);
		document.getElementById("marker.bottom").style.width=getWidth(element);
		document.getElementById("marker.bottom").style.top=getTop(element)+getHeight(element)-2;
	
		document.getElementById("marker.left").style.visibility="visible";
		document.getElementById("marker.left").style.left=getLeft(element);
		document.getElementById("marker.left").style.top=getTop(element);
		document.getElementById("marker.left").style.height=getHeight(element);
	}
	
	function lowlight(element)
	{
		document.getElementById("marker.top").style.visibility="hidden";
		document.getElementById("marker.right").style.visibility="hidden";
		document.getElementById("marker.bottom").style.visibility="hidden";
		document.getElementById("marker.left").style.visibility="hidden";
	}
	
	function showBorder(element)
	{
		element.style.border="2px solid red";
		element.style.zIndex="100";
		element.style.display="block";
	}
	
	function removeBorder(element)
	{
		element.style.border="";
		element.style.zIndex="";
		element.style.display="";
	}
	
	var currentCMSMenu = null;
	
	function showCMSMenu( menu, event )
	{
		if (currentCMSMenu != null)
		{
			currentCMSMenu.style.visibility='hidden';
		}
		currentCMSMenu = menu;
		currentCMSMenu.style.visibility='visible';
		var scrollTopPos = getScrollY();
		var scrollLeftPos = getScrollX();
		var newCMSLeft = scrollLeftPos + event.clientX - 5;
		var newCMSTop = scrollTopPos + event.clientY - 5;
		currentCMSMenu.style.left = newCMSLeft + "px";
		currentCMSMenu.style.top = newCMSTop + "px"
		if( currentCMSMenu.hasChildNodes() )
		{
			while(currentCMSMenu.childNodes.length > 0)
			{
				currentCMSMenu.removeChild( currentCMSMenu.firstChild );
			}
		}
	}
	
	function addTemplateLink( menu, locString, callbackEvent, callbackWindow, template, webroot )
	{
		currentCMSMenu = menu;
	
		var nobr = document.createElement("nobr");
		var link = document.createElement("a");
		link.setAttribute( "href", "#" );
		link.onclick=function(){
			wnd = window.open( callbackEvent + "=openTemplate(" + template + ")", callbackWindow + "_cms" );
			wnd.focus();
			document.getElementById('cmscontextmenu').style.visibility='hidden';
			return false;
		};
		var image = document.createElement("img");
		image.setAttribute( "src", webroot+"/images/cms/editTemplate.gif" );
		image.setAttribute( "border", "0" );
		var text = document.createTextNode(locString);
		link.appendChild( image );
		link.appendChild( text );
		nobr.appendChild( link );
		currentCMSMenu.appendChild( nobr );
	}
	
	function addItemLinks( menu, locEditContent, callbackEvent, callbackWindow, jaloPk, webroot )
	{
		currentCMSMenu = menu;
		if( currentCMSMenu.hasChildNodes() )
		{
			var br1 = document.createElement("br");
			currentCMSMenu.appendChild( br1 );
		}
		var nobr = document.createElement("nobr");
		var link = document.createElement("a");
		link.setAttribute( "href", "#" );
		link.onclick=function(){
			wnd = window.open( callbackEvent + "=openItem(" + jaloPk + ")", callbackWindow + "_cms" );
			wnd.focus();
			document.getElementById('cmscontextmenu').style.visibility='hidden';
			return false;
		};
		var image = document.createElement("img");
		image.setAttribute( "src", webroot+"/images/cms/edit.gif" );
		image.setAttribute( "border", "0" );
		var text = document.createTextNode(locEditContent);
		link.appendChild( image );
		link.appendChild( text );
		nobr.appendChild( link );
		currentCMSMenu.appendChild( nobr );
	
		
	}
	
	function getScrollX()
	{
		var scrOfX = 0;
		if( typeof( window.pageYOffset ) == 'number' )
		{
			//Netscape compliant
			scrOfX = window.pageXOffset;
		}
		else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
		{
			//DOM compliant
			scrOfX = document.body.scrollLeft;
		}
		else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
		{
			//IE6 standards compliant mode
			scrOfX = document.documentElement.scrollLeft;
		}
		return scrOfX;
	}

	function getScrollY()
	{
		var scrOfY = 0;
		if( typeof( window.pageYOffset ) == 'number' )
		{
			//Netscape compliant
			scrOfY = window.pageYOffset;
		}
		else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
		{
			//DOM compliant
			scrOfY = document.body.scrollTop;
		}
		else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
		{
			//IE6 standards compliant mode
			scrOfY = document.documentElement.scrollTop;
		}
		return scrOfY;
	}


