/*
	Copyright (c) 2004-2008, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/book/dojo-book-0-9/introduction/licensing
*/


window[(typeof (djConfig)!="undefined"&&djConfig.scopeMap&&djConfig.scopeMap[0][1])||"dojo"]._xdResourceLoaded({depends:[["provide","dojo.dnd.Container"],["require","dojo.dnd.common"],["require","dojo.parser"]],defineResource:function(_1,_2,_3){if(!_1._hasResource["dojo.dnd.Container"]){_1._hasResource["dojo.dnd.Container"]=true;_1.provide("dojo.dnd.Container");_1.require("dojo.dnd.common");_1.require("dojo.parser");_1.declare("dojo.dnd.Container",null,{skipForm:false,constructor:function(_4,_5){this.node=_1.byId(_4);if(!_5){_5={};}this.creator=_5.creator||null;this.skipForm=_5.skipForm;this.defaultCreator=_1.dnd._defaultCreator(this.node);this.map={};this.current=null;this.containerState="";_1.addClass(this.node,"dojoDndContainer");if(!(_5&&_5._skipStartup)){this.startup();}this.events=[_1.connect(this.node,"onmouseover",this,"onMouseOver"),_1.connect(this.node,"onmouseout",this,"onMouseOut"),_1.connect(this.node,"ondragstart",this,"onSelectStart"),_1.connect(this.node,"onselectstart",this,"onSelectStart")];},creator:function(){},getItem:function(_6){return this.map[_6];},setItem:function(_7,_8){this.map[_7]=_8;},delItem:function(_9){delete this.map[_9];},forInItems:function(f,o){o=o||_1.global;var m=this.map,e=_1.dnd._empty;for(var i in this.map){if(i in e){continue;}f.call(o,m[i],i,m);}},clearItems:function(){this.map={};},getAllNodes:function(){return _1.query("> .dojoDndItem",this.parent);},insertNodes:function(_f,_10,_11){if(!this.parent.firstChild){_11=null;}else{if(_10){if(!_11){_11=this.parent.firstChild;}}else{if(_11){_11=_11.nextSibling;}}}if(_11){for(var i=0;i<_f.length;++i){var t=this._normalizedCreator(_f[i]);this.setItem(t.node.id,{data:t.data,type:t.type});this.parent.insertBefore(t.node,_11);}}else{for(var i=0;i<_f.length;++i){var t=this._normalizedCreator(_f[i]);this.setItem(t.node.id,{data:t.data,type:t.type});this.parent.appendChild(t.node);}}return this;},destroy:function(){_1.forEach(this.events,_1.disconnect);this.clearItems();this.node=this.parent=this.current;},markupFactory:function(_14,_15){_14._skipStartup=true;return new _1.dnd.Container(_15,_14);},startup:function(){this.parent=this.node;if(this.parent.tagName.toLowerCase()=="table"){var c=this.parent.getElementsByTagName("tbody");if(c&&c.length){this.parent=c[0];}}this.getAllNodes().forEach(function(_17){if(!_17.id){_17.id=_1.dnd.getUniqueId();}var _18=_17.getAttribute("dndType"),_19=_17.getAttribute("dndData");this.setItem(_17.id,{data:_19?_19:_17.innerHTML,type:_18?_18.split(/\s*,\s*/):["text"]});},this);},onMouseOver:function(e){var n=e.relatedTarget;while(n){if(n==this.node){break;}try{n=n.parentNode;}catch(x){n=null;}}if(!n){this._changeState("Container","Over");this.onOverEvent();}n=this._getChildByEvent(e);if(this.current==n){return;}if(this.current){this._removeItemClass(this.current,"Over");}if(n){this._addItemClass(n,"Over");}this.current=n;},onMouseOut:function(e){for(var n=e.relatedTarget;n;){if(n==this.node){return;}try{n=n.parentNode;}catch(x){n=null;}}if(this.current){this._removeItemClass(this.current,"Over");this.current=null;}this._changeState("Container","");this.onOutEvent();},onSelectStart:function(e){if(!this.skipForm||!_1.dnd.isFormElement(e)){_1.stopEvent(e);}},onOverEvent:function(){},onOutEvent:function(){},_changeState:function(_1f,_20){var _21="dojoDnd"+_1f;var _22=_1f.toLowerCase()+"State";_1.removeClass(this.node,_21+this[_22]);_1.addClass(this.node,_21+_20);this[_22]=_20;},_addItemClass:function(_23,_24){_1.addClass(_23,"dojoDndItem"+_24);},_removeItemClass:function(_25,_26){_1.removeClass(_25,"dojoDndItem"+_26);},_getChildByEvent:function(e){var _28=e.target;if(_28){for(var _29=_28.parentNode;_29;_28=_29,_29=_28.parentNode){if(_29==this.parent&&_1.hasClass(_28,"dojoDndItem")){return _28;}}}return null;},_normalizedCreator:function(_2a,_2b){var t=(this.creator?this.creator:this.defaultCreator)(_2a,_2b);if(!_1.isArray(t.type)){t.type=["text"];}if(!t.node.id){t.node.id=_1.dnd.getUniqueId();}_1.addClass(t.node,"dojoDndItem");return t;}});_1.dnd._createNode=function(tag){if(!tag){return _1.dnd._createSpan;}return function(_2e){var n=_1.doc.createElement(tag);n.innerHTML=_2e;return n;};};_1.dnd._createTrTd=function(_30){var tr=_1.doc.createElement("tr");var td=_1.doc.createElement("td");td.innerHTML=_30;tr.appendChild(td);return tr;};_1.dnd._createSpan=function(_33){var n=_1.doc.createElement("span");n.innerHTML=_33;return n;};_1.dnd._defaultCreatorNodes={ul:"li",ol:"li",div:"div",p:"div"};_1.dnd._defaultCreator=function(_35){var tag=_35.tagName.toLowerCase();var c=tag=="table"?_1.dnd._createTrTd:_1.dnd._createNode(_1.dnd._defaultCreatorNodes[tag]);return function(_38,_39){var _3a=_1.isObject(_38)&&_38;var _3b=(_3a&&_38.data)?_38.data:_38;var _3c=(_3a&&_38.type)?_38.type:["text"];var t=String(_3b),n=(_39=="avatar"?_1.dnd._createSpan:c)(t);n.id=_1.dnd.getUniqueId();return {node:n,data:_3b,type:_3c};};};}}});
