var dbPath = "/POR/Base/portal_guest.nsf"; var notesFunctionBase = "NotesFunction?ReadForm"; var Universalid = ""; var mode = ""; var host = "192.168.210.44"; var debug = ""; var msgFlag = ""; var notesFunctionFlag = true; var errorMsg_Func = "他の処理を実行中です。"; var defaultSps = ", "; var defaultKeys = " "; defaultValues = []; function SetDocField(get,key,option){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(get){ getUrl += "&get=" + get; itemCheckFlag += 1; } if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } if(option){ getUrl += "&option=" + option; itemCheckFlag += 1; } if(itemCheckFlag > 1){ getUrl += "&func=SetDocField" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function GetDocField(get,key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(get){ getUrl += "&get=" + get; itemCheckFlag += 1; } if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } if(itemCheckFlag > 1){ getUrl += "&func=GetDocField" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function UserRoles(key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } getUrl += "&func=UserRoles" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } } function UserNamesList(key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } getUrl += "&func=UserNamesList" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } } function Name(get,key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(get){ getUrl += "&get=" + get; itemCheckFlag += 1; } if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } if(itemCheckFlag > 1){ getUrl += "&func=Name" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function UserName(key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } getUrl += "&func=UserName"; Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } } function addClass(aObj,cName){ if(aObj.className){ if(aObj.className.search(cName) == -1){ aObj.className += " " + cName; } } else{ aObj.className = cName; } } function removeClass(aObj,cName){ if(aObj.className){ var aocName = aObj.className; aocName = aObj.className.replace(cName,""); if(aocName.search(" ") == 0){ aocName = aocName.substring(1,socName.length); } if(aocName.search(" ") == (aocName.length - 1)){ aocName = aocName.substring(0,aocName.length - 1); } aObj.className = aocName; } } function WebDbName(){ var returnV = "POR/Base/portal_guest.nsf"; return returnV; } function IsExist(exid){ var returnV = false; if(exid){ if(document.getElementById(exid)){ returnV = true; } } return returnV; } function Weekday(key){ var returnV = ""; if(key){ var spret = key.split("/"); if(spret.length == 3){ var retdd = new Date(spret[0],parseInt(spret[1]-1),spret[2]); returnV = retdd.getDay().toString(); } } return returnV; } function Display(objName,dspFlag){ var obj = GetObject(objName); if(IsObject(obj)){ obj.style.display = dspFlag; } } function GetHTTPHeader(key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } if(itemCheckFlag > 0){ getUrl += "&func=GetHTTPHeader" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function SetObject(setName,stArray){ if(setName){ if(stArray){ var setObj = GetObject(setName); if(IsObject(setObj)){ fieldDataSet(setObj,stArray); } } } } function IsObject(isObj){ var returnV = false; if(isObj){ returnV = objectTypeCheck(isObj,"object"); } return returnV; } function IsString(isObj){ var returnV = false; if(isObj){ returnV = objectTypeCheck(isObj,"string"); } return returnV; } function IsNumber(isObj){ var returnV = false; if(isObj){ returnV = objectTypeCheck(isObj,"number"); } return returnV; } function IsError(isObj){ var returnV = false; if(isObj){ returnV = objectTypeCheck(isObj,"undefined"); } return returnV; } function IsNewDoc(){ var returnV = false; if(typeof mode == "string"){ if(mode == "edit"){ returnV = true; } } return returnV; } function IsDocBeingLoaded(){ var returnV = false; if(typeof mode == "string"){ if(mode == "load"){ returnV = true; } } return returnV; } function IsDocBeingEdited(){ var returnV = false; if(typeof mode == "string"){ if(mode == "edit"){ returnV = true; } } return returnV; } function IsNewDoc(){ var returnV = false; if(typeof Universalid == "string"){ if(Universalid == "isnewdoc"){ returnV = true; } } return returnV; } function DocumentUniqueID(){ var returnV = ""; if(typeof Universalid == "string"){ if(Universalid != "isnewdoc"){ returnV = Universalid; } } return returnV; } function Unique(stArray){ var returnV = []; if(stArray){ var stLeng = Elements(stArray); uniqueLoop: for(var stCount = 0;stCount < stLeng;stCount++){ if(!IsMember(stArray[stCount],returnV)){ returnV.push(stArray[stCount]); } } } return returnV; } function objectTypeCheck(otObj,otString){ var returnV = false; if(otObj){ if(otString){ if(otString != ""){ if(typeof otObj == otString){ returnV = true; } } } } return returnV; } function Msgbox(msg,mode){ var returnV = ""; if(msg){ returnV = msg; } if(mode){ if(IsString(debug)){ if(debug != ""){ alert(returnV); } } } else{ alert(returnV); } } function GetObject(objName){ var returnV = ""; if(objName){ if(document.getElementById(objName)){ var sObj = document.getElementById(objName); var soTag = getTagName(sObj); switch(soTag){ case "INPUT": var soType = getType(sObj); switch(soType){ case "text": returnV = document.getElementById(objName); break; case "hidden": returnV = document.getElementById(objName); break; default: if(document.getElementsByName(objName).length > 0){ returnV = document.getElementsByName(objName); } } break; default: returnV = document.getElementById(objName); } } else{ if(document.getElementsByName(objName).length > 0){ returnV = document.getElementsByName(objName); } } } return returnV; } function fieldDataSet(sObj,stArray,defList){ var selectedV = getObjValue(sObj); var soTag = getTagName(sObj); switch(soTag){ case "OPTION": var setCount = 0; var defValue = ""; if(stArray.length < sObj.length){ setCount = sObj.length; } else{ setCount = stArray.length; } var optCount = 0; if(IsObject(defaultValues)){ if(defList){ defValue = defList; } else{ var soId = ""; if(IsString(sObj.id)){ soId = sObj.id; } else{ if(IsString(sObj.name)){ soId = sObj.name; } } if(soId != ""){ if(IsString(defaultValues[soId])){ defValue = defaultValues[soId]; } } } if(defValue != ""){ setCount += 1; defValue = defValue.split(":"); if(defValue.length > 1){ sObj.options[optCount].value = defValue[1]; } else{ sObj.options[optCount].value = ""; } sObj.options[optCount].text = defValue[0]; optCount += 1; } } var delCount = 0; var valCount = 0; for(var rCount = optCount;rCount < setCount;rCount++){ if(rCount < stArray.length + optCount){ delCount = rCount + 1; if(sObj.options[rCount]){ var sav = stArray[valCount].split(":"); if(sav.length > 1){ sObj.options[rCount].value = sav[1]; sObj.options[rCount].text = sav[0]; } else{ sObj.options[rCount].value = sav[0]; sObj.options[rCount].text = sav[0]; } } else{ var selV = ""; var optObj = document.createElement("option"); var sav = stArray[valCount].split(":"); if(sav.length > 1){ optObj.value = sav[1]; optObj.innerText = sav[0]; selV = sav[1]; } else{ optObj.value = sav[0]; optObj.innerText = sav[0]; selV = sav[0]; } // optObj.value = stArray[valCount]; // optObj.innerText = stArray[valCount]; // if(stArray[valCount] == selectedV[0]){ if(selV == selectedV[0]){ optObj.selected = true; } sObj.appendChild(optObj); } } else{ if(sObj.options[delCount]){ sObj.removeChild(sObj.options[delCount]); } } valCount += 1; } if(sObj.options[sObj.selectedIndex].value != selectedV){ sObj.options[0].selected = true; } break; case "INPUT": var soType = getType(sObj); switch(soType){ case "text": break; default: var setCount = 0; var defValue = ""; var stCount = stArray.length - 1; var appCount = 0; if(stArray.length < sObj.length){ setCount = sObj.length; } else{ setCount = stArray.length; appCount = stArray.length - sObj.length; } var delCount = 0; var valCount = 0; var optCount = 0; var soId = ""; if(IsString(sObj[0].id)){ soId = sObj[0].id; } else{ if(IsString(sObj[0].name)){ soId = sObj[0].name; } } var staCount = 0; for(var radioC = optCount;radioC < setCount;radioC++){ if(radioC < stArray.length + optCount){ delCount = radioC + 1; if(radioC < appCount){ staCount = appCount - radioC - 1; } else{ staCount = valCount; } if(radioC >= appCount){ if(IsObject(sObj[radioC])){ // sObj[radioC].value = stArray[valCount]; sObj[radioC].value = stArray[staCount]; if(IsObject(sObj[radioC].parentNode)){ var psObj = sObj[radioC].parentNode; var psTag = getTagName(psObj); if(psTag == "LABEL"){ psObj.innerHTML = ReplaceSubstring(psObj.innerHTML,Trim(psObj.innerText),stArray[staCount]); } } } } else{ if(soId != ""){ if(IsObject(sObj[0])){ var optObj = document.createElement("label"); optObj.innerHTML = "" + stArray[staCount]; if(IsObject(sObj[0].parentNode.parentNode)){ sObj[0].parentNode.parentNode.insertBefore(optObj,sObj[0].parentNode); } } } } } else{ if(IsObject(sObj[delCount])){ if(IsObject(sObj[delCount].parentNode)){ var psObj = sObj[delCount].parentNode; var psTag = getTagName(psObj); if(psTag == "LABEL"){ if(IsObject(psObj.parentNode)){ psObj.parentNode.removeChild(psObj); } } } } } valCount += 1; } setObjValue(sObj,selectedV); break; } default: } } function array2String(stArray){ var returnV = stArray.toString(); if(stArray){ if(IsObject(stArray)){ returnV = ""; for(var arrayC = 0;arrayC < stArray.length;arrayC++){ if(returnV != ""){ returnV += ", "; } returnV += Trim(stArray[arrayC]); } } } return returnV; } function getTagName(gtObj){ var returnV = ""; if(gtObj){ if(IsObject(gtObj[0])){ returnV = gtObj[0].tagName; } else{ returnV = gtObj.tagName; } } return returnV; } function getType(gtObj){ var returnV = ""; if(gtObj){ if(IsObject(gtObj[0])){ returnV = gtObj[0].type; } else{ returnV = gtObj.type; } } return returnV; } function setObjValue(sObj,setV){ var soTag = getTagName(sObj); switch(soTag){ case "SPAN": if(setV){ sObj.innerText = setV; } else{ sObj.innerText = ""; } break; case "DIV": if(setV){ sObj.innerText = setV; } else{ sObj.innerText = ""; } break; case "SELECT": if(setV == ""){ sObj[0].selected = true; } else{ for(var selectC = 0;selectC < sObj.length;selectC++){ if(sObj[selectC].value == setV){ sObj[selectC].selected = true; } else{ sObj[selectC].selected = false; } } } break; case "OPTION": if(setV == ""){ sObj[0].selected = true; } else{ for(var selectC = 0;selectC < sObj.length;selectC++){ if(sObj[selectC].value == setV){ sObj[selectC].selected = true; } else{ sObj[selectC].selected = false; } } } break; case "INPUT": var soType = getType(sObj); switch(soType){ case "text": //sObj.value = array2String(setV); sObj.value = setV; break; case "radio": for(var radioC = 0;radioC < sObj.length;radioC++){ if(setV == ""){ sObj[radioC].checked = false; } else{ if(IsMember(sObj[radioC].value,setV)){ sObj[radioC].checked = true; } else{ sObj[radioC].checked = false; } } } break; case "checkbox": for(var cboxC = 0;cboxC < sObj.length;cboxC++){ if(setV == ""){ sObj[cboxC].checked = false; } else{ if(IsMember(sObj[cboxC].value,setV)){ sObj[cboxC].checked = true; } else{ sObj[cboxC].checked = false; } } } break; default: } break; default: sObj.value = setV; } } function getObjValue(gObj){ var goV = []; var goTag = getTagName(gObj); switch(goTag){ case "SPAN": goV.push(gObj.innerText); break; case "DIV": goV.push(gObj.innerText); break; case "SELECT": goV.push(gObj.options[gObj.selectedIndex].value); break; case "OPTION": goV.push(gObj.options[gObj.selectedIndex].value); break; case "TEXTAREA": goV.push(gObj.value); break; case "INPUT": var goType = getType(gObj); switch(goType){ case "text": goV.push(gObj.value); /* var goArray = Explode(gObj.value); for(var textC = 0;textC < goArray.length;textC++){ goV.push(goArray[textC]); } */ break; case "radio": for(var radioC = 0;radioC < gObj.length;radioC++){ if(gObj[radioC].checked == true){ goV.push(gObj[radioC].value); } } break; case "checkbox": for(var cboxC = 0;cboxC < gObj.length;cboxC++){ if(gObj[cboxC].checked == true){ goV.push(gObj[cboxC].value); } } break; default: } break; default: } return goV; } function Trim(stArray){ var returnV = stArray; /* var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(stArray){ getUrl += "&key=" + stArray; itemCheckFlag += 1; } if(itemCheckFlag > 0){ getUrl += "&func=Trim" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } */ if(stArray){ if(Text(stArray).search(" ") == 0){ returnV = stArray.replace(" ",""); } var stLeng = returnV.length; if(stLeng > 1){ var lastS = returnV.substring(stLeng-1,stLeng); if(lastS == " "){ returnV = returnV.substring(0,stLeng-1); } } } return returnV; } function Text(stArray){ var returnV = ""; if(stArray){ returnV = array2String(stArray); } return returnV; } function Length(stArray){ var returnV = 0; if(stArray){ returnV = stArray.toString().length; } return returnV; } function Elements(stArray){ var returnV = 0; if(stArray){ returnV = stArray.length; } return returnV; } function IsMember(keyString,stArray){ var returnV = false; if(stArray){ if(keyString){ for(x in stArray){ if(stArray[x] == keyString){ returnV = true; } } } } return returnV; } function ReplaceSubstring(stArray,keyString,repString){ var returnV = Text(stArray); if(stArray){ if(keyString){ if(repString){ if(keyString != repString){ do{ returnV = returnV.replace(keyString,repString); } while(returnV.search(keyString) > -1); } } } } return returnV; } function Implode(stArray,keyString){ var returnV = ""; var spS = ", "; var keyS = " "; if(typeof defaultSps == "string"){ spS = defaultSps; } if(typeof defaultKeys == "string"){ keyS = defaultKeys; } if(keyString){ keyS = keyString; } if(stArray){ returnV = ReplaceSubstring(stArray,spS,keyS); } return returnV; } function Explode(stArray,spString){ var returnV = ""; var spS = ", "; if(IsString(defaultSps)){ spS = defaultSps; } if(spString){ spS = spString; } if(stArray){ var prereturnV = Text(stArray); returnV = prereturnV.split(spS); } return returnV; } function Contains(stArray,keyString){ var returnV = false; if(stArray && keyString){ if(stArray.toString().search(keyString) > -1){ returnV = true; } } return returnV; } function GetField(fieldName){ var getV = ""; if(fieldName){ if(IsString(fieldName)){ var fnObj = GetObject(fieldName); } else{ if(IsObject(fieldName)){ var fnObj = fieldName; } } if(IsObject(fnObj)){ getV = getObjValue(fnObj); } } return getV; } function SetField(fieldName,setValue){ var setV = ""; if(setValue){ setV = setValue; } if(fieldName){ if(IsString(fieldName)){ var fnObj = GetObject(fieldName); } else if(IsObject(fieldName)){ var fnObj = fieldName; } if(IsObject(fnObj)){ setObjValue(fnObj,setV); } } } function Narrow(key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(key){ getUrl += "&key=" + key; itemCheckFlag += 1; } if(itemCheckFlag > 0){ getUrl += "&func=Narrow" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function Wide(key){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(key){ getUrl += "&key=" + escape(key); itemCheckFlag += 1; } if(itemCheckFlag > 0){ getUrl += "&func=Wide" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function DbColumn(svr,db,view,get,option){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(svr){ getUrl += "&svr=" + svr; } if(db){ getUrl += "&db=" + db; } if(view){ getUrl += "&view=" + escape(view); itemCheckFlag += 1; } if(get){ getUrl += "&get=" + get; itemCheckFlag += 1; } if(option){ getUrl += "&option=" + option; } if(itemCheckFlag > 1){ getUrl += "&func=DbColumn" Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } function DbLookup(svr,db,view,key,get,option){ var getUrl = ""; var itemCheckFlag = 0; if(notesFuncCheck()){ getUrl += notesFuncUrl(); if(svr){ getUrl += "&svr=" + svr; } if(db){ getUrl += "&db=" + db; } if(view){ getUrl += "&view=" + view; itemCheckFlag += 1; } if(get){ getUrl += "&get=" + get; itemCheckFlag += 1; } if(key){ getUrl += "&key=" + escape(key); itemCheckFlag += 1; } if(option){ getUrl += "&option=" + option; } if(itemCheckFlag > 2){ getUrl += "&func=DbLookup"; Msgbox(getUrl,"debug"); var successFlag = loadJsonFile(getUrl); if(typeof successFlag == "undefined"){ errorMsgDsp(); return ""; } else{ return successFlag; } } else{ return ""; } } } // HTTP通信用、共通関数 function createXMLHttpRequest(cbFunc){ var XMLhttpObject = null; try{ XMLhttpObject = new XMLHttpRequest(); } catch(e){ try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ return null; } } } if(XMLhttpObject){ // XMLhttpObject.onreadystatechange = cbFunc; } return XMLhttpObject; } var last_modified = "Thu, 01 Jun 1970 00:00:00 GMT"; var cached_content = ""; var loadTimerID = ""; var dspTimerID = ""; /* function loadJsonFile(jName,snObj){ if(!notesFunctionFlag){ notesFunctionFlag = false; jhttpObj = createXMLHttpRequest(displayJson); if(jhttpObj){ jsonURL = jName; jhttpObj.open("GET",jName,false); if(last_modified){ jhttpObj.setRequestHeader("If-Modified-Since", last_modified); } loadTimerID = setTimeout("httpAbort()",10000); jhttpObj.send(null); return eval(jhttpObj.responseText); notesFunctionFlag = true; } else{ Msgbox("読み込みできません。\n" + jName,"debug"); } } else{ //alert(""); } } */ var jsonData = []; function loadFunc(response,ioArgs){ try{ jsonData = eval(response); //jsonData = response; } catch(e){ jsonData = response; } }; function errorFunc(response,ioArgs){ jsonData = false; }; function loadJsonFile(jName){ jsonData = []; var loadJsonTime = new Date().getTime().toString(); var handleAd = "json"; if(jName.indexOf("func=") > -1){ handleAd = "text"; } jName += "&time=" + loadJsonTime; if(!notesFunctionFlag){ var successObj = dojo.xhrGet({ url: jName, load: loadFunc, handleAs: handleAd, error: function() {}, sync: true} ); } return jsonData; } function httpAbort(){ jhttpObj.abort(); clearTimeout(loadTimerID); loadTimerID = ""; // Msgbox("タイムアウトしました。","debug"); notesFunctionFlag = false; } function displayJson(){ if(jhttpObj.readyState == 4){ try{ clearTimeout(loadTimerID); loadTimerID = ""; statusCode[""+jhttpObj.status](); Msgbox(jhttpObj.status,"debug"); } catch(e){ return; } } } statusCode = new Array(); statusCode["200"] = function (){ function dspView(){ clearTimeout(dspTimerID); dspTimerID = ""; var notesData = getNotesData(jhttpObj.responseText); Msgbox(notesData); return notesData; notesFunctionFlag = false; } dspTimerID = setTimeout(dspView,700); }; statusCode["401"] = function (){ Msgbox("認証に失敗しました。"); notesFunctionFlag = false; }; statusCode["403"] = function (){ Msgbox("アクセスが許可されてません。"); notesFunctionFlag = false; }; statusCode["404"] = function (){ Msgbox("ファイルがありません"); notesFunctionFlag = false; }; statusCode["500"] = function (){ Msgbox("内部エラーが発生しました。"); notesFunctionFlag = false; }; var snid = ""; var toplevelEnt = ""; //データを解析して表示 function getNotesData(textData){ return eval(textData); } function notesFuncUrl(){ return dbPath + "/" + notesFunctionBase; } function notesFuncCheck(){ var nfcFlag = false; if(typeof dbPath == "string" && typeof notesFunctionBase == "string"){ nfcFlag = true; } return nfcFlag; } function errorMsgDsp(errorState){ if(notesFunctionFlag){ if(typeof errorMsg_Func == "string"){ Msgbox(errorMsg_Func); } } }