
<%@ page contentType="text/xml; charset=UTF-8" pageEncoding="UTF-8"  %>

<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:xf="http://www.w3.org/2002/xforms"
    xmlns:ev="http://www.w3.org/2001/xml-events"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <head>

        <meta HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"/>
        <meta http-equiv="content-type" content="text/xml; charset=UTF-8"/>
        <link href="styles.css" rel="stylesheet" type="text/css"/>
        <title>Filmek</title>

    <bindings id="xformsBindings" xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">
        <binding id="output-image" extends="chrome://xforms/content/xforms.xml#xformswidget-base">
            <content>
                <html:div>
                    <html:img anonid="content" />
                </html:div>
            </content>
            <implementation implements="nsIXFormsUIWidget">
                <method name="refresh">
                    <body>
                        <!--
                        set the src attribute on the html:img to be the simpleContent
                        of the instance node bound to this control
                        -->
	          var img = document.getAnonymousElementByAttribute(this, "anonid", "content");
	          img.setAttribute("src", this.stringValue);
	          return true;
                    </body>
                </method>
            </implementation>
        </binding>
    </bindings>

    <style type="text/css">
        @namespace xf url("http://www.w3.org/2002/xforms");

        xf|output[mediatype="image/*"] {
            -moz-binding: url('#output-image');
        }



    </style>

    <xf:model schema="film.xsd" id="model-film">

        <xf:instance id="film" src="film.xml"/>
        <xf:instance id="címkék-proto">
            <címkék xmlns="">
                <címke szöveg="" érvényes="false"/>
        </címkék>
    </xf:instance>
    <xf:instance id="címkék" >
        <címkék xmlns="">
            <címke szöveg=""/>
        </címkék>
    </xf:instance>

    <xf:bind id="filmCím" nodeset="cím" required="true()"/>
    <xf:bind id="filmLeírás" nodeset="leírás" />
    <xf:bind id="címke" nodeset="/film/címkék/címke"/>
    <xf:bind id="szereplő" nodeset="/film/szereplők/szereplő"/>
    <xf:bind nodeset="instance('film')/megjelenés" type="xs:date" required="true()"/>
    <xf:bind nodeset="/film/értékelés" type="xs:integer" />
    <xf:bind nodeset="/film/borítóFájl" type="xs:base64Binary" />

    <xf:bind nodeset="instance('címkék-proto')/címke/@szöveg" type="címkeTípus"/>

    <xf:bind nodeset="/film/korhatár/@korhatáros" type="xs:boolean" >
        <xf:bind nodeset=".." required="boolean-from-string(/film/korhatár/@korhatáros)" relevant="boolean-from-string(/film/korhatár/@korhatáros)"/>
    </xf:bind>

    <xf:bind id="acímkeLista" nodeset="instance('címkék')/címke"/>
    <xf:bind id="kiválasztott" nodeset="instance('kiválasztottCímke')/@szöveg"/>
    <xf:bind id="filmLista" nodeset="instance('filmek')/film"/>

    <xf:bind id="újCímkeÉrvényes" nodeset="instance('címkék-proto')/címke/@érvényes" type="xs:boolean" />

    <xf:instance id="kiválasztottCímke">
        <címke szöveg=""/>
    </xf:instance>

    <xf:instance id="filmek">
        <filmek xmlns="">
        </filmek>
    </xf:instance>

    <xf:instance id="szereplők">
        <szereplők xmlns="">
            <szereplő név=""/>
        </szereplők>
    </xf:instance>

    <xf:instance id="évek" xmlns="">
        <évek>
        <év>12</év>
        <év>14</év>
        <év>16</év>
        <év>18</év>
        </évek>
    </xf:instance>



    <xf:submission id="mentés"
                   action="Ment"
                   method="post"
                   encoding="UTF-8"
                   replace="instance">
        <xf:toggle case="case-mentés-folyamatban" ev:event="xforms-submit"/>
        <xf:toggle case="case-mentés-hiba" ev:event="xforms-submit-error"/>
        <xf:toggle case="case-mentés-sikeres" ev:event="xforms-submit-done"/>

    </xf:submission>

    <xf:submission id="címkeLista"
                   action="Cimkek"
                   method="post"
                   encoding="UTF-8"
                   replace="instance"
                   ref="instance('címkék')"
                   instance="címkék"
                   >
    </xf:submission>

    <xf:submission id="filmekCímkeAlapján"
                   action="Filmek"
                   method="post"
                   encoding="UTF-8"
                   replace="instance"
                   ref="instance('kiválasztottCímke')"
                   instance="filmek"
                   >
    </xf:submission>

