/*
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;
}
})
}