<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLschema" xmlns:fs="http://www.curs.ru/ns/FormServer" xmlns:xf="http://www.w3.org/2002/xforms">
<head>
  <style type="text/css">
    #details {
      width: 250px;
      height: 170px;
      text-align: center;
      position: absolute;
      margin-top:20px;
    }
    </style>
  <xf:model id="xformId_mainModel">
    <xf:instance id="xformId_mainInstance" xmlns="">
    </xf:instance>

    <xf:bind>
      <!-- <xf:bind nodeset="instance('xformId_mainInstance')/context/@id" required="false()"/> -->
    </xf:bind>
    <xf:instance id="xformId_files">
      <schema xmlns="">
      </schema>
    </xf:instance>
    
    <xf:submission 
      id="xformId_checkFiles" 
      method="post"
      mode = "synchronous"
      instance="xformId_files"
      replace="instance" 
      ref="instance('xformId_mainInstance')"
      action="secured/submit?proc=author.functions.checkFiles.checkDublicates.celesta">
        <xf:action ev:event="xforms-submit-done">
        </xf:action>
    </xf:submission>    
  </xf:model>
</head>
<body>
  <xf:dialog id="details">
    <div class="break">
      <b><xf:output class="clean" ref="instance('xformId_files')/@not_unique"/></b>
    </div>
    <div class="break">
      <b>Сохранить и закрыть?</b>
    </div>
    <div class="break button100">
      <xf:trigger>
        <xf:label>Да</xf:label>
        <xf:action ev:event="DOMActivate" if="(is-valid(instance('xformId_mainInstance'))=true())">
          <xf:load resource="javascript:gwtXFormSave('xformId','1',  Writer.toString(getSubformInstanceDocument('xformId_mainModel', 
                    'xformId_mainInstance')))"/>
        </xf:action>
      </xf:trigger>
    </div>
    <div class="button100">
      <xf:trigger>      
        <xf:label>Нет</xf:label>
         <xf:action ev:event="DOMActivate">
           <xf:hide dialog="details"/>
        </xf:action>
       </xf:trigger>
    </div>
  </xf:dialog>
  <!-- <xf:output value="serialize(instance('xformId_mainInstance'))">  </xf:output>  -->
  <!-- <xf:output value="serialize(instance('xformId_files'))">  </xf:output>  -->
  <div class="group">
    <xf:group ref="instance('xformId_mainInstance')/context[@uploadStarted='1']">
      <xf:output class="break baseInput400 clean" ref="instance('xformId_mainInstance')/context/@message">
      </xf:output>
      <div class="break">
        <xf:upload id="xformId_uploadFile" singleFile="true"  filenamesMapping="XPath(instance(quot(xformId_mainInstance))/context/files1)" needClearFilenames = "true">
        </xf:upload>
      </div>
    </xf:group>  
    <xf:group class="break baseInput400 clean" ref="instance('xformId_mainInstance')/context[@uploadStarted='2']">
      <xf:output ref="instance('xformId_mainInstance')/context/@uploadMessage">
      </xf:output>
    </xf:group>
    
    <xf:group class="break baseInput400 clean" ref="instance('xformId_mainInstance')/context[@uploadStarted='3']">
      <xf:output ref="instance('xformId_mainInstance')/context/@successMessage">
      </xf:output>
    </xf:group>
    <xf:group ref="instance('xformId_mainInstance')/context[@uploadStarted='4']">
      <xf:output class="break baseInput400 clean" ref="instance('xformId_mainInstance')/context/@successMessage">
      </xf:output>
      <div class="break">
        <xf:upload id="xformId_uploadFile" singleFile="true"  filenamesMapping="XPath(instance(quot(xformId_mainInstance))/context/files1)">
        </xf:upload>
      </div>
    </xf:group>
  </div>
  <div class="indentTop20" style="width: 400px;">
    <xf:trigger class="button100 floatRight">
      <xf:label>Закрыть</xf:label>
      <xf:action ev:event="DOMActivate">
        <xf:load resource="javascript:gwtXFormUpdate('xformId','1', null)"/>
      </xf:action>
    </xf:trigger>
    <xf:trigger class="button100 floatRight">
      <xf:label>Сохранить</xf:label>
      <xf:action ev:event="DOMActivate">
        <xf:send submission="xformId_checkFiles"/>                
        <xf:action if="is-valid(instance('xformId_mainInstance'))='true' and instance('xformId_files')/@not_unique='success'">
          <xf:setvalue ref="instance('xformId_mainInstance')/context/@uploadStarted" value="'2'" />
          <xf:load resource="javascript:gwtXFormSave('xformId','1', 
              Writer.toString(getSubformInstanceDocument('xformId_mainModel', 'xformId_mainInstance')))"/>          
        </xf:action>
        <xf:action if="is-valid(instance('xformId_mainInstance'))='true' and instance('xformId_files')/@not_unique='fileNotFound'">
          <xf:setvalue ref="instance('xformId_mainInstance')/context/@uploadStarted" value="'4'" />
          <xf:setvalue ref="instance('xformId_mainInstance')/context/@successMessage" value="'Файл не был выбран'" />
        </xf:action>        
        <xf:action if="is-valid(instance('xformId_mainInstance'))='true' and instance('xformId_files')/@not_unique!='success' and 
          instance('xformId_files')/@not_unique!='fileNotFound'">
          <xf:show dialog="details"/>  
        </xf:action>
        <xf:action if="is-valid(instance('xformId_mainInstance'))='false'">
          <xf:message>Ошибка!</xf:message>
        </xf:action>
      </xf:action>
    </xf:trigger>
  </div>
</body>
</html>