</xf:model>
<xf:model id="model-műsor">
    <xf:instance id="CsatornaListaKérés">
        <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
            <soap:Body>
                <ChannelList xmlns="http://tv.animare.hu/webservice/" />
            </soap:Body>
        </soap:Envelope>
    </xf:instance>

    <xf:instance id="CsatornaLista" xmlns="">
    </xf:instance>

    <xf:instance id="kiválasztottCsatorna" xmlns="" >
        <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
            <soap:Body>
                <CurrentProgramme xmlns="http://tv.animare.hu/webservice/">
                    <ChannelID></ChannelID>
                </CurrentProgramme>
            </soap:Body>
        </soap:Envelope>
    </xf:instance>

    <xf:instance id="program" xmlns="">
    </xf:instance>

    <xf:submission id="csatornák"
                   method="post"
                   action="http://tv.animare.hu/webservice/tvguide.asmx"
                   ref="instance('CsatornaListaKérés')"
                   replace="instance"
                   instance="CsatornaLista"
                   mediatype="text/xml"
                   >
    </xf:submission>

    <xf:submission id="MostJátszott"
                   method="post"
                   action="http://tv.animare.hu/webservice/tvguide.asmx"
                   ref="instance('kiválasztottCsatorna')"
                   replace="instance"
                   instance="program"
                   mediatype="text/xml"/>



    <xf:action ev:event="xforms-ready">
        <xf:send submission="csatornák"/>
        <xf:message level="modal" >Üdv!</xf:message>
    </xf:action>
</xf:model>

