OSDN Git Service

client is version0.4.11, around Panel working.
[pettanr/pettanr.git] / public / assets / common.js
index af4816a..aa711ac 100644 (file)
@@ -1,10 +1,71 @@
 /*\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
@@ -40,7 +101,7 @@ var pettanr = ( function(){
                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
@@ -533,7 +594,15 @@ pettanr.util = ( function(){
                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
@@ -544,18 +613,13 @@ pettanr.util = ( function(){
             \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
@@ -699,17 +763,18 @@ pettanr.CONST = ( function(){
        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