﻿function $$isDefined(item) {
	return typeof item !== "undefined";
}

var __prototypeExtensions = {
	resizeTo: function(element, size) {
		element = $(element);
		element.setStyle({ "width": size.width + "px", "height": size.height + "px" });
		return element;
	},
	
	moveTo: function(element, position) {
		element = $(element);
		var setParams = {};
		
		if ($$isDefined(position.left)) setParams.left = position.left + "px";
		if ($$isDefined(position.top)) setParams.top = position.top + "px";
		element.setStyle(setParams);
		return element;
	},
	
	cover: function(element, host) {
		element = $(element);
		if (!host) host = element.getOffsetParent();
		host = $(host);
		
		element.moveTo(host.cumulativeOffset()).resizeTo(host.getDimensions()).setStyle({"position": "absolute"});
		return element;
	},
	
	center: function(element, host) {
        element = $(element);
        host = $(host);
        
        var sizeElement = element.getDimensions();
        var sizeHost = host.getDimensions();
        var offset = host.cumulativeOffset();
        
        var position = {left: offset.left + ((sizeHost.width / 2) - (sizeElement.width / 2)),
                top: offset.top + (100)};
        
        element.moveTo(position).setStyle({"position": "absolute"});
        
        return element;
    }

};
Element.addMethods(__prototypeExtensions);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();