/* snkJsLib.asp ------------------------------------------------------ ライブラリ名 :三光JavaScriptライブラリ -------------------------------------------------------------------- */ /*** 変数定義 ***/ var XMLNM = "../include/help.xml"; // チップヘルプ var ja_zenti; var errKey; //マスタ読込 var target; //マスタ読込 var masterReadFile = "../include/masterRead.asp"; //マスタ読込 var masterPopFile = "../include/masterPop.asp"; //ポップアップ function absolutePath(path){ // 相対アドレスを絶対アドレスに変換 var e = document.createElement('span'); e.innerHTML = ''; return e.firstChild.href; } /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ・明細に使用する関数群 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */ /* dellLine--------------------------------------------------------- 関数名 :dellLine()関数 説明 :明細の任意の行を削除する。 引数 :行番号,最大行(省略不可) 使用例 :dellLine('ja_gyo','VB_GYE') 作成者 :濱田 作成日 :2007/1/29 --------------------------------------------------------------------*/ function dellLine(line,tableId){ objInput = document.getElementsByTagName('INPUT'); // res=confirm("【行削除】 行番号:" + line + "\n削除しますか?"); res=true; if(res==true){ var lineCount = document.all(tableId).rows.length - 1; for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + line + "$")){ startLine = i break; } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + eval(line + 1) + "$")){ endLine = i nLine = endLine - startLine break; } } if(line != lineCount){ for(l=line; l < lineCount;l++){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + l + "$") && objInput[eval(i+nLine)].id.match("__" + eval(l+1) + "$")){ objInput[i].value = objInput[eval(i+nLine)].value; } } } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + lineCount + "$")){ objInput[i].value = ""; } } } } /* resetLine--------------------------------------------------------- 関数名 :resetLine()関数 説明 :明細の任意の行を消す。 引数 :行番号,最大行(省略不可) 使用例 :resetLine('ja_gyo','VB_GYE') 作成者 :濱田 作成日 :2007/5/9 --------------------------------------------------------------------*/ function resetLine(line,tableId){ objInput = document.getElementsByTagName('INPUT'); res=confirm("【行取消】 行番号:" + line + "\n取消しますか?"); if(res==true){ var lineCount = document.all(tableId).rows.length - 1; for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + line + "$")){ startLine = i break; } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + eval(line + 1) + "$")){ endLine = i nLine = endLine - startLine break; } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + line + "$")){ objInput[i].value = ""; } } } } /* intoLine--------------------------------------------------------- 関数名 :intoLine()関数 説明 :明細の任意の行に挿入する。 引数 :行番号,最大行(省略不可) 使用例 :intoLine('ja_gyo','VB_GYE') 作成者 :濱田 作成日 :2007/1/30 --------------------------------------------------------------------*/ function intoLine(line,tableId){ objInput = document.getElementsByTagName('INPUT'); var lineCount = document.all(tableId).rows.length - 1; if(lineCount == line){ return; } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + lineCount + "$")){ if(objInput[i].value != ""){ alert("挿入することは出来ません。"); return; } } } // res=confirm("【行挿入】 行番号:" + line + "\n挿入しますか?"); res=true; if(res==true){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + line + "$")){ startLine = i break; } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + eval(line + 1) + "$")){ endLine = i nLine = endLine - startLine break; } } if(line != lineCount){ for(l=lineCount; l > line;l--){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + l + "$")){ objInput[i].value = objInput[eval(i-nLine)].value; } } } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + line + "$")){ objInput[i].value = ""; } } } } /* copyLine--------------------------------------------------------- 関数名 :copyLine()関数 説明 :明細の任意の行を複写する。 引数 :行番号,最大行(省略不可) 使用例 :copyLine('ja_gyo','VB_GYE') 作成者 :濱田 作成日 :2007/1/30 --------------------------------------------------------------------*/ function copyLine(line,tableId){ objInput = document.getElementsByTagName('INPUT'); var lineCount = document.all(tableId).rows.length - 1; flg=0 if(line == 1){return;} l = line for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + l + "$")){ if(objInput[i].value != ""){ alert("データがある行に複写はできません。"); flg = 1; break; } } } if(flg == 1){return;} // res=confirm("【行複写】 行番号:" + line + "\n行番号:" + eval(line-1) + "を複写しますか?"); res=true; if(res==true){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + line + "$")){ startLine = i break; } } for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + eval(line - 1) + "$")){ endLine = i nLine = startLine - endLine break; } } l = line for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + l + "$")){ objInput[i].value = objInput[eval(i-nLine)].value; } } } } /* addLine--------------------------------------------------------- 関数名 :addLine()関数 説明 :明細の行を増やす。 引数 :行番号,最大行(省略不可) 使用例 :addLine('ja_gyo','tableId') 作成者 :濱田 作成日 :2007/3/6 --------------------------------------------------------------------*/ function addLine(maxLine,tableId){ objInput = document.getElementsByTagName('INPUT'); var lineCount = document.all(tableId).rows.length - 1; // if(lineCount >= maxLine){ // alert("これ以上行を増やせません。"); // return; // } l = lineCount; n = 0; var trElement = document.getElementById("TR"+ l); var newtr; var brElement; for(i=0; i < objInput.length; i++){ if(objInput[i].id.match("__" + l + "$")){ if(n==0){ objGyo = document.getElementsByTagName('TD'); for(s=0; s < objGyo.length; s++){ if(objGyo[s].id.match("__" + l + "$")){ brElement = trElement.insertCell(); brElement.innerText = eval(l+1); break; } } var cursolId = objInput[i].id.replace(l,l+1); } newinput = objInput[i].cloneNode(); brElement = trElement.insertCell(); newinput.value = ""; newinput.id = newinput.id.replace(l,l+1); newinput.name = newinput.name.replace(l,l+1); newinput.style.backgroundColor = "#ffffff"; //okd = newinput.onkeydown + ""; //spi0 = okd.split("{"); //okd = spi0[1]; //spi1 = okd.split("}"); //okd = spi1[0]; //newinput.detachEvent("onclick",toknm_keypress()); objInput[i].parentNode.insertBefore(newinput, objInput[i].nextSibling); objInput[i].parentNode.insertBefore(brElement, newinput); n=1; } } moveCursor(cursolId); } /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ・操作制御 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */ /* stopFunctionKey--------------------------------------------------------- 関数名 : 説明 :ファンクションキーを使えなくする。(F1以外) 引数 : 使用例 : 作成者 :濱田 作成日 :2007/3/6 --------------------------------------------------------------------*/ window.document.onkeydown = function () { if(event.keyCode >= 112 && event.keyCode <= 122){ event.keyCode = null; return false; } } /* stopCloseButton--------------------------------------------------------- 関数名 : 説明 :バツボタンやAlt+F4でシステムを閉じれなくする。 引数 : 使用例 : 作成者 :濱田 作成日 :2007/2/22 --------------------------------------------------------------------*/ //function window.onbeforeunload(){ // if(( (event.clientY<0))){ // return "現在のページの情報は保存されませんが、システムを終了してよろしいですか?"; // } //} /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ・オブジェクト操作 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */ /* inputReadOn--------------------------------------------------------- 関数名 :inputReadOn()関数 説明 :INPUTボックスをReadOnly属性にする。 引数 :ID (ワイルドカード指定) 使用例 :inputReadOn('ID') 指定されたNAMEのINPUTタグは除外される。 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function inputReadOn(parents) { objINPUT=document.getElementsByTagName('INPUT'); objRegex = new RegExp(); for(i=0; i < objINPUT.length; i++){ if(objINPUT[i].id.match(objRegex)){ objINPUT[i].readOnly = true; } } if (inputReadOn.arguments.length != 0) { objRegex2 = new RegExp(parents); for(i=0; i < objINPUT.length; i++){ if(objINPUT[i].id.match(objRegex2)){ objINPUT[i].readOnly = false; } } } } /* inputReadOff--------------------------------------------------------- 関数名 :inputReadOff()関数 説明 :INPUTボックスのReadOnly属性を解除する。 引数 :ID (ワイルドカード指定) 使用例 :inputReadOff('ID') 指定されたNAMEのINPUTタグは除外される。 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function inputReadOff(parents) { objINPUT=document.getElementsByTagName('INPUT'); objRegex = new RegExp(); for(i=0; i < objINPUT.length; i++){ if(objINPUT[i].id.match(objRegex)){ objINPUT[i].readOnly = false; } } if (inputReadOff.arguments.length != 0) { objRegex2 = new RegExp(parents); for(i=0; i < objINPUT.length; i++){ if(objINPUT[i].id.match(objRegex2)){ objINPUT[i].readOnly = true; } } } } /* readOnlyTrueInput--------------------------------------------------------- 関数名 :readOnlyTrueInput()関数 説明 :INPUTボックスをReadOnly属性にする。 引数 :ID (ワイルドカード指定) 使用例 :readOnlyTrueInput('ID') 作成者 :濱田 作成日 :2007/3/5 --------------------------------------------------------------------*/ function readOnlyTrueInput(parents) { objInput = document.getElementsByTagName('input'); for (var n = 0; n <= readOnlyTrueInput.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(readOnlyTrueInput.arguments[n])){ document.getElementById(objInput[i].id).readOnly = true; document.getElementById(objInput[i].id).detachEvent("onFocus","") document.getElementById(objInput[i].id).detachEvent("onBlur","") switch(document.getElementById(objInput[i].id).className.charAt(document.getElementById(objInput[i].id).className.length)){ case "L": changeClass(document.getElementById(objInput[i].id),"viewL") break; case "R": changeClass(document.getElementById(objInput[i].id),"viewR") break; case "C": changeClass(document.getElementById(objInput[i].id),"viewC") break; } } } } } } /* readOnlyFalseInput--------------------------------------------------------- 関数名 :readOnlyFalseInput()関数 説明 :INPUTボックスのReadOnly属性を解除する。 引数 :ID (ワイルドカード指定) 使用例 :readOnlyFalseInput('ID') 作成者 :濱田 作成日 :2007/3/5 --------------------------------------------------------------------*/ function readOnlyFalseInput(parents) { objInput = document.getElementsByTagName('input'); for (var n = 0; n <= readOnlyFalseInput.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(readOnlyFalseInput.arguments[n])){ document.getElementById(objInput[i].id).readOnly = false; document.getElementById(objInput[i].id).style.backgroundColor = "#FFFFFF"; document.getElementById(objInput[i].id).style.borderWidth = "1"; } } } } } /* modeControl--------------------------------------------------------- 関数名 :modeControl()関数 説明 :引数のIDの項目以外と必要のないインプットボックス、ボタン等を無効にする。 引数 :ID(ワイルドカード指定) 複数選択可能 使用例 :modeControl('ID1','ID2','ID3') 作成者 :濱田 作成日 :2007/5/13 --------------------------------------------------------------------*/ function modeControl(parent){ objINPUT=document.getElementsByTagName('INPUT'); for (var n = 0; n <= modeControl.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objINPUT.length; i++){ if(objINPUT[i].type == "text" ){ objINPUT[i].readOnly = true; objINPUT[i].style.backgroundColor = Const_FOCUS_COLOR; objINPUT[i].style.borderWidth = "0"; objINPUT[i].style.borderBottomWidth = "1"; } } } } for (var n = 0; n <= modeControl.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objINPUT.length; i++){ if(objINPUT[i].id.match(modeControl.arguments[n]) || objINPUT[i].id.match( "mode" + "$")){ objINPUT[i].readOnly = false; objINPUT[i].style.backgroundColor = "#FFFFFF"; objINPUT[i].style.borderWidth = "1"; } } } } objINPUT=document.getElementsByTagName('select'); for (var n = 0; n <= modeControl.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objINPUT.length; i++){ objINPUT[i].disabled = true; } } } } /* offButton--------------------------------------------------------- 関数名 :offButton()関数 説明 :ボタンを無効にする。 引数 :ID(ワイルドカード指定) 複数選択可能 使用例 :offButton('ID1','ID2','ID3') 作成者 :濱田 作成日 :2007/1/26 --------------------------------------------------------------------*/ function offButton(parents){ objInput = document.getElementsByTagName('button'); for (var n = 0; n <= offButton.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(offButton.arguments[n])){ document.getElementById(objInput[i].id).disabled = true; document.getElementById(objInput[i].id).className = "off"; } } } } } /* onButton--------------------------------------------------------- 関数名 :onButton()関数 説明 :ボタンを有効にする。 引数 :ID(ワイルドカード指定) 複数選択可能 使用例 :onButton('ID1','ID2','ID3') 作成者 :濱田 作成日 :2007/1/26 --------------------------------------------------------------------*/ function onButton(parents){ objInput = document.getElementsByTagName('button'); for (var n = 0; n <= onButton.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(onButton.arguments[n])){ document.getElementById(objInput[i].id).disabled = false; document.getElementById(objInput[i].id).className = "on"; } } } } } /* changeClass--------------------------------------------------------- 関数名 :changeClass()関数 説明 :クラスを変更する。 引数 :ID(ワイルドカード指定) 複数選択可能 使用例 :changeClass('ID1','クラス名1','ID2','クラス名2','ID3','クラス名3') 作成者 :濱田 作成日 :2007/1/29 --------------------------------------------------------------------*/ function changeClass(parents){ objInput = document.getElementsByTagName('input'); for (var n = 0; n <= changeClass.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(changeClass.arguments[n])){ document.getElementById(objInput[i].id).className = changeClass.arguments[n+1]; } } } } } /* changeBackColor--------------------------------------------------------- 関数名 :changeBackColor()関数 説明 :色を変更する。 引数 :ID,色名(ワイルドカード指定) 複数選択可能 使用例 :changeBackColor('ID1','色名1','ID2','色名2','ID3','色名3') 作成者 :濱田 作成日 :2007/3/5 --------------------------------------------------------------------*/ function changeBackColor(parents){ objInput = document.getElementsByTagName('input'); for (var n = 0; n <= changeBackColor.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(changeBackColor.arguments[n])){ document.getElementById(objInput[i].id).style.backgroundColor = changeBackColor.arguments[n+1]; } } } } } /* changeBgColor--------------------------------------------------------- 関数名 :changeBgColor()関数 説明 :色を変更する。 引数 :ID,色名(ワイルドカード指定) 複数選択可能 使用例 :changeBgColor('ID1','色名1','ID2','色名2','ID3','色名3') 作成者 :濱田 作成日 :2007/3/5 --------------------------------------------------------------------*/ function changeBgColor(parents){ objInput = document.getElementsByTagName('TR'); for (var n = 0; n <= changeBgColor.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(changeBgColor.arguments[n])){ document.getElementById(objInput[i].id).style.bgcolor = changeBgColor.arguments[n+1]; //色変更 } } } } } /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ・画面操作 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */ /* objHide--------------------------------------------------------- 関数名 :objHide()関数 説明 :指定されたIDのオブジェクトを非表示にする。 引数 :ID (可変で、複数指定可能) 使用例 :objHide('ID1','ID2','ID3') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function objHide(){ for (var i = 0; i <= objHide.arguments.length - 1; i++) { if(document.getElementById){ if(document.getElementById(objHide.arguments[i]).style.display != "none") document.getElementById(objHide.arguments[i]).style.display = "none"; } } } /* objShow--------------------------------------------------------- 関数名 :objShow()関数 説明 :指定されたIDのオブジェクトを表示にする。 引数 :ID (可変で、複数指定可能) 使用例 :objShow('ID1','ID2','ID3') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function objShow(){ for (var i = 0; i <= objShow.arguments.length - 1; i++) { if(document.getElementById){ if(document.getElementById(objShow.arguments[i]).style.display == "none") document.getElementById(objShow.arguments[i]).style.display = "block"; } } } /* showHide--------------------------------------------------------- 関数名 :showHide()関数 説明 :指定されたIDのオブジェクトを非表示/非表示を切り替える。 引数 :ID (可変で、複数指定可能) 使用例 :showHide('ID1','ID2','ID3') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function showHide(){ for (var i = 0; i <= showHide.arguments.length - 1; i++) { if(document.getElementById){ if(document.getElementById(showHide.arguments[i]).style.display == "none") document.getElementById(showHide.arguments[i]).style.display = "block"; else document.getElementById(showHide.arguments[i]).style.display = "none"; } } } /* showHideTD--------------------------------------------------------- 関数名 :showHideTD()関数 説明 :TDタグ内で指定されたIDのオブジェクトを非表示/表示を切り替える。 引数 :ID (可変で、複数指定可能) 使用例 :showHideTD('ID') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function sShowHideTD(parents) { objTD=document.getElementsByTagName('TD'); objRegex = new RegExp(parents); for(i=0; i < objTD.length; i++){ if(objTD[i].id.match(objRegex)){ showHide(objTD[i].id); } } } /* hideTD--------------------------------------------------------- 関数名 :hideTD()関数 説明 :TDタグ内で指定されたIDのオブジェクトを非表示にする。 引数 :ID (可変で、複数指定可能) 使用例 :hideTD('ID') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function hideTD(parents) { objTD=document.getElementsByTagName('TD'); objRegex = new RegExp(parents); for(i=0; i < objTD.length; i++){ if(objTD[i].id.match(objRegex)){ objHide(objTD[i].id); } } } /* showTD--------------------------------------------------------- 関数名 :showTD()関数 説明 :TDタグ内で指定されたIDのオブジェクトを表示にする。 引数 :ID (可変で、複数指定可能) 使用例 :showTD('ID') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function showTD(parents) { objTD=document.getElementsByTagName('TD'); objRegex = new RegExp(parents); for(i=0; i < objTD.length; i++){ if(objTD[i].id.match(objRegex)){ objShow(objTD[i].id); } } } /* showHideTR--------------------------------------------------------- 関数名 :showHideTR()関数 説明 :TRタグ内で指定されたIDのオブジェクトを非表示/表示を切り替える。 引数 :ID (可変で、複数指定可能) 使用例 :showHideTR('ID') 作成者 :松本 作成日 :2006/12/21 --------------------------------------------------------------------*/ function showHideTR(parents) { objTR=document.getElementsByTagName('TR'); objRegex = new RegExp(parents); for(i=0; i < objTR.length; i++){ if(objTR[i].id.match(objRegex)){ showHide(objTR[i].id); } } } /* showTR--------------------------------------------------------- 関数名 :showTR()関数 説明 :TRタグ内で指定されたIDのオブジェクトを表示にする。 引数 :ID (可変で、複数指定可能) 使用例 :showTR('ID') 作成者 :松本 作成日 :2006/1/6 --------------------------------------------------------------------*/ function showTR(parents) { objTR=document.getElementsByTagName('TR'); objRegex = new RegExp(parents); for(i=0; i < objTR.length; i++){ if(objTR[i].id.match(objRegex)){ objShow(objTR[i].id); } } } /* hideTR--------------------------------------------------------- 関数名 :hideTR()関数 説明 :TDタグ内で指定されたIDのオブジェクトを非表示にする。 引数 :ID (可変で、複数指定可能) 使用例 :hideTR('ID') 作成者 :松本 作成日 :2006/1/6 --------------------------------------------------------------------*/ function hideTR(parents) { objTR=document.getElementsByTagName('TR'); objRegex = new RegExp(parents); for(i=0; i < objTR.length; i++){ if(objTR[i].id.match(objRegex)){ objHide(objTR[i].id); } } } /* moveCursor--------------------------------------------------------- 関数名 :moveCursor()関数 説明 :カーソルを移動する。 引数 :ID 複数選択可能 使用例 :moveCursor('ID1','ID2','ID3') 作成者 :濱田 作成日 :2007/1/29 --------------------------------------------------------------------*/ function moveCursor(parents){ for (var n = 0; n <= moveCursor.arguments.length - 1; n++) { if(moveCursor.arguments[n]=="" || moveCursor.arguments[n]==null){ } else{ var obj = document.getElementById(moveCursor.arguments[n]); if(obj.type=="checkBox"){ } else{ if(obj.readOnly == true || obj.disabled == true){ } else{ n = moveCursor.arguments.length; switch(obj.type){ case "text" : obj.focus(); obj.select(); break; case "button" : obj.focus(); break; case "select" : obj.focus(); break; case "checkbox" : obj.focus(); break; case "img" : obj.focus(); break; } } } } } } /* buttonClick--------------------------------------------------------- 関数名 :buttonClick()関数 説明 :ボタンをクリックする。 引数 :ID 複数選択可能 使用例 :buttonClick('ID1','ID2','ID3') 作成者 :濱田 作成日 :2007/08/09 --------------------------------------------------------------------*/ function buttonClick(parents){ objInput= document.getElementsByTagName('button'); for(var n = 0; n <= buttonClick.arguments.length - 1; n++){ if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].id.match(buttonClick.arguments[n])){ if((document.getElementById(objInput[i].id).disabled == false)){ objInput[i].click(); break; } } } } } } /* chipHelp--------------------------------------------------------- 関数名 :chipHelp()関数 説明 :チップヘルプを表示する。 引数 :表示する項目,表示するXML文書(省略不可) 使用例 :chipHelp(this,'keycd') 作成者 :濱田 作成日 :2007/4/13 --------------------------------------------------------------------*/ function chipHelp(main,atai){ xml_doc = new ActiveXObject("Microsoft.XMLDOM"); xml_doc.async = false; //更新不可 xml_doc.load(XMLNM); //読んでくるXMLファイル var string = ""; if(xml_doc.documentElement.hasChildNodes()){ var i = 0; var j = xml_doc.documentElement.childNodes.length ; for(i=0 ; i < j ; i++){ if(xml_doc.documentElement.childNodes.item(i).nodeName == atai){ string = xml_doc.documentElement.childNodes.item(i).text; main.title = string; i = j; } } } } /* layerPop画面移動--------------------------------------------------------- 関数名 : 説明 :layerPopをドラッグで移動できるようにする。 引数 : 使用例 : 作成者 :濱田 作成日 :2007/4/19 --------------------------------------------------------------------*/ var ie = document.all; var ns6 = document.getElementById&&!document.all; var dragapproved = false; var z, x, y; function move(e) { if (dragapproved) { z.style.left = ns6? temp1+e.clientX-x : temp1+event.clientX-x; z.style.top = ns6? temp2+e.clientY-y : temp2+event.clientY-y; return false; } } function drags(e) { if (!ie&&!ns6) return; var firedobj = ns6? e.target : event.srcElement; var topelement = ns6? "HTML" : "BODY"; if(firedobj.className){} else{ return; } while (firedobj.tagName!=topelement&&firedobj.className!="popBody") { firedobj = ns6? firedobj.parentNode : firedobj.parentElement; } if (firedobj.className=="GB_Window") { dragapproved = true; z = firedobj; temp1 = parseInt(z.style.left+0); temp2 = parseInt(z.style.top+0); x = ns6? e.clientX : event.clientX; y = ns6? e.clientY : event.clientY; document.onmousemove = move; return false; } } document.onmousedown = drags; document.onmouseup = new Function("dragapproved=false"); /* スクロールバー付与--------------------------------------------------------- 関数名 :ScrollableTable()関数 説明 :任意のテーブルをスクロールバー対応にする。 引数 : 使用例 :var t = new ScrollableTable(document.getElementById('tblTest'), 500); 作成者 :濱田 作成日 :2007/4/19 --------------------------------------------------------------------*/ function ScrollableTable (tableEl, tableHeight, tableWidth) { this.initIEengine = function () { this.containerEl.style.overflowY = 'auto'; if (this.tableEl.parentElement.clientHeight - this.tableEl.offsetHeight < 0) { this.tableEl.style.width = this.newWidth - this.scrollWidth -1 +'px'; } else { this.containerEl.style.overflowY = 'hidden'; this.tableEl.style.width = this.newWidth +'px'; } if (this.thead) { var trs = this.thead.getElementsByTagName('tr'); for (x=0; x= (this.newHeight - (headHeight + footHeight))) { this.tbody.style.overflow = '-moz-scrollbars-vertical'; for (x=0; x val2) { pos = j; val = val2; } } } if(pos != i) tbody.insertBefore(tbody.rows[pos], tbody.rows[i]); } document.body.style.cursor = "default"; } /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ・操作制御 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */ /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ・ETC ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */ /* changeMode--------------------------------------------------------- 関数名 :changeMode()関数 説明 :モードを変更する。 引数 :モードボタンID 使用例 :changeMode(this.id) 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function changeMode(mode,cursor,flg){ main("MODE").value = document.getElementById(mode).value; main("FLGMODE").value = mode; onButton("modeBt","runBt"); changeClass("modeBt","ModeButton","runBt","Button"); switch(mode){ case "modeBtNew": //新規登録 document.getElementById("runBt").style.display = "inline"; main("RUNBT").value = " F11:登 録 "; if(flg==1){ offButton("modeBt"); changeClass("modeBt","noModeButton"); } break; case "modeBtRev": //訂正 document.getElementById("runBt").style.display = "inline"; main("RUNBT").value = " F11:保 存 "; if(flg==1){ offButton("modeBtNew"); changeClass("modeBtNew","noModeButton"); } break; case "modeBtDel": //削除 document.getElementById("runBt").style.display = "inline"; main("RUNBT").value = " F11:削 除 "; if(flg==1){ offButton("modeBtNew"); changeClass("modeBtNew","noModeButton"); } break; case "modeBtPre": //照会 document.getElementById("runBt").style.display = "none"; if(flg==1){ offButton("modeBtNew"); changeClass("modeBtNew","noModeButton"); } break; } changeBackColor(mode,"white") changeClass(mode,"noModeButton"); offButton(mode); moveCursor(cursor); } /* validateRun--------------------------------------------------------- 関数名 :validateRun()関数 説明 :入力チェックを行いエラーがなければ引数に渡した処理を行う。 引数 :項目、チェック内容、処理 使用例 :validateRun(this,num1-999999,moveCursor("TOK_CD")) 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function validateRun(oneself,after){ switch(event.keyCode){ case 9 : // 【Tab】 case 13: // 【Enter】 main.MSGBOX.value = Const_MSG; oneself.click(); if(event.shiftKey == false) { Validator.check(oneself,after); event.returnValue=false; } break; case 27 : // 【Esc】 oneself.value = ""; event.returnValue=false; break; default:break; } } /* validatePop--------------------------------------------------------- 関数名 :validatePop()関数 説明 :ポップアップ対応項目で使う。入力チェックを行いエラーがなければ引数に渡した処理を行う。 引数 :項目、チェック内容、処理、開くPOPUP名 使用例 :validateRun(this,num1-999999,moveCursor("TOK_CD"),"TOK_POP") 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function validatePop(oneself,after,pop){ switch(event.keyCode){ case 34: //【PageDown】 oneself.click(); document.body.focus(); eval(pop); event.returnValue=false; break; case 9 : // 【Tab】 case 13: // 【Enter】 main.MSGBOX.value = Const_MSG; oneself.click(); if(event.shiftKey == false) { Validator.check(oneself,after); event.returnValue=false; } break; case 27 : // 【Esc】 oneself.value = ""; event.returnValue=false; break; default:break; } } /* validateLine--------------------------------------------------------- 関数名 :validateLine()関数 説明 :明細項目で使う。入力チェックを行いエラーがなければ引数に渡した処理を行う。 引数 :項目、チェック内容、処理、行番号 使用例 :validateLine(this,num1-999999,moveCursor("TOK_CD"),2) 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function validateLine(oneself,after,line,tableid){ if(event.keyCode == 0){ event.keyCode = 13; } switch(event.keyCode){ case 9 : // 【Tab】 case 13: // 【Enter】 main.MSGBOX.value = Const_MSG; oneself.click(); if(event.shiftKey == false) { Validator.check(oneself,after); event.returnValue=false; } break; case 115: //【F4】 行複写 event.keyCode=0 copyLine(line,tableid); event.returnValue=false break; case 27 : // 【Esc】 oneself.value = ""; event.returnValue=false; break; default:break; } } /* validateLinePop--------------------------------------------------------- 関数名 :validateLinePop()関数 説明 :POPUP対応の明細項目で使う。入力チェックを行いエラーがなければ引数に渡した処理を行う。 引数 :項目、チェック内容、処理、行番号、開くPOPUP名 使用例 :validateLinePop(this,num1-999999,moveCursor("TOK_CD"),2,"TOK_POP") 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function validateLinePop(oneself,after,line,tableid,pop){ switch(event.keyCode){ case 34: //【PageDown】 oneself.click(); document.body.focus(); main(pop).click(); event.returnValue=false; break; case 9 : // 【Tab】 case 13: // 【Enter】 main.MSGBOX.value = Const_MSG; oneself.click(); if(event.shiftKey == false) { Validator.check(oneself,after); event.returnValue=false; } break; case 115: //【F4】 行複写 event.keyCode=0 copyLine(line,tableid); event.returnValue=false break; case 116: //【F5】 行削除 event.keyCode=0 dellLine(line,tableid); event.returnValue=false break; case 117: //【F6】 行挿入 event.keyCode=0 intoLine(line,tableid); event.returnValue=false break; case 27 : // 【Esc】 oneself.value = ""; event.returnValue=false; break; default:break; } } /* entryLine--------------------------------------------------------- 関数名 :entryLine()関数 説明 :明細項目で使う。入力チェックを行いエラーがなければ引数に渡した処理を行う。 引数 :行番号 使用例 :entryLine(2,"table") 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function entryLine(line,tableid){ switch(event.keyCode){ case 27 : // 【Esc】 event.returnValue=false; break; case 115 : // 【F4】 event.keyCode=0 document.main.action = "./read.asp?pg=copyLine&line=" + line document.main.submit(); event.returnValue=false break; case 116 : // 【F5】 event.keyCode=0 // if(confirm(line + "行目を削除しますか?")){ document.main.action = "./read.asp?pg=dellLine&line=" + line document.main.submit(); // } event.returnValue=false break; case 117 : // 【F6】 event.keyCode=0 document.main.action = "./read.asp?pg=intoLine&line=" + line document.main.submit(); event.returnValue=false break; default:break; } } /* makeSure--------------------------------------------------------- 関数名 :makeSure()関数 説明 :確認のオンキーダウンイベントで使用。 引数 : 使用例 :onkeydown = "makeSure()" 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function makeSure(){ switch(event.keyCode){ case 9 : // 【Tab】 case 13: // 【Enter】 if(event.shiftKey == false) { event.returnValue=false; } break; case 27 : // 【Esc】 event.returnValue=false; break; case 122 : // 【F11】 document.body.focus(); buttonClick("entry_BT"); event.returnValue=false; break; } } /* makeSureWrite--------------------------------------------------------- 関数名 :makeSureWrite()関数 説明 :確認のオンキーダウンイベントで使用。 引数 : 使用例 :onkeydown = "makeSureWrite()" 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function makeSureWrite(after){ switch(event.keyCode){ case 9 : // 【Tab】 case 13: // 【Enter】 objDIV=document.getElementsByTagName('DIV'); for(i=0; i < objDIV.length; i++){ if(objDIV[i].className.match("baloon_r")){ objDIV[i].style.display = "none"; } } objinput=document.getElementsByTagName('input'); for(i=0; i < objinput.length; i++){ if(objinput[i].style.backgroundColor == "#ffaaaa"){ objinput[i].style.backgroundColor = "#ffffff"; } } if(event.shiftKey == false) { eval(after); event.returnValue=false; } break; case 27 : // 【Esc】 event.returnValue=false; break; case 122 : // 【F11】 document.body.focus(); objDIV=document.getElementsByTagName('DIV'); for(i=0; i < objDIV.length; i++){ if(objDIV[i].className.match("baloon_r")){ objDIV[i].style.display = "none"; } } objinput=document.getElementsByTagName('input'); for(i=0; i < objinput.length; i++){ if(objinput[i].style.backgroundColor == "#ffaaaa"){ objinput[i].style.backgroundColor = "#ffffff"; } } buttonClick("entry_BT"); event.returnValue=false; break; } } /* keyLock--------------------------------------------------------- 関数名 :keyLock()関数 説明 :キーコードの変更を出来なくする。 引数 : 使用例 : 作成者 :濱田 作成日 :2007/5/18 --------------------------------------------------------------------*/ function keyLock(){ if(main("MODE").value != '') {return(true);}else{return(false);} } /* ColorfulInput--------------------------------------------------------- 関数名 :ColorfulInput()関数 説明 :オンフォーカス時に色をかえる 引数 : 使用例 :var colorful = new ColorfulInput;colorful.set(); 作成者 :濱田 作成日 :2007/5/18 --------------------------------------------------------------------*/ function ColorfulInput() { this.skip = ['text']; this.set = function() { for (var i = 0; i < document.forms.length; i++) { for (var f = 0; f < document.forms[i].length; f++) { var elm = document.forms[i][f]; this.color = { 'blur': elm.style.backgroundColor, 'focus': Const_FOCUS_COLOR}; if(!this._checkSkip(elm)) continue; this._setColor(elm, 'focus'); this._setColor(elm, 'blur'); } } } this._checkSkip = function(elm) { for(var i in this.skip) { if(elm.type != this.skip[i]) return false; } return true; } this._setColor = function(elm, type) { var color = this.color[type]; var event = function() { if(elm.readOnly==false){elm.style.backgroundColor = color;} }; if(elm.addEventListener) { elm.addEventListener(type, event, false); }else if(elm.attachEvent) { elm.attachEvent('on'+type, event); } else { elm['on'+type] = event; } } } /* modeBeforeChk--------------------------------------------------------- 関数名 :modeBeforeChk()関数 説明 :モード確定前のキー以外へのフォーカスを禁止する。 引数 :キー項目ID 使用例 :modeBeforeChk("SHO_CD"); 作成者 :濱田 作成日 :2007/8/20 --------------------------------------------------------------------*/ function modeBeforeChk(parent) { objInput= document.getElementsByTagName('input'); var keyPosition = modeBeforeChk.arguments[0]; var event = function() { if(main.MODE.value==""){moveCursor(keyPosition)} }; var event2 = function() { if(keyLock()){document.body.focus()} }; for(i=0; i < objInput.length; i++){ if(objInput[i].type=="text" && objInput[i].readOnly == false){ var onflg=0; for(var n = 0; n <= modeBeforeChk.arguments.length - 1; n++){ if(!objInput[i].id.match(modeBeforeChk.arguments[n] + "$")){ onflg=1; } else{ onflg=0; objInput[i].attachEvent('onfocus', event2); break; } } if(onflg==1){ objInput[i].attachEvent('onfocus', event); } } } } /* changeChk--------------------------------------------------------- 関数名 :changeChk()関数 説明 :前置を記憶する 引数 :項目,変更時の処理 使用例 :changeChk(this,action) 作成者 :濱田 作成日 :2007/08/06 --------------------------------------------------------------------*/ function changeLearn(oneself){ ja_zenti = document.getElementById(oneself.id).value; } function changeChk(oneself,action){ if(ja_zenti != document.getElementById(oneself.id).value){ eval(action); } } /* bodyKeydown--------------------------------------------------------- 関数名 :bodyKeydown()関数 説明 :BODYのオンキーダウンイベントで使用。 引数 : 使用例 : 作成者 :濱田 作成日 :2007/5/8 --------------------------------------------------------------------*/ function bodyKeydown(){ switch(event.keyCode){ case 19 : // 【Pause】 buttonClick("close_BT"); event.returnValue=false; break; case 114 : // 【F3】 buttonClick("F3_BT"); event.returnValue=false; break; case 115 : // 【F4】 buttonClick("F4_BT"); event.returnValue=false; break; case 116 : // 【F5】 buttonClick("F5_BT"); event.returnValue=false; break; case 117 : // 【F6】 buttonClick("F6_BT"); event.returnValue=false; break; case 118 : // 【F7】 buttonClick("F7_BT"); event.returnValue=false; break; case 119 : // 【F8】 buttonClick("F8_BT"); event.returnValue=false; break; case 120 : // 【F9】 buttonClick("F9_BT"); event.returnValue=false; break; case 121 : // 【F10】 buttonClick("F10_BT"); event.returnValue=false; break; case 122 : // 【F11】 buttonClick("F11_BT"); // buttonClick("entry_BT"); event.returnValue=false; break; case 123 : // 【F12】 buttonClick("F12_BT"); event.returnValue=false; break; default:break; } } /* mouseRightClick--------------------------------------------------------- 関数名 :mouseRightClick()関数 説明 :インプットボックス以外の右クリックイベントの無効化 引数 : 使用例 : 作成者 :濱田 作成日 :2007/12/12 --------------------------------------------------------------------*/ function mouseRightClick(){ if(event.srcElement.tagName != "INPUT"){ if(event.srcElement.tagName != "A"){ if(event.srcElement.id!='excelImg'){ event.returnValue=false; } } } } /* errBaloonAllCrear--------------------------------------------------------- 関数名 :errBaloonAllCrear()関数 説明 :エラーバルーンを全て削除する 引数 : 使用例 :errBaloonAllCrear(); 作成者 :濱田 作成日 :2008/1/18 --------------------------------------------------------------------*/ function errBaloonAllCrear() { objDIV=document.getElementsByTagName('DIV'); for(i=0; i < objDIV.length; i++){ if(objDIV[i].className.match("baloon_r")){ objDIV[i].style.display = "none"; } if(objDIV[i].className.match("baloon_l")){ objDIV[i].style.display = "none"; } } } /* firstSetUp--------------------------------------------------------- 関数名 :firstSetUp()関数 説明 :ページ表示後実行処理 引数 :テーブル縦 使用例 :firstSetUp("521"); 作成者 :濱田 作成日 :2007/08/06 --------------------------------------------------------------------*/ function firstSetUp(height){ var event = function() { errBaloonAllCrear() }; objInput= document.getElementsByTagName('img'); for(i=0; i < objInput.length; i++){ if(objInput[i].src==absolutePath(CONST_POP_IMG)){ objInput[i].attachEvent('onclick', event); } } var event = function() { bodyKeydown();}; document.body.attachEvent('onkeydown',event); var event2 = function() { mouseRightClick();}; document.body.attachEvent('oncontextmenu',event2); document.all.DIV_First.style.display='none'; document.all.DIV_MAIN.style.display='block'; var colorful = new ColorfulInput;colorful.set(); // オンフォーカス時に色の変更 if(height!=0){ var t = new ScrollableTable(document.getElementById('table'), height); // スクロールバーの設定 } if(Const_DBGFLG == '1' && DSPDBG == '1'){ objInput = document.getElementsByTagName('input'); for (var n = 0; n <= firstSetUp.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].style.display=="none"){ objInput[i].style.display=""; } if(objInput[i].type=="none"){ objInput[i].type=""; } } } } objInput = document.getElementsByTagName('span'); for (var n = 0; n <= firstSetUp.arguments.length - 1; n++) { if(document.getElementById){ for(i=0; i < objInput.length; i++){ if(objInput[i].style.display=="none"){ objInput[i].style.display=""; } if(objInput[i].type=="none"){ objInput[i].type=""; } } } } document.getElementById(Const_WRK_NAME).width= Const_WRK_WIDTH; document.getElementById(Const_WRK_NAME).height= Const_WRK_HEIGHT; document.body.style.overflow="scroll"; } else{ document.getElementById(Const_WRK_NAME).width= 0; document.getElementById(Const_WRK_NAME).height= 0; } } // ********************************************************************************************************** // Now_Date:Today date // ********************************************************************************************************** function wpj_nowd(){ ymd = new Date; y = ymd.getFullYear(); m = ymd.getMonth() + 1; d = ymd.getDate(); ymd = y + "/" + m + "/" + d; return(ymd); } // ********************************************************************************************************** // Now_T:Today date & time // ********************************************************************************************************** function wpj_nowt(){ ymd = new Date; y = ymd.getFullYear(); m = ymd.getMonth() + 1; d = ymd.getDate(); h = ymd.getHours(); n = ymd.getMinutes(); s = ymd.getSeconds(); ymd = y + "/" + m + "/" + d + " " + h + ":" + n + ":" + s; return(ymd); } // ********************************************************************************************************** // chk_ymd:日付のチェック。 // ********************************************************************************************************** function wpj_date_ymd(){ y=this.getFullYear(); m=this.getMonth()+1;if(m<10)m="0" + m; d=this.getDate();if(d<10)d="0" + d; return y+"/"+m+"/"+d; } function wpj_chkymd(ymd_chk){ if(ymd_chk == ''){return("NULL");} ymd_chk=ymd_chk.replace("-","/"); ymd_chk=ymd_chk.replace("-","/"); ymd=ymd_chk; if ((ymd.length<6) && (ymd.length>0)) { ymd = new Date(ymd); if (isNaN(ymd)) { ymd = new Date(); yyyy = ymd.getFullYear(); ymd = yyyy + "/" + ymd_chk; } else{ ymd=ymd_chk; } } for (ix1=0;ix10)) { ymd = new Date(ymd); if (isNaN(ymd)) { ymd = new Date(); yyyy = ymd.getFullYear(); ymd = yyyy + "/" + ymd_chk; } else{ ymd=ymd_chk; } } else{ ymd = ymd_chk + "/01" } for (ix1=0;ix12) || (h>0)){ if(h.length>4){ h=time[0].substring(0,2); n=time[0].substring(2,4); s=time[0].substring(4,6); } else{ h=time[0].substring(0,2); n=time[0].substring(2,4); s="00"; } } else{ if((isNaN(h)) || (h>0)){ h=time[0].substring(0,2); n="00"; s="00"; } else{ return 'TIME'; } } } if(h!=null && n!=null && s==null){ if((isNaN(n)) || (n.length>2) || (n>0)){ if(n.length>4){ return 'TIME'; } else{ n=time[1].substring(0,2); s=time[1].substring(2,4); } } else{ if((isNaN(n)) || (n>=0)){ n=time[1].substring(0,2); s="00"; } else{ return 'TIME'; } } } if( (isNaN(s)) || (s.length>2) || (s<0)){ return 'TIME'; } else{ if(s>59){ n = (n-0) + 1 s = (s-0) - 60 } } if( (isNaN(n)) || (n.length>2) || (n<0)){ return 'TIME'; } else{ if(n>59){ h = (h-0) + 1 n = (n-0) - 60 } } if( (isNaN(h)) || (h.length>2) || (h<0) || (h>23)){ return 'TIME'; } h=h+'' n=n+'' s=s+'' if(h.length<2)h='0' + h; if(n.length<2)n='0' + n; if(s.length<2)s='0' + s; if(h.length<2)h='0' + h; if(n.length<2)n='0' + n; if(s.length<2)s='0' + s; hns = h+":"+n+":"+s retunFlg=1; return hns; } // ********************************************************************************************************** // chk_hn:時間のチェック。 2006/11/16 濱田追加 // ********************************************************************************************************** function wpj_chkhn(hns_chk,re_time){ if(hns_chk == ''){return("NULL");} hns=hns_chk; SplitMark='.'; for(k=1;k<3;k++){ for(i=0;i2) || (h>0)){ if(h.length>4){ h=time[0].substring(0,2); n=time[0].substring(2,4); s=time[0].substring(4,6); } else{ h=time[0].substring(0,2); n=time[0].substring(2,4); s="00"; } } else{ if((isNaN(h)) || (h>=0)){ h=time[0].substring(0,2); n="00"; s="00"; } else{ return 'TIME'; } } } if(h!=null && n!=null && s==null){ if((isNaN(n)) || (n.length>2) || (n>0)){ if(n.length>4){ return 'TIME'; } else{ n=time[1].substring(0,2); s=time[1].substring(2,4); } } else{ if((isNaN(n)) || (n>=0)){ n=time[1].substring(0,2); s="00"; } else{ return 'TIME'; } } } if( (isNaN(s)) || (s.length>2) || (s<0)){ return 'TIME'; } else{ if(s>59){ n = (n-0) + 1 s = (s-0) - 60 } } if( (isNaN(n)) || (n.length>2) || (n<0)){ return 'TIME'; } else{ if(n>59){ h = (h-0) + 1 n = (n-0) - 60 } } if( (isNaN(h)) || (h.length>2) || (h<0) || (h>23)){ return 'TIME'; } h=h+'' n=n+'' s=s+'' if(h.length<2)h='0' + h; if(n.length<2)n='0' + n; if(s.length<2)s='0' + s; if(h.length<2)h='0' + h; if(n.length<2)n='0' + n; if(s.length<2)s='0' + s; hns = h+":"+n retunFlg=1; return hns; } function wpj_hasu(num,kbn,keta) { var chKeta = Math.pow(10,keta); var tmp_num = num*chKeta; switch(kbn){ case 1: if(tmp_num >= 0){ var tmp_result = Math.floor(tmp_num); } else{ var tmp_result = Math.ceil(tmp_num); } break; case 2: var tmp_result = Math.round(tmp_num); break; case 3: if(tmp_num >= 0){ var tmp_result = Math.ceil(tmp_num); } else{ var tmp_result = Math.floor(tmp_num); } break; default: var tmp_result = Math.round(tmp_num); break; } var result = tmp_result/chKeta; return(result); } // ********************************************************************************************************** // Comma_Nothing:カンマを取る。 // ********************************************************************************************************** function wpj_cn(Recv_Area){ Result_Area = new Number(); Edit_Area = new String(""); Comma_Nothing_Area = new Array(); Comma_Nothing_Area = Recv_Area.split(","); //カンマを除く Edit_Area = Comma_Nothing_Area.join(""); //配列を結合 if( isNaN(Edit_Area) ) { alert("数字だけを入力して下さい。");return(0)} Result_Area = Edit_Area; return(Result_Area); } // ********************************************************************************************************** // Numeric_Chk:数字の範囲チェック&小数部の桁数チェック // ********************************************************************************************************** function wpj_numchk(Recv_Area,Recv_Sta,Recv_End,Recv_Dec){ //初期化。 Result_Area = new Number(); Edit_Area = new String(""); Int_Dec_Area = new Array(); Comma_Nothing_Area = new Array(); //空白チェック。 if(Recv_Area == ''){return("NULL");} //入力されたTEXTフィールドをstring変数areaに代入。 Comma_Nothing_Area = Recv_Area.split(","); //カンマを除く Edit_Area = Comma_Nothing_Area.join(""); //配列を結合 //数値チェック。 Chk = 0; for (i=0; i < Edit_Area.length; i++) { c = Edit_Area.charAt(i); if(!((c >= '0' && c <= '9') || (c ==',') || (c =='.'))) { if(!(i==0 && c =='-')){ Chk = Chk + 1; } } } if(Chk != 0 ){return("NUM")} if(isNaN(parseFloat(Edit_Area))){return("NUM")} if(eval(parseFloat(Edit_Area)) < eval(parseFloat(Recv_Sta)) ){return("SMALL")} if(eval(parseFloat(Edit_Area)) > eval(parseFloat(Recv_End)) ){return("BIG")} //頭0の削除 濱田(2007/12/20) var z,n; n=0; z=""; for (i=0; i < Edit_Area.length; i++) { c = Edit_Area.charAt(i); if(c!=0 || n == 1){ n=1; z = z + c; } } if(z==""){ z="0"; } if(z.charAt(0)=="."){ z="0" + z; } Edit_Area = z; //整数部と小数部を分割。 Int_Dec_Area = Edit_Area.split(".") //整数部[0]と小数部[1]を分割 //小数部の桁数チェック。 switch(eval(parseFloat(Recv_Dec))){ case 0: if( Int_Dec_Area.length>1 ) {return("NODECIMAL")} break; default: if( Int_Dec_Area.length>1 ) { if( Int_Dec_Area[1].length > eval(Recv_Dec) ) {return("OVERDECIMAL")}} break; } retunFlg=1; return(Recv_Area); } // ********************************************************************************************************** // Numeric_Chk:三桁区切りあり。 // ********************************************************************************************************** function wpj_numchkc(Recv_Area,Recv_Sta,Recv_End,Recv_Dec){ //初期化。 Result_Area = new Number(); Sign_Flg = new String(""); Edit_Area = new String(""); Sep_Area = new Array(); Int_Dec_Area = new Array(); Comma_Nothing_Area = new Array(); commaFlg = 0; Col_Cnt = 0; //空白チェック。 if(Recv_Area == ''){return("NULL");} //入力されたTEXTフィールドをstring変数areaに代入。 Comma_Nothing_Area = Recv_Area.split(","); //カンマを除く Edit_Area = Comma_Nothing_Area.join(""); //配列を結合 //数値チェック。 Chk = 0; for (i=0; i < Edit_Area.length; i++) { c = Edit_Area.charAt(i); if(!((c >= '0' && c <= '9') || (c ==',') || (c =='.'))) { if(!(i==0 && c =='-')){ Chk = Chk + 1; } } } if(Chk != 0 ){return("NUM")} if(isNaN(parseFloat(Edit_Area))){return("NUM")} if(eval(parseFloat(Edit_Area)) < eval(parseFloat(Recv_Sta)) ){return("SMALL")} if(eval(parseFloat(Edit_Area)) > eval(parseFloat(Recv_End)) ){return("BIG")} if( eval(Edit_Area) < 0 ){ // マイナス値判定ぬけ。追加した。今井(2007/08/31)↓ Sign_Flg = '-'; } else { Sign_Flg = ''; } // マイナス値判定ぬけ。追加した。今井(2007/08/31)↑ //頭0の削除 濱田(2007/12/20) var z,n; n=0; z=""; for (i=0; i < Edit_Area.length; i++) { c = Edit_Area.charAt(i); if(c!=0 || n == 1){ n=1; z = z + c; } } if(z==""){ z="0"; } if(z.charAt(0)=="."){ z="0" + z; } Edit_Area = z; //整数部と小数部を分割。 Int_Dec_Area = Edit_Area.split(".") //整数部[0]と小数部[1]を分割 // 小数点以下も含めているバグあり追加した。今井(2007/08/28)↓ Edit_Area =Int_Dec_Area[0]; //整数部を代入 // 小数点以下も含めているバグあり追加した。今井(2007/08/28)↑ //小数部の桁数チェック。 switch(eval(parseFloat(Recv_Dec))){ case 0: if( Int_Dec_Area.length>1 ) {return("NODECIMAL")} break; default: if( Int_Dec_Area.length>1 ) { if( Int_Dec_Area[1].length > eval(Recv_Dec) ) {return("OVERDECIMAL")}} break; } //配列に一文字ずつ格納する。マイナス符号を外す。 for( Col_Edit_Area = 0 ; Col_Edit_Area < Edit_Area.length ; Col_Edit_Area++){ if(Edit_Area.charAt(Col_Edit_Area)!='-'){ Sep_Area[Col_Cnt] = Edit_Area.charAt(Col_Edit_Area); Col_Cnt = Col_Cnt + 1; } } Edit_Area=Sep_Area.join(""); //3で割った余りに応じてフラグの数値を変更する。 switch((Edit_Area.length)%3){ case 0: commaFlg = 2; break; case 1: commaFlg = 0; break; case 2: commaFlg = 1; break; default:break; } //カンマの追加 if( Edit_Area.length > 3){ for(Col_Edit_Area = commaFlg ; Col_Edit_Area < Edit_Area.length-1 ; Col_Edit_Area+=3){ Sep_Area[Col_Edit_Area] += ","; } } //配列の要素を結合し、結果を返す。 if(Sign_Flg == '-'){ Result_Area = '-' + Sep_Area.join(""); } else{ Result_Area = Sep_Area.join(""); } //小数部を結合。添え字が1より大きいとき小数部あり。 if(Int_Dec_Area.length > 1){ Result_Area = Result_Area + '.' + Int_Dec_Area[1]; } retunFlg=1; return(Result_Area); } /* Cookie関連--------------------------------------------------------- 関数名 :Cookie関連 説明 :クッキーの操作 引数 : 使用例 : 作成者 : 作成日 : --------------------------------------------------------------------*/ function setCookie(theName,theValue,theDay){ if((theName != null) && (theValue != null)){ if(theDay != null){ theDay = eval(theDay); setDay = new Date(); setDay.setTime(setDay.getTime() + (theDay*1000)); expDay = setDay.toGMTString(); } document.cookie = theName + "=" + theValue + ";expires=" + expDay + "; domain=" + document.domain + "; path=/;"; return true; } return false; } function deleteCookie(theName){ expDay = new Date(); expDay.setYear(expDay.getYear()-1); expDay = expDay.toGMTString(); document.cookie = theName + "=;expires=" + expDay + ";"; return true; } /* getCookie--------------------------------------------------------- 関数名 :getCookie()関数 説明 :クッキーから値を取得する 引数 :名前 使用例 :getCookie("SHO_CD") 作成者 :濱田 作成日 :2007/08/29 --------------------------------------------------------------------*/ function getCookie(theName){ theName += "="; theCookie = document.cookie + ";"; start = theCookie.indexOf(theName); if(start != -1){ end = theCookie.indexOf(";",start); return theCookie.substring(start + theName.length,end); } return false; } /* writeCookie--------------------------------------------------------- 関数名 :writeCookie()関数 説明 :クッキーに値を書き込む 引数 :名前,値,時間(秒) 使用例 :writeCookie("SHO_CD",5,2) 作成者 :濱田 作成日 :2007/08/29 --------------------------------------------------------------------*/ function writeCookie(theName,theValue){ setCookie(theName,theValue,3600); } /* viewCookie--------------------------------------------------------- 関数名 :viewCookie()関数 説明 :クッキーの値を確認する 引数 :名前 使用例 :viewCookie("SHO_CD") 作成者 :濱田 作成日 :2007/08/29 --------------------------------------------------------------------*/ function viewCookie(theName){ getValue = getCookie(theName); alert(getValue); } /* delCookie--------------------------------------------------------- 関数名 :delCookie()関数 説明 :クッキーを削除する 引数 :名前 使用例 :delCookie("SHO_CD") 作成者 :濱田 作成日 :2007/08/29 --------------------------------------------------------------------*/ function delCookie(theName){ writeCookie(theName,""); } function delData(){ if(confirm("削除してよろしいですか?")){ S_Coating(); document.main.action='./action.asp?ac=delete'; document.main.submit(); } else{ moveCursor("Kakunin"); } } /* S_Coating--------------------------------------------------------- 関数名 :S_Coating()関数 説明 :コーティング処理をする 引数 : 使用例 :S_Coating() 作成者 :濱田 作成日 :2007/08/29 --------------------------------------------------------------------*/ function S_Coating(){ // document.body.focus(); // layerJob('../js/layerPop/indicator.gif',25,0,''); } /* now--------------------------------------------------------- 関数名 :now()関数 説明 :現在時間を取得する 引数 : 使用例 :now() 作成者 :濱田 作成日 :2008/02/20 --------------------------------------------------------------------*/ function now(){ var ymdhns,nDate; nDate = new Date(); ymdhns = nDate.getYear(); ymdhns = ymdhns + "" + nDate.getMonth(); ymdhns = ymdhns + "" + nDate.getDate(); ymdhns = ymdhns + "" + nDate.getHours(); ymdhns = ymdhns + "" + nDate.getMinutes(); ymdhns = ymdhns + "" + nDate.getSeconds(); return ymdhns; } //2008/04/23 濱田 追加新規 /* masterRead--------------------------------------------------------- 関数名 :masterRead()関数 説明 :送信処理用関数 引数 : 使用例 :masterRead() 作成者 :濱田 作成日 :2008/04/23 --------------------------------------------------------------------*/ function masterRead(oneself){ var xml_doc,mrObjId,objLen var TABLE=""; var KEY=""; var VALUE=""; var GET=""; var PUT=""; target = ""; if(typeof oneself == 'undefined'){ mrObjId = event.srcElement.id } else{ mrObjId = oneself } xml_doc = new ActiveXObject("Microsoft.XMLDOM"); //XML使用宣言 xml_doc.async = false; //更新不可 xml_doc.load("./entryRule.xml"); //読んでくるXMLファイル if(xml_doc.documentElement.hasChildNodes()){ var i = 0; var j = xml_doc.documentElement.childNodes.length ; for(i=0 ; i < j ; i++){ if(xml_doc.documentElement.childNodes.item(i).nodeName == mrObjId){ var x = 0; var y = xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.length ; var need = xml_doc.documentElement.childNodes.item(i).childNodes.item(2).text; for(x=0 ; x < y ; x++){ objLen = xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).nodeName; switch(objLen.substring(0,objLen.length - 1)){ case "TABL": TABLE = xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text; break; case "KEY": KEY = KEY + xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text + "##"; break; case "VALUE": if(xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text.charAt(0)=="@"){ VALUE = VALUE + xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text.substring(1,100) + "##"; errKey = xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text.substring(1,100); } else{ VALUE = VALUE + main(xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text).value + "##"; errKey = xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text; } break; case "GET": GET = GET + xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text + "##"; break; case "PUT": PUT = PUT + xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text + "##"; target = target + xml_doc.documentElement.childNodes.item(i).childNodes.item(6).childNodes.item(x).text + "##"; break; } } } } } writeCookie("TABLE",TABLE) writeCookie("KEY",KEY) writeCookie("VALUE",VALUE) writeCookie("GET",GET) writeCookie("NEED",need) sendRequest( onloaded,'','GET',masterReadFile,true,true ); } /* sendRequest--------------------------------------------------------- 関数名 :sendRequest()関数 説明 :非同期通信送信関数 引数 :callback 受信時に起動する関数名 :method "POST" or "GET" :urlリクエストするファイルのURL :async 非同期ならtrue 同期ならfalse :sload スーパーロード trueで強制、省略またはfalseでデフォルト 使用例 :sendRequest() 作成者 :濱田 作成日 :2008/04/23 --------------------------------------------------------------------*/ function sendRequest(callback,data,method,url,async,sload){ //非同期通信オブジェクト生成 var oj; if(window.XMLHttpRequest){ oj = new XMLHttpRequest() ; } else{ oj = new ActiveXObject("Microsoft.XMLHTTP") ; } //受信処理 oj.onreadystatechange =function (){ if ( oj.readyState == 4 && oj.status == 200){ callback(oj); } } //URLエンコード if(method == 'GET') { url = url + encodeURI(data) + "?now=" + now(); } //open メソッド oj.open( method , url , async ) //send メソッド oj.send(data) } /* onloaded--------------------------------------------------------- 関数名 :onloaded()関数 説明 :非同期通信データ取得 引数 : 使用例 :onloaded() 作成者 :濱田 作成日 :2008/04/23 --------------------------------------------------------------------*/ function onloaded(res){ var targetObj=""; var resObj=""; var gyo = 1; if(decodeURI(res.responseText)=="ERR"){ moveCursor(errKey); target = target.substring(0,target.length - 2); targetObj = target.split("##"); for(gyo=0; gyo < targetObj.length;gyo++){ main(targetObj[gyo]).value = ""; } setTimeout("Validator.errbaloon(document.getElementsByName(errKey)[0],'マスタに登録されていません。');",100); } else{ target = target.substring(0,target.length - 2); targetObj = target.split("##"); resObj = decodeURI(res.responseText); resObj = resObj.substring(0,resObj.length - 2); resObj = resObj.split("##"); for(gyo=0; gyo < targetObj.length;gyo++){ if(typeof resObj[gyo] == 'undefined'){ main(targetObj[gyo]).value = ""; } else{ main(targetObj[gyo]).value = resObj[gyo]; } } } } /* errBaloonClear--------------------------------------------------------- 関数名 :errBaloonClear()関数 説明 :エラーバルーンをクリアする 引数 : 使用例 : 作成者 :濱田 作成日 :2009/01/30 --------------------------------------------------------------------*/ function errBaloonClear(){ objDIV=document.getElementsByTagName('DIV'); for(i=0; i < objDIV.length; i++){ if(objDIV[i].className.match("baloon_r")){ objDIV[i].style.display = "none"; } } objinput=document.getElementsByTagName('input'); for(i=0; i < objinput.length; i++){ if(objinput[i].style.backgroundColor == "#ffaaaa"){ objinput[i].style.backgroundColor = "#ffffff"; } } } /* helpOpen--------------------------------------------------------- 関数名 :helpOpen()関数 説明 :ヘルプ画面を開く 引数 : 使用例 : 作成者 :濱田 作成日 :2009/04/01 --------------------------------------------------------------------*/ function helpOpen(){ var helpWindow; helpWindow = window.open("../E99_HELP/help.asp","help","width=680,height=320,menuvar=no,toolbar=no,scrollbars=yes,resizable=yes"); } /* chkSession--------------------------------------------------------- 関数名 :chkSession()関数 説明 :セッションチェック 引数 : 使用例 : 作成者 :田村 作成日 :2020/02/19 --------------------------------------------------------------------*/ function chkSession(){ var result; $(function(){ //CHK用要素が存在するか確認 if($('.chksession').length){ //あれば要素のクリア $('.chksession').empty(); }else{ //なければbodyに要素追加 $('body').append('
'); } }); $.ajax({ url: 'session_chk.asp', type: "get", dataType: "text", async: true, success: function (data) { $('.chksession').html(data); var result = $('.chksession .result').html(); var msg = $('.chksession .msg').html(); var msg2 = $('.chksession .msg2').html(); if (result=='NO'){ alert(msg + '\n' + msg2); location.href='index.asp'; result='NO'; }else{ result='OK'; } }, error: function () { result='NO'; }, complete: function () { return result; } }) }