<% #
 # This file is part of the Anotatornia suite.
 # 
 # Copyright © 2007, 2008, 2009, 2010 by Instytut Podstaw Informatyki
 # Polskiej Akademii Nauk (IPI PAN; Institute of Computer Science, Polish
 # Academy of Sciences; cf. www.ipipan.waw.pl).  All rights reserved.
 # 
 # This file may be distributed and/or modified under the terms of the
 # GNU General Public License version 3 as published by the Free Software
 # Foundation and appearing in the file COPYING included in the packaging
 # of this file.  (See http://www.gnu.org/licenses/translations.html for
 # unofficial translations.)
 # 
 # A commercial license is available from IPI PAN (contact
 # Michal.Ciesiolka.waw.pl or ipi.waw.pl for more
 # information).  Licensees holding a valid commercial license from IPI
 # PAN may use this file in accordance with that license.
 # 
 # This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
 # THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 # PURPOSE.
%>

<% token = token_fra[0]
akat_hash = token_fra[1]
tokid = token.token_id 
lewa = token_fra[2] # dla wywołania po lewej stronie ma być not nil a~po prawej nil
akat_e = akat_edytowalny?( :syntactic )
## logger.info "@@@@ akat_e: #{akat_e}"
-%>


<% if lewa : akat = @akapit_transzy # zainicjowane np. przez akat_hash w kontrolerze
else akat = @akapit_transzy.bliźniaczy
end
   -%>



<% fraza_gdy_reszta = akat.reszta_frazy?(tokid)
fra = akat.pocz_frazy?(tokid)
# jeśli któraś z tych metod dopasuje tokid, to zwraca odpowiednią
# frazę_anot
if fraza_gdy_reszta -%>

<!--
renderujemy miejsce na multirowspan, 
czyli brak komórki
-->

<% elsif fra -%>
<!-- renderujemy 
     typ frazy i głowy lub pola wyboru tychże
w multirowie
-->

<td class="<%=
        if @weryfikacja and @weryfikacja[:frazy] and
        @weryfikacja[:frazy].include?(tokid)
           'phrase-cell-alert'
else
	   case akat.indeks_frazy(tokid) % 2
	   when 0: 'phrase-cell-odd'
	   when 1: 'phrase-cell-even'
	   end
end
%>" id="token_fra_<%=if lewa : tokid; else -tokid end %>" rowspan="<%=fra.dlugosc %>">

  <% ft = fra.fraza_typ
  if ft and (not @pokaz_wybor_typu) -%>
  <%= ft.typ_symbol -%> 

  <% if akat_e and lewa -%>
  <%= link_to_remote 'zmień',
      :url => { :action => :fraza_ukryj_typ , 
	:id => fra, :poziom => :syntactic, :akat => @akapit_transzy, :escape => false },
       :update => "token_fra_#{akat_hash[:akapit_transzy_id]}_#{tokid}"
  -%>
  <% end -%>
 <br>
 
 <% if ft.typ_symbol == "VP" -%>
 <%= if fra.vp_typ == 1: "pos,"
		    elsif  fra.vp_typ == 0: "neg,"; end -%>
 <% end -%>
 
 <% if ft.raczej_jednoglowa? and 
      fra.token_id_synhead==fra.token_id_semhead and
      not @pokaz_dwie_glowy
	     %>
 <% if fra.token_id_semhead and (not @pokaz_wybor_semh) 
      fratsemh = fra.token_semhead
      if fratsemh
-%>
 head: <%= fratsemh.lemat( akat_hash ) -%>
 <% end # of if fratsemh
-%>
 <% if akat_e  and lewa and
	fra.semheads( akat_hash ).size >1 
 -%> 
 <%=    link_to_remote  'zmień', :url => {
	    :action => :fraza_glowy_ukryj, :id => fra,
	  :poziom => :syntactic, :akat => @akapit_transzy, :escape => false } -%>
 <% end # of if edytowalny
