if(typeof YAHOO != 'undefined' && YAHOO.namespace && YAHOO.lang && YAHOO.util){
	YAHOO.namespace("cx.exp.core.tracking");

	// This Class scan the DOM for links (a) that contains a rfrr attribute
	// It than assigns a onClick event that will capture the rfrr and send it to Omniture when the click is fired.
	YAHOO.cx.exp.core.tracking.OmnitureClick = function(){
		if(YAHOO.lang.isUndefined(YAHOO.cx.exp.core.tracking.OmnitureClickSingleton)){
		
			var obj = {};
			
			// Private properties
			var omnitureLinks;
			
			// Private method
			var callback = function(e){
				var rfrr = this.getAttribute('rfrr');
				if(YAHOO.lang.isValue(rfrr)){
					if(!YAHOO.lang.isUndefined(s_exp_trackClick)){
						s_exp_trackClick(this, 'a', rfrr);
					}
				}
			}
			
			// Public methods
			obj.registerOmnitureClick = function(){
				omnitureLinks = YAHOO.util.Dom.getElementsByClassName('OmnitureLink', 'a');
		    	YAHOO.util.Event.addListener(omnitureLinks, "click", callback);
			}
			
			// Constructor
			var init = function(){
				YAHOO.util.Event.onDOMReady(obj.registerOmnitureClick);
			}
			init();
			
			YAHOO.cx.exp.core.tracking.OmnitureClickSingleton = obj;
		}
		return YAHOO.cx.exp.core.tracking.OmnitureClickSingleton;
	}();
}
