/**
 * responsible for handling Special Math box actions.
 * @param {Cobalt.Core.Sandbox} sandbox
 */
Cobalt.Website.Results.SpecialMathboxModule = function(sandbox)
{

    var handleSpecialMathboxMouseOver = function(e) 
	{    	
		var data = getComponentData(e);
		sandbox.dom("#"+data.targetElement).show();
    };
	
	var handleSpecialMathboxMouseOut = function(e) 
	{
		var data = getComponentData(e);
		sandbox.dom("#"+data.targetElement).hide();
    };
	
	var getComponentData = function(component)
	{
		var elementNameStartsWith = "specialTermLayer_";
        var compId = sandbox.dom(component.currentTarget).attr("id");
		compId = compId.split('_')[1];
		var targElm = elementNameStartsWith+compId;				sandbox.dom("ul.validity_timeStamp").html("<li id='validity-list'>Price valid for 3 days from "+ timeStamp()+"</li>");
				return { targetElement: targElm }		
	};
	
	var handleSpecialDisclaimerClicked = function(e) 
	{
		var disclaimerComponentId = sandbox.dom(e.target).attr("id");
		disclaimerComponentId = disclaimerComponentId.split("_")[1];
		sandbox.dom("#specialDisclaimerDetails_"+disclaimerComponentId).show();
		return false;
	};
	
	var handleSpecialDisclaimerCloseClicked = function(e)
	{
		sandbox.dom(".specialDisclaimerDetails").hide();
		return false;
	};		var zeroPadding = function(number) {		var num = (number > 9)? number : '0'+ number;		return num;	};		var timeStamp = function()	{		var date = new Date(); 		var curr_date = zeroPadding(date.getDate());		var curr_month = date.getMonth() + 1;		curr_month = zeroPadding(curr_month);		var curr_year = date.getFullYear();		var curr_hour = date.getHours();		var ampm = (curr_hour > 11)? "pm":"am";		curr_hour = (curr_hour > 12)? zeroPadding(curr_hour - 12): zeroPadding(curr_hour);		var curr_minute = zeroPadding(date.getMinutes());		date= curr_month + '/'+ curr_date + '/'+ curr_year;		var time = curr_hour +':'+ curr_minute+ampm;		return date +' '+ time	};
	
    return {
        init:function()
        {
            var jquerySelector = sandbox.getUIElementSelectorsForModule(Cobalt.Website.Results.ResultsApplication.Modules.SpecialMathboxModule);            	
            for (var i=0; i<jquerySelector.length; ++i)
            {
                sandbox.dom(jquerySelector[i]).listenLive("mouseenter", handleSpecialMathboxMouseOver);
				sandbox.dom(jquerySelector[i]).listenLive("mouseleave", handleSpecialMathboxMouseOut);
            }
			var jqueryDisclaimerSelector = "[class~='specialDisclaimerLink']";
			var jQueryDisclaimerClose = "[class~='specialDisclaimerClose']";
			sandbox.dom(jqueryDisclaimerSelector).listenLive("click", handleSpecialDisclaimerClicked);
			sandbox.dom(jQueryDisclaimerClose).listenLive("click", handleSpecialDisclaimerCloseClicked);
        },
        destroy:function()
        {
            //TODO: handle destroy
        }
    };
};
