StaticPopupDialogs["UIRTIMSG"] = {
	text = TEXT("메세지를 입력하세요"),
	button1 = TEXT(ACCEPT),
	button2 = TEXT(CANCEL),
	hasEditBox = 1,
	OnAccept = function()
		local editBox = getglobal(this:GetParent():GetName().."EditBox");
		local RTI_MSG = editBox:GetText();
		RTI_AnnounceOn = 1;
		if RTI_MSGS == 1 then
			RTI_text1 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 1번 메세지가 설정되었습니다.\n"..RTI_text1);
		elseif RTI_MSGS == 2 then
			RTI_text2 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 2번 메세지가 설정되었습니다.\n"..RTI_text2);
		elseif RTI_MSGS == 3 then
			RTI_text3 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 3번 메세지가 설정되었습니다.\n"..RTI_text3);
		elseif RTI_MSGS == 4 then
			RTI_text4 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 4번 메세지가 설정되었습니다.\n"..RTI_text4);
		elseif RTI_MSGS == 5 then
			RTI_text5 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 5번 메세지가 설정되었습니다.\n"..RTI_text5);
		elseif RTI_MSGS == 6 then
			RTI_text6 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 6번 메세지가 설정되었습니다.\n"..RTI_text6);
		elseif RTI_MSGS == 7 then
			RTI_text7 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 7번 메세지가 설정되었습니다.\n"..RTI_text7);
		elseif RTI_MSGS == 8 then
			RTI_text8 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 8번 메세지가 설정되었습니다.\n"..RTI_text8);
		end
	end,
	OnShow = function()
		getglobal(this:GetName().."EditBox"):SetFocus();
	end,
	OnHide = function()
		getglobal(this:GetName().."EditBox"):SetText("");
	end,
	EditBoxOnEnterPressed = function()
		local editBox = getglobal(this:GetParent():GetName().."EditBox");
		local RTI_MSG = editBox:GetText();
		RTI_AnnounceOn = 1;
		if RTI_MSGS == 1 then
			RTI_text1 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 1번 메세지가 설정되었습니다.\n"..RTI_text1);
		elseif RTI_MSGS == 2 then
			RTI_text2 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 2번 메세지가 설정되었습니다.\n"..RTI_text2);
		elseif RTI_MSGS == 3 then
			RTI_text3 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 3번 메세지가 설정되었습니다.\n"..RTI_text3);
		elseif RTI_MSGS == 4 then
			RTI_text4 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 4번 메세지가 설정되었습니다.\n"..RTI_text4);
		elseif RTI_MSGS == 5 then
			RTI_text5 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 5번 메세지가 설정되었습니다.\n"..RTI_text5);
		elseif RTI_MSGS == 6 then
			RTI_text6 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 6번 메세지가 설정되었습니다.\n"..RTI_text6);
		elseif RTI_MSGS == 7 then
			RTI_text7 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 7번 메세지가 설정되었습니다.\n"..RTI_text7);
		elseif RTI_MSGS == 8 then
			RTI_text8 = RTI_MSG;
			DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 8번 메세지가 설정되었습니다.\n"..RTI_text8);
		end
		this:GetParent():Hide();
	end,
	EditBoxOnEscapePressed = function()
		this:GetParent():Hide();
	end,
	timeout = 0,
	exclusive = 1,
	hideOnEscape = 1
};

function RaidTargetIcon_UI_DropDown_OnLoad()
	UIDropDownMenu_Initialize(this, RaidTargetIcon_UI_DropDown_Initialize, "MENU");
end

function RaidTargetIcon_UI_ToggleDropDown()
--	RaidTargetIcon_UI_DropDown.point = "TOPRIGHT";
--	RaidTargetIcon_UI_DropDown.relativePoint = "BOTTOMLEFT";
	ToggleDropDownMenu(1, nil, RaidTargetIcon_UI_DropDown);
	return;
end

