var loading_graphic = new Image();
loading_graphic.src = '/images/loading.gif';

function displayLoadingGraphic( button ) {
	
	var loading_block = document.createElement('div');
	loading_block.className = 'loading';
	loading_block.appendChild( loading_graphic );
	button.parentNode.appendChild( loading_block );
	button.style.display = 'none';
	button.style.visibility = 'hidden';
}

function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}

/* DISPLAY PAGE HIGHLIGHT HANDLERS.
ALL MODULES WISHING TO DISPLAY PAGE HIGHLIGHTS ON MENU MOUSEOVER MUST REGISTER THEIR HANDLERS HERE
*/
var page_highlights_handlers = new Array();
function registerPageHighlightsHandler( handler )
{
	page_highlights_handlers;

	page_highlights_handlers[page_highlights_handlers.length] = handler;
}
function displayPageHighlights( page_id )
{
	page_highlights_handlers;

	var c;
	for ( c = 0; c < page_highlights_handlers.length; c++ )
	{
		page_highlights_handlers[c].displayPageHighlights( page_id );
	}

	return true;
}

function cmsBlockShowHighlight( block, background_color )
{
	block.style.backgroundColor = '#d9d9d9';
}

function cmsBlockRemoveHighlight( block, background_color )
{
	block.style.backgroundColor = 'transparent';
}

function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
	while(1) 
	{
		curleft += obj.offsetLeft;
		if(!obj.offsetParent)
		break;
		obj = obj.offsetParent;
	}
	else if(obj.x)
	curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
	while(1)
	{
		curtop += obj.offsetTop;
		if(!obj.offsetParent)
		break;
		obj = obj.offsetParent;
	}
	else if(obj.y)
	curtop += obj.y;
	return curtop;
}
