<?xml version="1.0" encoding="UTF-8"?>
<!--
****************************************************************************

     File Name:   abGadgets.box

****************************************************************************
   C O P Y R I G H T   A N D   C O N F I D E N T I A L I T Y   N O T I C E
****************************************************************************

//      Copyright (c) 2006 AOL LLC.  All rights reserved.
//      This software contains valuable confidential and proprietary
//      information of AOL LLC. and is subject to applicable
//      licensing agreements.  Unauthorized reproduction, transmission or
//      distribution of this file and its contents is a violation of
//      applicable laws.
//
//            A O L   C O N F I D E N T I A L

****************************************************************************
-->



<!DOCTYPE window [
  <!ENTITY % ab SYSTEM "box://imApp/resources/abStrings.dtd">
  <!ENTITY % plaxoStrings SYSTEM "box://imApp/resources/plaxoStrings.dtd">
  %ab;
  %plaxoStrings;
]>

<?import href="box://aimToolkit/content/gadgets.box"?>
<?import href="box://aimToolkit/theme/toolkit.box"?>
<?import href="box://imApp/content/ab/abStyles.box"?>

<library xmlns="http://www.aol.com/boxely/resource.xsd"
         xmlns:box="http://www.aol.com/boxely/box.xsd"
         xmlns:s="http://www.aol.com/boxely/style.xsd"
         xmlns:on="http://www.aol.com/boxely/reaction.xsd">

    <gadget id="addressBookList" language="jscript" script="box://imApp/content/ab/addressBookList.js">
        <attributes focusMode="defer" treeIndent="0" listenerList="" accRole="outline"/>
        <script language="jscript" href="box://addressBookApp/content/ab.js"/>
        <script language="jscript" href="box://imApp/content/ab/addressCardListener.js"/>
        <parts>
            <box:vbox id="quickfind" style="blTopCap">
                <box:aolSearchInput hideCriteriaMenu="true" id="searchField" maxLength="30" hintText="&abList.searchContacts;"
                     hideMenu="true" s:flex="1" tooltip="&abList.searchContacts_tooltip;" accName="&abTab.filterContacts;" icon="#bmp.bl.searchField.icon">
                    <box:reaction event="attributeSet" attributeName="value" action="gadget:onFilterStringChanged();"/>
                </box:aolSearchInput>
            </box:vbox>
            <box:aolTree id="listBox" s:flex="1" s:fill="#FFFFFF" selectMode="multiple" s:overflow="scroll" alternateRowStyles="true"
                s:maxWidth="auto" rightMouseMode="select" enableTransitions="false" accName="&abList.accName.ContactList;" >
                <box:reaction event="select" action="gadget:itemExplicitlySelected();" />
                <box:columns>
                    <box:aolColumn s:flex="1"/>
                </box:columns>
                <box:rows>
                    <box:content/>
                </box:rows>
            </box:aolTree>
        </parts>
        <behavior>
            <reaction event="boxCreated" action="gadget:boxCreated();"/>
            <reaction event="doubleClick" action="gadget:onDoubleClick();"/>
            <reaction event="click" action="gadget:onSingleClick();"/>
            <reaction event="keyUp" keyCode="SPACE" ctrl="false" action="gadget:onOpenIM(false);"/>
            <reaction event="keyPress" keyCode="ENTER" ctrl="false" action="gadget:onOpenIM(false);"/>
            <reaction event="keyUp" keyCode="APPS" action="gadget:openContext();"/>
            <reaction event="keyUp" keyCode="F10" ctrl="false" shift="true" alt="false" action="gadget:openContext();"/>
            <reaction event="keyPress" keyCode="&abList.selectAll_accesskey;" ctrl="true" shift="false" alt="false" action="gadget:itemExplicitlySelected();" />
        </behavior>
    </gadget>

    <gadget id="addressBookAccountList" type="control" language="jscript" script="box://imApp/content/ab/addressBookAccountList.js">
        <attributes accountLoaded="false" focusMode="defer" selectableMode="block" style="aimSuperGroupStyle"
                toggled="true" toggleMode="two" engaged="true" showFocus="false"
                blockEvents="false" rowStroke="false" accRole="outlineItem" accNameAt="aolTreeCell:label"/>    
        <script language="jscript" href="box://addressBookApp/content/ab.js"/>
        <parts>
            <box:aolTwistyBox id="twistyBox" inherits="label=identity,expanded=toggled,fakeFocus=focused" ornament="false" showFocus="true" s:fill="none" s:padding="6 0 6 6">
            </box:aolTwistyBox>
            <box:rows id="rows">
                <box:content/>
            </box:rows>
        </parts>
        <behavior inherits="box://aimToolkit/content/behaviors.box#commandableGroupRow">
           <reaction event="attributeSet" attributeName="identity"/>
           <reaction event="dragStart" action="gadget:onDragStart();"/>
           <reaction event="dragOver" action="gadget:onDragOver();"/>
           <reaction event="dragDrop" action="gadget:onDragDrop();"/>
        </behavior>
    </gadget>
   
    <gadget id="addressBookGroup" type="control">
        <attributes style="aolSubGroupStyle" focusMode="defer" selectableMode="item" toggled="true" 
                engaged="true" toggleMode="two" blockEvents="false" accRole="outlineItem" accNameAt="aolTreeCell:label"
                bottomDiv="true"/>
        <parts>
            <box:aolTwistyBox id="twistyBox" inherits="label=name,focused,expanded=toggled,dragMode" ornament="false"/>
            <box:rows id="rows">
                <box:content/>
            </box:rows>
        </parts>
        <behavior inherits="box://aimToolkit/content/behaviors.box#commandableGroupRow"/>
    </gadget>
    
    <gadget id="addressBookContact" type="control" inherits="#aolTreeRow">
        <attributes dragMode="data" focusMode="defer" selectableMode="item" blockEvents="true" engaged="true" rowStroke="false" accRole="outlineItem"/>
        <parts>
            <box:hbox s:vAlign="center" s:maxWidth="auto" s:overflow="hidden" s:flex="1">
                <box:aolLabel id="text" plainText="true" style="contactLabelPart" inherits="value=friendlyName" s:crop="right" s:textHighlight="url(#brush.aim.control.highlight)" />
                <box:image id="image" inherits="src=subscribedIcon" s:marginLeft="2" s:width="16" s:height="12" tooltip="&plaxoStrings.member.tooltip;" hoverHoldDelay="2000" blockEvents="false"/>
            </box:hbox>
        </parts>
    </gadget>

    <gadget id="addressBookContactThumbnail" type="control" inherits="box://aimToolkit/content/gadgets.box#aolTreeRow">
        <attributes dragMode="data" textButtonFocusMode="ignore" focusMode="defer" selectableMode="item" engaged="true" blockEvents="false" accRole="outlineItem"/>
        <parts>
            <box:hbox s:flex="1" s:width="80" s:paddingLeft="9">
                <box:vbox s:flex="1" inherits="dragMode">
                    <box:hbox s:vAlign="center" s:flex="1" s:maxWidth="auto" s:overflow="hidden" inherits="dragMode" s:marginLeft="-8">
                        <box:aolLabel plainText="true" style="contactLabelPart" inherits="value=friendlyName,dragMode,selected" s:fontBold="true" s:textHighlight="url(#brush.aim.control.highlight)"/>
                        <box:image id="image" inherits="src=subscribedIcon,dragMode" s:marginLeft="2" s:width="16" s:height="12" tooltip="&plaxoStrings.member.tooltip;" hoverHoldDelay="2000"/>
                    </box:hbox>
                    <box:hbox s:vAlign="center" s:flex="1" s:maxWidth="auto" s:overflow="hidden" inherits="dragMode">
                        <box:vbox s:width="auto">
                            <box:hbox s:hAlign="end" s:marginRight="3" s:marginLeft="8">
                                <box:aolLabel inherits="dragMode,selected" value="&abList.thumbnail.im;" style="thumbnail_label" s:marginLeft="-14"/>
                            </box:hbox>
                            <box:hbox s:hAlign="end" s:marginRight="3" s:marginLeft="8">
                                <box:aolLabel value="&abList.thumbnail.email;" style="thumbnail_label" s:marginLeft="-14" inherits="dragMode,selected" />
                            </box:hbox>
                            <box:hbox s:hAlign="end" s:marginRight="3" s:marginLeft="8">
                                <box:aolLabel value="&abList.thumbnail.phone;"  style="thumbnail_label" s:marginLeft="-14" inherits="dragMode,selected" />
                            </box:hbox>
                        </box:vbox>
                        <box:vbox s:flex="1" inherits="dragMode">
                            <box:hbox s:vAlign="center" s:flex="1" s:maxWidth="auto" s:overflow="hidden" inherits="dragMode">
                                <box:aolTextButton id="screenName" aCardField="screenname" inherits="label=screenName,accName=snAccName,dragMode,focusMode=textButtonFocusMode,selected" style="thumbnail_content" plainText="true"/>
                            </box:hbox>
                            <box:hbox s:vAlign="center" s:flex="1" s:maxWidth="auto" s:overflow="hidden" inherits="dragMode" >
                                <box:aolTextButton id="email" aCardField="mail" inherits="label=email,accName=emailAccName,dragMode,focusMode=textButtonFocusMode,selected" style="thumbnail_content" plainText="true"/>
                            </box:hbox>
                            <box:hbox s:vAlign="center" s:flex="1" s:maxWidth="auto" s:overflow="hidden" inherits="dragMode" >
                                <box:aolTextButton id="phone" aCardField="phone" inherits="label=phone,accName=phoneAccName,dragMode,focusMode=textButtonFocusMode,selected" style="thumbnail_content" plainText="true"/>
                            </box:hbox>
                        </box:vbox>
                    </box:hbox>
                    <box:hbox s:vAlign="center" inherits="dragMode" s:paddingLeft="28">
                        <box:aolTextButton label="&abList.thumbnail.viewMoreInfo;" style="thumbnail_content2" inherits="dragMode,focusMode=textButtonFocusMode,selected" plainText="true"/>
                    </box:hbox>
                    <box:spacer s:height="5"/>
                </box:vbox>
            </box:hbox>
        </parts>
    </gadget>

    <gadget id="abContactContextMenuItems" type="box">
        <parts>           
     	    <box:aolMenuItem label="&abList.abContactContextMenu.IM;" accesskey="&abList.abContactContextMenu.IM_accesskey;" on:command="shell.ab.list.onOpenIM();">
			    <box:binding objectSource="ab" targetProperty="disabled" path="contactSelected" method="twoWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not" />
		    </box:aolMenuItem>
		    <box:aolMenu id="abContextDialMenu" label="&abList.abContactContextMenu.Dial;" accesskey="&abList.abContactContextMenu.Dial_accesskey;" topLevelMenu="false">
            <box:binding objectSource="bl" targetProperty="disabled" path="hasOutgoingCalls" method="oneWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not" />
            <box:menuPopup id="abContextDialMenuPopup" on:popping="shell.ab.list.onPoppingDialMenu();" style="popupWithoutTransition">
                <box:aolMenuItem id="dialMenuEnterPhoneItem" label="&abList.abContactContextMenu.EnterNumber;" on:command="onEnterPhoneNumber();"/>
            </box:menuPopup>
        </box:aolMenu>
		    <box:aolMenuItem label="&abList.abContactContextMenu.Talk;" accesskey="&abList.abContactContextMenu.Talk_accesskey;" on:command="shell.ab.list.onTalk();">
			    <box:binding objectSource="ab" targetProperty="disabled" path="contactSelected" method="twoWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not" />
			    <box:binding objectSource="bl.objModel" targetProperty="collapsed" path="hasTalk" method="oneWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not"/>
		    </box:aolMenuItem>
		    <box:aolMenuItem label="&abList.abContactContextMenu.Video;" accesskey="&abList.abContactContextMenu.Video_accesskey;" on:command="shell.ab.list.onVideo();">
			    <box:binding objectSource="ab" targetProperty="disabled" path="contactSelected" method="twoWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not" />
			    <box:binding objectSource="bl.objModel" targetProperty="collapsed" path="hasVideo" method="oneWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not"/>
		    </box:aolMenuItem>
		    <box:aolMenuSeparator/>
		    <box:aolMenuItem label="&abList.abContactContextMenu.AddContact;" accesskey="&abList.abContactContextMenu.AddContact_accesskey;" on:command="shell.ab.list.onAddNewContact();"/>
		    <box:aolMenuItem label="&abList.abContactContextMenu.AddCategory;" accesskey="&abList.abContactContextMenu.AddCategory_accesskey;" on:command="shell.ab.list.onAddNewGroup();"/>
		    <box:aolMenuSeparator/>
		    <box:aolMenuItem label="&abList.abContactContextMenu.ViewSelection;" accesskey="&abList.abContactContextMenu.ViewSelection_accesskey;" on:command="shell.ab.list.onSelectionViewEdit(&quot;false&quot;);">
			    <box:binding objectSource="ab" targetProperty="disabled" path="selectedContact" sourceTransformer="shell.ab.disableIfNoContactOrNonDefaultCategory();"/>
		    </box:aolMenuItem>
		    <box:aolMenuItem label="&abList.abContactContextMenu.EditSelection;" accesskey="&abList.abContactContextMenu.EditSelection_accesskey;" on:command="shell.ab.list.onSelectionViewEdit(&quot;true&quot;);">
			    <box:binding objectSource="ab" targetProperty="disabled" path="selectedContact" sourceTransformer="shell.ab.disableIfNoContactOrNonDefaultCategory();"/>
		    </box:aolMenuItem>
		    <box:aolMenuItem label="&abList.abContactContextMenu.DeleteSelection;" accesskey="&abList.abContactContextMenu.DeleteSelection_accesskey;" on:command="shell.ab.list.onSelectionDel();">
			    <box:binding objectSource="ab" targetProperty="disabled" path="selectedContact" sourceTransformer="shell.ab.disableIfNoContactOrNonDefaultCategory();"/>
		    </box:aolMenuItem>
        </parts>
    </gadget>

    		       
    <gadget id="abGroupContextMenuItems" type="box">
        <parts>  
            <box:aolMenuItem label="&abList.abGroupContextMenu.AddContact;" accesskey="&abList.abGroupContextMenu.AddContact_accesskey;" on:command="shell.ab.list.onAddNewContact();"/>
            <box:aolMenuSeparator/>
            <box:aolMenuItem label="&abList.abGroupContextMenu.AddCategory;" accesskey="&abList.abGroupContextMenu.AddCategory_accesskey;" on:command="shell.ab.list.onAddNewGroup();"/>
            <box:aolMenuItem label="&abList.abGroupContextMenu.EditCategory;" accesskey="&abList.abGroupContextMenu.EditCategory_accesskey;" on:command="shell.ab.list.onSelectionViewEdit();">
			    <box:binding objectSource="ab" targetProperty="disabled" path="categorySelected" method="twoWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not" />
		    </box:aolMenuItem>
            <box:aolMenuItem label="&abList.abGroupContextMenu.DeleteCategory;" accesskey="&abList.abGroupContextMenu.DeleteCategory_accesskey;" on:command="shell.ab.list.onSelectionDel();">
			    <box:binding objectSource="ab" targetProperty="disabled" path="categorySelected" method="twoWay" sourceTransformer="toolkit:not" targetTransformer="toolkit:not" />
		    </box:aolMenuItem>    
        </parts>
    </gadget>

</library>