UKTV.VideoInfo = new function() {	
	this.NS = 'UKTV.VideoInfo';
	var _self = this;
	var _hash = false;

	var resetState = function(con) {
		if(con.active.dd) {
			YAHOO.util.Dom.removeClass(con.active.dd, 'active');
		}

		if(con.active.dt) {
			YAHOO.util.Dom.removeClass(con.active.dt, 'active');
		}
	}
	
	var setState = function(con, dt, dd) {
		YAHOO.util.Dom.addClass(dt, 'active');
		YAHOO.util.Dom.addClass(dd, 'active');
		
		con.active = {
			'dd': dd,
			'dt': dt
		};		
	}
	
	var mouseHandler = function(e, con) {
		var ev = YAHOO.util.Event.getEvent(e);
		YAHOO.util.Event.stopEvent(ev);
		var node = YAHOO.util.Event.getTarget(ev);
		var dt = YAHOO.util.Dom.getAncestorByTagName(node, 'dt');
		
		if(!dt || YAHOO.util.Dom.hasClass(dt, 'active')) {
			return;
		}
		
		var dd = YAHOO.util.Dom.getNextSibling(dt);
		resetState(con);
		setState(con, dt, dd);
	}

	var initVideoInfo = function(con) {
		var dd = YAHOO.util.Dom.getElementsByClassName('active', 'dd', con);
		var dt = YAHOO.util.Dom.getElementsByClassName('active', 'dt', con);
		
		if(dd.length == 0 && dt.length == 0) {
			dd = con.getElementsByTagName('dd');
			dt = con.getElementsByTagName('dt');		
			
			setState(con, dt[0], dd[0]);	
		} else {		
			con.active = {
				'dd': dd[0],
				'dt': dt[0]
			};
		}
		
		YAHOO.util.Event.addListener(con, "mouseover", mouseHandler, con);
	}


	this.init = function() {
		var cons = YAHOO.util.Dom.getElementsByClassName('videos', 'div');		
		var i = 0;
		
		for(i=0; i<cons.length; i++) {
			initVideoInfo(cons[i]);
		}		
	}
	

	UKTV.loader.registerObj(this);
};