var BusyDispCount=0;
var Debug_Mode=false;
var MainThread=null;
var SqT=null; //ServerQueryTimer:旧システム。削除予定
var SqM=null; //ServerQueryManager
var eM=null; //EnvMan
var mentC=null; //MentCtrl
//********* JQuery *********
$(function () {
$("#dtpick").datepicker();
});
//----------------------------------------------
function dispBusy(msg) {
BusyDispCount+=1;
if (msg == undefined) msg = "処理中";
var dispMsg = "
" + msg + "
";
if ($("#loading").length == 0) { // ローディング画像が表示されていない場合のみ出力
$("body").append("
" + dispMsg + "
");
}
}
//----------------------------------------------
function removeBusy() {
if(--BusyDispCount>0)return;
BusyDispCount=0;
$("#loading").remove();
}
//********* JQuery *********
//----------------------------------------------
function AddTx(a,b,c){ //a と b を c で連結
if(a=="")return b;
if(b=="")return a;
return a+c+b;
}
//----------------------------------------------
function GetSw(a){ //要素の幅を取得。この値を style.width にセットすると同じ寸法となる
return a.clientWidth-atoi(a.style.paddingLeft)-atoi(a.style.paddingRight);
}
//----------------------------------------------
function GetSh(a){
return a.clientHeight-atoi(a.style.paddingTop)-atoi(a.style.paddingBottom);
}
//----------------------------------------------
function GetPw(a){ //要素の物理的な幅を取得
return a.offsetWidth+atoi(a.style.marginLeft)+atoi(a.style.marginRight);
}
//----------------------------------------------
function GetPh(a){
return a.offsetHeight+atoi(a.style.marginTop)+atoi(a.style.marginLeft);
}
//----------------------------------------------
function atoi(a){
let i,j,n;
for(i=n=0;i=ix.length)return 0;
i=ix[ip++];
if(a[i]b[i])return 1;
return CmpDim(a,b,ix,ip);
}
//----------------------------------------------
function CmpDimAt(a,b,ix,at,ip){ //Sort 補助関数
let c,i,x,y;
if(ip==undefined)ip=0;
if(ip>=ix.length)return 0;
i=ix[ip];
if(at==undefined)c="S";else c=at.charAt(ip);
switch(c){
case'S':x=a[i];y=b[i];break;
case's':y=a[i];x=b[i];break;
case'F':x=parseFloat(a[i]);y=parseFloat(b[i]);break;
case'f':y=parseFloat(a[i]);x=parseFloat(b[i]);break;
}
if(xy)return 1;
return CmpDimAt(a,b,ix,at,++ip);
}
//--------------------------------------------------------------------------------------------------
function JoinTx(n,ks){
let i,r;
for(i=0,r="";i0)r+="\t";r+=n[ks[i]];}
return r;
}
//----------------------------------------------
function shrinkSp(tx){ //全角空白を半角に。連続空白を1つに
var b,c
b=tx.replace(/ /g," ").trim();
c=null;while(c!=b)b=(c=b).replace(/ /g," ");
return b;
}
//----------------------------------------------
function rmSp(tx){ //全角・半角空白を削除
return tx.replace(/ /g,"").replace(/ /g,"");
}
//----------------------------------------------
function isEmpty(a){ //a は連想配列
var b,i;
for(b in a)return false;return true;
//for(var b in a)if(a[b]!=undefined)return true;return false;
}
//--------------- 子要素を全部削除
function delAllChildren(Parent) {
var a;
if (Parent == null) return;
for (; ;) {
if ((a = Parent.firstChild) == null) break; Parent.removeChild(a); delete a;
}
}
//----------------------------------------------------------------------------
function GetRange(Lat1, Lng1, Lat2, Lng2) {
R_EARTH = 6378137; // 地球の赤道半径
RAD = Math.PI / 180; // 1°あたりのラジアン
var lat_c, dx, dy;
Lat1 *= RAD; Lng1 *= RAD; Lat2 *= RAD; Lng2 *= RAD;
lat_c = (Lat1 + Lat2) / 2; // 緯度の中心値
dx = R_EARTH * (Lng2 - Lng1) * Math.cos(lat_c);
dy = R_EARTH * (Lat2 - Lat1);
return Math.sqrt(dx * dx + dy * dy);
}
//----------------------------------------------
function isHankaku(value) { //半角判定らしい
return !value.match(/[^\x01-\x7E]/) || !value.match(/[^\uFF65-\uFF9F]/);
}
//----------------------------------------------
function isZenkakuKana(value) { //全角かな判定らしい
return value.match(/^[ぁ-んー ]*$/);
}
//----------------------------------------------
function isHankakuNum(value) { //半角数字
return value.match(/^[0-9]/);
}
//----------------------------------------------
function AdZ(a) {
a = parseInt(a); if (a < 10) a = "0" + a; return String(a);
}
//----------------------------------------------
function DecodeParams(tx) { //?~=~&~=~ を解析し連想配列を返却
var a,b,c,i;
a=[];
b=tx.split("?");if(b.length==1)return a;
b=b[1].split("&");
for(i=0;i= 0) {
alert("「" + kind + "」に文字'" + c + "'は使えない"); return null;
}
}
return a;
}
//----------------------------------------------
function GetCnmNum(a) { //コンマ付きの数字列から整数を返す
//RmCnm に移行
var i,b,c;
for (i = 0, b = ""; i < a.length; i++)if ((c = a.charAt(i)) != ',') b += c;
return parseInt(b);
}
//----------------------------------------------
function RmTopZero(a) { //先頭の'0'を除去
let i;
for(i=0;i=0;i--)if((c=a.charAt(i))!='0'){
if(c=='.')i-=1;break;
}
a=a.substring(0,i+1);
}
a=String(a);
if ((f = a.substr(0, 1) == '-')) a = a.substr(1);
b = a.split(".");
if ((d = b[0]).length < 4){
if(f)return "-"+a;return a;
}
c = "";while (d.length > 0) {
e = d.slice(-3); if (c != "") c = "," + c; c = e + c;
d = d.substr(0, d.length - e.length);
}
if (f) c = "-" + c;
if (b.length > 1) return c + "." + b[1]; return c
}
//----------------------------------------------
function CnvSA(a){ //連想配列の要素を通常配列に変換
var b=[];for(c in a)b[b.length]=a[c];return b;
}
//----------------------------------------------
function CnvAkA(a,sort){ //連想配列のキーを通常配列に変換。要素は無視。sort=true:文字列としてソート
var b=[];for(c in a)b[b.length]=c;
if(sort===true){
b.sort(function (x, y) { if(xy)return 1;return 0; });
}
return b;
}
//----------------------------------------------
function AddList(sel,v) { //