function $i(s, p) {
	if (!p) {
		p = document;
	}
	return p.getElementById(s);
}

function $c(c, t, p) {
	var r = new Array();
	var es = $t(t, p);
	var re = new RegExp("\\b" + c + "\\b");
	for (var i = 0, l = es.length; i < l; i++) {
		var e = es[i];
		if (re.test(e.className)) {
			r.push(e);
		}
	}
	return r;
}

function $t(t, p) {
	if (!t) {
		t = "*";
	}
	if (!p) {
		p = document;
	}
	return p.getElementsByTagName(t);
}

function $a(a) {
	var r = new Array();
	for (var i = 0, l = a.length; i < l; i++) {
		r.push(a[i]);
	}
	return r;
}

if (!Event) {
	var Event = {};
}

Event.attach = function (o, t, f, fc, c, a) {
	var fn = Function.bind(f, (fc || o));
	var z = o["_on" + t];
	if (z) {
		o["_on" + t] = function() {
			z.apply(this, arguments);
			fn.apply(this, arguments);
		};
	} else {
		var h = Function.bind(Event.handle, Event, fn, a);
		if (o.addEventListener) {
			o.addEventListener(t, h, (c ? true : false));
		} else {
			o.attachEvent("on" + t, h);
		}
	}
};

Event.handle = function(f, as, e) {
	if (!e) {
		e = window.event;
	}
	if (!e.preventDefault) {
		e.preventDefault = function() {
			this.returnValue = false;
		};
	}
	if (!e.stopPropagation) {
		e.stopPropagation = function() {
			this.cancelBubble = true;
		};
	}
	if (!e.target && e.srcElement) {
		e.target = e.srcElement;
		if (e.type == "onmouseout") {
			e.relatedTarget = e.toElement;
		} else if (e.type == "onmouseover") {
			e.relatedTarget = e.fromElement;
		}
	}
	if (!e.which && e.keyCode) {
		e.which = e.keyCode;
	}
	if (!e.detail && e.wheelDelta) {
		e.detail = e.wheelDelta * -1;
	}
	if (as) {
		for (var i = 0, a; a = as[i]; i++) {
			switch(a) {
				case Event.actions.PREVENTDEFAULT:
					e.preventDefault();
					break;
				
				case Event.actions.STOPPROPAGATION:
					e.stopPropagation();
					break;
			}
		}
	}
	f(e);
};

Event.actions = {
	PREVENTDEFAULT: 1,
	STOPPROPAGATION: 2
};

Function.bind = function(f, o) {
	var a;
	if (arguments.length > 0) {
		a = $a(arguments).slice(2, arguments.length);
	}
	
	return function() {
		f.apply(o, (a ? a.concat($a(arguments)) : arguments));
	};
};

function smMedia(p) {
	var lis = $c("m_(listen|video)", "li", p);
	for (var i = 0, li; li = lis[i]; i++) {
		var as = $t("a", li);
		for (var j = 0, a; a = as[j]; j++) {
			Event.attach(a, "click", (li.className == "m_listen" ? smListen : smWatch), null, null, [ Event.actions.PREVENTDEFAULT ]);
		}
	}
}

function smListen(e) {
	window.open(e.target.href, "Listen", "width=400,height=200,resizable=no,status=no");
}

function smWatch(e) {
	window.open(e.target.href, "Listen", "width=500,height=500,resizable=no,status=no");
}