-%>

 <% if akat_e and lewa and
    (not ft.jednoglowa?) and 
    ( fra.semheads( akat_hash ) | fra.synheads( akat_hash ) ).size >1
	 -%> 
 <%=    link_to_remote  '2gł.', :url => {
	    :action => :fraza_dwie_glowy, :id => fra,
	    :poziom => :syntactic, :akat => @akapit_transzy, :escape => false } -%>
<% end #of fra.token_id_semhead and (not @pokaz_wybor_semh) 
-%>

<% elsif ( not fra.token_id_semhead ) and
   (not @pokaz_wybor_semh) and
   ft.bezglowa?
-%>
(brak head)
 <% if akat_e and lewa and
	fra.semheads( akat_hash ).size >1 
 -%> 
 <%=    link_to_remote  'zmień', :url => {
	    :action => :fraza_glowy_ukryj, :id => fra,
	      :akat => @akapit_transzy,
	    :poziom => :syntactic, :escape => false } -%>
 <% end -%>

 <% else  # fraza nie ma głowy a musi mieć lub chcemy pokazać wybór głowy
      -%>
 <%= render :partial => 'fra_wyb_glowy',
      :object => [fra, :obie] -%>
 
 <% end -%>
		   
 <% else # fraza dwugłowa
      %>
 <% if fra.token_id_synhead and (not @pokaz_wybor_synh) 
fratsynh = fra.token_synhead
if fratsynh
-%>
 synh.: <%= fratsynh.lemat( akat_hash ) -%>
<% end # of if fratsynh
-%>
 <% if akat_e and lewa and 
 fra.synheads( akat_hash ).size >1 
-%> 
 <%=    link_to_remote  'zmień', :url => {
	    :action => :fraza_synh_ukryj, :id => fra,
  :akat=> @akapit_transzy,
  :poziom => :syntactic, :escape => false } -%>
 <% end -%>

<% elsif ( not @pokaz_wybor_synh ) and
	( not fra.token_id_synhead ) and 
	ft.moze_bez_glowy?( :synh ) 
       %>
 (brak synh.)  
<% if akat_e and lewa and 
   fra.synheads( akat_hash ).size > 0 
-%> 
<%=    link_to_remote  'zmień', :url => {
	    :action => :fraza_synh_ukryj, :id => fra,
  :akat => @akapit_transzy,
  :poziom => :syntactic, :escape => false} -%>
 <% end -%>

 <% else  # fraza nie ma synh lub chcemy ją ukryć żeby zmienić wybór
      -%>
 <%= render :partial => 'fra_wyb_glowy',
      :object => [fra, :synh] -%>
 <% end -%>
 
 <br>

 <% if fra.token_id_semhead and (not @pokaz_wybor_semh) 
      fratsemh = fra.token_semhead
      if fratsemh
-%>
 semh.: <%= fratsemh.lemat( akat_hash ) -%>
	  <% end # of if fratsemh
      -%>
 <% if akat_e and lewa and
	fra.semheads(akat_hash).size >1  -%> 
 <%=    link_to_remote  'zmień', :url => {
		:action => :fraza_semh_ukryj, :id => fra,
    :akat => @akapit_transzy,
    :poziom => :syntactic, :escape => false} -%>
 <% end -%>

<% elsif ( not @pokaz_wybor_semh ) and
	( not fra.token_id_semhead ) and 
	ft.moze_bez_glowy?( :semh ) 
       %>
 (brak semh.)  
<% if akat_e and lewa and 
   fra.semheads(akat_hash).size > 0 
-%> 
<%=    link_to_remote  'zmień', :url => {
	    :action => :fraza_semh_ukryj, :id => fra,
    :akat => @akapit_transzy,
    :poziom => :syntactic, :escape => false} -%>
 <% end -%>


 <% else  # fraza nie ma głowy sem. lub chcemy ją ukryć żeby zmienić wybór
      -%>
 <%= render :partial => 'fra_wyb_glowy',
      :object => [fra, :semh] -%>
 <% end # of fraza nie ma głowy sem./ma
