/* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 0.10.0 */ YAHOO.util.DragDrop=function(id,_2){if(id){this.init(id,_2);}};YAHOO.util.DragDrop.prototype={id:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=this.DDM.getElement(this.id);}return this._domRef;},getDragEl:function(){return this.DDM.getElement(this.dragElId);},init:function(id,_6){this.initTarget(id,_6);YAHOO.util.Event.addListener(this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(id,_7){this.DDM=YAHOO.util.DDM;this.padding=[0,0,0,0];this.groups={};this.id=id;this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.handleElId=id;YAHOO.util.Event.onAvailable(id,this.handleOnAvailable,this,true);this.addToGroup((_7)?_7:"default");},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(_8,_9,_10,_11){if(!_9&&0!==_9){this.padding=[_8,_8,_8,_8];}else{if(!_10&&0!==_10){this.padding=[_8,_9,_8,_9];}else{this.padding=[_8,_9,_10,_11];}}},setInitPosition:function(_12,_13){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}var dx=_12||0;var dy=_13||0;var p=YAHOO.util.Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||YAHOO.util.Dom.getXY(this.getEl());this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(_19){this.groups[_19]=true;this.DDM.regDragDrop(this,_19);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){YAHOO.util.Event.addListener(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id);},unreg:function(){YAHOO.util.Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return (this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){var EU=YAHOO.util.Event;var _22=e.which||e.button;if(this.primaryButtonOnly&&_22>1){return;}if(this.isLocked()){return;}this.DDM.refreshCache(this.groups);var pt=new YAHOO.util.Point(EU.getPageX(e),EU.getPageY(e));if(this.DDM.isOverTarget(pt,this)){var _24=EU.getTarget(e);if(this.isValidHandleChild(_24)&&(this.id==this.handleElId||this.DDM.handleWasClicked(_24,this.id))){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}}},addInvalidHandleType:function(_25){var _26=_25.toUpperCase();this.invalidHandleTypes[_26]=_26;},addInvalidHandleId:function(id){this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(_27){this.invalidHandleClasses.push(_27);},removeInvalidHandleType:function(_28){var _29=_28.toUpperCase();delete this.invalidHandleTypes[_29];},removeInvalidHandleId:function(id){delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(_30){for(var i=0,len=this.invalidHandleClasses.length;i=this.minX;i=i-_36){if(!_37[i]){this.xTicks[this.xTicks.length]=i;_37[i]=true;}}for(i=this.initPageX;i<=this.maxX;i=i+_36){if(!_37[i]){this.xTicks[this.xTicks.length]=i;_37[i]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(_38,_39){this.yTicks=[];this.yTickSize=_39;var _40={};for(var i=this.initPageY;i>=this.minY;i=i-_39){if(!_40[i]){this.yTicks[this.yTicks.length]=i;_40[i]=true;}}for(i=this.initPageY;i<=this.maxY;i=i+_39){if(!_40[i]){this.yTicks[this.yTicks.length]=i;_40[i]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(_41,_42,_43){this.leftConstraint=_41;this.rightConstraint=_42;this.minX=this.initPageX-_41;this.maxX=this.initPageX+_42;if(_43){this.setXTicks(this.initPageX,_43);}this.constrainX=true;},setYConstraint:function(iUp,_45,_46){this.topConstraint=iUp;this.bottomConstraint=_45;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+_45;if(_46){this.setYTicks(this.initPageY,_46);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,_48){if(!_48){return val;}else{if(_48[0]>=val){return _48[0];}else{for(var i=0,len=_48.length;i=val){var _50=val-_48[i];var _51=_48[_49]-val;return (_51>_50)?_48[i]:_48[_49];}}return _48[_48.length-1];}}},toString:function(val,_52){return ("YAHOO.util.DragDrop {"+this.id+"}");}};if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=new function(){this.ids={};this.handleIds={};this.dragCurrent=null;this.dragOvers={};this.deltaX=0;this.deltaY=0;this.preventDefault=true;this.stopPropagation=true;this.initalized=false;this.locked=false;this.init=function(){};this.POINT=0;this.INTERSECT=1;this.mode=this.POINT;this._execOnAll=function(_53,_54){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}oDD[_53].apply(oDD,_54);}}};this._onLoad=function(){var EU=YAHOO.util.Event;EU.on(document,"mouseup",this.handleMouseUp,this,true);EU.on(document,"mousemove",this.handleMouseMove,this,true);EU.on(window,"unload",this._onUnload,this,true);EU.on(window,"resize",this._onResize,this,true);this.initalized=true;};this._onResize=function(e){this._execOnAll("resetConstraints",[]);};this.lock=function(){this.locked=true;};this.unlock=function(){this.locked=false;};this.isLocked=function(){return this.locked;};this.locationCache={};this.useCache=true;this.clickPixelThresh=3;this.clickTimeThresh=1000;this.dragThreshMet=false;this.clickTimeout=null;this.startX=0;this.startY=0;this.regDragDrop=function(oDD,_56){if(!this.initialized){this.init();}if(!this.ids[_56]){this.ids[_56]={};}this.ids[_56][oDD.id]=oDD;};this._remove=function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}delete this.handleIds[oDD.id];};this.regHandle=function(_58,_59){if(!this.handleIds[_58]){this.handleIds[_58]={};}this.handleIds[_58][_59]=_59;};this.isDragDrop=function(id){return (this.getDDById(id))?true:false;};this.getRelated=function(_60,_61){var _62=[];for(var i in _60.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}if(!_61||dd.isTarget){_62[_62.length]=dd;}}}return _62;};this.isLegalTarget=function(oDD,_64){var _65=this.getRelated(oDD);for(var i=0,len=_65.length;ithis.clickPixelThresh||_70>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);this.fireEvents(e,false);}this.stopEvent(e);};this.fireEvents=function(e,_71){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return;}var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);var pt=new YAHOO.util.Point(x,y);var _73=[];var _74=[];var _75=[];var _76=[];var _77=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}if(!this.isOverTarget(pt,ddo,this.mode)){_74.push(ddo);}_73[i]=true;delete this.dragOvers[i];}for(var _79 in dc.groups){if("string"!=typeof _79){continue;}for(i in this.ids[_79]){var oDD=this.ids[_79][i];if(!this.isTypeOfDD(oDD)){continue;}if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(_71){_76.push(oDD);}else{if(!_73[oDD.id]){_77.push(oDD);}else{_75.push(oDD);}this.dragOvers[oDD.id]=oDD;}}}}}if(this.mode){if(_74.length){dc.b4DragOut(e,_74);dc.onDragOut(e,_74);}if(_77.length){dc.onDragEnter(e,_77);}if(_75.length){dc.b4DragOver(e,_75);dc.onDragOver(e,_75);}if(_76.length){dc.b4DragDrop(e,_76);dc.onDragDrop(e,_76);}}else{var len=0;for(i=0,len=_74.length;i1000){}else{setTimeout(YAHOO.util.DDM._addListeners,10);if(document&&document.body){this._timeoutCount+=1;}}}};this.handleWasClicked=function(node,id){if(this.isHandle(id,node.id)){return true;}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}return false;};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}YAHOO.util.DD=function(id,_107){if(id){this.init(id,_107);}};YAHOO.util.DD.prototype=new YAHOO.util.DragDrop();YAHOO.util.DD.prototype.scroll=true;YAHOO.util.DD.prototype.autoOffset=function(_108,_109){var el=this.getEl();var _110=YAHOO.util.Dom.getXY(el);var x=_108-_110[0];var y=_109-_110[1];this.setDelta(x,y);};YAHOO.util.DD.prototype.setDelta=function(_111,_112){this.deltaX=_111;this.deltaY=_112;};YAHOO.util.DD.prototype.setDragElPos=function(_113,_114){var el=this.getDragEl();this.alignElWithMouse(el,_113,_114);};YAHOO.util.DD.prototype.alignElWithMouse=function(el,_115,_116){var _117=this.getTargetCoord(_115,_116);var _118=[_117.x,_117.y];YAHOO.util.Dom.setXY(el,_118);this.cachePosition(_117.x,_117.y);this.autoScroll(_117.x,_117.y,el.offsetHeight,el.offsetWidth);};YAHOO.util.DD.prototype.cachePosition=function(_119,_120){if(_119){this.lastPageX=_119;this.lastPageY=_120;}else{var _121=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=_121[0];this.lastPageY=_121[1];}};YAHOO.util.DD.prototype.autoScroll=function(x,y,h,w){if(this.scroll){var _124=this.DDM.getClientHeight();var _125=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var _129=w+x;var _130=(_124+st-y-this.deltaY);var _131=(_125+sl-x-this.deltaX);var _132=40;var _133=(document.all)?80:30;if(bot>_124&&_130<_132){window.scrollTo(sl,st+_133);}if(y0&&y-st<_132){window.scrollTo(sl,st-_133);}if(_129>_125&&_131<_132){window.scrollTo(sl+_133,st);}if(x0&&x-sl<_132){window.scrollTo(sl-_133,st);}}};YAHOO.util.DD.prototype.getTargetCoord=function(_134,_135){var x=_134-this.deltaX;var y=_135-this.deltaY;if(this.constrainX){if(xthis.maxX){x=this.maxX;}}if(this.constrainY){if(ythis.maxY){y=this.maxY;}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return {x:x,y:y};};YAHOO.util.DD.prototype.b4MouseDown=function(e){this.autoOffset(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));};YAHOO.util.DD.prototype.b4Drag=function(e){this.setDragElPos(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));};YAHOO.util.DDProxy=function(id,_136){if(id){this.forceCssPosition=false;this.init(id,_136);this.initFrame();}};YAHOO.util.DDProxy.prototype=new YAHOO.util.DD();YAHOO.util.DDProxy.frameDiv=null;YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.util.DDProxy.prototype.borderWidth=2;YAHOO.util.DDProxy.prototype.resizeFrame=true;YAHOO.util.DDProxy.prototype.centerFrame=false;YAHOO.util.DDProxy.createFrame=function(){var THIS=YAHOO.util.DDProxy;if(!document||!document.body){setTimeout(THIS.createFrame,50);return;}if(!THIS.frameDiv){THIS.frameDiv=document.createElement("div");THIS.frameDiv.id=THIS.dragElId;var s=THIS.frameDiv.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;document.body.appendChild(THIS.frameDiv);}};YAHOO.util.DDProxy.prototype.initFrame=function(){YAHOO.util.DDProxy.createFrame();this.setDragElId(YAHOO.util.DDProxy.dragElId);this.useAbsMath=true;};YAHOO.util.DDProxy.prototype.showFrame=function(_138,_139){var el=this.getEl();var s=this.getDragEl().style;if(this.resizeFrame){s.width=(parseInt(el.offsetWidth,10)-(2*this.borderWidth))+"px";s.height=(parseInt(el.offsetHeight,10)-(2*this.borderWidth))+"px";}if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.width,10)/2));}this.setDragElPos(_138,_139);s.visibility="";};YAHOO.util.DDProxy.prototype.b4MouseDown=function(e){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y);};YAHOO.util.DDProxy.prototype.b4StartDrag=function(x,y){this.showFrame(x,y);};YAHOO.util.DDProxy.prototype.b4EndDrag=function(e){var s=this.getDragEl().style;s.visibility="hidden";};YAHOO.util.DDProxy.prototype.endDrag=function(e){var lel=this.getEl();var del=this.getDragEl();del.style.visibility="";lel.style.visibility="hidden";YAHOO.util.DDM.moveToEl(lel,del);del.style.visibility="hidden";lel.style.visibility="";};YAHOO.util.DDTarget=function(id,_142){if(id){this.initTarget(id,_142);}};YAHOO.util.DDTarget.prototype=new YAHOO.util.DragDrop();