• R/O
  • SSH
  • HTTPS

opengion: 提交


Commit MetaInfo

修訂1758 (tree)
時間2019-09-06 16:19:31
作者takahashi_m

Log Message

(empty log message)

Change Summary

差異

--- trunk/opengionV5/uap/webapps/ge/jsp/common/default.js (revision 1757)
+++ trunk/opengionV5/uap/webapps/ge/jsp/common/default.js (revision 1758)
@@ -1,1068 +1 @@
1-/* Warning: Please carry out the opening save of this file by UTF-8. */
2-
3-//Copy From http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/browserdetection.asp
4-// Returns the version of Internet Explorer or a -1
5-// (indicating the use of another browser).
6-function getInternetExplorerVersion() {
7- var rv = -1 , ua , re ; // Return value assumes failure
8- if (navigator.appName == 'Microsoft Internet Explorer') {
9- ua = navigator.userAgent;
10- re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
11- if (re.exec(ua) != null)
12- rv = parseFloat( RegExp.$1 );
13- }
14- return rv;
15-}
16-
17-// Global variables
18-var isCSS, isW3C, isIE4, isNN4, isIE6CSS;
19-// Initialize upon load to let all browsers establish content objects
20-function initDHTMLAPI() {
21- if (document.images) {
22- isCSS = (document.body && document.body.style) ? true : false;
23- isW3C = (isCSS && document.getElementById) ? true : false;
24- isIE4 = (isCSS && document.all) ? true : false;
25- isNN4 = (document.layers) ? true : false;
26- isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
27- }
28-
29- __bInitDhtmlApi = true;
30-}
31-// Set event handler to initialize API
32-//window.onload = initDHTMLAPI;
33-var __bInitDhtmlApi = false;
34-
35-// Return the available content width space in browser window
36-function getInsideWindowWidth() {
37- if (window.innerWidth) {
38- return window.innerWidth;
39- } else if (isIE6CSS) {
40- // measure the html element's clientWidth
41- return document.body.parentElement.clientWidth;
42- } else if (document.body && document.body.clientWidth) {
43- return document.body.clientWidth;
44- }
45- return 0;
46-}
47-
48-// Return the available content height space in browser window
49-function getInsideWindowHeight() {
50- if (window.innerHeight) {
51- return window.innerHeight;
52- } else if (isIE6CSS) {
53- // measure the html element's clientHeight
54- return document.body.parentElement.clientHeight;
55- } else if (document.body && document.body.clientHeight) {
56- return document.body.clientHeight;
57- }
58- return 0;
59-}
60-
61-function addEvent(element, eventType, fn, useCapture) {
62- if (element.addEventListener) { // W3C DOM Standard - FireFox ...
63- useCapture = ((useCapture) ? true : false);
64- element.addEventListener(eventType, fn, useCapture);
65- return true;
66- }
67- else if (element.attachEvent) { // Internet Explorer
68-// var r = element.attachEvent('on' + eventType, fn);
69-// return r;
70- return element.attachEvent('on' + eventType, fn);
71- }
72- else {
73- element['on'+eventType] = fn;
74- }
75-}
76-
77-/* Focus is moved to the first object of the element. */
78-/* 3.1.1.0 (2003/03/28) When the first element is a button, focus is not applied. */
79-
80-var _sCompat_ = document.compatMode;
81-// var bIsBackCompat = ( "BackCompat" == _sCompat_ );
82-var bIsCSS1Compat = ( "CSS1Compat" == _sCompat_ );
83-
84-/* 3.5.6.4 (2004/07/16) Focus is appropriated to the selection check box. */
85-/* 3.6.0.0 (2004/09/17) One focus of the selection check is appropriated ahead by h_focus. */
86-/* 3.7.0.3 (2005/02/25) Correspondence of setScrollRowNo. two or more h_focus appears. */
87-/* 3.7.0.4 (2005/03/14) Correspondence when the first line is checked. */
88-/* 3.8.0.3 (2005/07/15) New Header Fix Type Add */
89-/* 3.8.6.3 (2006/11/30) h_focus scrollLeft */
90-/* 3.8.8.1 (2007/01/06) Old Header Fix Type scrollTop offset -25 */
91-/* 5.1.1.1 (2009/12/02) ヘッダーに改行が含まれている場合に正しく表示されないバグを修正 */
92-/* 5.1.8.0 (2010/07/01) oLayerが存在しない場合にエラーが発生するバグを修正 */
93-/* 5.3.2.0 (2011/02/01) ヘッダー固定しない状態で左右分割ガントを表示した際に右Viewの自動フォーカスが動かないバグを修正 */
94-function focus2() {
95- var fcu , oMySelf , oTr, oLayer, oDiv, oRun , oTHeads , iTHeadHeight , oDivHeader;
96-
97- fcu = document.getElementsByName( "h_fcs" );
98- if( fcu.length > 0 ) {
99- oMySelf = fcu[0];
100-
101- oRun = oMySelf.parentNode;
102- while(oRun) {
103- if(oRun.tagName == "TR" ) oTr = oRun;
104- if(oTr && oRun.tagName == "DIV") {
105- if(oRun.id == "layer") oLayer = oRun;
106-// if(oRun.id == "X1" || oRun.id == "X2") { oDiv = oRun; break; }
107- if(oRun.id == "X1" || oRun.id == "X2") {
108- oDiv = oRun;
109- if( !oDiv.HSibling ) {
110- oDiv.HSibling = document.getElementById( ( oRun.id == "X1" ? "X2" : "X1" ) );
111- }
112- break;
113- }
114- }
115- oRun = oRun.parentNode;
116- }
117-
118- // 5.1.1.1 (2009/12/02)
119- // 5.1.8.0 (2010/07/01) oLayerが存在しない場合にエラーが発生するバグを修正
120-// var oTHeads = oLayer.getElementsByTagName("THEAD");
121- oTHeads = ( oLayer ? oLayer.getElementsByTagName("THEAD") : null );
122- iTHeadHeight = ( oTHeads && oTHeads.length > 0 ? oTHeads[0].offsetHeight + 5 : 0 );
123-
124- if(oLayer) {
125-// var oTHeads = oLayer.getElementsByTagName("THEAD");
126-// var oDivHeader;
127- if(oTHeads.length >0 && oTHeads[0].id == "divheader") oDivHeader = oTHeads[0];
128- if(oDivHeader) {
129- //Set Expression Style Header Fixed(compatible with old version)
130- oMySelf.scrollIntoView( true );
131- if( oLayer.scrollTop >= oDivHeader.offsetHeight ) { // 3.8.0.3
132- oLayer.scrollTop -= oDivHeader.offsetHeight;
133- }
134- }
135- else {
136- //Div Style Header Fixed)
137- oLayer.scrollIntoView( true );
138- // oLayer.scrollTop = oTr.offsetTop;
139-// oLayer.scrollTop = Math.max( oTr.offsetTop - 5, 0 );
140- oLayer.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 );
141- // HSibling : 左右分割の意味
142- // if(oLayer.HSibling) oLayer.HSibling.scrollTop = oTr.offsetTop;
143-// if(oLayer.HSibling) oLayer.HSibling.scrollTop = Math.max( oTr.offsetTop - 5, 0 ); // 4.3.5.3 (2009/02/22)
144- if(oLayer.HSibling) oLayer.HSibling.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 ); // 5.1.1.1 (2009/12/02)
145- }
146- }
147- else if(oDiv) {
148- //Gantt Scroll
149- oDiv.scrollIntoView( true );
150- // oDiv.scrollTop = oTr.offsetTop;
151-// oDiv.scrollTop = Math.max( oTr.offsetTop - 5, 0 );
152- oDiv.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 );
153- // HSibling : 左右分割の意味
154- // if(oDiv.HSibling) oDiv.HSibling.scrollTop = oTr.offsetTop;
155-// if(oDiv.HSibling) oDiv.HSibling.scrollTop = Math.max( oTr.offsetTop - 5, 0 ); // 4.3.5.3 (2009/02/22)
156- if(oDiv.HSibling) oDiv.HSibling.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 ); // 5.1.1.1 (2009/12/02)
157- }
158- else {
159- //Unspecified Table View
160- // 5.1.8.0 (2010/07/01) oLayerが存在しない場合にエラーが発生するバグを修正
161- if( oTr ) {
162- window.scrollTo( 0,oTr.offsetTop );
163- }
164- else {
165- oMySelf.scrollIntoView( true );
166- }
167- }
168- }
169-}
170-
171-/* 3.5.4.0 (2003/11/25) */
172-function historyBack() {
173- var oAllForms , f , i , obj ;
174-
175- oAllForms = document.getElementsByTagName("FORM");
176- if ( oAllForms.length > 0 ) {
177- f = oAllForms[0];
178- for ( i = 0; i < f.elements.length; i++) {
179- obj = f.elements[i];
180- if ( obj != null && obj.name == "historyBack" ) {
181- if( obj.value == "1" ) {
182- obj.value = "0";
183- f.submit();
184- }
185- else {
186- obj.value = "1";
187- }
188- break;
189- }
190- }
191- }
192-}
193-
194-/*
195- * The image is replaced.
196- *
197- * <a href="http://xxxxx"
198- * onMouseOver="changeImage('img01','over.gif')"
199- * onMouseOut ="changeImage('img01','up.gif')" >
200- * <img src="up.gif" alt="IMG" border="0" name="img01">
201- * </a>
202- */
203-function changeImage( id,src ) {
204- document.images[id].src = src;
205-}
206-
207-/*
208- * 3.3.3.0 (2003/07/09) Double registration prevention of data by pushing twice
209- *
210- * <form method="POST" action="forward.jsp" target="RESULT"
211- * onSubmit="return oneClick();">
212- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
213- * ・・・
214- * </form>
215- */
216-var isClicked = false;
217-function oneClick() {
218- if(isClicked) {
219-// alert( "Don't twice pushed." );
220- alert( "Don't click twice." );
221- return false;
222- } else {
223- isClicked = true;
224- return true;
225- }
226-}
227-
228-/*
229- * 3.5.0.0 (2003/09/17) It submits it.
230- *
231- * renew( action ,target,[this] );
232- *
233- * <og:column name="KBSAKU" onChange="renew('query.jsp','QUERY');" />
234- * <og:column name="KBSAKU" onChange="renew('query.jsp','QUERY',this);" />
235- *
236- * Ver 3.8.6.3 (2006/11/30) Self form submit when this argment add.
237- */
238-function renew( action , target , home ) {
239- var f = null , oAllForms;
240-
241- if( home != null ) {
242- f = home.form;
243- }
244- else {
245- oAllForms = document.getElementsByTagName("FORM");
246- if ( oAllForms.length > 0 ) {
247- f = oAllForms[0];
248- }
249- }
250-
251- if( f != null ) {
252- f.action= action ;
253- f.target= target ;
254-
255- f.submit();
256- }
257-}
258-
259-/*
260- * 3.5.4.2 (2003/12/15)
261- * The function to move the input cursor to the following field automatically is added.
262- *
263- * nextForm( this, nextFieldName, maxLength )
264- *
265- * 3.5.5.9 (2004/05/31) Correspondence to there are two or more attributes name (Example: Button etc.) the same
266- * 3.8.1.2 (2005/12/19) The matter where focus cannot be moved to the pull-down menu is corrected.
267- *
268- * <og:column name="A" nextForm="B" /> ⇒ <input type="text" name="A" onKeyUp="nextForm(this, 'B', 3)" maxlength="3" />
269- * <og:column name="B" nextForm="C" /> ⇒ <input type="text" name="B" onKeyUp="nextForm(this, 'C', 5)" maxlength="5" />
270- * <og:column name="C" /> <input type="text" name="C" maxlength="3" />
271- */
272-function nextForm( tx, nm, maxlen ) {
273- if( tx.value.length >= maxlen ) {
274- var e = tx.form.elements[nm];
275-// if( e[0] != null ) {
276- if( e[0] != null && e[0].name != null ) {
277- e[0].focus();
278- }
279- else if( e != null ) {
280- e.focus();
281- }
282- else {
283- alert( "There is no field named [" + nm + "]" );
284- }
285- }
286-}
287-
288-/*
289- * 3.5.4.3 (2004/01/05) Function to select all checks of check box.
290- * 3.5.4.8 (2004/02/10) Correspondence when multiple form is arranged in the same page
291- *
292- * When selectedType of viewFormTag is only CHECKBOX, it is possible to use it.
293- *
294- * <input type="checkbox" name="ALL_CHECK" onClick="checkbox(this);" />
295- */
296-function checkbox( cb ) {
297- var f , eles , elesLen , i , el ;
298-
299- f = cb.form;
300- if (f != null) {
301- eles = f.elements ;
302- elesLen = eles.length;
303- for ( i=0; i<elesLen; i++ ){
304- el = eles[i];
305- // if ( el.name == "h_rowSelected" || el.name == "ALL_CHECK" ) {
306- if ( el.name == "h_rowSel" || el.name == "ALL_CHECK" ) {
307- el.checked = cb.checked ;
308- }
309- }
310- }
311-}
312-
313-/*
314- * 3.5.4.8 (2004/02/23)
315- * The pull-down menu that reacts to the key input of two or more character strings is added.
316- *
317- * When the number of input items is 20 or more, it is set by the automatic operation.
318- *
319- * <og:select name="TABLE_NAME" optionAttributes="onkeydown='setKeySelect(this);'" >
320- * <select name="XXX" onkeydown="setKeySelect(this);" >・・・・
321- */
322-var EMPTY_STR = "";
323-var strOldKey = EMPTY_STR;
324-var oOldSelect = null;
325-var BACKSPACE_CODE = 8;
326-
327-function clearOldKey() {
328- strOldKey = EMPTY_STR;
329-}
330-
331-function setKeySelect(oMySelect) {
332- var bFound , oOptions , nCode , bProcessKey , bIsArrayKey , strKey , strOldKey2 , nIndex , nKeyLen ;
333-
334- bFound = false;
335- if( oOldSelect != oMySelect ) {
336- strOldKey = EMPTY_STR;
337- oOldSelect = oMySelect;
338- //Clear Old Data
339- if(null == oMySelect.onblur) oMySelect.onblur = clearOldKey;
340- }
341-
342- oOptions = oMySelect.options;
343- nCode = event.keyCode;
344-
345- // ((nCode >= 0x25) && (nCode <= 0x28)) Arrow Key
346- // ((nCode >= 0x30) && (nCode <= 0x5A)) Number and Alpha
347- // ((nCode >= 0x60) && (nCode <= 0x69)) Numpad
348- // ((nCode >= 0x6A) && (nCode <= 0x6F)) Numpad * + ent - . /
349- bProcessKey = ( ((nCode >= 0x25) && (nCode <= 0x28))
350- || ((nCode >= 0x30) && (nCode <= 0x5A))
351- || ((nCode >= 0x60) && (nCode <= 0x69))
352- || (BACKSPACE_CODE == nCode) );
353- if( bProcessKey) {
354- bIsArrayKey = (((nCode >= 0x25 ) && (nCode <= 0x28)) && !event.shiftKey);
355- if(!bIsArrayKey) {
356-// var strKey ;
357- if( 0x5A >= nCode) { strKey = String.fromCharCode(nCode).toUpperCase(); }
358- else { strKey = String.fromCharCode(nCode - 0x30); }
359-
360-// var strOldKey2;
361-// var nIndex;
362- if( BACKSPACE_CODE == nCode) {
363- strOldKey2 = ((0 < strOldKey.length) ? strOldKey.substr(0, strOldKey.length -1) : EMPTY_STR);
364- }
365- else {
366- strOldKey2 = strOldKey + strKey;
367- }
368- nKeyLen = strOldKey2.length;
369-
370- for ( nIndex = 0; nIndex < oOptions.length; nIndex++) {
371- if( strOldKey2 == oOptions(nIndex).text.substr(0, nKeyLen).toUpperCase() ) {
372- bFound = true;
373- break;
374- }
375- }
376-
377- if( bFound ) {
378- strOldKey = strOldKey2;
379- if( oMySelect.selectedIndex != nIndex ) { oMySelect.selectedIndex = nIndex; }
380- }
381-
382- event.returnValue = false;
383- }
384- else {
385- strOldKey = EMPTY_STR;
386- }
387- }
388-
389- return bFound;
390-}
391-
392-/*
393- * 3.5.6.2 (2004/07/04) Window opens.
394- * The event is received, and new window is opened at the clicked position.
395- *
396- * window_open( url,evt,name,opt )
397- * url : Opening URL is specified.
398- * evt : When the number of cases is a little, height is adjusted, and the scroll bar is displayed.
399- * name : It is a name when the value is returned.
400- * opt : It is an option for the opening of window.
401- *
402- * The following examples are samples of the calendar assistance menu.
403- *
404- * TEST1:<input type="text" name="TEST1" id="TEST1" size="10" maxlength="8" value="20040201" />
405- * <img src="calendar.gif" onclick="window_open('../common/calendar.html', event,'TEST1','width=220,height=170,resizable=no' );" />
406- *
407- */
408-function window_open( url,evt,name,opt ){
409- var option , move;
410-
411- option = opt;
412- if( evt != null ) {
413- move = 'left=' + evt.x + ',top=' + evt.y ;
414- if( option != null ) {
415- option += ',' + move ;
416- }
417- }
418-
419- window.open( url, name, option );
420-}
421-
422-/*
423- * 3.8.0.8 (2005/10/03) Adjust Frame Height.(Option)
424- * 3.8.6.1 (2006/10/20) SUB_FRAME Object get method changed.
425- * 3.8.9.1 (2007/06/15) Correspondence of case with frame division into three or more.
426- * 4.3.6.0 (2009/04/01) 3つ以上フレームが存在する場合でも自動調整できるように対応
427- * 5.1.4.0 (2010/03/01) 横スクロールが出る場合及びFireFoxに対しての自動調整対応
428- * 5.5.3.4 (2012/06/19) 上下分割で、下部の左右分割時(3フレームと認識)の処理に対応。
429- */
430-function adjustFrameHeight() {
431- var oFramesets , subFrmObj , oFrames , tempRows , endMarkObj , i , sw , cw , isFF , margin ;
432- oFramesets = parent.document.getElementsByName( "SUB_FRAME" );
433- if( oFramesets == null ) { return; }
434-
435- subFrmObj = null ;
436- oFrames = null;
437- if( oFramesets.length == 1 ) {
438- subFrmObj = oFramesets[0];
439- oFrames = parent.frames;
440- }
441-
442- if( subFrmObj == null || subFrmObj.rows == null || subFrmObj.rows.length == 0
443- || oFrames == null || oFrames.length == 0 ) { return; }
444-
445- var origRows = subFrmObj.rows.split(",");
446- tempRows = null;
447- endMarkObj = null;
448- var size = Math.min( origRows.length , oFrames.length ); // T字型フレーム分割時の処理
449-// for( i=0; i<oFrames.length-1; i++ ) {
450- for( i=0; i<size-1; i++ ) {
451- endMarkObj = oFrames[i].document.getElementById( "END_MARKER" );
452- if( endMarkObj == null ) {
453- return;
454- }
455- else {
456- sw = oFrames[i].document.documentElement.scrollWidth;
457- cw = oFrames[i].document.documentElement.clientWidth;
458- isFF = ( /a/[-1]=='a' );
459- margin = 5;
460- if( isFF || sw != cw ) { margin += 14; }
461- tempRows = tempRows + ( endMarkObj.offsetTop + endMarkObj.parentNode.offsetTop + margin ) + ",";
462-// tempRows = tempRows + ( oFrames[i].document.documentElement.scrollHeight + margin ) + ",";
463- }
464- }
465- tempRows = tempRows + "*";
466-
467- subFrmObj.rows = tempRows;
468-}
469-
470-/*
471- * これは、フレームを左右分割した場合に、右側フレームのサイズを自動調整します。
472- *
473- * 実行したいJSP画面で、呼び出してください。
474- * 基本的には、Type5:一覧検索登録 パターンで使用します。
475- *
476- * 5.5.3.4 (2012/06/19) Adjust Frame Width.(Option)
477- */
478-function adjustFrameWidth() {
479- var resFrameset , resFrmObj , oFrames , i , width;
480- resFrameset = parent.document.getElementsByName( "RES_FRAME" );
481- if( resFrameset == null ) { return; }
482-
483- resFrmObj = null ;
484- oFrames = null;
485- if( resFrameset.length == 1 ) {
486- resFrmObj = resFrameset[0];
487- oFrames = parent.frames;
488- }
489-
490- if( resFrmObj == null || resFrmObj.cols == null || resFrmObj.cols.length == 0
491- || oFrames == null || oFrames.length == 0 ) { return; }
492-
493- for( i=0; i<oFrames.length; i++ ) {
494- if( oFrames[i].name == "UPDATE" ) {
495- sw = oFrames[i].document.documentElement.scrollWidth;
496- // cw = oFrames[i].document.documentElement.clientWidth;
497-
498- width = sw + 2; // +2 は、気持ち程度
499- resFrmObj.cols = "*," + width ;
500- return ;
501- }
502- }
503-}
504-
505-/*
506- * 3.8.5.0 (2006/03/06) Adjust Textarea Auto Rows Size.
507- *
508- * autoArea( Textarea_Object,[MaxRowsSize] )
509- *
510- * <textarea id="area1" cols="80" rows="10" onKeyup="autoArea( this );" ></textarea>
511- * <textarea id="area2" cols="80" rows="5" onKeyup="autoArea( this,20 );" ></textarea>
512- *
513- */
514-var initRow = new Object();
515-
516-function autoArea( ara,maxRow ) {
517- var text , cnt , idx ;
518-
519- if( ara == null ) { return; }
520- if( initRow[ara.name] == null ) { initRow[ara.name] = ara.rows; }
521-
522- if( isCntAction( event.keyCode ) ) {
523- text = ara.value ;
524- cnt = 1;
525- idx = text.indexOf( '\n' );
526- while( idx >= 0 ) {
527- cnt++ ;
528- idx = text.indexOf( '\n' ,idx+1 );
529- }
530- if( cnt < initRow[ara.name] ) { cnt = initRow[ara.name]; }
531- if( maxRow != null && cnt > maxRow ) { cnt = maxRow; }
532- ara.rows = cnt;
533- }
534-}
535-
536-/*
537- * 3.8.5.0 (2006/03/06) Adjust Textarea Auto Rows Size. sub function
538- *
539- * isCntAction( val )
540- */
541-function isCntAction( val ) {
542- return ( val == 13 // enter(10key)
543- || val == 14 // return
544- || val == 8 // back space
545- || val == 46 // del
546- || val == 67 // ctlr + C
547- || val == 86 // ctlr + V
548- || val == 88 // ctlr + X
549- ) ;
550-}
551-
552-/*
553- * 3.8.5.0 (2006/03/20) fieldset display ON/OFF Function.
554- * 3.8.5.2 (2006/05/31) fieldset default ON/OFF hidden out.
555- */
556-function hide( id,hiddenKey ) {
557- var obj , obj2 , obj3 , i ;
558-
559- obj = document.getElementById( id + 'A' );
560- if( obj != null ) {
561- obj2 = document.getElementById( id + 'B' );
562- obj3 = null;
563- if( hiddenKey != null ) {
564- obj3 = document.getElementsByName( hiddenKey );
565- }
566-
567- if( obj.style.display == 'none' ) {
568- obj.style.display = 'inline';
569- if( obj2 != null ) { obj2.innerHTML = '- ' ; }
570- if( obj3 != null ) {
571- for( i=1; i<obj3.length; i++ ){
572- obj3[i].value = "false" ;
573- }
574- }
575- }
576- else {
577- obj.style.display = 'none';
578- if( obj2 != null ) { obj2.innerHTML = '+ ' ; }
579- if( obj3 != null ) {
580- for( i=1; i<obj3.length; i++ ){
581- obj3[i].value = "true" ;
582- }
583- }
584- }
585- }
586- adjustFrameHeight();
587-}
588-
589-/*
590- * 3.8.5.3 (2006/06/30) replace All Text
591- *
592- * <input name="XXX" value="YYY" onBlur="value=replaceText(value,'-','');" />
593- */
594-function replaceText( val,oldTxt,newTxt ) {
595- var rtn = val ;
596- if( rtn != null ) {
597- while( rtn.indexOf( oldTxt ) >= 0 ) {
598- rtn = rtn.replace( oldTxt,newTxt );
599- }
600- }
601- return rtn;
602-}
603-
604-/*
605- * 3.8.6.1 (2006/10/24)
606- */
607-function getDimensions(obj){
608- var _width , _height , _top , _left ;
609-
610- _width = obj.offsetWidth;
611- _height = obj.offsetHeight;
612- _top = 0;
613- _left = 0;
614- for (; obj != null; obj = obj.offsetParent) {
615- _top += obj.offsetTop;
616- _left += obj.offsetLeft;
617- }
618- return {top:_top, left:_left, width:_width, height:_height};
619-}
620-
621-function getClientHeight() {
622- var nClientHeight = 0;
623- if( bIsCSS1Compat ) {
624- nClientHeight =document.documentElement.clientHeight;
625- }
626- else {
627- nClientHeight =document.body.clientHeight;
628- }
629-
630- return nClientHeight;
631-}
632-
633-function getClientWidth() {
634- var nClientWidth = 0;
635- if( bIsCSS1Compat ) {
636- nClientWidth =document.documentElement.clientWidth;
637- }
638- else {
639- nClientWidth =document.body.clientWidth;
640- }
641-
642- return nClientWidth;
643-}
644-
645-/* Dummy function */
646-function hilightRow() {
647- return ;
648-}
649-
650-/*
651- * 4.3.1.0 (2008/09/03)
652- *
653- * for prev,next
654- */
655-function submitPrevNextForm( val ) {
656- var frm , cmd ;
657-
658- frm = document.forms[0];
659- cmd = document.getElementById("h_cmd");
660- if( frm != null && cmd != null ) {
661- cmd.value = val;
662- frm.submit();
663- cmd.value = "NEW";
664- }
665- return false;
666-}
667-
668-/*
669- * 4.3.6.0 (2009/04/01)
670- *
671- * for expand menu
672- * @param evt event
673- * @param trg trigger (this)
674- * @param hiddenClass target class name
675- */
676-function hideClass( evt, trg, hiddenClass, imgA, imgB ){
677- atsrc = $(trg).attr("src");
678- if(atsrc.indexOf( imgA ) >= 0){
679- $(trg).attr("src",atsrc.replace( imgA, imgB ));
680- }
681- else{
682- $(trg).attr('src',atsrc.replace( imgB ,imgA ));
683- }
684- $('.'+hiddenClass).toggle();
685- adjustFrameHeight();
686-}
687-
688-/*************************************************************************************
689- * 各JavaScriptからイベント(主にカラムに割り当てられたイベント)を登録します。
690- *
691- * 内部的には、セレクタ毎に、イベントを配列で保持することで、後のイベント発動時の
692- * セレクタ処理時間を短縮しています。
693- *
694- * @og.rev 5.2.0.0 (2010/09/01) 新規作成
695- *
696- * @param String イベントを登録する要素のセレクタ文字列
697- * @param String バインドするイベント
698- * @param function イベント発生時に実行する関数
699- * @param String (任意指定)イベントを登録するセレクタに対して、さらに要素を絞り込むためのフィルター
700- * @param boolean (任意指定)イベントバインド時にイベントを実行するかどうか (初期値:false)
701- * @param function (任意指定)イベントのバインド直前に、実行する関数を指定します。
702- * Revision: $Id$
703- *************************************************************************************/
704-var ogEvents = new Object();
705-function setEvent() {
706- var thisSelector , thisEvent , thisFunction , thisFilter , isFire , bFunc ;
707-
708- thisSelector = arguments[0];
709- thisEvent = arguments[1];
710- thisFunction = arguments[2];
711- thisFilter = arguments[3];
712- isFire = arguments[4];
713- bFunc = arguments[5];
714- if( ogEvents[thisSelector] == null ) {
715- ogEvents[thisSelector] = new Array();
716- }
717- ogEvents[thisSelector][ogEvents[thisSelector].length]
718- = { 'event': thisEvent, 'function': thisFunction, 'filter': thisFilter, 'fire': isFire, 'bindFunc': bFunc };
719-}
720-
721-/*************************************************************************************
722- * 各JavaScriptで登録されたイベント(主にカラムに割り当てられたイベント)を
723- * 実際のイベントハンドラにバインドします。
724- *
725- * @og.rev 5.2.0.0 (2010/09/01) 新規作成
726- *
727- * @param jQueryObject (任意指定)イベント登録を走査する要素の集合(指定しない場合、
728- * ドキュメント全体に対して走査されます。
729- * Revision: $Id$
730- *************************************************************************************/
731-var endInitEvent = false;
732-function bindEvents() {
733- var ogSelector , jEle , evList , isFire , jEleTmp , i , j ;
734-
735- for( ogSelector in ogEvents ) {
736- jEle = arguments[0] ? arguments[0].find( ogSelector ) : $( ogSelector );
737- evList = ogEvents[ogSelector];
738- isFire = false;
739- for( i=0; i<evList.length; i++ ) {
740- if( evList[i]["bindFunc"] ) { evList[i]["bindFunc"](); }
741-
742- jEleTmp = evList[i]["filter"] ? jEle.filter( evList[i]["filter"] ) : jEle;
743- jEleTmp.bind( evList[i]["event"], evList[i]["function"] );
744- if( evList[i]["fire"] ) {
745- isFire = true;
746- for( j=0; j<jEleTmp.length; j++ ) {
747- $(jEleTmp[j]).triggerHandler( evList[i]["event"] );
748- }
749- }
750- }
751- }
752- endInitEvent = true;
753-}
754-
755-/*************************************************************************************
756- * イベントハンドラに登録されたイベントの初期実行が終わっているかどうかを返します。
757- *
758- * @og.rev 5.2.0.0 (2010/09/01) 新規作成
759- *
760- * Revision: $Id$
761- *************************************************************************************/
762-function isEndInitEvent() { return endInitEvent; }
763-
764-/************************************************************************************/
765-/* 旧 inputMenu.js の内容を移植 5.2.1.0 (2010/10/01) */
766-/* */
767-/* @og.rev 5.6.3.0 (2013/04/01) changeイベント発生 */
768-/* Revision: $Id$ */
769-/************************************************************************************/
770-function selChanged(sel) {
771- var text = sel.textObj;
772- text.value = sel.options[sel.selectedIndex].value;
773- if( text.value == "" ) {
774- text.value = sel.options[sel.selectedIndex].text;
775- }
776- // 5.6.3.0 (2013/04/01)
777- $(text).change();
778-// sel.selectedIndex = -1;
779-}
780-
781-// function getDimensions(obj){
782-// var _width = obj.offsetWidth;
783-// var _height = obj.offsetHeight;
784-// var _top = 0, _left = 0;
785-// for (; obj != null; obj = obj.offsetParent) {
786-// _top += obj.offsetTop;
787-// _left += obj.offsetLeft;
788-// }
789-// return {top:_top, left:_left, width:_width, height:_height};
790-// }
791-
792-// Ver 3.8.9.2 (2007/07/13) setTimeout 100 -> 200 ms
793-function makeInputMenu(id) {
794- var text , sel , tid , w , dim , dim2 ;
795-
796- text = document.getElementById(id);
797- sel = document.getElementById(id+".sel");
798-
799-// var tid;
800- //if( text.offsetWidth == 0 ) {
801- if( !text.setSel ) {
802- text.setSel = true;
803- tid = setTimeout( "makeInputMenu('" + id + "')",200 ); // 100 -> 200 ms
804- return ;
805- }
806- // 2009/06/09 - Comment Out
807- //clearTimeout( tid );
808-
809- // w = text.offsetWidth - 15 + "px";
810- w = text.offsetWidth - 18 + "px"; // 2011/12/07 -3px
811- sel.style.position = "absolute"; // JyunBAN ga Jyuyo
812- sel.style.width = text.offsetWidth + "px";
813- sel.style.height = text.offsetHeight + "px";
814- dim = getDimensions(text);
815- dim2 = getDimensions(sel.offsetParent);
816- sel.style.left = dim.left - dim2.left + "px";
817- sel.style.top = dim.top - dim2.top + "px";
818- sel.style.clip = "rect(auto auto auto "+w+")";
819- sel.textObj = text;
820- sel.selectedIndex = -1;
821-}
822-
823-/************************************************************************************/
824-/* 旧 ogPopup.js の内容を移植 5.2.1.0 (2010/10/01) */
825-/* */
826-/* 3.8.6.1 (2006/10/20) */
827-/* POPUP画面起動用標準Function(TS より寄贈) */
828-/* Modified: 2009/05/15 Extend to Firefox */
829-/* ポップアップ画面から値を渡し、ウィンドウを閉じる(ogPopup と同時使用) */
830-/* <og:view ・・・・ popupReturnKeys = "SYSTEM_ID,CLM,NAME_JA" /> */
831-/* 5.2.1.0 (2010/10/01) */
832-/* height,width は、px 単位が付いているものとして扱う */
833-/* 5.5.1.5 (2012/04/12) [0]が_RENEWなら[1]をRENEWで呼び出し */
834-/* Revision: $Id$ */
835-/************************************************************************************/
836-
837-function rtnPopup( rtnValue ) {
838- window.returnValue = rtnValue;
839- window.close();
840-}
841-
842-/********************************************************************/
843-/* TS POPUP画面起動用標準Function() */
844-/* 引数0:POPUP PGID */
845-/* 引数1:POPUP 高(px) */
846-/* 引数2:POPUP 幅(px) */
847-/* 引数3:入力の引数(1,2をセットに複数可能) */
848-/* 1:key ・・・ 呼出先画面のカラム名 */
849-/* 2:value ・・・ 呼出元画面の値 */
850-/* 引数4:this */
851-/* 引数5:出力の引数(KEY1,KEY2,・・) */
852-/* */
853-/* 【例1】返り値が不要なケース */
854-/* <og:popup gamenId="GEXXXX" href="popup.jsp" */
855-/* keys="SYSTEM_ID,CLM,NAME_JA" */
856-/* vals="{@SYS.SYSTEM_ID},CLM.value,NAME_JA.value" /> */
857-/* */
858-/* 【例2】返り値が通常のテキストフィールドのケース */
859-/* <og:popup gamenId="GEXXXX" href="popup.jsp" */
860-/* keys="SYSTEM_ID,CLM,NAME_JA" */
861-/* vals="{@SYS.SYSTEM_ID},CLM.value,NAME_JA.value" */
862-/* rtnKeys="SYSTEM_ID,CLM,NAME_JA" /> */
863-/* */
864-/* 【例3】一覧表示の行単位に値を設定するケース */
865-/* <og:viewMarker command="{@command}" isRenderer="false"> */
866-/* <og:popup column="PUP" href="popup.jsp" */
867-/* keys="SYSTEM_ID,CLM,NAME_JA" */
868-/* vals="[SYSTEM_ID],[CLM].value,[NAME_JA].value" */
869-/* rtnKeys="SYSTEM_ID,CLM,NAME_JA" /> */
870-/* </og:viewMarker> */
871-/* */
872-/* 5.1.7.0 (2010/06/01) 引数にコマンドを追加 */
873-/* 5.7.5.0 (2014/04/04) サイズ変更できるように resizable:on;追加 */
874-/* 5.8.3.0 (2015/01/09) V6(6.1.0.0)の修正の取り込み */
875-/* 5.8.3.1 (2015/01/23) 修正の取り込み */
876-/********************************************************************/
877-
878-// function ogPopup( p_pgid,p_height,p_width,p_in_Array,p_this,p_out_Array,event ) {
879-//function ogPopup( p_pgid,p_height,p_width,p_in_Array,p_this,p_out_Array,command,event ) {
880-function ogPopup( p_pgid,p_height,p_width,p_in_Array,p_this,p_out_Array,command,p_append,event ) {
881- var height , width , url , sTmp , param , ret_val , tmp , i , j , _oldTmpVal ;
882-
883- // 5.8.5.0 (2015/02//6) キャレットの位置を取得
884- var getCaretPositionIE = function( elem ){
885- elem.focus();
886- var range = document.selection.createRange();
887- range.moveStart( "character", - elem.value.length );
888- var caret_position = range.text.length;
889- return caret_position;
890- }
891-
892- // 5.2.1.0 (2010/10/01)
893- height = "600px" ;
894- width = "900px" ;
895-
896-// if( p_height != null && p_height.length() > 0 ) { height = p_height; }
897-// if( p_width != null && p_width.length() > 0 ) { width = p_width; }
898- if( p_height != null ) { height = p_height; }
899- if( p_width != null ) { width = p_width; }
900-
901- // 5.8.3.0 (2014/01/09) height,width の "px" 処理の修正
902- height = p_height ? parseInt(p_height, 10) + "px" : "600px" ;
903- width = p_width ? parseInt(p_width , 10) + "px" : "900px" ;
904-
905- // ポップアップ画面定義
906-// var url = p_pgid + "?command=NEW";
907-// var url = p_pgid + "?command=" + command;
908- url = p_pgid + "?command=" + ( command ? command : "NEW" );
909-// sTmp = 'dialogHeight:' + height + 'px;dialogWidth:' + width + 'px';
910-// sTmp = 'dialogHeight:' + height + ';dialogWidth:' + width; // 5.2.1.0 (2010/10/01)
911- sTmp = 'resizable:on; dialogHeight:' + height + ';dialogWidth:' + width; // 5.7.5.0 (2014/04/04)
912- if( event ) {
913- sTmp = sTmp + ';dialogLeft:' + event.screenX + 'px;' + 'dialogTop:' + event.screenY + 'px';
914- }
915-
916- // 入力引数の設定
917- if( p_in_Array != null ) {
918- for( i=0; i<p_in_Array.length; i+=2 ) {
919-// url = url + "&" + p_in_Array[i] + "=" + EscapeUTF8(p_in_Array[i+1]);
920- url = url + "&" + p_in_Array[i] + "=" + encodeURIComponent( p_in_Array[i+1]); // 5.2.0.0 (2010/09/01)
921- }
922- }
923-
924- // ポップアップ画面
925- param = "";
926- if( ( p_out_Array != null ) && ( document.getElementById( p_out_Array[0] ) ) ){
927- param = document.getElementById( p_out_Array[0] ).value;
928- }
929- ret_val = showModalDialog( url,param,sTmp );
930- // 4.1.1.2 2008/03/11 既存仕様に合わせるため、戻り値が文字列の場合は、配列に変換
931- //if( ( ret_val != null ) && ( ret_val[0] == null ) ){
932- if( ( ret_val != null ) && ( typeof ret_val !== "object" ) ){
933- ret_val = new Array( ret_val );
934- }
935-
936- // 5.5.3.0 changeイベントを起こすオブジェクトを保存しておいて、後からキックする
937- var changes_obj = new Array();
938-
939- // 5.8.3.0, 5.8.3.1
940- // 出力引数に、ポップアップからの戻り値を設定
941- if( ret_val != null && p_out_Array != null ) {
942-// var tmp,j ;
943- for( j=0; ( j<p_out_Array.length && j<ret_val.length ) ; j++ ) {
944- if( p_out_Array[j] != '' ) {
945-// tmp = eval( 'document.' + p_this.form +'.' + p_out_Array[j]);
946- tmp = p_this.form.elements[p_out_Array[j]];
947- if( tmp != null ) {
948- // 6.1.0.0 (2014/12/26) ヘッダー固定のBulkSet対応
949- // 6.1.1.0 (2015/01/17) BulkSet のキーは、"h_" で始まり、getElementsByName() は複数存在する場合
950-// if( tmp.length ) { // getElementsByName() の戻り値で複数存在した場合
951- if( p_out_Array[j].indexOf( "h_" ) == 0 && tmp.length ) {
952- for( var k=0; k<tmp.length; k++) {
953- _oldTmpVal = tmp[k].value;
954-
955- if( p_append == "true" ){ // 5.8.5.0 (2015/02/16)
956- var caret_position = getCaretPositionIE(tmp[k]);
957- tmp[k].value = tmp[k].value.substring(0,caret_position) + ret_val[j] + tmp[k].value.substring(caret_position,tmp[k].value.length);
958- }
959- else{
960- tmp[k].value = ret_val[j];
961- }
962- // 4.3.6.2 (2009/04/15) 異なる値をセットした場合にChangeイベントを発生させる。
963- if( _oldTmpVal != ret_val[j] ){
964- //$(tmp[k]).change();
965- changes_obj[changes_obj.length] = tmp[k];
966- }
967- }
968- }
969- else {
970- _oldTmpVal = tmp.value;
971-
972- if( p_append == "true" ){ // 5.8.5.0 (2015/02/16)
973- var caret_position = getCaretPositionIE(tmp);
974- tmp.value = tmp.value.substring(0,caret_position) + ret_val[j] + tmp.value.substring(caret_position,tmp.value.length);
975- }
976- else{
977- tmp.value = ret_val[j];
978- }
979- // 4.3.6.2 (2009/04/15) 異なる値をセットした場合にChangeイベントを発生させる。
980- if( _oldTmpVal != ret_val[j] ){
981- //$(tmp).change();
982- changes_obj[changes_obj.length] = tmp;
983- }
984- }
985- }
986- }
987- }
988- }
989-
990- // 5.5.3.0
991- for( i=0; i<changes_obj.length; i++){
992- $(changes_obj[i]).change();
993- }
994-
995- // 5.5.1.5 (2012/04/12) 先頭が_RENEWの場合は[1]をRENEW付きでcall
996- if( ret_val != null && ret_val[0] == '_RENEW' ){
997- if(ret_val[1].indexOf('?') > 0 ){
998- location.href=ret_val[1]+'&command=RENEW';
999- }
1000- else{
1001- location.href=ret_val[1]+'?command=RENEW';
1002- }
1003- }
1004-}
1005-
1006-// http://nurucom-archives.hp.infoseek.co.jp/digital/ecl.js.txt
1007-//EscapeUTF8=function(str){
1008-// return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
1009-// var c=s.charCodeAt(0);
1010-// return (c<16?"%0"+c.toString(16):c<128?"%"+c.toString(16):c<2048?"%"+(c>>6|192).toString(16)+"%"+(c&63|128).toString(16):"%"+(c>>12|224).toString(16)+"%"+(c>>6&63|128).toString(16)+"%"+(c&63|128).toString(16)).toUpperCase()
1011-// })
1012-//};
1013-
1014-/*
1015- * 4.0.1.0 (2007/12/12) Window opens.
1016- *
1017- * default.js#window_open( url,evt,name,opt ) の代替処理
1018- * The event is received, and new window is opened at the clicked position.
1019- *
1020- * ogOpen( url,evt,name,opt )
1021- * url : Opening URL is specified.
1022- * evt : When the number of cases is a little, height is adjusted, and the scroll bar is displayed.
1023- * name : It is a name when the value is returned.
1024- * opt : It is an option for the opening of window.
1025- *
1026- * The following examples are samples of the calendar assistance menu.
1027- *
1028- * TEST1:<input type="text" name="TEST1" id="TEST1" size="10" maxlength="8" value="20040201" />
1029- * <img src="calendar.gif" onclick="ogOpen('../common/calendar.html', event,'TEST1','width=220,height=170,resizable=no' );" />
1030- *
1031- */
1032-function ogOpen( url,evt,name,opt ){
1033- var option , move ;
1034- option = opt;
1035- if( evt != null ) {
1036- move = 'left=' + evt.x + ',top=' + evt.y ;
1037- if( option != null ) {
1038- option += ',' + move ;
1039- }
1040- }
1041-
1042- window.open( url, name, option );
1043-}
1044-
1045-/*
1046- * 5.2.1.0 (2010/10/01) DisplayCapture
1047- *
1048- * org.opengion.fukurou.util.DisplayCapture のデータをクリップボード経由でやり取りします。
1049- * GUI:{@GUI.KEY} {@SESSION.JSPID} 形式のデータを受け取り、画面キャプチャを所定の
1050- * フォルダに出力します。
1051- * エラーが発生したときは、クリップボード経由で報告します。
1052- *
1053- * window.onload = setTimeout( 'setDisplayCapture( "GUI:{@GUI.KEY} {@SESSION.JSPID}" )', 100 );
1054- *
1055- */
1056-function setDisplayCapture( msg ) {
1057- clipboardData.setData( "Text", msg );
1058-
1059- setTimeout( "getDisplayCapture()", 1000 ); // エラーメッセージの取得は、時間差で行う。
1060-}
1061-
1062-function getDisplayCapture() {
1063- var cpdata = clipboardData.getData("Text");
1064- if( cpdata.lastIndexOf("ERROR:", 0) == 0 ) {
1065- alert(cpdata);
1066- }
1067- return cpdata ;
1068-}
1+function getInternetExplorerVersion(){var c=-1,a,b;if(navigator.appName=="Microsoft Internet Explorer"){a=navigator.userAgent;b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!=null){c=parseFloat(RegExp.$1)}}return c}var isCSS,isW3C,isIE4,isNN4,isIE6CSS;function initDHTMLAPI(){if(document.images){isCSS=(document.body&&document.body.style)?true:false;isW3C=(isCSS&&document.getElementById)?true:false;isIE4=(isCSS&&document.all)?true:false;isNN4=(document.layers)?true:false;isIE6CSS=(document.compatMode&&document.compatMode.indexOf("CSS1")>=0)?true:false}__bInitDhtmlApi=true}var __bInitDhtmlApi=false;function getInsideWindowWidth(){if(window.innerWidth){return window.innerWidth}else{if(isIE6CSS){return document.body.parentElement.clientWidth}else{if(document.body&&document.body.clientWidth){return document.body.clientWidth}}}return 0}function getInsideWindowHeight(){if(window.innerHeight){return window.innerHeight}else{if(isIE6CSS){return document.body.parentElement.clientHeight}else{if(document.body&&document.body.clientHeight){return document.body.clientHeight}}}return 0}function addEvent(c,b,d,a){if(c.addEventListener){a=((a)?true:false);c.addEventListener(b,d,a);return true}else{if(c.attachEvent){return c.attachEvent("on"+b,d)}else{c["on"+b]=d}}}var _sCompat_=document.compatMode;var bIsCSS1Compat=("CSS1Compat"==_sCompat_);function focus2(){var f,e,i,c,b,d,h,a,g;f=document.getElementsByName("h_fcs");if(f.length>0){e=f[0];d=e.parentNode;while(d){if(d.tagName=="TR"){i=d}if(i&&d.tagName=="DIV"){if(d.id=="layer"){c=d}if(d.id=="X1"||d.id=="X2"){b=d;if(!b.HSibling){b.HSibling=document.getElementById((d.id=="X1"?"X2":"X1"))}break}}d=d.parentNode}h=(c?c.getElementsByTagName("THEAD"):null);a=(h&&h.length>0?h[0].offsetHeight+5:0);if(c){if(h.length>0&&h[0].id=="divheader"){g=h[0]}if(g){e.scrollIntoView(true);if(c.scrollTop>=g.offsetHeight){c.scrollTop-=g.offsetHeight}}else{c.scrollIntoView(true);c.scrollTop=Math.max(i.offsetTop-a,0);if(c.HSibling){c.HSibling.scrollTop=Math.max(i.offsetTop-a,0)}}}else{if(b){b.scrollIntoView(true);b.scrollTop=Math.max(i.offsetTop-a,0);if(b.HSibling){b.HSibling.scrollTop=Math.max(i.offsetTop-a,0)}}else{if(i){window.scrollTo(0,i.offsetTop)}else{e.scrollIntoView(true)}}}}}function historyBack(){var d,b,a,c;d=document.getElementsByTagName("FORM");if(d.length>0){b=d[0];for(a=0;a<b.elements.length;a++){c=b.elements[a];if(c!=null&&c.name=="historyBack"){if(c.value=="1"){c.value="0";b.submit()}else{c.value="1"}break}}}}function changeImage(b,a){document.images[b].src=a}var isClicked=false;function oneClick(){if(isClicked){alert("Don't click twice.");return false}else{isClicked=true;return true}}function renew(b,d,e){var a=null,c;if(e!=null){a=e.form}else{c=document.getElementsByTagName("FORM");if(c.length>0){a=c[0]}}if(a!=null){a.action=b;a.target=d;a.submit()}}function nextForm(b,a,c){if(b.value.length>=c){var d=b.form.elements[a];if(d[0]!=null&&d[0].name!=null){d[0].focus()}else{if(d!=null){d.focus()}else{alert("There is no field named ["+a+"]")}}}}function checkbox(b){var e,a,g,c,d;e=b.form;if(e!=null){a=e.elements;g=a.length;for(c=0;c<g;c++){d=a[c];if(d.name=="h_rowSel"||d.name=="ALL_CHECK"){d.checked=b.checked}}}}var EMPTY_STR="";var strOldKey=EMPTY_STR;var oOldSelect=null;var BACKSPACE_CODE=8;function clearOldKey(){strOldKey=EMPTY_STR}function setKeySelect(g){var h,f,j,c,a,d,e,b,i;h=false;if(oOldSelect!=g){strOldKey=EMPTY_STR;oOldSelect=g;if(null==g.onblur){g.onblur=clearOldKey}}f=g.options;j=event.keyCode;c=(((j>=37)&&(j<=40))||((j>=48)&&(j<=90))||((j>=96)&&(j<=105))||(BACKSPACE_CODE==j));if(c){a=(((j>=37)&&(j<=40))&&!event.shiftKey);if(!a){if(90>=j){d=String.fromCharCode(j).toUpperCase()}else{d=String.fromCharCode(j-48)}if(BACKSPACE_CODE==j){e=((0<strOldKey.length)?strOldKey.substr(0,strOldKey.length-1):EMPTY_STR)}else{e=strOldKey+d}i=e.length;for(b=0;b<f.length;b++){if(e==f(b).text.substr(0,i).toUpperCase()){h=true;break}}if(h){strOldKey=e;if(g.selectedIndex!=b){g.selectedIndex=b}}event.returnValue=false}else{strOldKey=EMPTY_STR}}return h}function window_open(d,b,c,e){var f,a;f=e;if(b!=null){a="left="+b.x+",top="+b.y;if(f!=null){f+=","+a}}window.open(d,c,f)}function adjustFrameHeight(){var f,g,l,a,c,h,k,e,b,d;adjustFrameHeight_iframe();f=parent.document.getElementsByName("SUB_FRAME");if(f==null){return}g=null;l=null;if(f.length==1){g=f[0];l=parent.frames}if(g==null||g.rows==null||g.rows.length==0||l==null||l.length==0){return}var j=g.rows.split(",");a=null;c=null;var m=Math.min(j.length,l.length);for(h=0;h<m-1;h++){c=l[h].document.getElementById("END_MARKER");if(c==null){a=a+(document.body.scrollHeight)+","}else{k=l[h].document.documentElement.scrollWidth;e=l[h].document.documentElement.clientWidth;b=(/a/[-1]=="a");d=5;if(b||k!=e){d+=14}a=a+(c.offsetTop+c.parentNode.offsetTop+d)+","}}a=a+"*";g.rows=a}function adjustFrameWidth(){var e,d,a,b,c;e=parent.document.getElementsByName("RES_FRAME");if(e==null){return}d=null;a=null;if(e.length==1){d=e[0];a=parent.frames}if(d==null||d.cols==null||d.cols.length==0||a==null||a.length==0){return}for(b=0;b<a.length;b++){if(a[b].name=="UPDATE"){sw=a[b].document.documentElement.scrollWidth;c=sw+2;d.cols="*,"+c;return}}}var initRow=new Object();function autoArea(c,e){var d,b,a;if(c==null){return}if(initRow[c.name]==null){initRow[c.name]=c.rows}if(isCntAction(event.keyCode)){d=c.value;b=1;a=d.indexOf("\n");while(a>=0){b++;a=d.indexOf("\n",a+1)}if(b<initRow[c.name]){b=initRow[c.name]}if(e!=null&&b>e){b=e}c.rows=b}}function isCntAction(a){return(a==13||a==14||a==8||a==46||a==67||a==86||a==88)}function hide(f,e){var d,c,b,a;d=document.getElementById(f+"A");if(d!=null){c=document.getElementById(f+"B");b=null;if(e!=null){b=document.getElementsByName(e)}if(d.style.display=="none"){d.style.display="inline";if(c!=null){c.innerHTML="- "}if(b!=null){for(a=1;a<b.length;a++){b[a].value="false"}}}else{d.style.display="none";if(c!=null){c.innerHTML="+ "}if(b!=null){for(a=1;a<b.length;a++){b[a].value="true"}}}}adjustFrameHeight()}function replaceText(d,a,b){var c=d;if(c!=null){while(c.indexOf(a)>=0){c=c.replace(a,b)}}return c}function getDimensions(d){var a,b,e,c;a=d.offsetWidth;b=d.offsetHeight;e=0;c=0;for(;d!=null;d=d.offsetParent){e+=d.offsetTop;c+=d.offsetLeft}return{top:e,left:c,width:a,height:b}}function getClientHeight(){var a=0;if(bIsCSS1Compat){a=document.documentElement.clientHeight}else{a=document.body.clientHeight}return a}function getClientWidth(){var a=0;if(bIsCSS1Compat){a=document.documentElement.clientWidth}else{a=document.body.clientWidth}return a}function hilightRow(){return}function submitPrevNextForm(c){var b,a;b=document.forms[0];a=document.getElementById("h_cmd");if(b!=null&&a!=null){a.value=c;b.submit();a.value="NEW"}return false}function hideClass(b,a,e,d,c){atsrc=$(a).attr("src");if(atsrc.indexOf(d)>=0){$(a).attr("src",atsrc.replace(d,c))}else{$(a).attr("src",atsrc.replace(c,d))}$("."+e).toggle();adjustFrameHeight()}var ogEvents=new Object();function setEvent(){var f,a,e,b,c,d;f=arguments[0];a=arguments[1];e=arguments[2];b=arguments[3];c=arguments[4];d=arguments[5];if(ogEvents[f]==null){ogEvents[f]=new Array()}ogEvents[f][ogEvents[f].length]={event:a,"function":e,filter:b,fire:c,bindFunc:d}}var endInitEvent=false;function bindEvents(){var g,d,f,e,c,b,a;for(g in ogEvents){d=arguments[0]?arguments[0].find(g):$(g);f=ogEvents[g];e=false;for(b=0;b<f.length;b++){if(f[b]["bindFunc"]){f[b]["bindFunc"]()}c=f[b]["filter"]?d.filter(f[b]["filter"]):d;c.bind(f[b]["event"],f[b]["function"]);if(f[b]["fire"]){e=true;for(a=0;a<c.length;a++){$(c[a]).triggerHandler(f[b]["event"])}}}}endInitEvent=true}function isEndInitEvent(){return endInitEvent}function selChanged(a){var b=a.textObj;b.value=a.options[a.selectedIndex].value;if(b.value==""){b.value=a.options[a.selectedIndex].text}$(b).change()}function makeInputMenu(h,b){var g,c,f,a,e,d;g=document.getElementById(h);c=document.getElementById(h+".sel");if(b==undefined){b=0}else{b++}if((!g.setSel||g.offsetWidth==0)&&b<10){g.setSel=true;f=setTimeout("makeInputMenu('"+h+"',"+b+")",200);return}a=g.offsetWidth-18+"px";c.style.position="absolute";c.style.width=g.offsetWidth+"px";c.style.height=g.offsetHeight+"px";e=getDimensions(g);d=getDimensions(c.offsetParent);c.style.left=e.left-d.left+"px";c.style.top=e.top-d.top+"px";c.style.clip="rect(auto auto auto "+a+")";c.textObj=g;c.selectedIndex=-1}function rtnPopup(a){if(parent){parent.window.returnValue=a}else{window.returnValue=a}window.close()}function ogPopup(t,o,a,c,p,n,e,s,x){var r,u,h,l,m,g,z,y,w,d;var f=function(k){k.focus();var j=document.selection.createRange();j.moveStart("character",-k.value.length);var i=j.text.length;return i};r="600px";u="900px";if(o!=null){r=o}if(a!=null){u=a}r=o?parseInt(o,10)+"px":"600px";u=a?parseInt(a,10)+"px":"900px";h=t+"?command="+(e?e:"NEW");l="resizable:on; dialogHeight:"+r+";dialogWidth:"+u;if(x){l=l+";dialogLeft:"+x.screenX+"px;dialogTop:"+x.screenY+"px"}if(c!=null){for(y=0;y<c.length;y+=2){h=h+"&"+c[y]+"="+encodeURIComponent(c[y+1])}}m="";if((n!=null)&&(document.getElementById(n[0]))){m=document.getElementById(n[0]).value}g=showModalDialog(h,m,l);if((g!=null)&&(typeof g!=="object")){g=new Array(g)}var q=new Array();if(g!=null&&n!=null){for(w=0;(w<n.length&&w<g.length);w++){if(n[w]!=""){z=$(p).closest("form").get(0).elements[n[w]];if(z!=null){if(n[w].indexOf("h_")==0&&z.length){for(var v=0;v<z.length;v++){d=z[v].value;if(s=="true"){var b=f(z[v]);z[v].value=z[v].value.substring(0,b)+g[w]+z[v].value.substring(b,z[v].value.length)}else{z[v].value=g[w]}if(d!=g[w]){q[q.length]=z[v]}}}else{d=z.value;if(s=="true"){var b=f(z);z.value=z.value.substring(0,b)+g[w]+z.value.substring(b,z.value.length)}else{z.value=g[w]}if(d!=g[w]){q[q.length]=z}}}}}}for(y=0;y<q.length;y++){$(q[y]).change()}if(g!=null&&g[0]=="_RENEW"){if(g[1].indexOf("?")>0){location.href=g[1]+"&command=RENEW"}else{location.href=g[1]+"?command=RENEW"}}}function ogOpen(d,b,c,e){var f,a;f=e;if(b!=null){a="left="+b.x+",top="+b.y;if(f!=null){f+=","+a}}window.open(d,c,f)}function setDisplayCapture(a){clipboardData.setData("Text",a);setTimeout("getDisplayCapture()",1000)}function getDisplayCapture(){var a=clipboardData.getData("Text");if(a.lastIndexOf("ERROR:",0)==0){alert(a)}return a}function adjustFrameHeight_iframe(){var e=$("iframe.HYBS_IFRAME",parent.document);if(e.length<1){return}var b=parent.document.documentElement.clientHeight;var d=0;var a=document.documentElement.scrollWidth;var c=document.documentElement.clientWidth;var f=(/a/[-1]=="a");$(e).each(function(g,l){if(g!=e.length-1){var k=$("#END_MARKER",$(l).contents());var h=k[0];var j=5;if(f||a!=c){j+=14}var i=h.offsetTop+h.parentNode.offsetTop+j;$(l).height(i);d=d+i+8}else{$(l).css("height","calc(100% - "+d+"px)").css("min-height","100px")}})}function toZenkakuKana(c){var d=new Array("ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ヴ","ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ","ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ヲ","ン");var a=new Array("ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ヴ","ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ","ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ヲ","ン");for(var b=0;b<d.length;b++){c=c.replace(new RegExp(d[b],"g"),a[b])}return c};
\ No newline at end of file
--- trunk/opengionV5/uap/webapps/gf/doc/RELEASE-NOTES.txt (revision 1757)
+++ trunk/opengionV5/uap/webapps/gf/doc/RELEASE-NOTES.txt (revision 1758)
@@ -1,4 +1,9 @@
1-5.10.15.0 (2019/08/30)
1+5.10.15.1 (2019/09/06)
2+ [高さ調整スクリプト修正]
3+ 3ペインで中央がdummy.htmlだった場合にもなんとなく動作するようにしておきます。
4+ jsp/common/default.js#adjustFrameHeight()
5+
6+5.10.15.0 (2019/08/30)
27 [MQ,SQS送信修正]
38 一部fukurouにhayabusaパッケージが利用されていたので修正しておきます。
49 また、デーモンでの送信用にクラスを追加しておきます。
--- trunk/opengionV5/uap/webapps/gf/jsp/common/default.js (revision 1757)
+++ trunk/opengionV5/uap/webapps/gf/jsp/common/default.js (revision 1758)
@@ -1,1068 +1 @@
1-/* Warning: Please carry out the opening save of this file by UTF-8. */
2-
3-//Copy From http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/browserdetection.asp
4-// Returns the version of Internet Explorer or a -1
5-// (indicating the use of another browser).
6-function getInternetExplorerVersion() {
7- var rv = -1 , ua , re ; // Return value assumes failure
8- if (navigator.appName == 'Microsoft Internet Explorer') {
9- ua = navigator.userAgent;
10- re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
11- if (re.exec(ua) != null)
12- rv = parseFloat( RegExp.$1 );
13- }
14- return rv;
15-}
16-
17-// Global variables
18-var isCSS, isW3C, isIE4, isNN4, isIE6CSS;
19-// Initialize upon load to let all browsers establish content objects
20-function initDHTMLAPI() {
21- if (document.images) {
22- isCSS = (document.body && document.body.style) ? true : false;
23- isW3C = (isCSS && document.getElementById) ? true : false;
24- isIE4 = (isCSS && document.all) ? true : false;
25- isNN4 = (document.layers) ? true : false;
26- isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
27- }
28-
29- __bInitDhtmlApi = true;
30-}
31-// Set event handler to initialize API
32-//window.onload = initDHTMLAPI;
33-var __bInitDhtmlApi = false;
34-
35-// Return the available content width space in browser window
36-function getInsideWindowWidth() {
37- if (window.innerWidth) {
38- return window.innerWidth;
39- } else if (isIE6CSS) {
40- // measure the html element's clientWidth
41- return document.body.parentElement.clientWidth;
42- } else if (document.body && document.body.clientWidth) {
43- return document.body.clientWidth;
44- }
45- return 0;
46-}
47-
48-// Return the available content height space in browser window
49-function getInsideWindowHeight() {
50- if (window.innerHeight) {
51- return window.innerHeight;
52- } else if (isIE6CSS) {
53- // measure the html element's clientHeight
54- return document.body.parentElement.clientHeight;
55- } else if (document.body && document.body.clientHeight) {
56- return document.body.clientHeight;
57- }
58- return 0;
59-}
60-
61-function addEvent(element, eventType, fn, useCapture) {
62- if (element.addEventListener) { // W3C DOM Standard - FireFox ...
63- useCapture = ((useCapture) ? true : false);
64- element.addEventListener(eventType, fn, useCapture);
65- return true;
66- }
67- else if (element.attachEvent) { // Internet Explorer
68-// var r = element.attachEvent('on' + eventType, fn);
69-// return r;
70- return element.attachEvent('on' + eventType, fn);
71- }
72- else {
73- element['on'+eventType] = fn;
74- }
75-}
76-
77-/* Focus is moved to the first object of the element. */
78-/* 3.1.1.0 (2003/03/28) When the first element is a button, focus is not applied. */
79-
80-var _sCompat_ = document.compatMode;
81-// var bIsBackCompat = ( "BackCompat" == _sCompat_ );
82-var bIsCSS1Compat = ( "CSS1Compat" == _sCompat_ );
83-
84-/* 3.5.6.4 (2004/07/16) Focus is appropriated to the selection check box. */
85-/* 3.6.0.0 (2004/09/17) One focus of the selection check is appropriated ahead by h_focus. */
86-/* 3.7.0.3 (2005/02/25) Correspondence of setScrollRowNo. two or more h_focus appears. */
87-/* 3.7.0.4 (2005/03/14) Correspondence when the first line is checked. */
88-/* 3.8.0.3 (2005/07/15) New Header Fix Type Add */
89-/* 3.8.6.3 (2006/11/30) h_focus scrollLeft */
90-/* 3.8.8.1 (2007/01/06) Old Header Fix Type scrollTop offset -25 */
91-/* 5.1.1.1 (2009/12/02) ヘッダーに改行が含まれている場合に正しく表示されないバグを修正 */
92-/* 5.1.8.0 (2010/07/01) oLayerが存在しない場合にエラーが発生するバグを修正 */
93-/* 5.3.2.0 (2011/02/01) ヘッダー固定しない状態で左右分割ガントを表示した際に右Viewの自動フォーカスが動かないバグを修正 */
94-function focus2() {
95- var fcu , oMySelf , oTr, oLayer, oDiv, oRun , oTHeads , iTHeadHeight , oDivHeader;
96-
97- fcu = document.getElementsByName( "h_fcs" );
98- if( fcu.length > 0 ) {
99- oMySelf = fcu[0];
100-
101- oRun = oMySelf.parentNode;
102- while(oRun) {
103- if(oRun.tagName == "TR" ) oTr = oRun;
104- if(oTr && oRun.tagName == "DIV") {
105- if(oRun.id == "layer") oLayer = oRun;
106-// if(oRun.id == "X1" || oRun.id == "X2") { oDiv = oRun; break; }
107- if(oRun.id == "X1" || oRun.id == "X2") {
108- oDiv = oRun;
109- if( !oDiv.HSibling ) {
110- oDiv.HSibling = document.getElementById( ( oRun.id == "X1" ? "X2" : "X1" ) );
111- }
112- break;
113- }
114- }
115- oRun = oRun.parentNode;
116- }
117-
118- // 5.1.1.1 (2009/12/02)
119- // 5.1.8.0 (2010/07/01) oLayerが存在しない場合にエラーが発生するバグを修正
120-// var oTHeads = oLayer.getElementsByTagName("THEAD");
121- oTHeads = ( oLayer ? oLayer.getElementsByTagName("THEAD") : null );
122- iTHeadHeight = ( oTHeads && oTHeads.length > 0 ? oTHeads[0].offsetHeight + 5 : 0 );
123-
124- if(oLayer) {
125-// var oTHeads = oLayer.getElementsByTagName("THEAD");
126-// var oDivHeader;
127- if(oTHeads.length >0 && oTHeads[0].id == "divheader") oDivHeader = oTHeads[0];
128- if(oDivHeader) {
129- //Set Expression Style Header Fixed(compatible with old version)
130- oMySelf.scrollIntoView( true );
131- if( oLayer.scrollTop >= oDivHeader.offsetHeight ) { // 3.8.0.3
132- oLayer.scrollTop -= oDivHeader.offsetHeight;
133- }
134- }
135- else {
136- //Div Style Header Fixed)
137- oLayer.scrollIntoView( true );
138- // oLayer.scrollTop = oTr.offsetTop;
139-// oLayer.scrollTop = Math.max( oTr.offsetTop - 5, 0 );
140- oLayer.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 );
141- // HSibling : 左右分割の意味
142- // if(oLayer.HSibling) oLayer.HSibling.scrollTop = oTr.offsetTop;
143-// if(oLayer.HSibling) oLayer.HSibling.scrollTop = Math.max( oTr.offsetTop - 5, 0 ); // 4.3.5.3 (2009/02/22)
144- if(oLayer.HSibling) oLayer.HSibling.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 ); // 5.1.1.1 (2009/12/02)
145- }
146- }
147- else if(oDiv) {
148- //Gantt Scroll
149- oDiv.scrollIntoView( true );
150- // oDiv.scrollTop = oTr.offsetTop;
151-// oDiv.scrollTop = Math.max( oTr.offsetTop - 5, 0 );
152- oDiv.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 );
153- // HSibling : 左右分割の意味
154- // if(oDiv.HSibling) oDiv.HSibling.scrollTop = oTr.offsetTop;
155-// if(oDiv.HSibling) oDiv.HSibling.scrollTop = Math.max( oTr.offsetTop - 5, 0 ); // 4.3.5.3 (2009/02/22)
156- if(oDiv.HSibling) oDiv.HSibling.scrollTop = Math.max( oTr.offsetTop - iTHeadHeight, 0 ); // 5.1.1.1 (2009/12/02)
157- }
158- else {
159- //Unspecified Table View
160- // 5.1.8.0 (2010/07/01) oLayerが存在しない場合にエラーが発生するバグを修正
161- if( oTr ) {
162- window.scrollTo( 0,oTr.offsetTop );
163- }
164- else {
165- oMySelf.scrollIntoView( true );
166- }
167- }
168- }
169-}
170-
171-/* 3.5.4.0 (2003/11/25) */
172-function historyBack() {
173- var oAllForms , f , i , obj ;
174-
175- oAllForms = document.getElementsByTagName("FORM");
176- if ( oAllForms.length > 0 ) {
177- f = oAllForms[0];
178- for ( i = 0; i < f.elements.length; i++) {
179- obj = f.elements[i];
180- if ( obj != null && obj.name == "historyBack" ) {
181- if( obj.value == "1" ) {
182- obj.value = "0";
183- f.submit();
184- }
185- else {
186- obj.value = "1";
187- }
188- break;
189- }
190- }
191- }
192-}
193-
194-/*
195- * The image is replaced.
196- *
197- * <a href="http://xxxxx"
198- * onMouseOver="changeImage('img01','over.gif')"
199- * onMouseOut ="changeImage('img01','up.gif')" >
200- * <img src="up.gif" alt="IMG" border="0" name="img01">
201- * </a>
202- */
203-function changeImage( id,src ) {
204- document.images[id].src = src;
205-}
206-
207-/*
208- * 3.3.3.0 (2003/07/09) Double registration prevention of data by pushing twice
209- *
210- * <form method="POST" action="forward.jsp" target="RESULT"
211- * onSubmit="return oneClick();">
212- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
213- * ・・・
214- * </form>
215- */
216-var isClicked = false;
217-function oneClick() {
218- if(isClicked) {
219-// alert( "Don't twice pushed." );
220- alert( "Don't click twice." );
221- return false;
222- } else {
223- isClicked = true;
224- return true;
225- }
226-}
227-
228-/*
229- * 3.5.0.0 (2003/09/17) It submits it.
230- *
231- * renew( action ,target,[this] );
232- *
233- * <og:column name="KBSAKU" onChange="renew('query.jsp','QUERY');" />
234- * <og:column name="KBSAKU" onChange="renew('query.jsp','QUERY',this);" />
235- *
236- * Ver 3.8.6.3 (2006/11/30) Self form submit when this argment add.
237- */
238-function renew( action , target , home ) {
239- var f = null , oAllForms;
240-
241- if( home != null ) {
242- f = home.form;
243- }
244- else {
245- oAllForms = document.getElementsByTagName("FORM");
246- if ( oAllForms.length > 0 ) {
247- f = oAllForms[0];
248- }
249- }
250-
251- if( f != null ) {
252- f.action= action ;
253- f.target= target ;
254-
255- f.submit();
256- }
257-}
258-
259-/*
260- * 3.5.4.2 (2003/12/15)
261- * The function to move the input cursor to the following field automatically is added.
262- *
263- * nextForm( this, nextFieldName, maxLength )
264- *
265- * 3.5.5.9 (2004/05/31) Correspondence to there are two or more attributes name (Example: Button etc.) the same
266- * 3.8.1.2 (2005/12/19) The matter where focus cannot be moved to the pull-down menu is corrected.
267- *
268- * <og:column name="A" nextForm="B" /> ⇒ <input type="text" name="A" onKeyUp="nextForm(this, 'B', 3)" maxlength="3" />
269- * <og:column name="B" nextForm="C" /> ⇒ <input type="text" name="B" onKeyUp="nextForm(this, 'C', 5)" maxlength="5" />
270- * <og:column name="C" /> <input type="text" name="C" maxlength="3" />
271- */
272-function nextForm( tx, nm, maxlen ) {
273- if( tx.value.length >= maxlen ) {
274- var e = tx.form.elements[nm];
275-// if( e[0] != null ) {
276- if( e[0] != null && e[0].name != null ) {
277- e[0].focus();
278- }
279- else if( e != null ) {
280- e.focus();
281- }
282- else {
283- alert( "There is no field named [" + nm + "]" );
284- }
285- }
286-}
287-
288-/*
289- * 3.5.4.3 (2004/01/05) Function to select all checks of check box.
290- * 3.5.4.8 (2004/02/10) Correspondence when multiple form is arranged in the same page
291- *
292- * When selectedType of viewFormTag is only CHECKBOX, it is possible to use it.
293- *
294- * <input type="checkbox" name="ALL_CHECK" onClick="checkbox(this);" />
295- */
296-function checkbox( cb ) {
297- var f , eles , elesLen , i , el ;
298-
299- f = cb.form;
300- if (f != null) {
301- eles = f.elements ;
302- elesLen = eles.length;
303- for ( i=0; i<elesLen; i++ ){
304- el = eles[i];
305- // if ( el.name == "h_rowSelected" || el.name == "ALL_CHECK" ) {
306- if ( el.name == "h_rowSel" || el.name == "ALL_CHECK" ) {
307- el.checked = cb.checked ;
308- }
309- }
310- }
311-}
312-
313-/*
314- * 3.5.4.8 (2004/02/23)
315- * The pull-down menu that reacts to the key input of two or more character strings is added.
316- *
317- * When the number of input items is 20 or more, it is set by the automatic operation.
318- *
319- * <og:select name="TABLE_NAME" optionAttributes="onkeydown='setKeySelect(this);'" >
320- * <select name="XXX" onkeydown="setKeySelect(this);" >・・・・
321- */
322-var EMPTY_STR = "";
323-var strOldKey = EMPTY_STR;
324-var oOldSelect = null;
325-var BACKSPACE_CODE = 8;
326-
327-function clearOldKey() {
328- strOldKey = EMPTY_STR;
329-}
330-
331-function setKeySelect(oMySelect) {
332- var bFound , oOptions , nCode , bProcessKey , bIsArrayKey , strKey , strOldKey2 , nIndex , nKeyLen ;
333-
334- bFound = false;
335- if( oOldSelect != oMySelect ) {
336- strOldKey = EMPTY_STR;
337- oOldSelect = oMySelect;
338- //Clear Old Data
339- if(null == oMySelect.onblur) oMySelect.onblur = clearOldKey;
340- }
341-
342- oOptions = oMySelect.options;
343- nCode = event.keyCode;
344-
345- // ((nCode >= 0x25) && (nCode <= 0x28)) Arrow Key
346- // ((nCode >= 0x30) && (nCode <= 0x5A)) Number and Alpha
347- // ((nCode >= 0x60) && (nCode <= 0x69)) Numpad
348- // ((nCode >= 0x6A) && (nCode <= 0x6F)) Numpad * + ent - . /
349- bProcessKey = ( ((nCode >= 0x25) && (nCode <= 0x28))
350- || ((nCode >= 0x30) && (nCode <= 0x5A))
351- || ((nCode >= 0x60) && (nCode <= 0x69))
352- || (BACKSPACE_CODE == nCode) );
353- if( bProcessKey) {
354- bIsArrayKey = (((nCode >= 0x25 ) && (nCode <= 0x28)) && !event.shiftKey);
355- if(!bIsArrayKey) {
356-// var strKey ;
357- if( 0x5A >= nCode) { strKey = String.fromCharCode(nCode).toUpperCase(); }
358- else { strKey = String.fromCharCode(nCode - 0x30); }
359-
360-// var strOldKey2;
361-// var nIndex;
362- if( BACKSPACE_CODE == nCode) {
363- strOldKey2 = ((0 < strOldKey.length) ? strOldKey.substr(0, strOldKey.length -1) : EMPTY_STR);
364- }
365- else {
366- strOldKey2 = strOldKey + strKey;
367- }
368- nKeyLen = strOldKey2.length;
369-
370- for ( nIndex = 0; nIndex < oOptions.length; nIndex++) {
371- if( strOldKey2 == oOptions(nIndex).text.substr(0, nKeyLen).toUpperCase() ) {
372- bFound = true;
373- break;
374- }
375- }
376-
377- if( bFound ) {
378- strOldKey = strOldKey2;
379- if( oMySelect.selectedIndex != nIndex ) { oMySelect.selectedIndex = nIndex; }
380- }
381-
382- event.returnValue = false;
383- }
384- else {
385- strOldKey = EMPTY_STR;
386- }
387- }
388-
389- return bFound;
390-}
391-
392-/*
393- * 3.5.6.2 (2004/07/04) Window opens.
394- * The event is received, and new window is opened at the clicked position.
395- *
396- * window_open( url,evt,name,opt )
397- * url : Opening URL is specified.
398- * evt : When the number of cases is a little, height is adjusted, and the scroll bar is displayed.
399- * name : It is a name when the value is returned.
400- * opt : It is an option for the opening of window.
401- *
402- * The following examples are samples of the calendar assistance menu.
403- *
404- * TEST1:<input type="text" name="TEST1" id="TEST1" size="10" maxlength="8" value="20040201" />
405- * <img src="calendar.gif" onclick="window_open('../common/calendar.html', event,'TEST1','width=220,height=170,resizable=no' );" />
406- *
407- */
408-function window_open( url,evt,name,opt ){
409- var option , move;
410-
411- option = opt;
412- if( evt != null ) {
413- move = 'left=' + evt.x + ',top=' + evt.y ;
414- if( option != null ) {
415- option += ',' + move ;
416- }
417- }
418-
419- window.open( url, name, option );
420-}
421-
422-/*
423- * 3.8.0.8 (2005/10/03) Adjust Frame Height.(Option)
424- * 3.8.6.1 (2006/10/20) SUB_FRAME Object get method changed.
425- * 3.8.9.1 (2007/06/15) Correspondence of case with frame division into three or more.
426- * 4.3.6.0 (2009/04/01) 3つ以上フレームが存在する場合でも自動調整できるように対応
427- * 5.1.4.0 (2010/03/01) 横スクロールが出る場合及びFireFoxに対しての自動調整対応
428- * 5.5.3.4 (2012/06/19) 上下分割で、下部の左右分割時(3フレームと認識)の処理に対応。
429- */
430-function adjustFrameHeight() {
431- var oFramesets , subFrmObj , oFrames , tempRows , endMarkObj , i , sw , cw , isFF , margin ;
432- oFramesets = parent.document.getElementsByName( "SUB_FRAME" );
433- if( oFramesets == null ) { return; }
434-
435- subFrmObj = null ;
436- oFrames = null;
437- if( oFramesets.length == 1 ) {
438- subFrmObj = oFramesets[0];
439- oFrames = parent.frames;
440- }
441-
442- if( subFrmObj == null || subFrmObj.rows == null || subFrmObj.rows.length == 0
443- || oFrames == null || oFrames.length == 0 ) { return; }
444-
445- var origRows = subFrmObj.rows.split(",");
446- tempRows = null;
447- endMarkObj = null;
448- var size = Math.min( origRows.length , oFrames.length ); // T字型フレーム分割時の処理
449-// for( i=0; i<oFrames.length-1; i++ ) {
450- for( i=0; i<size-1; i++ ) {
451- endMarkObj = oFrames[i].document.getElementById( "END_MARKER" );
452- if( endMarkObj == null ) {
453- return;
454- }
455- else {
456- sw = oFrames[i].document.documentElement.scrollWidth;
457- cw = oFrames[i].document.documentElement.clientWidth;
458- isFF = ( /a/[-1]=='a' );
459- margin = 5;
460- if( isFF || sw != cw ) { margin += 14; }
461- tempRows = tempRows + ( endMarkObj.offsetTop + endMarkObj.parentNode.offsetTop + margin ) + ",";
462-// tempRows = tempRows + ( oFrames[i].document.documentElement.scrollHeight + margin ) + ",";
463- }
464- }
465- tempRows = tempRows + "*";
466-
467- subFrmObj.rows = tempRows;
468-}
469-
470-/*
471- * これは、フレームを左右分割した場合に、右側フレームのサイズを自動調整します。
472- *
473- * 実行したいJSP画面で、呼び出してください。
474- * 基本的には、Type5:一覧検索登録 パターンで使用します。
475- *
476- * 5.5.3.4 (2012/06/19) Adjust Frame Width.(Option)
477- */
478-function adjustFrameWidth() {
479- var resFrameset , resFrmObj , oFrames , i , width;
480- resFrameset = parent.document.getElementsByName( "RES_FRAME" );
481- if( resFrameset == null ) { return; }
482-
483- resFrmObj = null ;
484- oFrames = null;
485- if( resFrameset.length == 1 ) {
486- resFrmObj = resFrameset[0];
487- oFrames = parent.frames;
488- }
489-
490- if( resFrmObj == null || resFrmObj.cols == null || resFrmObj.cols.length == 0
491- || oFrames == null || oFrames.length == 0 ) { return; }
492-
493- for( i=0; i<oFrames.length; i++ ) {
494- if( oFrames[i].name == "UPDATE" ) {
495- sw = oFrames[i].document.documentElement.scrollWidth;
496- // cw = oFrames[i].document.documentElement.clientWidth;
497-
498- width = sw + 2; // +2 は、気持ち程度
499- resFrmObj.cols = "*," + width ;
500- return ;
501- }
502- }
503-}
504-
505-/*
506- * 3.8.5.0 (2006/03/06) Adjust Textarea Auto Rows Size.
507- *
508- * autoArea( Textarea_Object,[MaxRowsSize] )
509- *
510- * <textarea id="area1" cols="80" rows="10" onKeyup="autoArea( this );" ></textarea>
511- * <textarea id="area2" cols="80" rows="5" onKeyup="autoArea( this,20 );" ></textarea>
512- *
513- */
514-var initRow = new Object();
515-
516-function autoArea( ara,maxRow ) {
517- var text , cnt , idx ;
518-
519- if( ara == null ) { return; }
520- if( initRow[ara.name] == null ) { initRow[ara.name] = ara.rows; }
521-
522- if( isCntAction( event.keyCode ) ) {
523- text = ara.value ;
524- cnt = 1;
525- idx = text.indexOf( '\n' );
526- while( idx >= 0 ) {
527- cnt++ ;
528- idx = text.indexOf( '\n' ,idx+1 );
529- }
530- if( cnt < initRow[ara.name] ) { cnt = initRow[ara.name]; }
531- if( maxRow != null && cnt > maxRow ) { cnt = maxRow; }
532- ara.rows = cnt;
533- }
534-}
535-
536-/*
537- * 3.8.5.0 (2006/03/06) Adjust Textarea Auto Rows Size. sub function
538- *
539- * isCntAction( val )
540- */
541-function isCntAction( val ) {
542- return ( val == 13 // enter(10key)
543- || val == 14 // return
544- || val == 8 // back space
545- || val == 46 // del
546- || val == 67 // ctlr + C
547- || val == 86 // ctlr + V
548- || val == 88 // ctlr + X
549- ) ;
550-}
551-
552-/*
553- * 3.8.5.0 (2006/03/20) fieldset display ON/OFF Function.
554- * 3.8.5.2 (2006/05/31) fieldset default ON/OFF hidden out.
555- */
556-function hide( id,hiddenKey ) {
557- var obj , obj2 , obj3 , i ;
558-
559- obj = document.getElementById( id + 'A' );
560- if( obj != null ) {
561- obj2 = document.getElementById( id + 'B' );
562- obj3 = null;
563- if( hiddenKey != null ) {
564- obj3 = document.getElementsByName( hiddenKey );
565- }
566-
567- if( obj.style.display == 'none' ) {
568- obj.style.display = 'inline';
569- if( obj2 != null ) { obj2.innerHTML = '- ' ; }
570- if( obj3 != null ) {
571- for( i=1; i<obj3.length; i++ ){
572- obj3[i].value = "false" ;
573- }
574- }
575- }
576- else {
577- obj.style.display = 'none';
578- if( obj2 != null ) { obj2.innerHTML = '+ ' ; }
579- if( obj3 != null ) {
580- for( i=1; i<obj3.length; i++ ){
581- obj3[i].value = "true" ;
582- }
583- }
584- }
585- }
586- adjustFrameHeight();
587-}
588-
589-/*
590- * 3.8.5.3 (2006/06/30) replace All Text
591- *
592- * <input name="XXX" value="YYY" onBlur="value=replaceText(value,'-','');" />
593- */
594-function replaceText( val,oldTxt,newTxt ) {
595- var rtn = val ;
596- if( rtn != null ) {
597- while( rtn.indexOf( oldTxt ) >= 0 ) {
598- rtn = rtn.replace( oldTxt,newTxt );
599- }
600- }
601- return rtn;
602-}
603-
604-/*
605- * 3.8.6.1 (2006/10/24)
606- */
607-function getDimensions(obj){
608- var _width , _height , _top , _left ;
609-
610- _width = obj.offsetWidth;
611- _height = obj.offsetHeight;
612- _top = 0;
613- _left = 0;
614- for (; obj != null; obj = obj.offsetParent) {
615- _top += obj.offsetTop;
616- _left += obj.offsetLeft;
617- }
618- return {top:_top, left:_left, width:_width, height:_height};
619-}
620-
621-function getClientHeight() {
622- var nClientHeight = 0;
623- if( bIsCSS1Compat ) {
624- nClientHeight =document.documentElement.clientHeight;
625- }
626- else {
627- nClientHeight =document.body.clientHeight;
628- }
629-
630- return nClientHeight;
631-}
632-
633-function getClientWidth() {
634- var nClientWidth = 0;
635- if( bIsCSS1Compat ) {
636- nClientWidth =document.documentElement.clientWidth;
637- }
638- else {
639- nClientWidth =document.body.clientWidth;
640- }
641-
642- return nClientWidth;
643-}
644-
645-/* Dummy function */
646-function hilightRow() {
647- return ;
648-}
649-
650-/*
651- * 4.3.1.0 (2008/09/03)
652- *
653- * for prev,next
654- */
655-function submitPrevNextForm( val ) {
656- var frm , cmd ;
657-
658- frm = document.forms[0];
659- cmd = document.getElementById("h_cmd");
660- if( frm != null && cmd != null ) {
661- cmd.value = val;
662- frm.submit();
663- cmd.value = "NEW";
664- }
665- return false;
666-}
667-
668-/*
669- * 4.3.6.0 (2009/04/01)
670- *
671- * for expand menu
672- * @param evt event
673- * @param trg trigger (this)
674- * @param hiddenClass target class name
675- */
676-function hideClass( evt, trg, hiddenClass, imgA, imgB ){
677- atsrc = $(trg).attr("src");
678- if(atsrc.indexOf( imgA ) >= 0){
679- $(trg).attr("src",atsrc.replace( imgA, imgB ));
680- }
681- else{
682- $(trg).attr('src',atsrc.replace( imgB ,imgA ));
683- }
684- $('.'+hiddenClass).toggle();
685- adjustFrameHeight();
686-}
687-
688-/*************************************************************************************
689- * 各JavaScriptからイベント(主にカラムに割り当てられたイベント)を登録します。
690- *
691- * 内部的には、セレクタ毎に、イベントを配列で保持することで、後のイベント発動時の
692- * セレクタ処理時間を短縮しています。
693- *
694- * @og.rev 5.2.0.0 (2010/09/01) 新規作成
695- *
696- * @param String イベントを登録する要素のセレクタ文字列
697- * @param String バインドするイベント
698- * @param function イベント発生時に実行する関数
699- * @param String (任意指定)イベントを登録するセレクタに対して、さらに要素を絞り込むためのフィルター
700- * @param boolean (任意指定)イベントバインド時にイベントを実行するかどうか (初期値:false)
701- * @param function (任意指定)イベントのバインド直前に、実行する関数を指定します。
702- * Revision: $Id$
703- *************************************************************************************/
704-var ogEvents = new Object();
705-function setEvent() {
706- var thisSelector , thisEvent , thisFunction , thisFilter , isFire , bFunc ;
707-
708- thisSelector = arguments[0];
709- thisEvent = arguments[1];
710- thisFunction = arguments[2];
711- thisFilter = arguments[3];
712- isFire = arguments[4];
713- bFunc = arguments[5];
714- if( ogEvents[thisSelector] == null ) {
715- ogEvents[thisSelector] = new Array();
716- }
717- ogEvents[thisSelector][ogEvents[thisSelector].length]
718- = { 'event': thisEvent, 'function': thisFunction, 'filter': thisFilter, 'fire': isFire, 'bindFunc': bFunc };
719-}
720-
721-/*************************************************************************************
722- * 各JavaScriptで登録されたイベント(主にカラムに割り当てられたイベント)を
723- * 実際のイベントハンドラにバインドします。
724- *
725- * @og.rev 5.2.0.0 (2010/09/01) 新規作成
726- *
727- * @param jQueryObject (任意指定)イベント登録を走査する要素の集合(指定しない場合、
728- * ドキュメント全体に対して走査されます。
729- * Revision: $Id$
730- *************************************************************************************/
731-var endInitEvent = false;
732-function bindEvents() {
733- var ogSelector , jEle , evList , isFire , jEleTmp , i , j ;
734-
735- for( ogSelector in ogEvents ) {
736- jEle = arguments[0] ? arguments[0].find( ogSelector ) : $( ogSelector );
737- evList = ogEvents[ogSelector];
738- isFire = false;
739- for( i=0; i<evList.length; i++ ) {
740- if( evList[i]["bindFunc"] ) { evList[i]["bindFunc"](); }
741-
742- jEleTmp = evList[i]["filter"] ? jEle.filter( evList[i]["filter"] ) : jEle;
743- jEleTmp.bind( evList[i]["event"], evList[i]["function"] );
744- if( evList[i]["fire"] ) {
745- isFire = true;
746- for( j=0; j<jEleTmp.length; j++ ) {
747- $(jEleTmp[j]).triggerHandler( evList[i]["event"] );
748- }
749- }
750- }
751- }
752- endInitEvent = true;
753-}
754-
755-/*************************************************************************************
756- * イベントハンドラに登録されたイベントの初期実行が終わっているかどうかを返します。
757- *
758- * @og.rev 5.2.0.0 (2010/09/01) 新規作成
759- *
760- * Revision: $Id$
761- *************************************************************************************/
762-function isEndInitEvent() { return endInitEvent; }
763-
764-/************************************************************************************/
765-/* 旧 inputMenu.js の内容を移植 5.2.1.0 (2010/10/01) */
766-/* */
767-/* @og.rev 5.6.3.0 (2013/04/01) changeイベント発生 */
768-/* Revision: $Id$ */
769-/************************************************************************************/
770-function selChanged(sel) {
771- var text = sel.textObj;
772- text.value = sel.options[sel.selectedIndex].value;
773- if( text.value == "" ) {
774- text.value = sel.options[sel.selectedIndex].text;
775- }
776- // 5.6.3.0 (2013/04/01)
777- $(text).change();
778-// sel.selectedIndex = -1;
779-}
780-
781-// function getDimensions(obj){
782-// var _width = obj.offsetWidth;
783-// var _height = obj.offsetHeight;
784-// var _top = 0, _left = 0;
785-// for (; obj != null; obj = obj.offsetParent) {
786-// _top += obj.offsetTop;
787-// _left += obj.offsetLeft;
788-// }
789-// return {top:_top, left:_left, width:_width, height:_height};
790-// }
791-
792-// Ver 3.8.9.2 (2007/07/13) setTimeout 100 -> 200 ms
793-function makeInputMenu(id) {
794- var text , sel , tid , w , dim , dim2 ;
795-
796- text = document.getElementById(id);
797- sel = document.getElementById(id+".sel");
798-
799-// var tid;
800- //if( text.offsetWidth == 0 ) {
801- if( !text.setSel ) {
802- text.setSel = true;
803- tid = setTimeout( "makeInputMenu('" + id + "')",200 ); // 100 -> 200 ms
804- return ;
805- }
806- // 2009/06/09 - Comment Out
807- //clearTimeout( tid );
808-
809- // w = text.offsetWidth - 15 + "px";
810- w = text.offsetWidth - 18 + "px"; // 2011/12/07 -3px
811- sel.style.position = "absolute"; // JyunBAN ga Jyuyo
812- sel.style.width = text.offsetWidth + "px";
813- sel.style.height = text.offsetHeight + "px";
814- dim = getDimensions(text);
815- dim2 = getDimensions(sel.offsetParent);
816- sel.style.left = dim.left - dim2.left + "px";
817- sel.style.top = dim.top - dim2.top + "px";
818- sel.style.clip = "rect(auto auto auto "+w+")";
819- sel.textObj = text;
820- sel.selectedIndex = -1;
821-}
822-
823-/************************************************************************************/
824-/* 旧 ogPopup.js の内容を移植 5.2.1.0 (2010/10/01) */
825-/* */
826-/* 3.8.6.1 (2006/10/20) */
827-/* POPUP画面起動用標準Function(TS より寄贈) */
828-/* Modified: 2009/05/15 Extend to Firefox */
829-/* ポップアップ画面から値を渡し、ウィンドウを閉じる(ogPopup と同時使用) */
830-/* <og:view ・・・・ popupReturnKeys = "SYSTEM_ID,CLM,NAME_JA" /> */
831-/* 5.2.1.0 (2010/10/01) */
832-/* height,width は、px 単位が付いているものとして扱う */
833-/* 5.5.1.5 (2012/04/12) [0]が_RENEWなら[1]をRENEWで呼び出し */
834-/* Revision: $Id$ */
835-/************************************************************************************/
836-
837-function rtnPopup( rtnValue ) {
838- window.returnValue = rtnValue;
839- window.close();
840-}
841-
842-/********************************************************************/
843-/* TS POPUP画面起動用標準Function() */
844-/* 引数0:POPUP PGID */
845-/* 引数1:POPUP 高(px) */
846-/* 引数2:POPUP 幅(px) */
847-/* 引数3:入力の引数(1,2をセットに複数可能) */
848-/* 1:key ・・・ 呼出先画面のカラム名 */
849-/* 2:value ・・・ 呼出元画面の値 */
850-/* 引数4:this */
851-/* 引数5:出力の引数(KEY1,KEY2,・・) */
852-/* */
853-/* 【例1】返り値が不要なケース */
854-/* <og:popup gamenId="GEXXXX" href="popup.jsp" */
855-/* keys="SYSTEM_ID,CLM,NAME_JA" */
856-/* vals="{@SYS.SYSTEM_ID},CLM.value,NAME_JA.value" /> */
857-/* */
858-/* 【例2】返り値が通常のテキストフィールドのケース */
859-/* <og:popup gamenId="GEXXXX" href="popup.jsp" */
860-/* keys="SYSTEM_ID,CLM,NAME_JA" */
861-/* vals="{@SYS.SYSTEM_ID},CLM.value,NAME_JA.value" */
862-/* rtnKeys="SYSTEM_ID,CLM,NAME_JA" /> */
863-/* */
864-/* 【例3】一覧表示の行単位に値を設定するケース */
865-/* <og:viewMarker command="{@command}" isRenderer="false"> */
866-/* <og:popup column="PUP" href="popup.jsp" */
867-/* keys="SYSTEM_ID,CLM,NAME_JA" */
868-/* vals="[SYSTEM_ID],[CLM].value,[NAME_JA].value" */
869-/* rtnKeys="SYSTEM_ID,CLM,NAME_JA" /> */
870-/* </og:viewMarker> */
871-/* */
872-/* 5.1.7.0 (2010/06/01) 引数にコマンドを追加 */
873-/* 5.7.5.0 (2014/04/04) サイズ変更できるように resizable:on;追加 */
874-/* 5.8.3.0 (2015/01/09) V6(6.1.0.0)の修正の取り込み */
875-/* 5.8.3.1 (2015/01/23) 修正の取り込み */
876-/********************************************************************/
877-
878-// function ogPopup( p_pgid,p_height,p_width,p_in_Array,p_this,p_out_Array,event ) {
879-//function ogPopup( p_pgid,p_height,p_width,p_in_Array,p_this,p_out_Array,command,event ) {
880-function ogPopup( p_pgid,p_height,p_width,p_in_Array,p_this,p_out_Array,command,p_append,event ) {
881- var height , width , url , sTmp , param , ret_val , tmp , i , j , _oldTmpVal ;
882-
883- // 5.8.5.0 (2015/02//6) キャレットの位置を取得
884- var getCaretPositionIE = function( elem ){
885- elem.focus();
886- var range = document.selection.createRange();
887- range.moveStart( "character", - elem.value.length );
888- var caret_position = range.text.length;
889- return caret_position;
890- }
891-
892- // 5.2.1.0 (2010/10/01)
893- height = "600px" ;
894- width = "900px" ;
895-
896-// if( p_height != null && p_height.length() > 0 ) { height = p_height; }
897-// if( p_width != null && p_width.length() > 0 ) { width = p_width; }
898- if( p_height != null ) { height = p_height; }
899- if( p_width != null ) { width = p_width; }
900-
901- // 5.8.3.0 (2014/01/09) height,width の "px" 処理の修正
902- height = p_height ? parseInt(p_height, 10) + "px" : "600px" ;
903- width = p_width ? parseInt(p_width , 10) + "px" : "900px" ;
904-
905- // ポップアップ画面定義
906-// var url = p_pgid + "?command=NEW";
907-// var url = p_pgid + "?command=" + command;
908- url = p_pgid + "?command=" + ( command ? command : "NEW" );
909-// sTmp = 'dialogHeight:' + height + 'px;dialogWidth:' + width + 'px';
910-// sTmp = 'dialogHeight:' + height + ';dialogWidth:' + width; // 5.2.1.0 (2010/10/01)
911- sTmp = 'resizable:on; dialogHeight:' + height + ';dialogWidth:' + width; // 5.7.5.0 (2014/04/04)
912- if( event ) {
913- sTmp = sTmp + ';dialogLeft:' + event.screenX + 'px;' + 'dialogTop:' + event.screenY + 'px';
914- }
915-
916- // 入力引数の設定
917- if( p_in_Array != null ) {
918- for( i=0; i<p_in_Array.length; i+=2 ) {
919-// url = url + "&" + p_in_Array[i] + "=" + EscapeUTF8(p_in_Array[i+1]);
920- url = url + "&" + p_in_Array[i] + "=" + encodeURIComponent( p_in_Array[i+1]); // 5.2.0.0 (2010/09/01)
921- }
922- }
923-
924- // ポップアップ画面
925- param = "";
926- if( ( p_out_Array != null ) && ( document.getElementById( p_out_Array[0] ) ) ){
927- param = document.getElementById( p_out_Array[0] ).value;
928- }
929- ret_val = showModalDialog( url,param,sTmp );
930- // 4.1.1.2 2008/03/11 既存仕様に合わせるため、戻り値が文字列の場合は、配列に変換
931- //if( ( ret_val != null ) && ( ret_val[0] == null ) ){
932- if( ( ret_val != null ) && ( typeof ret_val !== "object" ) ){
933- ret_val = new Array( ret_val );
934- }
935-
936- // 5.5.3.0 changeイベントを起こすオブジェクトを保存しておいて、後からキックする
937- var changes_obj = new Array();
938-
939- // 5.8.3.0, 5.8.3.1
940- // 出力引数に、ポップアップからの戻り値を設定
941- if( ret_val != null && p_out_Array != null ) {
942-// var tmp,j ;
943- for( j=0; ( j<p_out_Array.length && j<ret_val.length ) ; j++ ) {
944- if( p_out_Array[j] != '' ) {
945-// tmp = eval( 'document.' + p_this.form +'.' + p_out_Array[j]);
946- tmp = p_this.form.elements[p_out_Array[j]];
947- if( tmp != null ) {
948- // 6.1.0.0 (2014/12/26) ヘッダー固定のBulkSet対応
949- // 6.1.1.0 (2015/01/17) BulkSet のキーは、"h_" で始まり、getElementsByName() は複数存在する場合
950-// if( tmp.length ) { // getElementsByName() の戻り値で複数存在した場合
951- if( p_out_Array[j].indexOf( "h_" ) == 0 && tmp.length ) {
952- for( var k=0; k<tmp.length; k++) {
953- _oldTmpVal = tmp[k].value;
954-
955- if( p_append == "true" ){ // 5.8.5.0 (2015/02/16)
956- var caret_position = getCaretPositionIE(tmp[k]);
957- tmp[k].value = tmp[k].value.substring(0,caret_position) + ret_val[j] + tmp[k].value.substring(caret_position,tmp[k].value.length);
958- }
959- else{
960- tmp[k].value = ret_val[j];
961- }
962- // 4.3.6.2 (2009/04/15) 異なる値をセットした場合にChangeイベントを発生させる。
963- if( _oldTmpVal != ret_val[j] ){
964- //$(tmp[k]).change();
965- changes_obj[changes_obj.length] = tmp[k];
966- }
967- }
968- }
969- else {
970- _oldTmpVal = tmp.value;
971-
972- if( p_append == "true" ){ // 5.8.5.0 (2015/02/16)
973- var caret_position = getCaretPositionIE(tmp);
974- tmp.value = tmp.value.substring(0,caret_position) + ret_val[j] + tmp.value.substring(caret_position,tmp.value.length);
975- }
976- else{
977- tmp.value = ret_val[j];
978- }
979- // 4.3.6.2 (2009/04/15) 異なる値をセットした場合にChangeイベントを発生させる。
980- if( _oldTmpVal != ret_val[j] ){
981- //$(tmp).change();
982- changes_obj[changes_obj.length] = tmp;
983- }
984- }
985- }
986- }
987- }
988- }
989-
990- // 5.5.3.0
991- for( i=0; i<changes_obj.length; i++){
992- $(changes_obj[i]).change();
993- }
994-
995- // 5.5.1.5 (2012/04/12) 先頭が_RENEWの場合は[1]をRENEW付きでcall
996- if( ret_val != null && ret_val[0] == '_RENEW' ){
997- if(ret_val[1].indexOf('?') > 0 ){
998- location.href=ret_val[1]+'&command=RENEW';
999- }
1000- else{
1001- location.href=ret_val[1]+'?command=RENEW';
1002- }
1003- }
1004-}
1005-
1006-// http://nurucom-archives.hp.infoseek.co.jp/digital/ecl.js.txt
1007-//EscapeUTF8=function(str){
1008-// return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
1009-// var c=s.charCodeAt(0);
1010-// return (c<16?"%0"+c.toString(16):c<128?"%"+c.toString(16):c<2048?"%"+(c>>6|192).toString(16)+"%"+(c&63|128).toString(16):"%"+(c>>12|224).toString(16)+"%"+(c>>6&63|128).toString(16)+"%"+(c&63|128).toString(16)).toUpperCase()
1011-// })
1012-//};
1013-
1014-/*
1015- * 4.0.1.0 (2007/12/12) Window opens.
1016- *
1017- * default.js#window_open( url,evt,name,opt ) の代替処理
1018- * The event is received, and new window is opened at the clicked position.
1019- *
1020- * ogOpen( url,evt,name,opt )
1021- * url : Opening URL is specified.
1022- * evt : When the number of cases is a little, height is adjusted, and the scroll bar is displayed.
1023- * name : It is a name when the value is returned.
1024- * opt : It is an option for the opening of window.
1025- *
1026- * The following examples are samples of the calendar assistance menu.
1027- *
1028- * TEST1:<input type="text" name="TEST1" id="TEST1" size="10" maxlength="8" value="20040201" />
1029- * <img src="calendar.gif" onclick="ogOpen('../common/calendar.html', event,'TEST1','width=220,height=170,resizable=no' );" />
1030- *
1031- */
1032-function ogOpen( url,evt,name,opt ){
1033- var option , move ;
1034- option = opt;
1035- if( evt != null ) {
1036- move = 'left=' + evt.x + ',top=' + evt.y ;
1037- if( option != null ) {
1038- option += ',' + move ;
1039- }
1040- }
1041-
1042- window.open( url, name, option );
1043-}
1044-
1045-/*
1046- * 5.2.1.0 (2010/10/01) DisplayCapture
1047- *
1048- * org.opengion.fukurou.util.DisplayCapture のデータをクリップボード経由でやり取りします。
1049- * GUI:{@GUI.KEY} {@SESSION.JSPID} 形式のデータを受け取り、画面キャプチャを所定の
1050- * フォルダに出力します。
1051- * エラーが発生したときは、クリップボード経由で報告します。
1052- *
1053- * window.onload = setTimeout( 'setDisplayCapture( "GUI:{@GUI.KEY} {@SESSION.JSPID}" )', 100 );
1054- *
1055- */
1056-function setDisplayCapture( msg ) {
1057- clipboardData.setData( "Text", msg );
1058-
1059- setTimeout( "getDisplayCapture()", 1000 ); // エラーメッセージの取得は、時間差で行う。
1060-}
1061-
1062-function getDisplayCapture() {
1063- var cpdata = clipboardData.getData("Text");
1064- if( cpdata.lastIndexOf("ERROR:", 0) == 0 ) {
1065- alert(cpdata);
1066- }
1067- return cpdata ;
1068-}
1+function getInternetExplorerVersion(){var c=-1,a,b;if(navigator.appName=="Microsoft Internet Explorer"){a=navigator.userAgent;b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!=null){c=parseFloat(RegExp.$1)}}return c}var isCSS,isW3C,isIE4,isNN4,isIE6CSS;function initDHTMLAPI(){if(document.images){isCSS=(document.body&&document.body.style)?true:false;isW3C=(isCSS&&document.getElementById)?true:false;isIE4=(isCSS&&document.all)?true:false;isNN4=(document.layers)?true:false;isIE6CSS=(document.compatMode&&document.compatMode.indexOf("CSS1")>=0)?true:false}__bInitDhtmlApi=true}var __bInitDhtmlApi=false;function getInsideWindowWidth(){if(window.innerWidth){return window.innerWidth}else{if(isIE6CSS){return document.body.parentElement.clientWidth}else{if(document.body&&document.body.clientWidth){return document.body.clientWidth}}}return 0}function getInsideWindowHeight(){if(window.innerHeight){return window.innerHeight}else{if(isIE6CSS){return document.body.parentElement.clientHeight}else{if(document.body&&document.body.clientHeight){return document.body.clientHeight}}}return 0}function addEvent(c,b,d,a){if(c.addEventListener){a=((a)?true:false);c.addEventListener(b,d,a);return true}else{if(c.attachEvent){return c.attachEvent("on"+b,d)}else{c["on"+b]=d}}}var _sCompat_=document.compatMode;var bIsCSS1Compat=("CSS1Compat"==_sCompat_);function focus2(){var f,e,i,c,b,d,h,a,g;f=document.getElementsByName("h_fcs");if(f.length>0){e=f[0];d=e.parentNode;while(d){if(d.tagName=="TR"){i=d}if(i&&d.tagName=="DIV"){if(d.id=="layer"){c=d}if(d.id=="X1"||d.id=="X2"){b=d;if(!b.HSibling){b.HSibling=document.getElementById((d.id=="X1"?"X2":"X1"))}break}}d=d.parentNode}h=(c?c.getElementsByTagName("THEAD"):null);a=(h&&h.length>0?h[0].offsetHeight+5:0);if(c){if(h.length>0&&h[0].id=="divheader"){g=h[0]}if(g){e.scrollIntoView(true);if(c.scrollTop>=g.offsetHeight){c.scrollTop-=g.offsetHeight}}else{c.scrollIntoView(true);c.scrollTop=Math.max(i.offsetTop-a,0);if(c.HSibling){c.HSibling.scrollTop=Math.max(i.offsetTop-a,0)}}}else{if(b){b.scrollIntoView(true);b.scrollTop=Math.max(i.offsetTop-a,0);if(b.HSibling){b.HSibling.scrollTop=Math.max(i.offsetTop-a,0)}}else{if(i){window.scrollTo(0,i.offsetTop)}else{e.scrollIntoView(true)}}}}}function historyBack(){var d,b,a,c;d=document.getElementsByTagName("FORM");if(d.length>0){b=d[0];for(a=0;a<b.elements.length;a++){c=b.elements[a];if(c!=null&&c.name=="historyBack"){if(c.value=="1"){c.value="0";b.submit()}else{c.value="1"}break}}}}function changeImage(b,a){document.images[b].src=a}var isClicked=false;function oneClick(){if(isClicked){alert("Don't click twice.");return false}else{isClicked=true;return true}}function renew(b,d,e){var a=null,c;if(e!=null){a=e.form}else{c=document.getElementsByTagName("FORM");if(c.length>0){a=c[0]}}if(a!=null){a.action=b;a.target=d;a.submit()}}function nextForm(b,a,c){if(b.value.length>=c){var d=b.form.elements[a];if(d[0]!=null&&d[0].name!=null){d[0].focus()}else{if(d!=null){d.focus()}else{alert("There is no field named ["+a+"]")}}}}function checkbox(b){var e,a,g,c,d;e=b.form;if(e!=null){a=e.elements;g=a.length;for(c=0;c<g;c++){d=a[c];if(d.name=="h_rowSel"||d.name=="ALL_CHECK"){d.checked=b.checked}}}}var EMPTY_STR="";var strOldKey=EMPTY_STR;var oOldSelect=null;var BACKSPACE_CODE=8;function clearOldKey(){strOldKey=EMPTY_STR}function setKeySelect(g){var h,f,j,c,a,d,e,b,i;h=false;if(oOldSelect!=g){strOldKey=EMPTY_STR;oOldSelect=g;if(null==g.onblur){g.onblur=clearOldKey}}f=g.options;j=event.keyCode;c=(((j>=37)&&(j<=40))||((j>=48)&&(j<=90))||((j>=96)&&(j<=105))||(BACKSPACE_CODE==j));if(c){a=(((j>=37)&&(j<=40))&&!event.shiftKey);if(!a){if(90>=j){d=String.fromCharCode(j).toUpperCase()}else{d=String.fromCharCode(j-48)}if(BACKSPACE_CODE==j){e=((0<strOldKey.length)?strOldKey.substr(0,strOldKey.length-1):EMPTY_STR)}else{e=strOldKey+d}i=e.length;for(b=0;b<f.length;b++){if(e==f(b).text.substr(0,i).toUpperCase()){h=true;break}}if(h){strOldKey=e;if(g.selectedIndex!=b){g.selectedIndex=b}}event.returnValue=false}else{strOldKey=EMPTY_STR}}return h}function window_open(d,b,c,e){var f,a;f=e;if(b!=null){a="left="+b.x+",top="+b.y;if(f!=null){f+=","+a}}window.open(d,c,f)}function adjustFrameHeight(){var f,g,l,a,c,h,k,e,b,d;adjustFrameHeight_iframe();f=parent.document.getElementsByName("SUB_FRAME");if(f==null){return}g=null;l=null;if(f.length==1){g=f[0];l=parent.frames}if(g==null||g.rows==null||g.rows.length==0||l==null||l.length==0){return}var j=g.rows.split(",");a=null;c=null;var m=Math.min(j.length,l.length);for(h=0;h<m-1;h++){c=l[h].document.getElementById("END_MARKER");if(c==null){a=a+(document.body.scrollHeight)+","}else{k=l[h].document.documentElement.scrollWidth;e=l[h].document.documentElement.clientWidth;b=(/a/[-1]=="a");d=5;if(b||k!=e){d+=14}a=a+(c.offsetTop+c.parentNode.offsetTop+d)+","}}a=a+"*";g.rows=a}function adjustFrameWidth(){var e,d,a,b,c;e=parent.document.getElementsByName("RES_FRAME");if(e==null){return}d=null;a=null;if(e.length==1){d=e[0];a=parent.frames}if(d==null||d.cols==null||d.cols.length==0||a==null||a.length==0){return}for(b=0;b<a.length;b++){if(a[b].name=="UPDATE"){sw=a[b].document.documentElement.scrollWidth;c=sw+2;d.cols="*,"+c;return}}}var initRow=new Object();function autoArea(c,e){var d,b,a;if(c==null){return}if(initRow[c.name]==null){initRow[c.name]=c.rows}if(isCntAction(event.keyCode)){d=c.value;b=1;a=d.indexOf("\n");while(a>=0){b++;a=d.indexOf("\n",a+1)}if(b<initRow[c.name]){b=initRow[c.name]}if(e!=null&&b>e){b=e}c.rows=b}}function isCntAction(a){return(a==13||a==14||a==8||a==46||a==67||a==86||a==88)}function hide(f,e){var d,c,b,a;d=document.getElementById(f+"A");if(d!=null){c=document.getElementById(f+"B");b=null;if(e!=null){b=document.getElementsByName(e)}if(d.style.display=="none"){d.style.display="inline";if(c!=null){c.innerHTML="- "}if(b!=null){for(a=1;a<b.length;a++){b[a].value="false"}}}else{d.style.display="none";if(c!=null){c.innerHTML="+ "}if(b!=null){for(a=1;a<b.length;a++){b[a].value="true"}}}}adjustFrameHeight()}function replaceText(d,a,b){var c=d;if(c!=null){while(c.indexOf(a)>=0){c=c.replace(a,b)}}return c}function getDimensions(d){var a,b,e,c;a=d.offsetWidth;b=d.offsetHeight;e=0;c=0;for(;d!=null;d=d.offsetParent){e+=d.offsetTop;c+=d.offsetLeft}return{top:e,left:c,width:a,height:b}}function getClientHeight(){var a=0;if(bIsCSS1Compat){a=document.documentElement.clientHeight}else{a=document.body.clientHeight}return a}function getClientWidth(){var a=0;if(bIsCSS1Compat){a=document.documentElement.clientWidth}else{a=document.body.clientWidth}return a}function hilightRow(){return}function submitPrevNextForm(c){var b,a;b=document.forms[0];a=document.getElementById("h_cmd");if(b!=null&&a!=null){a.value=c;b.submit();a.value="NEW"}return false}function hideClass(b,a,e,d,c){atsrc=$(a).attr("src");if(atsrc.indexOf(d)>=0){$(a).attr("src",atsrc.replace(d,c))}else{$(a).attr("src",atsrc.replace(c,d))}$("."+e).toggle();adjustFrameHeight()}var ogEvents=new Object();function setEvent(){var f,a,e,b,c,d;f=arguments[0];a=arguments[1];e=arguments[2];b=arguments[3];c=arguments[4];d=arguments[5];if(ogEvents[f]==null){ogEvents[f]=new Array()}ogEvents[f][ogEvents[f].length]={event:a,"function":e,filter:b,fire:c,bindFunc:d}}var endInitEvent=false;function bindEvents(){var g,d,f,e,c,b,a;for(g in ogEvents){d=arguments[0]?arguments[0].find(g):$(g);f=ogEvents[g];e=false;for(b=0;b<f.length;b++){if(f[b]["bindFunc"]){f[b]["bindFunc"]()}c=f[b]["filter"]?d.filter(f[b]["filter"]):d;c.bind(f[b]["event"],f[b]["function"]);if(f[b]["fire"]){e=true;for(a=0;a<c.length;a++){$(c[a]).triggerHandler(f[b]["event"])}}}}endInitEvent=true}function isEndInitEvent(){return endInitEvent}function selChanged(a){var b=a.textObj;b.value=a.options[a.selectedIndex].value;if(b.value==""){b.value=a.options[a.selectedIndex].text}$(b).change()}function makeInputMenu(h,b){var g,c,f,a,e,d;g=document.getElementById(h);c=document.getElementById(h+".sel");if(b==undefined){b=0}else{b++}if((!g.setSel||g.offsetWidth==0)&&b<10){g.setSel=true;f=setTimeout("makeInputMenu('"+h+"',"+b+")",200);return}a=g.offsetWidth-18+"px";c.style.position="absolute";c.style.width=g.offsetWidth+"px";c.style.height=g.offsetHeight+"px";e=getDimensions(g);d=getDimensions(c.offsetParent);c.style.left=e.left-d.left+"px";c.style.top=e.top-d.top+"px";c.style.clip="rect(auto auto auto "+a+")";c.textObj=g;c.selectedIndex=-1}function rtnPopup(a){if(parent){parent.window.returnValue=a}else{window.returnValue=a}window.close()}function ogPopup(t,o,a,c,p,n,e,s,x){var r,u,h,l,m,g,z,y,w,d;var f=function(k){k.focus();var j=document.selection.createRange();j.moveStart("character",-k.value.length);var i=j.text.length;return i};r="600px";u="900px";if(o!=null){r=o}if(a!=null){u=a}r=o?parseInt(o,10)+"px":"600px";u=a?parseInt(a,10)+"px":"900px";h=t+"?command="+(e?e:"NEW");l="resizable:on; dialogHeight:"+r+";dialogWidth:"+u;if(x){l=l+";dialogLeft:"+x.screenX+"px;dialogTop:"+x.screenY+"px"}if(c!=null){for(y=0;y<c.length;y+=2){h=h+"&"+c[y]+"="+encodeURIComponent(c[y+1])}}m="";if((n!=null)&&(document.getElementById(n[0]))){m=document.getElementById(n[0]).value}g=showModalDialog(h,m,l);if((g!=null)&&(typeof g!=="object")){g=new Array(g)}var q=new Array();if(g!=null&&n!=null){for(w=0;(w<n.length&&w<g.length);w++){if(n[w]!=""){z=$(p).closest("form").get(0).elements[n[w]];if(z!=null){if(n[w].indexOf("h_")==0&&z.length){for(var v=0;v<z.length;v++){d=z[v].value;if(s=="true"){var b=f(z[v]);z[v].value=z[v].value.substring(0,b)+g[w]+z[v].value.substring(b,z[v].value.length)}else{z[v].value=g[w]}if(d!=g[w]){q[q.length]=z[v]}}}else{d=z.value;if(s=="true"){var b=f(z);z.value=z.value.substring(0,b)+g[w]+z.value.substring(b,z.value.length)}else{z.value=g[w]}if(d!=g[w]){q[q.length]=z}}}}}}for(y=0;y<q.length;y++){$(q[y]).change()}if(g!=null&&g[0]=="_RENEW"){if(g[1].indexOf("?")>0){location.href=g[1]+"&command=RENEW"}else{location.href=g[1]+"?command=RENEW"}}}function ogOpen(d,b,c,e){var f,a;f=e;if(b!=null){a="left="+b.x+",top="+b.y;if(f!=null){f+=","+a}}window.open(d,c,f)}function setDisplayCapture(a){clipboardData.setData("Text",a);setTimeout("getDisplayCapture()",1000)}function getDisplayCapture(){var a=clipboardData.getData("Text");if(a.lastIndexOf("ERROR:",0)==0){alert(a)}return a}function adjustFrameHeight_iframe(){var e=$("iframe.HYBS_IFRAME",parent.document);if(e.length<1){return}var b=parent.document.documentElement.clientHeight;var d=0;var a=document.documentElement.scrollWidth;var c=document.documentElement.clientWidth;var f=(/a/[-1]=="a");$(e).each(function(g,l){if(g!=e.length-1){var k=$("#END_MARKER",$(l).contents());var h=k[0];var j=5;if(f||a!=c){j+=14}var i=h.offsetTop+h.parentNode.offsetTop+j;$(l).height(i);d=d+i+8}else{$(l).css("height","calc(100% - "+d+"px)").css("min-height","100px")}})}function toZenkakuKana(c){var d=new Array("ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ヴ","ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ","ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ヲ","ン");var a=new Array("ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ヴ","ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ","ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ヲ","ン");for(var b=0;b<d.length;b++){c=c.replace(new RegExp(d[b],"g"),a[b])}return c};
\ No newline at end of file
--- trunk/opengionV5/uap/webapps/gf/src/script/common/default.js (revision 1757)
+++ trunk/opengionV5/uap/webapps/gf/src/script/common/default.js (revision 1758)
@@ -427,6 +427,7 @@
427427 * 5.1.4.0 (2010/03/01) 横スクロールが出る場合及びFireFoxに対しての自動調整対応
428428 * 5.5.3.4 (2012/06/19) 上下分割で、下部の左右分割時(3フレームと認識)の処理に対応。
429429 * 5.10.1.1 (2018/07/13) frameをiframeに置換した場合の対応。
430+ * 5.10.15.1 (2019/09/06) 三分割で真ん中がdummy.htmlの場合でもなんとなく動くようにしておく
430431 *
431432 */
432433 function adjustFrameHeight() {
@@ -456,7 +457,8 @@
456457 for( i=0; i<size-1; i++ ) {
457458 endMarkObj = oFrames[i].document.getElementById( "END_MARKER" );
458459 if( endMarkObj == null ) {
459- return;
460+ // return;
461+ tempRows = tempRows + ( document.body.scrollHeight ) + ","; // 5.10.15.1 (2019/09/06) 真ん中がdummy.htmlでもなんとなく動くようにしておく
460462 }
461463 else {
462464 sw = oFrames[i].document.documentElement.scrollWidth;
Show on old repository browser