OSDN Git Service

38dac1faf1b9617cab7ad44172af4a4b030699ef
[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.9.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=="reserve_flexible"){
27                     //alert("Selected "+value);
28                     dijit.byId("deltaday").setDisabled(true);
29                     dijit.byId("deltahour").setDisabled(true);
30                     setDayopt(false);
31                 }else if (value=="reserve_day"){
32                     //alert("Selected "+value);
33                     dijit.byId("deltaday").setDisabled(true);
34                     dijit.byId("deltahour").setDisabled(false);
35                     setDayopt(false);
36                 }else if (value=="search_today"){
37                     dijit.byId("deltahour").setDisabled(false);
38                     setDayopt(true);
39                 }else if (value=="search_everyday"){
40                     //alert("Selected "+value);
41                     dijit.byId("deltaday").setDisabled(false);
42                     dijit.byId("deltahour").setDisabled(false);
43                     setDayopt(false);
44                 }else if (value=="reserve_fixed"){
45                     //alert("Selected "+value);
46                     dijit.byId("deltaday").setDisabled(true);
47                     dijit.byId("deltahour").setDisabled(true);
48                     setDayopt(false);
49                 }else if (value=="convert_ts_mp4"){
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 changeMove(){
79                 var str=dijit.byId("opts").value;
80                 var s=dijit.byId("move").value;
81                 str=str.replace("R","");
82                 str=str.replace("D","");
83                 str=str.replace("E","");
84                 s=s.replace("None","")
85                 str=str+s;
86                 //alert("Selected "+str);
87                 dijit.byId("opts").setValue(str);
88             }
89             function setOpts(obj){
90                 if (obj.checked){
91                     var str=dijit.byId("opts").value;
92                     str=str+obj.value;
93                 }else{
94                     var str=dijit.byId("opts").value;
95                     str=str.replace(obj.value,"");
96                 }
97                 dijit.byId("opts").setValue(str);
98             }
99             function changeOpts(){
100                 var str=dijit.byId("opts").value;
101                 if (str.indexOf("a")>-1){
102                     dijit.byId("anime").setChecked(true);
103                 }else{
104                     dijit.byId("anime").setChecked(false);
105                 }
106                 if (str.indexOf("2")>-1){
107                     dijit.byId("2pass").setChecked(true);
108                 }else{
109                     dijit.byId("2pass").setChecked(false);
110                 }
111                 if (str.indexOf("d")>-1){
112                     dijit.byId("dualaudio").setChecked(true);
113                 }else{
114                     dijit.byId("dualaudio").setChecked(false);
115                 }
116                 if (str.indexOf("5")>-1){
117                     dijit.byId("pentaaudio").setChecked(true);
118                 }else{
119                     dijit.byId("pentaaudio").setChecked(false);
120                 }
121                 if (str.indexOf("S")>-1){
122                     dijit.byId("size").setValue("S");
123                 }else if (str.indexOf("H")>-1){
124                     dijit.byId("size").setValue("H");
125                 }else if (str.indexOf("G")>-1){
126                     dijit.byId("size").setValue("G");
127                 }else if (str.indexOf("F")>-1){
128                     dijit.byId("size").setValue("F");
129                 }else if (str.indexOf("L")>-1){
130                     dijit.byId("size").setValue("L");
131                 }else{
132                     changeSize();
133                 }
134                 if (str.indexOf("R")>-1){
135                     dijit.byId("move").setValue("R");
136                 }else if (str.indexOf("D")>-1){
137                     dijit.byId("move").setValue("D");
138                 }else if (str.indexOf("E")>-1){
139                     dijit.byId("move").setValue("E");
140                 }else{
141                     dijit.byId("move").setValue("None");
142                 }
143             }
144             function setbtime_now(){
145                 var now =new Date();
146                 now.setMinutes(0,0,0);
147                 setbtime(now);
148             }
149             function setetime_now(){
150                 var ds=dijit.byId("btime").value;
151                 var d=txt2date(ds);
152                 setetime(d);
153             }
154             function setnow(){
155                 var now =new Date();
156                 now.setMinutes(0,0,0);
157                 setbtime(now);
158                 setetime(now);
159             }
160             function txt2date(txt){
161                 var d=new Date;
162                 var ds=txt;
163                 if (ds.length>3){
164                     d.setYear(parseInt(ds.substring(0,4),10));
165                 }
166                 if (ds.length>6){
167                     d.setMonth(parseInt(ds.substring(5,7),10)-1);
168                 }
169                 if (ds.length>9){
170                     d.setDate(parseInt(ds.substring(8,10),10));
171                 }
172                 if (ds.length>12){
173                     d.setHours(parseInt(ds.substring(11,13),10));
174                 }
175                 if (ds.length>15){
176                     d.setMinutes(parseInt(ds.substring(14,16),10));
177                 }
178                 if (ds.length>18){
179                     d.setSeconds(parseInt(ds.substring(17,19),10));
180                 }
181                 return d
182             }
183             function add_btimemin(min){
184                 var ds=dijit.byId("btime").value;
185                 var d=txt2date(ds);
186                 //window.alert(ds.toString()+":"+d.toString());
187                 d.setTime(d.getTime()+min*60*1000);
188                 setbtime(d);
189             }
190             function add_etimemin(min){
191                 var ds=dijit.byId("etime").value;
192                 var d=txt2date(ds);
193                 d.setTime(d.getTime()+min*60*1000);
194                 setetime(d);
195             }
196
197             function setbtime(date){
198                 var nowtxt="";
199                 //window.alert("setbtime");
200                 nowtxt=String(date.getFullYear())+"-";
201                 if (date.getMonth()+1<10){
202                     nowtxt=nowtxt+"0";
203                 }
204                 nowtxt=nowtxt+String(date.getMonth()+1)+"-";
205                 if (date.getDate()<10){
206                     nowtxt=nowtxt+"0";
207                 }
208                 nowtxt=nowtxt+String(date.getDate())+" ";
209                 if (date.getHours()<10){
210                     nowtxt=nowtxt+"0"
211                 }
212                 nowtxt=nowtxt+String(date.getHours())+":";
213                 if (date.getMinutes()<10){
214                     nowtxt=nowtxt+"0"
215                 }
216                 nowtxt=nowtxt+String(date.getMinutes())+":00";
217                 //console.debug("click");
218                 //window.alert("test");
219                 dijit.byId("btime").setValue(nowtxt);
220             }
221             function setetime(date){
222                 var nowtxt="";
223                 //window.alert("test");
224                 nowtxt=String(date.getFullYear())+"-";
225                 if (date.getMonth()+1<10){
226                     nowtxt=nowtxt+"0";
227                 }
228                 nowtxt=nowtxt+String(date.getMonth()+1)+"-";
229                 if (date.getDate()<10){
230                     nowtxt=nowtxt+"0";
231                 }
232                 nowtxt=nowtxt+String(date.getDate())+" ";
233                 if (date.getHours()<10){
234                     nowtxt=nowtxt+"0"
235                 }
236                 nowtxt=nowtxt+String(date.getHours())+":";
237                 if (date.getMinutes()<10){
238                     nowtxt=nowtxt+"0"
239                 }
240                 nowtxt=nowtxt+String(date.getMinutes())+":00";
241                 //console.debug("click");
242                 //window.alert("test");
243                 dijit.byId("etime").setValue(nowtxt);
244             }
245             function title2opts(){
246                 var str=dijit.byId("title").value;
247                 var stropt=dijit.byId("opts").Value;
248                 if (stropt==undefined){
249                     stropt="";
250                 }
251                 //stropt=stropt.replace("undefined","");
252                 //stropt=""
253                 if (str.indexOf("(2)")>-1){
254                     //dijit.byId("2pass").setChecked(true);
255                     str=stropt+"d";
256                     dijit.byId("opts").setValue(str);
257                 }else if(str.indexOf("(二)")>-1){
258                     //dijit.byId("2pass").setChecked(true);
259                     str=stropt+"d";
260                     dijit.byId("opts").setValue(str);
261                 }else if(str.indexOf("[二]")>-1){
262                     //dijit.byId("2pass").setChecked(true);
263                     str=stropt+"d";
264                     dijit.byId("opts").setValue(str);
265                 }else if(str.indexOf("(二)")>-1){
266                     //dijit.byId("2pass").setChecked(true);
267                     str=stropt+"d";
268                     dijit.byId("opts").setValue(str);
269                 }else if(str.indexOf("(二)")>-1){
270                     //dijit.byId("2pass").setChecked(true);
271                     str=stropt+"d";
272                     dijit.byId("opts").setValue(str);
273                 }else if(str.indexOf("5.1")>-1){
274                     //dijit.byId("2pass").setChecked(true);
275                     str=stropt+"5";
276                     dijit.byId("opts").setValue(str);
277                 }else if(str.indexOf("5.1")>-1){
278                     //dijit.byId("2pass").setChecked(true);
279                     str=stropt+"5";
280                     dijit.byId("opts").setValue(str);
281                 }
282             }
283             //dojo.addOnLoad(init);
284             function init(){
285                 //dojo.debug("test")
286                 setType("res");
287                 title2opts();
288                 changeSize();
289                 changeOpts();
290                 //changeSize();
291             }
292             dojo.addOnLoad(init);
293         </script>
294     </head>
295     <!-- テーマの読み込み -->
296     <body class="tundra">
297         <div dojoType="dijit.form.Form" action="rec10web.py" onExecute="this.submit()">
298             <h1>Rec10 Simple Web Interface ver.0.9.0</h1><br>
299             Rec10WEB MENU <a href="./rec10web.py?exec=schedule">Schedule</a>     <a href="./rec10web.py?exec=iepg-show">iEPG-Data</a><br><br><br>
300             <select name="type"
301                     dojoType="dijit.form.FilteringSelect"
302                     autocomplete="false"
303                     value="<!--type-value//-->"
304                     onChange="setType">
305                 <option value="reserve_flexible">通常予約</option>
306                 <option value="search_today">キーワード予約</option>
307                 <option value="search_day">曜日予約</option>
308                 <option value="search_everyday">隔日予約</option>
309                 <option value="reserve_fixed">最終予約</option>
310                 <option value="convert_ts_mp4">エンコード予約</option>
311                 <option value="convert_b25_ts">復号化予約</option>
312                 <option value="convert_avi_mp4">MP4化予約(AVI)</option>
313                 <option value="convert_mkv_mp4">MP4化予約(MKV)</option>
314                 <option value="convert_avi_mkv">MKV化予約(AVI)</option>
315
316             </select>番組名/キーワード
317             <input type="text"
318                    length="40"
319                    dojoType="dijit.form.TextBox"
320                    value="<!--title-value//-->"
321                    id="title"
322                    name="title">チャンネル
323             <select name="chtxt"
324                     dojoType="dijit.form.FilteringSelect"
325                     autocomplete="false"
326                     value="<!--ch-value//-->"
327                     onChange="setType">
328                 <!--text_for_replace_chtxt_input//-->
329             </select>
330             <br><br>開始時刻
331             <div name="btime"
332                  id="btime"
333                  dojoType="dijit.form.ValidationTextBox"
334                  promptmessage="年-月-日 時間:分:秒"
335                  value="<!--btime-value//-->"
336                  regexp="\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}">
337             </div>
338             <div dojoType="dijit.form.Button" onclick="setbtime_now()">現在</div>
339             <div dojoType="dijit.form.Button" onclick="add_btimemin(5)">+5m</div>
340             <div dojoType="dijit.form.Button" onclick="add_btimemin(30)">+30m</div>
341             <div dojoType="dijit.form.Button" onclick="add_btimemin(180)">+3h</div>
342             <div dojoType="dijit.form.Button" onclick="add_btimemin(720)">+12h</div>
343             終了時刻
344             <div name="etime"
345                  id="etime"
346                  dojoType="dijit.form.ValidationTextBox"
347                  promptmessage="年-月-日 時間:分:秒"
348                  value="<!--etime-value//-->"
349                  regexp="\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}">
350             </div>
351             <div dojoType="dijit.form.Button" onclick="setetime_now()">一致</div>
352             <div dojoType="dijit.form.Button" onclick="setetime_now(1)">+1m</div>
353             <div dojoType="dijit.form.Button" onclick="add_etimemin(5)">+5m</div>
354             <div dojoType="dijit.form.Button" onclick="add_etimemin(30)">+30m</div>
355             <div dojoType="dijit.form.Button" onclick="add_etimemin(60)">+1h</div>
356             <br>
357             <br>隔日周期(days)
358             <input dojoType="dijit.form.NumberSpinner"
359                    value="7"
360                    smallDelta="1"
361                    largeDelta="10"
362                    constraints="{min:0,max:24,places:0}"
363                    maxlength="2"
364                    id="deltaday"
365                    name="deltaday">
366             キーワード録画許容誤差(hours)
367             <input dojoType="dijit.form.NumberSpinner"
368                    value="3"
369                    smallDelta="1"
370                    largeDelta="10"
371                    constraints="{min:0,max:24,places:0}"
372                    maxlength="2"
373                    id="deltahour"
374                    name="deltahour"><br><br>
375
376             <input type="checkbox"
377                    dojoType="dijit.form.CheckBox"
378                    id="day_Mon" name="day_Mon" value="1">月曜</input>
379             <input type="checkbox"
380                    dojoType="dijit.form.CheckBox"
381                    id="day_Tue" name="day_Tue" value="2">火曜</input>
382             <input type="checkbox"
383                    dojoType="dijit.form.CheckBox"
384                    id="day_Wed" name="day_Wed" value="3">水曜</input>
385             <input type="checkbox"
386                    dojoType="dijit.form.CheckBox"
387                    id="day_Thu" name="day_Thu" value="4">木曜</input>
388             <input type="checkbox"
389                    dojoType="dijit.form.CheckBox"
390                    id="day_Fri" name="day_Fri" value="5">金曜</input>
391             <input type="checkbox"
392                    dojoType="dijit.form.CheckBox"
393                    id="day_Sat" name="day_Sat" value="6">土曜</input>
394             <input type="checkbox"
395                    dojoType="dijit.form.CheckBox"
396                    id="day_Sun" name="day_Sun" value="7">日曜</input>
397               処理後自動移動オプション
398             <select name="move"
399                     dojoType="dijit.form.FilteringSelect"
400                     autocomplete="false"
401                     value="None"
402                     id="size"
403                     onChange="changeSize">
404                 <option selected="selected" value="None">移動しない</option>
405                 <option value="R">録画後移動</option>
406                 <option value="D">復号後移動</option>
407                 <option value="E">縁故後移動</option>
408             </select>
409             <br><br>
410             録画サイズ
411             <select name="size"
412                     dojoType="dijit.form.FilteringSelect"
413                     autocomplete="false"
414                     value="<!--size-value//-->"
415                     id="size"
416                     onChange="changeSize">
417                 <option selected="selected" value="S">SDサイズ(720x480 1250kbps)</option>
418                 <option value="L">CS放送SDサイズ(リサイズ無し 1250kbps)</option>
419                 <option value="G">低画質HDサイズ(1280x720 2500kbps)</option>
420                 <option value="H">HDサイズ(1280x720 3750kbps)</option>
421                 <option value="F">フルハイビジョン(1920x1080 5000kbps)</option>
422             </select>
423             <input type="checkbox"
424                    dojoType="dijit.form.CheckBox"
425                    id="anime" name="anime" value="a"
426                    onClick="setOpts(this)">アニメ</input>
427             <input type="checkbox"
428                    dojoType="dijit.form.CheckBox"
429                    id="dualaudio" name="dualaudio" value="d"
430                    onClick="setOpts(this)">二ヶ国語放送</input>
431             <input type="checkbox"
432                    dojoType="dijit.form.CheckBox"
433                    id="pentaaudio" name="pentaaudio" value="5"
434                    onClick="setOpts(this)">5.1ch放送</input>
435             <input type="checkbox"
436                    dojoType="dijit.form.CheckBox"
437                    id="2pass" name="2pass" value="2"
438                    onClick="setOpts(this)">2passモード</input>
439             <!--</select>-->
440             Options
441             <div name="opts"
442                  dojoType="dijit.form.ValidationTextBox"
443                  value="<!--opts-value//-->"
444                  onChange="changeOpts"
445                  id="opts">
446             </div><div dojoType="dijit.form.Button" type="submit">予約</div>
447             <div name="exec"
448                  dojoType="dijit.form.ValidationTextBox"
449                  value="<!--exec-value//-->"
450                  style="display:none";>
451         </div>
452     </div>
453 </body>
454 </html>