function getXPos(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 getYPos(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;
}
function showAndPlaceLayer(layer, x, y, zIndex)
{
    layer.style.position = 'absolute';
    layer.style.zIndex = zIndex;
    layer.style.left = x + 'px';
    layer.style.top = y + 'px';
    layer.style.display = 'block';
}
function showLayer(layerId)
{
    document.getElementById(layerId).style.display = 'block';
}
function hideLayer(layerId)
{
    document.getElementById(layerId).style.display = 'none';
}
function removeElement(elementId)
{
    var el=document.getElementById(elementId);
    if(el!=null)
    {
        el.parentNode.removeChild(el);
    }
}
function resizeLayer(layerId, width, height)
{
    var l = document.getElementById(layerId);
    
    if(width > -1)
    {
        l.style.width = width + 'px';
    }
    
    if(height > -1)
    {
        l.style.height = height + 'px';
    }
}
function showPageOverlay(cssClass, zIndex)
{
    var viewPortHeight=getViewPortSize().height;
    var pageHeight=getPageSize().height;
    var height;
    if(viewPortHeight>pageHeight)
    {
        height=viewPortHeight;
    }
    else
    {
        height=pageHeight;
    }
    var overlayDiv=document.createElement("div");
    overlayDiv.id='page-overlay';
    overlayDiv.className=cssClass;
    overlayDiv.style.width='100%';
    overlayDiv.style.height=height + 'px';
    overlayDiv.style.display = 'none';
    
    getPageBody().appendChild(overlayDiv);
	
	showAndPlaceLayer(overlayDiv,0,0,zIndex);
}
function coverPage(colour, opacity, zIndex) {
    var viewPortHeight = getViewPortSize().height;
    var pageHeight = getPageSize().height;
    var height;
    if (viewPortHeight > pageHeight) {
        height = viewPortHeight;
    }
    else {
        height = pageHeight;
    }
    var overlayDiv = document.createElement("div");
    overlayDiv.id = 'page-overlay';
    overlayDiv.style.backgroundColor = colour;    
    overlayDiv.style.width = '100%';
    overlayDiv.style.height = height + 'px';
    overlayDiv.style.display = 'none';
    setOpacity(overlayDiv, opacity);

    getPageBody().appendChild(overlayDiv);

    showAndPlaceLayer(overlayDiv, 0, 0, zIndex);
}
function setOpacity(obj, value) 
{
    obj.style.opacity = value / 10;
    obj.style.filter = 'alpha(opacity=' + value * 10 + ')';
}
function hidePageOverlay()
{
    var overlayDiv = document.getElementById('page-overlay');
	
	if(overlayDiv != null)
	{
		overlayDiv.parentNode.removeChild(overlayDiv);
	}
}
function changePageOverlay(cssClass, zIndex)
{
    var overlayDiv = document.getElementById('page-overlay');
	
	if(overlayDiv != null)
	{
		overlayDiv.className = cssClass;
		overlayDiv.style.zIndex = zIndex;
	}
}
function changeLayerCss(layerId, cssClass)
{
    var layer = document.getElementById(layerId);
	
	if(layer != null)
	{
		layer.className = cssClass;
	}
}
function getPageBody()
{
    return document.getElementsByTagName('body')[0];
}
function getPageSize()
{
    var pageWidth;
    var pageHeight;

    if( window.innerHeight && window.scrollMaxY ) // Firefox 
    {
        pageWidth = window.innerWidth + window.scrollMaxX;
        pageHeight = window.innerHeight + window.scrollMaxY;
    }
    else if( document.body.scrollHeight > document.body.offsetHeight ) // all but Explorer Mac
    {
        pageWidth = document.body.scrollWidth;
        pageHeight = document.body.scrollHeight;
    }
    else // works in Explorer 6 Strict, Mozilla (not FF) and Safari
    { 
        pageWidth = document.body.offsetWidth + document.body.offsetLeft; 
        pageHeight = document.body.offsetHeight + document.body.offsetTop; 
    }

    return {width : pageWidth, height : pageHeight};
}
function getViewPortSize()
{
    var viewportwidth;
    var viewportheight;
 
    // standards compliant browsers (FF, Op, IE7 etc)
    if (typeof window.innerWidth != 'undefined')
    {
        viewportwidth = window.innerWidth;
        viewportheight = window.innerHeight;
    }
    // IE6
    else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
    {
        viewportwidth = document.documentElement.clientWidth;
        viewportheight = document.documentElement.clientHeight;
    }
    // < IE6
    else
    {
       viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
       viewportheight = document.getElementsByTagName('body')[0].clientHeight;
    }
    return {width : viewportwidth, height : viewportheight};
}
function getElementSize(element)
{
    return {width : element.offsetWidth, height : element.offsetHeight}
}
if (typeof (Sys) != 'undefined' && Sys && Sys.Application) 
{
    Sys.Application.notifyScriptLoaded();
}
