mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-14 10:47:57 +01:00
Start migration to Mootools 1.3.1
This commit is contained in:
parent
8eb84ce7b3
commit
41c1f47227
@ -81,12 +81,12 @@ core.WaitDialog = new Class({
|
||||
// Display dialog content ...
|
||||
processInfo: function() {
|
||||
if ($('lbContent'))
|
||||
$('lbContent').remove();
|
||||
$('lbContent').dispose();
|
||||
|
||||
var lbContentElement = new Element('div').setProperty('id', 'lbContent');
|
||||
lbContentElement.setHTML(this.content.innerHTML);
|
||||
lbContentElement.innerHTML = this.content.innerHTML;
|
||||
|
||||
lbContentElement.injectBefore($('lbLoadMessage'));
|
||||
lbContentElement.inject($('lbLoadMessage'),'before');
|
||||
$('lightbox').className = "done";
|
||||
},
|
||||
|
||||
@ -109,7 +109,7 @@ core.WaitDialog = new Class({
|
||||
deactivate: function(time) {
|
||||
|
||||
if ($('lbContent'))
|
||||
$('lbContent').remove();
|
||||
$('lbContent').dispose();
|
||||
|
||||
this.displayLightbox("none");
|
||||
|
||||
@ -120,16 +120,16 @@ core.WaitDialog = new Class({
|
||||
// Add overlay element inside body ...
|
||||
var bodyElem = document.getElementsByTagName('body')[0];
|
||||
var overlayElem = new Element('div').setProperty('id', 'overlay');
|
||||
overlayElem.injectInside(bodyElem);
|
||||
overlayElem.inject(bodyElem);
|
||||
|
||||
// Add lightbox element inside body ...
|
||||
var lightboxElem = new Element('div').setProperty('id', 'lightbox');
|
||||
lightboxElem.addClass('loading');
|
||||
|
||||
var lbLoadMessageElem = new Element('div').setProperty('id', 'lbLoadMessage');
|
||||
lbLoadMessageElem.injectInside(lightboxElem);
|
||||
lbLoadMessageElem.inject(lightboxElem);
|
||||
|
||||
lightboxElem.injectInside(bodyElem);
|
||||
lightboxElem.inject(bodyElem);
|
||||
|
||||
}
|
||||
});
|
@ -66,13 +66,13 @@
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="DragTopic.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="DragManager.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="DragPivot.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="TopicBoard.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="Board.js"/>
|
||||
<!--<filelist dir="${basedir}/src/main/javascript/" files="TopicBoard.js"/>-->
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="CentralTopicBoard.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="MainTopicBoard.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="ConnectionLine.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="RelationshipLine.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="DragTopicPositioner.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="Board.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="TextEditor.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="RichTextEditor.js"/>
|
||||
<filelist dir="${basedir}/src/main/javascript/" files="TextEditorFactory.js"/>
|
||||
|
@ -1,66 +1,62 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.ActionIcon = function(topic, url) {
|
||||
mindplot.Icon.call(this, url);
|
||||
this._node = topic;
|
||||
};
|
||||
mindplot.ActionIcon = new Class({
|
||||
Extends:mindplot.Icon,
|
||||
initialize: function(topic, url) {
|
||||
mindplot.Icon.call(this, url);
|
||||
this._node = topic;
|
||||
},
|
||||
getNode:function() {
|
||||
return this._node;
|
||||
},
|
||||
|
||||
objects.extend(mindplot.ActionIcon, mindplot.Icon);
|
||||
setPosition:function(x, y) {
|
||||
var size = this.getSize();
|
||||
this.getImage().setPosition(x - size.width / 2, y - size.height / 2);
|
||||
},
|
||||
|
||||
mindplot.ActionIcon.prototype.initialize = function() {
|
||||
addEventListener:function(event, fn) {
|
||||
this.getImage().addEventListener(event, fn);
|
||||
},
|
||||
|
||||
};
|
||||
addToGroup:function(group) {
|
||||
group.appendChild(this.getImage());
|
||||
},
|
||||
|
||||
mindplot.ActionIcon.prototype.getNode = function(){
|
||||
return this._node;
|
||||
};
|
||||
setVisibility:function(visible) {
|
||||
this.getImage().setVisibility(visible);
|
||||
},
|
||||
|
||||
mindplot.ActionIcon.prototype.setPosition = function(x,y){
|
||||
var size = this.getSize();
|
||||
this.getImage().setPosition(x-size.width/2, y-size.height/2);
|
||||
};
|
||||
isVisible:function() {
|
||||
return this.getImage().isVisible();
|
||||
},
|
||||
|
||||
mindplot.ActionIcon.prototype.addEventListener = function(event, fn){
|
||||
this.getImage().addEventListener(event, fn);
|
||||
};
|
||||
setCursor:function(cursor) {
|
||||
return this.getImage().setCursor(cursor);
|
||||
},
|
||||
|
||||
mindplot.ActionIcon.prototype.addToGroup = function(group){
|
||||
group.appendChild(this.getImage());
|
||||
};
|
||||
moveToBack:function(cursor) {
|
||||
return this.getImage().moveToBack(cursor);
|
||||
},
|
||||
|
||||
mindplot.ActionIcon.prototype.setVisibility = function(visible){
|
||||
this.getImage().setVisibility(visible);
|
||||
};
|
||||
|
||||
mindplot.ActionIcon.prototype.isVisible = function(){
|
||||
return this.getImage().isVisible();
|
||||
};
|
||||
|
||||
mindplot.ActionIcon.prototype.setCursor = function(cursor){
|
||||
return this.getImage().setCursor(cursor);
|
||||
};
|
||||
|
||||
mindplot.ActionIcon.prototype.moveToBack = function(cursor){
|
||||
return this.getImage().moveToBack(cursor);
|
||||
};
|
||||
|
||||
mindplot.ActionIcon.prototype.moveToFront = function(cursor){
|
||||
return this.getImage().moveToFront(cursor);
|
||||
};
|
||||
moveToFront:function(cursor) {
|
||||
return this.getImage().moveToFront(cursor);
|
||||
}
|
||||
});
|
||||
|
||||
|
51
mindplot/src/main/javascript/BaseCommandDispatcher.js
Normal file
51
mindplot/src/main/javascript/BaseCommandDispatcher.js
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.BaseCommandDispatcher = new Class({
|
||||
|
||||
initialize: function() {
|
||||
},
|
||||
addIconToTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},
|
||||
addLinkToTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},
|
||||
addNoteToTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},addRelationship: function() {
|
||||
throw "method must be implemented.";
|
||||
},addTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},changeIcon: function() {
|
||||
throw "method must be implemented.";
|
||||
},deleteTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},dragTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},moveControllPoint: function() {
|
||||
throw "method must be implemented.";
|
||||
} ,removeIconFromTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},removeLinkFromTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},removeNodeFromTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
}
|
||||
});
|
||||
|
@ -1,103 +1,111 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.Board = function(defaultHeight, referencePoint)
|
||||
{
|
||||
this.initialize(defaultHeight, referencePoint);
|
||||
};
|
||||
mindplot.Board = new Class({
|
||||
initialize : function(defaultHeight, referencePoint) {
|
||||
core.assert(referencePoint, "referencePoint can not be null");
|
||||
this._defaultWidth = defaultHeight;
|
||||
this._entries = new mindplot.BidirectionalArray();
|
||||
this._referencePoint = referencePoint;
|
||||
},
|
||||
|
||||
mindplot.Board.prototype.initialize = function(defaultHeight, referencePoint)
|
||||
{
|
||||
core.assert(referencePoint, "referencePoint can not be null");
|
||||
this._defaultWidth = defaultHeight;
|
||||
this._entries = new mindplot.BidirectionalArray();
|
||||
this._referencePoint = referencePoint;
|
||||
};
|
||||
getReferencePoint : function() {
|
||||
return this._referencePoint;
|
||||
},
|
||||
|
||||
mindplot.Board.prototype.getReferencePoint = function()
|
||||
{
|
||||
return this._referencePoint;
|
||||
};
|
||||
_removeEntryByOrder : function(order, position) {
|
||||
var board = this._getBoard(position);
|
||||
var entry = board.lookupEntryByOrder(order);
|
||||
|
||||
core.assert(!entry.isAvailable(), 'Entry must not be available in order to be removed.Entry Order:' + order);
|
||||
entry.removeTopic();
|
||||
board.update(entry);
|
||||
},
|
||||
|
||||
removeTopicFromBoard : function(topic) {
|
||||
var position = topic.getPosition();
|
||||
var order = topic.getOrder();
|
||||
|
||||
this._removeEntryByOrder(order, position);
|
||||
topic.setOrder(null);
|
||||
},
|
||||
|
||||
positionateDragTopic :function(dragTopic) {
|
||||
throw "this method must be overrided";
|
||||
},
|
||||
|
||||
getHeight: function() {
|
||||
var board = this._getBoard();
|
||||
return board.getHeight();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* ---------------------------------------
|
||||
*/
|
||||
mindplot.BidirectionalArray = function()
|
||||
{
|
||||
mindplot.BidirectionalArray = function() {
|
||||
this._leftElem = [];
|
||||
this._rightElem = [];
|
||||
};
|
||||
|
||||
mindplot.BidirectionalArray.prototype.get = function(index, sign)
|
||||
{
|
||||
mindplot.BidirectionalArray.prototype.get = function(index, sign) {
|
||||
core.assert(core.Utils.isDefined(index), 'Illegal argument, index must be passed.');
|
||||
if (core.Utils.isDefined(sign))
|
||||
{
|
||||
if (core.Utils.isDefined(sign)) {
|
||||
core.assert(index >= 0, 'Illegal absIndex value');
|
||||
index = index * sign;
|
||||
}
|
||||
|
||||
var result = null;
|
||||
if (index >= 0 && index < this._rightElem.length)
|
||||
{
|
||||
if (index >= 0 && index < this._rightElem.length) {
|
||||
result = this._rightElem[index];
|
||||
} else if (index < 0 && Math.abs(index) < this._leftElem.length)
|
||||
{
|
||||
} else if (index < 0 && Math.abs(index) < this._leftElem.length) {
|
||||
result = this._leftElem[Math.abs(index)];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
mindplot.BidirectionalArray.prototype.set = function(index, elem)
|
||||
{
|
||||
mindplot.BidirectionalArray.prototype.set = function(index, elem) {
|
||||
core.assert(core.Utils.isDefined(index), 'Illegal index value');
|
||||
|
||||
var array = (index >= 0) ? this._rightElem : this._leftElem;
|
||||
array[Math.abs(index)] = elem;
|
||||
};
|
||||
|
||||
mindplot.BidirectionalArray.prototype.length = function(index)
|
||||
{
|
||||
mindplot.BidirectionalArray.prototype.length = function(index) {
|
||||
core.assert(core.Utils.isDefined(index), 'Illegal index value');
|
||||
return (index >= 0) ? this._rightElem.length : this._leftElem.length;
|
||||
};
|
||||
|
||||
mindplot.BidirectionalArray.prototype.upperLength = function()
|
||||
{
|
||||
mindplot.BidirectionalArray.prototype.upperLength = function() {
|
||||
return this.length(1);
|
||||
};
|
||||
|
||||
mindplot.BidirectionalArray.prototype.lowerLength = function()
|
||||
{
|
||||
mindplot.BidirectionalArray.prototype.lowerLength = function() {
|
||||
return this.length(-1);
|
||||
};
|
||||
|
||||
mindplot.BidirectionalArray.prototype.inspect = function()
|
||||
{
|
||||
mindplot.BidirectionalArray.prototype.inspect = function() {
|
||||
var result = '{';
|
||||
var lenght = this._leftElem.length;
|
||||
for (var i = 0; i < lenght; i++)
|
||||
{
|
||||
for (var i = 0; i < lenght; i++) {
|
||||
var entry = this._leftElem[lenght - i - 1];
|
||||
if (entry != null)
|
||||
{
|
||||
if (i != 0)
|
||||
{
|
||||
if (entry != null) {
|
||||
if (i != 0) {
|
||||
result += ', ';
|
||||
}
|
||||
result += entry.inspect();
|
||||
@ -105,13 +113,10 @@ mindplot.BidirectionalArray.prototype.inspect = function()
|
||||
}
|
||||
|
||||
lenght = this._rightElem.length;
|
||||
for (var i = 0; i < lenght; i++)
|
||||
{
|
||||
for (var i = 0; i < lenght; i++) {
|
||||
var entry = this._rightElem[i];
|
||||
if (entry != null)
|
||||
{
|
||||
if (i != 0)
|
||||
{
|
||||
if (entry != null) {
|
||||
if (i != 0) {
|
||||
result += ', ';
|
||||
}
|
||||
result += entry.inspect();
|
||||
|
@ -1,122 +1,106 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.CentralTopicBoard = function(centralTopic, layoutManager)
|
||||
{
|
||||
var point = new core.Point(0, 0);
|
||||
this._layoutManager = layoutManager;
|
||||
this._rightBoard = new mindplot.VariableDistanceBoard(50, point);
|
||||
this._leftBoard = new mindplot.VariableDistanceBoard(50, point);
|
||||
this._centralTopic = centralTopic;
|
||||
};
|
||||
mindplot.CentralTopicBoard = new Class({
|
||||
Extends: mindplot.Board,
|
||||
initialize:function(centralTopic, layoutManager) {
|
||||
var point = new core.Point(0, 0);
|
||||
this._layoutManager = layoutManager;
|
||||
this._rightBoard = new mindplot.VariableDistanceBoard(50, point);
|
||||
this._leftBoard = new mindplot.VariableDistanceBoard(50, point);
|
||||
this._centralTopic = centralTopic;
|
||||
},
|
||||
|
||||
objects.extend(mindplot.CentralTopicBoard, mindplot.Board);
|
||||
_getBoard : function(position) {
|
||||
return (position.x >= 0) ? this._rightBoard : this._leftBoard;
|
||||
},
|
||||
|
||||
mindplot.CentralTopicBoard.prototype._getBoard = function(position)
|
||||
{
|
||||
return (position.x >= 0) ? this._rightBoard : this._leftBoard;
|
||||
};
|
||||
positionateDragTopic : function(dragTopic) {
|
||||
core.assert(dragTopic != null, 'dragTopic can not be null');
|
||||
core.assert(dragTopic.isDragTopic, 'dragTopic must be DragTopic instance');
|
||||
|
||||
mindplot.CentralTopicBoard.prototype._updateHeight = function()
|
||||
{
|
||||
// This node is a main topic node. Position
|
||||
var dragPos = dragTopic.getPosition();
|
||||
var board = this._getBoard(dragPos);
|
||||
|
||||
};
|
||||
// Look for entry ...
|
||||
var entry = board.lookupEntryByPosition(dragPos);
|
||||
|
||||
mindplot.CentralTopicBoard.prototype.positionateDragTopic = function(dragTopic)
|
||||
{
|
||||
core.assert(dragTopic != null, 'dragTopic can not be null');
|
||||
core.assert(dragTopic.isDragTopic, 'dragTopic must be DragTopic instance');
|
||||
// Calculate 'y' position base on the entry ...
|
||||
var yCoord;
|
||||
if (!entry.isAvailable() && entry.getTopic() != dragTopic.getDraggedTopic()) {
|
||||
yCoord = entry.getLowerLimit();
|
||||
} else {
|
||||
yCoord = entry.workoutEntryYCenter();
|
||||
}
|
||||
|
||||
// This node is a main topic node. Position
|
||||
var dragPos = dragTopic.getPosition();
|
||||
var board = this._getBoard(dragPos);
|
||||
|
||||
// Look for entry ...
|
||||
var entry = board.lookupEntryByPosition(dragPos);
|
||||
// MainTopic can not be positioned over the drag topic ...
|
||||
var centralTopic = this._centralTopic;
|
||||
var centralTopicSize = centralTopic.getSize();
|
||||
var halfWidth = (centralTopicSize.width / 2);
|
||||
if (Math.abs(dragPos.x) < halfWidth + 60) {
|
||||
var distance = halfWidth + 60;
|
||||
dragPos.x = (dragPos.x > 0) ? distance : -distance;
|
||||
}
|
||||
|
||||
// Calculate 'y' position base on the entry ...
|
||||
var yCoord;
|
||||
if (!entry.isAvailable() && entry.getTopic() != dragTopic.getDraggedTopic())
|
||||
{
|
||||
yCoord = entry.getLowerLimit();
|
||||
} else
|
||||
{
|
||||
yCoord = entry.workoutEntryYCenter();
|
||||
// Update board position.
|
||||
var pivotPos = new core.Point(dragPos.x, yCoord);
|
||||
dragTopic.setBoardPosition(pivotPos);
|
||||
},
|
||||
|
||||
|
||||
addBranch : function(topic) {
|
||||
// Update topic position ...
|
||||
var position = topic.getPosition();
|
||||
|
||||
var order = topic.getOrder();
|
||||
var board = this._getBoard(position);
|
||||
var entry = null;
|
||||
if (order != null) {
|
||||
entry = board.lookupEntryByOrder(order);
|
||||
} else {
|
||||
entry = board.lookupEntryByPosition(position);
|
||||
}
|
||||
|
||||
// If the entry is not available, I must swap the the entries...
|
||||
if (!entry.isAvailable()) {
|
||||
board.freeEntry(entry);
|
||||
}
|
||||
|
||||
// Add it to the board ...
|
||||
entry.setTopic(topic);
|
||||
board.update(entry);
|
||||
},
|
||||
|
||||
updateChildrenPosition : function(topic, xOffset, modifiedTopics) {
|
||||
var board = this._rightBoard;
|
||||
var oldReferencePosition = board.getReferencePoint();
|
||||
var newReferencePosition = new core.Point(oldReferencePosition.x + xOffset, oldReferencePosition.y);
|
||||
board.updateReferencePoint(newReferencePosition);
|
||||
|
||||
board = this._leftBoard;
|
||||
oldReferencePosition = board.getReferencePoint();
|
||||
newReferencePosition = new core.Point(oldReferencePosition.x - xOffset, oldReferencePosition.y);
|
||||
board.updateReferencePoint(newReferencePosition);
|
||||
},
|
||||
|
||||
repositionate : function() {
|
||||
//@todo: implement ..
|
||||
}
|
||||
|
||||
|
||||
// MainTopic can not be positioned over the drag topic ...
|
||||
var centralTopic = this._centralTopic;
|
||||
var centralTopicSize = centralTopic.getSize();
|
||||
var halfWidth = (centralTopicSize.width / 2);
|
||||
if (Math.abs(dragPos.x) < halfWidth + 60)
|
||||
{
|
||||
var distance = halfWidth + 60;
|
||||
dragPos.x = (dragPos.x > 0)? distance:-distance;
|
||||
}
|
||||
|
||||
// Update board position.
|
||||
var pivotPos = new core.Point(dragPos.x, yCoord);
|
||||
dragTopic.setBoardPosition(pivotPos);
|
||||
};
|
||||
|
||||
|
||||
mindplot.CentralTopicBoard.prototype.addBranch = function(topic)
|
||||
{
|
||||
// Update topic position ...
|
||||
var position = topic.getPosition();
|
||||
|
||||
var order = topic.getOrder();
|
||||
var board = this._getBoard(position);
|
||||
var entry = null;
|
||||
if (order != null)
|
||||
{
|
||||
entry = board.lookupEntryByOrder(order);
|
||||
} else
|
||||
{
|
||||
entry = board.lookupEntryByPosition(position);
|
||||
}
|
||||
|
||||
// If the entry is not available, I must swap the the entries...
|
||||
if (!entry.isAvailable())
|
||||
{
|
||||
board.freeEntry(entry);
|
||||
}
|
||||
|
||||
// Add it to the board ...
|
||||
entry.setTopic(topic);
|
||||
board.update(entry);
|
||||
};
|
||||
|
||||
mindplot.CentralTopicBoard.prototype.updateChildrenPosition = function(topic, xOffset, modifiedTopics)
|
||||
{
|
||||
var board = this._rightBoard;
|
||||
var oldReferencePosition = board.getReferencePoint();
|
||||
var newReferencePosition = new core.Point(oldReferencePosition.x + xOffset, oldReferencePosition.y);
|
||||
board.updateReferencePoint(newReferencePosition);
|
||||
|
||||
board = this._leftBoard;
|
||||
oldReferencePosition = board.getReferencePoint();
|
||||
newReferencePosition = new core.Point(oldReferencePosition.x - xOffset, oldReferencePosition.y);
|
||||
board.updateReferencePoint(newReferencePosition);
|
||||
};
|
||||
|
||||
mindplot.CentralTopicBoard.prototype.repositionate = function()
|
||||
{
|
||||
//@todo: implement ..
|
||||
};
|
||||
});
|
@ -250,7 +250,7 @@ mindplot.FixedDistanceBoard.prototype.removeTopic = function(topic)
|
||||
|
||||
entry.setTopic(null);
|
||||
topic.setOrder(null);
|
||||
this._entries.remove(entry);
|
||||
this._entries.erase(entry);
|
||||
|
||||
// Repositionate all elements ...
|
||||
this.repositionate();
|
||||
|
@ -132,7 +132,7 @@ mindplot.IconGroup.prototype.findIconFromModel=function(iconModel){
|
||||
|
||||
mindplot.IconGroup.prototype._removeIcon = function(icon) {
|
||||
var nativeImage = icon.getImage();
|
||||
this.options.icons.remove(icon);
|
||||
this.options.icons.erase(icon);
|
||||
var iconSize = nativeImage.getSize();
|
||||
var size = this.options.nativeElem.getSize();
|
||||
var position = nativeImage.getPosition();
|
||||
|
@ -1,142 +1,130 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.MainTopicBoard = function(topic, layoutManager)
|
||||
{
|
||||
this._layoutManager = layoutManager;
|
||||
this._topic = topic;
|
||||
this._board = null;
|
||||
this._height = 0;
|
||||
};
|
||||
mindplot.MainTopicBoard = new Class({
|
||||
Extends:mindplot.Board,
|
||||
initialize:function(topic, layoutManager) {
|
||||
this._layoutManager = layoutManager;
|
||||
this._topic = topic;
|
||||
this._board = null;
|
||||
this._height = 0;
|
||||
},
|
||||
|
||||
objects.extend(mindplot.MainTopicBoard, mindplot.Board);
|
||||
|
||||
_getBoard: function() {
|
||||
if (!core.Utils.isDefined(this._board)) {
|
||||
var topic = this._topic;
|
||||
this._board = new mindplot.FixedDistanceBoard(mindplot.MainTopicBoard.DEFAULT_MAIN_TOPIC_HEIGHT, topic, this._layoutManager);
|
||||
}
|
||||
return this._board;
|
||||
},
|
||||
|
||||
updateReferencePoint : function(position) {
|
||||
this._board.updateReferencePoint(position);
|
||||
},
|
||||
|
||||
updateChildrenPosition : function(topic) {
|
||||
var board = this._getBoard();
|
||||
board.updateReferencePoint();
|
||||
},
|
||||
|
||||
positionateDragTopic : function(dragTopic) {
|
||||
core.assert(dragTopic != null, 'dragTopic can not be null');
|
||||
core.assert(dragTopic.isDragTopic, 'dragTopic must be DragTopic instance');
|
||||
|
||||
// This node is a main topic node. Position
|
||||
var dragPos = dragTopic.getPosition();
|
||||
var board = this._getBoard();
|
||||
|
||||
// Look for entry ...
|
||||
var entry = board.lookupEntryByPosition(dragPos);
|
||||
|
||||
// Calculate 'y' position base on the entry ...
|
||||
var yCoord;
|
||||
if (!entry.isAvailable() && entry.getTopic() != dragTopic.getDraggedTopic()) {
|
||||
yCoord = entry.getLowerLimit();
|
||||
} else {
|
||||
yCoord = entry.workoutEntryYCenter();
|
||||
}
|
||||
|
||||
// Update board position.
|
||||
var targetTopic = dragTopic.getConnectedToTopic();
|
||||
var xCoord = this._workoutXBorderDistance(targetTopic);
|
||||
|
||||
// Add the size of the pivot to the distance ...
|
||||
var halfPivotWidth = mindplot.DragTopic.PIVOT_SIZE.width / 2;
|
||||
xCoord = xCoord + ((dragPos.x > 0) ? halfPivotWidth : -halfPivotWidth);
|
||||
|
||||
var pivotPos = new core.Point(xCoord, yCoord);
|
||||
dragTopic.setBoardPosition(pivotPos);
|
||||
|
||||
var order = entry.getOrder();
|
||||
dragTopic.setOrder(order);
|
||||
}
|
||||
,
|
||||
|
||||
/**
|
||||
* This x distance doesn't take into account the size of the shape.
|
||||
*/
|
||||
_workoutXBorderDistance : function(topic) {
|
||||
core.assert(topic, 'topic can not be null');
|
||||
var board = this._getBoard();
|
||||
return board.workoutXBorderDistance(topic);
|
||||
},
|
||||
|
||||
addBranch : function(topic) {
|
||||
var order = topic.getOrder();
|
||||
core.assert(core.Utils.isDefined(order), "Order must be defined");
|
||||
|
||||
// If the entry is not available, I must swap the the entries...
|
||||
var board = this._getBoard();
|
||||
var entry = board.lookupEntryByOrder(order);
|
||||
if (!entry.isAvailable()) {
|
||||
board.freeEntry(entry);
|
||||
}
|
||||
|
||||
// Add the topic to the board ...
|
||||
board.addTopic(order, topic);
|
||||
|
||||
// Repositionate all the parent topics ...
|
||||
var currentTopic = this._topic;
|
||||
if (currentTopic.getOutgoingConnectedTopic()) {
|
||||
var parentTopic = currentTopic.getOutgoingConnectedTopic();
|
||||
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeRepositionateEvent, [parentTopic]);
|
||||
}
|
||||
},
|
||||
|
||||
repositionate : function() {
|
||||
var board = this._getBoard();
|
||||
board.repositionate();
|
||||
},
|
||||
|
||||
removeTopicFromBoard : function(topic) {
|
||||
var board = this._getBoard();
|
||||
board.removeTopic(topic);
|
||||
|
||||
// Repositionate all the parent topics ...
|
||||
var parentTopic = this._topic;
|
||||
if (parentTopic.getOutgoingConnectedTopic()) {
|
||||
var connectedTopic = parentTopic.getOutgoingConnectedTopic();
|
||||
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeRepositionateEvent, [connectedTopic]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mindplot.MainTopicBoard.DEFAULT_MAIN_TOPIC_HEIGHT = 18;
|
||||
|
||||
mindplot.MainTopicBoard.prototype._getBoard = function()
|
||||
{
|
||||
if (!core.Utils.isDefined(this._board))
|
||||
{
|
||||
var topic = this._topic;
|
||||
this._board = new mindplot.FixedDistanceBoard(mindplot.MainTopicBoard.DEFAULT_MAIN_TOPIC_HEIGHT, topic, this._layoutManager);
|
||||
}
|
||||
return this._board;
|
||||
};
|
||||
|
||||
mindplot.MainTopicBoard.prototype.updateReferencePoint = function(position)
|
||||
{
|
||||
this._board.updateReferencePoint(position);
|
||||
};
|
||||
|
||||
mindplot.MainTopicBoard.prototype.updateChildrenPosition = function(topic)
|
||||
{
|
||||
var board = this._getBoard();
|
||||
board.updateReferencePoint();
|
||||
};
|
||||
|
||||
mindplot.MainTopicBoard.prototype.positionateDragTopic = function(dragTopic)
|
||||
{
|
||||
core.assert(dragTopic != null, 'dragTopic can not be null');
|
||||
core.assert(dragTopic.isDragTopic, 'dragTopic must be DragTopic instance');
|
||||
|
||||
// This node is a main topic node. Position
|
||||
var dragPos = dragTopic.getPosition();
|
||||
var board = this._getBoard();
|
||||
|
||||
// Look for entry ...
|
||||
var entry = board.lookupEntryByPosition(dragPos);
|
||||
|
||||
// Calculate 'y' position base on the entry ...
|
||||
var yCoord;
|
||||
if (!entry.isAvailable() && entry.getTopic() != dragTopic.getDraggedTopic())
|
||||
{
|
||||
yCoord = entry.getLowerLimit();
|
||||
} else
|
||||
{
|
||||
yCoord = entry.workoutEntryYCenter();
|
||||
}
|
||||
|
||||
// Update board position.
|
||||
var targetTopic = dragTopic.getConnectedToTopic();
|
||||
var xCoord = this._workoutXBorderDistance(targetTopic);
|
||||
|
||||
// Add the size of the pivot to the distance ...
|
||||
var halfPivotWidth = mindplot.DragTopic.PIVOT_SIZE.width / 2;
|
||||
xCoord = xCoord + ((dragPos.x > 0) ? halfPivotWidth : -halfPivotWidth);
|
||||
|
||||
var pivotPos = new core.Point(xCoord, yCoord);
|
||||
dragTopic.setBoardPosition(pivotPos);
|
||||
|
||||
var order = entry.getOrder();
|
||||
dragTopic.setOrder(order);
|
||||
};
|
||||
|
||||
/**
|
||||
* This x distance does't take into account the size of the shape.
|
||||
*/
|
||||
mindplot.MainTopicBoard.prototype._workoutXBorderDistance = function(topic)
|
||||
{
|
||||
core.assert(topic, 'topic can not be null');
|
||||
var board = this._getBoard();
|
||||
return board.workoutXBorderDistance(topic);
|
||||
};
|
||||
|
||||
mindplot.MainTopicBoard.prototype.addBranch = function(topic)
|
||||
{
|
||||
var order = topic.getOrder();
|
||||
core.assert(core.Utils.isDefined(order), "Order must be defined");
|
||||
|
||||
// If the entry is not available, I must swap the the entries...
|
||||
var board = this._getBoard();
|
||||
var entry = board.lookupEntryByOrder(order);
|
||||
if (!entry.isAvailable())
|
||||
{
|
||||
board.freeEntry(entry);
|
||||
}
|
||||
|
||||
// Add the topic to the board ...
|
||||
board.addTopic(order, topic);
|
||||
|
||||
// Repositionate all the parent topics ...
|
||||
var currentTopic = this._topic;
|
||||
if (currentTopic.getOutgoingConnectedTopic())
|
||||
{
|
||||
var parentTopic = currentTopic.getOutgoingConnectedTopic();
|
||||
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeRepositionateEvent,[parentTopic]);
|
||||
}
|
||||
};
|
||||
|
||||
mindplot.MainTopicBoard.prototype.repositionate = function()
|
||||
{
|
||||
var board = this._getBoard();
|
||||
board.repositionate();
|
||||
};
|
||||
|
||||
mindplot.MainTopicBoard.prototype.removeTopicFromBoard = function(topic)
|
||||
{
|
||||
var board = this._getBoard();
|
||||
board.removeTopic(topic);
|
||||
|
||||
// Repositionate all the parent topics ...
|
||||
var parentTopic = this._topic;
|
||||
if (parentTopic.getOutgoingConnectedTopic())
|
||||
{
|
||||
var connectedTopic = parentTopic.getOutgoingConnectedTopic();
|
||||
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeRepositionateEvent,[connectedTopic]);
|
||||
}
|
||||
};
|
@ -94,7 +94,7 @@ mindplot.Mindmap.prototype.connect = function(parent, child)
|
||||
parent._appendChild(child);
|
||||
|
||||
// Remove from the branch ...
|
||||
branches.remove(child);
|
||||
branches.erase(child);
|
||||
};
|
||||
|
||||
mindplot.Mindmap.prototype.disconnect = function(child)
|
||||
@ -151,7 +151,7 @@ mindplot.Mindmap.prototype.addRelationship = function(relationship) {
|
||||
};
|
||||
|
||||
mindplot.Mindmap.prototype.removeRelationship = function(relationship) {
|
||||
this._relationships.remove(relationship);
|
||||
this._relationships.erase(relationship);
|
||||
};
|
||||
|
||||
mindplot.Mindmap.prototype.inspect = function()
|
||||
|
@ -41,8 +41,9 @@ mindplot.MindmapDesigner = function(profile, divElement)
|
||||
|
||||
// Init layout managers ...
|
||||
this._topics = [];
|
||||
var layoutManagerClass = mindplot.layoutManagers.LayoutManagerFactory.getManagerByName(mindplot.EditorOptions.LayoutManager);
|
||||
this._layoutManager = new layoutManagerClass(this);
|
||||
// var layoutManagerClass = mindplot.layoutManagers.LayoutManagerFactory.getManagerByName(mindplot.EditorOptions.LayoutManager);
|
||||
// this._layoutManager = new layoutManagerClass(this);
|
||||
this._layoutManager = new mindplot.layoutManagers.OriginalLayoutManager(this);
|
||||
|
||||
// Register handlers..
|
||||
this._registerEvents();
|
||||
@ -591,7 +592,7 @@ mindplot.MindmapDesigner.prototype._removeNode = function(node)
|
||||
}
|
||||
|
||||
this._workspace.removeChild(node);
|
||||
this._topics.remove(node);
|
||||
this._topics.erase(node);
|
||||
|
||||
// Delete this node from the model...
|
||||
var model = node.getModel();
|
||||
|
@ -147,7 +147,7 @@ mindplot.NodeModel.prototype.addLink = function(link)
|
||||
mindplot.NodeModel.prototype._removeLink = function(link)
|
||||
{
|
||||
core.assert(link && link.isLinkModel(), 'Only LinkModel can be appended to Mindmap object as links');
|
||||
this._links.remove(link);
|
||||
this._links.erase(link);
|
||||
};
|
||||
|
||||
mindplot.NodeModel.prototype.createNote = function(text)
|
||||
@ -165,7 +165,7 @@ mindplot.NodeModel.prototype.addNote = function(note)
|
||||
mindplot.NodeModel.prototype._removeNote = function(note)
|
||||
{
|
||||
core.assert(note && note.isNoteModel(), 'Only NoteModel can be appended to Mindmap object as links');
|
||||
this._notes.remove(note);
|
||||
this._notes.erase(note);
|
||||
};
|
||||
|
||||
mindplot.NodeModel.prototype.createIcon = function(iconType)
|
||||
@ -183,7 +183,7 @@ mindplot.NodeModel.prototype.addIcon = function(icon)
|
||||
mindplot.NodeModel.prototype._removeIcon = function(icon)
|
||||
{
|
||||
core.assert(icon && icon.isIconModel(), 'Only IconModel can be appended to Mindmap object as icons');
|
||||
this._icons.remove(icon);
|
||||
this._icons.erase(icon);
|
||||
};
|
||||
|
||||
mindplot.NodeModel.prototype.removeLastIcon = function()
|
||||
@ -201,7 +201,7 @@ mindplot.NodeModel.prototype._appendChild = function(child)
|
||||
mindplot.NodeModel.prototype._removeChild = function(child)
|
||||
{
|
||||
core.assert(child && child.isNodeModel(), 'Only NodeModel can be appended to Mindmap object.');
|
||||
this._children.remove(child);
|
||||
this._children.erase(child);
|
||||
child._parent = null;
|
||||
};
|
||||
|
||||
@ -497,7 +497,7 @@ mindplot.NodeModel.prototype.deleteNode = function()
|
||||
|
||||
// It's an isolated node. It must be a hole branch ...
|
||||
var branches = mindmap.getBranches();
|
||||
branches.remove(this);
|
||||
branches.erase(this);
|
||||
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@ mindplot.PersistanceManager.save = function(mindmap, editorProperties, onSavedHa
|
||||
var xmlMap = serializer.toXML(mindmap);
|
||||
var xmlMapStr = core.Utils.innerXML(xmlMap);
|
||||
|
||||
var pref = Json.toString(editorProperties);
|
||||
var pref = JSON.toString(editorProperties);
|
||||
window.MapEditorService.saveMap(mapId, xmlMapStr, pref,saveHistory,
|
||||
{
|
||||
callback:function(response) {
|
||||
|
@ -24,17 +24,13 @@ mindplot.RichTextEditor = mindplot.TextEditor.extend({
|
||||
//Create editor ui
|
||||
this._size = {width:440, height:200};
|
||||
this._myOverlay = new Element('div').setStyles({position:"absolute", display: "none", zIndex: "8", top: "50%", left:"50%", marginLeft:"-200px", marginTop:"-90px", width:"400px", height:"180px"});
|
||||
var inputContainer = new Element('div').setStyles({border:"none", overflow:"auto"}).injectInside(this._myOverlay);
|
||||
this.inputText = new Element('textarea').setProperties({tabindex:'-1', id:"inputText2", value:""}).setStyles({width:"398px", height:"175px", border:"none", background:"transparent"}).injectInside(inputContainer);
|
||||
/*var spanContainer = new Element('div').setStyle('visibility', "hidden").injectInside(this._myOverlay);
|
||||
this._spanText = new Element('span').setProperties({id: "spanText2", tabindex:"-1"}).setStyle('white-space', "nowrap").setStyle('nowrap', 'nowrap').injectInside(spanContainer);
|
||||
*/this._myOverlay.injectInside(this._screenManager.getContainer());
|
||||
var inputContainer = new Element('div').setStyles({border:"none", overflow:"auto"}).inject(this._myOverlay);
|
||||
this.inputText = new Element('textarea').setProperties({tabindex:'-1', id:"inputText2", value:""}).setStyles({width:"398px", height:"175px", border:"none", background:"transparent"}).inject(inputContainer);
|
||||
this._myOverlay.inject(this._screenManager.getContainer());
|
||||
this._editorNode = new web2d.Rect(0.3,mindplot.Topic.OUTER_SHAPE_ATTRIBUTES);
|
||||
this._editorNode.setSize(50,20);
|
||||
this._editorNode.setVisibility(false);
|
||||
this._designer.getWorkSpace().appendChild(this._editorNode);
|
||||
|
||||
// $(this.inputText).setStyle('display','block');
|
||||
this._addListeners();
|
||||
},
|
||||
_addListeners:function(){
|
||||
|
@ -1,135 +1,117 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.ShirinkConnector = function(topic)
|
||||
{
|
||||
var elipse = new web2d.Elipse(mindplot.Topic.prototype.INNER_RECT_ATTRIBUTES);
|
||||
this._elipse = elipse;
|
||||
elipse.setFill('#f7f7f7');
|
||||
mindplot.ShirinkConnector = new Class({
|
||||
initialize: function(topic) {
|
||||
|
||||
elipse.setSize(mindplot.Topic.CONNECTOR_WIDTH, mindplot.Topic.CONNECTOR_WIDTH);
|
||||
var shrinkConnector = this;
|
||||
elipse.addEventListener('click', function(event)
|
||||
{
|
||||
var elipse = new web2d.Elipse(mindplot.Topic.prototype.INNER_RECT_ATTRIBUTES);
|
||||
this._elipse = elipse;
|
||||
elipse.setFill('#f7f7f7');
|
||||
|
||||
elipse.setSize(mindplot.Topic.CONNECTOR_WIDTH, mindplot.Topic.CONNECTOR_WIDTH);
|
||||
elipse.addEventListener('click', function(event) {
|
||||
var model = topic.getModel();
|
||||
var isShrink = !model.areChildrenShrinked();
|
||||
|
||||
var actionRunner = mindplot.DesignerActionRunner.getInstance();
|
||||
var topicId = topic.getId();
|
||||
|
||||
var commandFunc = function(topic, isShrink) {
|
||||
topic.setChildrenShrinked(isShrink);
|
||||
return !isShrink;
|
||||
};
|
||||
|
||||
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, isShrink, [topicId]);
|
||||
actionRunner.execute(command);
|
||||
|
||||
var e = new Event(event).stop();
|
||||
e.preventDefault();
|
||||
|
||||
});
|
||||
|
||||
elipse.addEventListener('mousedown', function(event) {
|
||||
// Avoid node creation ...
|
||||
var e = new Event(event).stop();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
elipse.addEventListener('dblclick', function(event) {
|
||||
// Avoid node creation ...
|
||||
event = new Event(event).stop();
|
||||
event.preventDefault();
|
||||
|
||||
});
|
||||
|
||||
elipse.addEventListener('mouseover', function(event) {
|
||||
this.setFill('#009900');
|
||||
});
|
||||
|
||||
elipse.addEventListener('mouseout', function(event) {
|
||||
var color = topic.getBackgroundColor();
|
||||
this.setFill(color);
|
||||
});
|
||||
|
||||
elipse.setCursor('default');
|
||||
this._fillColor = '#f7f7f7';
|
||||
var model = topic.getModel();
|
||||
var isShrink = !model.areChildrenShrinked();
|
||||
this.changeRender(model.areChildrenShrinked());
|
||||
|
||||
var actionRunner = mindplot.DesignerActionRunner.getInstance();
|
||||
var topicId = topic.getId();
|
||||
},
|
||||
changeRender: function(isShrink) {
|
||||
var elipse = this._elipse;
|
||||
if (isShrink) {
|
||||
elipse.setStroke('2', 'solid');
|
||||
} else {
|
||||
elipse.setStroke('1', 'solid');
|
||||
}
|
||||
},
|
||||
|
||||
var commandFunc = function(topic, isShrink)
|
||||
{
|
||||
topic.setChildrenShrinked(isShrink);
|
||||
return !isShrink;
|
||||
};
|
||||
setVisibility: function(value) {
|
||||
this._elipse.setVisibility(value);
|
||||
},
|
||||
|
||||
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, isShrink, [topicId]);
|
||||
actionRunner.execute(command);
|
||||
setOpacity: function(opacity) {
|
||||
this._elipse.setOpacity(opacity);
|
||||
},
|
||||
|
||||
var event = new Event(event).stop();
|
||||
event.preventDefault();
|
||||
setFill: function(color) {
|
||||
this._fillColor = color;
|
||||
this._elipse.setFill(color);
|
||||
},
|
||||
|
||||
});
|
||||
setAttribute: function(name, value) {
|
||||
this._elipse.setAttribute(name, value);
|
||||
},
|
||||
|
||||
elipse.addEventListener('mousedown', function(event)
|
||||
{
|
||||
// Avoid node creation ...
|
||||
var event = new Event(event).stop();
|
||||
event.preventDefault();
|
||||
});
|
||||
addToWorkspace: function(group) {
|
||||
group.appendChild(this._elipse);
|
||||
},
|
||||
|
||||
elipse.addEventListener('dblclick', function(event)
|
||||
{
|
||||
// Avoid node creation ...
|
||||
event = new Event(event).stop();
|
||||
event.preventDefault();
|
||||
|
||||
});
|
||||
setPosition: function(x, y) {
|
||||
this._elipse.setPosition(x, y);
|
||||
},
|
||||
|
||||
elipse.addEventListener('mouseover', function(event)
|
||||
{
|
||||
this.setFill('#009900');
|
||||
});
|
||||
moveToBack: function() {
|
||||
this._elipse.moveToBack();
|
||||
},
|
||||
|
||||
elipse.addEventListener('mouseout', function(event)
|
||||
{
|
||||
var color = topic.getBackgroundColor();
|
||||
this.setFill(color);
|
||||
});
|
||||
|
||||
elipse.setCursor('default');
|
||||
this._fillColor = '#f7f7f7';
|
||||
var model = topic.getModel();
|
||||
this.changeRender(model.areChildrenShrinked());
|
||||
|
||||
};
|
||||
|
||||
mindplot.ShirinkConnector.prototype.changeRender = function(isShrink)
|
||||
{
|
||||
var elipse = this._elipse;
|
||||
if (isShrink)
|
||||
{
|
||||
elipse.setStroke('2', 'solid');
|
||||
} else
|
||||
{
|
||||
elipse.setStroke('1', 'solid');
|
||||
moveToFront: function() {
|
||||
this._elipse.moveToFront();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mindplot.ShirinkConnector.prototype.setVisibility = function(value)
|
||||
{
|
||||
this._elipse.setVisibility(value);
|
||||
}
|
||||
|
||||
mindplot.ShirinkConnector.prototype.setOpacity = function(opacity)
|
||||
{
|
||||
this._elipse.setOpacity(opacity);
|
||||
}
|
||||
|
||||
mindplot.ShirinkConnector.prototype.setFill = function(color)
|
||||
{
|
||||
this._fillColor = color;
|
||||
this._elipse.setFill(color);
|
||||
}
|
||||
|
||||
mindplot.ShirinkConnector.prototype.setAttribute = function(name, value)
|
||||
{
|
||||
this._elipse.setAttribute(name, value);
|
||||
}
|
||||
|
||||
mindplot.ShirinkConnector.prototype.addToWorkspace = function(group)
|
||||
{
|
||||
group.appendChild(this._elipse);
|
||||
}
|
||||
|
||||
|
||||
mindplot.ShirinkConnector.prototype.setPosition = function(x, y)
|
||||
{
|
||||
this._elipse.setPosition(x, y);
|
||||
}
|
||||
|
||||
mindplot.ShirinkConnector.prototype.moveToBack = function()
|
||||
{
|
||||
this._elipse.moveToBack();
|
||||
}
|
||||
|
||||
mindplot.ShirinkConnector.prototype.moveToFront = function()
|
||||
{
|
||||
this._elipse.moveToFront();
|
||||
}
|
||||
});
|
53
mindplot/src/main/javascript/SingleCommandDispatcher.js
Normal file
53
mindplot/src/main/javascript/SingleCommandDispatcher.js
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.SingleCommandDispatcher = new Class({
|
||||
Extends:mindplot.BaseCommandDispatcher,
|
||||
initialize: function()
|
||||
{
|
||||
|
||||
},
|
||||
addIconToTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},
|
||||
addLinkToTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},
|
||||
addNoteToTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},addRelationship: function() {
|
||||
throw "method must be implemented.";
|
||||
},addTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},changeIcon: function() {
|
||||
throw "method must be implemented.";
|
||||
},deleteTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},dragTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},moveControllPoint: function() {
|
||||
throw "method must be implemented.";
|
||||
} ,removeIconFromTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},removeLinkFromTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
},removeNodeFromTopic: function() {
|
||||
throw "method must be implemented.";
|
||||
}
|
||||
});
|
||||
|
@ -34,11 +34,11 @@ mindplot.TextEditor = new Class({
|
||||
_createUI:function(){
|
||||
this._size = {width:500, height:100};
|
||||
this._myOverlay = new Element('div').setStyles({position:"absolute", display: "none", zIndex: "8", top: 0, left:0, width:"500px", height:"100px"});
|
||||
var inputContainer = new Element('div').setStyles({border:"none", overflow:"auto"}).injectInside(this._myOverlay);
|
||||
this.inputText = new Element('input').setProperties({type:"text", tabindex:'-1', id:"inputText", value:""}).setStyles({border:"none", background:"transparent"}).injectInside(inputContainer);
|
||||
var spanContainer = new Element('div').setStyle('visibility', "hidden").injectInside(this._myOverlay);
|
||||
this._spanText = new Element('span').setProperties({id: "spanText", tabindex:"-1"}).setStyle('white-space', "nowrap").setStyle('nowrap', 'nowrap').injectInside(spanContainer);
|
||||
this._myOverlay.injectInside(this._container);
|
||||
var inputContainer = new Element('div').setStyles({border:"none", overflow:"auto"}).inject(this._myOverlay);
|
||||
this.inputText = new Element('input').setProperties({type:"text", tabindex:'-1', id:"inputText", value:""}).setStyles({border:"none", background:"transparent"}).inject(inputContainer);
|
||||
var spanContainer = new Element('div').setStyle('visibility', "hidden").inject(this._myOverlay);
|
||||
this._spanText = new Element('span').setProperties({id: "spanText", tabindex:"-1"}).setStyle('white-space', "nowrap").setStyle('nowrap', 'nowrap').inject(spanContainer);
|
||||
this._myOverlay.inject(this._container);
|
||||
},
|
||||
_addListeners:function(){
|
||||
var elem = this;
|
||||
@ -101,7 +101,7 @@ mindplot.TextEditor = new Class({
|
||||
|
||||
setTimeout("$('ffoxWorkarroundInput').focus();", 0);
|
||||
};
|
||||
this.fx = new Fx.Style(this.inputText, 'opacity', { duration: 10});
|
||||
this.fx = new Fx.Morph(this.inputText, 'opacity', { duration: 10});
|
||||
this.fx.addEvent('onComplete', onComplete.bind(this));
|
||||
},
|
||||
lostFocusEvent : function ()
|
||||
|
@ -104,7 +104,7 @@ mindplot.Tip.prototype.forceClose=function(){
|
||||
this.options.panel.effect('opacity',{duration:100, onComplete:function(){
|
||||
this._open=false;
|
||||
$(this.options.panel).setStyles({left:0,top:0});
|
||||
$(this.options.container).remove();
|
||||
$(this.options.container).dispose();
|
||||
}.bind(this)}).start(100,0);
|
||||
};
|
||||
|
||||
@ -120,7 +120,7 @@ mindplot.Tip.prototype.init=function(event,source){
|
||||
var screenWidth = containerCoords.width;
|
||||
var screenHeight = containerCoords.height;
|
||||
|
||||
$(this.options.panel).remove();
|
||||
$(this.options.panel).dispose();
|
||||
this.buildTip();
|
||||
$(this.options.container).inject(this.options.panel);
|
||||
this.moveTopic(offset, $(opts.panel).getCoordinates().height);
|
||||
|
@ -431,7 +431,7 @@ mindplot.Topic.prototype.addRelationship = function(relationship){
|
||||
};
|
||||
|
||||
mindplot.Topic.prototype.removeRelationship = function(relationship){
|
||||
this._relationships.remove(relationship);
|
||||
this._relationships.erase(relationship);
|
||||
};
|
||||
|
||||
mindplot.Topic.prototype.getRelationships = function(){
|
||||
@ -1303,7 +1303,7 @@ mindplot.Topic.prototype._appendChild = function(child)
|
||||
mindplot.Topic.prototype._removeChild = function(child)
|
||||
{
|
||||
var children = this._getChildren();
|
||||
children.remove(child);
|
||||
children.erase(child);
|
||||
};
|
||||
|
||||
mindplot.Topic.prototype._getChildren = function()
|
||||
|
@ -1,52 +1,53 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.Board = function()
|
||||
{
|
||||
this._height = null;
|
||||
};
|
||||
//@Todo: Por que lo cambiaste a Board ?
|
||||
mindplot.TopicBoard = new Class({
|
||||
|
||||
mindplot.Board.prototype._removeEntryByOrder = function(order, position)
|
||||
{
|
||||
var board = this._getBoard(position);
|
||||
var entry = board.lookupEntryByOrder(order);
|
||||
initialize: function() {
|
||||
this._height = null;
|
||||
},
|
||||
|
||||
core.assert(!entry.isAvailable(), 'Entry must not be available in order to be removed.Entry Order:' + order);
|
||||
entry.removeTopic();
|
||||
board.update(entry);
|
||||
};
|
||||
_removeEntryByOrder : function(order, position) {
|
||||
var board = this._getBoard(position);
|
||||
var entry = board.lookupEntryByOrder(order);
|
||||
|
||||
mindplot.Board.prototype.removeTopicFromBoard = function(topic)
|
||||
{
|
||||
var position = topic.getPosition();
|
||||
var order = topic.getOrder();
|
||||
core.assert(!entry.isAvailable(), 'Entry must not be available in order to be removed.Entry Order:' + order);
|
||||
entry.removeTopic();
|
||||
board.update(entry);
|
||||
},
|
||||
|
||||
this._removeEntryByOrder(order, position);
|
||||
topic.setOrder(null);
|
||||
};
|
||||
removeTopicFromBoard : function(topic) {
|
||||
var position = topic.getPosition();
|
||||
var order = topic.getOrder();
|
||||
|
||||
mindplot.Board.prototype.positionateDragTopic = function(dragTopic)
|
||||
{
|
||||
throw "this method must be overrided";
|
||||
};
|
||||
this._removeEntryByOrder(order, position);
|
||||
topic.setOrder(null);
|
||||
},
|
||||
|
||||
positionateDragTopic :function(dragTopic) {
|
||||
throw "this method must be overrided";
|
||||
},
|
||||
|
||||
getHeight: function() {
|
||||
var board = this._getBoard();
|
||||
return board.getHeight();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mindplot.Board.prototype.getHeight = function()
|
||||
{
|
||||
var board = this._getBoard();
|
||||
return board.getHeight();
|
||||
};
|
@ -1,295 +1,213 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.VariableDistanceBoard = function(defaultHeight, referencePoint)
|
||||
{
|
||||
mindplot.VariableDistanceBoard.superClass.initialize.call(this, defaultHeight, referencePoint);
|
||||
mindplot.VariableDistanceBoard = new Class({
|
||||
Extends: mindplot.Board,
|
||||
initialize: function(defaultHeight, referencePoint) {
|
||||
this.parent(defaultHeight, referencePoint);
|
||||
var zeroEntryCoordinate = referencePoint.y;
|
||||
var entry = this.createBoardEntry(zeroEntryCoordinate - (defaultHeight / 2), zeroEntryCoordinate + (defaultHeight / 2), 0);
|
||||
this._entries.set(0, entry);
|
||||
},
|
||||
|
||||
var zeroEntryCoordinate = referencePoint.y;
|
||||
var entry = this.createBoardEntry(zeroEntryCoordinate - (defaultHeight / 2), zeroEntryCoordinate + (defaultHeight / 2), 0);
|
||||
this._entries.set(0, entry);
|
||||
};
|
||||
lookupEntryByOrder:function(order) {
|
||||
var entries = this._entries;
|
||||
var index = this._orderToIndex(order);
|
||||
|
||||
var result = entries.get(index);
|
||||
if (!core.Utils.isDefined(result)) {
|
||||
// I've not found a entry. I have to create a new one.
|
||||
var i = 1;
|
||||
var zeroEntry = entries.get(0);
|
||||
var distance = zeroEntry.getWidth() / 2;
|
||||
var indexSign = Math.sign(index);
|
||||
var absIndex = Math.abs(index);
|
||||
while (i < absIndex) {
|
||||
// Move to the next entry ...
|
||||
var entry = entries.get(i, indexSign);
|
||||
if (entry != null) {
|
||||
distance += entry.getWidth();
|
||||
} else {
|
||||
distance += this._defaultWidth;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
objects.extend(mindplot.VariableDistanceBoard, mindplot.Board);
|
||||
// Calculate limits ...
|
||||
var upperLimit = -1;
|
||||
var lowerLimit = -1;
|
||||
var offset = zeroEntry.workoutEntryYCenter();
|
||||
if (index >= 0) {
|
||||
lowerLimit = offset + distance;
|
||||
upperLimit = lowerLimit + this._defaultWidth;
|
||||
} else {
|
||||
upperLimit = offset - distance;
|
||||
lowerLimit = upperLimit - this._defaultWidth;
|
||||
}
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.lookupEntryByOrder = function(order)
|
||||
{
|
||||
var entries = this._entries;
|
||||
var index = this._orderToIndex(order);
|
||||
result = this.createBoardEntry(lowerLimit, upperLimit, order);
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
var result = entries.get(index);
|
||||
if (!core.Utils.isDefined(result))
|
||||
{
|
||||
// I've not found a entry. I have to create a new one.
|
||||
var i = 1;
|
||||
var zeroEntry = entries.get(0);
|
||||
var distance = zeroEntry.getWidth() / 2;
|
||||
var indexSign = Math.sign(index);
|
||||
var absIndex = Math.abs(index);
|
||||
while (i < absIndex)
|
||||
{
|
||||
// Move to the next entry ...
|
||||
var width;
|
||||
var entry = entries.get(i, indexSign);
|
||||
if (entry != null)
|
||||
{
|
||||
distance += entry.getWidth();
|
||||
} else
|
||||
{
|
||||
distance += this._defaultWidth;
|
||||
createBoardEntry:function(lowerLimit, upperLimit, order) {
|
||||
return new mindplot.BoardEntry(lowerLimit, upperLimit, order);
|
||||
},
|
||||
|
||||
updateReferencePoint:function(position) {
|
||||
var entries = this._entries;
|
||||
var referencePoint = this._referencePoint;
|
||||
|
||||
// Update zero entry current position.
|
||||
this._referencePoint = position.clone();
|
||||
var yOffset = position.y - referencePoint.y;
|
||||
|
||||
var i = -entries.lowerLength();
|
||||
for (; i <= entries.length(1); i++) {
|
||||
var entry = entries.get(i);
|
||||
if (entry != null) {
|
||||
var upperLimit = entry.getUpperLimit() + yOffset;
|
||||
var lowerLimit = entry.getLowerLimit() + yOffset;
|
||||
entry.setUpperLimit(upperLimit);
|
||||
entry.setLowerLimit(lowerLimit);
|
||||
|
||||
// Update topic position ...
|
||||
if (!entry.isAvailable()) {
|
||||
var topic = entry.getTopic();
|
||||
var topicPosition = topic.getPosition();
|
||||
topicPosition.y = topicPosition.y + yOffset;
|
||||
|
||||
// MainTopicToCentral must be positioned based on the referencePoint.
|
||||
var xOffset = position.x - referencePoint.x;
|
||||
topicPosition.x = topicPosition.x + xOffset;
|
||||
|
||||
topic.setPosition(topicPosition);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
lookupEntryByPosition:function(pos) {
|
||||
core.assert(core.Utils.isDefined(pos), 'position can not be null');
|
||||
var entries = this._entries;
|
||||
var zeroEntry = entries.get(0);
|
||||
if (zeroEntry.isCoordinateIn(pos.y)) {
|
||||
return zeroEntry;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
// Caculate limits ...
|
||||
var upperLimit = -1;
|
||||
var lowerLimit = -1;
|
||||
var offset = zeroEntry.workoutEntryYCenter();
|
||||
if (index >= 0)
|
||||
{
|
||||
lowerLimit = offset + distance;
|
||||
upperLimit = lowerLimit + this._defaultWidth;
|
||||
} else
|
||||
{
|
||||
upperLimit = offset - distance;
|
||||
lowerLimit = upperLimit - this._defaultWidth;
|
||||
}
|
||||
|
||||
result = this.createBoardEntry(lowerLimit, upperLimit, order);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.createBoardEntry = function(lowerLimit, upperLimit, order)
|
||||
{
|
||||
return new mindplot.BoardEntry(lowerLimit, upperLimit, order);
|
||||
};
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.updateReferencePoint = function(position)
|
||||
{
|
||||
var entries = this._entries;
|
||||
var referencePoint = this._referencePoint;
|
||||
|
||||
// Update zero entry current position.
|
||||
this._referencePoint = position.clone();
|
||||
var yOffset = position.y - referencePoint.y;
|
||||
|
||||
var i = -entries.lowerLength();
|
||||
for (; i <= entries.length(1); i++)
|
||||
{
|
||||
var entry = entries.get(i);
|
||||
if (entry != null)
|
||||
{
|
||||
var upperLimit = entry.getUpperLimit() + yOffset;
|
||||
var lowerLimit = entry.getLowerLimit() + yOffset;
|
||||
entry.setUpperLimit(upperLimit);
|
||||
entry.setLowerLimit(lowerLimit);
|
||||
|
||||
// Update topic position ...
|
||||
if (!entry.isAvailable())
|
||||
{
|
||||
var topic = entry.getTopic();
|
||||
var topicPosition = topic.getPosition();
|
||||
topicPosition.y = topicPosition.y + yOffset;
|
||||
|
||||
// MainTopicToCentral must be positioned based on the referencePoint.
|
||||
var xOffset = position.x - referencePoint.x;
|
||||
topicPosition.x = topicPosition.x + xOffset;
|
||||
|
||||
topic.setPosition(topicPosition);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.lookupEntryByPosition = function(pos)
|
||||
{
|
||||
core.assert(core.Utils.isDefined(pos), 'position can not be null');
|
||||
var entries = this._entries;
|
||||
var zeroEntry = entries.get(0);
|
||||
if (zeroEntry.isCoordinateIn(pos.y))
|
||||
{
|
||||
return zeroEntry;
|
||||
}
|
||||
|
||||
// Is Upper or lower ?
|
||||
var sign = -1;
|
||||
if (pos.y >= zeroEntry.getUpperLimit())
|
||||
{
|
||||
sign = 1;
|
||||
}
|
||||
|
||||
var i = 1;
|
||||
var tempEntry = this.createBoardEntry();
|
||||
var currentEntry = zeroEntry;
|
||||
while (true)
|
||||
{
|
||||
// Move to the next entry ...
|
||||
var index = i * sign;
|
||||
var entry = entries.get(index);
|
||||
if (core.Utils.isDefined(entry))
|
||||
{
|
||||
currentEntry = entry;
|
||||
} else
|
||||
{
|
||||
// Calculate boundaries...
|
||||
var lowerLimit, upperLimit;
|
||||
if (sign > 0)
|
||||
{
|
||||
lowerLimit = currentEntry.getUpperLimit();
|
||||
upperLimit = lowerLimit + this._defaultWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
upperLimit = currentEntry.getLowerLimit();
|
||||
lowerLimit = upperLimit - this._defaultWidth;
|
||||
// Is Upper or lower ?
|
||||
var sign = -1;
|
||||
if (pos.y >= zeroEntry.getUpperLimit()) {
|
||||
sign = 1;
|
||||
}
|
||||
|
||||
// Update current entry.
|
||||
currentEntry = tempEntry;
|
||||
currentEntry.setLowerLimit(lowerLimit);
|
||||
currentEntry.setUpperLimit(upperLimit);
|
||||
var i = 1;
|
||||
var tempEntry = this.createBoardEntry();
|
||||
var currentEntry = zeroEntry;
|
||||
while (true) {
|
||||
// Move to the next entry ...
|
||||
var index = i * sign;
|
||||
var entry = entries.get(index);
|
||||
if (core.Utils.isDefined(entry)) {
|
||||
currentEntry = entry;
|
||||
} else {
|
||||
// Calculate boundaries...
|
||||
var lowerLimit, upperLimit;
|
||||
if (sign > 0) {
|
||||
lowerLimit = currentEntry.getUpperLimit();
|
||||
upperLimit = lowerLimit + this._defaultWidth;
|
||||
}
|
||||
else {
|
||||
upperLimit = currentEntry.getLowerLimit();
|
||||
lowerLimit = upperLimit - this._defaultWidth;
|
||||
}
|
||||
|
||||
var order = this._indexToOrder(index);
|
||||
currentEntry.setOrder(order);
|
||||
}
|
||||
// Update current entry.
|
||||
currentEntry = tempEntry;
|
||||
currentEntry.setLowerLimit(lowerLimit);
|
||||
currentEntry.setUpperLimit(upperLimit);
|
||||
|
||||
// Have I found the item?
|
||||
if (currentEntry.isCoordinateIn(pos.y))
|
||||
{
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return currentEntry;
|
||||
};
|
||||
var order = this._indexToOrder(index);
|
||||
currentEntry.setOrder(order);
|
||||
}
|
||||
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.update = function(entry)
|
||||
{
|
||||
core.assert(entry, 'Entry can not be null');
|
||||
var order = entry.getOrder();
|
||||
var index = this._orderToIndex(order);
|
||||
|
||||
this._entries.set(index, entry);
|
||||
|
||||
};
|
||||
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.getLastNoAvailalbleEntry = function()
|
||||
{
|
||||
var entries = this._entries;
|
||||
var lowerLength = entries.lowerLength();
|
||||
var upperLength = entries.upperLength();
|
||||
|
||||
var result = null;
|
||||
var i = -lowerLength;
|
||||
while (i <= upperLength)
|
||||
{
|
||||
var entry = entries.get(i);
|
||||
if (entry && !entry.isAvailable())
|
||||
{
|
||||
result = entry;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return result;
|
||||
|
||||
};
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.getFirstNoAvailableEntry = function()
|
||||
{
|
||||
var entries = this._entries;
|
||||
var lowerLength = -entries.lowerLength();
|
||||
var upperLength = entries.upperLength();
|
||||
|
||||
var result = null;
|
||||
var i = upperLength;
|
||||
while (i >= lowerLength)
|
||||
{
|
||||
var entry = entries.get(i);
|
||||
if (entry && !entry.isAvailable())
|
||||
{
|
||||
result = entry;
|
||||
break;
|
||||
}
|
||||
i--;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.freeEntry = function(entry)
|
||||
{
|
||||
var order = entry.getOrder();
|
||||
var entries = this._entries;
|
||||
|
||||
var index = this._orderToIndex(order);
|
||||
var indexSign = Math.sign(index);
|
||||
var lenght = entries.length(index);
|
||||
|
||||
var currentTopic = entry.getTopic();
|
||||
var i = Math.abs(index) + 1;
|
||||
while (currentTopic)
|
||||
{
|
||||
var e = entries.get(i, indexSign);
|
||||
if (core.Utils.isDefined(currentTopic) && !core.Utils.isDefined(e))
|
||||
{
|
||||
var entryOrder = this._indexToOrder(i * indexSign);
|
||||
e = this.lookupEntryByOrder(entryOrder);
|
||||
}
|
||||
|
||||
// Move the topic to the next entry ...
|
||||
var topic = null;
|
||||
if (core.Utils.isDefined(e))
|
||||
{
|
||||
topic = e.getTopic();
|
||||
if (core.Utils.isDefined(currentTopic))
|
||||
{
|
||||
e.setTopic(currentTopic);
|
||||
// Have I found the item?
|
||||
if (currentEntry.isCoordinateIn(pos.y)) {
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
this.update(e);
|
||||
return currentEntry;
|
||||
},
|
||||
|
||||
update:function(entry) {
|
||||
core.assert(entry, 'Entry can not be null');
|
||||
var order = entry.getOrder();
|
||||
var index = this._orderToIndex(order);
|
||||
|
||||
this._entries.set(index, entry);
|
||||
|
||||
},
|
||||
freeEntry:function(entry) {
|
||||
var order = entry.getOrder();
|
||||
var entries = this._entries;
|
||||
|
||||
var index = this._orderToIndex(order);
|
||||
var indexSign = Math.sign(index);
|
||||
|
||||
var currentTopic = entry.getTopic();
|
||||
var i = Math.abs(index) + 1;
|
||||
while (currentTopic) {
|
||||
var e = entries.get(i, indexSign);
|
||||
if (core.Utils.isDefined(currentTopic) && !core.Utils.isDefined(e)) {
|
||||
var entryOrder = this._indexToOrder(i * indexSign);
|
||||
e = this.lookupEntryByOrder(entryOrder);
|
||||
}
|
||||
|
||||
// Move the topic to the next entry ...
|
||||
var topic = null;
|
||||
if (core.Utils.isDefined(e)) {
|
||||
topic = e.getTopic();
|
||||
if (core.Utils.isDefined(currentTopic)) {
|
||||
e.setTopic(currentTopic);
|
||||
}
|
||||
this.update(e);
|
||||
}
|
||||
currentTopic = topic;
|
||||
i++;
|
||||
}
|
||||
|
||||
// Clear the entry topic ...
|
||||
entry.setTopic(null);
|
||||
},
|
||||
|
||||
_orderToIndex:function(order) {
|
||||
var index = Math.round(order / 2);
|
||||
return ((order % 2) == 0) ? index : -index;
|
||||
},
|
||||
|
||||
_indexToOrder:function(index) {
|
||||
var order = Math.abs(index) * 2;
|
||||
return (index >= 0) ? order : order - 1;
|
||||
},
|
||||
|
||||
inspect:function() {
|
||||
return this._entries.inspect();
|
||||
}
|
||||
currentTopic = topic;
|
||||
i++;
|
||||
}
|
||||
|
||||
// Clear the entry topic ...
|
||||
entry.setTopic(null);
|
||||
};
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype._orderToIndex = function(order)
|
||||
{
|
||||
var index = Math.round(order / 2);
|
||||
return ((order % 2) == 0) ? index : -index;
|
||||
};
|
||||
mindplot.VariableDistanceBoard.prototype._indexToOrder = function(index)
|
||||
{
|
||||
var order = Math.abs(index) * 2;
|
||||
return (index >= 0)? order: order - 1;
|
||||
};
|
||||
|
||||
mindplot.VariableDistanceBoard.prototype.inspect = function()
|
||||
{
|
||||
return this._entries.inspect();
|
||||
};
|
||||
|
||||
});
|
@ -1,189 +1,165 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.Workspace = function(profile, screenManager, zoom)
|
||||
{
|
||||
// Create a suitable container ...
|
||||
core.assert(screenManager, 'Div container can not be null');
|
||||
this._zoom = zoom;
|
||||
this._screenManager = screenManager;
|
||||
this._screenWidth = profile.width;
|
||||
this._screenHeight = profile.height;
|
||||
mindplot.Workspace = new Class({
|
||||
initialize: function(profile, screenManager, zoom) {
|
||||
// Create a suitable container ...
|
||||
core.assert(screenManager, 'Div container can not be null');
|
||||
this._zoom = zoom;
|
||||
this._screenManager = screenManager;
|
||||
this._screenWidth = profile.width;
|
||||
this._screenHeight = profile.height;
|
||||
|
||||
// Initalize web2d workspace.
|
||||
var workspace = this._createWorkspace(profile);
|
||||
this._workspace = workspace;
|
||||
// Initalize web2d workspace.
|
||||
var workspace = this._createWorkspace(profile);
|
||||
this._workspace = workspace;
|
||||
|
||||
var screenContainer = screenManager.getContainer();
|
||||
// Fix the height of the container ....
|
||||
screenContainer.style.height = this._screenHeight + "px";
|
||||
var screenContainer = screenManager.getContainer();
|
||||
// Fix the height of the container ....
|
||||
screenContainer.style.height = this._screenHeight + "px";
|
||||
|
||||
// Append to the workspace...
|
||||
workspace.addItAsChildTo(screenContainer);
|
||||
this.setZoom(zoom, true);
|
||||
// Append to the workspace...
|
||||
workspace.addItAsChildTo(screenContainer);
|
||||
this.setZoom(zoom, true);
|
||||
|
||||
// Register drag events ...
|
||||
this._registerDragEvents();
|
||||
// Register drag events ...
|
||||
this._registerDragEvents();
|
||||
|
||||
this._eventsEnabled = true;
|
||||
this._eventsEnabled = true;
|
||||
|
||||
};
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype._updateScreenManager = function()
|
||||
{
|
||||
var zoom = this._zoom;
|
||||
this._screenManager.setScale(zoom);
|
||||
_updateScreenManager: function() {
|
||||
var zoom = this._zoom;
|
||||
this._screenManager.setScale(zoom);
|
||||
|
||||
var coordOriginX = -((this._screenWidth * this._zoom) / 2);
|
||||
var coordOriginY = -((this._screenHeight * this._zoom) / 2);
|
||||
this._screenManager.setOffset(coordOriginX, coordOriginY);
|
||||
};
|
||||
var coordOriginX = -((this._screenWidth * this._zoom) / 2);
|
||||
var coordOriginY = -((this._screenHeight * this._zoom) / 2);
|
||||
this._screenManager.setOffset(coordOriginX, coordOriginY);
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype._createWorkspace = function(profile)
|
||||
{
|
||||
// Initialize workspace ...
|
||||
var coordOriginX = -(this._screenWidth / 2);
|
||||
var coordOriginY = -(this._screenHeight / 2);
|
||||
_createWorkspace: function(profile) {
|
||||
// Initialize workspace ...
|
||||
var coordOriginX = -(this._screenWidth / 2);
|
||||
var coordOriginY = -(this._screenHeight / 2);
|
||||
|
||||
var workspaceProfile = {
|
||||
width: this._screenWidth + "px",
|
||||
height: this._screenHeight + "px",
|
||||
coordSizeWidth:this._screenWidth,
|
||||
coordSizeHeight:this._screenHeight,
|
||||
coordOriginX:coordOriginX,
|
||||
coordOriginY:coordOriginY,
|
||||
fillColor:'transparent',
|
||||
strokeWidth:0};
|
||||
var workspaceProfile = {
|
||||
width: this._screenWidth + "px",
|
||||
height: this._screenHeight + "px",
|
||||
coordSizeWidth:this._screenWidth,
|
||||
coordSizeHeight:this._screenHeight,
|
||||
coordOriginX:coordOriginX,
|
||||
coordOriginY:coordOriginY,
|
||||
fillColor:'transparent',
|
||||
strokeWidth:0
|
||||
};
|
||||
web2d.peer.Toolkit.init();
|
||||
return new web2d.Workspace(workspaceProfile);
|
||||
},
|
||||
|
||||
web2d.peer.Toolkit.init();
|
||||
return new web2d.Workspace(workspaceProfile);
|
||||
};
|
||||
appendChild: function(shape) {
|
||||
if (core.Utils.isDefined(shape.addToWorkspace)) {
|
||||
shape.addToWorkspace(this);
|
||||
} else {
|
||||
this._workspace.appendChild(shape);
|
||||
}
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.appendChild = function(shape)
|
||||
{
|
||||
if (core.Utils.isDefined(shape.addToWorkspace))
|
||||
{
|
||||
shape.addToWorkspace(this);
|
||||
} else
|
||||
{
|
||||
this._workspace.appendChild(shape);
|
||||
}
|
||||
};
|
||||
removeChild: function(shape) {
|
||||
// Element is a node, not a web2d element?
|
||||
if (core.Utils.isDefined(shape.removeFromWorkspace)) {
|
||||
shape.removeFromWorkspace(this);
|
||||
} else {
|
||||
this._workspace.removeChild(shape);
|
||||
}
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.removeChild = function(shape)
|
||||
{
|
||||
// Element is a node, not a web2d element?
|
||||
if (core.Utils.isDefined(shape.removeFromWorkspace))
|
||||
{
|
||||
shape.removeFromWorkspace(this);
|
||||
} else
|
||||
{
|
||||
this._workspace.removeChild(shape);
|
||||
}
|
||||
};
|
||||
addEventListener: function(type, listener) {
|
||||
this._workspace.addEventListener(type, listener);
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.addEventListener = function(type, listener)
|
||||
{
|
||||
this._workspace.addEventListener(type, listener);
|
||||
};
|
||||
removeEventListener: function(type, listener) {
|
||||
this._workspace.removeEventListener(type, listener);
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.removeEventListener = function(type, listener)
|
||||
{
|
||||
this._workspace.removeEventListener(type, listener);
|
||||
};
|
||||
getSize: function() {
|
||||
return this._workspace.getCoordSize();
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.getSize = function()
|
||||
{
|
||||
return this._workspace.getCoordSize();
|
||||
};
|
||||
setZoom: function(zoom, center) {
|
||||
this._zoom = zoom;
|
||||
var workspace = this._workspace;
|
||||
|
||||
mindplot.Workspace.prototype.setZoom = function(zoom, center)
|
||||
{
|
||||
this._zoom = zoom;
|
||||
var workspace = this._workspace;
|
||||
// Update coord scale...
|
||||
var coordWidth = zoom * this._screenWidth;
|
||||
var coordHeight = zoom * this._screenHeight;
|
||||
workspace.setCoordSize(coordWidth, coordHeight);
|
||||
|
||||
// Update coord scale...
|
||||
var coordWidth = zoom * this._screenWidth;
|
||||
var coordHeight = zoom * this._screenHeight;
|
||||
workspace.setCoordSize(coordWidth, coordHeight);
|
||||
// Center topic....
|
||||
var coordOriginX;
|
||||
var coordOriginY;
|
||||
if (center) {
|
||||
coordOriginX = -(coordWidth / 2);
|
||||
coordOriginY = -(coordHeight / 2);
|
||||
} else {
|
||||
var coordOrigin = workspace.getCoordOrigin();
|
||||
coordOriginX = coordOrigin.x;
|
||||
coordOriginY = coordOrigin.y;
|
||||
}
|
||||
|
||||
// Center topic....
|
||||
var coordOriginX;
|
||||
var coordOriginY;
|
||||
if (center)
|
||||
{
|
||||
coordOriginX = -(coordWidth / 2);
|
||||
coordOriginY = -(coordHeight / 2);
|
||||
} else
|
||||
{
|
||||
var coordOrigin = workspace.getCoordOrigin();
|
||||
coordOriginX = coordOrigin.x;
|
||||
coordOriginY = coordOrigin.y;
|
||||
}
|
||||
workspace.setCoordOrigin(coordOriginX, coordOriginY);
|
||||
|
||||
workspace.setCoordOrigin(coordOriginX, coordOriginY);
|
||||
// Update screen.
|
||||
this._screenManager.setOffset(coordOriginX, coordOriginY);
|
||||
this._screenManager.setScale(zoom);
|
||||
},
|
||||
|
||||
// Update screen.
|
||||
this._screenManager.setOffset(coordOriginX, coordOriginY);
|
||||
this._screenManager.setScale(zoom);
|
||||
};
|
||||
getScreenManager: function() {
|
||||
return this._screenManager;
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.getScreenManager = function()
|
||||
{
|
||||
return this._screenManager;
|
||||
};
|
||||
enableWorkspaceEvents: function(value) {
|
||||
this._eventsEnabled = value;
|
||||
},
|
||||
|
||||
isWorkspaceEventsEnabled: function() {
|
||||
return this._eventsEnabled;
|
||||
},
|
||||
|
||||
mindplot.Workspace.prototype.enableWorkspaceEvents = function(value)
|
||||
{
|
||||
this._eventsEnabled = value;
|
||||
};
|
||||
|
||||
mindplot.Workspace.prototype.isWorkspaceEventsEnabled = function()
|
||||
{
|
||||
return this._eventsEnabled;
|
||||
};
|
||||
|
||||
mindplot.Workspace.prototype.dumpNativeChart = function()
|
||||
{
|
||||
var workspace = this._workspace;
|
||||
return workspace.dumpNativeChart();
|
||||
};
|
||||
|
||||
mindplot.Workspace.prototype._registerDragEvents = function()
|
||||
{
|
||||
var workspace = this._workspace;
|
||||
var screenManager = this._screenManager;
|
||||
this._dragging = true;
|
||||
var mWorkspace = this;
|
||||
var mouseDownListener = function(event)
|
||||
{
|
||||
if (!core.Utils.isDefined(workspace.mouseMoveListener))
|
||||
dumpNativeChart: function() {
|
||||
var workspace = this._workspace;
|
||||
return workspace.dumpNativeChart();
|
||||
},
|
||||
_registerDragEvents: function() {
|
||||
var workspace = this._workspace;
|
||||
var screenManager = this._screenManager;
|
||||
this._dragging = true;
|
||||
var mWorkspace = this;
|
||||
var mouseDownListener = function(event)
|
||||
{
|
||||
if (mWorkspace.isWorkspaceEventsEnabled())
|
||||
{
|
||||
mWorkspace.enableWorkspaceEvents(false);
|
||||
if (!core.Utils.isDefined(workspace.mouseMoveListener)) {
|
||||
if (mWorkspace.isWorkspaceEventsEnabled()) {
|
||||
mWorkspace.enableWorkspaceEvents(false);
|
||||
|
||||
var mouseDownPosition = screenManager.getWorkspaceMousePosition(event);
|
||||
var originalCoordOrigin = workspace.getCoordOrigin();
|
||||
var mouseDownPosition = screenManager.getWorkspaceMousePosition(event);
|
||||
var originalCoordOrigin = workspace.getCoordOrigin();
|
||||
|
||||
workspace.mouseMoveListener = function(event)
|
||||
{
|
||||
workspace.mouseMoveListener = function(event) {
|
||||
|
||||
var currentMousePosition = screenManager.getWorkspaceMousePosition(event);
|
||||
|
||||
@ -196,40 +172,37 @@ mindplot.Workspace.prototype._registerDragEvents = function()
|
||||
workspace.setCoordOrigin(coordOriginX, coordOriginY);
|
||||
|
||||
// Change cursor.
|
||||
if (core.UserAgent.isMozillaFamily())
|
||||
{
|
||||
if (core.UserAgent.isMozillaFamily()) {
|
||||
window.document.body.style.cursor = "-moz-grabbing";
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
window.document.body.style.cursor = "move";
|
||||
}
|
||||
event.preventDefault();
|
||||
}.bindWithEvent(this);
|
||||
screenManager.addEventListener('mousemove', workspace.mouseMoveListener);
|
||||
event.preventDefault();
|
||||
}.bindWithEvent(this);
|
||||
screenManager.addEventListener('mousemove', workspace.mouseMoveListener);
|
||||
|
||||
// Register mouse up listeners ...
|
||||
workspace.mouseUpListener = function(event)
|
||||
{
|
||||
// Register mouse up listeners ...
|
||||
workspace.mouseUpListener = function(event) {
|
||||
|
||||
screenManager.removeEventListener('mousemove', workspace.mouseMoveListener);
|
||||
screenManager.removeEventListener('mouseup', workspace.mouseUpListener);
|
||||
workspace.mouseUpListener = null;
|
||||
workspace.mouseMoveListener = null;
|
||||
window.document.body.style.cursor = 'default';
|
||||
screenManager.removeEventListener('mousemove', workspace.mouseMoveListener);
|
||||
screenManager.removeEventListener('mouseup', workspace.mouseUpListener);
|
||||
workspace.mouseUpListener = null;
|
||||
workspace.mouseMoveListener = null;
|
||||
window.document.body.style.cursor = 'default';
|
||||
|
||||
// Update screen manager offset.
|
||||
var coordOrigin = workspace.getCoordOrigin();
|
||||
screenManager.setOffset(coordOrigin.x, coordOrigin.y);
|
||||
mWorkspace.enableWorkspaceEvents(true);
|
||||
};
|
||||
screenManager.addEventListener('mouseup', workspace.mouseUpListener);
|
||||
// Update screen manager offset.
|
||||
var coordOrigin = workspace.getCoordOrigin();
|
||||
screenManager.setOffset(coordOrigin.x, coordOrigin.y);
|
||||
mWorkspace.enableWorkspaceEvents(true);
|
||||
},
|
||||
screenManager.addEventListener('mouseup', workspace.mouseUpListener);
|
||||
}
|
||||
} else {
|
||||
workspace.mouseUpListener();
|
||||
}
|
||||
} else
|
||||
{
|
||||
workspace.mouseUpListener();
|
||||
}
|
||||
};
|
||||
};
|
||||
screenManager.addEventListener('mousedown', mouseDownListener);
|
||||
}
|
||||
});
|
||||
|
||||
screenManager.addEventListener('mousedown', mouseDownListener);
|
||||
};
|
||||
|
||||
|
@ -267,7 +267,7 @@ mindplot.XMLMindmapSerializer_Pela.prototype._deserializeNode = function(domElem
|
||||
id=parseInt(id);
|
||||
}
|
||||
|
||||
if(this._idsMap.hasKey(id)){
|
||||
if(this._idsMap.has(id)){
|
||||
id=null;
|
||||
}else{
|
||||
this._idsMap.set(id,domElem);
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.AddIconToTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.AddIconToTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId, iconType)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.AddLinkToTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.AddLinkToTopicCommand =new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId,url)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.AddNoteToTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.AddNoteToTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId,text)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -15,8 +15,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
mindplot.commands.AddRelationshipCommand = mindplot.Command.extend(
|
||||
mindplot.commands.AddRelationshipCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(model, mindmap)
|
||||
{
|
||||
core.assert(model, 'Relationship model can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.AddTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.AddTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(model, parentTopicId, animated)
|
||||
{
|
||||
core.assert(model, 'Model can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.ChangeIconFromTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.ChangeIconFromTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId, iconId, iconType)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.DeleteTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.DeleteTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicsIds)
|
||||
{
|
||||
core.assert(topicsIds, "topicsIds must be defined");
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.DragTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.DragTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId)
|
||||
{
|
||||
core.assert(topicId, "topicId must be defined");
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.GenericFunctionCommand = mindplot.Command.extend(
|
||||
mindplot.commands.GenericFunctionCommand =new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(commandFunc,value,topicsIds)
|
||||
{
|
||||
core.assert(commandFunc, "commandFunc must be defined");
|
||||
|
@ -15,8 +15,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
mindplot.commands.MoveControlPointCommand = mindplot.Command.extend(
|
||||
mindplot.commands.MoveControlPointCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(ctrlPointController, point)
|
||||
{
|
||||
core.assert(ctrlPointController, 'line can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.RemoveIconFromTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.RemoveIconFromTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId, iconModel)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.RemoveLinkFromTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.RemoveLinkFromTopicCommand =new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -16,8 +16,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.commands.RemoveNoteFromTopicCommand = mindplot.Command.extend(
|
||||
mindplot.commands.RemoveNoteFromTopicCommand = new Class(
|
||||
{
|
||||
Extends:mindplot.Command,
|
||||
initialize: function(topicId)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
|
@ -157,7 +157,7 @@ mindplot.layoutManagers.FreeMindLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
node.setPosition(pos.clone(), false);
|
||||
if(core.Utils.isDefined(this._modifiedTopics.set)){
|
||||
var key = node.getId();
|
||||
if(this._modifiedTopics.hasKey(key)){
|
||||
if(this._modifiedTopics.has(key)){
|
||||
nodePos = this._modifiedTopics.get(key).originalPos;
|
||||
}
|
||||
this._modifiedTopics.set(key,{originalPos:nodePos, newPos:pos});
|
||||
@ -186,7 +186,7 @@ mindplot.layoutManagers.FreeMindLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
child.setPosition(childPos, false);
|
||||
if(core.Utils.isDefined(modifiedTopics.set)){
|
||||
var key = node.getId();
|
||||
if(modifiedTopics.hasKey(key)){
|
||||
if(modifiedTopics.has(key)){
|
||||
oldPos = this._modifiedTopics.get(key).originalPos;
|
||||
}
|
||||
this._modifiedTopics.set(key,{originalPos:oldPos, newPos:childPos});
|
||||
@ -384,7 +384,7 @@ mindplot.layoutManagers.FreeMindLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
}
|
||||
if(core.Utils.isDefined(this._modifiedTopics.set)){
|
||||
var key = node.getId();
|
||||
if(this._modifiedTopics.hasKey(key)){
|
||||
if(this._modifiedTopics.has(key)){
|
||||
nodePos = this._modifiedTopics.get(key).originalPos;
|
||||
}
|
||||
this._modifiedTopics.set(key,{originalPos:nodePos, newPos:pos});
|
||||
@ -678,7 +678,7 @@ mindplot.layoutManagers.FreeMindLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
},
|
||||
_addToModifiedList:function(modifiedTopics, key, originalpos, newPos){
|
||||
if(core.Utils.isDefined(modifiedTopics.set)){
|
||||
if(modifiedTopics.hasKey(key)){
|
||||
if(modifiedTopics.has(key)){
|
||||
originalpos = modifiedTopics.get(key).originalPos;
|
||||
}
|
||||
modifiedTopics.set(key,{originalPos:originalpos, newPos:newPos});
|
||||
|
@ -1,8 +1,27 @@
|
||||
mindplot.layoutManagers.OriginalLayoutManager = mindplot.layoutManagers.BaseLayoutManager.extend({
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
mindplot.layoutManagers.OriginalLayoutManager = new Class({
|
||||
Extends:mindplot.layoutManagers.BaseLayoutManager,
|
||||
options:{
|
||||
|
||||
},
|
||||
initialize:function(designer, options){
|
||||
initialize:function(designer, options) {
|
||||
this.parent(designer, options);
|
||||
this._dragTopicPositioner = new mindplot.DragTopicPositioner(this);
|
||||
// Init dragger manager.
|
||||
@ -12,83 +31,72 @@ mindplot.layoutManagers.OriginalLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
// Add shapes to speed up the loading process ...
|
||||
mindplot.DragTopic.initialize(workSpace);
|
||||
},
|
||||
prepareNode:function(node, children){
|
||||
prepareNode:function(node, children) {
|
||||
// Sort children by order to solve adding order in for OriginalLayoutManager...
|
||||
var nodesByOrder = new Hash();
|
||||
var maxOrder =0;
|
||||
var maxOrder = 0;
|
||||
var result = [];
|
||||
if (children.length > 0)
|
||||
{
|
||||
for (var i = 0; i < children.length; i++)
|
||||
{
|
||||
if (children.length > 0) {
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var child = children[i];
|
||||
var order = child.getOrder();
|
||||
if (!core.Utils.isDefined(order))
|
||||
{
|
||||
if (!core.Utils.isDefined(order)) {
|
||||
order = ++maxOrder;
|
||||
child.setOrder(order);
|
||||
}
|
||||
|
||||
if(nodesByOrder.hasKey(order)){
|
||||
if(Math.sign(child.getPosition().x) == Math.sign(nodesByOrder.get(order).getPosition().x)){
|
||||
if (nodesByOrder.has(order)) {
|
||||
if (Math.sign(child.getPosition().x) == Math.sign(nodesByOrder.get(order).getPosition().x)) {
|
||||
//duplicated order. Change order to next available.
|
||||
order = ++maxOrder;
|
||||
child.setOrder(order);
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
nodesByOrder.set(order, child);
|
||||
if(order>maxOrder)
|
||||
maxOrder=order;
|
||||
if (order > maxOrder)
|
||||
maxOrder = order;
|
||||
}
|
||||
result[order] = child;
|
||||
}
|
||||
}
|
||||
nodesByOrder=null;
|
||||
return node.getTopicType()!=mindplot.NodeModel.CENTRAL_TOPIC_TYPE?result:children;
|
||||
nodesByOrder = null;
|
||||
return node.getTopicType() != mindplot.NodeModel.CENTRAL_TOPIC_TYPE ? result : children;
|
||||
},
|
||||
_nodeResizeEvent:function(node){
|
||||
_nodeResizeEvent:function(node) {
|
||||
|
||||
},
|
||||
_nodeRepositionateEvent:function(node){
|
||||
_nodeRepositionateEvent:function(node) {
|
||||
this.getTopicBoardForTopic(node).repositionate();
|
||||
},
|
||||
getDragTopicPositioner : function()
|
||||
{
|
||||
getDragTopicPositioner : function() {
|
||||
return this._dragTopicPositioner;
|
||||
},
|
||||
_buildDragManager: function(workspace)
|
||||
{
|
||||
_buildDragManager: function(workspace) {
|
||||
// Init dragger manager.
|
||||
var dragger = new mindplot.DragManager(workspace);
|
||||
var topics = this.getDesigner()._getTopics();
|
||||
|
||||
var dragTopicPositioner = this.getDragTopicPositioner();
|
||||
|
||||
dragger.addEventListener('startdragging', function(event, node)
|
||||
{
|
||||
dragger.addEventListener('startdragging', function(event, node) {
|
||||
// Enable all mouse events.
|
||||
for (var i = 0; i < topics.length; i++)
|
||||
{
|
||||
for (var i = 0; i < topics.length; i++) {
|
||||
topics[i].setMouseEventsEnabled(false);
|
||||
}
|
||||
});
|
||||
|
||||
dragger.addEventListener('dragging', function(event, dragTopic)
|
||||
{
|
||||
dragger.addEventListener('dragging', function(event, dragTopic) {
|
||||
// Update the state and connections of the topic ...
|
||||
dragTopicPositioner.positionateDragTopic(dragTopic);
|
||||
});
|
||||
|
||||
dragger.addEventListener('enddragging', function(event, dragTopic)
|
||||
{
|
||||
dragger.addEventListener('enddragging', function(event, dragTopic) {
|
||||
// Enable all mouse events.
|
||||
for (var i = 0; i < topics.length; i++)
|
||||
{
|
||||
for (var i = 0; i < topics.length; i++) {
|
||||
topics[i].setMouseEventsEnabled(true);
|
||||
}
|
||||
// Topic must be positioned in the real board postion.
|
||||
if (dragTopic._isInTheWorkspace)
|
||||
{
|
||||
if (dragTopic._isInTheWorkspace) {
|
||||
var draggedTopic = dragTopic.getDraggedTopic();
|
||||
|
||||
// Hide topic during draw ...
|
||||
@ -99,8 +107,7 @@ mindplot.layoutManagers.OriginalLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
|
||||
// Make all node visible ...
|
||||
draggedTopic.setVisibility(true);
|
||||
if (parentNode != null)
|
||||
{
|
||||
if (parentNode != null) {
|
||||
parentNode.setBranchVisibility(true);
|
||||
}
|
||||
}
|
||||
@ -108,18 +115,15 @@ mindplot.layoutManagers.OriginalLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
|
||||
return dragger;
|
||||
},
|
||||
registerListenersOnNode : function(topic)
|
||||
{
|
||||
registerListenersOnNode : function(topic) {
|
||||
// Register node listeners ...
|
||||
var designer = this.getDesigner();
|
||||
topic.addEventListener('onfocus', function(event)
|
||||
{
|
||||
topic.addEventListener('onfocus', function(event) {
|
||||
designer.onObjectFocusEvent.attempt([topic, event], designer);
|
||||
});
|
||||
|
||||
// Add drag behaviour ...
|
||||
if (topic.getType() != mindplot.NodeModel.CENTRAL_TOPIC_TYPE)
|
||||
{
|
||||
if (topic.getType() != mindplot.NodeModel.CENTRAL_TOPIC_TYPE) {
|
||||
|
||||
// Central Topic doesn't support to be dragged
|
||||
var dragger = this._dragger;
|
||||
@ -127,21 +131,20 @@ mindplot.layoutManagers.OriginalLayoutManager = mindplot.layoutManagers.BaseLayo
|
||||
}
|
||||
|
||||
// Register editor events ...
|
||||
if (!core.Utils.isDefined(this.getDesigner()._viewMode)|| (core.Utils.isDefined(this.getDesigner()._viewMode) && !this.getDesigner()._viewMode))
|
||||
{
|
||||
if (!core.Utils.isDefined(this.getDesigner()._viewMode) || (core.Utils.isDefined(this.getDesigner()._viewMode) && !this.getDesigner()._viewMode)) {
|
||||
this.getDesigner()._editor.listenEventOnNode(topic, 'dblclick', true);
|
||||
}
|
||||
|
||||
},
|
||||
_createMainTopicBoard:function(node){
|
||||
_createMainTopicBoard:function(node) {
|
||||
return new mindplot.MainTopicBoard(node, this);
|
||||
},
|
||||
_createCentralTopicBoard:function(node){
|
||||
return new mindplot.CentralTopicBoard(node,this);
|
||||
_createCentralTopicBoard:function(node) {
|
||||
return new mindplot.CentralTopicBoard(node, this);
|
||||
},
|
||||
getClassName:function(){
|
||||
getClassName:function() {
|
||||
return mindplot.layoutManagers.OriginalLayoutManager.NAME;
|
||||
}
|
||||
});
|
||||
|
||||
mindplot.layoutManagers.OriginalLayoutManager.NAME ="OriginalLayoutManager";
|
||||
mindplot.layoutManagers.OriginalLayoutManager.NAME = "OriginalLayoutManager";
|
@ -185,7 +185,7 @@ mindplot.layoutManagers.boards.freeMindBoards.Board = mindplot.layoutManagers.bo
|
||||
this._layoutManager._updateChildrenBoards(entry.getNode(), delta, modifiedTopics);
|
||||
if(core.Utils.isDefined(modifiedTopics.set)){
|
||||
var key = entry.getId();
|
||||
if(modifiedTopics.hasKey(key)){
|
||||
if(modifiedTopics.has(key)){
|
||||
pos = modifiedTopics.get(key).originalPos;
|
||||
}
|
||||
modifiedTopics.set(key,{originalPos:pos, newPos:newPos});
|
||||
|
@ -52,7 +52,7 @@ web2d.EventDispatcher.prototype.removeListener = function(type, listener)
|
||||
// var found = false;
|
||||
var length = this._listeners.length;
|
||||
|
||||
this._listeners.remove(listener);
|
||||
this._listeners.erase(listener);
|
||||
|
||||
var newLength = this._listeners.length;
|
||||
|
||||
|
@ -78,7 +78,7 @@ web2d.peer.svg.ElementPeer.prototype.removeChild = function(elementPeer)
|
||||
// Remove from children array ...
|
||||
var length = children.length;
|
||||
|
||||
children.remove(elementPeer);
|
||||
children.erase(elementPeer);
|
||||
|
||||
var newLength = children.length;
|
||||
if (newLength >= length)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,9 @@
|
||||
<link rel="stylesheet" type="text/css" href="../css/bubble.css"/>
|
||||
|
||||
<!--<script type='text/javascript' src='../js/wiseLibrary.js'></script>-->
|
||||
<script type='text/javascript' src='../js/mootools.js'></script>
|
||||
<script type='text/javascript' src='../js/mootools-core-1.3.2-full-compat.js'></script>
|
||||
<script type='text/javascript' src='../js/mootools-more-1.3.2.1-yui.js'></script>
|
||||
|
||||
<script type='text/javascript' src='../../../../../wise-webapp/src/main/webapp/js/common.js'></script>
|
||||
<script type='text/javascript' src='../../../../../wise-webapp/src/main/webapp/js/windoo.js'></script>
|
||||
|
||||
@ -71,7 +73,7 @@
|
||||
var mapXml = '<map name="38298" version="pela"><topic central="true" text="test" id="1"/></map>';
|
||||
|
||||
// @Todo: This must be persiste in the map properties ...
|
||||
var editorProperties = "{zoom:0.85,saveOnLoad:true}";
|
||||
var editorProperties = {zoom:0.85,saveOnLoad:true};
|
||||
|
||||
function printMap() {
|
||||
document.printForm.mapSvg.value = $("workspaceContainer").innerHTML;
|
||||
|
37
wise-doc/src/main/webapp/html/test.html
Normal file
37
wise-doc/src/main/webapp/html/test.html
Normal file
@ -0,0 +1,37 @@
|
||||
<!DOCTYPE HTML>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<!--[if lt IE 9]>
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<![endif]-->
|
||||
|
||||
<!-- Internet Explorer 8 Hack -->
|
||||
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
|
||||
<!--<script type='text/javascript' src='../js/wiseLibrary.js'></script>-->
|
||||
<script type='text/javascript' src='../js/mootools.js'></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="someId">hola</div>
|
||||
<script type="text/javascript">
|
||||
// Register new event ...
|
||||
Element.Events.wiseNodeAdded = {
|
||||
condition: function(event){ //a function to perform additional checks
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
$("someId").addEvent("click", function(event) {
|
||||
$("someId").fireEvent("wiseNodeAdded",null)
|
||||
});
|
||||
|
||||
$("someId").addEvent("wiseNodeAdded", function(event) {
|
||||
alert("Nuevo Nodo adentro ...")
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -17,27 +17,9 @@
|
||||
*/
|
||||
|
||||
|
||||
function afterCoreLoading() {
|
||||
|
||||
|
||||
// Uncomment for debug ...
|
||||
$import("../../../../../mindplot/target/classes/mindplot.svg.js");
|
||||
|
||||
}
|
||||
;
|
||||
afterCoreLoading();
|
||||
|
||||
/*Extend mootools known keys*/
|
||||
ExtendedKeys = {
|
||||
'insert': 45,
|
||||
'f2':113,
|
||||
'ctrl-enter':17
|
||||
};
|
||||
|
||||
$extend(Event.keys, ExtendedKeys);
|
||||
$import("../../../../../mindplot/target/classes/mindplot.svg.js");
|
||||
|
||||
var designer = null;
|
||||
/* JavaScript tabs changer */
|
||||
|
||||
// CSS helper functions
|
||||
CSS = {
|
||||
@ -219,6 +201,7 @@ function afterMindpotLibraryLoading() {
|
||||
$('redoEdition').addEvent('click', function(event) {
|
||||
designer.redo();
|
||||
});
|
||||
|
||||
designer.addEventListener("change", function(event) {
|
||||
if (event.undoSteps > 0) {
|
||||
$("undoEdition").setStyle("background-image", "url(../images/file_undo.png)");
|
||||
@ -237,10 +220,12 @@ function afterMindpotLibraryLoading() {
|
||||
$('addTopic').addEvent('click', function(event) {
|
||||
designer.createSiblingForSelectedNode();
|
||||
});
|
||||
|
||||
$('deleteTopic').addEvent('click', function(event) {
|
||||
var topics = designer.getSelectedNodes();
|
||||
designer.deleteCurrentNode();
|
||||
});
|
||||
|
||||
var context = this;
|
||||
var colorPicker1 = new MooRainbow('topicColor', {
|
||||
id: 'topicColor',
|
||||
@ -358,7 +343,7 @@ function afterMindpotLibraryLoading() {
|
||||
shapeTypePanel();
|
||||
fontSizePanel();
|
||||
|
||||
// If not problem has occured, I close the dialod ...
|
||||
// If not problem has occured, I close the dialog ...
|
||||
var closeDialog = function() {
|
||||
|
||||
if (!window.hasUnexpectedErrors) {
|
||||
@ -394,7 +379,7 @@ function buildIconChooser() {
|
||||
|
||||
return content;
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
|
||||
function setCurrentColorPicker(colorPicker) {
|
||||
@ -414,11 +399,9 @@ function buildMindmapDesigner() {
|
||||
var container = $('mindplot');
|
||||
|
||||
// Initialize Editor ...
|
||||
|
||||
var screenWidth = window.getWidth();
|
||||
var screenHeight = window.getHeight();
|
||||
|
||||
// Positionate node ...
|
||||
// header - footer
|
||||
screenHeight = screenHeight - 90 - 61;
|
||||
|
||||
@ -431,18 +414,7 @@ function buildMindmapDesigner() {
|
||||
|
||||
// If a node has focus, focus can be move to another node using the keys.
|
||||
designer._cleanScreen = cleanScreenEvent.bind(this);
|
||||
|
||||
|
||||
// Save map on load ....
|
||||
if (editorProperties.saveOnLoad) {
|
||||
var saveOnLoad = function() {
|
||||
designer.save(function() {
|
||||
}, false);
|
||||
}.delay(1000)
|
||||
}
|
||||
|
||||
}
|
||||
;
|
||||
|
||||
function createColorPalette(container, onSelectFunction, event) {
|
||||
cleanScreenEvent();
|
||||
|
5952
wise-doc/src/main/webapp/js/mootools-core-1.3.2-full-compat.js
vendored
Normal file
5952
wise-doc/src/main/webapp/js/mootools-core-1.3.2-full-compat.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5515
wise-doc/src/main/webapp/js/mootools-core-1.3.2-full-nocompat.js
vendored
Normal file
5515
wise-doc/src/main/webapp/js/mootools-core-1.3.2-full-nocompat.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
224
wise-doc/src/main/webapp/js/mootools-more-1.3.2.1-yui.js
Normal file
224
wise-doc/src/main/webapp/js/mootools-more-1.3.2.1-yui.js
Normal file
@ -0,0 +1,224 @@
|
||||
// MooTools: the javascript framework.
|
||||
// Load this file's selection again by visiting: http://mootools.net/more/55656dfd0c63feba6230bd0acc822f94
|
||||
// Or build this file again with packager using: packager build More/More More/URI More/URI.Relative More/Hash More/Hash.Extras More/Fx.Elements More/Fx.Accordion More/Fx.Move More/Fx.Reveal More/Fx.Scroll More/Fx.Slide More/Fx.SmoothScroll More/Fx.Sort More/Drag More/Drag.Move More/Color
|
||||
/*
|
||||
---
|
||||
copyrights:
|
||||
- [MooTools](http://mootools.net)
|
||||
|
||||
licenses:
|
||||
- [MIT License](http://mootools.net/license.txt)
|
||||
...
|
||||
*/
|
||||
MooTools.More={version:"1.3.2.1",build:"e586bcd2496e9b22acfde32e12f84d49ce09e59d"};String.implement({parseQueryString:function(d,a){if(d==null){d=true;
|
||||
}if(a==null){a=true;}var c=this.split(/[&;]/),b={};if(!c.length){return b;}c.each(function(i){var e=i.indexOf("=")+1,g=e?i.substr(e):"",f=e?i.substr(0,e-1).match(/([^\]\[]+|(\B)(?=\]))/g):[i],h=b;
|
||||
if(!f){return;}if(a){g=decodeURIComponent(g);}f.each(function(k,j){if(d){k=decodeURIComponent(k);}var l=h[k];if(j<f.length-1){h=h[k]=l||{};}else{if(typeOf(l)=="array"){l.push(g);
|
||||
}else{h[k]=l!=null?[l,g]:g;}}});});return b;},cleanQueryString:function(a){return this.split("&").filter(function(e){var b=e.indexOf("="),c=b<0?"":e.substr(0,b),d=e.substr(b+1);
|
||||
return a?a.call(null,c,d):(d||d===0);}).join("&");}});(function(){var b=function(){return this.get("value");};var a=this.URI=new Class({Implements:Options,options:{},regex:/^(?:(\w+):)?(?:\/\/(?:(?:([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)?(\.\.?$|(?:[^?#\/]*\/)*)([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,parts:["scheme","user","password","host","port","directory","file","query","fragment"],schemes:{http:80,https:443,ftp:21,rtsp:554,mms:1755,file:0},initialize:function(d,c){this.setOptions(c);
|
||||
var e=this.options.base||a.base;if(!d){d=e;}if(d&&d.parsed){this.parsed=Object.clone(d.parsed);}else{this.set("value",d.href||d.toString(),e?new a(e):false);
|
||||
}},parse:function(e,d){var c=e.match(this.regex);if(!c){return false;}c.shift();return this.merge(c.associate(this.parts),d);},merge:function(d,c){if((!d||!d.scheme)&&(!c||!c.scheme)){return false;
|
||||
}if(c){this.parts.every(function(e){if(d[e]){return false;}d[e]=c[e]||"";return true;});}d.port=d.port||this.schemes[d.scheme.toLowerCase()];d.directory=d.directory?this.parseDirectory(d.directory,c?c.directory:""):"/";
|
||||
return d;},parseDirectory:function(d,e){d=(d.substr(0,1)=="/"?"":(e||"/"))+d;if(!d.test(a.regs.directoryDot)){return d;}var c=[];d.replace(a.regs.endSlash,"").split("/").each(function(f){if(f==".."&&c.length>0){c.pop();
|
||||
}else{if(f!="."){c.push(f);}}});return c.join("/")+"/";},combine:function(c){return c.value||c.scheme+"://"+(c.user?c.user+(c.password?":"+c.password:"")+"@":"")+(c.host||"")+(c.port&&c.port!=this.schemes[c.scheme]?":"+c.port:"")+(c.directory||"/")+(c.file||"")+(c.query?"?"+c.query:"")+(c.fragment?"#"+c.fragment:"");
|
||||
},set:function(d,f,e){if(d=="value"){var c=f.match(a.regs.scheme);if(c){c=c[1];}if(c&&this.schemes[c.toLowerCase()]==null){this.parsed={scheme:c,value:f};
|
||||
}else{this.parsed=this.parse(f,(e||this).parsed)||(c?{scheme:c,value:f}:{value:f});}}else{if(d=="data"){this.setData(f);}else{this.parsed[d]=f;}}return this;
|
||||
},get:function(c,d){switch(c){case"value":return this.combine(this.parsed,d?d.parsed:false);case"data":return this.getData();}return this.parsed[c]||"";
|
||||
},go:function(){document.location.href=this.toString();},toURI:function(){return this;},getData:function(e,d){var c=this.get(d||"query");if(!(c||c===0)){return e?null:{};
|
||||
}var f=c.parseQueryString();return e?f[e]:f;},setData:function(c,f,d){if(typeof c=="string"){var e=this.getData();e[arguments[0]]=arguments[1];c=e;}else{if(f){c=Object.merge(this.getData(),c);
|
||||
}}return this.set(d||"query",Object.toQueryString(c));},clearData:function(c){return this.set(c||"query","");},toString:b,valueOf:b});a.regs={endSlash:/\/$/,scheme:/^(\w+):/,directoryDot:/\.\/|\.$/};
|
||||
a.base=new a(Array.from(document.getElements("base[href]",true)).getLast(),{base:document.location});String.implement({toURI:function(c){return new a(this,c);
|
||||
}});})();Class.refactor=function(b,a){Object.each(a,function(e,d){var c=b.prototype[d];c=(c&&c.$origin)||c||function(){};b.implement(d,(typeof e=="function")?function(){var f=this.previous;
|
||||
this.previous=c;var g=e.apply(this,arguments);this.previous=f;return g;}:e);});return b;};URI=Class.refactor(URI,{combine:function(f,e){if(!e||f.scheme!=e.scheme||f.host!=e.host||f.port!=e.port){return this.previous.apply(this,arguments);
|
||||
}var a=f.file+(f.query?"?"+f.query:"")+(f.fragment?"#"+f.fragment:"");if(!e.directory){return(f.directory||(f.file?"":"./"))+a;}var d=e.directory.split("/"),c=f.directory.split("/"),g="",h;
|
||||
var b=0;for(h=0;h<d.length&&h<c.length&&d[h]==c[h];h++){}for(b=0;b<d.length-h-1;b++){g+="../";}for(b=h;b<c.length-1;b++){g+=c[b]+"/";}return(g||(f.file?"":"./"))+a;
|
||||
},toAbsolute:function(a){a=new URI(a);if(a){a.set("directory","").set("file","");}return this.toRelative(a);},toRelative:function(a){return this.get("value",new URI(a));
|
||||
}});(function(){if(this.Hash){return;}var a=this.Hash=new Type("Hash",function(b){if(typeOf(b)=="hash"){b=Object.clone(b.getClean());}for(var c in b){this[c]=b[c];
|
||||
}return this;});this.$H=function(b){return new a(b);};a.implement({forEach:function(b,c){Object.forEach(this,b,c);},getClean:function(){var c={};for(var b in this){if(this.hasOwnProperty(b)){c[b]=this[b];
|
||||
}}return c;},getLength:function(){var c=0;for(var b in this){if(this.hasOwnProperty(b)){c++;}}return c;}});a.alias("each","forEach");a.implement({has:Object.prototype.hasOwnProperty,keyOf:function(b){return Object.keyOf(this,b);
|
||||
},hasValue:function(b){return Object.contains(this,b);},extend:function(b){a.each(b||{},function(d,c){a.set(this,c,d);},this);return this;},combine:function(b){a.each(b||{},function(d,c){a.include(this,c,d);
|
||||
},this);return this;},erase:function(b){if(this.hasOwnProperty(b)){delete this[b];}return this;},get:function(b){return(this.hasOwnProperty(b))?this[b]:null;
|
||||
},set:function(b,c){if(!this[b]||this.hasOwnProperty(b)){this[b]=c;}return this;},empty:function(){a.each(this,function(c,b){delete this[b];},this);return this;
|
||||
},include:function(b,c){if(this[b]==undefined){this[b]=c;}return this;},map:function(b,c){return new a(Object.map(this,b,c));},filter:function(b,c){return new a(Object.filter(this,b,c));
|
||||
},every:function(b,c){return Object.every(this,b,c);},some:function(b,c){return Object.some(this,b,c);},getKeys:function(){return Object.keys(this);},getValues:function(){return Object.values(this);
|
||||
},toQueryString:function(b){return Object.toQueryString(this,b);}});a.alias({indexOf:"keyOf",contains:"hasValue"});})();(function(){var b=function(c){return c!=null;
|
||||
};var a=Object.prototype.hasOwnProperty;Object.extend({getFromPath:function(e,f){if(typeof f=="string"){f=f.split(".");}for(var d=0,c=f.length;d<c;d++){if(a.call(e,f[d])){e=e[f[d]];
|
||||
}else{return null;}}return e;},cleanValues:function(c,e){e=e||b;for(var d in c){if(!e(c[d])){delete c[d];}}return c;},erase:function(c,d){if(a.call(c,d)){delete c[d];
|
||||
}return c;},run:function(d){var c=Array.slice(arguments,1);for(var e in d){if(d[e].apply){d[e].apply(d,c);}}return d;}});})();Hash.implement({getFromPath:function(a){return Object.getFromPath(this,a);
|
||||
},cleanValues:function(a){return new Hash(Object.cleanValues(this,a));},run:function(){Object.run(arguments);}});Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(b,a){this.elements=this.subject=$$(b);
|
||||
this.parent(a);},compute:function(g,h,j){var c={};for(var d in g){var a=g[d],e=h[d],f=c[d]={};for(var b in a){f[b]=this.parent(a[b],e[b],j);}}return c;
|
||||
},set:function(b){for(var c in b){if(!this.elements[c]){continue;}var a=b[c];for(var d in a){this.render(this.elements[c],d,a[d],this.options.unit);}}return this;
|
||||
},start:function(c){if(!this.check(c)){return this;}var h={},j={};for(var d in c){if(!this.elements[d]){continue;}var f=c[d],a=h[d]={},g=j[d]={};for(var b in f){var e=this.prepare(this.elements[d],b,f[b]);
|
||||
a[b]=e.from;g[b]=e.to;}}return this.parent(h,j);}});Fx.Accordion=new Class({Extends:Fx.Elements,options:{fixedHeight:false,fixedWidth:false,display:0,show:false,height:true,width:false,opacity:true,alwaysHide:false,trigger:"click",initialDisplayFx:true,resetHeight:true},initialize:function(){var g=function(h){return h!=null;
|
||||
};var f=Array.link(arguments,{container:Type.isElement,options:Type.isObject,togglers:g,elements:g});this.parent(f.elements,f.options);var b=this.options,e=this.togglers=$$(f.togglers);
|
||||
this.previous=-1;this.internalChain=new Chain();if(b.alwaysHide){this.options.link="chain";}if(b.show||this.options.show===0){b.display=false;this.previous=b.show;
|
||||
}if(b.start){b.display=false;b.show=false;}var d=this.effects={};if(b.opacity){d.opacity="fullOpacity";}if(b.width){d.width=b.fixedWidth?"fullWidth":"offsetWidth";
|
||||
}if(b.height){d.height=b.fixedHeight?"fullHeight":"scrollHeight";}for(var c=0,a=e.length;c<a;c++){this.addSection(e[c],this.elements[c]);}this.elements.each(function(j,h){if(b.show===h){this.fireEvent("active",[e[h],j]);
|
||||
}else{for(var k in d){j.setStyle(k,0);}}},this);if(b.display||b.display===0||b.initialDisplayFx===false){this.display(b.display,b.initialDisplayFx);}if(b.fixedHeight!==false){b.resetHeight=false;
|
||||
}this.addEvent("complete",this.internalChain.callChain.bind(this.internalChain));},addSection:function(g,d){g=document.id(g);d=document.id(d);this.togglers.include(g);
|
||||
this.elements.include(d);var f=this.togglers,c=this.options,h=f.contains(g),a=f.indexOf(g),b=this.display.pass(a,this);g.store("accordion:display",b).addEvent(c.trigger,b);
|
||||
if(c.height){d.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});}if(c.width){d.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});
|
||||
}d.fullOpacity=1;if(c.fixedWidth){d.fullWidth=c.fixedWidth;}if(c.fixedHeight){d.fullHeight=c.fixedHeight;}d.setStyle("overflow","hidden");if(!h){for(var e in this.effects){d.setStyle(e,0);
|
||||
}}return this;},removeSection:function(f,b){var e=this.togglers,a=e.indexOf(f),c=this.elements[a];var d=function(){e.erase(f);this.elements.erase(c);this.detach(f);
|
||||
}.bind(this);if(this.now==a||b!=null){this.display(b!=null?b:(a-1>=0?a-1:0)).chain(d);}else{d();}return this;},detach:function(b){var a=function(c){c.removeEvent(this.options.trigger,c.retrieve("accordion:display"));
|
||||
}.bind(this);if(!b){this.togglers.each(a);}else{a(b);}return this;},display:function(b,c){if(!this.check(b,c)){return this;}var h={},g=this.elements,a=this.options,f=this.effects;
|
||||
if(c==null){c=true;}if(typeOf(b)=="element"){b=g.indexOf(b);}if(b==this.previous&&!a.alwaysHide){return this;}if(a.resetHeight){var e=g[this.previous];
|
||||
if(e&&!this.selfHidden){for(var d in f){e.setStyle(d,e[f[d]]);}}}if((this.timer&&a.link=="chain")||(b===this.previous&&!a.alwaysHide)){return this;}this.previous=b;
|
||||
this.selfHidden=false;g.each(function(l,k){h[k]={};var j;if(k!=b){j=true;}else{if(a.alwaysHide&&((l.offsetHeight>0&&a.height)||l.offsetWidth>0&&a.width)){j=true;
|
||||
this.selfHidden=true;}}this.fireEvent(j?"background":"active",[this.togglers[k],l]);for(var m in f){h[k][m]=j?0:l[f[m]];}if(!c&&!j&&a.resetHeight){h[k].height="auto";
|
||||
}},this);this.internalChain.clearChain();this.internalChain.chain(function(){if(a.resetHeight&&!this.selfHidden){var i=g[b];if(i){i.setStyle("height","auto");
|
||||
}}}.bind(this));return c?this.start(h):this.set(h).internalChain.callChain();}});var Accordion=new Class({Extends:Fx.Accordion,initialize:function(){this.parent.apply(this,arguments);
|
||||
var a=Array.link(arguments,{container:Type.isElement});this.container=a.container;},addSection:function(c,b,e){c=document.id(c);b=document.id(b);var d=this.togglers.contains(c);
|
||||
var a=this.togglers.length;if(a&&(!d||e)){e=e!=null?e:a-1;c.inject(this.togglers[e],"before");b.inject(c,"after");}else{if(this.container&&!d){c.inject(this.container);
|
||||
b.inject(this.container);}}return this.parent.apply(this,arguments);}});(function(){var b=function(e,d){var f=[];Object.each(d,function(g){Object.each(g,function(h){e.each(function(i){f.push(i+"-"+h+(i=="border"?"-width":""));
|
||||
});});});return f;};var c=function(f,e){var d=0;Object.each(e,function(h,g){if(g.test(f)){d=d+h.toInt();}});return d;};var a=function(d){return !!(!d||d.offsetHeight||d.offsetWidth);
|
||||
};Element.implement({measure:function(h){if(a(this)){return h.call(this);}var g=this.getParent(),e=[];while(!a(g)&&g!=document.body){e.push(g.expose());
|
||||
g=g.getParent();}var f=this.expose(),d=h.call(this);f();e.each(function(i){i();});return d;},expose:function(){if(this.getStyle("display")!="none"){return function(){};
|
||||
}var d=this.style.cssText;this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText=d;}.bind(this);
|
||||
},getDimensions:function(d){d=Object.merge({computeSize:false},d);var i={x:0,y:0};var h=function(j,e){return(e.computeSize)?j.getComputedSize(e):j.getSize();
|
||||
};var f=this.getParent("body");if(f&&this.getStyle("display")=="none"){i=this.measure(function(){return h(this,d);});}else{if(f){try{i=h(this,d);}catch(g){}}}return Object.append(i,(i.x||i.x===0)?{width:i.x,height:i.y}:{x:i.width,y:i.height});
|
||||
},getComputedSize:function(d){if(d&&d.plains){d.planes=d.plains;}d=Object.merge({styles:["padding","border"],planes:{height:["top","bottom"],width:["left","right"]},mode:"both"},d);
|
||||
var g={},e={width:0,height:0},f;if(d.mode=="vertical"){delete e.width;delete d.planes.width;}else{if(d.mode=="horizontal"){delete e.height;delete d.planes.height;
|
||||
}}b(d.styles,d.planes).each(function(h){g[h]=this.getStyle(h).toInt();},this);Object.each(d.planes,function(i,h){var k=h.capitalize(),j=this.getStyle(h);
|
||||
if(j=="auto"&&!f){f=this.getDimensions();}j=g[h]=(j=="auto")?f[h]:j.toInt();e["total"+k]=j;i.each(function(m){var l=c(m,g);e["computed"+m.capitalize()]=l;
|
||||
e["total"+k]+=l;});},this);return Object.append(e,g);}});})();(function(b){var a=Element.Position={options:{relativeTo:document.body,position:{x:"center",y:"center"},offset:{x:0,y:0}},getOptions:function(d,c){c=Object.merge({},a.options,c);
|
||||
a.setPositionOption(c);a.setEdgeOption(c);a.setOffsetOption(d,c);a.setDimensionsOption(d,c);return c;},setPositionOption:function(c){c.position=a.getCoordinateFromValue(c.position);
|
||||
},setEdgeOption:function(d){var c=a.getCoordinateFromValue(d.edge);d.edge=c?c:(d.position.x=="center"&&d.position.y=="center")?{x:"center",y:"center"}:{x:"left",y:"top"};
|
||||
},setOffsetOption:function(f,d){var c={x:0,y:0},g=f.measure(function(){return document.id(this.getOffsetParent());}),e=g.getScroll();if(!g||g==f.getDocument().body){return;
|
||||
}c=g.measure(function(){var i=this.getPosition();if(this.getStyle("position")=="fixed"){var h=window.getScroll();i.x+=h.x;i.y+=h.y;}return i;});d.offset={parentPositioned:g!=document.id(d.relativeTo),x:d.offset.x-c.x+e.x,y:d.offset.y-c.y+e.y};
|
||||
},setDimensionsOption:function(d,c){c.dimensions=d.getDimensions({computeSize:true,styles:["padding","border","margin"]});},getPosition:function(e,d){var c={};
|
||||
d=a.getOptions(e,d);var f=document.id(d.relativeTo)||document.body;a.setPositionCoordinates(d,c,f);if(d.edge){a.toEdge(c,d);}var g=d.offset;c.left=((c.x>=0||g.parentPositioned||d.allowNegative)?c.x:0).toInt();
|
||||
c.top=((c.y>=0||g.parentPositioned||d.allowNegative)?c.y:0).toInt();a.toMinMax(c,d);if(d.relFixedPosition||f.getStyle("position")=="fixed"){a.toRelFixedPosition(f,c);
|
||||
}if(d.ignoreScroll){a.toIgnoreScroll(f,c);}if(d.ignoreMargins){a.toIgnoreMargins(c,d);}c.left=Math.ceil(c.left);c.top=Math.ceil(c.top);delete c.x;delete c.y;
|
||||
return c;},setPositionCoordinates:function(k,g,d){var f=k.offset.y,h=k.offset.x,e=(d==document.body)?window.getScroll():d.getPosition(),j=e.y,c=e.x,i=window.getSize();
|
||||
switch(k.position.x){case"left":g.x=c+h;break;case"right":g.x=c+h+d.offsetWidth;break;default:g.x=c+((d==document.body?i.x:d.offsetWidth)/2)+h;break;}switch(k.position.y){case"top":g.y=j+f;
|
||||
break;case"bottom":g.y=j+f+d.offsetHeight;break;default:g.y=j+((d==document.body?i.y:d.offsetHeight)/2)+f;break;}},toMinMax:function(c,d){var f={left:"x",top:"y"},e;
|
||||
["minimum","maximum"].each(function(g){["left","top"].each(function(h){e=d[g]?d[g][f[h]]:null;if(e!=null&&((g=="minimum")?c[h]<e:c[h]>e)){c[h]=e;}});});
|
||||
},toRelFixedPosition:function(e,c){var d=window.getScroll();c.top+=d.y;c.left+=d.x;},toIgnoreScroll:function(e,d){var c=e.getScroll();d.top-=c.y;d.left-=c.x;
|
||||
},toIgnoreMargins:function(c,d){c.left+=d.edge.x=="right"?d.dimensions["margin-right"]:(d.edge.x!="center"?-d.dimensions["margin-left"]:-d.dimensions["margin-left"]+((d.dimensions["margin-right"]+d.dimensions["margin-left"])/2));
|
||||
c.top+=d.edge.y=="bottom"?d.dimensions["margin-bottom"]:(d.edge.y!="center"?-d.dimensions["margin-top"]:-d.dimensions["margin-top"]+((d.dimensions["margin-bottom"]+d.dimensions["margin-top"])/2));
|
||||
},toEdge:function(c,d){var e={},g=d.dimensions,f=d.edge;switch(f.x){case"left":e.x=0;break;case"right":e.x=-g.x-g.computedRight-g.computedLeft;break;default:e.x=-(Math.round(g.totalWidth/2));
|
||||
break;}switch(f.y){case"top":e.y=0;break;case"bottom":e.y=-g.y-g.computedTop-g.computedBottom;break;default:e.y=-(Math.round(g.totalHeight/2));break;}c.x+=e.x;
|
||||
c.y+=e.y;},getCoordinateFromValue:function(c){if(typeOf(c)!="string"){return c;}c=c.toLowerCase();return{x:c.test("left")?"left":(c.test("right")?"right":"center"),y:c.test(/upper|top/)?"top":(c.test("bottom")?"bottom":"center")};
|
||||
}};Element.implement({position:function(d){if(d&&(d.x!=null||d.y!=null)){return(b?b.apply(this,arguments):this);}var c=this.setStyle("position","absolute").calculatePosition(d);
|
||||
return(d&&d.returnPos)?c:this.setStyles(c);},calculatePosition:function(c){return a.getPosition(this,c);}});})(Element.prototype.position);Fx.Move=new Class({Extends:Fx.Morph,options:{relativeTo:document.body,position:"center",edge:false,offset:{x:0,y:0}},start:function(a){var b=this.element,c=b.getStyles("top","left");
|
||||
if(c.top=="auto"||c.left=="auto"){b.setPosition(b.getPosition(b.getOffsetParent()));}return this.parent(b.position(Object.merge({},this.options,a,{returnPos:true})));
|
||||
}});Element.Properties.move={set:function(a){this.get("move").cancel().setOptions(a);return this;},get:function(){var a=this.retrieve("move");if(!a){a=new Fx.Move(this,{link:"cancel"});
|
||||
this.store("move",a);}return a;}};Element.implement({move:function(a){this.get("move").start(a);return this;}});Element.implement({isDisplayed:function(){return this.getStyle("display")!="none";
|
||||
},isVisible:function(){var a=this.offsetWidth,b=this.offsetHeight;return(a==0&&b==0)?false:(a>0&&b>0)?true:this.style.display!="none";},toggle:function(){return this[this.isDisplayed()?"hide":"show"]();
|
||||
},hide:function(){var b;try{b=this.getStyle("display");}catch(a){}if(b=="none"){return this;}return this.store("element:_originalDisplay",b||"").setStyle("display","none");
|
||||
},show:function(a){if(!a&&this.isDisplayed()){return this;}a=a||this.retrieve("element:_originalDisplay")||"block";return this.setStyle("display",(a=="none")?"block":a);
|
||||
},swapClass:function(a,b){return this.removeClass(a).addClass(b);}});Document.implement({clearSelection:function(){if(window.getSelection){var a=window.getSelection();
|
||||
if(a&&a.removeAllRanges){a.removeAllRanges();}}else{if(document.selection&&document.selection.empty){try{document.selection.empty();}catch(b){}}}}});(function(){var a=function(d){var b=d.options.hideInputs;
|
||||
if(window.OverText){var c=[null];OverText.each(function(e){c.include("."+e.options.labelClass);});if(c){b+=c.join(", ");}}return(b)?d.element.getElements(b):null;
|
||||
};Fx.Reveal=new Class({Extends:Fx.Morph,options:{link:"cancel",styles:["padding","border","margin"],transitionOpacity:!Browser.ie6,mode:"vertical",display:function(){return this.element.get("tag")!="tr"?"block":"table-row";
|
||||
},opacity:1,hideInputs:Browser.ie?"select, input, textarea, object, embed":null},dissolve:function(){if(!this.hiding&&!this.showing){if(this.element.getStyle("display")!="none"){this.hiding=true;
|
||||
this.showing=false;this.hidden=true;this.cssText=this.element.style.cssText;var d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});
|
||||
if(this.options.transitionOpacity){d.opacity=this.options.opacity;}var c={};Object.each(d,function(f,e){c[e]=[f,0];});this.element.setStyles({display:Function.from(this.options.display).call(this),overflow:"hidden"});
|
||||
var b=a(this);if(b){b.setStyle("visibility","hidden");}this.$chain.unshift(function(){if(this.hidden){this.hiding=false;this.element.style.cssText=this.cssText;
|
||||
this.element.setStyle("display","none");if(b){b.setStyle("visibility","visible");}}this.fireEvent("hide",this.element);this.callChain();}.bind(this));this.start(c);
|
||||
}else{this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("hide",this.element);}}else{if(this.options.link=="chain"){this.chain(this.dissolve.bind(this));
|
||||
}else{if(this.options.link=="cancel"&&!this.hiding){this.cancel();this.dissolve();}}}return this;},reveal:function(){if(!this.showing&&!this.hiding){if(this.element.getStyle("display")=="none"){this.hiding=false;
|
||||
this.showing=true;this.hidden=false;this.cssText=this.element.style.cssText;var d;this.element.measure(function(){d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});
|
||||
}.bind(this));if(this.options.heightOverride!=null){d.height=this.options.heightOverride.toInt();}if(this.options.widthOverride!=null){d.width=this.options.widthOverride.toInt();
|
||||
}if(this.options.transitionOpacity){this.element.setStyle("opacity",0);d.opacity=this.options.opacity;}var c={height:0,display:Function.from(this.options.display).call(this)};
|
||||
Object.each(d,function(f,e){c[e]=0;});c.overflow="hidden";this.element.setStyles(c);var b=a(this);if(b){b.setStyle("visibility","hidden");}this.$chain.unshift(function(){this.element.style.cssText=this.cssText;
|
||||
this.element.setStyle("display",Function.from(this.options.display).call(this));if(!this.hidden){this.showing=false;}if(b){b.setStyle("visibility","visible");
|
||||
}this.callChain();this.fireEvent("show",this.element);}.bind(this));this.start(d);}else{this.callChain();this.fireEvent("complete",this.element);this.fireEvent("show",this.element);
|
||||
}}else{if(this.options.link=="chain"){this.chain(this.reveal.bind(this));}else{if(this.options.link=="cancel"&&!this.showing){this.cancel();this.reveal();
|
||||
}}}return this;},toggle:function(){if(this.element.getStyle("display")=="none"){this.reveal();}else{this.dissolve();}return this;},cancel:function(){this.parent.apply(this,arguments);
|
||||
if(this.cssText!=null){this.element.style.cssText=this.cssText;}this.hiding=false;this.showing=false;return this;}});Element.Properties.reveal={set:function(b){this.get("reveal").cancel().setOptions(b);
|
||||
return this;},get:function(){var b=this.retrieve("reveal");if(!b){b=new Fx.Reveal(this);this.store("reveal",b);}return b;}};Element.Properties.dissolve=Element.Properties.reveal;
|
||||
Element.implement({reveal:function(b){this.get("reveal").setOptions(b).reveal();return this;},dissolve:function(b){this.get("reveal").setOptions(b).dissolve();
|
||||
return this;},nix:function(b){var c=Array.link(arguments,{destroy:Type.isBoolean,options:Type.isObject});this.get("reveal").setOptions(b).dissolve().chain(function(){this[c.destroy?"destroy":"dispose"]();
|
||||
}.bind(this));return this;},wink:function(){var c=Array.link(arguments,{duration:Type.isNumber,options:Type.isObject});var b=this.get("reveal").setOptions(c.options);
|
||||
b.reveal().chain(function(){(function(){b.dissolve();}).delay(c.duration||2000);});}});})();(function(){Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(c,b){this.element=this.subject=document.id(c);
|
||||
this.parent(b);if(typeOf(this.element)!="element"){this.element=document.id(this.element.getDocument().body);}if(this.options.wheelStops){var d=this.element,e=this.cancel.pass(false,this);
|
||||
this.addEvent("start",function(){d.addEvent("mousewheel",e);},true);this.addEvent("complete",function(){d.removeEvent("mousewheel",e);},true);}},set:function(){var b=Array.flatten(arguments);
|
||||
if(Browser.firefox){b=[Math.round(b[0]),Math.round(b[1])];}this.element.scrollTo(b[0],b[1]);return this;},compute:function(d,c,b){return[0,1].map(function(e){return Fx.compute(d[e],c[e],b);
|
||||
});},start:function(c,d){if(!this.check(c,d)){return this;}var b=this.element.getScroll();return this.parent([b.x,b.y],[c,d]);},calculateScroll:function(g,f){var d=this.element,b=d.getScrollSize(),h=d.getScroll(),j=d.getSize(),c=this.options.offset,i={x:g,y:f};
|
||||
for(var e in i){if(!i[e]&&i[e]!==0){i[e]=h[e];}if(typeOf(i[e])!="number"){i[e]=b[e]-j[e];}i[e]+=c[e];}return[i.x,i.y];},toTop:function(){return this.start.apply(this,this.calculateScroll(false,0));
|
||||
},toLeft:function(){return this.start.apply(this,this.calculateScroll(0,false));},toRight:function(){return this.start.apply(this,this.calculateScroll("right",false));
|
||||
},toBottom:function(){return this.start.apply(this,this.calculateScroll(false,"bottom"));},toElement:function(d,e){e=e?Array.from(e):["x","y"];var c=a(this.element)?{x:0,y:0}:this.element.getScroll();
|
||||
var b=Object.map(document.id(d).getPosition(this.element),function(g,f){return e.contains(f)?g+c[f]:false;});return this.start.apply(this,this.calculateScroll(b.x,b.y));
|
||||
},toElementEdge:function(d,g,e){g=g?Array.from(g):["x","y"];d=document.id(d);var i={},f=d.getPosition(this.element),j=d.getSize(),h=this.element.getScroll(),b=this.element.getSize(),c={x:f.x+j.x,y:f.y+j.y};
|
||||
["x","y"].each(function(k){if(g.contains(k)){if(c[k]>h[k]+b[k]){i[k]=c[k]-b[k];}if(f[k]<h[k]){i[k]=f[k];}}if(i[k]==null){i[k]=h[k];}if(e&&e[k]){i[k]=i[k]+e[k];
|
||||
}},this);if(i.x!=h.x||i.y!=h.y){this.start(i.x,i.y);}return this;},toElementCenter:function(e,f,h){f=f?Array.from(f):["x","y"];e=document.id(e);var i={},c=e.getPosition(this.element),d=e.getSize(),b=this.element.getScroll(),g=this.element.getSize();
|
||||
["x","y"].each(function(j){if(f.contains(j)){i[j]=c[j]-(g[j]-d[j])/2;}if(i[j]==null){i[j]=b[j];}if(h&&h[j]){i[j]=i[j]+h[j];}},this);if(i.x!=b.x||i.y!=b.y){this.start(i.x,i.y);
|
||||
}return this;}});Fx.Scroll.implement({scrollToCenter:function(){return this.toElementCenter.apply(this,arguments);},scrollIntoView:function(){return this.toElementEdge.apply(this,arguments);
|
||||
}});function a(b){return(/^(?:body|html)$/i).test(b.tagName);}})();Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical",wrapper:false,hideOverflow:true,resetHeight:false},initialize:function(b,a){b=this.element=this.subject=document.id(b);
|
||||
this.parent(a);a=this.options;var d=b.retrieve("wrapper"),c=b.getStyles("margin","position","overflow");if(a.hideOverflow){c=Object.append(c,{overflow:"hidden"});
|
||||
}if(a.wrapper){d=document.id(a.wrapper).setStyles(c);}if(!d){d=new Element("div",{styles:c}).wraps(b);}b.store("wrapper",d).setStyle("margin",0);if(b.getStyle("overflow")=="visible"){b.setStyle("overflow","hidden");
|
||||
}this.now=[];this.open=true;this.wrapper=d;this.addEvent("complete",function(){this.open=(d["offset"+this.layout.capitalize()]!=0);if(this.open&&this.options.resetHeight){d.setStyle("height","");
|
||||
}},true);},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;},horizontal:function(){this.margin="margin-left";
|
||||
this.layout="width";this.offset=this.element.offsetWidth;},set:function(a){this.element.setStyle(this.margin,a[0]);this.wrapper.setStyle(this.layout,a[1]);
|
||||
return this;},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(b,e){if(!this.check(b,e)){return this;
|
||||
}this[e||this.options.mode]();var d=this.element.getStyle(this.margin).toInt(),c=this.wrapper.getStyle(this.layout).toInt(),a=[[d,c],[0,this.offset]],g=[[d,c],[-this.offset,0]],f;
|
||||
switch(b){case"in":f=a;break;case"out":f=g;break;case"toggle":f=(c==0)?a:g;}return this.parent(f[0],f[1]);},slideIn:function(a){return this.start("in",a);
|
||||
},slideOut:function(a){return this.start("out",a);},hide:function(a){this[a||this.options.mode]();this.open=false;return this.set([-this.offset,0]);},show:function(a){this[a||this.options.mode]();
|
||||
this.open=true;return this.set([0,this.offset]);},toggle:function(a){return this.start("toggle",a);}});Element.Properties.slide={set:function(a){this.get("slide").cancel().setOptions(a);
|
||||
return this;},get:function(){var a=this.retrieve("slide");if(!a){a=new Fx.Slide(this,{link:"cancel"});this.store("slide",a);}return a;}};Element.implement({slide:function(d,e){d=d||"toggle";
|
||||
var b=this.get("slide"),a;switch(d){case"hide":b.hide(e);break;case"show":b.show(e);break;case"toggle":var c=this.retrieve("slide:flag",b.open);b[c?"slideOut":"slideIn"](e);
|
||||
this.store("slide:flag",!c);a=true;break;default:b.start(d,e);}if(!a){this.eliminate("slide:flag");}return this;}});var SmoothScroll=Fx.SmoothScroll=new Class({Extends:Fx.Scroll,options:{axes:["x","y"]},initialize:function(c,d){d=d||document;
|
||||
this.doc=d.getDocument();this.parent(this.doc,c);var e=d.getWindow(),a=e.location.href.match(/^[^#]*/)[0]+"#",b=$$(this.options.links||this.doc.links);
|
||||
b.each(function(g){if(g.href.indexOf(a)!=0){return;}var f=g.href.substr(a.length);if(f){this.useLink(g,f);}},this);this.addEvent("complete",function(){e.location.hash=this.anchor;
|
||||
this.element.scrollTo(this.to[0],this.to[1]);},true);},useLink:function(b,a){b.addEvent("click",function(d){var c=document.id(a)||this.doc.getElement("a[name="+a+"]");
|
||||
if(!c){return;}d.preventDefault();this.toElement(c,this.options.axes).chain(function(){this.fireEvent("scrolledTo",[b,c]);}.bind(this));this.anchor=a;}.bind(this));
|
||||
return this;}});Fx.Sort=new Class({Extends:Fx.Elements,options:{mode:"vertical"},initialize:function(b,a){this.parent(b,a);this.elements.each(function(c){if(c.getStyle("position")=="static"){c.setStyle("position","relative");
|
||||
}});this.setDefaultOrder();},setDefaultOrder:function(){this.currentOrder=this.elements.map(function(b,a){return a;});},sort:function(){if(!this.check(arguments)){return this;
|
||||
}var e=Array.flatten(arguments);var i=0,a=0,c={},h={},d=this.options.mode=="vertical";var f=this.elements.map(function(m,k){var l=m.getComputedSize({styles:["border","padding","margin"]});
|
||||
var n;if(d){n={top:i,margin:l["margin-top"],height:l.totalHeight};i+=n.height-l["margin-top"];}else{n={left:a,margin:l["margin-left"],width:l.totalWidth};
|
||||
a+=n.width;}var j=d?"top":"left";h[k]={};var o=m.getStyle(j).toInt();h[k][j]=o||0;return n;},this);this.set(h);e=e.map(function(j){return j.toInt();});
|
||||
if(e.length!=this.elements.length){this.currentOrder.each(function(j){if(!e.contains(j)){e.push(j);}});if(e.length>this.elements.length){e.splice(this.elements.length-1,e.length-this.elements.length);
|
||||
}}var b=0;i=a=0;e.each(function(k){var j={};if(d){j.top=i-f[k].top-b;i+=f[k].height;}else{j.left=a-f[k].left;a+=f[k].width;}b=b+f[k].margin;c[k]=j;},this);
|
||||
var g={};Array.clone(e).sort().each(function(j){g[j]=c[j];});this.start(g);this.currentOrder=e;return this;},rearrangeDOM:function(a){a=a||this.currentOrder;
|
||||
var b=this.elements[0].getParent();var c=[];this.elements.setStyle("opacity",0);a.each(function(d){c.push(this.elements[d].inject(b).setStyles({top:0,left:0}));
|
||||
},this);this.elements.setStyle("opacity",1);this.elements=$$(c);this.setDefaultOrder();return this;},getDefaultOrder:function(){return this.elements.map(function(b,a){return a;
|
||||
});},getCurrentOrder:function(){return this.currentOrder;},forward:function(){return this.sort(this.getDefaultOrder());},backward:function(){return this.sort(this.getDefaultOrder().reverse());
|
||||
},reverse:function(){return this.sort(this.currentOrder.reverse());},sortByElements:function(a){return this.sort(a.map(function(b){return this.elements.indexOf(b);
|
||||
},this));},swap:function(c,b){if(typeOf(c)=="element"){c=this.elements.indexOf(c);}if(typeOf(b)=="element"){b=this.elements.indexOf(b);}var a=Array.clone(this.currentOrder);
|
||||
a[this.currentOrder.indexOf(c)]=b;a[this.currentOrder.indexOf(b)]=c;return this.sort(a);}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,stopPropagation:false,modifiers:{x:"left",y:"top"}},initialize:function(){var b=Array.link(arguments,{options:Type.isObject,element:function(c){return c!=null;
|
||||
}});this.element=document.id(b.element);this.document=this.element.getDocument();this.setOptions(b.options||{});var a=typeOf(this.options.handle);this.handles=((a=="array"||a=="collection")?$$(this.options.handle):document.id(this.options.handle))||this.element;
|
||||
this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.ie)?"selectstart":"mousedown";if(Browser.ie&&!Drag.ondragstartFixed){document.ondragstart=Function.from(false);
|
||||
Drag.ondragstartFixed=true;}this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:Function.from(false)};
|
||||
this.attach();},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this;},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);
|
||||
return this;},start:function(a){var j=this.options;if(a.rightClick){return;}if(j.preventDefault){a.preventDefault();}if(j.stopPropagation){a.stopPropagation();
|
||||
}this.mouse.start=a.page;this.fireEvent("beforeStart",this.element);var c=j.limit;this.limit={x:[],y:[]};var e,g;for(e in j.modifiers){if(!j.modifiers[e]){continue;
|
||||
}var b=this.element.getStyle(j.modifiers[e]);if(b&&!b.match(/px$/)){if(!g){g=this.element.getCoordinates(this.element.getOffsetParent());}b=g[j.modifiers[e]];
|
||||
}if(j.style){this.value.now[e]=(b||0).toInt();}else{this.value.now[e]=this.element[j.modifiers[e]];}if(j.invert){this.value.now[e]*=-1;}this.mouse.pos[e]=a.page[e]-this.value.now[e];
|
||||
if(c&&c[e]){var d=2;while(d--){var f=c[e][d];if(f||f===0){this.limit[e][d]=(typeof f=="function")?f():f;}}}}if(typeOf(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};
|
||||
}var h={mousemove:this.bound.check,mouseup:this.bound.cancel};h[this.selection]=this.bound.eventStop;this.document.addEvents(h);},check:function(a){if(this.options.preventDefault){a.preventDefault();
|
||||
}var b=Math.round(Math.sqrt(Math.pow(a.page.x-this.mouse.start.x,2)+Math.pow(a.page.y-this.mouse.start.y,2)));if(b>this.options.snap){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});
|
||||
this.fireEvent("start",[this.element,a]).fireEvent("snap",this.element);}},drag:function(b){var a=this.options;if(a.preventDefault){b.preventDefault();
|
||||
}this.mouse.now=b.page;for(var c in a.modifiers){if(!a.modifiers[c]){continue;}this.value.now[c]=this.mouse.now[c]-this.mouse.pos[c];if(a.invert){this.value.now[c]*=-1;
|
||||
}if(a.limit&&this.limit[c]){if((this.limit[c][1]||this.limit[c][1]===0)&&(this.value.now[c]>this.limit[c][1])){this.value.now[c]=this.limit[c][1];}else{if((this.limit[c][0]||this.limit[c][0]===0)&&(this.value.now[c]<this.limit[c][0])){this.value.now[c]=this.limit[c][0];
|
||||
}}}if(a.grid[c]){this.value.now[c]-=((this.value.now[c]-(this.limit[c][0]||0))%a.grid[c]);}if(a.style){this.element.setStyle(a.modifiers[c],this.value.now[c]+a.unit);
|
||||
}else{this.element[a.modifiers[c]]=this.value.now[c];}}this.fireEvent("drag",[this.element,b]);},cancel:function(a){this.document.removeEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});
|
||||
if(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element);}},stop:function(b){var a={mousemove:this.bound.drag,mouseup:this.bound.stop};
|
||||
a[this.selection]=this.bound.eventStop;this.document.removeEvents(a);if(b){this.fireEvent("complete",[this.element,b]);}}});Element.implement({makeResizable:function(a){var b=new Drag(this,Object.merge({modifiers:{x:"width",y:"height"}},a));
|
||||
this.store("resizer",b);return b.addEvent("drag",function(){this.fireEvent("resize",b);}.bind(this));}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false,precalculate:false,includeMargins:true,checkDroppables:true},initialize:function(b,a){this.parent(b,a);
|
||||
b=this.element;this.droppables=$$(this.options.droppables);this.container=document.id(this.options.container);if(this.container&&typeOf(this.container)!="element"){this.container=document.id(this.container.getDocument().body);
|
||||
}if(this.options.style){if(this.options.modifiers.x=="left"&&this.options.modifiers.y=="top"){var c=b.getOffsetParent(),d=b.getStyles("left","top");if(c&&(d.left=="auto"||d.top=="auto")){b.setPosition(b.getPosition(c));
|
||||
}}if(b.getStyle("position")=="static"){b.setStyle("position","absolute");}}this.addEvent("start",this.checkDroppables,true);this.overed=null;},start:function(a){if(this.container){this.options.limit=this.calculateLimit();
|
||||
}if(this.options.precalculate){this.positions=this.droppables.map(function(b){return b.getCoordinates();});}this.parent(a);},calculateLimit:function(){var j=this.element,e=this.container,d=document.id(j.getOffsetParent())||document.body,h=e.getCoordinates(d),c={},b={},k={},g={},m={};
|
||||
["top","right","bottom","left"].each(function(q){c[q]=j.getStyle("margin-"+q).toInt();b[q]=j.getStyle("border-"+q).toInt();k[q]=e.getStyle("margin-"+q).toInt();
|
||||
g[q]=e.getStyle("border-"+q).toInt();m[q]=d.getStyle("padding-"+q).toInt();},this);var f=j.offsetWidth+c.left+c.right,p=j.offsetHeight+c.top+c.bottom,i=0,l=0,o=h.right-g.right-f,a=h.bottom-g.bottom-p;
|
||||
if(this.options.includeMargins){i+=c.left;l+=c.top;}else{o+=c.right;a+=c.bottom;}if(j.getStyle("position")=="relative"){var n=j.getCoordinates(d);n.left-=j.getStyle("left").toInt();
|
||||
n.top-=j.getStyle("top").toInt();i-=n.left;l-=n.top;if(e.getStyle("position")!="relative"){i+=g.left;l+=g.top;}o+=c.left-n.left;a+=c.top-n.top;if(e!=d){i+=k.left+m.left;
|
||||
l+=((Browser.ie6||Browser.ie7)?0:k.top)+m.top;}}else{i-=c.left;l-=c.top;if(e!=d){i+=h.left+g.left;l+=h.top+g.top;}}return{x:[i,o],y:[l,a]};},getDroppableCoordinates:function(c){var b=c.getCoordinates();
|
||||
if(c.getStyle("position")=="fixed"){var a=window.getScroll();b.left+=a.x;b.right+=a.x;b.top+=a.y;b.bottom+=a.y;}return b;},checkDroppables:function(){var a=this.droppables.filter(function(d,c){d=this.positions?this.positions[c]:this.getDroppableCoordinates(d);
|
||||
var b=this.mouse.now;return(b.x>d.left&&b.x<d.right&&b.y<d.bottom&&b.y>d.top);},this).getLast();if(this.overed!=a){if(this.overed){this.fireEvent("leave",[this.element,this.overed]);
|
||||
}if(a){this.fireEvent("enter",[this.element,a]);}this.overed=a;}},drag:function(a){this.parent(a);if(this.options.checkDroppables&&this.droppables.length){this.checkDroppables();
|
||||
}},stop:function(a){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed,a]);this.overed=null;return this.parent(a);}});Element.implement({makeDraggable:function(a){var b=new Drag.Move(this,a);
|
||||
this.store("dragger",b);return b;}});(function(){var a=this.Color=new Type("Color",function(c,d){if(arguments.length>=3){d="rgb";c=Array.slice(arguments,0,3);
|
||||
}else{if(typeof c=="string"){if(c.match(/rgb/)){c=c.rgbToHex().hexToRgb(true);}else{if(c.match(/hsb/)){c=c.hsbToRgb();}else{c=c.hexToRgb(true);}}}}d=d||"rgb";
|
||||
switch(d){case"hsb":var b=c;c=c.hsbToRgb();c.hsb=b;break;case"hex":c=c.hexToRgb(true);break;}c.rgb=c.slice(0,3);c.hsb=c.hsb||c.rgbToHsb();c.hex=c.rgbToHex();
|
||||
return Object.append(c,this);});a.implement({mix:function(){var b=Array.slice(arguments);var d=(typeOf(b.getLast())=="number")?b.pop():50;var c=this.slice();
|
||||
b.each(function(e){e=new a(e);for(var f=0;f<3;f++){c[f]=Math.round((c[f]/100*(100-d))+(e[f]/100*d));}});return new a(c,"rgb");},invert:function(){return new a(this.map(function(b){return 255-b;
|
||||
}));},setHue:function(b){return new a([b,this.hsb[1],this.hsb[2]],"hsb");},setSaturation:function(b){return new a([this.hsb[0],b,this.hsb[2]],"hsb");},setBrightness:function(b){return new a([this.hsb[0],this.hsb[1],b],"hsb");
|
||||
}});this.$RGB=function(e,d,c){return new a([e,d,c],"rgb");};this.$HSB=function(e,d,c){return new a([e,d,c],"hsb");};this.$HEX=function(b){return new a(b,"hex");
|
||||
};Array.implement({rgbToHsb:function(){var c=this[0],d=this[1],k=this[2],h=0;var j=Math.max(c,d,k),f=Math.min(c,d,k);var l=j-f;var i=j/255,g=(j!=0)?l/j:0;
|
||||
if(g!=0){var e=(j-c)/l;var b=(j-d)/l;var m=(j-k)/l;if(c==j){h=m-b;}else{if(d==j){h=2+e-m;}else{h=4+b-e;}}h/=6;if(h<0){h++;}}return[Math.round(h*360),Math.round(g*100),Math.round(i*100)];
|
||||
},hsbToRgb:function(){var d=Math.round(this[2]/100*255);if(this[1]==0){return[d,d,d];}else{var b=this[0]%360;var g=b%60;var h=Math.round((this[2]*(100-this[1]))/10000*255);
|
||||
var e=Math.round((this[2]*(6000-this[1]*g))/600000*255);var c=Math.round((this[2]*(6000-this[1]*(60-g)))/600000*255);switch(Math.floor(b/60)){case 0:return[d,c,h];
|
||||
case 1:return[e,d,h];case 2:return[h,d,c];case 3:return[h,e,d];case 4:return[c,h,d];case 5:return[d,h,e];}}return false;}});String.implement({rgbToHsb:function(){var b=this.match(/\d{1,3}/g);
|
||||
return(b)?b.rgbToHsb():null;},hsbToRgb:function(){var b=this.match(/\d{1,3}/g);return(b)?b.hsbToRgb():null;}});})();
|
File diff suppressed because it is too large
Load Diff
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
var IconPanel = new Class({
|
||||
Extends:Options,
|
||||
options:{
|
||||
width:253,
|
||||
initialWidth:0,
|
||||
@ -95,6 +96,4 @@ var IconPanel = new Class({
|
||||
this.close();
|
||||
}.bindWithEvent(this));
|
||||
}
|
||||
});
|
||||
|
||||
IconPanel.implement(new Events, new Options);
|
||||
});
|
@ -1,20 +1,20 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/******************************************************************/
|
||||
/* MOOdalBox 1.3.b4 */
|
||||
@ -39,8 +39,8 @@
|
||||
// (defined as vars, because of MSIE's lack of support for const)
|
||||
|
||||
var _ERROR_MESSAGE = "Oops.. there was a problem with your request.<br /><br />" +
|
||||
"Please try again.<br /><br />" +
|
||||
"<em>Click anywhere to close.</em>";
|
||||
"Please try again.<br /><br />" +
|
||||
"<em>Click anywhere to close.</em>";
|
||||
// the error message displayed when the request has a problem
|
||||
var _RESIZE_DURATION = 400;
|
||||
// Duration of height and width resizing (ms)
|
||||
@ -96,26 +96,30 @@ var MOOdalBox = {
|
||||
this.forms = [];
|
||||
this.scanForms(document.body, false);
|
||||
// add event listeners
|
||||
this.eventKeyDown = this.keyboardListener.bindWithEvent(this);
|
||||
|
||||
// @Todo: Deprecated method ...
|
||||
// this.eventKeyDown = this.keyboardListener.bindWithEvent(this);
|
||||
|
||||
|
||||
this.eventPosition = this.position.bind(this);
|
||||
|
||||
// init the HTML elements
|
||||
// the overlay (clickable to close)
|
||||
this.overlay = new Element('div').setProperty('id', 'mb_overlay').injectInside(document.body);
|
||||
this.overlay = new Element('div').setProperty('id', 'mb_overlay').inject(document.body);
|
||||
|
||||
this.overlayDiv = new Element('div').setOpacity(0).setStyles({position: 'absolute', border: 0, width: '100%', backgroundColor: "black", zIndex: 98}).injectInside(document.body);
|
||||
this.overlayDiv = new Element('div').setOpacity(0).setStyles({position: 'absolute', border: 0, width: '100%', backgroundColor: "black", zIndex: 98}).inject(document.body);
|
||||
// the center element
|
||||
this.center = new Element('div').setProperty('id', 'mb_center').setStyles({width: this.options.initialWidth + 'px', height: this.options.initialHeight + 'px', marginLeft: '-' + (this.options.initialWidth / 2) + 'px', display: 'none'}).injectInside(document.body);
|
||||
this.center = new Element('div').setProperty('id', 'mb_center').setStyles({width: this.options.initialWidth + 'px', height: this.options.initialHeight + 'px', marginLeft: '-' + (this.options.initialWidth / 2) + 'px', display: 'none'}).inject(document.body);
|
||||
// the actual page contents
|
||||
this.contents = new Element('div').setProperty('id', 'mb_contents').injectInside(this.center);
|
||||
this.contents = new Element('div').setProperty('id', 'mb_contents').inject(this.center);
|
||||
|
||||
// the bottom part (caption / close)
|
||||
this.bottom = new Element('div').setProperty('id', 'mb_bottom').setStyle('display', 'none').injectInside(document.body);
|
||||
this.closelink = new Element('a').setProperties({id: 'mb_close_link', href: '#'}).injectInside(this.bottom);
|
||||
this.caption = new Element('div').setProperty('id', 'mb_caption').injectInside(this.bottom);
|
||||
new Element('div').setStyle('clear', 'both').injectInside(this.bottom);
|
||||
this.bottom = new Element('div').setProperty('id', 'mb_bottom').setStyle('display', 'none').inject(document.body);
|
||||
this.closelink = new Element('a').setProperties({id: 'mb_close_link', href: '#'}).inject(this.bottom);
|
||||
this.caption = new Element('div').setProperty('id', 'mb_caption').inject(this.bottom);
|
||||
new Element('div').setStyle('clear', 'both').inject(this.bottom);
|
||||
|
||||
this.error = new Element('div').setProperty('id', 'mb_error').setHTML(_ERROR_MESSAGE);
|
||||
this.error = new Element('div').setProperty('id', 'mb_error').innerHTML = _ERROR_MESSAGE;
|
||||
|
||||
// attach the close event to the close button / the overlay
|
||||
this.closelink.onclick = this.overlay.onclick = this.close.bind(this);
|
||||
@ -123,7 +127,7 @@ var MOOdalBox = {
|
||||
// init the effects
|
||||
var nextEffect = this.nextEffect.bind(this);
|
||||
this.fx = {
|
||||
overlay: this.overlay.effect('opacity', { duration: 500 }).hide(),
|
||||
overlay: new Fx.Morph(this.overlay).set({'opacity':0, duration: 500 }).hide(),
|
||||
resize: this.center.effects({ onComplete: nextEffect }),
|
||||
contents: this.contents.effect('opacity', { duration: 500, onComplete: nextEffect }),
|
||||
bottom: this.bottom.effects({ duration: 400, onComplete: nextEffect })
|
||||
@ -308,8 +312,8 @@ var MOOdalBox = {
|
||||
},
|
||||
|
||||
ajaxFailure: function () {
|
||||
this.contents.setHTML('');
|
||||
this.error.clone().injectInside(this.contents);
|
||||
this.contents.innerHTML = '';
|
||||
this.error.clone().inject(this.contents);
|
||||
this.nextEffect();
|
||||
this.center.setStyle('cursor', 'pointer');
|
||||
this.bottom.setStyle('cursor', 'pointer');
|
||||
@ -323,13 +327,13 @@ var MOOdalBox = {
|
||||
nextEffect: function() {
|
||||
switch (this.step++) {
|
||||
case 1:
|
||||
// remove previous styling from the elements
|
||||
// (e.g. styling applied in case of an error)
|
||||
// remove previous styling from the elements
|
||||
// (e.g. styling applied in case of an error)
|
||||
this.center.className = '';
|
||||
this.center.setStyle('cursor', 'default');
|
||||
this.bottom.setStyle('cursor', 'default');
|
||||
this.center.onclick = this.bottom.onclick = '';
|
||||
this.caption.setHTML(this.title);
|
||||
this.caption.innerHTML = this.title;
|
||||
|
||||
this.contents.setStyles({width: this.options.contentsWidth + "px", height: this.options.contentsHeight + "px"});
|
||||
|
||||
@ -341,7 +345,6 @@ var MOOdalBox = {
|
||||
this.step++;
|
||||
|
||||
|
||||
|
||||
case 2:
|
||||
if (this.center.clientWidth != this.contents.offsetWidth) {
|
||||
this.fx.resize.custom({width: [this.center.clientWidth, this.contents.offsetWidth], marginLeft: [-this.center.clientWidth / 2, -this.contents.offsetWidth / 2]});
|
||||
@ -352,7 +355,7 @@ var MOOdalBox = {
|
||||
case 3:
|
||||
this.bottom.setStyles({top: (this.top + this.center.clientHeight) + 'px', width: this.contents.style.width, marginLeft: this.center.style.marginLeft, display: ''});
|
||||
|
||||
// check to see if in wizard mode and parse links
|
||||
// check to see if in wizard mode and parse links
|
||||
if (this.wizardMode) this.scanAnchors(this.contents, true);
|
||||
if (this.wizardMode) this.scanForms(this.contents, true);
|
||||
|
||||
@ -403,10 +406,9 @@ var MOOdalBox = {
|
||||
};
|
||||
|
||||
// Moodal Dialog startup
|
||||
Window.onDomReady(MOOdalBox.init.bind(MOOdalBox));
|
||||
//window.addEvent('domready', MOOdalBox.init.bind(MOOdalBox));
|
||||
|
||||
|
||||
function displayLoading()
|
||||
{
|
||||
function displayLoading() {
|
||||
$('headerLoading').style.visibility = 'visible';
|
||||
}
|
@ -17,27 +17,7 @@
|
||||
*/
|
||||
|
||||
|
||||
function afterCoreLoading()
|
||||
{
|
||||
|
||||
// Uncomment for debug ...
|
||||
$import("../js/mindplot.svg.js");
|
||||
|
||||
// $import("../js/mindplot.svg-min.js");
|
||||
|
||||
};
|
||||
afterCoreLoading();
|
||||
|
||||
|
||||
|
||||
/*Extend mootools known keys*/
|
||||
ExtendedKeys = {
|
||||
'insert': 45,
|
||||
'f2':113,
|
||||
'ctrl-enter':17
|
||||
};
|
||||
|
||||
$extend(Event.keys, ExtendedKeys);
|
||||
$import("../js/mindplot.svg.js");
|
||||
|
||||
var designer = null;
|
||||
/* JavaScript tabs changer */
|
||||
@ -684,4 +664,4 @@ function buildPanel(buttonElemId, elemLinksContainer, elemLinkIds, updateFunctio
|
||||
var elementId = elemLinkIds[i];
|
||||
$(elementId).addEvent('click', fontOnClick.bind($(elementId)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -201,7 +201,7 @@ var MooRainbow = new Class({
|
||||
var lim, curH, curW, inputs;
|
||||
curH = this.snippet('curSize', 'int').h;
|
||||
curW = this.snippet('curSize', 'int').w;
|
||||
inputs = this.arrRGB.copy().concat(this.arrHSB, this.hexInput);
|
||||
inputs = this.arrRGB.clone().concat(this.arrHSB, this.hexInput);
|
||||
|
||||
document.addEvent('click', function() {
|
||||
if (this.visible) this.hide(this.layout);
|
||||
@ -228,7 +228,7 @@ var MooRainbow = new Class({
|
||||
y: [0 - curH, (this.layout.overlay.height - curH)]
|
||||
};
|
||||
|
||||
this.layout.drag = new Drag.Base(this.layout.cursor, {
|
||||
this.layout.drag = new Drag(this.layout.cursor, {
|
||||
limit: lim,
|
||||
onStart: this.overlayDrag.bind(this),
|
||||
onDrag: this.overlayDrag.bind(this),
|
||||
@ -272,7 +272,7 @@ var MooRainbow = new Class({
|
||||
var arwH = this.snippet('arrSize', 'int'), lim;
|
||||
|
||||
lim = [0 + this.snippet('slider') - arwH, this.layout.slider.height - arwH + this.snippet('slider')];
|
||||
this.layout.sliderDrag = new Drag.Base(this.layout.arrows, {
|
||||
this.layout.sliderDrag = new Drag(this.layout.arrows, {
|
||||
limit: {y: lim},
|
||||
modifiers: {x: false},
|
||||
onStart: this.sliderDrag.bind(this),
|
||||
@ -308,7 +308,7 @@ var MooRainbow = new Class({
|
||||
},
|
||||
|
||||
wheelEvents: function() {
|
||||
var arrColors = this.arrRGB.copy().extend(this.arrHSB);
|
||||
var arrColors = this.arrRGB.clone().extend(this.arrHSB);
|
||||
|
||||
arrColors.each(function(el) {
|
||||
el.addEvents({
|
||||
@ -530,7 +530,10 @@ var MooRainbow = new Class({
|
||||
inputHU.inject(HU).addClass(prefix + 'HueInput');
|
||||
SA.appendText(' %');
|
||||
BR.appendText(' %');
|
||||
new Element('span', {'styles': {'position': 'absolute'}, 'class': prefix + 'ballino'}).setHTML(" °").injectAfter(HU);
|
||||
|
||||
var spanElem = new Element('span', {'styles': {'position': 'absolute'}, 'class': prefix + 'ballino'});
|
||||
spanElem.innerHTML = " °";
|
||||
spanElem.inject(HU,'after');
|
||||
|
||||
var inputHex = new Element('input').addClass(prefix + 'hexInput');
|
||||
var hex = new Element('label').inject(box).setStyle('position', 'absolute').addClass(prefix + 'hexLabel').appendText('#hex: ').adopt(inputHex);
|
||||
|
450
wise-webapp/src/main/webapp/js/mootools-yc.js
Normal file
450
wise-webapp/src/main/webapp/js/mootools-yc.js
Normal file
@ -0,0 +1,450 @@
|
||||
/*
|
||||
---
|
||||
MooTools: the javascript framework
|
||||
|
||||
web build:
|
||||
- http://mootools.net/core/7c56cfef9dddcf170a5d68e3fb61cfd7
|
||||
|
||||
packager build:
|
||||
- packager build Core/Core Core/Array Core/String Core/Number Core/Function Core/Object Core/Event Core/Browser Core/Class Core/Class.Extras Core/Slick.Parser Core/Slick.Finder Core/Element Core/Element.Style Core/Element.Event Core/Element.Dimensions Core/Fx Core/Fx.CSS Core/Fx.Tween Core/Fx.Morph Core/Fx.Transitions Core/Request Core/Request.HTML Core/Request.JSON Core/Cookie Core/JSON Core/DOMReady Core/Swiff
|
||||
|
||||
copyrights:
|
||||
- [MooTools](http://mootools.net)
|
||||
|
||||
licenses:
|
||||
- [MIT License](http://mootools.net/license.txt)
|
||||
...
|
||||
*/
|
||||
(function(){this.MooTools={version:"1.3.2",build:"c9f1ff10e9e7facb65e9481049ed1b450959d587"};var o=this.typeOf=function(i){if(i==null){return"null";}if(i.$family){return i.$family();
|
||||
}if(i.nodeName){if(i.nodeType==1){return"element";}if(i.nodeType==3){return(/\S/).test(i.nodeValue)?"textnode":"whitespace";}}else{if(typeof i.length=="number"){if(i.callee){return"arguments";
|
||||
}if("item" in i){return"collection";}}}return typeof i;};var j=this.instanceOf=function(t,i){if(t==null){return false;}var s=t.$constructor||t.constructor;
|
||||
while(s){if(s===i){return true;}s=s.parent;}return t instanceof i;};var f=this.Function;var p=true;for(var k in {toString:1}){p=null;}if(p){p=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"];
|
||||
}f.prototype.overloadSetter=function(s){var i=this;return function(u,t){if(u==null){return this;}if(s||typeof u!="string"){for(var v in u){i.call(this,v,u[v]);
|
||||
}if(p){for(var w=p.length;w--;){v=p[w];if(u.hasOwnProperty(v)){i.call(this,v,u[v]);}}}}else{i.call(this,u,t);}return this;};};f.prototype.overloadGetter=function(s){var i=this;
|
||||
return function(u){var v,t;if(s||typeof u!="string"){v=u;}else{if(arguments.length>1){v=arguments;}}if(v){t={};for(var w=0;w<v.length;w++){t[v[w]]=i.call(this,v[w]);
|
||||
}}else{t=i.call(this,u);}return t;};};f.prototype.extend=function(i,s){this[i]=s;}.overloadSetter();f.prototype.implement=function(i,s){this.prototype[i]=s;
|
||||
}.overloadSetter();var n=Array.prototype.slice;f.from=function(i){return(o(i)=="function")?i:function(){return i;};};Array.from=function(i){if(i==null){return[];
|
||||
}return(a.isEnumerable(i)&&typeof i!="string")?(o(i)=="array")?i:n.call(i):[i];};Number.from=function(s){var i=parseFloat(s);return isFinite(i)?i:null;
|
||||
};String.from=function(i){return i+"";};f.implement({hide:function(){this.$hidden=true;return this;},protect:function(){this.$protected=true;return this;
|
||||
}});var a=this.Type=function(u,t){if(u){var s=u.toLowerCase();var i=function(v){return(o(v)==s);};a["is"+u]=i;if(t!=null){t.prototype.$family=(function(){return s;
|
||||
}).hide();}}if(t==null){return null;}t.extend(this);t.$constructor=a;t.prototype.$constructor=t;return t;};var e=Object.prototype.toString;a.isEnumerable=function(i){return(i!=null&&typeof i.length=="number"&&e.call(i)!="[object Function]");
|
||||
};var q={};var r=function(i){var s=o(i.prototype);return q[s]||(q[s]=[]);};var b=function(t,x){if(x&&x.$hidden){return;}var s=r(this);for(var u=0;u<s.length;
|
||||
u++){var w=s[u];if(o(w)=="type"){b.call(w,t,x);}else{w.call(this,t,x);}}var v=this.prototype[t];if(v==null||!v.$protected){this.prototype[t]=x;}if(this[t]==null&&o(x)=="function"){m.call(this,t,function(i){return x.apply(i,n.call(arguments,1));
|
||||
});}};var m=function(i,t){if(t&&t.$hidden){return;}var s=this[i];if(s==null||!s.$protected){this[i]=t;}};a.implement({implement:b.overloadSetter(),extend:m.overloadSetter(),alias:function(i,s){b.call(this,i,this.prototype[s]);
|
||||
}.overloadSetter(),mirror:function(i){r(this).push(i);return this;}});new a("Type",a);var d=function(s,w,u){var t=(w!=Object),A=w.prototype;if(t){w=new a(s,w);
|
||||
}for(var x=0,v=u.length;x<v;x++){var B=u[x],z=w[B],y=A[B];if(z){z.protect();}if(t&&y){delete A[B];A[B]=y.protect();}}if(t){w.implement(A);}return d;};d("String",String,["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","quote","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase"])("Array",Array,["pop","push","reverse","shift","sort","splice","unshift","concat","join","slice","indexOf","lastIndexOf","filter","forEach","every","map","some","reduce","reduceRight"])("Number",Number,["toExponential","toFixed","toLocaleString","toPrecision"])("Function",f,["apply","call","bind"])("RegExp",RegExp,["exec","test"])("Object",Object,["create","defineProperty","defineProperties","keys","getPrototypeOf","getOwnPropertyDescriptor","getOwnPropertyNames","preventExtensions","isExtensible","seal","isSealed","freeze","isFrozen"])("Date",Date,["now"]);
|
||||
Object.extend=m.overloadSetter();Date.extend("now",function(){return +(new Date);});new a("Boolean",Boolean);Number.prototype.$family=function(){return isFinite(this)?"number":"null";
|
||||
}.hide();Number.extend("random",function(s,i){return Math.floor(Math.random()*(i-s+1)+s);});var g=Object.prototype.hasOwnProperty;Object.extend("forEach",function(i,t,u){for(var s in i){if(g.call(i,s)){t.call(u,i[s],s,i);
|
||||
}}});Object.each=Object.forEach;Array.implement({forEach:function(u,v){for(var t=0,s=this.length;t<s;t++){if(t in this){u.call(v,this[t],t,this);}}},each:function(i,s){Array.forEach(this,i,s);
|
||||
return this;}});var l=function(i){switch(o(i)){case"array":return i.clone();case"object":return Object.clone(i);default:return i;}};Array.implement("clone",function(){var s=this.length,t=new Array(s);
|
||||
while(s--){t[s]=l(this[s]);}return t;});var h=function(s,i,t){switch(o(t)){case"object":if(o(s[i])=="object"){Object.merge(s[i],t);}else{s[i]=Object.clone(t);
|
||||
}break;case"array":s[i]=t.clone();break;default:s[i]=t;}return s;};Object.extend({merge:function(z,u,t){if(o(u)=="string"){return h(z,u,t);}for(var y=1,s=arguments.length;
|
||||
y<s;y++){var w=arguments[y];for(var x in w){h(z,x,w[x]);}}return z;},clone:function(i){var t={};for(var s in i){t[s]=l(i[s]);}return t;},append:function(w){for(var v=1,t=arguments.length;
|
||||
v<t;v++){var s=arguments[v]||{};for(var u in s){w[u]=s[u];}}return w;}});["Object","WhiteSpace","TextNode","Collection","Arguments"].each(function(i){new a(i);
|
||||
});var c=Date.now();String.extend("uniqueID",function(){return(c++).toString(36);});})();Array.implement({every:function(c,d){for(var b=0,a=this.length;
|
||||
b<a;b++){if((b in this)&&!c.call(d,this[b],b,this)){return false;}}return true;},filter:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++){if((b in this)&&d.call(e,this[b],b,this)){c.push(this[b]);
|
||||
}}return c;},indexOf:function(c,d){var a=this.length;for(var b=(d<0)?Math.max(0,a+d):d||0;b<a;b++){if(this[b]===c){return b;}}return -1;},map:function(d,e){var c=[];
|
||||
for(var b=0,a=this.length;b<a;b++){if(b in this){c[b]=d.call(e,this[b],b,this);}}return c;},some:function(c,d){for(var b=0,a=this.length;b<a;b++){if((b in this)&&c.call(d,this[b],b,this)){return true;
|
||||
}}return false;},clean:function(){return this.filter(function(a){return a!=null;});},invoke:function(a){var b=Array.slice(arguments,1);return this.map(function(c){return c[a].apply(c,b);
|
||||
});},associate:function(c){var d={},b=Math.min(this.length,c.length);for(var a=0;a<b;a++){d[c[a]]=this[a];}return d;},link:function(c){var a={};for(var e=0,b=this.length;
|
||||
e<b;e++){for(var d in c){if(c[d](this[e])){a[d]=this[e];delete c[d];break;}}}return a;},contains:function(a,b){return this.indexOf(a,b)!=-1;},append:function(a){this.push.apply(this,a);
|
||||
return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[Number.random(0,this.length-1)]:null;
|
||||
},include:function(a){if(!this.contains(a)){this.push(a);}return this;},combine:function(c){for(var b=0,a=c.length;b<a;b++){this.include(c[b]);}return this;
|
||||
},erase:function(b){for(var a=this.length;a--;){if(this[a]===b){this.splice(a,1);}}return this;},empty:function(){this.length=0;return this;},flatten:function(){var d=[];
|
||||
for(var b=0,a=this.length;b<a;b++){var c=typeOf(this[b]);if(c=="null"){continue;}d=d.concat((c=="array"||c=="collection"||c=="arguments"||instanceOf(this[b],Array))?Array.flatten(this[b]):this[b]);
|
||||
}return d;},pick:function(){for(var b=0,a=this.length;b<a;b++){if(this[b]!=null){return this[b];}}return null;},hexToRgb:function(b){if(this.length!=3){return null;
|
||||
}var a=this.map(function(c){if(c.length==1){c+=c;}return c.toInt(16);});return(b)?a:"rgb("+a+")";},rgbToHex:function(d){if(this.length<3){return null;}if(this.length==4&&this[3]==0&&!d){return"transparent";
|
||||
}var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);b.push((c.length==1)?"0"+c:c);}return(d)?b:"#"+b.join("");}});String.implement({test:function(a,b){return((typeOf(a)=="regexp")?a:new RegExp(""+a,b)).test(this);
|
||||
},contains:function(a,b){return(b)?(b+this+b).indexOf(b+a+b)>-1:this.indexOf(a)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();
|
||||
},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-"+a.charAt(0).toLowerCase());
|
||||
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(a){return a.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");
|
||||
},toInt:function(a){return parseInt(this,a||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
|
||||
return(a)?a.slice(1).hexToRgb(b):null;},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHex(b):null;},substitute:function(a,b){return this.replace(b||(/\\?\{([^{}]+)\}/g),function(d,c){if(d.charAt(0)=="\\"){return d.slice(1);
|
||||
}return(a[c]!=null)?a[c]:"";});}});Number.implement({limit:function(b,a){return Math.min(a,Math.max(b,this));},round:function(a){a=Math.pow(10,a||0).toFixed(a<0?-a:0);
|
||||
return Math.round(this*a)/a;},times:function(b,c){for(var a=0;a<this;a++){b.call(c,a,this);}},toFloat:function(){return parseFloat(this);},toInt:function(a){return parseInt(this,a||10);
|
||||
}});Number.alias("each","times");(function(b){var a={};b.each(function(c){if(!Number[c]){a[c]=function(){return Math[c].apply(null,[this].concat(Array.from(arguments)));
|
||||
};}});Number.implement(a);})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);Function.extend({attempt:function(){for(var b=0,a=arguments.length;
|
||||
b<a;b++){try{return arguments[b]();}catch(c){}}return null;}});Function.implement({attempt:function(a,c){try{return this.apply(c,Array.from(a));}catch(b){}return null;
|
||||
},bind:function(c){var a=this,b=(arguments.length>1)?Array.slice(arguments,1):null;return function(){if(!b&&!arguments.length){return a.call(c);}if(b&&arguments.length){return a.apply(c,b.concat(Array.from(arguments)));
|
||||
}return a.apply(c,b||arguments);};},pass:function(b,c){var a=this;if(b!=null){b=Array.from(b);}return function(){return a.apply(c,b||arguments);};},delay:function(b,c,a){return setTimeout(this.pass((a==null?[]:a),c),b);
|
||||
},periodical:function(c,b,a){return setInterval(this.pass((a==null?[]:a),b),c);}});(function(){var a=Object.prototype.hasOwnProperty;Object.extend({subset:function(d,g){var f={};
|
||||
for(var e=0,b=g.length;e<b;e++){var c=g[e];if(c in d){f[c]=d[c];}}return f;},map:function(b,e,f){var d={};for(var c in b){if(a.call(b,c)){d[c]=e.call(f,b[c],c,b);
|
||||
}}return d;},filter:function(b,e,g){var d={};for(var c in b){var f=b[c];if(a.call(b,c)&&e.call(g,f,c,b)){d[c]=f;}}return d;},every:function(b,d,e){for(var c in b){if(a.call(b,c)&&!d.call(e,b[c],c)){return false;
|
||||
}}return true;},some:function(b,d,e){for(var c in b){if(a.call(b,c)&&d.call(e,b[c],c)){return true;}}return false;},keys:function(b){var d=[];for(var c in b){if(a.call(b,c)){d.push(c);
|
||||
}}return d;},values:function(c){var b=[];for(var d in c){if(a.call(c,d)){b.push(c[d]);}}return b;},getLength:function(b){return Object.keys(b).length;},keyOf:function(b,d){for(var c in b){if(a.call(b,c)&&b[c]===d){return c;
|
||||
}}return null;},contains:function(b,c){return Object.keyOf(b,c)!=null;},toQueryString:function(b,c){var d=[];Object.each(b,function(h,g){if(c){g=c+"["+g+"]";
|
||||
}var f;switch(typeOf(h)){case"object":f=Object.toQueryString(h,g);break;case"array":var e={};h.each(function(k,j){e[j]=k;});f=Object.toQueryString(e,g);
|
||||
break;default:f=g+"="+encodeURIComponent(h);}if(h!=null){d.push(f);}});return d.join("&");}});})();(function(){var k=this.document;var i=k.window=this;
|
||||
var b=1;this.$uid=(i.ActiveXObject)?function(e){return(e.uid||(e.uid=[b++]))[0];}:function(e){return e.uid||(e.uid=b++);};$uid(i);$uid(k);var a=navigator.userAgent.toLowerCase(),c=navigator.platform.toLowerCase(),j=a.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/)||[null,"unknown",0],f=j[1]=="ie"&&k.documentMode;
|
||||
var o=this.Browser={extend:Function.prototype.extend,name:(j[1]=="version")?j[3]:j[1],version:f||parseFloat((j[1]=="opera"&&j[4])?j[4]:j[2]),Platform:{name:a.match(/ip(?:ad|od|hone)/)?"ios":(a.match(/(?:webos|android)/)||c.match(/mac|win|linux/)||["other"])[0]},Features:{xpath:!!(k.evaluate),air:!!(i.runtime),query:!!(k.querySelector),json:!!(i.JSON)},Plugins:{}};
|
||||
o[o.name]=true;o[o.name+parseInt(o.version,10)]=true;o.Platform[o.Platform.name]=true;o.Request=(function(){var q=function(){return new XMLHttpRequest();
|
||||
};var p=function(){return new ActiveXObject("MSXML2.XMLHTTP");};var e=function(){return new ActiveXObject("Microsoft.XMLHTTP");};return Function.attempt(function(){q();
|
||||
return q;},function(){p();return p;},function(){e();return e;});})();o.Features.xhr=!!(o.Request);var h=(Function.attempt(function(){return navigator.plugins["Shockwave Flash"].description;
|
||||
},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");})||"0 r0").match(/\d+/g);o.Plugins.Flash={version:Number(h[0]||"0."+h[1])||0,build:Number(h[2])||0};
|
||||
o.exec=function(p){if(!p){return p;}if(i.execScript){i.execScript(p);}else{var e=k.createElement("script");e.setAttribute("type","text/javascript");e.text=p;
|
||||
k.head.appendChild(e);k.head.removeChild(e);}return p;};String.implement("stripScripts",function(p){var e="";var q=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(r,s){e+=s+"\n";
|
||||
return"";});if(p===true){o.exec(e);}else{if(typeOf(p)=="function"){p(e,q);}}return q;});o.extend({Document:this.Document,Window:this.Window,Element:this.Element,Event:this.Event});
|
||||
this.Window=this.$constructor=new Type("Window",function(){});this.$family=Function.from("window").hide();Window.mirror(function(e,p){i[e]=p;});this.Document=k.$constructor=new Type("Document",function(){});
|
||||
k.$family=Function.from("document").hide();Document.mirror(function(e,p){k[e]=p;});k.html=k.documentElement;if(!k.head){k.head=k.getElementsByTagName("head")[0];
|
||||
}if(k.execCommand){try{k.execCommand("BackgroundImageCache",false,true);}catch(g){}}if(this.attachEvent&&!this.addEventListener){var d=function(){this.detachEvent("onunload",d);
|
||||
k.head=k.html=k.window=null;};this.attachEvent("onunload",d);}var m=Array.from;try{m(k.html.childNodes);}catch(g){Array.from=function(p){if(typeof p!="string"&&Type.isEnumerable(p)&&typeOf(p)!="array"){var e=p.length,q=new Array(e);
|
||||
while(e--){q[e]=p[e];}return q;}return m(p);};var l=Array.prototype,n=l.slice;["pop","push","reverse","shift","sort","splice","unshift","concat","join","slice"].each(function(e){var p=l[e];
|
||||
Array[e]=function(q){return p.apply(Array.from(q),n.call(arguments,1));};});}})();var Event=new Type("Event",function(a,i){if(!i){i=window;}var o=i.document;
|
||||
a=a||i.event;if(a.$extended){return a;}this.$extended=true;var n=a.type,k=a.target||a.srcElement,m={},c={},q=null,h,l,b,p;while(k&&k.nodeType==3){k=k.parentNode;
|
||||
}if(n.indexOf("key")!=-1){b=a.which||a.keyCode;p=Object.keyOf(Event.Keys,b);if(n=="keydown"){var d=b-111;if(d>0&&d<13){p="f"+d;}}if(!p){p=String.fromCharCode(b).toLowerCase();
|
||||
}}else{if((/click|mouse|menu/i).test(n)){o=(!o.compatMode||o.compatMode=="CSS1Compat")?o.html:o.body;m={x:(a.pageX!=null)?a.pageX:a.clientX+o.scrollLeft,y:(a.pageY!=null)?a.pageY:a.clientY+o.scrollTop};
|
||||
c={x:(a.pageX!=null)?a.pageX-i.pageXOffset:a.clientX,y:(a.pageY!=null)?a.pageY-i.pageYOffset:a.clientY};if((/DOMMouseScroll|mousewheel/).test(n)){l=(a.wheelDelta)?a.wheelDelta/120:-(a.detail||0)/3;
|
||||
}h=(a.which==3)||(a.button==2);if((/over|out/).test(n)){q=a.relatedTarget||a[(n=="mouseover"?"from":"to")+"Element"];var j=function(){while(q&&q.nodeType==3){q=q.parentNode;
|
||||
}return true;};var g=(Browser.firefox2)?j.attempt():j();q=(g)?q:null;}}else{if((/gesture|touch/i).test(n)){this.rotation=a.rotation;this.scale=a.scale;
|
||||
this.targetTouches=a.targetTouches;this.changedTouches=a.changedTouches;var f=this.touches=a.touches;if(f&&f[0]){var e=f[0];m={x:e.pageX,y:e.pageY};c={x:e.clientX,y:e.clientY};
|
||||
}}}}return Object.append(this,{event:a,type:n,page:m,client:c,rightClick:h,wheel:l,relatedTarget:document.id(q),target:document.id(k),code:b,key:p,shift:a.shiftKey,control:a.ctrlKey,alt:a.altKey,meta:a.metaKey});
|
||||
});Event.Keys={enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46};Event.implement({stop:function(){return this.stopPropagation().preventDefault();
|
||||
},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation();}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();
|
||||
}else{this.event.returnValue=false;}return this;}});(function(){var a=this.Class=new Type("Class",function(h){if(instanceOf(h,Function)){h={initialize:h};
|
||||
}var g=function(){e(this);if(g.$prototyping){return this;}this.$caller=null;var i=(this.initialize)?this.initialize.apply(this,arguments):this;this.$caller=this.caller=null;
|
||||
return i;}.extend(this).implement(h);g.$constructor=a;g.prototype.$constructor=g;g.prototype.parent=c;return g;});var c=function(){if(!this.$caller){throw new Error('The method "parent" cannot be called.');
|
||||
}var g=this.$caller.$name,h=this.$caller.$owner.parent,i=(h)?h.prototype[g]:null;if(!i){throw new Error('The method "'+g+'" has no parent.');}return i.apply(this,arguments);
|
||||
};var e=function(g){for(var h in g){var j=g[h];switch(typeOf(j)){case"object":var i=function(){};i.prototype=j;g[h]=e(new i);break;case"array":g[h]=j.clone();
|
||||
break;}}return g;};var b=function(g,h,j){if(j.$origin){j=j.$origin;}var i=function(){if(j.$protected&&this.$caller==null){throw new Error('The method "'+h+'" cannot be called.');
|
||||
}var l=this.caller,m=this.$caller;this.caller=m;this.$caller=i;var k=j.apply(this,arguments);this.$caller=m;this.caller=l;return k;}.extend({$owner:g,$origin:j,$name:h});
|
||||
return i;};var f=function(h,i,g){if(a.Mutators.hasOwnProperty(h)){i=a.Mutators[h].call(this,i);if(i==null){return this;}}if(typeOf(i)=="function"){if(i.$hidden){return this;
|
||||
}this.prototype[h]=(g)?i:b(this,h,i);}else{Object.merge(this.prototype,h,i);}return this;};var d=function(g){g.$prototyping=true;var h=new g;delete g.$prototyping;
|
||||
return h;};a.implement("implement",f.overloadSetter());a.Mutators={Extends:function(g){this.parent=g;this.prototype=d(g);},Implements:function(g){Array.from(g).each(function(j){var h=new j;
|
||||
for(var i in h){f.call(this,i,h[i],true);}},this);}};})();(function(){this.Chain=new Class({$chain:[],chain:function(){this.$chain.append(Array.flatten(arguments));
|
||||
return this;},callChain:function(){return(this.$chain.length)?this.$chain.shift().apply(this,arguments):false;},clearChain:function(){this.$chain.empty();
|
||||
return this;}});var a=function(b){return b.replace(/^on([A-Z])/,function(c,d){return d.toLowerCase();});};this.Events=new Class({$events:{},addEvent:function(d,c,b){d=a(d);
|
||||
this.$events[d]=(this.$events[d]||[]).include(c);if(b){c.internal=true;}return this;},addEvents:function(b){for(var c in b){this.addEvent(c,b[c]);}return this;
|
||||
},fireEvent:function(e,c,b){e=a(e);var d=this.$events[e];if(!d){return this;}c=Array.from(c);d.each(function(f){if(b){f.delay(b,this,c);}else{f.apply(this,c);
|
||||
}},this);return this;},removeEvent:function(e,d){e=a(e);var c=this.$events[e];if(c&&!d.internal){var b=c.indexOf(d);if(b!=-1){delete c[b];}}return this;
|
||||
},removeEvents:function(d){var e;if(typeOf(d)=="object"){for(e in d){this.removeEvent(e,d[e]);}return this;}if(d){d=a(d);}for(e in this.$events){if(d&&d!=e){continue;
|
||||
}var c=this.$events[e];for(var b=c.length;b--;){if(b in c){this.removeEvent(e,c[b]);}}}return this;}});this.Options=new Class({setOptions:function(){var b=this.options=Object.merge.apply(null,[{},this.options].append(arguments));
|
||||
if(this.addEvent){for(var c in b){if(typeOf(b[c])!="function"||!(/^on[A-Z]/).test(c)){continue;}this.addEvent(c,b[c]);delete b[c];}}return this;}});})();
|
||||
(function(){var k,n,l,g,a={},c={},m=/\\/g;var e=function(q,p){if(q==null){return null;}if(q.Slick===true){return q;}q=(""+q).replace(/^\s+|\s+$/g,"");g=!!p;
|
||||
var o=(g)?c:a;if(o[q]){return o[q];}k={Slick:true,expressions:[],raw:q,reverse:function(){return e(this.raw,true);}};n=-1;while(q!=(q=q.replace(j,b))){}k.length=k.expressions.length;
|
||||
return o[k.raw]=(g)?h(k):k;};var i=function(o){if(o==="!"){return" ";}else{if(o===" "){return"!";}else{if((/^!/).test(o)){return o.replace(/^!/,"");}else{return"!"+o;
|
||||
}}}};var h=function(u){var r=u.expressions;for(var p=0;p<r.length;p++){var t=r[p];var q={parts:[],tag:"*",combinator:i(t[0].combinator)};for(var o=0;o<t.length;
|
||||
o++){var s=t[o];if(!s.reverseCombinator){s.reverseCombinator=" ";}s.combinator=s.reverseCombinator;delete s.reverseCombinator;}t.reverse().push(q);}return u;
|
||||
};var f=function(o){return o.replace(/[-[\]{}()*+?.\\^$|,#\s]/g,function(p){return"\\"+p;});};var j=new RegExp("^(?:\\s*(,)\\s*|\\s*(<combinator>+)\\s*|(\\s+)|(<unicode>+|\\*)|\\#(<unicode>+)|\\.(<unicode>+)|\\[\\s*(<unicode1>+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(<unicode>+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(/<combinator>/,"["+f(">+~`!@$%^&={}\\;</")+"]").replace(/<unicode>/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(/<unicode1>/g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])"));
|
||||
function b(x,s,D,z,r,C,q,B,A,y,u,F,G,v,p,w){if(s||n===-1){k.expressions[++n]=[];l=-1;if(s){return"";}}if(D||z||l===-1){D=D||" ";var t=k.expressions[n];
|
||||
if(g&&t[l]){t[l].reverseCombinator=i(D);}t[++l]={combinator:D,tag:"*"};}var o=k.expressions[n][l];if(r){o.tag=r.replace(m,"");}else{if(C){o.id=C.replace(m,"");
|
||||
}else{if(q){q=q.replace(m,"");if(!o.classList){o.classList=[];}if(!o.classes){o.classes=[];}o.classList.push(q);o.classes.push({value:q,regexp:new RegExp("(^|\\s)"+f(q)+"(\\s|$)")});
|
||||
}else{if(G){w=w||p;w=w?w.replace(m,""):null;if(!o.pseudos){o.pseudos=[];}o.pseudos.push({key:G.replace(m,""),value:w,type:F.length==1?"class":"element"});
|
||||
}else{if(B){B=B.replace(m,"");u=(u||"").replace(m,"");var E,H;switch(A){case"^=":H=new RegExp("^"+f(u));break;case"$=":H=new RegExp(f(u)+"$");break;case"~=":H=new RegExp("(^|\\s)"+f(u)+"(\\s|$)");
|
||||
break;case"|=":H=new RegExp("^"+f(u)+"(-|$)");break;case"=":E=function(I){return u==I;};break;case"*=":E=function(I){return I&&I.indexOf(u)>-1;};break;
|
||||
case"!=":E=function(I){return u!=I;};break;default:E=function(I){return !!I;};}if(u==""&&(/^[*$^]=$/).test(A)){E=function(){return false;};}if(!E){E=function(I){return I&&H.test(I);
|
||||
};}if(!o.attributes){o.attributes=[];}o.attributes.push({key:B,operator:A,value:u,test:E});}}}}}return"";}var d=(this.Slick||{});d.parse=function(o){return e(o);
|
||||
};d.escapeRegExp=f;if(!this.Slick){this.Slick=d;}}).apply((typeof exports!="undefined")?exports:this);(function(){var j={},l={},b=Object.prototype.toString;
|
||||
j.isNativeCode=function(c){return(/\{\s*\[native code\]\s*\}/).test(""+c);};j.isXML=function(c){return(!!c.xmlVersion)||(!!c.xml)||(b.call(c)=="[object XMLDocument]")||(c.nodeType==9&&c.documentElement.nodeName!="HTML");
|
||||
};j.setDocument=function(w){var t=w.nodeType;if(t==9){}else{if(t){w=w.ownerDocument;}else{if(w.navigator){w=w.document;}else{return;}}}if(this.document===w){return;
|
||||
}this.document=w;var y=w.documentElement,u=this.getUIDXML(y),o=l[u],A;if(o){for(A in o){this[A]=o[A];}return;}o=l[u]={};o.root=y;o.isXMLDocument=this.isXML(w);
|
||||
o.brokenStarGEBTN=o.starSelectsClosedQSA=o.idGetsName=o.brokenMixedCaseQSA=o.brokenGEBCN=o.brokenCheckedQSA=o.brokenEmptyAttributeQSA=o.isHTMLDocument=o.nativeMatchesSelector=false;
|
||||
var m,n,x,q,r;var s,c="slick_uniqueid";var z=w.createElement("div");var p=w.body||w.getElementsByTagName("body")[0]||y;p.appendChild(z);try{z.innerHTML='<a id="'+c+'"></a>';
|
||||
o.isHTMLDocument=!!w.getElementById(c);}catch(v){}if(o.isHTMLDocument){z.style.display="none";z.appendChild(w.createComment(""));n=(z.getElementsByTagName("*").length>1);
|
||||
try{z.innerHTML="foo</foo>";s=z.getElementsByTagName("*");m=(s&&!!s.length&&s[0].nodeName.charAt(0)=="/");}catch(v){}o.brokenStarGEBTN=n||m;try{z.innerHTML='<a name="'+c+'"></a><b id="'+c+'"></b>';
|
||||
o.idGetsName=w.getElementById(c)===z.firstChild;}catch(v){}if(z.getElementsByClassName){try{z.innerHTML='<a class="f"></a><a class="b"></a>';z.getElementsByClassName("b").length;
|
||||
z.firstChild.className="b";q=(z.getElementsByClassName("b").length!=2);}catch(v){}try{z.innerHTML='<a class="a"></a><a class="f b a"></a>';x=(z.getElementsByClassName("a").length!=2);
|
||||
}catch(v){}o.brokenGEBCN=q||x;}if(z.querySelectorAll){try{z.innerHTML="foo</foo>";s=z.querySelectorAll("*");o.starSelectsClosedQSA=(s&&!!s.length&&s[0].nodeName.charAt(0)=="/");
|
||||
}catch(v){}try{z.innerHTML='<a class="MiX"></a>';o.brokenMixedCaseQSA=!z.querySelectorAll(".MiX").length;}catch(v){}try{z.innerHTML='<select><option selected="selected">a</option></select>';
|
||||
o.brokenCheckedQSA=(z.querySelectorAll(":checked").length==0);}catch(v){}try{z.innerHTML='<a class=""></a>';o.brokenEmptyAttributeQSA=(z.querySelectorAll('[class*=""]').length!=0);
|
||||
}catch(v){}}try{z.innerHTML='<form action="s"><input id="action"/></form>';r=(z.firstChild.getAttribute("action")!="s");}catch(v){}o.nativeMatchesSelector=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector;
|
||||
if(o.nativeMatchesSelector){try{o.nativeMatchesSelector.call(y,":slick");o.nativeMatchesSelector=null;}catch(v){}}}try{y.slick_expando=1;delete y.slick_expando;
|
||||
o.getUID=this.getUIDHTML;}catch(v){o.getUID=this.getUIDXML;}p.removeChild(z);z=s=p=null;o.getAttribute=(o.isHTMLDocument&&r)?function(D,B){var E=this.attributeGetters[B];
|
||||
if(E){return E.call(D);}var C=D.getAttributeNode(B);return(C)?C.nodeValue:null;}:function(C,B){var D=this.attributeGetters[B];return(D)?D.call(C):C.getAttribute(B);
|
||||
};o.hasAttribute=(y&&this.isNativeCode(y.hasAttribute))?function(C,B){return C.hasAttribute(B);}:function(C,B){C=C.getAttributeNode(B);return !!(C&&(C.specified||C.nodeValue));
|
||||
};o.contains=(y&&this.isNativeCode(y.contains))?function(B,C){return B.contains(C);}:(y&&y.compareDocumentPosition)?function(B,C){return B===C||!!(B.compareDocumentPosition(C)&16);
|
||||
}:function(B,C){if(C){do{if(C===B){return true;}}while((C=C.parentNode));}return false;};o.documentSorter=(y.compareDocumentPosition)?function(C,B){if(!C.compareDocumentPosition||!B.compareDocumentPosition){return 0;
|
||||
}return C.compareDocumentPosition(B)&4?-1:C===B?0:1;}:("sourceIndex" in y)?function(C,B){if(!C.sourceIndex||!B.sourceIndex){return 0;}return C.sourceIndex-B.sourceIndex;
|
||||
}:(w.createRange)?function(E,C){if(!E.ownerDocument||!C.ownerDocument){return 0;}var D=E.ownerDocument.createRange(),B=C.ownerDocument.createRange();D.setStart(E,0);
|
||||
D.setEnd(E,0);B.setStart(C,0);B.setEnd(C,0);return D.compareBoundaryPoints(Range.START_TO_END,B);}:null;y=null;for(A in o){this[A]=o[A];}};var e=/^([#.]?)((?:[\w-]+|\*))$/,g=/\[.+[*$^]=(?:""|'')?\]/,f={};
|
||||
j.search=function(U,z,H,s){var p=this.found=(s)?null:(H||[]);if(!U){return p;}else{if(U.navigator){U=U.document;}else{if(!U.nodeType){return p;}}}var F,O,V=this.uniques={},I=!!(H&&H.length),y=(U.nodeType==9);
|
||||
if(this.document!==(y?U:U.ownerDocument)){this.setDocument(U);}if(I){for(O=p.length;O--;){V[this.getUID(p[O])]=true;}}if(typeof z=="string"){var r=z.match(e);
|
||||
simpleSelectors:if(r){var u=r[1],v=r[2],A,E;if(!u){if(v=="*"&&this.brokenStarGEBTN){break simpleSelectors;}E=U.getElementsByTagName(v);if(s){return E[0]||null;
|
||||
}for(O=0;A=E[O++];){if(!(I&&V[this.getUID(A)])){p.push(A);}}}else{if(u=="#"){if(!this.isHTMLDocument||!y){break simpleSelectors;}A=U.getElementById(v);
|
||||
if(!A){return p;}if(this.idGetsName&&A.getAttributeNode("id").nodeValue!=v){break simpleSelectors;}if(s){return A||null;}if(!(I&&V[this.getUID(A)])){p.push(A);
|
||||
}}else{if(u=="."){if(!this.isHTMLDocument||((!U.getElementsByClassName||this.brokenGEBCN)&&U.querySelectorAll)){break simpleSelectors;}if(U.getElementsByClassName&&!this.brokenGEBCN){E=U.getElementsByClassName(v);
|
||||
if(s){return E[0]||null;}for(O=0;A=E[O++];){if(!(I&&V[this.getUID(A)])){p.push(A);}}}else{var T=new RegExp("(^|\\s)"+d.escapeRegExp(v)+"(\\s|$)");E=U.getElementsByTagName("*");
|
||||
for(O=0;A=E[O++];){className=A.className;if(!(className&&T.test(className))){continue;}if(s){return A;}if(!(I&&V[this.getUID(A)])){p.push(A);}}}}}}if(I){this.sort(p);
|
||||
}return(s)?null:p;}querySelector:if(U.querySelectorAll){if(!this.isHTMLDocument||f[z]||this.brokenMixedCaseQSA||(this.brokenCheckedQSA&&z.indexOf(":checked")>-1)||(this.brokenEmptyAttributeQSA&&g.test(z))||(!y&&z.indexOf(",")>-1)||d.disableQSA){break querySelector;
|
||||
}var S=z,x=U;if(!y){var C=x.getAttribute("id"),t="slickid__";x.setAttribute("id",t);S="#"+t+" "+S;U=x.parentNode;}try{if(s){return U.querySelector(S)||null;
|
||||
}else{E=U.querySelectorAll(S);}}catch(Q){f[z]=1;break querySelector;}finally{if(!y){if(C){x.setAttribute("id",C);}else{x.removeAttribute("id");}U=x;}}if(this.starSelectsClosedQSA){for(O=0;
|
||||
A=E[O++];){if(A.nodeName>"@"&&!(I&&V[this.getUID(A)])){p.push(A);}}}else{for(O=0;A=E[O++];){if(!(I&&V[this.getUID(A)])){p.push(A);}}}if(I){this.sort(p);
|
||||
}return p;}F=this.Slick.parse(z);if(!F.length){return p;}}else{if(z==null){return p;}else{if(z.Slick){F=z;}else{if(this.contains(U.documentElement||U,z)){(p)?p.push(z):p=z;
|
||||
return p;}else{return p;}}}}this.posNTH={};this.posNTHLast={};this.posNTHType={};this.posNTHTypeLast={};this.push=(!I&&(s||(F.length==1&&F.expressions[0].length==1)))?this.pushArray:this.pushUID;
|
||||
if(p==null){p=[];}var M,L,K;var B,J,D,c,q,G,W;var N,P,o,w,R=F.expressions;search:for(O=0;(P=R[O]);O++){for(M=0;(o=P[M]);M++){B="combinator:"+o.combinator;
|
||||
if(!this[B]){continue search;}J=(this.isXMLDocument)?o.tag:o.tag.toUpperCase();D=o.id;c=o.classList;q=o.classes;G=o.attributes;W=o.pseudos;w=(M===(P.length-1));
|
||||
this.bitUniques={};if(w){this.uniques=V;this.found=p;}else{this.uniques={};this.found=[];}if(M===0){this[B](U,J,D,q,G,W,c);if(s&&w&&p.length){break search;
|
||||
}}else{if(s&&w){for(L=0,K=N.length;L<K;L++){this[B](N[L],J,D,q,G,W,c);if(p.length){break search;}}}else{for(L=0,K=N.length;L<K;L++){this[B](N[L],J,D,q,G,W,c);
|
||||
}}}N=this.found;}}if(I||(F.expressions.length>1)){this.sort(p);}return(s)?(p[0]||null):p;};j.uidx=1;j.uidk="slick-uniqueid";j.getUIDXML=function(m){var c=m.getAttribute(this.uidk);
|
||||
if(!c){c=this.uidx++;m.setAttribute(this.uidk,c);}return c;};j.getUIDHTML=function(c){return c.uniqueNumber||(c.uniqueNumber=this.uidx++);};j.sort=function(c){if(!this.documentSorter){return c;
|
||||
}c.sort(this.documentSorter);return c;};j.cacheNTH={};j.matchNTH=/^([+-]?\d*)?([a-z]+)?([+-]\d+)?$/;j.parseNTHArgument=function(p){var n=p.match(this.matchNTH);
|
||||
if(!n){return false;}var o=n[2]||false;var m=n[1]||1;if(m=="-"){m=-1;}var c=+n[3]||0;n=(o=="n")?{a:m,b:c}:(o=="odd")?{a:2,b:1}:(o=="even")?{a:2,b:0}:{a:0,b:m};
|
||||
return(this.cacheNTH[p]=n);};j.createNTHPseudo=function(o,m,c,n){return function(r,p){var t=this.getUID(r);if(!this[c][t]){var z=r.parentNode;if(!z){return false;
|
||||
}var q=z[o],s=1;if(n){var y=r.nodeName;do{if(q.nodeName!=y){continue;}this[c][this.getUID(q)]=s++;}while((q=q[m]));}else{do{if(q.nodeType!=1){continue;
|
||||
}this[c][this.getUID(q)]=s++;}while((q=q[m]));}}p=p||"n";var u=this.cacheNTH[p]||this.parseNTHArgument(p);if(!u){return false;}var x=u.a,w=u.b,v=this[c][t];
|
||||
if(x==0){return w==v;}if(x>0){if(v<w){return false;}}else{if(w<v){return false;}}return((v-w)%x)==0;};};j.pushArray=function(o,c,q,n,m,p){if(this.matchSelector(o,c,q,n,m,p)){this.found.push(o);
|
||||
}};j.pushUID=function(p,c,r,o,m,q){var n=this.getUID(p);if(!this.uniques[n]&&this.matchSelector(p,c,r,o,m,q)){this.uniques[n]=true;this.found.push(p);}};
|
||||
j.matchNode=function(m,n){if(this.isHTMLDocument&&this.nativeMatchesSelector){try{return this.nativeMatchesSelector.call(m,n.replace(/\[([^=]+)=\s*([^'"\]]+?)\s*\]/g,'[$1="$2"]'));
|
||||
}catch(u){}}var t=this.Slick.parse(n);if(!t){return true;}var r=t.expressions,p,s=0,q;for(q=0;(currentExpression=r[q]);q++){if(currentExpression.length==1){var o=currentExpression[0];
|
||||
if(this.matchSelector(m,(this.isXMLDocument)?o.tag:o.tag.toUpperCase(),o.id,o.classes,o.attributes,o.pseudos)){return true;}s++;}}if(s==t.length){return false;
|
||||
}var c=this.search(this.document,t),v;for(q=0;v=c[q++];){if(v===m){return true;}}return false;};j.matchPseudo=function(p,c,o){var m="pseudo:"+c;if(this[m]){return this[m](p,o);
|
||||
}var n=this.getAttribute(p,c);return(o)?o==n:!!n;};j.matchSelector=function(n,u,c,o,p,r){if(u){var s=(this.isXMLDocument)?n.nodeName:n.nodeName.toUpperCase();
|
||||
if(u=="*"){if(s<"@"){return false;}}else{if(s!=u){return false;}}}if(c&&n.getAttribute("id")!=c){return false;}var q,m,t;if(o){for(q=o.length;q--;){t=n.getAttribute("class")||n.className;
|
||||
if(!(t&&o[q].regexp.test(t))){return false;}}}if(p){for(q=p.length;q--;){m=p[q];if(m.operator?!m.test(this.getAttribute(n,m.key)):!this.hasAttribute(n,m.key)){return false;
|
||||
}}}if(r){for(q=r.length;q--;){m=r[q];if(!this.matchPseudo(n,m.key,m.value)){return false;}}}return true;};var i={" ":function(p,v,m,q,r,t,o){var s,u,n;
|
||||
if(this.isHTMLDocument){getById:if(m){u=this.document.getElementById(m);if((!u&&p.all)||(this.idGetsName&&u&&u.getAttributeNode("id").nodeValue!=m)){n=p.all[m];
|
||||
if(!n){return;}if(!n[0]){n=[n];}for(s=0;u=n[s++];){var c=u.getAttributeNode("id");if(c&&c.nodeValue==m){this.push(u,v,null,q,r,t);break;}}return;}if(!u){if(this.contains(this.root,p)){return;
|
||||
}else{break getById;}}else{if(this.document!==p&&!this.contains(p,u)){return;}}this.push(u,v,null,q,r,t);return;}getByClass:if(q&&p.getElementsByClassName&&!this.brokenGEBCN){n=p.getElementsByClassName(o.join(" "));
|
||||
if(!(n&&n.length)){break getByClass;}for(s=0;u=n[s++];){this.push(u,v,m,null,r,t);}return;}}getByTag:{n=p.getElementsByTagName(v);if(!(n&&n.length)){break getByTag;
|
||||
}if(!this.brokenStarGEBTN){v=null;}for(s=0;u=n[s++];){this.push(u,v,m,q,r,t);}}},">":function(o,c,q,n,m,p){if((o=o.firstChild)){do{if(o.nodeType==1){this.push(o,c,q,n,m,p);
|
||||
}}while((o=o.nextSibling));}},"+":function(o,c,q,n,m,p){while((o=o.nextSibling)){if(o.nodeType==1){this.push(o,c,q,n,m,p);break;}}},"^":function(o,c,q,n,m,p){o=o.firstChild;
|
||||
if(o){if(o.nodeType==1){this.push(o,c,q,n,m,p);}else{this["combinator:+"](o,c,q,n,m,p);}}},"~":function(p,c,r,o,m,q){while((p=p.nextSibling)){if(p.nodeType!=1){continue;
|
||||
}var n=this.getUID(p);if(this.bitUniques[n]){break;}this.bitUniques[n]=true;this.push(p,c,r,o,m,q);}},"++":function(o,c,q,n,m,p){this["combinator:+"](o,c,q,n,m,p);
|
||||
this["combinator:!+"](o,c,q,n,m,p);},"~~":function(o,c,q,n,m,p){this["combinator:~"](o,c,q,n,m,p);this["combinator:!~"](o,c,q,n,m,p);},"!":function(o,c,q,n,m,p){while((o=o.parentNode)){if(o!==this.document){this.push(o,c,q,n,m,p);
|
||||
}}},"!>":function(o,c,q,n,m,p){o=o.parentNode;if(o!==this.document){this.push(o,c,q,n,m,p);}},"!+":function(o,c,q,n,m,p){while((o=o.previousSibling)){if(o.nodeType==1){this.push(o,c,q,n,m,p);
|
||||
break;}}},"!^":function(o,c,q,n,m,p){o=o.lastChild;if(o){if(o.nodeType==1){this.push(o,c,q,n,m,p);}else{this["combinator:!+"](o,c,q,n,m,p);}}},"!~":function(p,c,r,o,m,q){while((p=p.previousSibling)){if(p.nodeType!=1){continue;
|
||||
}var n=this.getUID(p);if(this.bitUniques[n]){break;}this.bitUniques[n]=true;this.push(p,c,r,o,m,q);}}};for(var h in i){j["combinator:"+h]=i[h];}var k={empty:function(c){var m=c.firstChild;
|
||||
return !(m&&m.nodeType==1)&&!(c.innerText||c.textContent||"").length;},not:function(c,m){return !this.matchNode(c,m);},contains:function(c,m){return(c.innerText||c.textContent||"").indexOf(m)>-1;
|
||||
},"first-child":function(c){while((c=c.previousSibling)){if(c.nodeType==1){return false;}}return true;},"last-child":function(c){while((c=c.nextSibling)){if(c.nodeType==1){return false;
|
||||
}}return true;},"only-child":function(n){var m=n;while((m=m.previousSibling)){if(m.nodeType==1){return false;}}var c=n;while((c=c.nextSibling)){if(c.nodeType==1){return false;
|
||||
}}return true;},"nth-child":j.createNTHPseudo("firstChild","nextSibling","posNTH"),"nth-last-child":j.createNTHPseudo("lastChild","previousSibling","posNTHLast"),"nth-of-type":j.createNTHPseudo("firstChild","nextSibling","posNTHType",true),"nth-last-of-type":j.createNTHPseudo("lastChild","previousSibling","posNTHTypeLast",true),index:function(m,c){return this["pseudo:nth-child"](m,""+c+1);
|
||||
},even:function(c){return this["pseudo:nth-child"](c,"2n");},odd:function(c){return this["pseudo:nth-child"](c,"2n+1");},"first-of-type":function(c){var m=c.nodeName;
|
||||
while((c=c.previousSibling)){if(c.nodeName==m){return false;}}return true;},"last-of-type":function(c){var m=c.nodeName;while((c=c.nextSibling)){if(c.nodeName==m){return false;
|
||||
}}return true;},"only-of-type":function(n){var m=n,o=n.nodeName;while((m=m.previousSibling)){if(m.nodeName==o){return false;}}var c=n;while((c=c.nextSibling)){if(c.nodeName==o){return false;
|
||||
}}return true;},enabled:function(c){return !c.disabled;},disabled:function(c){return c.disabled;},checked:function(c){return c.checked||c.selected;},focus:function(c){return this.isHTMLDocument&&this.document.activeElement===c&&(c.href||c.type||this.hasAttribute(c,"tabindex"));
|
||||
},root:function(c){return(c===this.root);},selected:function(c){return c.selected;}};for(var a in k){j["pseudo:"+a]=k[a];}j.attributeGetters={"class":function(){return this.getAttribute("class")||this.className;
|
||||
},"for":function(){return("htmlFor" in this)?this.htmlFor:this.getAttribute("for");},href:function(){return("href" in this)?this.getAttribute("href",2):this.getAttribute("href");
|
||||
},style:function(){return(this.style)?this.style.cssText:this.getAttribute("style");},tabindex:function(){var c=this.getAttributeNode("tabindex");return(c&&c.specified)?c.nodeValue:null;
|
||||
},type:function(){return this.getAttribute("type");}};var d=j.Slick=(this.Slick||{});d.version="1.1.5";d.search=function(m,n,c){return j.search(m,n,c);
|
||||
};d.find=function(c,m){return j.search(c,m,null,true);};d.contains=function(c,m){j.setDocument(c);return j.contains(c,m);};d.getAttribute=function(m,c){return j.getAttribute(m,c);
|
||||
};d.match=function(m,c){if(!(m&&c)){return false;}if(!c||c===m){return true;}j.setDocument(m);return j.matchNode(m,c);};d.defineAttributeGetter=function(c,m){j.attributeGetters[c]=m;
|
||||
return this;};d.lookupAttributeGetter=function(c){return j.attributeGetters[c];};d.definePseudo=function(c,m){j["pseudo:"+c]=function(o,n){return m.call(o,n);
|
||||
};return this;};d.lookupPseudo=function(c){var m=j["pseudo:"+c];if(m){return function(n){return m.call(this,n);};}return null;};d.override=function(m,c){j.override(m,c);
|
||||
return this;};d.isXML=j.isXML;d.uidOf=function(c){return j.getUIDHTML(c);};if(!this.Slick){this.Slick=d;}}).apply((typeof exports!="undefined")?exports:this);
|
||||
var Element=function(b,g){var h=Element.Constructors[b];if(h){return h(g);}if(typeof b!="string"){return document.id(b).set(g);}if(!g){g={};}if(!(/^[\w-]+$/).test(b)){var e=Slick.parse(b).expressions[0][0];
|
||||
b=(e.tag=="*")?"div":e.tag;if(e.id&&g.id==null){g.id=e.id;}var d=e.attributes;if(d){for(var f=0,c=d.length;f<c;f++){var a=d[f];if(g[a.key]!=null){continue;
|
||||
}if(a.value!=null&&a.operator=="="){g[a.key]=a.value;}else{if(!a.value&&!a.operator){g[a.key]=true;}}}}if(e.classList&&g["class"]==null){g["class"]=e.classList.join(" ");
|
||||
}}return document.newElement(b,g);};if(Browser.Element){Element.prototype=Browser.Element.prototype;}new Type("Element",Element).mirror(function(a){if(Array.prototype[a]){return;
|
||||
}var b={};b[a]=function(){var h=[],e=arguments,j=true;for(var g=0,d=this.length;g<d;g++){var f=this[g],c=h[g]=f[a].apply(f,e);j=(j&&typeOf(c)=="element");
|
||||
}return(j)?new Elements(h):h;};Elements.implement(b);});if(!Browser.Element){Element.parent=Object;Element.Prototype={"$family":Function.from("element").hide()};
|
||||
Element.mirror(function(a,b){Element.Prototype[a]=b;});}Element.Constructors={};var IFrame=new Type("IFrame",function(){var e=Array.link(arguments,{properties:Type.isObject,iframe:function(f){return(f!=null);
|
||||
}});var c=e.properties||{},b;if(e.iframe){b=document.id(e.iframe);}var d=c.onload||function(){};delete c.onload;c.id=c.name=[c.id,c.name,b?(b.id||b.name):"IFrame_"+String.uniqueID()].pick();
|
||||
b=new Element(b||"iframe",c);var a=function(){d.call(b.contentWindow);};if(window.frames[c.id]){a();}else{b.addListener("load",a);}return b;});var Elements=this.Elements=function(a){if(a&&a.length){var e={},d;
|
||||
for(var c=0;d=a[c++];){var b=Slick.uidOf(d);if(!e[b]){e[b]=true;this.push(d);}}}};Elements.prototype={length:0};Elements.parent=Array;new Type("Elements",Elements).implement({filter:function(a,b){if(!a){return this;
|
||||
}return new Elements(Array.filter(this,(typeOf(a)=="string")?function(c){return c.match(a);}:a,b));}.protect(),push:function(){var d=this.length;for(var b=0,a=arguments.length;
|
||||
b<a;b++){var c=document.id(arguments[b]);if(c){this[d++]=c;}}return(this.length=d);}.protect(),unshift:function(){var b=[];for(var c=0,a=arguments.length;
|
||||
c<a;c++){var d=document.id(arguments[c]);if(d){b.push(d);}}return Array.prototype.unshift.apply(this,b);}.protect(),concat:function(){var b=new Elements(this);
|
||||
for(var c=0,a=arguments.length;c<a;c++){var d=arguments[c];if(Type.isEnumerable(d)){b.append(d);}else{b.push(d);}}return b;}.protect(),append:function(c){for(var b=0,a=c.length;
|
||||
b<a;b++){this.push(c[b]);}return this;}.protect(),empty:function(){while(this.length){delete this[--this.length];}return this;}.protect()});(function(){var g=Array.prototype.splice,b={"0":0,"1":1,length:2};
|
||||
g.call(b,1,1);if(b[1]==1){Elements.implement("splice",function(){var e=this.length;g.apply(this,arguments);while(e>=this.length){delete this[e--];}return this;
|
||||
}.protect());}Elements.implement(Array.prototype);Array.mirror(Elements);var f;try{var a=document.createElement("<input name=x>");f=(a.name=="x");}catch(c){}var d=function(e){return(""+e).replace(/&/g,"&").replace(/"/g,""");
|
||||
};Document.implement({newElement:function(e,h){if(h&&h.checked!=null){h.defaultChecked=h.checked;}if(f&&h){e="<"+e;if(h.name){e+=' name="'+d(h.name)+'"';
|
||||
}if(h.type){e+=' type="'+d(h.type)+'"';}e+=">";delete h.name;delete h.type;}return this.id(this.createElement(e)).set(h);}});})();Document.implement({newTextNode:function(a){return this.createTextNode(a);
|
||||
},getDocument:function(){return this;},getWindow:function(){return this.window;},id:(function(){var a={string:function(d,c,b){d=Slick.find(b,"#"+d.replace(/(\W)/g,"\\$1"));
|
||||
return(d)?a.element(d,c):null;},element:function(b,c){$uid(b);if(!c&&!b.$family&&!(/^(?:object|embed)$/i).test(b.tagName)){Object.append(b,Element.Prototype);
|
||||
}return b;},object:function(c,d,b){if(c.toElement){return a.element(c.toElement(b),d);}return null;}};a.textnode=a.whitespace=a.window=a.document=function(b){return b;
|
||||
};return function(c,e,d){if(c&&c.$family&&c.uid){return c;}var b=typeOf(c);return(a[b])?a[b](c,e,d||document):null;};})()});if(window.$==null){Window.implement("$",function(a,b){return document.id(a,b,this.document);
|
||||
});}Window.implement({getDocument:function(){return this.document;},getWindow:function(){return this;}});[Document,Element].invoke("implement",{getElements:function(a){return Slick.search(this,a,new Elements);
|
||||
},getElement:function(a){return document.id(Slick.find(this,a));}});if(window.$$==null){Window.implement("$$",function(a){if(arguments.length==1){if(typeof a=="string"){return Slick.search(this.document,a,new Elements);
|
||||
}else{if(Type.isEnumerable(a)){return new Elements(a);}}}return new Elements(arguments);});}(function(){var k={},i={};var n={input:"checked",option:"selected",textarea:"value"};
|
||||
var e=function(p){return(i[p]||(i[p]={}));};var j=function(q){var p=q.uid;if(q.removeEvents){q.removeEvents();}if(q.clearAttributes){q.clearAttributes();
|
||||
}if(p!=null){delete k[p];delete i[p];}return q;};var o=["defaultValue","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"];
|
||||
var d=["compact","nowrap","ismap","declare","noshade","checked","disabled","readOnly","multiple","selected","noresize","defer","defaultChecked"];var g={html:"innerHTML","class":"className","for":"htmlFor",text:(function(){var p=document.createElement("div");
|
||||
return(p.textContent==null)?"innerText":"textContent";})()};var m=["type"];var h=["value","defaultValue"];var l=/^(?:href|src|usemap)$/i;d=d.associate(d);
|
||||
o=o.associate(o.map(String.toLowerCase));m=m.associate(m);Object.append(g,h.associate(h));var c={before:function(q,p){var r=p.parentNode;if(r){r.insertBefore(q,p);
|
||||
}},after:function(q,p){var r=p.parentNode;if(r){r.insertBefore(q,p.nextSibling);}},bottom:function(q,p){p.appendChild(q);},top:function(q,p){p.insertBefore(q,p.firstChild);
|
||||
}};c.inside=c.bottom;var b=function(s,r){if(!s){return r;}s=Object.clone(Slick.parse(s));var q=s.expressions;for(var p=q.length;p--;){q[p][0].combinator=r;
|
||||
}return s;};Element.implement({set:function(r,q){var p=Element.Properties[r];(p&&p.set)?p.set.call(this,q):this.setProperty(r,q);}.overloadSetter(),get:function(q){var p=Element.Properties[q];
|
||||
return(p&&p.get)?p.get.apply(this):this.getProperty(q);}.overloadGetter(),erase:function(q){var p=Element.Properties[q];(p&&p.erase)?p.erase.apply(this):this.removeProperty(q);
|
||||
return this;},setProperty:function(q,r){q=o[q]||q;if(r==null){return this.removeProperty(q);}var p=g[q];(p)?this[p]=r:(d[q])?this[q]=!!r:this.setAttribute(q,""+r);
|
||||
return this;},setProperties:function(p){for(var q in p){this.setProperty(q,p[q]);}return this;},getProperty:function(q){q=o[q]||q;var p=g[q]||m[q];return(p)?this[p]:(d[q])?!!this[q]:(l.test(q)?this.getAttribute(q,2):(p=this.getAttributeNode(q))?p.nodeValue:null)||null;
|
||||
},getProperties:function(){var p=Array.from(arguments);return p.map(this.getProperty,this).associate(p);},removeProperty:function(q){q=o[q]||q;var p=g[q];
|
||||
(p)?this[p]="":(d[q])?this[q]=false:this.removeAttribute(q);return this;},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;
|
||||
},hasClass:function(p){return this.className.clean().contains(p," ");},addClass:function(p){if(!this.hasClass(p)){this.className=(this.className+" "+p).clean();
|
||||
}return this;},removeClass:function(p){this.className=this.className.replace(new RegExp("(^|\\s)"+p+"(?:\\s|$)"),"$1");return this;},toggleClass:function(p,q){if(q==null){q=!this.hasClass(p);
|
||||
}return(q)?this.addClass(p):this.removeClass(p);},adopt:function(){var s=this,p,u=Array.flatten(arguments),t=u.length;if(t>1){s=p=document.createDocumentFragment();
|
||||
}for(var r=0;r<t;r++){var q=document.id(u[r],true);if(q){s.appendChild(q);}}if(p){this.appendChild(p);}return this;},appendText:function(q,p){return this.grab(this.getDocument().newTextNode(q),p);
|
||||
},grab:function(q,p){c[p||"bottom"](document.id(q,true),this);return this;},inject:function(q,p){c[p||"bottom"](this,document.id(q,true));return this;},replaces:function(p){p=document.id(p,true);
|
||||
p.parentNode.replaceChild(this,p);return this;},wraps:function(q,p){q=document.id(q,true);return this.replaces(q).grab(q,p);},getPrevious:function(p){return document.id(Slick.find(this,b(p,"!~")));
|
||||
},getAllPrevious:function(p){return Slick.search(this,b(p,"!~"),new Elements);},getNext:function(p){return document.id(Slick.find(this,b(p,"~")));},getAllNext:function(p){return Slick.search(this,b(p,"~"),new Elements);
|
||||
},getFirst:function(p){return document.id(Slick.search(this,b(p,">"))[0]);},getLast:function(p){return document.id(Slick.search(this,b(p,">")).getLast());
|
||||
},getParent:function(p){return document.id(Slick.find(this,b(p,"!")));},getParents:function(p){return Slick.search(this,b(p,"!"),new Elements);},getSiblings:function(p){return Slick.search(this,b(p,"~~"),new Elements);
|
||||
},getChildren:function(p){return Slick.search(this,b(p,">"),new Elements);},getWindow:function(){return this.ownerDocument.window;},getDocument:function(){return this.ownerDocument;
|
||||
},getElementById:function(p){return document.id(Slick.find(this,"#"+(""+p).replace(/(\W)/g,"\\$1")));},getSelected:function(){this.selectedIndex;return new Elements(Array.from(this.options).filter(function(p){return p.selected;
|
||||
}));},toQueryString:function(){var p=[];this.getElements("input, select, textarea").each(function(r){var q=r.type;if(!r.name||r.disabled||q=="submit"||q=="reset"||q=="file"||q=="image"){return;
|
||||
}var s=(r.get("tag")=="select")?r.getSelected().map(function(t){return document.id(t).get("value");}):((q=="radio"||q=="checkbox")&&!r.checked)?null:r.get("value");
|
||||
Array.from(s).each(function(t){if(typeof t!="undefined"){p.push(encodeURIComponent(r.name)+"="+encodeURIComponent(t));}});});return p.join("&");},destroy:function(){var p=j(this).getElementsByTagName("*");
|
||||
Array.each(p,j);Element.dispose(this);return null;},empty:function(){Array.from(this.childNodes).each(Element.dispose);return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;
|
||||
},match:function(p){return !p||Slick.match(this,p);}});var a=function(t,s,q){if(!q){t.setAttributeNode(document.createAttribute("id"));}if(t.clearAttributes){t.clearAttributes();
|
||||
t.mergeAttributes(s);t.removeAttribute("uid");if(t.options){var u=t.options,p=s.options;for(var r=u.length;r--;){u[r].selected=p[r].selected;}}}var v=n[s.tagName.toLowerCase()];
|
||||
if(v&&s[v]){t[v]=s[v];}};Element.implement("clone",function(r,p){r=r!==false;var w=this.cloneNode(r),q;if(r){var s=w.getElementsByTagName("*"),u=this.getElementsByTagName("*");
|
||||
for(q=s.length;q--;){a(s[q],u[q],p);}}a(w,this,p);if(Browser.ie){var t=w.getElementsByTagName("object"),v=this.getElementsByTagName("object");for(q=t.length;
|
||||
q--;){t[q].outerHTML=v[q].outerHTML;}}return document.id(w);});var f={contains:function(p){return Slick.contains(this,p);}};if(!document.contains){Document.implement(f);
|
||||
}if(!document.createElement("div").contains){Element.implement(f);}[Element,Window,Document].invoke("implement",{addListener:function(s,r){if(s=="unload"){var p=r,q=this;
|
||||
r=function(){q.removeListener("unload",r);p();};}else{k[$uid(this)]=this;}if(this.addEventListener){this.addEventListener(s,r,!!arguments[2]);}else{this.attachEvent("on"+s,r);
|
||||
}return this;},removeListener:function(q,p){if(this.removeEventListener){this.removeEventListener(q,p,!!arguments[2]);}else{this.detachEvent("on"+q,p);
|
||||
}return this;},retrieve:function(q,p){var s=e($uid(this)),r=s[q];if(p!=null&&r==null){r=s[q]=p;}return r!=null?r:null;},store:function(q,p){var r=e($uid(this));
|
||||
r[q]=p;return this;},eliminate:function(p){var q=e($uid(this));delete q[p];return this;}});if(window.attachEvent&&!window.addEventListener){window.addListener("unload",function(){Object.each(k,j);
|
||||
if(window.CollectGarbage){CollectGarbage();}});}})();Element.Properties={};Element.Properties.style={set:function(a){this.style.cssText=a;},get:function(){return this.style.cssText;
|
||||
},erase:function(){this.style.cssText="";}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();}};(function(a){if(a!=null){Element.Properties.maxlength=Element.Properties.maxLength={get:function(){var b=this.getAttribute("maxLength");
|
||||
return b==a?null:b;}};}})(document.createElement("input").getAttribute("maxLength"));Element.Properties.html=(function(){var c=Function.attempt(function(){var e=document.createElement("table");
|
||||
e.innerHTML="<tr><td></td></tr>";});var d=document.createElement("div");var a={table:[1,"<table>","</table>"],select:[1,"<select>","</select>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"]};
|
||||
a.thead=a.tfoot=a.tbody;var b={set:function(){var f=Array.flatten(arguments).join("");var g=(!c&&a[this.get("tag")]);if(g){var h=d;h.innerHTML=g[1]+f+g[2];
|
||||
for(var e=g[0];e--;){h=h.firstChild;}this.empty().adopt(h.childNodes);}else{this.innerHTML=f;}}};b.erase=b.set;return b;})();(function(){var c=document.html;
|
||||
Element.Properties.styles={set:function(f){this.setStyles(f);}};var e=(c.style.opacity!=null);var d=/alpha\(opacity=([\d.]+)\)/i;var b=function(g,f){if(!g.currentStyle||!g.currentStyle.hasLayout){g.style.zoom=1;
|
||||
}if(e){g.style.opacity=f;}else{f=(f*100).limit(0,100).round();f=(f==100)?"":"alpha(opacity="+f+")";var h=g.style.filter||g.getComputedStyle("filter")||"";
|
||||
g.style.filter=d.test(h)?h.replace(d,f):h+f;}};Element.Properties.opacity={set:function(g){var f=this.style.visibility;if(g==0&&f!="hidden"){this.style.visibility="hidden";
|
||||
}else{if(g!=0&&f!="visible"){this.style.visibility="visible";}}b(this,g);},get:(e)?function(){var f=this.style.opacity||this.getComputedStyle("opacity");
|
||||
return(f=="")?1:f;}:function(){var f,g=(this.style.filter||this.getComputedStyle("filter"));if(g){f=g.match(d);}return(f==null||g==null)?1:(f[1]/100);}};
|
||||
var a=(c.style.cssFloat==null)?"styleFloat":"cssFloat";Element.implement({getComputedStyle:function(h){if(this.currentStyle){return this.currentStyle[h.camelCase()];
|
||||
}var g=Element.getDocument(this).defaultView,f=g?g.getComputedStyle(this,null):null;return(f)?f.getPropertyValue((h==a)?"float":h.hyphenate()):null;},setOpacity:function(f){b(this,f);
|
||||
return this;},getOpacity:function(){return this.get("opacity");},setStyle:function(g,f){switch(g){case"opacity":return this.set("opacity",parseFloat(f));
|
||||
case"float":g=a;}g=g.camelCase();if(typeOf(f)!="string"){var h=(Element.Styles[g]||"@").split(" ");f=Array.from(f).map(function(k,j){if(!h[j]){return"";
|
||||
}return(typeOf(k)=="number")?h[j].replace("@",Math.round(k)):k;}).join(" ");}else{if(f==String(Number(f))){f=Math.round(f);}}this.style[g]=f;return this;
|
||||
},getStyle:function(l){switch(l){case"opacity":return this.get("opacity");case"float":l=a;}l=l.camelCase();var f=this.style[l];if(!f||l=="zIndex"){f=[];
|
||||
for(var k in Element.ShortStyles){if(l!=k){continue;}for(var j in Element.ShortStyles[k]){f.push(this.getStyle(j));}return f.join(" ");}f=this.getComputedStyle(l);
|
||||
}if(f){f=String(f);var h=f.match(/rgba?\([\d\s,]+\)/);if(h){f=f.replace(h[0],h[0].rgbToHex());}}if(Browser.opera||(Browser.ie&&isNaN(parseFloat(f)))){if((/^(height|width)$/).test(l)){var g=(l=="width")?["left","right"]:["top","bottom"],i=0;
|
||||
g.each(function(m){i+=this.getStyle("border-"+m+"-width").toInt()+this.getStyle("padding-"+m).toInt();},this);return this["offset"+l.capitalize()]-i+"px";
|
||||
}if(Browser.opera&&String(f).indexOf("px")!=-1){return f;}if((/^border(.+)Width|margin|padding/).test(l)){return"0px";}}return f;},setStyles:function(g){for(var f in g){this.setStyle(f,g[f]);
|
||||
}return this;},getStyles:function(){var f={};Array.flatten(arguments).each(function(g){f[g]=this.getStyle(g);},this);return f;}});Element.Styles={left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"};
|
||||
Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(l){var k=Element.ShortStyles;
|
||||
var g=Element.Styles;["margin","padding"].each(function(m){var n=m+l;k[m][n]=g[n]="@px";});var j="border"+l;k.border[j]=g[j]="@px @ rgb(@, @, @)";var i=j+"Width",f=j+"Style",h=j+"Color";
|
||||
k[j]={};k.borderWidth[i]=k[j][i]=g[i]="@px";k.borderStyle[f]=k[j][f]=g[f]="@";k.borderColor[h]=k[j][h]=g[h]="rgb(@, @, @)";});})();(function(){Element.Properties.events={set:function(b){this.addEvents(b);
|
||||
}};[Element,Window,Document].invoke("implement",{addEvent:function(f,h){var i=this.retrieve("events",{});if(!i[f]){i[f]={keys:[],values:[]};}if(i[f].keys.contains(h)){return this;
|
||||
}i[f].keys.push(h);var g=f,b=Element.Events[f],d=h,j=this;if(b){if(b.onAdd){b.onAdd.call(this,h);}if(b.condition){d=function(k){if(b.condition.call(this,k)){return h.call(this,k);
|
||||
}return true;};}g=b.base||g;}var e=function(){return h.call(j);};var c=Element.NativeEvents[g];if(c){if(c==2){e=function(k){k=new Event(k,j.getWindow());
|
||||
if(d.call(j,k)===false){k.stop();}};}this.addListener(g,e,arguments[2]);}i[f].values.push(e);return this;},removeEvent:function(e,d){var c=this.retrieve("events");
|
||||
if(!c||!c[e]){return this;}var h=c[e];var b=h.keys.indexOf(d);if(b==-1){return this;}var g=h.values[b];delete h.keys[b];delete h.values[b];var f=Element.Events[e];
|
||||
if(f){if(f.onRemove){f.onRemove.call(this,d);}e=f.base||e;}return(Element.NativeEvents[e])?this.removeListener(e,g,arguments[2]):this;},addEvents:function(b){for(var c in b){this.addEvent(c,b[c]);
|
||||
}return this;},removeEvents:function(b){var d;if(typeOf(b)=="object"){for(d in b){this.removeEvent(d,b[d]);}return this;}var c=this.retrieve("events");
|
||||
if(!c){return this;}if(!b){for(d in c){this.removeEvents(d);}this.eliminate("events");}else{if(c[b]){c[b].keys.each(function(e){this.removeEvent(b,e);},this);
|
||||
delete c[b];}}return this;},fireEvent:function(e,c,b){var d=this.retrieve("events");if(!d||!d[e]){return this;}c=Array.from(c);d[e].keys.each(function(f){if(b){f.delay(b,this,c);
|
||||
}else{f.apply(this,c);}},this);return this;},cloneEvents:function(e,d){e=document.id(e);var c=e.retrieve("events");if(!c){return this;}if(!d){for(var b in c){this.cloneEvents(e,b);
|
||||
}}else{if(c[d]){c[d].keys.each(function(f){this.addEvent(d,f);},this);}}return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,orientationchange:2,touchstart:2,touchmove:2,touchend:2,touchcancel:2,gesturestart:2,gesturechange:2,gestureend:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:2,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};
|
||||
var a=function(b){var c=b.relatedTarget;if(c==null){return true;}if(!c){return false;}return(c!=this&&c.prefix!="xul"&&typeOf(this)!="document"&&!this.contains(c));
|
||||
};Element.Events={mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:(Browser.firefox)?"DOMMouseScroll":"mousewheel"}};
|
||||
})();(function(){var h=document.createElement("div"),e=document.createElement("div");h.style.height="0";h.appendChild(e);var d=(e.offsetParent===h);h=e=null;
|
||||
var l=function(m){return k(m,"position")!="static"||a(m);};var i=function(m){return l(m)||(/^(?:table|td|th)$/i).test(m.tagName);};Element.implement({scrollTo:function(m,n){if(a(this)){this.getWindow().scrollTo(m,n);
|
||||
}else{this.scrollLeft=m;this.scrollTop=n;}return this;},getSize:function(){if(a(this)){return this.getWindow().getSize();}return{x:this.offsetWidth,y:this.offsetHeight};
|
||||
},getScrollSize:function(){if(a(this)){return this.getWindow().getScrollSize();}return{x:this.scrollWidth,y:this.scrollHeight};},getScroll:function(){if(a(this)){return this.getWindow().getScroll();
|
||||
}return{x:this.scrollLeft,y:this.scrollTop};},getScrolls:function(){var n=this.parentNode,m={x:0,y:0};while(n&&!a(n)){m.x+=n.scrollLeft;m.y+=n.scrollTop;
|
||||
n=n.parentNode;}return m;},getOffsetParent:d?function(){var m=this;if(a(m)||k(m,"position")=="fixed"){return null;}var n=(k(m,"position")=="static")?i:l;
|
||||
while((m=m.parentNode)){if(n(m)){return m;}}return null;}:function(){var m=this;if(a(m)||k(m,"position")=="fixed"){return null;}try{return m.offsetParent;
|
||||
}catch(n){}return null;},getOffsets:function(){if(this.getBoundingClientRect&&!Browser.Platform.ios){var r=this.getBoundingClientRect(),o=document.id(this.getDocument().documentElement),q=o.getScroll(),t=this.getScrolls(),s=(k(this,"position")=="fixed");
|
||||
return{x:r.left.toInt()+t.x+((s)?0:q.x)-o.clientLeft,y:r.top.toInt()+t.y+((s)?0:q.y)-o.clientTop};}var n=this,m={x:0,y:0};if(a(this)){return m;}while(n&&!a(n)){m.x+=n.offsetLeft;
|
||||
m.y+=n.offsetTop;if(Browser.firefox){if(!c(n)){m.x+=b(n);m.y+=g(n);}var p=n.parentNode;if(p&&k(p,"overflow")!="visible"){m.x+=b(p);m.y+=g(p);}}else{if(n!=this&&Browser.safari){m.x+=b(n);
|
||||
m.y+=g(n);}}n=n.offsetParent;}if(Browser.firefox&&!c(this)){m.x-=b(this);m.y-=g(this);}return m;},getPosition:function(p){if(a(this)){return{x:0,y:0};}var q=this.getOffsets(),n=this.getScrolls();
|
||||
var m={x:q.x-n.x,y:q.y-n.y};if(p&&(p=document.id(p))){var o=p.getPosition();return{x:m.x-o.x-b(p),y:m.y-o.y-g(p)};}return m;},getCoordinates:function(o){if(a(this)){return this.getWindow().getCoordinates();
|
||||
}var m=this.getPosition(o),n=this.getSize();var p={left:m.x,top:m.y,width:n.x,height:n.y};p.right=p.left+p.width;p.bottom=p.top+p.height;return p;},computePosition:function(m){return{left:m.x-j(this,"margin-left"),top:m.y-j(this,"margin-top")};
|
||||
},setPosition:function(m){return this.setStyles(this.computePosition(m));}});[Document,Window].invoke("implement",{getSize:function(){var m=f(this);return{x:m.clientWidth,y:m.clientHeight};
|
||||
},getScroll:function(){var n=this.getWindow(),m=f(this);return{x:n.pageXOffset||m.scrollLeft,y:n.pageYOffset||m.scrollTop};},getScrollSize:function(){var o=f(this),n=this.getSize(),m=this.getDocument().body;
|
||||
return{x:Math.max(o.scrollWidth,m.scrollWidth,n.x),y:Math.max(o.scrollHeight,m.scrollHeight,n.y)};},getPosition:function(){return{x:0,y:0};},getCoordinates:function(){var m=this.getSize();
|
||||
return{top:0,left:0,bottom:m.y,right:m.x,height:m.y,width:m.x};}});var k=Element.getComputedStyle;function j(m,n){return k(m,n).toInt()||0;}function c(m){return k(m,"-moz-box-sizing")=="border-box";
|
||||
}function g(m){return j(m,"border-top-width");}function b(m){return j(m,"border-left-width");}function a(m){return(/^(?:body|html)$/i).test(m.tagName);
|
||||
}function f(m){var n=m.getDocument();return(!n.compatMode||n.compatMode=="CSS1Compat")?n.html:n.body;}})();Element.alias({position:"setPosition"});[Window,Document,Element].invoke("implement",{getHeight:function(){return this.getSize().y;
|
||||
},getWidth:function(){return this.getSize().x;},getScrollTop:function(){return this.getScroll().y;},getScrollLeft:function(){return this.getScroll().x;
|
||||
},getScrollHeight:function(){return this.getScrollSize().y;},getScrollWidth:function(){return this.getScrollSize().x;},getTop:function(){return this.getPosition().y;
|
||||
},getLeft:function(){return this.getPosition().x;}});(function(){var f=this.Fx=new Class({Implements:[Chain,Events,Options],options:{fps:60,unit:false,duration:500,frames:null,frameSkip:true,link:"ignore"},initialize:function(g){this.subject=this.subject||this;
|
||||
this.setOptions(g);},getTransition:function(){return function(g){return -(Math.cos(Math.PI*g)-1)/2;};},step:function(g){if(this.options.frameSkip){var h=(this.time!=null)?(g-this.time):0,i=h/this.frameInterval;
|
||||
this.time=g;this.frame+=i;}else{this.frame++;}if(this.frame<this.frames){var j=this.transition(this.frame/this.frames);this.set(this.compute(this.from,this.to,j));
|
||||
}else{this.frame=this.frames;this.set(this.compute(this.from,this.to,1));this.stop();}},set:function(g){return g;},compute:function(i,h,g){return f.compute(i,h,g);
|
||||
},check:function(){if(!this.isRunning()){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.pass(arguments,this));
|
||||
return false;}return false;},start:function(k,j){if(!this.check(k,j)){return this;}this.from=k;this.to=j;this.frame=(this.options.frameSkip)?0:-1;this.time=null;
|
||||
this.transition=this.getTransition();var i=this.options.frames,h=this.options.fps,g=this.options.duration;this.duration=f.Durations[g]||g.toInt();this.frameInterval=1000/h;
|
||||
this.frames=i||Math.round(this.duration/this.frameInterval);this.fireEvent("start",this.subject);b.call(this,h);return this;},stop:function(){if(this.isRunning()){this.time=null;
|
||||
d.call(this,this.options.fps);if(this.frames==this.frame){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject);
|
||||
}}else{this.fireEvent("stop",this.subject);}}return this;},cancel:function(){if(this.isRunning()){this.time=null;d.call(this,this.options.fps);this.frame=this.frames;
|
||||
this.fireEvent("cancel",this.subject).clearChain();}return this;},pause:function(){if(this.isRunning()){this.time=null;d.call(this,this.options.fps);}return this;
|
||||
},resume:function(){if((this.frame<this.frames)&&!this.isRunning()){b.call(this,this.options.fps);}return this;},isRunning:function(){var g=e[this.options.fps];
|
||||
return g&&g.contains(this);}});f.compute=function(i,h,g){return(h-i)*g+i;};f.Durations={"short":250,normal:500,"long":1000};var e={},c={};var a=function(){var h=Date.now();
|
||||
for(var j=this.length;j--;){var g=this[j];if(g){g.step(h);}}};var b=function(h){var g=e[h]||(e[h]=[]);g.push(this);if(!c[h]){c[h]=a.periodical(Math.round(1000/h),g);
|
||||
}};var d=function(h){var g=e[h];if(g){g.erase(this);if(!g.length&&c[h]){delete e[h];c[h]=clearInterval(c[h]);}}};})();Fx.CSS=new Class({Extends:Fx,prepare:function(c,d,b){b=Array.from(b);
|
||||
if(b[1]==null){b[1]=b[0];b[0]=c.getStyle(d);}var a=b.map(this.parse);return{from:a[0],to:a[1]};},parse:function(a){a=Function.from(a)();a=(typeof a=="string")?a.split(" "):Array.from(a);
|
||||
return a.map(function(c){c=String(c);var b=false;Object.each(Fx.CSS.Parsers,function(f,e){if(b){return;}var d=f.parse(c);if(d||d===0){b={value:d,parser:f};
|
||||
}});b=b||{value:c,parser:Fx.CSS.Parsers.String};return b;});},compute:function(d,c,b){var a=[];(Math.min(d.length,c.length)).times(function(e){a.push({value:d[e].parser.compute(d[e].value,c[e].value,b),parser:d[e].parser});
|
||||
});a.$family=Function.from("fx:css:value");return a;},serve:function(c,b){if(typeOf(c)!="fx:css:value"){c=this.parse(c);}var a=[];c.each(function(d){a=a.concat(d.parser.serve(d.value,b));
|
||||
});return a;},render:function(a,d,c,b){a.setStyle(d,this.serve(c,b));},search:function(a){if(Fx.CSS.Cache[a]){return Fx.CSS.Cache[a];}var c={},b=new RegExp("^"+a.escapeRegExp()+"$");
|
||||
Array.each(document.styleSheets,function(f,e){var d=f.href;if(d&&d.contains("://")&&!d.contains(document.domain)){return;}var g=f.rules||f.cssRules;Array.each(g,function(k,h){if(!k.style){return;
|
||||
}var j=(k.selectorText)?k.selectorText.replace(/^\w+/,function(i){return i.toLowerCase();}):null;if(!j||!b.test(j)){return;}Object.each(Element.Styles,function(l,i){if(!k.style[i]||Element.ShortStyles[i]){return;
|
||||
}l=String(k.style[i]);c[i]=((/^rgb/).test(l))?l.rgbToHex():l;});});});return Fx.CSS.Cache[a]=c;}});Fx.CSS.Cache={};Fx.CSS.Parsers={Color:{parse:function(a){if(a.match(/^#[0-9a-f]{3,6}$/i)){return a.hexToRgb(true);
|
||||
}return((a=a.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[a[1],a[2],a[3]]:false;},compute:function(c,b,a){return c.map(function(e,d){return Math.round(Fx.compute(c[d],b[d],a));
|
||||
});},serve:function(a){return a.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(b,a){return(a)?b+a:b;}},String:{parse:Function.from(false),compute:function(b,a){return a;
|
||||
},serve:function(a){return a;}}};Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);},set:function(b,a){if(arguments.length==1){a=b;
|
||||
b=this.property||this.options.property;}this.render(this.element,b,a,this.options.unit);return this;},start:function(c,e,d){if(!this.check(c,e,d)){return this;
|
||||
}var b=Array.flatten(arguments);this.property=this.options.property||b.shift();var a=this.prepare(this.element,this.property,b);return this.parent(a.from,a.to);
|
||||
}});Element.Properties.tween={set:function(a){this.get("tween").cancel().setOptions(a);return this;},get:function(){var a=this.retrieve("tween");if(!a){a=new Fx.Tween(this,{link:"cancel"});
|
||||
this.store("tween",a);}return a;}};Element.implement({tween:function(a,c,b){this.get("tween").start(arguments);return this;},fade:function(c){var e=this.get("tween"),d="opacity",a;
|
||||
c=[c,"toggle"].pick();switch(c){case"in":e.start(d,1);break;case"out":e.start(d,0);break;case"show":e.set(d,1);break;case"hide":e.set(d,0);break;case"toggle":var b=this.retrieve("fade:flag",this.get("opacity")==1);
|
||||
e.start(d,(b)?0:1);this.store("fade:flag",!b);a=true;break;default:e.start(d,arguments);}if(!a){this.eliminate("fade:flag");}return this;},highlight:function(c,a){if(!a){a=this.retrieve("highlight:original",this.getStyle("background-color"));
|
||||
a=(a=="transparent")?"#fff":a;}var b=this.get("tween");b.start("background-color",c||"#ffff88",a).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));
|
||||
b.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);
|
||||
},set:function(a){if(typeof a=="string"){a=this.search(a);}for(var b in a){this.render(this.element,b,a[b],this.options.unit);}return this;},compute:function(e,d,c){var a={};
|
||||
for(var b in e){a[b]=this.parent(e[b],d[b],c);}return a;},start:function(b){if(!this.check(b)){return this;}if(typeof b=="string"){b=this.search(b);}var e={},d={};
|
||||
for(var c in b){var a=this.prepare(this.element,c,b[c]);e[c]=a.from;d[c]=a.to;}return this.parent(e,d);}});Element.Properties.morph={set:function(a){this.get("morph").cancel().setOptions(a);
|
||||
return this;},get:function(){var a=this.retrieve("morph");if(!a){a=new Fx.Morph(this,{link:"cancel"});this.store("morph",a);}return a;}};Element.implement({morph:function(a){this.get("morph").start(a);
|
||||
return this;}});Fx.implement({getTransition:function(){var a=this.options.transition||Fx.Transitions.Sine.easeInOut;if(typeof a=="string"){var b=a.split(":");
|
||||
a=Fx.Transitions;a=a[b[0]]||a[b[0].capitalize()];if(b[1]){a=a["ease"+b[1].capitalize()+(b[2]?b[2].capitalize():"")];}}return a;}});Fx.Transition=function(c,b){b=Array.from(b);
|
||||
var a=function(d){return c(d,b);};return Object.append(a,{easeIn:a,easeOut:function(d){return 1-c(1-d,b);},easeInOut:function(d){return(d<=0.5?c(2*d,b):(2-c(2*(1-d),b)))/2;
|
||||
}});};Fx.Transitions={linear:function(a){return a;}};Fx.Transitions.extend=function(a){for(var b in a){Fx.Transitions[b]=new Fx.Transition(a[b]);}};Fx.Transitions.extend({Pow:function(b,a){return Math.pow(b,a&&a[0]||6);
|
||||
},Expo:function(a){return Math.pow(2,8*(a-1));},Circ:function(a){return 1-Math.sin(Math.acos(a));},Sine:function(a){return 1-Math.cos(a*Math.PI/2);},Back:function(b,a){a=a&&a[0]||1.618;
|
||||
return Math.pow(b,2)*((a+1)*b-a);},Bounce:function(f){var e;for(var d=0,c=1;1;d+=c,c/=2){if(f>=(7-4*d)/11){e=c*c-Math.pow((11-6*d-11*f)/4,2);break;}}return e;
|
||||
},Elastic:function(b,a){return Math.pow(2,10*--b)*Math.cos(20*b*Math.PI*(a&&a[0]||1)/3);}});["Quad","Cubic","Quart","Quint"].each(function(b,a){Fx.Transitions[b]=new Fx.Transition(function(c){return Math.pow(c,a+2);
|
||||
});});(function(){var d=function(){},a=("onprogress" in new Browser.Request);var c=this.Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false,timeout:0,noCache:false},initialize:function(e){this.xhr=new Browser.Request();
|
||||
this.setOptions(e);this.headers=this.options.headers;},onStateChange:function(){var e=this.xhr;if(e.readyState!=4||!this.running){return;}this.running=false;
|
||||
this.status=0;Function.attempt(function(){var f=e.status;this.status=(f==1223)?204:f;}.bind(this));e.onreadystatechange=d;if(a){e.onprogress=e.onloadstart=d;
|
||||
}clearTimeout(this.timer);this.response={text:this.xhr.responseText||"",xml:this.xhr.responseXML};if(this.options.isSuccess.call(this,this.status)){this.success(this.response.text,this.response.xml);
|
||||
}else{this.failure();}},isSuccess:function(){var e=this.status;return(e>=200&&e<300);},isRunning:function(){return !!this.running;},processScripts:function(e){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return Browser.exec(e);
|
||||
}return e.stripScripts(this.options.evalScripts);},success:function(f,e){this.onSuccess(this.processScripts(f),e);},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain();
|
||||
},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr);},loadstart:function(e){this.fireEvent("loadstart",[e,this.xhr]);
|
||||
},progress:function(e){this.fireEvent("progress",[e,this.xhr]);},timeout:function(){this.fireEvent("timeout",this.xhr);},setHeader:function(e,f){this.headers[e]=f;
|
||||
return this;},getHeader:function(e){return Function.attempt(function(){return this.xhr.getResponseHeader(e);}.bind(this));},check:function(){if(!this.running){return true;
|
||||
}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.pass(arguments,this));return false;}return false;},send:function(o){if(!this.check(o)){return this;
|
||||
}this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.running=true;var l=typeOf(o);if(l=="string"||l=="element"){o={data:o};}var h=this.options;
|
||||
o=Object.append({data:h.data,url:h.url,method:h.method},o);var j=o.data,f=String(o.url),e=o.method.toLowerCase();switch(typeOf(j)){case"element":j=document.id(j).toQueryString();
|
||||
break;case"object":case"hash":j=Object.toQueryString(j);}if(this.options.format){var m="format="+this.options.format;j=(j)?m+"&"+j:m;}if(this.options.emulation&&!["get","post"].contains(e)){var k="_method="+e;
|
||||
j=(j)?k+"&"+j:k;e="post";}if(this.options.urlEncoded&&["post","put"].contains(e)){var g=(this.options.encoding)?"; charset="+this.options.encoding:"";this.headers["Content-type"]="application/x-www-form-urlencoded"+g;
|
||||
}if(!f){f=document.location.pathname;}var i=f.lastIndexOf("/");if(i>-1&&(i=f.indexOf("#"))>-1){f=f.substr(0,i);}if(this.options.noCache){f+=(f.contains("?")?"&":"?")+String.uniqueID();
|
||||
}if(j&&e=="get"){f+=(f.contains("?")?"&":"?")+j;j=null;}var n=this.xhr;if(a){n.onloadstart=this.loadstart.bind(this);n.onprogress=this.progress.bind(this);
|
||||
}n.open(e.toUpperCase(),f,this.options.async,this.options.user,this.options.password);if(this.options.user&&"withCredentials" in n){n.withCredentials=true;
|
||||
}n.onreadystatechange=this.onStateChange.bind(this);Object.each(this.headers,function(q,p){try{n.setRequestHeader(p,q);}catch(r){this.fireEvent("exception",[p,q]);
|
||||
}},this);this.fireEvent("request");n.send(j);if(!this.options.async){this.onStateChange();}if(this.options.timeout){this.timer=this.timeout.delay(this.options.timeout,this);
|
||||
}return this;},cancel:function(){if(!this.running){return this;}this.running=false;var e=this.xhr;e.abort();clearTimeout(this.timer);e.onreadystatechange=d;
|
||||
if(a){e.onprogress=e.onloadstart=d;}this.xhr=new Browser.Request();this.fireEvent("cancel");return this;}});var b={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(e){b[e]=function(g){var f={method:e};
|
||||
if(g!=null){f.data=g;}return this.send(f);};});c.implement(b);Element.Properties.send={set:function(e){var f=this.get("send").cancel();f.setOptions(e);
|
||||
return this;},get:function(){var e=this.retrieve("send");if(!e){e=new c({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")});
|
||||
this.store("send",e);}return e;}};Element.implement({send:function(e){var f=this.get("send");f.send({data:this,url:e||f.options.url});return this;}});})();
|
||||
Request.HTML=new Class({Extends:Request,options:{update:false,append:false,evalScripts:true,filter:false,headers:{Accept:"text/html, application/xml, text/xml, */*"}},success:function(e){var d=this.options,b=this.response;
|
||||
b.html=e.stripScripts(function(f){b.javascript=f;});var c=b.html.match(/<body[^>]*>([\s\S]*?)<\/body>/i);if(c){b.html=c[1];}var a=new Element("div").set("html",b.html);
|
||||
b.tree=a.childNodes;b.elements=a.getElements("*");if(d.filter){b.tree=b.elements.filter(d.filter);}if(d.update){document.id(d.update).empty().set("html",b.html);
|
||||
}else{if(d.append){document.id(d.append).adopt(a.getChildren());}}if(d.evalScripts){Browser.exec(b.javascript);}this.onSuccess(b.tree,b.elements,b.html,b.javascript);
|
||||
}});Element.Properties.load={set:function(a){var b=this.get("load").cancel();b.setOptions(a);return this;},get:function(){var a=this.retrieve("load");if(!a){a=new Request.HTML({data:this,link:"cancel",update:this,method:"get"});
|
||||
this.store("load",a);}return a;}};Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Type.isObject,url:Type.isString}));
|
||||
return this;}});if(typeof JSON=="undefined"){this.JSON={};}(function(){var special={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};
|
||||
var escape=function(chr){return special[chr]||"\\u"+("0000"+chr.charCodeAt(0).toString(16)).slice(-4);};JSON.validate=function(string){string=string.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"");
|
||||
return(/^[\],:{}\s]*$/).test(string);};JSON.encode=JSON.stringify?function(obj){return JSON.stringify(obj);}:function(obj){if(obj&&obj.toJSON){obj=obj.toJSON();
|
||||
}switch(typeOf(obj)){case"string":return'"'+obj.replace(/[\x00-\x1f\\"]/g,escape)+'"';case"array":return"["+obj.map(JSON.encode).clean()+"]";case"object":case"hash":var string=[];
|
||||
Object.each(obj,function(value,key){var json=JSON.encode(value);if(json){string.push(JSON.encode(key)+":"+json);}});return"{"+string+"}";case"number":case"boolean":return""+obj;
|
||||
case"null":return"null";}return null;};JSON.decode=function(string,secure){if(!string||typeOf(string)!="string"){return null;}if(secure||JSON.secure){if(JSON.parse){return JSON.parse(string);
|
||||
}if(!JSON.validate(string)){throw new Error("JSON could not decode the input; security is enabled and the value is not secure.");}}return eval("("+string+")");
|
||||
};})();Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(a){this.parent(a);Object.append(this.headers,{Accept:"application/json","X-Request":"JSON"});
|
||||
},success:function(c){var b;try{b=this.response.json=JSON.decode(c,this.options.secure);}catch(a){this.fireEvent("error",[c,a]);return;}if(b==null){this.onFailure();
|
||||
}else{this.onSuccess(b,c);}}});var Cookie=new Class({Implements:Options,options:{path:"/",domain:false,duration:false,secure:false,document:document,encode:true},initialize:function(b,a){this.key=b;
|
||||
this.setOptions(a);},write:function(b){if(this.options.encode){b=encodeURIComponent(b);}if(this.options.domain){b+="; domain="+this.options.domain;}if(this.options.path){b+="; path="+this.options.path;
|
||||
}if(this.options.duration){var a=new Date();a.setTime(a.getTime()+this.options.duration*24*60*60*1000);b+="; expires="+a.toGMTString();}if(this.options.secure){b+="; secure";
|
||||
}this.options.document.cookie=this.key+"="+b;return this;},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");
|
||||
return(a)?decodeURIComponent(a[1]):null;},dispose:function(){new Cookie(this.key,Object.merge({},this.options,{duration:-1})).write("");return this;}});
|
||||
Cookie.write=function(b,c,a){return new Cookie(b,a).write(c);};Cookie.read=function(a){return new Cookie(a).read();};Cookie.dispose=function(b,a){return new Cookie(b,a).dispose();
|
||||
};(function(i,k){var l,f,e=[],c,b,d=k.createElement("div");var g=function(){clearTimeout(b);if(l){return;}Browser.loaded=l=true;k.removeListener("DOMContentLoaded",g).removeListener("readystatechange",a);
|
||||
k.fireEvent("domready");i.fireEvent("domready");};var a=function(){for(var m=e.length;m--;){if(e[m]()){g();return true;}}return false;};var j=function(){clearTimeout(b);
|
||||
if(!a()){b=setTimeout(j,10);}};k.addListener("DOMContentLoaded",g);var h=function(){try{d.doScroll();return true;}catch(m){}return false;};if(d.doScroll&&!h()){e.push(h);
|
||||
c=true;}if(k.readyState){e.push(function(){var m=k.readyState;return(m=="loaded"||m=="complete");});}if("onreadystatechange" in k){k.addListener("readystatechange",a);
|
||||
}else{c=true;}if(c){j();}Element.Events.domready={onAdd:function(m){if(l){m.call(this);}}};Element.Events.load={base:"load",onAdd:function(m){if(f&&this==i){m.call(this);
|
||||
}},condition:function(){if(this==i){g();delete Element.Events.load;}return true;}};i.addEvent("load",function(){f=true;});})(window,document);(function(){var Swiff=this.Swiff=new Class({Implements:Options,options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"window",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object;
|
||||
},initialize:function(path,options){this.instance="Swiff_"+String.uniqueID();this.setOptions(options);options=this.options;var id=this.id=options.id||this.instance;
|
||||
var container=document.id(options.container);Swiff.CallBacks[this.instance]={};var params=options.params,vars=options.vars,callBacks=options.callBacks;
|
||||
var properties=Object.append({height:options.height,width:options.width},options.properties);var self=this;for(var callBack in callBacks){Swiff.CallBacks[this.instance][callBack]=(function(option){return function(){return option.apply(self.object,arguments);
|
||||
};})(callBacks[callBack]);vars[callBack]="Swiff.CallBacks."+this.instance+"."+callBack;}params.flashVars=Object.toQueryString(vars);if(Browser.ie){properties.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
|
||||
params.movie=path;}else{properties.type="application/x-shockwave-flash";}properties.data=path;var build='<object id="'+id+'"';for(var property in properties){build+=" "+property+'="'+properties[property]+'"';
|
||||
}build+=">";for(var param in params){if(params[param]){build+='<param name="'+param+'" value="'+params[param]+'" />';}}build+="</object>";this.object=((container)?container.empty():new Element("div")).set("html",build).firstChild;
|
||||
},replaces:function(element){element=document.id(element,true);element.parentNode.replaceChild(this.toElement(),element);return this;},inject:function(element){document.id(element,true).appendChild(this.toElement());
|
||||
return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].append(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");
|
||||
return eval(rs);};})();
|
@ -1,24 +1,285 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
//Windoo: Mootools window class <http://code.google.com/p/windoo>. Copyright (c) 2007 Yevgen Gorshkov, MIT Style License.
|
||||
|
||||
|
||||
/*
|
||||
Class: Ajax
|
||||
An Ajax class, For all your asynchronous needs.
|
||||
Inherits methods, properties, options and events from <XHR>.
|
||||
|
||||
Arguments:
|
||||
url - the url pointing to the server-side script.
|
||||
options - optional, an object containing options.
|
||||
|
||||
Options:
|
||||
data - you can write parameters here. Can be a querystring, an object or a Form element.
|
||||
update - $(element) to insert the response text of the XHR into, upon completion of the request.
|
||||
evalScripts - boolean; default is false. Execute scripts in the response text onComplete. When the response is javascript the whole response is evaluated.
|
||||
evalResponse - boolean; default is false. Force global evalulation of the whole response, no matter what content-type it is.
|
||||
|
||||
Events:
|
||||
onComplete - function to execute when the ajax request completes.
|
||||
|
||||
Example:
|
||||
>var myAjax = new Ajax(url, {method: 'get'}).request();
|
||||
*/
|
||||
|
||||
var Ajax = new Class({
|
||||
// Extends: XHR,
|
||||
options: {
|
||||
data: null,
|
||||
update: null,
|
||||
onComplete: Class.empty,
|
||||
evalScripts: false,
|
||||
evalResponse: false
|
||||
},
|
||||
|
||||
initialize: function(url, options) {
|
||||
this.addEvent('onSuccess', this.onComplete);
|
||||
this.setOptions(options);
|
||||
/*compatibility*/
|
||||
this.options.data = this.options.data || this.options.postBody;
|
||||
/*end compatibility*/
|
||||
if (!['post', 'get'].contains(this.options.method)) {
|
||||
this._method = '_method=' + this.options.method;
|
||||
this.options.method = 'post';
|
||||
}
|
||||
this.parent();
|
||||
this.setHeader('X-Requested-With', 'XMLHttpRequest');
|
||||
this.setHeader('Accept', 'text/javascript, text/html, application/xml, text/xml, */*');
|
||||
this.url = url;
|
||||
},
|
||||
|
||||
onComplete: function() {
|
||||
if (this.options.update) $(this.options.update).empty().setHTML(this.response.text);
|
||||
if (this.options.evalScripts || this.options.evalResponse) this.evalScripts();
|
||||
this.fireEvent('onComplete', [this.response.text, this.response.xml], 20);
|
||||
},
|
||||
|
||||
/*
|
||||
Property: request
|
||||
Executes the ajax request.
|
||||
|
||||
Example:
|
||||
>var myAjax = new Ajax(url, {method: 'get'});
|
||||
>myAjax.request();
|
||||
|
||||
OR
|
||||
|
||||
>new Ajax(url, {method: 'get'}).request();
|
||||
*/
|
||||
|
||||
request: function(data) {
|
||||
data = data || this.options.data;
|
||||
switch ($type(data)) {
|
||||
case 'element': data = $(data).toQueryString(); break;
|
||||
case 'object': data = Object.toQueryString(data);
|
||||
}
|
||||
if (this._method) data = (data) ? [this._method, data].join('&') : this._method;
|
||||
return this.send(this.url, data);
|
||||
},
|
||||
|
||||
/*
|
||||
Property: evalScripts
|
||||
Executes scripts in the response text
|
||||
*/
|
||||
|
||||
evalScripts: function() {
|
||||
var script, scripts;
|
||||
if (this.options.evalResponse || (/(ecma|java)script/).test(this.getHeader('Content-type'))) scripts = this.response.text;
|
||||
else {
|
||||
scripts = [];
|
||||
var regexp = /<script[^>]*>([\s\S]*?)<\/script>/gi;
|
||||
while ((script = regexp.exec(this.response.text))) scripts.push(script[1]);
|
||||
scripts = scripts.join('\n');
|
||||
}
|
||||
if (scripts) (window.execScript) ? window.execScript(scripts) : window.setTimeout(scripts, 0);
|
||||
},
|
||||
|
||||
/*
|
||||
Property: getHeader
|
||||
Returns the given response header or null
|
||||
*/
|
||||
|
||||
getHeader: function(name) {
|
||||
try {
|
||||
return this.transport.getResponseHeader(name);
|
||||
} catch(e) {
|
||||
}
|
||||
;
|
||||
return null;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
Script: XHR.js
|
||||
Contains the basic XMLHttpRequest Class Wrapper.
|
||||
|
||||
License:
|
||||
MIT-style license.
|
||||
*/
|
||||
|
||||
/*
|
||||
Class: XHR
|
||||
Basic XMLHttpRequest Wrapper.
|
||||
|
||||
Arguments:
|
||||
options - an object with options names as keys. See options below.
|
||||
|
||||
Options:
|
||||
method - 'post' or 'get' - the protocol for the request; optional, defaults to 'post'.
|
||||
async - boolean: asynchronous option; true uses asynchronous requests. Defaults to true.
|
||||
encoding - the encoding, defaults to utf-8.
|
||||
autoCancel - cancels the already running request if another one is sent. defaults to false.
|
||||
headers - accepts an object, that will be set to request headers.
|
||||
|
||||
Events:
|
||||
onRequest - function to execute when the XHR request is fired.
|
||||
onSuccess - function to execute when the XHR request completes.
|
||||
onStateChange - function to execute when the state of the XMLHttpRequest changes.
|
||||
onFailure - function to execute when the state of the XMLHttpRequest changes.
|
||||
|
||||
Properties:
|
||||
running - true if the request is running.
|
||||
response - object, text and xml as keys. You can access this property in the onSuccess event.
|
||||
|
||||
Example:
|
||||
>var myXHR = new XHR({method: 'get'}).send('http://site.com/requestHandler.php', 'name=john&lastname=dorian');
|
||||
*/
|
||||
|
||||
var XHR = new Class({
|
||||
|
||||
options: {
|
||||
method: 'post',
|
||||
async: true,
|
||||
onRequest: Class.empty,
|
||||
onSuccess: Class.empty,
|
||||
onFailure: Class.empty,
|
||||
urlEncoded: true,
|
||||
encoding: 'utf-8',
|
||||
autoCancel: false,
|
||||
headers: {}
|
||||
},
|
||||
|
||||
setTransport: function() {
|
||||
this.transport = (window.XMLHttpRequest) ? new XMLHttpRequest() : (window.ie ? new ActiveXObject('Microsoft.XMLHTTP') : false);
|
||||
return this;
|
||||
},
|
||||
|
||||
initialize: function(options) {
|
||||
this.setTransport().setOptions(options);
|
||||
this.options.isSuccess = this.options.isSuccess || this.isSuccess;
|
||||
this.headers = {};
|
||||
if (this.options.urlEncoded && this.options.method == 'post') {
|
||||
var encoding = (this.options.encoding) ? '; charset=' + this.options.encoding : '';
|
||||
this.setHeader('Content-type', 'application/x-www-form-urlencoded' + encoding);
|
||||
}
|
||||
if (this.options.initialize) this.options.initialize.call(this);
|
||||
},
|
||||
|
||||
onStateChange: function() {
|
||||
if (this.transport.readyState != 4 || !this.running) return;
|
||||
this.running = false;
|
||||
var status = 0;
|
||||
try {
|
||||
status = this.transport.status;
|
||||
} catch(e) {
|
||||
}
|
||||
;
|
||||
if (this.options.isSuccess.call(this, status)) this.onSuccess();
|
||||
else this.onFailure();
|
||||
this.transport.onreadystatechange = Class.empty;
|
||||
},
|
||||
|
||||
isSuccess: function(status) {
|
||||
return ((status >= 200) && (status < 300));
|
||||
},
|
||||
|
||||
onSuccess: function() {
|
||||
this.response = {
|
||||
'text': this.transport.responseText,
|
||||
'xml': this.transport.responseXML
|
||||
};
|
||||
this.fireEvent('onSuccess', [this.response.text, this.response.xml]);
|
||||
this.callChain();
|
||||
},
|
||||
|
||||
onFailure: function() {
|
||||
this.fireEvent('onFailure', this.transport);
|
||||
},
|
||||
|
||||
/*
|
||||
Property: setHeader
|
||||
Add/modify an header for the request. It will not override headers from the options.
|
||||
|
||||
Example:
|
||||
>var myXhr = new XHR(url, {method: 'get', headers: {'X-Request': 'JSON'}});
|
||||
>myXhr.setHeader('Last-Modified','Sat, 1 Jan 2005 05:00:00 GMT');
|
||||
*/
|
||||
|
||||
setHeader: function(name, value) {
|
||||
this.headers[name] = value;
|
||||
return this;
|
||||
},
|
||||
|
||||
/*
|
||||
Property: send
|
||||
Opens the XHR connection and sends the data. Data has to be null or a string.
|
||||
|
||||
Example:
|
||||
>var myXhr = new XHR({method: 'post'});
|
||||
>myXhr.send(url, querystring);
|
||||
>
|
||||
>var syncXhr = new XHR({async: false, method: 'post'});
|
||||
>syncXhr.send(url, null);
|
||||
>
|
||||
*/
|
||||
|
||||
send: function(url, data) {
|
||||
if (this.options.autoCancel) this.cancel();
|
||||
else if (this.running) return this;
|
||||
this.running = true;
|
||||
if (data && this.options.method == 'get') {
|
||||
url = url + (url.contains('?') ? '&' : '?') + data;
|
||||
data = null;
|
||||
}
|
||||
this.transport.open(this.options.method.toUpperCase(), url, this.options.async);
|
||||
this.transport.onreadystatechange = this.onStateChange.bind(this);
|
||||
if ((this.options.method == 'post') && this.transport.overrideMimeType) this.setHeader('Connection', 'close');
|
||||
$extend(this.headers, this.options.headers);
|
||||
for (var type in this.headers) try {
|
||||
this.transport.setRequestHeader(type, this.headers[type]);
|
||||
} catch(e) {
|
||||
}
|
||||
;
|
||||
this.fireEvent('onRequest');
|
||||
this.transport.send($pick(data, null));
|
||||
return this;
|
||||
},
|
||||
|
||||
/*
|
||||
Property: cancel
|
||||
Cancels the running request. No effect if the request is not running.
|
||||
|
||||
Example:
|
||||
>var myXhr = new XHR({method: 'get'}).send(url);
|
||||
>myXhr.cancel();
|
||||
*/
|
||||
|
||||
cancel: function() {
|
||||
if (!this.running) return this;
|
||||
this.running = false;
|
||||
this.transport.abort();
|
||||
this.transport.onreadystatechange = Class.empty;
|
||||
this.setTransport();
|
||||
this.fireEvent('onCancel');
|
||||
return this;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
XHR.implement(new Chain, new Events, new Options);
|
||||
|
||||
Fx.Overlay = new Class({
|
||||
|
||||
options: {
|
||||
@ -119,7 +380,9 @@ Drag.Transition = {
|
||||
}
|
||||
};
|
||||
|
||||
Drag.Multi = Drag.Base.extend({
|
||||
// @Todo: Check this. Required for migration to new mootools.
|
||||
//Drag.Multi = Drag.Base.extend({
|
||||
Drag.Multi = Drag.extend({
|
||||
|
||||
options: {
|
||||
handle: false,
|
||||
@ -398,12 +661,15 @@ Drag.Resize = new Class({
|
||||
var generator = function(lim) {
|
||||
return function(mod) {
|
||||
var cc = self.options.container.getCoordinates(),
|
||||
ec = mod.element.getCoordinates();
|
||||
ec = mod.element.getCoordinates();
|
||||
var value = sign * (cc[props[0]] - ec[props[1]]);
|
||||
switch ($type(lim)) {
|
||||
case 'number': return Math.min(value, lim);
|
||||
case 'function': return Math.min(value, lim(mod));
|
||||
default: return value;
|
||||
case 'number':
|
||||
return Math.min(value, lim);
|
||||
case 'function':
|
||||
return Math.min(value, lim(mod));
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
};
|
||||
};
|
||||
@ -419,12 +685,15 @@ Drag.Resize = new Class({
|
||||
};
|
||||
return function(mod) {
|
||||
var cc = container.getCoordinates(),
|
||||
ec = mod.element.getCoordinates();
|
||||
ec = mod.element.getCoordinates();
|
||||
var value = ec[props[1]] - cc[props[0]] - rlim;
|
||||
switch (lim_type) {
|
||||
case 'number': return Math[op](value, lim);
|
||||
case 'function': return Math[op](value, lim(mod));
|
||||
default: return value;
|
||||
case 'number':
|
||||
return Math[op](value, lim);
|
||||
case 'function':
|
||||
return Math[op](value, lim(mod));
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
};
|
||||
};
|
||||
@ -541,7 +810,7 @@ Element.extend({
|
||||
makeResizable: function(options) {
|
||||
options = options || {};
|
||||
if (options.handle)
|
||||
return new Drag.Base(this, $merge({modifiers: {'x': 'width', 'y': 'height'}}, options));
|
||||
return new Drag(this, $merge({modifiers: {'x': 'width', 'y': 'height'}}, options));
|
||||
return new Drag.Resize(this, options);
|
||||
}
|
||||
|
||||
@ -557,8 +826,8 @@ Drag.ResizeImage = new Class({
|
||||
'width': this.image.offsetWidth,
|
||||
'height': this.image.offsetHeight
|
||||
})}).injectBefore(this.image).adopt(
|
||||
this.image.remove().setStyles({'position': 'absolute', 'top':'0', 'left':'0', 'margin':'0', 'width': '100%', 'height': '100%', 'zIndex': '0'})
|
||||
);
|
||||
this.image.remove().setStyles({'position': 'absolute', 'top':'0', 'left':'0', 'margin':'0', 'width': '100%', 'height': '100%', 'zIndex': '0'})
|
||||
);
|
||||
this.fx = new Drag.Resize(this.wrapper, $merge({'preserveRatio': true}, options));
|
||||
},
|
||||
|
||||
@ -659,9 +928,9 @@ var Windoo = new Class({
|
||||
}, this);
|
||||
|
||||
this.buildDOM()
|
||||
.setSize(this.options.width, this.options.height)
|
||||
.setTitle(this.options.title)
|
||||
.fix();
|
||||
.setSize(this.options.width, this.options.height)
|
||||
.setTitle(this.options.title)
|
||||
.fix();
|
||||
if (this.options.position == 'center') this.positionAtCenter();
|
||||
|
||||
this.minimized = false;
|
||||
@ -695,14 +964,14 @@ var Windoo = new Class({
|
||||
return '<div class="' + prefix + '-left ' + _p + '-drag"><div class="' + prefix + '-right"><div class="' + contentClass + '"></div></div></div>';
|
||||
};
|
||||
var iefix = window.ie && this.options.type != 'iframe',
|
||||
innerContent = '<div class="' + _p + '-frame">' + $row("top", "title") + $row("bot", "strut") + '</div><div class="' + _p + '-body">' + (iefix ? Windoo.ieTableCell : '') + '</div>';
|
||||
innerContent = '<div class="' + _p + '-frame">' + $row("top", "title") + $row("bot", "strut") + '</div><div class="' + _p + '-body">' + (iefix ? Windoo.ieTableCell : '') + '</div>';
|
||||
this.el.setHTML(innerContent).inject(this.options.container);
|
||||
if (window.ie) this.el.addClass(_p + '-' + theme.name + '-ie');
|
||||
|
||||
var frame = this.el.getFirst(),
|
||||
body = this.el.getLast(),
|
||||
title = frame.getElement('.title'),
|
||||
titleText = new Element('div', {'class': 'title-text'}).inject(title);
|
||||
body = this.el.getLast(),
|
||||
title = frame.getElement('.title'),
|
||||
titleText = new Element('div', {'class': 'title-text'}).inject(title);
|
||||
this.dom = {
|
||||
frame: frame,
|
||||
body: body,
|
||||
@ -874,7 +1143,7 @@ var Windoo = new Class({
|
||||
|
||||
getState: function() {
|
||||
var outer = this.el.getCoordinates(), container = this.options.container,
|
||||
cont = container === $(document.body) ? {'top': 0, 'left': 0} : container.getCoordinates();
|
||||
cont = container === $(document.body) ? {'top': 0, 'left': 0} : container.getCoordinates();
|
||||
outer.top -= cont.top;
|
||||
outer.right -= cont.left;
|
||||
outer.bottom -= cont.top;
|
||||
@ -895,9 +1164,9 @@ var Windoo = new Class({
|
||||
var container = this.options.container;
|
||||
if (container === document.body) container = window;
|
||||
var s = container.getSize(), esize = this.el.getSize().size,
|
||||
fn = function(z) {
|
||||
return Math.max(0, offset[z] + s.scroll[z] + (s.size[z] - esize[z]) / 2);
|
||||
};
|
||||
fn = function(z) {
|
||||
return Math.max(0, offset[z] + s.scroll[z] + (s.size[z] - esize[z]) / 2);
|
||||
};
|
||||
this.el.setStyles({'left': fn('x'), 'top': fn('y')});
|
||||
return this.fix();
|
||||
},
|
||||
@ -960,8 +1229,8 @@ var Windoo = new Class({
|
||||
if (limit) for (var z in limit) s.size[z] = bound(s.size[z], limit[z]);
|
||||
this.el.addClass(klass);
|
||||
this.setSize(s.size.x, s.size.y)
|
||||
.setPosition(s.scroll.x, s.scroll.y)
|
||||
.fireEvent('onMaximize');
|
||||
.setPosition(s.scroll.x, s.scroll.y)
|
||||
.fireEvent('onMaximize');
|
||||
} else {
|
||||
this.el.removeClass(klass);
|
||||
this.restoreState(this.$restoreMaxi).fireEvent('onRestore', 'maximize');
|
||||
@ -979,8 +1248,8 @@ var Windoo = new Class({
|
||||
var s = container.getSize(), height = this.theme.padding.top + this.theme.padding.bottom;
|
||||
this.el.addClass(klass);
|
||||
this.setSize('auto', height)
|
||||
.setPosition(s.scroll.x + 10, s.scroll.y + s.size.y - height - 10)
|
||||
.fireEvent('onMinimize');
|
||||
.setPosition(s.scroll.x + 10, s.scroll.y + s.size.y - height - 10)
|
||||
.fireEvent('onMinimize');
|
||||
} else {
|
||||
this.el.removeClass(klass);
|
||||
this.restoreState(this.$restoreMini).fireEvent('onRestore', 'minimize');
|
||||
@ -1068,6 +1337,7 @@ if (window.gecko && navigator.appVersion.indexOf('acintosh') >= 0) window.addEve
|
||||
});
|
||||
|
||||
Windoo.Manager = new Class({
|
||||
Implements: Options,
|
||||
focused: false,
|
||||
options: {
|
||||
zIndex: 100,
|
||||
@ -1298,15 +1568,22 @@ Windoo.implement({
|
||||
addPanel: function(element, position) {
|
||||
position = $pick(position, 'bottom');
|
||||
var dim, ndim,
|
||||
size = this.el.getSize().size,
|
||||
styles = {'position': 'absolute'},
|
||||
panel = {'element': $(element), 'position': position, 'fx': []};
|
||||
size = this.el.getSize().size,
|
||||
styles = {'position': 'absolute'},
|
||||
panel = {'element': $(element), 'position': position, 'fx': []};
|
||||
switch (position) {
|
||||
case 'top':
|
||||
case 'bottom': dim = 'x'; ndim = 'y'; break;
|
||||
case 'bottom':
|
||||
dim = 'x';
|
||||
ndim = 'y';
|
||||
break;
|
||||
case 'left':
|
||||
case 'right': dim = 'y'; ndim = 'x'; break;
|
||||
default: return this;
|
||||
case 'right':
|
||||
dim = 'y';
|
||||
ndim = 'x';
|
||||
break;
|
||||
default:
|
||||
return this;
|
||||
}
|
||||
var options = Windoo.panelOptions[dim];
|
||||
styles[position] = this.padding[position];
|
||||
|
Loading…
Reference in New Issue
Block a user