+var\r
+ /**\r
+ * Array か?判定する。argumnets 等のフェイク Array は false なので注意。\r
+ * @funciton\r
+ * @alias X.Type._isArray\r
+ */\r
+ X_Type_isArray =\r
+ new Function( 'v',\r
+ X_UA[ 'IE' ] < 5.5 || X_UA[ 'NetFront' ] < 4 ? // netfront3.4 は html に instanceof をすると error になる\r
+ 'return v&&v.push===Array.prototype.push' : // win ie5-, MacIE5.2\r
+ X_UA[ 'IE' ] ?\r
+ 'return v&&Object.prototype.toString.call(v)==="[object Array]"' :\r
+ 'return v instanceof Array'\r
+ ),\r
+\r
+ /**\r
+ * HTMLElement か?判定する。ちなみに return v instanceof Element は ie8 でエラー。\r
+ * @funciton\r
+ * @alias X.Type.isHTMLElement\r
+ */\r
+ X_Type_isHTMLElement =\r
+ new Function( 'v',\r
+ ( X_UA[ 'IE4' ] || X_UA[ 'MacIE' ] ) ?\r
+ 'return v&&v.tagName&&v.insertAdjacentHTML&&true' : // ie4 or MacIE5.23, v.all <- error\r
+ X_UA[ 'NetFront' ] < 4 ?\r
+ 'return v&&v.nodeType===1' : // instanceof not a function. netfront3.4 は html に instanceof をすると error になる\r
+ window[ 'HTMLElement' ] ?\r
+ 'return v instanceof HTMLElement' :\r
+ 'return v&&v.appendChild&&v.nodeType===1'\r
+ );\r
+\r
+\r
+\r