OSDN Git Service

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