OSDN Git Service

setup spinelz environment
[cloudmanganw/git_repo.git] / war / WEB-INF / classes / jp / sourceforge / manganetwork / page / javascripts / spinelz / toolbar.js
index b8cd397..1109654 100644 (file)
-// Copyright (c) 2006 spinelz.org (http://script.spinelz.org/)
-// 
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-var ToolBar = Class.create();
-ToolBar.className = {
-  container : 'toolbar_container',
-  containerLeft : 'toolbar_containerLeft',
-  containerMiddle : 'toolbar_containerMiddle',
-  containerRight : 'toolbar_containerRight', 
-  toolbarItem : 'toolbar_item',
-  toolbarItemHover : 'toolbar_itemHov',
-  toolbarItemPres : 'toolbar_itemPres',
-  toolbarContent : 'toolbar_content',
-  toolbarContentPres: 'toolbar_contentPres'
-}
-
-ToolBar.prototype = {
-
-  initialize: function(element) {
-    var options = Object.extend({
-      cssPrefix : 'custom_'
-    }, arguments[1] || {});
-    
-    this.element = $(element);
-    Element.setStyle(this.element, {visibility: 'hidden'});
-    Element.hide(this.element);
-    this.options = options;
-    
-    var customCss = CssUtil.appendPrefix(this.options.cssPrefix, ToolBar.className);
-    this.classNames = new CssUtil([ToolBar.className, customCss]);
-    
-    this.build();
-    Element.setStyle(this.element, {visibility: 'visible'});
-    Element.show(this.element);
-  },
-  
-  build: function() {
-//    Element.cleanWhitespace(this.element);
-    this.classNames.addClassNames(this.element, 'container');
-    var iconList = this.element.childNodes;    
-    
-    var containerLeft = Builder.node('div');
-    this.classNames.addClassNames(containerLeft, 'containerLeft');
-    
-    this.containerMiddle = Builder.node('div');
-    this.classNames.addClassNames(this.containerMiddle, 'containerMiddle');
-    
-    var containerRight = Builder.node('div');
-    this.classNames.addClassNames(containerRight, 'containerRight');
-    
-    var removeList = [];
-    var toolbar = this; 
-    $A(iconList).each(function(i) {
-      if (i.nodeType != 1) {
-        throw $continue;
-      }
-      toolbar.buildIcon(i);
-    });
-    
-    this.element.appendChild(containerLeft);
-    this.element.appendChild(this.containerMiddle);
-    this.element.appendChild(containerRight);
-  },
-  
-  buildIcon: function(icon) {
-    var toolbarItem = Builder.node('div');
-    this.classNames.addClassNames(toolbarItem, 'toolbarItem');
-    
-    var toolbarContent = Builder.node('div');
-    this.classNames.addClassNames(toolbarContent, 'toolbarContent');
-    
-    toolbarContent.appendChild(icon);
-    toolbarItem.appendChild(toolbarContent);
-    this.containerMiddle.appendChild(toolbarItem);
-    this.setHovEvent(toolbarItem);
-    this.setPresEvent(toolbarItem);
-  },
-  
-  addIcon: function(options) {
-    var iconOptions = Object.extend({
-      id : 'newIcon',
-      src : 'url',
-      alt : 'icon',
-      width: 15,
-      height: 15
-    }, arguments[0] || {});
-    if (!$(iconOptions.id)) {
-      var icon = Builder.node('img', {id: iconOptions.id, src: iconOptions.src, alt: iconOptions.alt, style: 'width: ' + iconOptions.width + 'px; height: ' + iconOptions.height + 'px;'});
-      this.buildIcon(icon);
-    }
-  },
-  
-  removeIcon: function(icon) {
-    var target = $(icon);
-    if (target) {
-      var itemNode = target.parentNode.parentNode;
-      Element.remove(itemNode);
-    } 
-  },    
-
-  addEvent: function(icon, eventName, func) {
-    var target = $(icon);
-    if (target) {
-      var itemNode = target.parentNode.parentNode;
-      Event.observe(itemNode, eventName, func);
-    }
-  },
-  
-  removeEvent: function(icon, eventName, func) {
-    var target = $(icon);
-    if (target) {
-      var itemNode = target.parentNode.parentNode;
-      Event.stopObserving(itemNode, eventName, func);
-    }
-  },
-  setHovEvent: function(element) {
-    Event.observe(element, "mouseout", this.toggleItemClass(element, 'toolbarItem').bindAsEventListener(this));
-    Event.observe(element, "mouseover", this.toggleItemClass(element, 'toolbarItemHover').bindAsEventListener(this));
-    Event.observe(element, "mouseout", this.toggleItemClass(element.childNodes[0], 'toolbarContent').bindAsEventListener(this));
-  },
-  
-  setPresEvent: function(element) {
-    Event.observe(element, "mousedown", this.toggleItemClass(element, 'toolbarItemPres').bindAsEventListener(this));
-    Event.observe(element, "mouseup", this.toggleItemClass(element, 'toolbarItem').bindAsEventListener(this));
-    Event.observe(element, "mousedown", this.toggleItemClass(element.childNodes[0], 'toolbarContentPres').bindAsEventListener(this));
-    Event.observe(element, "mouseup", this.toggleItemClass(element.childNodes[0], 'toolbarContent').bindAsEventListener(this));
-  },
-  
-  toggleItemClass: function(target, className) {
-    return function() {
-      this.classNames.refreshClassNames(target, className);
-    }
-  }
-}
+// Copyright (c) 2006 spinelz.org (http://script.spinelz.org/)\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining\r
+// a copy of this software and associated documentation files (the\r
+// "Software"), to deal in the Software without restriction, including\r
+// without limitation the rights to use, copy, modify, merge, publish,\r
+// distribute, sublicense, and/or sell copies of the Software, and to\r
+// permit persons to whom the Software is furnished to do so, subject to\r
+// the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be\r
+// included in all copies or substantial portions of the Software.\r
+//\r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+\r
+var ToolBar = Class.create();\r
+ToolBar.className = {\r
+  container : 'toolbar_container',\r
+  containerLeft : 'toolbar_containerLeft',\r
+  containerMiddle : 'toolbar_containerMiddle',\r
+  containerRight : 'toolbar_containerRight', \r
+  toolbarItem : 'toolbar_item',\r
+  toolbarItemHover : 'toolbar_itemHov',\r
+  toolbarItemPres : 'toolbar_itemPres',\r
+  toolbarContent : 'toolbar_content',\r
+  toolbarContentPres: 'toolbar_contentPres'\r
+}\r
+\r
+ToolBar.prototype = {\r
+\r
+  initialize: function(element) {\r
+    var options = Object.extend({\r
+      cssPrefix : 'custom_'\r
+    }, arguments[1] || {});\r
+    \r
+    this.element = $(element);\r
+    Element.setStyle(this.element, {visibility: 'hidden'});\r
+    Element.hide(this.element);\r
+    this.options = options;\r
+    \r
+    var customCss = CssUtil.appendPrefix(this.options.cssPrefix, ToolBar.className);\r
+    this.classNames = new CssUtil([ToolBar.className, customCss]);\r
+    \r
+    this.build();\r
+    Element.setStyle(this.element, {visibility: 'visible'});\r
+    Element.show(this.element);\r
+  },\r
+  \r
+  build: function() {\r
+//    Element.cleanWhitespace(this.element);\r
+    this.classNames.addClassNames(this.element, 'container');\r
+    var iconList = this.element.childNodes;    \r
+    \r
+    var containerLeft = Builder.node('div');\r
+    this.classNames.addClassNames(containerLeft, 'containerLeft');\r
+    \r
+    this.containerMiddle = Builder.node('div');\r
+    this.classNames.addClassNames(this.containerMiddle, 'containerMiddle');\r
+    \r
+    var containerRight = Builder.node('div');\r
+    this.classNames.addClassNames(containerRight, 'containerRight');\r
+    \r
+    var removeList = [];\r
+    var toolbar = this; \r
+    $A(iconList).each(function(i) {\r
+      if (i.nodeType != 1) {\r
+        throw $continue;\r
+      }\r
+      toolbar.buildIcon(i);\r
+    });\r
+    \r
+    this.element.appendChild(containerLeft);\r
+    this.element.appendChild(this.containerMiddle);\r
+    this.element.appendChild(containerRight);\r
+  },\r
+  \r
+  buildIcon: function(icon) {\r
+    var toolbarItem = Builder.node('div');\r
+    this.classNames.addClassNames(toolbarItem, 'toolbarItem');\r
+    \r
+    var toolbarContent = Builder.node('div');\r
+    this.classNames.addClassNames(toolbarContent, 'toolbarContent');\r
+    \r
+    toolbarContent.appendChild(icon);\r
+    toolbarItem.appendChild(toolbarContent);\r
+    this.containerMiddle.appendChild(toolbarItem);\r
+    this.setHovEvent(toolbarItem);\r
+    this.setPresEvent(toolbarItem);\r
+  },\r
+  \r
+  addIcon: function(options) {\r
+    var iconOptions = Object.extend({\r
+      id : 'newIcon',\r
+      src : 'url',\r
+      alt : 'icon',\r
+      width: 15,\r
+      height: 15\r
+    }, arguments[0] || {});\r
+    if (!$(iconOptions.id)) {\r
+      var icon = Builder.node('img', {id: iconOptions.id, src: iconOptions.src, alt: iconOptions.alt, style: 'width: ' + iconOptions.width + 'px; height: ' + iconOptions.height + 'px;'});\r
+      this.buildIcon(icon);\r
+    }\r
+  },\r
+  \r
+  removeIcon: function(icon) {\r
+    var target = $(icon);\r
+    if (target) {\r
+      var itemNode = target.parentNode.parentNode;\r
+      Element.remove(itemNode);\r
+    } \r
+  },    \r
+\r
+  addEvent: function(icon, eventName, func) {\r
+    var target = $(icon);\r
+    if (target) {\r
+      var itemNode = target.parentNode.parentNode;\r
+      Event.observe(itemNode, eventName, func);\r
+    }\r
+  },\r
+  \r
+  removeEvent: function(icon, eventName, func) {\r
+    var target = $(icon);\r
+    if (target) {\r
+      var itemNode = target.parentNode.parentNode;\r
+      Event.stopObserving(itemNode, eventName, func);\r
+    }\r
+  },\r
+  setHovEvent: function(element) {\r
+    Event.observe(element, "mouseout", this.toggleItemClass(element, 'toolbarItem').bindAsEventListener(this));\r
+    Event.observe(element, "mouseover", this.toggleItemClass(element, 'toolbarItemHover').bindAsEventListener(this));\r
+    Event.observe(element, "mouseout", this.toggleItemClass(element.childNodes[0], 'toolbarContent').bindAsEventListener(this));\r
+  },\r
+  \r
+  setPresEvent: function(element) {\r
+    Event.observe(element, "mousedown", this.toggleItemClass(element, 'toolbarItemPres').bindAsEventListener(this));\r
+    Event.observe(element, "mouseup", this.toggleItemClass(element, 'toolbarItem').bindAsEventListener(this));\r
+    Event.observe(element, "mousedown", this.toggleItemClass(element.childNodes[0], 'toolbarContentPres').bindAsEventListener(this));\r
+    Event.observe(element, "mouseup", this.toggleItemClass(element.childNodes[0], 'toolbarContent').bindAsEventListener(this));\r
+  },\r
+  \r
+  toggleItemClass: function(target, className) {\r
+    return function() {\r
+      this.classNames.refreshClassNames(target, className);\r
+    }\r
+  }\r
+}\r