var __mela_preview;

function PreviewHandler(ectrl){this._events = ectrl};

PreviewHandler.prototype = {
	
	_api: 'http://dev-api.melative.com/xml/mediaMeta/anime=',
	_css: '&css_override=http://aloedream.animeblogger.net/style/meta.css',
	_events: null,

	loadFrame: function(title)
	{
		var hash = title.split(/#/);
		if( hash[1] )
		{
			
			$('meta-frame').src = this._api + (hash[1]) + this._css;
		}
	},

	listener: function(o)
	{
		return function(e)
		{
			o._events.halt(e);
			var link = o._events.target(e);
			var title = link.href;
			o.loadFrame(title);
		};
	}
}

function EventsControl(){};

EventsControl.prototype = {
	create: function (o,type,f,bubble)
	{
		if(o.addEventListener)
		{
			o.addEventListener(type, f, bubble);
		}
		else if(o.attachEvent)
		{
			o["e"+type+f] = f;
			o[type+f] = function() { o["e"+type+f]( window.event ); }
			o.attachEvent( "on"+type, o[type+f] );
		}
	},

	target: function(e){ e = e || window.event;	return e.currentTarget || e.srcElement; },

	halt: function(e)
	{
		if( e.stopPropagation ){ e.stopPropagation(); e.preventDefault(); }
		else{ window.event.cancelBubble = true; }
	}
}

function previewStart()
{
	var results = $('results');
	if( results )
	{
		__mela_preview = new PreviewHandler(__events);

		var listener = __mela_preview.listener(__mela_preview);

		var links = results.getElementsByTagName('a');
		for(var i in links)
		{
			__events.create(links[i],'click',listener,true);
		}
	
		var ifrm = document.createElement('iframe');
		ifrm.name='meta-frame'; ifrm.id='meta-frame';
		$('preview').appendChild(ifrm);
	}
}

var __events = new EventsControl();
__events.create(window,'load',previewStart,false);

function $(id){ return document.getElementById(id); }
