var get = {
	id : function(id) {
		return document.getElementById(id);
	},
	tag : function(t, p) {
		return p ? p.getElementsByTagName(t) : document.getElementsByTagName(t);
	}
};

var shorten = {
	byClass : function(t, c, l, e) {
		var o = get.tag(t);
		for(var i = 0, j = o.length; i < j; i++) {
			if(o[i].className == c) {
				var t = o[i].firstChild;
				if(t.length > l) {
					t.nodeValue = t.nodeValue.substring(0, l);
					if(t.nodeValue.substring(t.nodeValue.length - 1, t.nodeValue.length) == ' ')
						t.nodeValue = t.nodeValue.substring(0, t.nodeValue.length - 1);
					if(e)
						t.parentNode.innerHTML += e;
				};
			};
		};
	}
};

function dropdown(o, dd, cs, e) {
	var enableSwap = true;
	if(e == false) enableSwap  = false;
	var swapClass = 'active';
	var dd = get.id(dd);
	var cs = cs ? get.id(cs) : o;
	var oc = cs.className;
	if(dd.hasChildNodes()) {
		dd.style.display = 'block';
		if(enableSwap) cs.className = swapClass;
		o.onmouseout = function() {
			dd.style.display = 'none';
			if(enableSwap) cs.className = oc;
		}
	};
};