-%>
 
 <% end # of jednogłowa/dwugłowa
      -%>
 
 <% if ft.typ_symbol == "sie" and DlaEli.x -%>
 <% if fra.sie_typ and (not @pokaz_wybor_sie_typu) -%>
 <!-- #{&#0132;się&#0148;} --> 
 <br>
 <%= FrazaAnot::TYP_SIE[fra.sie_typ][0] %>
 <% if akat_e and lewa  -%>
 <%=    link_to_remote  'zmień', :url => {
		  :action => :fraza_sie_typ_ukryj, :id => fra,
 :akat => @akapit_transzy,
      :poziom => :syntactic, :escape => false} -%>
 <% end -%>
 <% else  # #sie_typ is nil
      -%>
 <%= render :partial => 'fra_sie_typ', 
      :object => fra %>
 
 <% end -%>
        <% end # of #{typ_symbol == sie}
      -%>
 
 <% else # fraza dotąd nie ma
# ustalonego typu lub chcemy go być może zmienić
			-%>
 
 <fieldset>
   <% remote_form_for :fraza_typ, @fraza_typ, 
      :url =>  {:action => :fraza_wybor_typu, :id => fra,
    :akat => @akapit_transzy,
    :poziom => :syntactic, :escape => false} do |form| %>
   
   <%= 
	 form.select :fraza_typ_id,
	 FrazaTyp.wybor,
{:prompt => "wyb. typ" },
      {:onchange => ajax_request("/#{annotation_controller}/fraza_wybor_typu/" +
				 "#{fra.fraza_anot_id}?poziom=syntactic") }
      -%>	

    <%= submit_tag "&#10004;" , :class => "submit" -%>


    <%=    link_to_remote  '&#10007;', 
      :url => {
	      :action =>:fraza_wybor_anulowany, :id => fra, :akat => @akapit_transzy }
    -%>
    
<% end #of form 
   -%>
	      </fieldset>

<% end # of if ft
   -%>


<% if akat_e and lewa  -%>
<%= # button, bo musimy zrenderować całą stonę, żeby odbudować
    # brakujące komórki
    button_to(  'wyczyść frazę', {
		  :action =>:fraza_wyczysc,
		  :id => fra.fraza_anot_id,
:akat => @akapit_transzy,
                  :poziom => :syntactic },
		{# :confirm => "Czy rzeczywiście chcesz wyczyścić tę frazę?",
		  :method => :post})
  -%>
<% end -%>

  
</td>
	      <% else # nie początek ani środek frazy
		 -%>
<td class="<%=
        if @weryfikacja and @weryfikacja[:frazy] and
        @weryfikacja[:frazy].include?(tokid)
           'alert-bg'
	   end %>" id="token_fra_<%=if lewa : tokid; else -tokid end %>">

 <% if akat_e and lewa and
(not token.interp?(akat_hash))
-%>  
  <div class="chwytalny" id=<%="chwyc_#{if lewa : tokid; else -tokid end}"%>>
    chwyć
  </div>
<%= draggable_element( "chwyc_#{if lewa : tokid; else -tokid end}",
		       :revert => true) -%>
<div id=<%="upusc_#{if lewa : tokid; else -tokid end}"%>>
  upuść
</div>
<%= drop_receiving_element(
			   "upusc_#{tokid}",
			   :url =>
			   {:action => 'fraza_upuszczono', :id => tokid,  :akat => @akapit_transzy },
			   :accept => "chwytalny",
			   :droponempty=> "true",
			   :hoverclass => 'hover',
			   :loading => visual_effect(:fade),
			   :with => "'upusc=' + encodeURIComponent(element.id.split('_').last())" ,
			   :complete => visual_effect(:highlight, "token_fra_#{if lewa : tokid; else -tokid end}")
			   )
-%>
<% end # of #{if akat_e\<dytowalny(:syntactic)>}.
-%>


</td>
<% end # of #{if wefrazie?} etc.
		   -%>


<%
### Local Variables: 
### mode: mmm
### End:
-%>
