var WJActiveLinkHandler = Class.create({
	/**
	 *
	 *
	 *
	 *
	 * @since Mon Sep 15 2008
	 * @access
	 * @param
	 * @return
	 **/
	initialize: function() {
		this.current = null;
		this.items = new Hash();
	},

	/**
	 *
	 *
	 *
	 *
	 * @since Mon Sep 15 2008
	 * @access
	 * @param
	 * @return
	 **/
	register: function(li, navactive) {
		if (li.hasClassName("pos_active") ) {
			this.current = li;
		}
		this.items.set(navactive, li);
	},

	/**
	 *
	 *
	 *
	 *
	 * @since Mon Sep 15 2008
	 * @access
	 * @param
	 * @return
	 **/
	update: function(navactive) {
		if (Object.isElement(this.items.get(navactive) ) ) {
			this.active(this.items.get(navactive), navactive);
		}
	},

	/**
	 *
	 *
	 *
	 *
	 * @since Mon Sep 15 2008
	 * @access
	 * @param
	 * @return
	 **/
	active: function(element, navactive) {
		element.addClassName("pos_active").addClassName("stl_active");
		this.inactive(this.current);
		this.current = element;
		var img = element.select("a img").first();

		if (Object.isElement(img) ) {
			var src = (img.realSrc) ? img.realSrc : img.src;
			img.src = src.replace(/(\/)([^\/]*)$/, "/active/$2");//substring(0, img.src.lastIndexOf("/") ) + "/active" + img.src.substring(img.src.lastIndexOf("/") );
		}
	},

	/**
	 *
	 *
	 *
	 *
	 * @since Mon Sep 15 2008
	 * @access
	 * @param
	 * @return
	 **/
	inactive: function(element) {
		element.removeClassName("pos_active").removeClassName("stl_active");
		var img = element.select("a img").first();

		if (Object.isElement(img) ) {
			var src = (img.realSrc) ? img.realSrc : img.src;
			img.src = src.replace("active/", "");
		}
	}
});

var activeLinkHandler = new WJActiveLinkHandler();
