OSDN Git Service

fix sth.
[rec10/rec10-git.git] / Rec10WEB / trunk / src / rswi.htm
1
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3 <html lang="ja">
4     <head>
5         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6         <title>Rec10 Simple Web Interface ver.0.8.0</title>
7         <!-- dojo.jsの読み込み -->
8         <script src="./dojo/dojo/dojo.js" djConfig="parseOnLoad:true">
9         </script>
10         <!-- テーマの読み込み -->
11         <style type="text/css">
12             @import "./dojo/dojo/resources/dojo.css";
13             @import "./dojo/dijit/themes/tundra/tundra.css";
14         </style>
15         <script type="text/javascript">
16             dojo.require("dojo.parser");
17             // ※ ここで、使用するウィジェットの読み込みを行う
18             dojo.require("dijit.form.Button");
19             dojo.require("dijit.form.FilteringSelect");
20             dojo.require("dijit.form.ValidationTextBox");
21             dojo.require("dijit.form.NumberSpinner");
22             dojo.require("dijit.form.CheckBox");
23             dojo.require("dijit.form.Form");
24             //dojo.require("dojox.date");
25             function setType(value){
26                 if (value=="rec"){
27                     //alert("Selected "+value);
28                     dijit.byId("deltaday").setDisabled(true);
29                     dijit.byId("deltahour").setDisabled(true);
30                     setDayopt(false);
31                 }else if (value=="key"){
32                     //alert("Selected "+value);
33                     dijit.byId("deltaday").setDisabled(true);
34                     dijit.byId("deltahour").setDisabled(false);
35                     setDayopt(false);
36                 }else if (value=="keyday"){
37                     dijit.byId("deltahour").setDisabled(false);
38                     setDayopt(true);
39                 }else if (value=="keyevery"){
40                     //alert("Selected "+value);
41                     dijit.byId("deltaday").setDisabled(false);
42                     dijit.byId("deltahour").setDisabled(false);
43                     setDayopt(false);
44                 }else if (value=="res"){
45                     //alert("Selected "+value);
46                     dijit.byId("deltaday").setDisabled(true);
47                     dijit.byId("deltahour").setDisabled(true);
48                     setDayopt(false);
49                 }else if (value=="ts2avi"){
50                     dijit.byId("deltaday").setDisabled(true);
51                     dijit.byId("deltahour").setDisabled(true);
52                     setDayopt(false);
53                 }
54
55             }
56             function setDayopt(bool){
57                 dijit.byId("day_Sun").setDisabled(!bool);
58                 dijit.byId("day_Mon").setDisabled(!bool);
59                 dijit.byId("day_Tue").setDisabled(!bool);
60                 dijit.byId("day_Wed").setDisabled(!bool);
61                 dijit.byId("day_Thu").setDisabled(!bool);
62                 dijit.byId("day_Fri").setDisabled(!bool);
63                 dijit.byId("day_Sat").setDisabled(!bool);
64             }
65             function changeSize(){
66                 var str=dijit.byId("opts").value;
67                 var s=dijit.byId("size").value;
68                 str=str.replace("S","");
69                 str=str.replace("H","");
70                 str=str.replace("G","");
71                 str=str.replace("F","");
72                 str=str.replace("L","");
73                 str=str+s;
74                 //alert("Selected "+str);
75                 dijit.byId("opts").setValue(str);
76
77             }
78             function setOpts(obj){
79                 if (obj.checked){
80                     var str=dijit.byId("opts").value;
81                     str=str+obj.value;
82                 }else{
83                     var str=dijit.byId("opts").value;
84                     str=str.replace(obj.value,"");
85                 }
86                 dijit.byId("opts").setValue(str);
87             }
88             function changeOpts(){
89                 var str=dijit.byId("opts").value;
90                 if (str.indexOf("a")>-1){
91                     dijit.byId("anime").setChecked(true);
92                 }else{
93                     dijit.byId("anime").setChecked(false);
94                 }
95                 if (str.indexOf("2")>-1){
96                     dijit.byId("2pass").setChecked(true);
97                 }else{
98                     dijit.byId("2pass").setChecked(false);
99                 }
100                 if (str.indexOf("d")>-1){
101                     dijit.byId("dualaudio").setChecked(true);
102                 }else{
103                     dijit.byId("dualaudio").setChecked(false);
104                 }
105                 if (str.indexOf("5")>-1){
106                     dijit.byId("pentaaudio").setChecked(true);
107                 }else{
108                     dijit.byId("pentaaudio").setChecked(false);
109                 }
110                 if (str.indexOf("S")>-1){
111                     dijit.byId("size").setValue("S");
112                 }else if (str.indexOf("H")>-1){
113                     dijit.byId("size").setValue("H");
114                 }else if (str.indexOf("G")>-1){
115                     dijit.byId("size").setValue("G");
116                 }else if (str.indexOf("F")>-1){
117                     dijit.byId("size").setValue("F");
118                 }else if (str.indexOf("L")>-1){
119                     dijit.byId("size").setValue("L");
120                 }else{
121                     changeSize();
122                 }
123             }
124             function setbtime_now(){
125                 var now =new Date();
126                 now.setMinutes(0,0,0);
127                 setbtime(now);
128             }
129             function setetime_now(){
130                 var ds=dijit.byId("btime").value;
131                 var d=txt2date(ds);
132                 setetime(d);
133             }
134             function setnow(){
135                 var now =new Date();
136                 now.setMinutes(0,0,0);
137                 setbtime(now);
138                 setetime(now);
139             }
140             function txt2date(txt){
141                 var d=new Date;
142                 var ds=txt;
143                 if (ds.length>3){
144                     d.setYear(parseInt(ds.substring(0,4),10));
145                 }
146                 if (ds.length>6){
147                     d.setMonth(parseInt(ds.substring(5,7),10)-1);
148                 }
149                 if (ds.length>9){
150                     d.setDate(parseInt(ds.substring(8,10),10));
151                 }
152                 if (ds.length>12){
153                     d.setHours(parseInt(ds.substring(11,13),10));
154                 }
155                 if (ds.length>15){
156                     d.setMinutes(parseInt(ds.substring(14,16),10));
157                 }
158                 if (ds.length>18){
159                     d.setSeconds(parseInt(ds.substring(17,19),10));
160                 }
161                 return d
162             }
163             function add_btimemin(min){
164                 var ds=dijit.byId("btime").value;
165                 var d=txt2date(ds);
166                 //window.alert(ds.toString()+":"+d.toString());
167                 d.setTime(d.getTime()+min*60*1000);
168                 setbtime(d);
169             }
170             function add_etimemin(min){
171                 var ds=dijit.byId("etime").value;
172                 var d=txt2date(ds);
173                 d.setTime(d.getTime()+min*60*1000);
174                 setetime(d);
175             }
176
177             function setbtime(date){
178                 var nowtxt="";
179                 //window.alert("setbtime");
180                 nowtxt=String(date.getFullYear())+"-";
181                 if (date.getMonth()+1<10){
182                     nowtxt=nowtxt+"0";
183                 }
184                 nowtxt=nowtxt+String(date.getMonth()+1)+"-";
185                 if (date.getDate()<10){
186                     nowtxt=nowtxt+"0";
187                 }
188                 nowtxt=nowtxt+String(date.getDate())+" ";
189                 if (date.getHours()<10){
190                     nowtxt=nowtxt+"0"
191                 }
192                 nowtxt=nowtxt+String(date.getHours())+":";
193                 if (date.getMinutes()<10){
194                     nowtxt=nowtxt+"0"
195                 }
196                 nowtxt=nowtxt+String(date.getMinutes())+":00";
197                 //console.debug("click");
198                 //window.alert("test");
199                 dijit.byId("btime").setValue(nowtxt);
200             }
201             function setetime(date){
202                 var nowtxt="";
203                 //window.alert("test");
204                 nowtxt=String(date.getFullYear())+"-";
205                 if (date.getMonth()+1<10){
206                     nowtxt=nowtxt+"0";
207                 }
208                 nowtxt=nowtxt+String(date.getMonth()+1)+"-";
209                 if (date.getDate()<10){
210                     nowtxt=nowtxt+"0";
211                 }
212                 nowtxt=nowtxt+String(date.getDate())+" ";
213                 if (date.getHours()<10){
214                     nowtxt=nowtxt+"0"
215                 }
216                 nowtxt=nowtxt+String(date.getHours())+":";
217                 if (date.getMinutes()<10){
218                     nowtxt=nowtxt+"0"
219                 }
220                 nowtxt=nowtxt+String(date.getMinutes())+":00";
221                 //console.debug("click");
222                 //window.alert("test");
223                 dijit.byId("etime").setValue(nowtxt);
224             }
225             function title2opts(){
226                 var str=dijit.byId("title").value;
227                 var stropt=dijit.byId("opts").Value;
228                 if (stropt==undefined){
229                     stropt="";
230                 }
231                 //stropt=stropt.replace("undefined","");
232                 //stropt=""
233                 if (str.indexOf("(2)")>-1){
234                     //dijit.byId("2pass").setChecked(true);
235                     str=stropt+"d";
236                     dijit.byId("opts").setValue(str);
237                 }else if(str.indexOf("(二)")>-1){
238                     //dijit.byId("2pass").setChecked(true);
239                     str=stropt+"d";
240                     dijit.byId("opts").setValue(str);
241                 }else if(str.indexOf("[二]")>-1){
242                     //dijit.byId("2pass").setChecked(true);
243                     str=stropt+"d";
244                     dijit.byId("opts").setValue(str);
245                 }else if(str.indexOf("(二)")>-1){
246                     //dijit.byId("2pass").setChecked(true);
247                     str=stropt+"d";
248                     dijit.byId("opts").setValue(str);
249                 }else if(str.indexOf("(二)")>-1){
250                     //dijit.byId("2pass").setChecked(true);
251                     str=stropt+"d";
252                     dijit.byId("opts").setValue(str);
253                 }else if(str.indexOf("5.1")>-1){
254                     //dijit.byId("2pass").setChecked(true);
255                     str=stropt+"5";
256                     dijit.byId("opts").setValue(str);
257                 }else if(str.indexOf("5.1")>-1){
258                     //dijit.byId("2pass").setChecked(true);
259                     str=stropt+"5";
260                     dijit.byId("opts").setValue(str);
261                 }
262             }
263             //dojo.addOnLoad(init);
264             function init(){
265                 //dojo.debug("test")
266                 setType("res");
267                 title2opts();
268                 changeSize();
269                 changeOpts();
270                 //changeSize();
271             }
272             dojo.addOnLoad(init);
273         </script>
274     </head>
275     <!-- テーマの読み込み -->
276     <body class="tundra">
277         <div dojoType="dijit.form.Form" action="rec10web.py" onExecute="this.submit()">
278             <h1>Rec10 Simple Web Interface ver.0.7.0</h1><br>
279             Rec10WEB MENU <a href="./rec10web.py?exec=schedule">Schedule</a>     <a href="./rec10web.py?exec=iepg-show">iEPG-Data</a><br><br><br>
280             <select name="type"
281                     dojoType="dijit.form.FilteringSelect"
282                     autocomplete="false"
283                     value="<!--type-value//-->"
284                     onChange="setType">
285                 <option value="res">通常予約</option>
286                 <option value="key">キーワード予約</option>
287                 <option value="keyday">曜日予約</option>
288                 <option value="keyevery">隔日予約</option>
289                 <option value="rec">最終予約</option>
290                 <option value="ts2avi">エンコード予約</option>
291                 <option value="b252ts">復号化予約</option>
292                 <option value="avi2mkv">MKV化予約(AVI)</option>
293
294             </select>番組名/キーワード
295             <input type="text"
296                    length="40"
297                    dojoType="dijit.form.TextBox"
298                    value="<!--title-value//-->"
299                    id="title"
300                    name="title">チャンネル
301             <select name="chtxt"
302                     dojoType="dijit.form.FilteringSelect"
303                     autocomplete="false"
304                     value="<!--ch-value//-->"
305                     onChange="setType">
306                 <!--text_for_replace_chtxt_input//-->
307             </select>
308             <br><br>開始時刻
309             <div name="btime"
310                  id="btime"
311                  dojoType="dijit.form.ValidationTextBox"
312                  promptmessage="年-月-日 時間:分:秒"
313                  value="<!--btime-value//-->"
314                  regexp="\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}">
315             </div>
316             <div dojoType="dijit.form.Button" onclick="setbtime_now()">現在</div>
317             <div dojoType="dijit.form.Button" onclick="add_btimemin(30)">+30m</div>
318             <div dojoType="dijit.form.Button" onclick="add_btimemin(180)">+3h</div>
319             <div dojoType="dijit.form.Button" onclick="add_btimemin(720)">+12h</div>
320             終了時刻
321             <div name="etime"
322                  id="etime"
323                  dojoType="dijit.form.ValidationTextBox"
324                  promptmessage="年-月-日 時間:分:秒"
325                  value="<!--etime-value//-->"
326                  regexp="\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}">
327             </div>
328             <div dojoType="dijit.form.Button" onclick="setetime_now()">一致</div>
329             <div dojoType="dijit.form.Button" onclick="add_etimemin(5)">+5m</div>
330             <div dojoType="dijit.form.Button" onclick="add_etimemin(30)">+30m</div>
331             <div dojoType="dijit.form.Button" onclick="add_etimemin(60)">+1h</div>
332             <br>
333             <br>隔日周期(days)
334             <input dojoType="dijit.form.NumberSpinner"
335                    value="7"
336                    smallDelta="1"
337                    largeDelta="10"
338                    constraints="{min:0,max:24,places:0}"
339                    maxlength="2"
340                    id="deltaday"
341                    name="deltaday">
342             キーワード録画許容誤差(hours)
343             <input dojoType="dijit.form.NumberSpinner"
344                    value="3"
345                    smallDelta="1"
346                    largeDelta="10"
347                    constraints="{min:0,max:24,places:0}"
348                    maxlength="2"
349                    id="deltahour"
350                    name="deltahour"><br><br>
351
352             <input type="checkbox"
353                    dojoType="dijit.form.CheckBox"
354                    id="day_Mon" name="day_Mon" value="1">月曜</input>
355             <input type="checkbox"
356                    dojoType="dijit.form.CheckBox"
357                    id="day_Tue" name="day_Tue" value="2">火曜</input>
358             <input type="checkbox"
359                    dojoType="dijit.form.CheckBox"
360                    id="day_Wed" name="day_Wed" value="3">水曜</input>
361             <input type="checkbox"
362                    dojoType="dijit.form.CheckBox"
363                    id="day_Thu" name="day_Thu" value="4">木曜</input>
364             <input type="checkbox"
365                    dojoType="dijit.form.CheckBox"
366                    id="day_Fri" name="day_Fri" value="5">金曜</input>
367             <input type="checkbox"
368                    dojoType="dijit.form.CheckBox"
369                    id="day_Sat" name="day_Sat" value="6">土曜</input>
370             <input type="checkbox"
371                    dojoType="dijit.form.CheckBox"
372                    id="day_Sun" name="day_Sun" value="7">日曜</input>
373             <br><br>
374             録画サイズ
375             <select name="size"
376                     dojoType="dijit.form.FilteringSelect"
377                     autocomplete="false"
378                     value="<!--size-value//-->"
379                     id="size"
380                     onChange="changeSize">
381                 <option selected="selected" value="S">SDサイズ(720x480 1250kbps)</option>
382                 <option value="L">CS放送SDサイズ(リサイズ無し 1250kbps)</option>
383                 <option value="G">低画質HDサイズ(1280x720 2500kbps)</option>
384                 <option value="H">HDサイズ(1280x720 3750kbps)</option>
385                 <option value="F">フルハイビジョン(1920x1080 5000kbps)</option>
386                 <input type="checkbox"
387                        dojoType="dijit.form.CheckBox"
388                        id="anime" name="anime" value="a"
389                        onClick="setOpts(this)">アニメ</input>
390                 <input type="checkbox"
391                        dojoType="dijit.form.CheckBox"
392                        id="dualaudio" name="dualaudio" value="d"
393                        onClick="setOpts(this)">二ヶ国語放送</input>
394                 <input type="checkbox"
395                        dojoType="dijit.form.CheckBox"
396                        id="pentaaudio" name="pentaaudio" value="5"
397                        onClick="setOpts(this)">5.1ch放送</input>
398                 <input type="checkbox"
399                        dojoType="dijit.form.CheckBox"
400                        id="2pass" name="2pass" value="2"
401                        onClick="setOpts(this)">2passモード</input>
402             </select>
403             Options
404             <div name="opts"
405                  dojoType="dijit.form.ValidationTextBox"
406                  value="<!--opts-value//-->"
407                  onChange="changeOpts"
408                  id="opts">
409             </div><div dojoType="dijit.form.Button" type="submit">予約</div>
410             <div name="exec"
411                  dojoType="dijit.form.ValidationTextBox"
412                  value="<!--exec-value//-->"
413                  style="display:none";>
414         </div>
415 </body>
416 </html>