var s_linkable_comp_div		= ".linkable_comp";
var s_linkable_comp_class	= "linkable_comp_hover";
var s_linkable_comp_link		= "a.linkable_comp_link";
var s_comp_links			= "span.comp_links";

(function(jQuery) {		// Extend jQuery with 'divlinker'-functions {{{
	jQuery.extend({
		addCompHover: function (target) {
			var o_parent = jQuery(target).parents(s_linkable_comp_div).get();
			jQuery(o_parent).addClass(s_linkable_comp_class).css("cursor", "pointer");
			//jQuery(o_parent).find(s_comp_links).show();

		}
	});

	jQuery.extend({
		removeCompHover: function (target) {
			var o_parent = jQuery(target).parents(s_linkable_comp_div).get();
			jQuery(o_parent).removeClass(s_linkable_comp_class).css("cursor", "");
			//jQuery(o_parent).find(s_comp_links).hide();
		}
	});
	
	jQuery.extend({
		addLinkHover: function (target) {
			var s_src = jQuery(target).attr('src');
			a_elm = s_src.split(".");
			
			var s_new_src = a_elm[0] + "_hover." + a_elm[1];
			jQuery(target).attr('src', s_new_src);

		}
	});

	jQuery.extend({
		removeLinkHover: function (target) {
			var s_src = jQuery(target).attr('src');
			a_elm = s_src.split(".");
			
			var s_src_1 = a_elm[0].substr(0, (a_elm[0].length-6));

			var s_new_src = s_src_1 + "." + a_elm[1];
			jQuery(target).attr('src', s_new_src);
		}
	});

	jQuery.extend({
		followCompLink: function (target) {
			var o_parent = jQuery(target).parents(s_linkable_comp_div).get();
			var s_link = jQuery(o_parent).find(s_linkable_comp_link).attr('href');

			if (s_link) {
				window.location = s_link;
			}

			return true;			
		}
	});


})(jQuery);	// }}}

// 'onload'-stuff {{{
jQuery(document).ready(function() {
	
	jQuery(s_comp_links + " img").each(function () {
		jQuery(this).mouseover(function (e) {
			jQuery.addLinkHover(jQuery(e.target));
		});	
	
		jQuery(this).mouseout(function (e) {
			jQuery.removeLinkHover(jQuery(e.target));
		});	
	});	
	
	

	jQuery(s_linkable_comp_div).mouseover(function (e) {
		jQuery.addCompHover(jQuery(e.target));
	});	

	jQuery(s_linkable_comp_div).mouseout(function (e) {
		jQuery.removeCompHover(jQuery(e.target));
	});	

	jQuery(s_linkable_comp_div + " td.comp_date, " + s_linkable_comp_div + " td.comp_name, " + s_linkable_comp_div + " td.comp_day").click(function (e) {
		jQuery.followCompLink(jQuery(e.target));
	});	

});
// }}}