function RaidTargetIcon_UI_DropDown_Initialize()
	RaidTargetIcon_UI_DropDown_InitButtons();
end

function RaidTargetIcon_UI_DropDown_InitButtons()
	local info = {};
	local sTitle = "";

--------------- Level 2
	if ( UIDROPDOWNMENU_MENU_LEVEL == 2 ) then
		if ( UIDROPDOWNMENU_MENU_VALUE == "  프리셋" ) then
			info = { };
			sTitle = "  Preset1"
			info.func = UIPreset1_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  Preset2"
			info.func = UIPreset2_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  Preset3"
			info.func = UIPreset3_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  Preset4"
			info.func = UIPreset4_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  Preset5"
			info.func = UIPreset5_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
		elseif ( UIDROPDOWNMENU_MENU_VALUE == "  메세지 설정" ) then
			info = { };
			sTitle = ("|cFFFFEB00별: "..RTI_text1)
			info.func = UIMSG1_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFFFA9100동그라미: "..RTI_text2)
			info.func = UIMSG2_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFFD438E6다이아몬드: "..RTI_text3)
			info.func = UIMSG3_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFF0AF300세모: "..RTI_text4)
			info.func = UIMSG4_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFFB3D1E0달: "..RTI_text5)
			info.func = UIMSG5_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFF00B5FF네모: "..RTI_text6)
			info.func = UIMSG6_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFFFF3D2B가위표: "..RTI_text7)
			info.func = UIMSG7_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = ("|cFFFAFAFA해골: "..RTI_text8)
			info.func = UIMSG8_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
		end
		return;
	end

--------------- Level 1
--		if ( UIDROPDOWNMENU_MENU_VALUE == "  레이드 타겟 아이콘" ) then
			info = { };
			if RaidTargetIconMoveTap:IsShown() then
				sTitle = "  이동상태"
			else
				sTitle = "  잠금상태"
			end
			info.func = UIRTIlock_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  위치 초기화"
			info.func = UIRTIreset_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			if RTI_AnnounceOn == 1 then
				sTitle = "  메세지 출력 켜짐"
			else
				sTitle = "  메세지 출력 꺼짐"
			end
			info.func = UIRTImsgonoff_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  프리셋"
			info.text = sTitle;
			info.hasArrow = 1;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  메세지 설정"
			info.text = sTitle;
			info.hasArrow = 1;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			info = { };
			sTitle = "  메세지 초기화"
			info.func = UIRTIclear_OnClick;
			info.text = sTitle;
			info.notCheckable = 1;
			info.justifyH = "LEFT";
			UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
			return;
--		end
--		return;
end

---------------- 설정메뉴
function UIPreset1_OnClick()
		RTI_Preset1();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 Preset1을 불러옵니다(인던용).");
end
function UIPreset2_OnClick()
		RTI_Preset2();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 Preset2를 불러옵니다(레이드용).");
end
function UIPreset3_OnClick()
		RTI_Preset3();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 Preset3을 불러옵니다(레이드용).");
end
function UIPreset4_OnClick()
		RTI_Preset4();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 Preset4를 불러옵니다.");
end
function UIPreset5_OnClick()
		RTI_Preset5();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 Preset5를 불러옵니다.");
end

function UIMSG1_OnClick()
	RTI_MSGS = 1;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG2_OnClick()
	RTI_MSGS = 2;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG3_OnClick()
	RTI_MSGS = 3;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG4_OnClick()
	RTI_MSGS = 4;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG5_OnClick()
	RTI_MSGS = 5;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG6_OnClick()
	RTI_MSGS = 6;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG7_OnClick()
	RTI_MSGS = 7;
	StaticPopup_Show("UIRTIMSG");
end
function UIMSG8_OnClick()
	RTI_MSGS = 8;
	StaticPopup_Show("UIRTIMSG");
end

