/*
	dutype.js - Du.Type & Du.Force ver1.0
		require: dutils.js, MooTools 1.2 <http://mootools.net>

	copyright (c) 2009 distraid Inc. <http://distraid.co.jp>

	$Id: dutype.js 36 2010-05-14 10:53:41Z ksy $
*/
Du.Type=new Hash({Check:{dt_empty:function(c){if($type(c)=="array"){for(var a=0;
a<c.length;a++){if(arguments.callee(c[a])){return true}}return false}else{if(!$chk(c)){return false}}var b=/^\s*$/.test(c);return !b},dt_alpha:/^[a-z]+$/i,dt_alnum:/^[a-z\d]+$/i,dt_number:/^\d+$/,dt_kanji:/^[\u3400-\u4dbf\u4e00-\u9fcf\uf900-\ufaff]+$/,dt_kana:/^[\u3041-\u309f\u30a1-\u30ff\u31f0-\u31ff]+$/,dt_kanah:/^[\u3041-\u309f\u30a1-\u30ff\u31f0-\u31ff\uff61-\uff9f]+$/,dt_hkana:/^[\u3041-\u309f]+$/,dt_kkana:/^[\u30a1-\u30ff\u31f0-\u31ff]+$/,dt_kkanah:/^[\uff61-\uff9f]+$/,dt_charCode:function(c,b){if(!b||$type(b.codeReg)!="regexp"){return null
}var a=b.codeReg.test(c);if(a){return true}return(b.errStr?b.errStr:false)},dt_ajax:function(b,a,c){return Du.Type.Ajax.ajaxRequest(b,a,c)},dt_limit:function(c,a,d){d=($type(d)=="object"&&d.limit?d:Du.Type.StrTable.dt_limit);
var b=Du.Type.checkLimit(c,a,d);return(b!==true&&b!==null?b:true)},dt_limitSel:function(d,a,e){e=($type(e)=="object"&&e.limit?e:Du.Type.StrTable.dt_limitSel);var b=0;if($type(d)=="array"){b=d.length}else{if($type(d)=="number"){b=d
}else{if($chk(d)){b=1}}}var c=Du.Type.checkLimit(b,a,e);return(c!==true&&c!==null?c:true)},dt_validList:function(b,a){a=($type(a)!="array"?[a]:a);if($type(b)=="array"){return b.every(function(c){return a.contains(c)
})}else{return a.contains(b)}},dt_range:function(c,a,d){d=($type(d)=="object"&&d.limit?d:Du.Type.StrTable.dt_range);var b=Du.Type.checkRange(c,a,d);return(b!==true&&b!==null?b:true)},dt_email:/^[a-z\d][\.\-_a-z\d]*@[a-z\d]+([\.\-]?[a-z\d]+)*\.[a-z]{2,6}$/i,dt_website:/^(https?:\/\/)?([a-z\d]+(?:[\.\-]?[a-z\d]+)*\.[a-z]{2,6})(:\d{2,5})?(\/[\w\.\,\;\?\*\@\:\!\(\)\'\+&%\$#\=~\-]*)*$/i},CodePattern:{alpha:"a-zA-Z",number:"\\d",alnum:"a-zA-Z\\d",mark:"\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e",latinEx:"\\u00c0-\\u024f",kanji:"\\u3400-\\u4dbf\\u4e00-\\u9fcf\\uf900-\\ufaff",hkana:"\\u3041-\\u309f\\u30fb-\\u30fc",hkanaC:"\\u3041-\\u3096",kkana:"\\u30a1-\\u30ff\\u31f0-\u31ff",kkanaC:"\\u30a1-\\u30f6",kkanaH:"\\uff61-\\uff9f",alphaF:"\\uff21-\\uff3a\\uff41-\\uff5a",numberF:"\\uff10-\\uff19",alnumF:"\\uff10-\\uff19\\uff21-\\uff3a\\uff41-\\uff5a",convF:"\\uff01-\\uff5e",convH:"\\u0021-\\u007e",space:"\\s",spaceH:"\\u0020",spaceF:"\\u3000"},StrTable:{_errorType:"type\u5224\u5b9a\u30a8\u30e9\u30fc\u3067\u3059",dt_limit:{limitError:"\u6587\u5b57\u6570[#CURLEN#]\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",limitBelow:"\u6587\u5b57\u6570[#CURLEN#]\u304c\u5c11\u306a\u3059\u304e\u307e\u3059 ",limitOver:"\u6587\u5b57\u6570[#CURLEN#]\u304c\u591a\u3059\u304e\u307e\u3059 ",limit:"#LIMITMIN#\u6587\u5b57\u4ee5\u4e0a#LIMITMAX#\u6587\u5b57\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitEqual:"#LIMITMIN#\u6587\u5b57\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitMin:"#LIMITMIN#\u6587\u5b57\u4ee5\u4e0a\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitMax:"#LIMITMAX#\u6587\u5b57\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitNumTag:"<b>#LIMITNUM#</b>"},dt_limitSel:{limitError:"\u9078\u629e\u6570[#CURLEN#]\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",limitBelow:"\u9078\u629e\u6570[#CURLEN#]\u304c\u5c11\u306a\u3059\u304e\u307e\u3059 ",limitOver:"\u9078\u629e\u6570[#CURLEN#]\u304c\u591a\u3059\u304e\u307e\u3059 ",limit:"#LIMITMIN#\u500b\u4ee5\u4e0a#LIMITMAX#\u500b\u4ee5\u4e0b\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitEqual:"#LIMITMIN#\u500b\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitMin:"#LIMITMIN#\u500b\u4ee5\u4e0a\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitMax:"#LIMITMAX#\u500b\u4ee5\u4e0b\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitNumTag:"<b>#LIMITNUM#</b>"},dt_range:{limitError:"\u6570\u5024\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",limitBelow:"\u6570\u5024\u304c\u5c0f\u3055\u904e\u304e\u307e\u3059 ",limitOver:"\u6570\u5024\u304c\u5927\u304d\u904e\u304e\u307e\u3059 ",limit:"#LIMITMIN#\u4ee5\u4e0a#LIMITMAX#\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitEqual:"#LIMITMIN#\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitMin:"#LIMITMIN#\u4ee5\u4e0a\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitMax:"#LIMITMAX#\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044"},dt_charCode:{_prefix:"",alpha:"\u534a\u89d2\u82f1\u5b57",number:"\u534a\u89d2\u6570\u5b57",alnum:"\u534a\u89d2\u82f1\u6570\u5b57",mark:"\u534a\u89d2\u8a18\u53f7",kanji:"\u6f22\u5b57",hkana:"\u3072\u3089\u304c\u306a",kkana:"\u30ab\u30bf\u30ab\u30ca",kkanaH:"\u534a\u89d2\u30ab\u30ca",alphaF:"\u5168\u89d2\u82f1\u5b57",numberF:"\u5168\u89d2\u6570\u5b57",alnumF:"\u5168\u89d2\u82f1\u6570\u5b57",_suffix:"\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044"},dt_empty:"\u5024\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u305b\u3093",dt_validList:"\u9078\u629e\u3055\u308c\u305f\u5024\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093",dt_format:"\u5165\u529b\u3055\u308c\u305f\u5f62\u5f0f\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",dt_email:"\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",dt_website:"Web\u30b5\u30a4\u30c8\u306eURL\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044"},regType:function(b){if($type(b)!="object"){return false
}var a=b.id;if(!$chk(a)||!b.check){return false}var c=a.test(/^dt_/);if(!c&&b.check){this.Check[a]=b.check}if($type(b.errStr)=="string"){this.StrTable[a]=b.errStr}else{if($type(b.errStr)=="object"){this.StrTable[a]=$merge(this.StrTable[a],b.errStr)
}}},setStr:function(a){if($type(a)!="object"){return}this.StrTable=$merge(this.StrTable,a)},getStr:function(a){return(this.StrTable[a]?this.StrTable[a]:"")},getErrStr:function(a){var b="";switch($type(a)){case"object":if(a.id){return this.getStr(a.id)
}break;case"string":b=a;break;default:b=this.getStr("dt_format")}return b},checkType:function(f,d,g){if(f==null){return null}if($type(d)=="string"){if(this.Check[d]){d={id:d,typeReg:true}}else{return null
}}var c=d.id;if(!$chk(c)||$type(c)!="string"){return null}var a=d.check;var e=this.getErrStr(d.errStr);if(d.typeReg!==false){if(this.Check[c]){a=this.Check[c]}if(!d.errStr&&this.StrTable[c]!=null){e=this.getErrStr({id:c})
}}if(!a){return null}var b=null;switch($type(a)){case"function":b=a(f,d.opt,($type(g)=="object"&&g[c]?g[c]:g));break;case"regexp":b=a.test(String(f));break}if(b===false){b=e}if($type(b)=="string"){if(d.errStrPre){b=this.getErrStr(d.errStrPre)+b
}if(d.errStrPost){b=b+this.getErrStr(d.errStrPost)}}return b},checkEmpty:function(b,c){if(b===null&&c=="dt_getTypes"){return["dt_empty"]}var a=this.checkType(b,"dt_empty",c);if(a!==true){return{id:"dt_empty",desc:a}
}return true},setTypes:function(a){a=($type(a)!="array"?[a]:a);var b=["dt_empty"];a=a.filter(function(d){var e=$type(d);if(e=="string"){if(d!="dt_empty"){b.push(d)}return true}else{if(e!="object"){return false
}}var c=d.id;if(!$chk(c)||$type(c)!="string"){return false}if(c=="dt_empty"){return false}else{if(c=="dt_limit"||c=="dt_limitSel"){d.opt=this.formLimit(d.opt);if(!d.opt){return false}}else{if(c=="dt_charCode"){d.opt=this.initCharCode(d.opt)
}else{if(c=="dt_ajax"){this.initAjax(d.opt);if(!$chk(d.opt)){return false}}}}}if(d.typeReg){d.typeReg=true;this.regType(d)}b.push(c);return true},this);return function(d,e){if(d===null&&e=="dt_getTypes"){return b
}var c=(this.checkType(d,"dt_empty"));if(c!==true){return{id:"dt_empty",desc:c}}a.every(function(f){c=this.checkType(d,f,e);if(c===true||c===null){return true}c={id:f.id,desc:c};return false},this);if(c===null){c=true
}return c}.bind(this)},initCharCode:function(b){if(!b||!b.code){return null}b.code=($type(b.code)=="array"?b.code:[b.code]);var a="";var c=this.StrTable.dt_charCode["_prefix"];b.code.each(function(d){if(this.CodePattern[d]){a+=this.CodePattern[d];
if(this.StrTable.dt_charCode[d]){c+=this.StrTable.dt_charCode[d]}}},this);c+=this.StrTable.dt_charCode["_suffix"];if(b.space){b.codeReg=new RegExp("^["+a+"]["+a+"\\s]*$")}else{b.codeReg=new RegExp("^["+a+"]+$")
}if(!b.errStr){b.errStr=c}return b},initAjax:function(a){if($type(a)!="object"){return null}if(!Du.Type.Ajax.setAjaxGrp(a.gid,a)){return null}return a.gid},checkLimit:function(d,a,e){if(!$chk(d)||$type(a)!="object"||$type(e)!="object"){return null
}var c="";var b=($type(d)=="number"?d:String(d).length);if($chk(a.min)&&b<a.min){c=(e.limitBelow?e.limitBelow:"")+this.limitStr(a,e)}else{if($chk(a.max)&&b>a.max){c=(e.limitOver?e.limitOver:"")+this.limitStr(a,e)
}}if(c==""){return true}if(e.limitNumTag){b=e.limitNumTag.replace(/#LIMITNUM#/g,b)}return c.replace(/#CURLEN#/g,b)},checkRange:function(c,a,d){if(!$chk(c)||$type(a)!="object"||$type(d)!="object"){return null
}var b="";c=Number(c);if($chk(a.min)&&c<a.min){b=(d.limitBelow?d.limitBelow:"")+this.limitStr(a,d)}else{if($chk(a.max)&&c>a.max){b=(d.limitOver?d.limitOver:"")+this.limitStr(a,d)}}if(b==""){return true
}if(d.limitNumTag){valLen=d.limitNumTag.replace(/#LIMITNUM#/g,valLen)}return b.replace(/#CURVAL#/g,c)},limitStr:function(a,d){if($type(a)!="object"||$type(d)!="object"){return""}var c="";if($chk(a.min)){c=($chk(a.max)?(a.min==a.max?d.limitEqual:d.limit):d.limitMin)
}else{if($chk(a.max)){c=d.limitMax}else{return""}}var b=a;if(d.limitNumTag){b={};for(var e in a){if($chk(a[e])){b[e]=d.limitNumTag.replace(/#LIMITNUM#/g,a[e])}}}return c.replace(/#LIMIT(MIN|MAX)#/g,function(g,f){return b[f.toLowerCase()]
})},formLimit:function(e,d,c){var a={};d=($type(d)=="object"?d:{});e=($type(e)=="object"?e:{max:e});var b=(c?parseFloat:parseInt);["min","max"].each(function(f){if(d[f]){d[f]=($chk(b(d[f]))?b(d[f]):null)
}if(b(e[f])!=NaN){a[f]=b(e[f])}a[f]=($chk(a[f])?a[f]:d[f])});if(!$chk(a.min)&&!$chk(a.max)){return null}if($chk(a.min)&&$chk(a.max)){a={min:Math.min(a.min,a.max),max:Math.max(a.min,a.max)}}return a}});
Du.Type.Ajax=new Hash({setAjaxGrp:function(b,a){if(!this._group){this._group={}}if(!$chk(b)){return false}if(!(a.url&&$type(a.url)=="string")){return(this._group[b]?true:false)}var c="";if($chk(a.defData)){switch($type(a.defData)){case"object":c=Hash.toQueryString(a.defData);
break;case"string":c=a.defData;break}}this._group[b]={url:a.url,method:(a.method=="get"?"get":"post"),keyName:($chk(a.keyName)?String(a.keyName):"value"),key:($type(a.key)=="object"?Du.Hash.copyObj(a.key):null),defData:c,proc:($type(a.proc)=="function"?a.proc:null),items:{}};
return true},getAjaxGrp:function(a){return(this._group&&this._group[a]?this._group[a]:null)},ajaxRequest:function(j,c,d){var g=c.gid;if(!(this._group&&this._group[g]&&$type(d)=="object")){return false}if(!($chk(d.id)&&$type(d.callback)=="function")){return false
}var b=d.id;var e=this._group[g];var l=e.items[b];if(!l){l=e.items[b]={};l.ajax=new Du.Ajax(e.url,{renewal:{type:"once"},jsonize:true,method:e.method,autoCancel:true,callback:function(n,o,m){this._ajaxCallback(g,b,n,o,m)
}.bind(this)})}l.ajax.cancel();l.callback=d.callback;l.info=d.info;l.value=j;l.errStr=c.errStr;var k=($chk(d.keyName)?d.keyName:e.keyName);var i=($type(d.query)=="string"?d.query:"");var f=[];var a;if(!i){switch($type(j)){case"object":for(a in j){f.push({key:a,value:j[a]})
}break;case"array":j.each(function(m){f.push({key:k,value:j[m]})});break;default:f.push({key:k,value:j[j]})}}if(e.key){for(a in l.info){if($chk(e.key[a])&&l.info[a]!=null){f.push({key:e.key[a],value:l.info[a]})
}}}f=f.map(function(m){return encodeURIComponent(m.key)+"="+encodeURIComponent(m.value)});i+=(i?"&":"")+f.join("&");if(e.defData){i+=(i?"&":"")+e.defData}var h=l.ajax.sendRequest(i);e=curOpj=d=f=null;return{request:h}
},_ajaxCallback:function(c,f,a,e,d){if(!(this._group[c]&&this._group[c]["items"][f]&&$type(this._group[c]["items"][f]["callback"])=="function")){return}var b=this._group[c]["items"][f];if(e.json&&b.errStr){e.json["errStr"]=b.errStr
}b.callback(a,e.json,b.value,b.info);if(this._group[c]["proc"]){this._group[c]["proc"](a,e.json,b.value,b.info)}}});Du.Force=new Hash({Check:{df_space:function(c,b){if(!b.noTrim){c=c.replace(/^[\s\u3000]*/,"").replace(/[\s\u3000]*$/,"")
}var a=($type(b.shrink)=="string"?b.shrink:"\u0020");if(b.shrink!==false){c=c.replace(/[\s\u3000]+/g,a)}return c},df_camelCase:function(b,a){if(!b){return b}return b.replace(/\b[a-z]/g,function(c){return c.charAt(0).toUpperCase()
})},df_purge:function(b,a){return b.replace(a.purgeReg,"")},df_convert:function(c,b){var a="";if(b.convert){c=b.convert(c)}else{if(b.convReg){c=c.replace(b.convReg,b.convRepl)}}if(b.convSetReg&&b.convSetRepl){c=c.replace(b.convSetReg,b.convSetRepl)
}return c},df_convPattern:function(b,a){if(!b||!a){return b}return b.replace(a.convReg,a.convRepl)}},regForce:function(c){if($type(c)!="object"){return false}var a=c.id;if(!$chk(a)||!c.check){return false
}var b=a.test(/^df_/);if(!b&&c.check){this.Check[a]=c.check}},forceMod:function(d,g,f){if(d==null){return null}if($type(g)=="string"){if(this.Check[g]){g={id:g,check:this.Check[g]}}else{return d}}var c=g.id;
if(!$chk(c)||$type(c)!="string"){return d}var b=(g.check?g.check:this.Check[c]);if(!b){return d}if(!g.opt){g.opt={}}var e=true;if($type(d)!="array"){e=false;d=[d]}var a;switch($type(b)){case"function":for(a=0;
a<d.length;a++){d[a]=b(d[a],g.opt,($type(f)=="object"?f[c]:f))}break;case"regexp":for(a=0;a<d.length;a++){d[a]=String(d[a]).replace(b,g.opt)}break}return(e?d:d[0])},setForces:function(a){a=($type(a)!="array"?[a]:a);
var b=[];a=a.map(function(e){var d=$type(e);if(d=="string"){e={id:e,opt:{}}}else{if(d!="object"){return null}}var c=e.id;if(!$chk(c)||$type(c)!="string"){return null}if(c=="df_convert"){e.opt=this.initConvert(e.opt);
if($type(e.opt["convert"])!="function"&&$type(e.opt["convReg"])!="regexp"&&$type(e.opt["convSet"])!="object"){return null}}else{if(c=="df_purge"){e.opt=this.initPurge(e.opt);if($type(e.opt["purgeReg"])!="regexp"){return null
}}}if(e.forceReg){e.forceReg=true;this.regForce(e)}b.push(c);return e},this);return function(c,d){if(c===null&&d=="df_getForces"){return b}a.some(function(e){if(!e){return false}c=this.forceMod(c,e,d);
if(c==null){return true}},this);return c}.bind(this)},_toRegStr:function(b){if(b==null){return""}var a,c="";if($type(b)=="string"){for(a=0;a<b.length;a++){c+=this._toRegStr(b.charCodeAt(a))}return c}c="000"+b.toString(16);
return"\\u"+c.substring(c.length-4)},_initSetReg:function(h){var a,c="",g=[],f={},b=null,e=null;if($type(h)=="object"){for(var d in h){if($type(h[d])=="number"){f[d]=String.fromCharCode(h[d])}a=Du.Force._toRegStr(d);
if(prop.length>1){g.push("("+a+")")}else{d=prop.charCodeAt(0);c+=a}}c="(["+c+"])";if(g.length>0){g.push(c);c=g.join("|")}b=new RegExp(c,"g");a=c=g=null;e=function(i){return f[i]}}return{convReg:b,convRepl:e}
},initConvert:function(b){if(!b){b={}}var d=$type(b.conv);var c=$type(b.replace);b.convReg=b.convRepl=null;if(d=="function"){b.convert=b.conv}else{if(d=="regexp"){b.convReg=b.conv}else{if(d=="string"){b.convReg=new RegExp(b.conv,"g")
}}}var a=this._initSetReg(b.convSet);if(a.convReg&&a.convRepl){b.convSetReg=a.convReg;b.convSetRepl=a.convRepl}if((c=="function"||c=="string")&&b.convReg){b.convRepl=b.replace}b.conv=b.replace=b.convSet=null;
return b},initPurge:function(b){if(!b){return{}}b.code=($type(b.code)=="array"?b.code:[b.code]);var a="";b.code.each(function(c){if(Du.Type.CodePattern[c]){a+=Du.Type.CodePattern[c]}},this);if(b.space){a+="\\s"
}if($type(b.except)=="string"){a+=b.except}if(!b.reverse){a="^"+a}b.purgeReg=new RegExp("["+a+"]","g");return b}});Du.Force.Ja=new Hash({ConvPattern:{df_ftoh:{range:{start:65281,end:65374},mod:-65248},df_htof:{range:{start:33,end:126},mod:+65248},df_hgtokk:{range:{start:12353,end:12438},mod:+96},df_kktohg:{range:{start:12449,end:12534},mod:-96},df_fkktohkk:{range:{start:12449,end:12540}},df_hkktofkk:{range:{start:65377,end:65439},vsm:65438,vsmRange:{start:65382,end:65436},svsm:65439,svsmRange:{start:65418,end:65422}},jftojh:{convSet:{"\u2019":"\u0027","\u201d":"\u0022","\uffe5":"\u005c"}},jhtojf:{convSet:{"\u0027":"\u2019","\u0022":"\u201d","\u005c":"\uffe5"}},fstohs:{convSet:{"\u3000":"\u0020"}},hstofs:{convSet:{"\u0020":"\u3000"}}},initPattern:function(a,b){if(!b){b={}
}if(!this.ConvPattern[a]){return b}b.idForce=a;b.range=this.ConvPattern[a]["range"];b.mod=this.ConvPattern[a]["mod"];var d=this.ConvPattern[a]["convSet"];if(b.jaCode){if(a=="df_ftoh"){d=$merge(d,this.ConvPattern.jftojh["convSet"])
}else{if(a=="df_htof"){d=$merge(d,this.ConvPattern.jhtojf["convSet"])}}}if(b.space){if(a=="df_ftoh"||a=="df_fkktohkk"){d=$merge(d,this.ConvPattern.fstohs["convSet"])}else{if(a=="df_htof"||a=="df_hfftofkk"){d=$merge(d,this.ConvPattern.hstofs["convSet"])
}}}if($type(b.convSet)=="object"){d=$merge(d,b.convSet);for(var c in d){if($type(d[c])=="number"){d[c]=String.fromCharCode(d[c])}}}b.convSet=d;return this._initPatternReg(a,b)},_initPatternReg:function(g,d){if(!d){return null
}var c,b,e,a,i="",f="",j={},h=[];if(d.range){if(d.mod){for(c=d.range["start"];c<=d.range["end"];c++){j[String.fromCharCode(c)]=String.fromCharCode(c+d.mod)}}i=Du.Force._toRegStr(d.range["start"])+"-"+Du.Force._toRegStr(d.range["end"])
}if(d.convSet){for(b in d.convSet){e=d.convSet[b];a=Du.Force._toRegStr(b);if(b.length>1){h.push("("+a+")")}else{c=b.charCodeAt(0);if(!d.range||c<d.range["start"]||c>d.range["end"]){f+=a}}j[b]=e}}if(g=="df_hkktofkk"&&this.ConvPattern.df_hkktofkk["convSetHKK"]){for(b in this.ConvPattern.df_hkktofkk["convSetHKK"]){j[b]=this.ConvPattern.df_hkktofkk["convSetHKK"][b]
}h.push("(["+Du.Force._toRegStr(this.ConvPattern.df_hkktofkk["vsmRange"]["start"])+"-"+Du.Force._toRegStr(this.ConvPattern.df_hkktofkk["vsmRange"]["end"])+"]"+Du.Force._toRegStr(this.ConvPattern.df_hkktofkk["vsm"])+")");
h.push("(["+Du.Force._toRegStr(this.ConvPattern.df_hkktofkk["svsmRange"]["start"])+"-"+Du.Force._toRegStr(this.ConvPattern.df_hkktofkk["svsmRange"]["end"])+"]"+Du.Force._toRegStr(this.ConvPattern.df_hkktofkk["svsm"])+")")
}f=i+f;if(!f&&h.length<=0){return null}f="(["+f+"])";if(h.length>0){h.push(f);f=h.join("|")}d.convSet=null;d.convReg=new RegExp(f,"g");c=b=e=a=i=f=h=null;if(g=="df_hkktofkk"){d.convRepl=function(k){if(j[k]!=null){return j[k]
}return j[k.charAt(0)]+j[k.charAt(1)]}}else{d.convRepl=function(k){return j[k]}}return d},setForces:function(a){a=($type(a)!="array"?[a]:a);a=a.map(function(d){var c=$type(d);if(c=="string"){d={id:d,opt:{}}
}else{if(c!="object"){return null}}var b=d.id;if(!$chk(b)||$type(b)!="string"){return null}if(["df_ftoh","df_htof","df_hgtokk","df_kktohg","df_fkktohkk","df_hkktofkk"].contains(b)){d.opt=this.initPattern(b,d.opt);
if(!d.opt||$type(d.opt["range"])!="object"){return null}d.check=Du.Force.Check.df_convPattern}return d},this);return Du.Force.setForces(a)}});(function(){var h=Du.Force.Ja.ConvPattern;var g={12300:65378,12301:65379,12290:65377,12289:65380,12443:65438,12444:65439};
var d=[65383,65393,65384,65394,65385,65395,65386,65396,65387,65397,65398,,65399,,65400,,65401,,65402,,65403,,65404,,65405,,65406,,65407,,65408,,65409,,65391,65410,,65411,,65412,,65413,65414,65415,65416,65417,65418,,,65419,,,65420,,,65421,,,65422,,,65423,65424,65425,65426,65427,65388,65428,65389,65429,65390,65430,65431,65432,65433,65434,65435,65436,65436,65394,65396,65382,65437,,65398,65401,,,,,65381,65392];
var e={12460:[65398,65438],12462:[65399,65438],12464:[65400,65438],12466:[65401,65438],12468:[65402,65438],12470:[65403,65438],12472:[65404,65438],12474:[65405,65438],12476:[65406,65438],12478:[65407,65438],12480:[65408,65438],12482:[65409,65438],12485:[65410,65438],12487:[65411,65438],12489:[65412,65438],12496:[65418,65438],12499:[65419,65438],12502:[65420,65438],12505:[65421,65438],12508:[65422,65438],12497:[65418,65439],12500:[65419,65439],12503:[65420,65439],12506:[65421,65439],12509:[65422,65439],12532:[65395,65438],12535:[65436,65438],12536:[65394,65438],12537:[65396,65438],12538:[65382,65438]};
var i,c,a,l={};if(h.df_fkktohkk){for(i=0,c=h.df_fkktohkk["range"]["start"];c<=h.df_fkktohkk["range"]["end"];c++,i++){l[String.fromCharCode(c)]=String.fromCharCode.apply(null,(e[c]!=null?e[c]:[d[i]]))}for(c in g){l[String.fromCharCode(c)]=String.fromCharCode(g[c])
}h.df_fkktohkk["convSet"]=l}var k=65438;var j=65439;var m=[12290,12300,12301,12289,12539,12530,12449,12451,12453,12455,12457,12515,12517,12519,12483,12540,12450,12452,12454,12456,12458,12459,12461,12463,12465,12467,12469,12471,12473,12475,12477,12479,12481,12484,12486,12488,12490,12491,12492,12493,12494,12495,12498,12501,12504,12507,12510,12511,12512,12513,12514,12516,12518,12520,12521,12522,12523,12524,12525,12527,12531,12443,12444];
var b={65398:{v:12460},65399:{v:12462},65400:{v:12464},65401:{v:12466},65402:{v:12468},65403:{v:12470},65404:{v:12472},65405:{v:12474},65406:{v:12476},65407:{v:12478},65408:{v:12480},65409:{v:12482},65410:{v:12485},65411:{v:12487},65412:{v:12489},65418:{v:12496,sv:12497},65419:{v:12499,sv:12500},65420:{v:12502,sv:12503},65421:{v:12505,sv:12506},65422:{v:12508,sv:12509},65395:{v:12532},65436:{v:12535},65382:{v:12538}};
var f={};if(h.df_hkktofkk){for(i=0,c=h.df_hkktofkk["range"]["start"];c<=h.df_hkktofkk["range"]["end"];c++,i++){f[String.fromCharCode(c)]=String.fromCharCode(m[i])}for(c in b){if(b[c]["v"]){f[String.fromCharCode(c,k)]=String.fromCharCode(b[c]["v"])
}if(b[c]["sv"]){f[String.fromCharCode(c,j)]=String.fromCharCode(b[c]["sv"])}}h.df_hkktofkk["convSetHKK"]=f}})();