

function EQL3_Tooltip_OnLoad()
	-- this will catch mobs needed for quests
	this:RegisterEvent('UPDATE_MOUSEOVER_UNIT');
	
	-- this should catch items when you're going to sell them
	EQL3_ContainerFrameItemButton_OnEnter = ContainerFrameItemButton_OnEnter;
	ContainerFrameItemButton_OnEnter = EQL3_New_ContainerFrameItemButton_OnEnter;
end


function EQL3_Tooltip_OnEvent(event)

    if (event == 'UPDATE_MOUSEOVER_UNIT') then
        -- check if quest mob if player wants the tooltip feature...
				if ( QuestlogOptions[EQL3_Player].MobTooltip == 1 ) then
					EQL3_ScanTooltip();
				end
    end

end



-- New function for container items
function EQL3_New_ContainerFrameItemButton_OnEnter()
	-- call old function
	EQL3_ContainerFrameItemButton_OnEnter();
	
	-- if player wants the tooltip feature...
	if ( QuestlogOptions[EQL3_Player].ItemTooltip == 1 ) then
		EQL3_ScanTooltip();
	end
end

function EQL3_ScanTooltip()
    if ( GameTooltip ~= nil and
				 getglobal('GameTooltipTextLeft1'):IsVisible() and
				 getglobal('GameTooltipTextLeft1'):GetText() ~= nil ) then

			return EQL3_ScanTooltipItem(getglobal('GameTooltipTextLeft1'):GetText());

    end
		
		return false;
end



function EQL3_ScanTooltipItem(queryString)
	if(queryString == nil) then return false; end
	
	local oldSelection = GetQuestLogSelection();
		if(oldSelection < 1) then oldSelection = 1; end
		
	local questID;
	local numEntries = GetNumQuestLogEntries();
	local questTitle, level, questTag, isHeader;
	local numObjectives;
	local found = false;
	local text, typ, finished;
	
	-- loop through all quests
	for i=1, numEntries, 1 do
		questID = i;
		questTitle, level, questTag, isHeader = GetQuestLogTitle(questID);
		
		if (not isHeader) then
			SelectQuestLogEntry(questID);
			if(questTitle) then				
				numObjectives = GetNumQuestLeaderBoards();
				if(numObjectives > 0) then	
					
					-- loop through all objectives
					for j=1, numObjectives, 1 do
						text, typ, finished = GetQuestLogLeaderBoard(j);
						if(not text or strlen(text) == 0) then
							text = typ;
						end
						x = string.find(text, queryString);
						if (x ~= nil) then
						
							local completion = nil;
							
							for y, z in string.gfind(text, "(%d+)/(%d+)") do
								completion = "   ("..y.."/"..z..")";
							end
							
							-- DEFAULT_CHAT_FRAME:AddMessage("EQL: ".. y..", "..z, 1, 1, 1, 1);
							
							if ( QuestlogOptions[EQL3_Player].ShowQuestLevels == 1 ) then
								if(questTag ~= NIL) then
									level = level.."+"
								end
								questTitle = "["..level.."] "..questTitle;
							end
							
							if ( QuestlogOptions[EQL3_Player].CustomTooltipColor == 1 ) then
								questTitle = EQL3_ColorText(questTitle, QuestlogOptions[EQL3_Player].Color["Tooltip"].r, QuestlogOptions[EQL3_Player].Color["Tooltip"].g, QuestlogOptions[EQL3_Player].Color["Tooltip"].b);
							else
								questTitle = EQL3_ColorText(questTitle, 1.0, 0.8, 0.0);
							end
							
							if (completion ~= nil) then
								questTitle = questTitle..completion;
							end
							
							-- add tooltip line
							GameTooltip:AddLine(" ", 1, 1, 1, 1);
							GameTooltip:AddLine(questTitle, 1, 1, 1, 1);	
							GameTooltip:SetHeight(GameTooltip:GetHeight() + 28);
							
							-- resize tooltip
							leng = getglobal(GameTooltip:GetName() .. "TextLeft" .. GameTooltip:NumLines()):GetStringWidth();
							leng = leng + 22;
						
							if ( leng > GameTooltip:GetWidth() ) then
								GameTooltip:SetWidth(leng);
							end
							
							found = true;
						end
						if(found) then
							break;
						end
					end -- loop through all objectives
					
				end
			end
		end
		
	end -- loop through all quests
	
end



function EQL3_ScanTooltipForQuest()

end
