<!--                                                                  -->
<!--  Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved     -->
<!--  $Id$  -->
<!--                                                                  -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="no" doctype-system="" encoding="utf-8" />

    <xsl:include href="/app/tools/bookpub/templates/global.xsl" />
    <xsl:include href="/app/tools/bookpub/templates/searchNav.xsl" />

    <xsl:template name="pickLayout">
        <form action="/bookpub/user" name="UserImport" id="UserImport" method="post">
            <xsl:choose>
                <xsl:when test="Messages/Message/Code = 'email_found'">
                    <xsl:call-template name="confirmImport" />
                </xsl:when>
                <xsl:when test="Messages/Message/Code = 'import_success'">
                    <xsl:call-template name="userImportSuccess" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:call-template name="userImportForm" />
                </xsl:otherwise>
            </xsl:choose>
        </form>
    </xsl:template>


    <xsl:template name="userImportForm">
        <script src="/production/javascript/bookpub/validateUserImport.js?t={$now}" type="text/javascript"></script>
        <input type="hidden" name="formSubmit" value="1" />
        <input type="hidden" name="c" value="import" />
        <p class="User-edit-subheader">Import users here.<span class="Required-notice"/></p>
        <xsl:call-template name="errorMessageGeneral" />

        <fieldset class="User-edit-fieldset">
            <div class="Form-item Form-item-required Form-item-error" id="formEmailWrapper">
                <label class="Form-label">
                    <span class="Form-label-caption">E-mail</span>
                    <div class="Form-input-wrapper">
                        <input type="text" name="Form_Email" id="Form_Email" class="Input Form-input" maxlength="80" value="{Form/Email}" />
                        <xsl:call-template name="inlineError">
                            <xsl:with-param name="path">Form/Email</xsl:with-param>
                            <xsl:with-param name="displayName">E-mail</xsl:with-param>
                        </xsl:call-template>
                    </div>
                </label>
            </div>
        </fieldset>

        <script>
            if(!document.getElementById('ERRORForm_Email').innerHTML) {
                removeClass(document.getElementById('formEmailWrapper'), 'Form-item-error');
            };
        </script>

        <fieldset class="User-edit-fieldset">
            <div class="Form-item Form-item-required">
                <label class="Form-label">
                    <span class="Form-label-caption">Type</span>
                    <div class="Form-input-wrapper">
                        <xsl:variable name="selectAccessLevelsList">
                            <map>
                                <mapEntry>
                                    <name>Choose...</name>
                                    <value></value>
                                </mapEntry>
                                <xsl:for-each select="Form/AccessLevelList/AccessLevel">
                                    <xsl:variable name="accessLevel" select="AccessLevelID" />
                                    <xsl:if test="/Root/Form/AccessLevelList/AccessLevel[AccessLevelID = /Root/User/AccessLevel]/CanEditList/CanEdit[@id = $accessLevel] = 1">
                                        <mapEntry>
                                            <name><xsl:value-of select="Name"/></name>
                                            <value><xsl:value-of select="AccessLevelID"/></value>
                                        </mapEntry>
                                    </xsl:if>
                                </xsl:for-each>
                            </map>
                        </xsl:variable>
                        <xsl:call-template name="uiDropdown">
                            <xsl:with-param name="items" select="$selectAccessLevelsList"/>
                            <xsl:with-param name="id" select="'Form_UserAccess_AccessLevel'"/>
                            <xsl:with-param name="name" select="'Form_UserAccess_AccessLevel'"/>
                            <xsl:with-param name="active" select="/Root/Form/UserAccess/AccessLevel" />
                            <xsl:with-param name="onChange">checkAccessLevel(this.value)</xsl:with-param>
                        </xsl:call-template>
                        <xsl:call-template name="inlineError">
                            <xsl:with-param name="path">Form/UserAccess/AccessLevel</xsl:with-param>
                            <xsl:with-param name="displayName">Type</xsl:with-param>
                        </xsl:call-template>
                    </div>
                </label>
            </div>
        </fieldset>

        <div id="userImprint">
            <xsl:if test="Form/ImprintList">
                <fieldset class="User-edit-fieldset User-edit-fieldset-dualselect">
                    <div class="Form-item Form-item-required">
                        <label class="Form-label">
                            <span class="Form-label-caption">Imprints</span>
                            <div class="Form-input-wrapper">
                                <xsl:variable name="selectLabelsAvailable">
                                    <map>
                                        <xsl:choose>
                                            <xsl:when test="normalize-space(Form/UserAccess/ImprintID)">
                                                <xsl:for-each select="Form/ImprintList/Imprint">
                                                    <xsl:variable name="imprintTestID" select="ImprintID" />
                                                    <xsl:if test="not(/Root/Form/UserAccess[ImprintID = $imprintTestID])">
                                                        <mapEntry>
                                                            <name><xsl:value-of select="Name"/></name>
                                                            <value><xsl:value-of select="ImprintID"/></value>
                                                        </mapEntry>
                                                    </xsl:if>
                                                </xsl:for-each>
                                            </xsl:when>
                                            <xsl:otherwise>
                                                <xsl:for-each select="Form/ImprintList/Imprint">
                                                    <mapEntry>
                                                        <name><xsl:value-of select="Name"/></name>
                                                        <value><xsl:value-of select="ImprintID"/></value>
                                                    </mapEntry>
                                                </xsl:for-each>
                                            </xsl:otherwise>
                                        </xsl:choose>
                                    </map>
                                </xsl:variable>
                                <xsl:variable name="selectLabelsSelected">
                                    <map>
                                        <xsl:variable name="ImprintID" select="Form//UserAccess/ImprintID" />
                                        <xsl:for-each select="Form/ImprintList/Imprint[ImprintID = $ImprintID]">
                                            <mapEntry>
                                                <name><xsl:value-of select="Name"/></name>
                                                <value><xsl:value-of select="ImprintID"/></value>
                                            </mapEntry>
                                        </xsl:for-each>
                                    </map>
                                </xsl:variable>
                                <xsl:call-template name="uiDualSelect">
                                    <xsl:with-param name="name" select="'Form_UserAccess_ImprintID'"/>
                                    <xsl:with-param name="itemsAvailable" select="$selectLabelsAvailable"/>
                                    <xsl:with-param name="itemsSelected" select="$selectLabelsSelected"/>
                                </xsl:call-template>
                                <xsl:call-template name="inlineError">
                                    <xsl:with-param name="path">Form/UserAccess/ImprintID</xsl:with-param>
                                    <xsl:with-param name="displayName">Imprints</xsl:with-param>
                                </xsl:call-template>
                            </div>
                        </label>
                    </div>
                </fieldset>
            </xsl:if>
        </div>

        <script type="text/javascript">checkAccessLevel(<xsl:value-of select="Form/UserAccess/AccessLevel" />);</script>
        <xsl:call-template name="buttons" />
    </xsl:template>

    <xsl:template name="confirmImport">
        <input type="hidden" name="c" value="import" />
        <input type="hidden" name="formSubmit" value="1" />
        <input type="hidden" name="Form_Import" value="1" />
        <input type="hidden" name="Form_Email" value="{Form/Email}" />
        <input type="hidden" name="Form_UserAccess_AccessLevel" value="{Form/UserAccess/AccessLevel}" />
        <xsl:for-each select="Form/UserAccess/ImprintID">
            <input type="hidden" name="Form_UserAccess_ImprintID" value="{.}" />
        </xsl:for-each>
        <div class="User-import-copy">
            <p>The account <strong><xsl:value-of select="Form/Email" /></strong> already exists in the RoyaltyShare system, but not in <strong><xsl:value-of select="Form/Hostname" /></strong>.</p>
            <p>Would you like to create an account for that user here?</p>
            <p>Clicking "Import" will import <strong><xsl:value-of select="Form/Email" />'s</strong> existing account information including their existing password and <strong><xsl:value-of select="Form/Email" /></strong> will receive an email to notifying them that they have <strong><xsl:value-of select="Form/AccessLevelList/AccessLevel[AccessLevelID = /Root/Form/UserAccess/AccessLevel]/Name" /></strong> access to <strong><xsl:value-of select="Form/Hostname" /></strong>.</p>
        </div>
        <xsl:call-template name="buttons" />
    </xsl:template>

    <xsl:template name="userImportSuccess">
        <div class="User-import-copy">
            <p>User <strong><xsl:value-of select="Form/Email" /></strong> successfully imported!</p>
        </div>
        <fieldset class="Form-fieldset Form-fieldset-buttons">
            <xsl:call-template name="uiButton">
                <xsl:with-param name="content" select="'Back to User List'" />
                <xsl:with-param name="type" select="'default'"/>
                <xsl:with-param name="className" select="'Form-button'"/>
                <xsl:with-param name="onClick">location.href='user'</xsl:with-param>
            </xsl:call-template>
        </fieldset>
    </xsl:template>

    <xsl:template name="submitButton">
        <xsl:call-template name="uiButton">
            <xsl:with-param name="content" select="'Import'"/>
            <xsl:with-param name="name" select="'submit'"/>
            <xsl:with-param name="id" select="'submitButton'"/>
            <xsl:with-param name="type" select="'primary'"/>
            <xsl:with-param name="className" select="'Form-button'"/>
            <xsl:with-param name="elemType" select="'submit'"/>
            <xsl:with-param name="onClick">selectAllMulti('Form_UserAccess_ImprintID');</xsl:with-param>
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="cancelButton">
        <xsl:choose>
            <xsl:when test="$cmd = 'import' and Messages/Message/Code = 'email_found'">
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="content" select="'Back to Import User'" />
                    <xsl:with-param name="type" select="'default'"/>
                    <xsl:with-param name="className" select="'Form-button'"/>
                    <xsl:with-param name="onClick">location.href='user?c=import'</xsl:with-param>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="content" select="'Back to User List'" />
                    <xsl:with-param name="type" select="'default'"/>
                    <xsl:with-param name="className" select="'Form-button'"/>
                    <xsl:with-param name="onClick">location.href='user'</xsl:with-param>
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>


</xsl:stylesheet>
