<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
	<Button name="LibDugi_UIDropDownMenuButtonTemplate" virtual="true">
		<Size x="100" y="16"/>
		<Layers>
			<Layer level="BACKGROUND">
				<Texture name="$parentHighlight" file="Interface\QuestFrame\UI-QuestTitleHighlight" alphaMode="ADD" setAllPoints="true" hidden="true"/>
			</Layer>
			<Layer level="ARTWORK">
				<Texture name="$parentCheck" file="Interface\Common\UI-DropDownRadioChecks">
					<Size x="16" y="16"/>
					<Anchors>
						<Anchor point="LEFT">
							<Offset x="0" y="0"/>
						</Anchor>
					</Anchors>
					<TexCoords left="0" right="0.5" top="0.5" bottom="1.0"/>
				</Texture>
				<Texture name="$parentUnCheck" file="Interface\Common\UI-DropDownRadioChecks">
					<Size x="16" y="16"/>
					<Anchors>
						<Anchor point="LEFT">
							<Offset x="0" y="0"/>
						</Anchor>
					</Anchors>
					<TexCoords left="0.5" right="1.0" top="0.5" bottom="1.0"/>
				</Texture>
				<Texture name="$parentIcon" hidden="true">
					<Size>
						<AbsDimension x="16" y="16"/>
					</Size>
					<Anchors>
						<Anchor point="RIGHT">
							<Offset x="0" y="0"/>
						</Anchor>
					</Anchors>
				</Texture>
			</Layer>
		</Layers>
		<Frames>
			<Button name="$parentColorSwatch" hidden="true">
				<Size>
					<AbsDimension x="16" y="16"/>
				</Size>
				<Anchors>
					<Anchor point="RIGHT">
						<Offset>
							<AbsDimension x="-6" y="0"/>
						</Offset>
					</Anchor>
				</Anchors>
				<Layers>
					<Layer level="BACKGROUND">
						<Texture name="$parentSwatchBg">
							<Size>
								<AbsDimension x="14" y="14"/>
							</Size>
							<Anchors>
								<Anchor point="CENTER">
									<Offset>
										<AbsDimension x="0" y="0"/>
									</Offset>
								</Anchor>
							</Anchors>
							<Color r="1.0" g="1.0" b="1.0"/>
						</Texture>
					</Layer>
				</Layers>
				<Scripts>
					<OnClick>
						CloseMenus();
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenuButton_OpenColorPicker(self:GetParent());
					</OnClick>
					<OnEnter>
						LuaUtils.DugisDropDown.LibDugi_CloseDropDownMenus(self:GetParent():GetParent():GetID() + 1);
						_G[self:GetName().."SwatchBg"]:SetVertexColor(NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b);
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StopCounting(self:GetParent():GetParent());
					</OnEnter>
					<OnLeave>
						_G[self:GetName().."SwatchBg"]:SetVertexColor(HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b);
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StartCounting(self:GetParent():GetParent());
					</OnLeave>
				</Scripts>
				<NormalTexture name="$parentNormalTexture" file="Interface\ChatFrame\ChatFrameColorSwatch"/>
			</Button>
			<Button name="$parentExpandArrow" hidden="true">
				<Size>
					<AbsDimension x="16" y="16"/>
				</Size>
				<Anchors>
					<Anchor point="RIGHT">
						<Offset>
							<AbsDimension x="0" y="0"/>
						</Offset>
					</Anchor>                   
				</Anchors>
				<Scripts>
					<OnClick>
						LuaUtils.DugisDropDown.LibDugi_ToggleDropDownMenu(self:GetParent():GetParent():GetID() + 1, self:GetParent().value, nil, nil, nil, nil, self:GetParent().menuList, self);
					</OnClick>
					<OnEnter>
						local level =  self:GetParent():GetParent():GetID() + 1;
						local listFrame = _G["LibDugi_DropDownList"..level];
						if ( not listFrame or not listFrame:IsShown() or select(2, listFrame:GetPoint()) ~= self ) then
							LuaUtils.DugisDropDown.LibDugi_ToggleDropDownMenu(level, self:GetParent().value, nil, nil, nil, nil, self:GetParent().menuList, self);
						end
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StopCounting(self:GetParent():GetParent());
					</OnEnter>
					<OnLeave>
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StartCounting(self:GetParent():GetParent());
					</OnLeave>
				</Scripts>
				<NormalTexture file="Interface\ChatFrame\ChatFrameExpandArrow"/>
			</Button>
			<Button name="$parentInvisibleButton" hidden="true">
				<Anchors>
					<Anchor point="TOPLEFT"/>
					<Anchor point="BOTTOMLEFT"/>
					<Anchor point="RIGHT" relativeTo="$parentColorSwatch" relativePoint="LEFT">
						<Offset>
							<AbsDimension x="0" y="0"/>
						</Offset>
					</Anchor>
				</Anchors>
				<Scripts>
					<OnEnter>
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StopCounting(self:GetParent():GetParent());
						LuaUtils.DugisDropDown.LibDugi_CloseDropDownMenus(self:GetParent():GetParent():GetID() + 1);
						local parent = self:GetParent();
						if ( parent.tooltipTitle and parent.tooltipWhileDisabled) then
							if ( parent.tooltipOnButton ) then
								GameTooltip:SetOwner(parent, "ANCHOR_RIGHT");
								GameTooltip:AddLine(parent.tooltipTitle, 1.0, 1.0, 1.0);
								GameTooltip:AddLine(parent.tooltipText, nil, nil, nil, 1);
								GameTooltip:Show();
							else
								GameTooltip_AddNewbieTip(parent, parent.tooltipTitle, 1.0, 1.0, 1.0, parent.tooltipText, 1);
							end
						end
					</OnEnter>
					<OnLeave>
						LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StartCounting(self:GetParent():GetParent());
						GameTooltip:Hide();
					</OnLeave>
				</Scripts>
			</Button>
		</Frames>
		<Scripts>
			<OnLoad>				
				self:SetFrameLevel(self:GetParent():GetFrameLevel()+2);
			</OnLoad>
			<OnClick>
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenuButton_OnClick(self, button, down);
			</OnClick>
			<OnEnter>
				if ( self.hasArrow ) then
					local level =  self:GetParent():GetID() + 1;
					local listFrame = _G["LibDugi_DropDownList"..level];
					if ( not listFrame or not listFrame:IsShown() or select(2, listFrame:GetPoint()) ~= self ) then
						LuaUtils.DugisDropDown.LibDugi_ToggleDropDownMenu(self:GetParent():GetID() + 1, self.value, nil, nil, nil, nil, self.menuList, self);
					end
				else
					LuaUtils.DugisDropDown.LibDugi_CloseDropDownMenus(self:GetParent():GetID() + 1);
				end
				_G[self:GetName().."Highlight"]:Show();
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StopCounting(self:GetParent());
				if ( self.tooltipTitle ) then
					if ( self.tooltipOnButton ) then
						GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
						GameTooltip:AddLine(self.tooltipTitle, 1.0, 1.0, 1.0);
						GameTooltip:AddLine(self.tooltipText);
						GameTooltip:Show();
					else
						GameTooltip_AddNewbieTip(self, self.tooltipTitle, 1.0, 1.0, 1.0, self.tooltipText, 1);
					end
				end
			</OnEnter>
			<OnLeave>
				_G[self:GetName().."Highlight"]:Hide();
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StartCounting(self:GetParent());
				GameTooltip:Hide();
			</OnLeave>
		</Scripts>
		<ButtonText name="$parentNormalText">
			<Anchors>
				<Anchor point="LEFT">
					<Offset x="-5" y="0"/>
				</Anchor>
			</Anchors>
		</ButtonText>
		<NormalFont style="GameFontHighlightSmallLeft"/>
		<HighlightFont style="GameFontHighlightSmallLeft"/>
		<DisabledFont style="GameFontDisableSmallLeft"/>
	</Button>
	
	<Button name="LibDugi_UIDropDownListTemplate" hidden="true" frameStrata="DIALOG" enableMouse="true" virtual="true">
		<Frames>
			<Frame name="$parentBackdrop" setAllPoints="true">
			</Frame>
			<Frame name="$parentMenuBackdrop" parentKey="menuBackdrop" setAllPoints="true" inherits="BackdropTemplate">
				<Scripts>
					<OnLoad>
						local frame = self:GetParent().menuBackdrop

						frame:SetBackdrop({	bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", 
											edgeFile = "Interface/Tooltips/UI-Tooltip-Border", 
											tile = true, tileSize = 16, edgeSize = 16, 
											insets = { left = 4, right = 4, top = 4, bottom = 4 }});
															
						frame:SetBackdropColor(0.0, 0.0, 0.2, 1);
												
					</OnLoad>
				</Scripts>
			</Frame>
			<Button name="$parentButton1" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="1"/>
			<Button name="$parentButton2" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="2"/>
			<Button name="$parentButton3" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="3"/>
			<Button name="$parentButton4" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="4"/>
			<Button name="$parentButton5" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="5"/>
			<Button name="$parentButton6" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="6"/>
			<Button name="$parentButton7" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="7"/>
			<Button name="$parentButton8" inherits="LibDugi_UIDropDownMenuButtonTemplate" id="8"/>
		</Frames>
		<Scripts>
			<OnClick>
				self:Hide();
			</OnClick>
			<OnEnter>
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StopCounting(self, motion);
				LuaUtils.DugisDropDown.OnEnter()
			</OnEnter>
			<OnLeave>
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_StartCounting(self, motion);
			</OnLeave>
			<OnUpdate>
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_OnUpdate(self, elapsed);
			</OnUpdate>
			<OnShow>
				for i=1, LibDugi_UIDROPDOWNMENU_MAXBUTTONS do
					if (not self.noResize) then
						_G[self:GetName().."Button"..i]:SetWidth(self.maxWidth);
					end
				end
				if (not self.noResize) then
					self:SetWidth(self.maxWidth+25);
				end
				self.showTimer = nil;
				if ( self:GetID() > 1 ) then
					self.parent = _G["LibDugi_DropDownList"..(self:GetID() - 1)];
				end
			</OnShow>
			<OnHide>
				LuaUtils.DugisDropDown.LibDugi_UIDropDownMenu_OnHide(self);
			</OnHide>
		</Scripts>
	</Button>
	
	<Frame name="LibDugi_UIDropDownMenuTemplate" virtual="true">
		<Size>
			<AbsDimension x="40" y="32"/>
		</Size>
		<Layers>
			<Layer level="ARTWORK">
				<Texture name="$parentLeft" file="Interface\Glues\CharacterCreate\CharacterCreate-LabelFrame">
					<Size>
						<AbsDimension x="25" y="64"/>
					</Size>
					<Anchors>
						<Anchor point="TOPLEFT">
							<Offset>
								<AbsDimension x="0" y="17"/>
							</Offset>
						</Anchor>
					</Anchors>
					<TexCoords left="0" right="0.1953125" top="0" bottom="1"/>
				</Texture>
				<Texture name="$parentMiddle" file="Interface\Glues\CharacterCreate\CharacterCreate-LabelFrame">
					<Size>
						<AbsDimension x="115" y="64"/>
					</Size>
					<Anchors>
						<Anchor point="LEFT" relativeTo="$parentLeft" relativePoint="RIGHT"/>
					</Anchors>
					<TexCoords left="0.1953125" right="0.8046875" top="0" bottom="1"/>
				</Texture>
				<Texture name="$parentRight" file="Interface\Glues\CharacterCreate\CharacterCreate-LabelFrame">
					<Size>
						<AbsDimension x="25" y="64"/>
					</Size>
					<Anchors>
						<Anchor point="LEFT" relativeTo="$parentMiddle" relativePoint="RIGHT"/>
					</Anchors>
					<TexCoords left="0.8046875" right="1" top="0" bottom="1"/>
				</Texture>
				<FontString name="$parentText" parentKey="Text" inherits="GameFontHighlightSmall" wordwrap="false" justifyH="RIGHT">
					<Size>
						<AbsDimension x="0" y="10"/>
					</Size>
					<Anchors>
						<Anchor point="RIGHT" relativeTo="$parentRight">
							<Offset>
								<AbsDimension x="-43" y="2"/>
							</Offset>
						</Anchor>
						<Anchor point="LEFT" relativeTo="$parentMiddle" >
						<Offset>
								<AbsDimension x="0" y="2"/>
							</Offset>
						</Anchor>
					</Anchors>
				</FontString>
			</Layer>
			<Layer level="OVERLAY">
				<Texture name="$parentIcon" hidden="true">
					<Size>
						<AbsDimension x="16" y="16"/>
					</Size>
					<Anchors>
						<Anchor point="LEFT">
							<Offset x="30" y="2"/>
						</Anchor>
					</Anchors>
				</Texture>
			</Layer>
		</Layers>
		<Frames>
			<Button name="$parentButton"  motionScriptsWhileDisabled="true" >
				<Size>
					<AbsDimension x="24" y="24"/>
				</Size>
				<Anchors>
					<Anchor point="TOPRIGHT" relativeTo="$parentRight">
						<Offset>
							<AbsDimension x="-16" y="-18"/>
						</Offset>
					</Anchor>
				</Anchors>
				<Scripts>
					<OnEnter>
						local parent = self:GetParent();
						local myscript = parent:GetScript("OnEnter");
						if(myscript ~= nil) then
							myscript(parent);
						end
					</OnEnter>
					<OnLeave>
						local parent = self:GetParent();
						local myscript = parent:GetScript("OnLeave");
						if(myscript ~= nil) then
							myscript(parent);
						end
					</OnLeave>
					<OnClick>
						LuaUtils.DugisDropDown.LibDugi_ToggleDropDownMenu(nil, nil, self:GetParent());
						LuaUtils:PlaySound("igMainMenuOptionCheckBoxOn");
					</OnClick>
				</Scripts>
				<NormalTexture name="$parentNormalTexture" file="Interface\ChatFrame\UI-ChatIcon-ScrollDown-Up">
					<Size>
						<AbsDimension x="24" y="24"/>
					</Size>
					<Anchors>
						<Anchor point="RIGHT"/>
					</Anchors>
				</NormalTexture>
				<PushedTexture name="$parentPushedTexture" file="Interface\ChatFrame\UI-ChatIcon-ScrollDown-Down">
					<Size>
						<AbsDimension x="24" y="24"/>
					</Size>
					<Anchors>
						<Anchor point="RIGHT"/>
					</Anchors>
				</PushedTexture>
				<DisabledTexture name="$parentDisabledTexture" file="Interface\ChatFrame\UI-ChatIcon-ScrollDown-Disabled">
					<Size>
						<AbsDimension x="24" y="24"/>
					</Size>
					<Anchors>
						<Anchor point="RIGHT"/>
					</Anchors>
				</DisabledTexture>
				<HighlightTexture name="$parentHighlightTexture" file="Interface\Buttons\UI-Common-MouseHilight" alphaMode="ADD">
					<Size>
						<AbsDimension x="24" y="24"/>
					</Size>
					<Anchors>
						<Anchor point="RIGHT"/>
					</Anchors>
				</HighlightTexture>
			</Button>
			<EditBox name="$parentEdit" parentKey="Edit" inherits="InputBoxScriptTemplate" letters="20" autoFocus="false" frameStrata="DIALOG" toplevel="true" hidden="true" virtual="true">>
				<FontString inherits="GameFontHighlightSmall"/>
				<Size>
					<AbsDimension y="10"/>
				</Size>
				<Anchors>
					<Anchor point="RIGHT" relativeTo="$parentButton" relativePoint="LEFT"/>
					<Anchor point="LEFT" relativeTo="$parentMiddle"/>
				</Anchors>
				<Scripts>
					<OnEnterPressed>
						self:GetParent().editFunc(self:GetText())
					</OnEnterPressed>
					<OnEditFocusGained>
						self:GetParent().Text:Hide()
					</OnEditFocusGained>
					<OnEditFocusLost>
						self:GetParent().Text:Show()
						self:SetText("")
					</OnEditFocusLost>
				</Scripts>
			</EditBox>
		</Frames>
		<Scripts>
			<OnHide>
				LuaUtils.DugisDropDown.LibDugi_CloseDropDownMenus();
			</OnHide>
		</Scripts>
	</Frame>
</Ui>
