/*\r
* pettanR peta.common.js\r
- * version 0.5.6\r
+ * version 0.5.10\r
* \r
* author:\r
* itozyun\r
})(),\r
IS_DEBUG = Type.isBoolean( URL_PARAMS.debug ) ? URL_PARAMS.debug : IS_LOCAL === true;\r
return {\r
- version: '0.5.5',\r
+ version: '0.5.8',\r
URL_PARAMS: URL_PARAMS,\r
LOCAL: IS_LOCAL,\r
DEBUG: IS_DEBUG,\r
URL_RESOURCE_PICTURES_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'resource_pictures.json',\r
URL_COMICS_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'comics.json',\r
URL_PANELS_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'panels.json',\r
+ URL_MY_PANELS_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/panel.json',\r
NS_PETTANR_COMIC: 'pettanr-comic',\r
RESOURCE_PICTURE_PATH: ( SERVER_SUPPORT === false ? RELATIVE : PETTANR_ROOT_PATH ) + 'resource_pictures\/',\r
SYSTEM_PICTURE_PATH: ( SERVER_SUPPORT === false ? RELATIVE : PETTANR_ROOT_PATH ) + 'system_pictures\/',\r
}\r
})();\r
\r
-var VisualEffect = ( function(){\r
- \r
- var ANIMATION_TICKET_ARRAY = [],\r
- fpms = 50,\r
- TIMER = null,\r
- FILTER = 'filter',\r
- OPACITY = 'opacity',\r
- REG_ALPHA = /alpha\([^)]*\)/i,\r
- CORON = ':',\r
- EMPTY = '',\r
- SEMICORON = ';';\r
- \r
- function startAnimation( _elm, _cssObject, _onComplete, _onEnterFrame, _numFrames){\r
- var _ticket;\r
- for( var i=0, l=ANIMATION_TICKET_ARRAY.length; i<l; ++i){\r
- _ticket = ANIMATION_TICKET_ARRAY[ i];\r
- if( _ticket.elm === _elm) {\r
- _ticket.destroy();\r
- break;\r
- }\r
- }\r
- // coputedStyle と _cssObject を比較して , 一致及び非数は削除しつつ コピー\r
- // filter opacity の追加 REG_ALPHA.test( _value ) ? _value.replace( REG_ALPHA, opacity ) : _value + " " + opacity\r
- /*\r
- * cssObject をまわす\r
- * 非数は削除\r
- * cssText と一致も削除\r
- * coputedStyle と一致も削除\r
- * updateTraget ととして記録\r
- * 初期値を cssObject としてセット\r
- * cssTest にセット zoom もセット\r
- */\r
- \r
- //\r
- /*\r
- var style = elem.style,\r
- currentStyle = elem.currentStyle,\r
- opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",\r
- filter = currentStyle && currentStyle.filter || style.filter || "";\r
-\r
- // IE has trouble with opacity if it does not have layout\r
- // Force it by setting the zoom level\r
- style.zoom = 1;\r
- */\r
- \r
- var _currentParameters = [],\r
- _offsetParameters = [],\r
- _endParameters = [],\r
- _targetAttributes = [];\r
- \r
- ANIMATION_TICKET_ARRAY.push( new AnimationTaskClass(\r
- _elm,\r
- _currentParameters, _offsetParameters, _endParameters, _targetAttributes,\r
- typeof _onComplete === 'function' ? _onComplete : null,\r
- typeof _onEnterFrame === 'function' ? _onEnterFrame : null,\r
- _numFrames\r
- ));\r
- \r
- if( TIMER === null){\r
- TIMER = window.setInterval( onEnterFrame, fpms);\r
- }\r
- }\r
- function onEnterFrame(){\r
- var _ticket,\r
- i = 0;\r
- while( i<ANIMATION_TICKET_ARRAY.length){\r
- _ticket = ANIMATION_TICKET_ARRAY[ i];\r
- if( _ticket.onEnterFrame() === true){\r
- _ticket.destroy();\r
- ANIMATION_TICKET_ARRAY.splice( i, 1);\r
- } else {\r
- ++i;\r
- }\r
- }\r
- if( ANIMATION_TICKET_ARRAY.length === 0){\r
- window.clearInterval( TIMER);\r
- TIMER = null;\r
- }\r
- }\r
- function updateCss( _elm, _updateParameters, _targetAttributes, _numAttributes){\r
- if( _numAttributes > 1){\r
- var _cssTexts = _elm.style.cssText.split( ';'), _css,\r
- _separate,\r
- _cssObject = {}, _target, _value, _number, _px,\r
- j;\r
- for(var i=0, l=_cssTexts.length; i<l; ++i){\r
- _css = _cssTexts[ i];\r
- _separate = _css.indexOf( ':');\r
- if( _separate >= 3){\r
- _target = _css.substr( 0, _separate +1);\r
- _value = _css.substr( _separate +1);\r
- /*\r
- * ie filter\r
- */\r
- if( _target === FILTER){\r
- for( j=0; j<_numAttributes; ++j){\r
- if( _targetAttributes[ j] === OPACITY){\r
- _cssTexts[ i] = [\r
- _target, ':',\r
- _value.replace( REG_ALPHA, "alpha(opacity=" + _updateParameters[ j] * 100 + ")")\r
- ].join( '');\r
- break;\r
- }\r
- }\r
- /*\r
- * other\r
- */\r
- } else {\r
- _number = '' + parseFloat( _value);\r
- _px = _value.indexOf( _number);\r
- _px = _px > 0 ? _value.substr( _px + _number.length) : '';\r
- for( j=0; j<_numAttributes; ++j){\r
- if( _targetAttributes[ j] === _target){\r
- _cssTexts[ i] = [ _target, ':', _updateParameters[ j], _px].join( '');\r
- break;\r
- }\r
- } \r
- }\r
- }\r
- }\r
- _elm.style.cssText = _cssTexts.join( ';');\r
- return; \r
- }\r
- /*\r
- * 一度に update する Attributes が少ない場合、cssText は使用しない.\r
- */\r
- }\r
- \r
- var AnimationTaskClass = function( ELM, currentParameters, offsetParameters, endParameters, targetAttributes, onComplete, onEnterFrame, numFrames){\r
- var l = targetAttributes.length;\r
- return {\r
- elm: ELM,\r
- onEnterFrame: function(){\r
- var _updateCss = {}, i;\r
- if( numFrames === 1){\r
- for( i=0; i<l; ++i){\r
- _updateCss[ targetAttributes[ i]] = endParameters[ i];\r
- ++i;\r
- }\r
- updateCss( ELM, currentParameters, targetAttributes, l);\r
- onComplete !== null && onComplete();\r
- } else {\r
- for( i=0; i<l; ++i){\r
- _updateCss[ targetAttributes[ i]] = currentParameters[ i] = Math.floor( currentParameters[ i] + offsetParameters[ i]);\r
- ++i;\r
- }\r
- updateCss( ELM, currentParameters, targetAttributes, l);\r
- onEnterFrame !== null && onEnterFrame( _updateCss);\r
- }\r
- --numFrames;\r
- return numFrames === 0;\r
- },\r
- destroy: function(){\r
- ELM = onComplete = onEnterFrame = null;\r
- }\r
- }\r
- }\r
- \r
- var VisualEffectClass = function( ELM){\r
- var isHtmlElement;\r
- \r
- function registerAnime( _cssObject, _onComplete, _onEnterFrame, _time){\r
- var _numFrames = Math.floor( _time / fpms);\r
- startAnimation( ELM, _cssObject, _onComplete, _onEnterFrame, _numFrames);\r
- }\r
- function startFadeIn(){\r
- \r
- }\r
- function startFadeOut(){\r
- \r
- }\r
- function update( _x, _y, _w, _h){\r
- var _cssText = ELM.style.cssText;\r
- \r
- }\r
- \r
- this.anime = registerAnime;\r
- this.fadeIn = startFadeIn;\r
- this.fadeOut = startFadeOut;\r
- this.update = update;\r
- }\r
- \r
- return {\r
- createVisualEffect: function( _elm){\r
- return new VisualEffectClass( _elm);\r
- },\r
- isInstanceOfVisualEffect: function( _instance){\r
- return _instance instanceof VisualEffectClass;\r
- }\r
- }\r
-})();\r
-\r
-\r
\r
/*\r
* Google Analytics\r