mrj.css = {
	classToObject: function (className, obj)
	{
		if (obj == undefined)
			obj = null;

		for (var i=0; i<document.styleSheets.length; i++)
		{
			var ss = document.styleSheets[i];
			var rules = ss.cssRules || ss.rules;
			
			for (var j=0; j<rules.length; j++)
			{
				var r = rules[j];
				if (new RegExp("[^a-zA-Z0-9_\\-]" + className + "(?![a-zA-Z0-9_\\-])", "g").test(r.selectorText))
				{
					if (obj == null) obj = new Object();
					
					for (var k in r.style)
					{
						if (!isNumber(k) && typeof(r.style[k]) == "string" && r.style[k] != "" && k != "cssText")
						{
							obj[k] = r.style[k];
						}
					}
				}

			}
		}
		
		return obj;
	},
	
	prefixedClassesToObject: function (prefix, obj)
	{
		if (obj == undefined)
			obj = null;
		
		for (var i=0; i<document.styleSheets.length; i++)
		{
			var ss = document.styleSheets[i];
			var rules = ss.cssRules || ss.rules;
			
			for (var j=0; j<rules.length; j++)
			{
				var r = rules[j];
				
				var re = new RegExp("[^a-zA-Z0-9_\\-]" + prefix + "_([a-zA-Z0-9_\\-]+)", "gm");
				
				
				while ((match = re.exec(r.selectorText)) != null)
				{
					var id = match[1];
					if (obj == null) obj = new Object();
					if (obj[id] == undefined) obj[id] = new Object();

					for (var k in r.style)
					{
						var type = typeof(r.style[k]); 
						if (!isNumber(k) && (type == 'string') && r.style[k] != "" && k != "cssText")
						{
							obj[id][k] = r.style[k];
						}
					}
				}

			}
		}

		return obj;
	}
};

mrj.Element.prototype.applyStyle = function (obj)
{
	for (var i in obj)
	{
		var type = typeof(obj[i]);
		if (type != 'function')
		{
			this.htmlElement.style[i] = obj[i];
		}
	}
}


/*
mrj.helpers.Style = mrj.createClass({
	init: function ()
	{
		this.__style;
	},
	
	getClass: function (className, merge)
	{
		this.__style = mrj.css.classToObject(className, (merge ? this.__style));	
	}
	
});
*/