</head>
<body>

    <div id="menü">
        <xf:trigger appearance="minimal">
            <xf:label>új felvitele</xf:label>
            <xf:toggle ev:event="DOMActivate" case="case-újFilm"/>
            <xf:reset ev:event="DOMActivate" />
        </xf:trigger>

        <xf:trigger appearance="minimal">
            <xf:label>címkék</xf:label>
            <xf:send ev:event="DOMActivate" submission="címkeLista"/>
            <xf:toggle ev:event="DOMActivate" case="case-címkék">
            </xf:toggle>
        </xf:trigger>

    </div>
    <div id="fő">
        <xf:switch>
            <!-- Film létrehozása -->
            <xf:case id="case-újFilm">
                <div><xf:output bind="filmCím"/></div>
                <div id="lapfülesMenü">
                    <xf:trigger appearance="minimal">
                        <xf:label>leírás</xf:label>
                        <xf:toggle ev:event="DOMActivate" case="t-leírás">
                        </xf:toggle>
                    </xf:trigger>

                    <xf:trigger appearance="minimal">
                        <xf:label>szereplők</xf:label>
                        <xf:toggle ev:event="DOMActivate" case="t-szereplők">
                        </xf:toggle>
                    </xf:trigger>

                    <xf:trigger appearance="minimal">
                        <xf:label>címkék</xf:label>
                        <xf:toggle ev:event="DOMActivate" case="t-címkék">
                        </xf:toggle>
                    </xf:trigger>

                    <xf:trigger appearance="minimal">
                        <xf:label>borító</xf:label>
                        <xf:toggle ev:event="DOMActivate" case="t-borító">
                        </xf:toggle>
                    </xf:trigger>
                </div>
                <div id="lap">
                    <xf:switch>
                        <xf:case id="t-leírás">
                            <xf:group>
                                <xf:input bind="filmCím" incremental="true">
                                    <xf:label>Cím: </xf:label>
                                    <xf:hint>Add meg a film címét!</xf:hint>
                                </xf:input>

                                <xf:textarea bind="filmLeírás">
                                    <xf:label>Leírás: </xf:label>
                                </xf:textarea>

                                <xf:range start="1" end="5" step="1" ref="/film/értékelés" incremental="true()">
                                    <xf:label>értékelés</xf:label>
                                </xf:range>

                                <xf:input ref="/film/korhatár/@korhatáros" incremental="true()">
                                    <xf:label>korhatáros?</xf:label>
                                </xf:input>

                                <xf:select1 ref="/film/korhatár" appearance="compact">
                                    <xf:label>korhatár</xf:label>
                                    <xf:itemset nodeset="instance('évek')/év">
                                        <xf:label ref="."></xf:label>
                                        <xf:value ref="."></xf:value>
                                    </xf:itemset>
                                </xf:select1>

                                <xf:input  ref="/film/megjelenés">
                                    <xf:label>megjelenés dátuma</xf:label>

                                </xf:input>
                            </xf:group>
                        </xf:case>
                        <xf:case  id="t-szereplők">
                            <xf:repeat id="repeat_id" bind="szereplő">
                                <xf:output ref="@név"/>
                                <xf:trigger appearance="minimal">
                                    <xf:label  class="törlés">X</xf:label>
                                    <xf:action ev:event="DOMActivate">
                                        <xf:delete bind="szereplő" at="index('repeat_id')"/>
                                    </xf:action>
                                </xf:trigger>
                            </xf:repeat>
                            <xf:input  ref="instance('szereplők')/szereplő/@név" >
                                <xf:label>új szereplő: </xf:label>
                                <xf:action ev:event="DOMFocusIn">
                                    <xf:setvalue ref="instance('szereplők')/szereplő/@név"></xf:setvalue>
                                </xf:action>
                            </xf:input>
                            <xf:trigger>
                                <xf:label>hozzáad</xf:label>
                                <xf:action ev:event="DOMActivate">
                                    <xf:insert nodeset="instance('film')/szereplők" at="last()" position="after" origin="instance('szereplők')"/>
                                </xf:action>
                            </xf:trigger>
                        </xf:case>
                        <xf:case  id="t-címkék">
                            <h3>Címkék</h3>
                            <xf:repeat id="repeat-címkék" bind="címke" >
                                <xf:output ref="@szöveg"/>
                                <xf:trigger appearance="minimal">
                                    <xf:label class="törlés">X</xf:label>
                                    <xf:delete ev:event="DOMActivate" bind="címke"  at="index('repeat-címkék')" />
                                </xf:trigger>
                            </xf:repeat>
                            <xf:input ref="instance('címkék-proto')/címke/@szöveg">
                                <xf:label>új címke: </xf:label>
                                <xf:setvalue ev:event="xforms-invalid" ref="instance('címkék-proto')/címke/@érvényes" value="'false'"/>
                                <xf:setvalue ev:event="xforms-valid" ref="instance('címkék-proto')/címke/@érvényes" value="'true'"/>
                                <%--<xf:action ev:event="DOMFocusIn">
                                    <xf:setvalue ref="instance('címkék-proto')/címke/@szöveg"></xf:setvalue>
                                </xf:action>--%>
                            </xf:input>
                            <xf:trigger>
                                <xf:label>hozzáad</xf:label>
                                <xf:action ev:event="DOMActivate" if="boolean-from-string(instance('címkék-proto')/címke/@érvényes)">
                                    <xf:insert  nodeset="instance('film')/címkék" at="last()" position="after" origin="instance('címkék-proto')"/>
                                </xf:action>
                            </xf:trigger>
                        </xf:case>
                        <xf:case  id="t-borító">

                            <xf:output ref="/film/borító" mediatype="image/jpg"/>

                            <xf:upload ref="/film/borítóFájl" mediatype="image/jpg">
                                <xf:label>Borító</xf:label>

                            </xf:upload>

                        </xf:case>
                    </xf:switch>
                    <xf:submit submission="mentés">
                        <label>mentés</label>
                    </xf:submit>
                </div>

                <xf:switch>
                    <xf:case id="ready"/>
                    <xf:case id="case-mentés-folyamatban">
                        <p>Várakozás a szerver válaszára</p>
                    </xf:case>
                    <xf:case id="case-mentés-hiba" >
                        <p>Hiba a mentés során</p>
                    </xf:case>
                    <xf:case id="case-mentés-sikeres">
                        <p>A mentés sikerült</p>
                    </xf:case>
                </xf:switch>
            </xf:case>
            <!-- címke alapján listázás -->
            <xf:case id="case-címkék" >
                címkék listája
                <xf:repeat  id="repid" bind="acímkeLista">
                    <xf:trigger appearance="minimal">
                        <xf:output ref="@szöveg"/>
                        <xf:hint>A címkével megjelölt filmek megjelenítése</xf:hint>
                        <xf:setvalue ev:event="DOMActivate" ref="instance('kiválasztottCímke')/@szöveg"  value="instance('címkék')/címke[index('repid')]/@szöveg"/>
                        <xf:send ev:event="DOMActivate" submission="filmekCímkeAlapján"/>
                    </xf:trigger>
                </xf:repeat>
                <table border="1">
                    <xf:repeat id="repid" bind="filmLista">
                        <tr valign="top">
                            <td><xf:output ref="borító" mediatype="image/*"/></td>
                        <td>
                        <xf:output ref="cím">
                            <xf:label>cím: </xf:label>
                        </xf:output><br/>
                        <xf:output ref="leírás">
                            <xf:label>tartalom: </xf:label>
                        </xf:output><br/>
                        <xf:output ref="megjelenés">
                            <xf:label>megjelenés dátuma:</xf:label>
                        </xf:output>
                        <br/>
                        <xf:output value="if(korhatár/@korhatáros = 'true', korhatár, '-')">
                            <xf:label>korhatár</xf:label>
                        </xf:output>
                        <br/>
                        <b>szereplők:</b>
                        <xf:repeat nodeset="szereplők/szereplő">
                            <xf:output ref="@név"></xf:output>
                        </xf:repeat>
                        <br/>

                        <b>címkék:</b>
                        <xf:repeat nodeset="címkék/címke">
                            <xf:output ref="@szöveg"></xf:output>
                        </xf:repeat>
                        <br/>
                        <xf:trigger>
                            <xf:label>módosít</xf:label>
                            <xf:insert ev:event="DOMActivate" nodeset="instance('film')" at="1" position="before" origin="instance('filmek')/film['repid']"/>
                            <xf:toggle ev:event="DOMActivate" case="case-újFilm"/>
                        </xf:trigger>
                        </td></tr>
                    </xf:repeat>
                </table>
            </xf:case>
        </xf:switch>
    </div>
<br/><br/>
<xf:select1 model="model-műsor" ref="instance('kiválasztottCsatorna')/soap:Body/*/*" appearance="compact">
    <xf:itemset model="model-műsor" nodeset="instance('CsatornaLista')//ChannelTable">
        <xf:label ref="Title"/>
        <xf:value ref="ChannelID"/>
    </xf:itemset>
    <xf:send ev:event="xforms-value-changed" submission="MostJátszott" />
</xf:select1>
<br/>





<xf:output model="model-műsor" value="instance('program')//Title">
    <xf:label>Műsor címe:</xf:label>
</xf:output>
    <br/>
<xf:output model="model-műsor" value="instance('program')//SubTitle">
    <xf:label>Alcím: </xf:label>
</xf:output>
    <br/>
<xf:output model="model-műsor" value="instance('program')//Category">
    <xf:label>Kategória: </xf:label>
</xf:output><br/>


</body>
</html>