function UIRTIlock_OnClick()
	if RaidTargetIconMoveTap:IsShown() then
		RaidTargetIconMoveTap:Hide();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon위치가 잠겼습니다.");
	else
		RaidTargetIconMove();
		RaidTargetIcon:Show();
		RaidTargetIconMoveTap:Show();
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon가 이동 가능하게 되었습니다.");
	end
end
function UIRTIreset_OnClick()
		RaidTargetIcon:ClearAllPoints();
		RaidTargetIcon:SetPoint("TOPLEFT", "TargetFrame", "BOTTOMLEFT", "0", "0");
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon위치가 초기화되었습니다.");
end
function UIRTImsgonoff_OnClick()
	if RTI_AnnounceOn ~= 1 then
		RTI_AnnounceOn = 1;
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 메세지 출력이 켜졌습니다.");
	else
		RTI_AnnounceOn = 0;
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 메세지 출력이 꺼졌습니다.");
	end
end
function UIRTIclear_OnClick()
		RTI_text1="";
		RTI_text2="";
		RTI_text3="";
		RTI_text4="";
		RTI_text5="";
		RTI_text6="";
		RTI_text7="";
		RTI_text8="";
		RTI_AnnounceOn = 0;
		DEFAULT_CHAT_FRAME:AddMessage("|cffffffff Raid Target Icon의 메세지가 초기화되었습니다.");
end

-- 원형 미니맵과 윈드 사각맵
function RaidTargetIcon_UI_MoveIcon()
	RaidTargetIcon_UI_MinimapButton:ClearAllPoints();
	if ( IsAddOnLoaded("WindMinimap") and tonumber(GetAddOnMetadata("WindMinimap", "Version")) >= 6.0 ) then
		local xpos,ypos

		xpos = 110 * cos(RaidTargetIcon_UI_IconPos or 0)
		ypos = 110 * sin(RaidTargetIcon_UI_IconPos or 0)
		xpos = math.max(-82,math.min(xpos,84))
		ypos = math.max(-86,math.min(ypos,82))

		RaidTargetIcon_UI_MinimapButton:SetPoint("TOPLEFT","Minimap","TOPLEFT",52-xpos,ypos-52);
	else
		RaidTargetIcon_UI_MinimapButton:SetPoint("TOPLEFT", "Minimap", "TOPLEFT", 52 - (80 * cos(RaidTargetIcon_UI_IconPos or 0)), (80 * sin(RaidTargetIcon_UI_IconPos or 0)) - 52);
	end

end

-- 사각 미니맵(윈드 이외의 사각맵사용시 교체)
--function RaidTargetIcon_UI_MoveIcon()
--	local xpos,ypos

--		xpos = 110 * cos(RaidTargetIcon_UI_IconPos or 0)
--		ypos = 110 * sin(RaidTargetIcon_UI_IconPos or 0)
--		xpos = math.max(-82,math.min(xpos,84))
--		ypos = math.max(-86,math.min(ypos,82))

--	RaidTargetIcon_UI_MinimapButton:SetPoint("TOPLEFT","Minimap","TOPLEFT",52-xpos,ypos-52)

--end

function RaidTargetIcon_UI_Icon_OnLoad()
	if (RaidTargetIcon_UI_IconPos == nil) then
		RaidTargetIcon_UI_IconPos = -100;
	end

	RaidTargetIcon_UI_MoveIcon();
end

function RaidTargetIcon_UI_IconDraggingFrame_OnUpdate(arg1)
	local xpos, ypos = GetCursorPosition();
	local xmin, ymin = Minimap:GetLeft() or 400, Minimap:GetBottom() or 400;

	xpos = xmin - xpos / Minimap:GetEffectiveScale() + 70;
	ypos = ypos / Minimap:GetEffectiveScale() - ymin - 70;

	RaidTargetIcon_UI_IconPos = math.deg(math.atan2(ypos, xpos));
	RaidTargetIcon_UI_MoveIcon();
end