/*\r
* pettanR common.js\r
- * version 0.4.7\r
+ * version 0.4.11\r
* \r
* author: itozyun\r
*/\r
\r
+/*\r
+ * http://pettanr.sourceforge.jp/test/type.html
+ */\r
+ var Type = {\r
+ isObject : function(v) {\r
+ return typeof v === 'object';\r
+ },\r
+ isFunction : function(v) {\r
+ return typeof v === 'function';\r
+ },\r
+ isArray : function(v) {\r
+ return Object.prototype.toString.call(v) === "[object Array]";\r
+ },\r
+ isBoolean : function(v) {\r
+ return typeof v === 'boolean';\r
+ },\r
+ isString : function(v) {\r
+ return typeof v === 'string';\r
+ },\r
+ isNumber : function(v) {\r
+ return typeof v === 'number';\r
+ },\r
+ isHTMLElement : ( 'HTMLElement' in window ?\r
+ function(v){\r
+ return v instanceof HTMLElement\r
+ } :\r
+ function(v) {\r
+ if( Type.isObject(v) === false ){\r
+ return false;\r
+ }\r
+ var r;\r
+ if(v && v.nodeType === 1){\r
+ try{\r
+ r = v.cloneNode(false);\r
+ } catch(n) {\r
+ return false;\r
+ }\r
+ if(r === v) return false;\r
+ try{\r
+ r.nodeType = 9;\r
+ return r.nodeType === 1;\r
+ } catch(n) {}\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+ ),\r
+ /*\r
+ isElementCollection : function(v) {\r
+ return (Object.prototype.toString.call(v) === "[object HTMLCollection]");\r
+ },\r
+ */\r
+ isNull : function(v) {\r
+ return v === null;\r
+ },\r
+ isUndefined : function(v) {\r
+ return typeof v === 'undefined';\r
+ }\r
+ };\r
+\r
+\r
var pettanr = ( function(){\r
var FUNCTION_ARRAY = [],\r
URL = document.location.href.split( '#')[ 0],\r
IS_DEBUG = typeof URL_PARAMS.debug === 'boolean' ? URL_PARAMS.debug : IS_LOCAL === true,\r
jqWindow , jqDocument , jqBody;\r
return {\r
- version: '0.4.6',\r
+ version: '0.4.11',\r
init: function(){\r
jqWindow = $( window);\r
jqDocument = $( document);\r
createIframe: function( id, callback){\r
var ua = pettanr.ua;\r
var el = document.createElement( ua.isIE ? '<iframe name="' + id + '" frameborder="0" scrolling="no">' : 'iframe');\r
- \r
+\r
+ if( ua.isIE){\r
+ el.onreadystatechange = detect;\r
+ } else {\r
+ // iron(chrome) の場合、append の前に onload を指定しないと onload が呼ばれない\r
+ el.onload = onLoad;\r
+ //setTimeout( asynkCallback, 0 );\r
+ }\r
+\r
document.body.appendChild( el);\r
el.id = el.name = id;\r
el.setAttribute( 'name', id);\r
\r
window[id] = el;\r
\r
- if( ua.isIE){\r
- el.onreadystatechange = detect;\r
- } else {\r
- el.onload = onLoad;\r
- }\r
function detect(){\r
if ( this.readyState === "complete") {\r
this.onreadystatechange = new Function();\r
this.onreadystatechange = null;\r
setTimeout( asynkCallback, 0 );\r
}\r
- } \r
+ }\r
function onLoad(){\r
el.onload = null;\r
setTimeout( asynkCallback, 0 );\r
return {\r
PETTANR_ROOT_PATH: PETTANR_ROOT_PATH,\r
URL_ORIGINAL_PICTURES_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'original_pictures.json',\r
+ URL_RESOURCE_PICTURES_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'resource_pictures.json',\r
URL_COMICS_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'comics.json',\r
URL_PANELS_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'panels.json',\r
NS_PETTANR_COMIC: 'pettanr-comic',\r
RESOURCE_PICTURE_PATH: ( isLocal === true ? pettanr.ROOT_PATH : PETTANR_ROOT_PATH) + 'resource_pictures\/',\r
CREATE_COMIC_JS: isLocal === true ? 'js\/create_new_comic.js' : PETTANR_ROOT_PATH + 'comics\/new.js',\r
+ CREATE_PANEL_JS: isLocal === true ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
UPLOAD_PICTURE_JS: isLocal === true ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
JQUERY_URL: isLocal === true ? 'javascripts\/jquery-1.6.2.min.js' : PETTANR_ROOT_PATH + 'assets\/jquery-162_min.js'\r
}\r
})();\r
\r
-\r
pettanr.view = ( function(){\r
/* create iframe overlay for user console */\r
var location = document.location.pathname,\r