UAK = YAHOO.namespace("trp.uak.529");

if (typeof UAK.event == "undefined")
{

UAK.event = function(){


	var ValidMetricsTags = {
		"select":"found",
		"option":"found",
		"a":"found",
		"img":"found",
		"li":"found"
  	};
	
    var documentClickHandler = function(event){

    	var tar = YAHOO.util.Event.getTarget(event); 
			
		VRT.logger.log("DOCUMENT trapped click for this target " + tar.tagName.toLowerCase());
													
		if(jvl.validation.isEmpty(ValidMetricsTags[tar.tagName.toLowerCase()])) return;
						
	 	if (tar.tagName.toLowerCase() == 'select') { 
			VRT.logger.log("DOCUMENT trapped click on select element - bailing on metrics capture ");
	 		//vrtPage.logger("selectedOption = " + jvl.form.getSelectedOption(tar).text);
	 		//return false;
	 	}
	  	if (tar.tagName.toLowerCase() == 'option') { 
			VRT.logger.log("DOCUMENT trapped click on option element");
	 		//return false;
	  	}
	    
	    if (tar.tagName.toLowerCase() == 'a') { 
	        var str = 'You clicked on ' + tar.innerHTML + ' on this page ' + window.location.pathname + ' going to this href  ' + tar.href; 
   			VRT.logger.log("DOCUMENT CLICK HANDLER " + str); 
	    } 
	    
	    //if !vrtPage.properties.isInPreview
	    var eventTarget = YAHOO.util.Event.getTarget(event);
	    
	    UAK.WebMetrics.generateMetrics(eventTarget);

        UAK.ClickEventDispatch.dispatch(eventTarget);

		//optional for metrics not generated here
		//Retail.page.properties.metricsReportedOn = false; //??
		
		VRT.logger.log("document click handler has target href of " + eventTarget.href);

    };
    

    /*
    doc is a standard div to indicate beginning of document body.
    */
    var initContainerOnClickHandler = function(){
    	YAHOO.util.Event.on("doc", "onchange", documentClickHandler); 
    	YAHOO.util.Event.on("doc", "click", documentClickHandler); 
    };

    //public props and methods
    return {


		/*
		these need to fire in a particular order so that the onClickHandler can add listeners
		to anchor tags. Any event listeners need to be initialized after everything else is done.
	
		*/
		pageInit: function(){
			VRT.logger.init();
			VRT.logger.log('pageInit start');
			//page init functions go here
			initContainerOnClickHandler();
			VRT.render.initAnchorClickHandler();			
			//VRT.render.handleDomReadyEvent();		
			VRT.logger.log('pageInit end');
		}
	};

}();

}