/*
FILE:		fx.js
VERSION:	0.0.1
AUTHOR:		Andrew Real
COMPILED:	2011-04-18
COMMENTS:

	- Must be loaded with ui.js, system.js, and ajax.js
	- Must be inserted within HEAD element

*/
fx = {

	isLoaded	: false,
	boot		: function() {

		fx.isLoaded = true;
		// init code

		},

	makeElement : function(s) {

		elementType = s.elementType || null;
		if (elementType == null) return false;
		elementParent = s.elementParent || null;
		if (s.attr) id = s.attr.id;
		else {

			id = Math.random();
			//throw "Element created without ID. Temporary ID of "+id+" generated!";

			}

		if (document.getElementById(id)) {

			throw "ID ("+id+") already exists!";
			return false;

			}

		x = document.createElement(elementType);
		x.setAttribute("id",id);

		if (s.styles) {

			styles = s.styles;
			for (var k in styles) {

				x.style[k] = styles[k];

				}

			}

		if (s.attr) {

			attr = s.attr;
			for (var k in attr) {

				if (k.toLowerCase() != "id") x.setAttribute(k,attr[k]);

				}

			}

		if (s.events) {

			events = s.events;
			for (var k in events) {

				if (x.addEventListener) x.addEventListener(k,events[k],false);
				else if (x.attachEvent) x.attachEvent('on'+k,events[k]);

				}

			}

		html = s.html || null;
		x.innerHTML = html;
		elementParent.appendChild(x);

		return x;

		}

	}
