if ("undefined" == typeof(RadDockNamespace))
{
	RadDockNamespace = new Object();
}

Object.Extend = function(object, extender)
{
	for (var prop in extender)
	{
		object[prop] = extender[prop];
	}
};

/*************************************************
 *
 * RadDockNamespace.AttachEvent
 *
 *************************************************/
RadDockNamespace.AttachEvent = function(element, eventType, handlerFunc)
{
	if (element.attachEvent)
	{
		element.attachEvent("on" + eventType, handlerFunc);
	}
	else if (element.addEventListener)
	{
		element.addEventListener(eventType, handlerFunc, false);
	}
};

/*************************************************
 *
 * RadDockNamespace.DetachEvent
 *
 *************************************************/
RadDockNamespace.DetachEvent = function(element, eventType, handlerFunc)
{
	if (element.detachEvent)
	{
		element.detachEvent("on" + eventType, handlerFunc);
	}
	else if (element.removeEventListener)
	{
		element.removeEventListener(eventType, handlerFunc, false);
	}
};

/*************************************************
 *
 * RadDockNamespace.GetEventSrcElement
 *
 *************************************************/
RadDockNamespace.GetEventSrcElement = function(eventArgs)
{
	if (!eventArgs)
		return null;
		
	if (eventArgs.srcElement)
		return eventArgs.srcElement;
		
	if (eventArgs.target)
		return eventArgs.target;
	
	return null;
};

/*************************************************
 *
 * RadDockNamespace.GetScrollTop
 *
 *************************************************/
RadDockNamespace.GetScrollTop = function()
{
	if (document.documentElement 
		&& document.documentElement.scrollTop)
	{
		return document.documentElement.scrollTop;
	}
	else
	{
		return document.body.scrollTop;
	}
};

/*************************************************
 *
 * RadDockNamespace.GetScrollLeft
 *
 *************************************************/
RadDockNamespace.GetScrollLeft = function()
{
	if (document.documentElement 
		&& document.documentElement.scrollLeft)
	{
		return document.documentElement.scrollLeft;
	}
	else
	{
		return document.body.scrollLeft;
	}
};

/*************************************************
 *
 * RadDockNamespace.ParseInt
 *
 *************************************************/
RadDockNamespace.ParseInt = function(sNumber, defaultValue)
{
	if (!defaultValue)
		defaultValue = 0;

	var nNumber = parseInt(sNumber);
	return (isNaN(nNumber) ? defaultValue : nNumber);
};

/*************************************************
 *
 * RadDockNamespace.FixIeHeight
 *
 *************************************************/
RadDockNamespace.FixIeHeight = function (oElem)
{	
	var difference = 0;

	//alert('start' + oElem.offsetHeight + ' <-> ' + oElem.style.height)
	if (document.all && "CSS1Compat" == document.compatMode) 
	{
		var oHeight = oElem.offsetHeight;
		difference = (oHeight - parseInt(oElem.style.height));	
		if (difference > 0)
		{	
			var newHeight = (parseInt(oElem.style.height) - difference); 
			if (newHeight > 0) oElem.style.height = newHeight + "px";
		}
	}
	return difference;
	//alert('end' + oElem.offsetHeight + ' <-> ' + oElem.style.height + ' diff ' + difference)
}

if (typeof(RadControlsNamespace) == "undefined")
{
	RadControlsNamespace = {};
}

RadControlsNamespace.AppendStyleSheet = function(callback, clientID, pathToCssFile)
{
	if (!pathToCssFile) 
	{ 
		return; 
	}

	if (!callback)
	{
		document.write("<" + "link" + " rel='stylesheet' type='text/css' href='" + pathToCssFile + "' />");
	}
	
	else
	{
		var linkObject = document.createElement("LINK");
		linkObject.rel = "stylesheet";
		linkObject.type = "text/css";
		linkObject.href = pathToCssFile;
		document.getElementById(clientID + "StyleSheetHolder").appendChild(linkObject);
	}
};

//BEGIN_ATLAS_NOTIFY
if (typeof(Sys) != "undefined")
{
    if (Sys.Application != null && Sys.Application.notifyScriptLoaded != null)
    {
        Sys.Application.notifyScriptLoaded();
    }
}
//END_ATLAS_NOTIFY
