var a_navigator = navigator.userAgent.toLowerCase();
var a_isOpera = a_navigator.indexOf('opera') >= 0? true: false;
var a_isIE = a_navigator.indexOf('msie') >= 0 && !a_isOpera? true: false;
var a_isSafari = a_navigator.indexOf('safari') >= 0 || a_navigator.indexOf('khtml') >= 0? true: false;
var a_linkThumbUseClassName = true;
function a_linkpic() {
	var b = document.domain;
	var A = document.getElementsByTagName('A');
	for (var i = 0, l = A.length, c = 0; i < l; i++) {
		var a = A[i];
		var h = a.text;
		if ((b == '' || h.indexOf(b) < 0) && (a.className.indexOf('card') >= 0)) {
			try {
				a.className += ' a_linkpicLNK';
				if (a.id == '') a.id = 'a_link'+ i;
				var d = a_newNode('div', 'a_linkpic'+ i, 'a_linkpic');
				var m = a_newNode('img', '', 'a_linkpicIMG');
				// var n = h.replace(/[^:]*:\/\/([^:\/]*)(:{0,1}\/{1}.*)/, '$1');
				if (a.name != '') h = a.name;
				var n = img(h);
				m.src = 'http://mi.wizards.com/global/images/magic/general/' + n;
				m.width = 200;
				m.height = 285;
				m.style.width = 200 +'px';
				m.style.height = 285 +'px';
				m.border = 0;
				d.style.zIndex = '9999';
				d.style.position = 'absolute';
				d.appendChild(m);
				document.body.appendChild(d);
				a_addEvent(a, 'mouseover',	function () { a_showThumb(a_isIE? event.srcElement.id: this.id); } );
				a_addEvent(a, 'mouseout',	function () { a_hideThumb(a_isIE? event.srcElement.id: this.id); } );
			} catch(err) {
				a = null;
			}
		}
	}
}
function img(n) { n = n.replace(/__/g, "_"); n = n.replace(/'/g, ""); n = n.replace(/ /g, "_"); n = n.replace(/ö/g, "o"); n = n.replace(/,/g, "_"); n = n.replace(/\//g, "_"); n = n.replace(/:/g, "_"); n = n.replace(/-/g, "_"); n = n + '.jpg'; return n; }
function a_showThumb(id) {
	try {
		var k = document.getElementById(id);
		var top = a_findDimension(k, 'Top');
		var lnh = a_getStyle(k, 'lineHeight', 'font-size');
		var default_height = 20;

		if (!lnh)
			lnh = default_height;
		else if (lnh.indexOf('pt') > 0)
			lnh = parseInt(lnh) * 1.3;
		else if (lnh.indexOf('em') > 0)
			lnh = parseInt(lnh) * 10;
		else if (lnh.indexOf('px') > 0)
			lnh = parseInt(lnh);
		else if (a_isNumeric(lnh))
			lnh = parseInt(a_isIE? lnh * 10: a_isOpera? lnh/100: lnh); // IE brings back em units
		else
			lnh = default_height;
		var lft = a_findDimension(k, 'Left');
		var nlf = a_findMatchingDimensionViaNodes(k, 'Left', lft, 0);
		var pid = id.replace(/a_link/, 'a_linkpic');
		var p = document.getElementById(pid);
		p.style.display = 'block';
		p.style.top = (top + (a_isIE && nlf? lnh + 8: 4) + lnh) + 'px';
		p.style.left = lft + 'px';
	} catch(err) { return; }
}

function a_hideThumb(id) {
	try {
		var k = document.getElementById(id);
		var pid = id.replace(/a_link/, 'a_linkpic');
		var p = document.getElementById(pid);
		p.style.display = 'none';
	} catch(err) { return; }
}
function a_getStyle(obj, styleIE, styleMoz) {
	if (a_isString(obj)) obj = document.getElementById(obj);
	if (obj.currentStyle)
		return obj.currentStyle[styleIE];
	else if (window.getComputedStyle)
		return document.defaultView.getComputedStyle(obj, null).getPropertyValue(styleMoz);
}
function a_findDimension(obj, pType) {
	if (a_isString(obj)) obj = document.getElementById(obj);
	var cur = 0;
	if(obj.offsetParent)
		while(obj.offsetParent) {
			switch(pType.toLowerCase()) {
			case "width":
				cur += obj.offsetWidth; break;
			case "height":
				cur += obj.offsetHeight; break;
			case "top":
				cur += obj.offsetTop; break;
			case "left":
				cur += obj.offsetLeft; break;
			}
			obj = obj.offsetParent;
		}
	return cur;
}
function a_findMatchingDimensionViaNodes(obj, pType, matching, notMatching) {
	var cur = 0, counter = 0;
	notMatching = notMatching == null? -1: notMatching;
	if(obj.parentNode)
		while(obj.parentNode) {
			cur = a_findDimension(obj, pType);
			if (cur == matching && cur != notMatching)
				counter++;
			if (counter >= 2) return true;
			obj = obj.parentNode;
		}
	return false;
}
function a_isString(o) { return (typeof(o) == "string"); }
function a_isNumeric(o) { return (typeof(parseFloat(o).toString() == 'NaN'? 'xxx': parseFloat(o)) == "number" && parseFloat(o) != ''); }
function a_addEvent(e, meth, func, cap) {
	if (a_isString(e))	e = document.getElementById(e);

	if (e.addEventListener){
		e.addEventListener(meth, func, cap);
    	return true;
	}	else if (e.attachEvent)
		return e.attachEvent("on"+ meth, func);
	return false;
}
function a_newNode(t, i, s, x, c) {
	var node = document.createElement(t);
	if (x != null && x != '') {
		var n = document.createTextNode(x);
		node.appendChild(n);
	}
	if (i != null && i != '')
		node.id = i;
	if (s != null && s != '')
		node.className = s;
	if (c != null && c != '')
		node.appendChild(c);
	return node;
}

a_addEvent(window, 'load', a_linkpic);