/*
    Very Versatile Electronic Document Javascript Toolkit
    Visual Effects v1.0.1

    http://novatvmedia.com/vved       
*/

// function injector edit to limit FX functions
function loadfx(){
    enableresizing();
    enabledragging();
};

// drag object class
var _dragObject={
dragging:false,
resizing:false,
limit:{w:25,h:25},
usemousebutton:false,
usemask:true,
mask:"dragmask",
resizehandle:{w:25,h:25},
useresizehandle:true,
resizespot:"",
confinex:true,
confiney:true,
confinew:true,
confineh:true,
xwdlmt:false,
ywdlmt:false,
xminlmt:false,
xmaxlmt:false,
yminlmt:false,
ymaxlmt:false,
confineto:{left:false,right:false,top:false,bottom:false},
confinedimensionsto:{minwidth:false,maxwidth:false,minheight:false,maxheight:false},
endingdrag:false,
resizeobjmotion:{dur:1,cf:"easeOutBack",cyc:""},
dragobjmotion:{dur:1,cf:"easeOutStrong",cyc:""},
maskhide:{dur:.5,cf:"easeInStrong",cyc:""},
maskshow:{dur:.5,cf:"easeOut",cyc:""},
copycontent:true,
createmask:function(){
        var msk = createElement("div");
        msk.id=this.mask;
        msk.style.overflow="hidden";
        msk.style.position="absolute";
        msk.style.top="0px";
        msk.style.left="0px";
        msk.style.width="0px";
        msk.style.height="0px";
        msk.style.zIndex=9999;
        msk.style.backgroundColor="#FFFFFF";
        if(_isbrowser("iexplorer")){
            msk.style.filter="alpha(opacity=50)";
        }else msk.style.opacity=.5;
            document.body.appendChild(msk);
},
whiledragging:function(e,f){
    this._whiledragging.push({e:e,f:f});
},
_whiledragging:[],
whiledraggingevent:function(e){
    for(var i=0,j=this._whiledragging.length;i<j;i++){
        if($(this._whiledragging[i].e)===$(e))this._whiledragging[i].f(this);
    }
},
dragfrequency:60,
resizefrequency:15

};

// enable object dragging
function enabledragging(){
_dragObject.createmask();
    _Event.addevent({f:function(e,s){

        if(s.nodeName!=='BODY'){
            if(!s.className.find("draggable"))s=(_selectparentnode(s,'className:dontacceptchildclicks')!==s)?s:_selectparentnode(s,'className:draggable');
        }

        if((s.className.find("draggable")&&(!s.className.find("resizable")))||(s.className.find("resizable")&&_dragObject.resizespot==="freestyle")){
            if(s.className.find("dragparent")){
                var dragparent=s.className.split("dragparent:")[1].split(" ")[0];
                s=$(dragparent);
                if(!s.className.find("draggable"))_addclassname(s,"draggable");
            }
            _dragObject.elNode=s;
            if(_dragObject.elNode.nodeName==="IMG"&&(((_dragObject.elNode.parentNode&&(_dragObject.elNode.parentNode.id!==""))?_dragObject.elNode.parentNode.id.find("FrmBffr"):false)||_dragObject.elNode.className.find("useparent")))_dragObject.elNode=_dragObject.elNode.parentNode;
            _dragObject.startLeft=parseInt(_getcss(_dragObject.elNode,"left"),10);
            _dragObject.startTop=parseInt(_getcss(_dragObject.elNode,"top"),10);
            _dragObject.mskLeft=_absoluteposition(_dragObject.elNode).x;
            _dragObject.mskTop=_absoluteposition(_dragObject.elNode).y;
            _dragObject.startX=_Event.mousedowncoords.x;
            _dragObject.startY=_Event.mousedowncoords.y;
            _dragObject.dragging=true;
            if(!_dragObject.elNode.className.find('dragdefaultcursor')){
              _dragObject.dragobjprevcursor=_getcss(_dragObject.elNode,"cursor");
              _setcss(_dragObject.elNode,"cursor","all-scroll");
            }
            _dragObject.usemask=_dragObject.elNode.className.find("usemask:true")?true:false;
            _dragObject.confinex=_dragObject.elNode.className.find("confine:x")?false:true;
            _dragObject.confiney=_dragObject.elNode.className.find("confine:y")?false:true;
            _dragObject.dragobjmotion.cf=_dragObject.elNode.className.find("dragcurve:")?_dragObject.elNode.className.split("dragcurve:")[1].split(" ")[0]:"easeOutStrong";
            if(_dragObject.elNode.className.find("confineto")){
                if(_dragObject.elNode.className.find("confineto:screen")){
                    var scr={w:parseInt(document.documentElement.clientWidth.toString(),10),h:parseInt(document.documentElement.clientHeight.toString(),10)};
                    _dragObject.confineto.left=0;
                    _dragObject.confineto.right=scr.w;
                    _dragObject.confineto.top=0;
                    _dragObject.confineto.bottom=scr.h;
                }else if(_dragObject.elNode.className.find("confineto:coords")){
                    var coords=_dragObject.elNode.className.split("confineto:coords/")[1].split(" ")[0].split(","),indxr=0;
                    for(var i in _dragObject.confineto){
                        if(coords[indxr]){
                          _dragObject.confineto[i]=parseInt(coords[indxr],10);
                        }else _dragObject.confineto[i]=false;
                        indxr++;
                    }
                }else if(_dragObject.elNode.className.find("confineto:object")){
                    var refobj=(_dragObject.elNode.className.split("confineto:object/")[1].split(" ")[0]);
                    var scr={x:parseInt(_getcss(refobj,"left"),10),y:parseInt(_getcss(refobj,"top"),10),w:parseInt(_getcss(refobj,"width"),10),h:parseInt(_getcss(refobj,"height"),10)};
                    _dragObject.confineto.left=scr.x;
                    _dragObject.confineto.right=scr.w+scr.x;
                    _dragObject.confineto.top=scr.y;
                    _dragObject.confineto.bottom=scr.h+scr.y;
                }
            }else{
                for(var i in _dragObject.confineto){
                    _dragObject.confineto[i]=false;
                }
            }
                if(_dragObject.usemask){
                    $(_dragObject.mask).style["display"]="";
                    _setcss(_dragObject.mask,"opacity",50);
                    //tweento(_dragObject.mask,{p:'opacity',v:50,d:1,cf:'easeOut'});
                    _copyobj($(_dragObject.mask),_dragObject.elNode,"textAlign|overflow|color|fontSize|fontFamily|left|top|width|height|zIndex/+1|padding"+(_dragObject.elNode.className.find("copybackground:true")?"|backgroundColor":"")+(_dragObject.elNode.className.find("copybackground:true")?"|backgroundImage":""));
                    if(_dragObject.copycontent){
                        _copyobj($(_dragObject.mask),_dragObject.elNode,"innerHTML");
                    }else $(_dragObject.mask).innerHTML="";

                    if(_getcss(_dragObject.elNode,"position")==="relative"){
                        if(_dragObject.confineto.left!==false&&_dragObject.confineto.right!==false){
                            var ofst=Math.abs(_dragObject.confineto.right-_dragObject.confineto.left);
                            _dragObject.mskconfhorizoffset=ofst;
                        }
                        if(_dragObject.confineto.top!==false&&_dragObject.confineto.bottom!==false){
                            var ofst=Math.abs(_dragObject.confineto.bottom-_dragObject.confineto.top);
                            _dragObject.mskconfvertoffset=ofst;
                        }
                        var mskrelpos=_absoluteposition(_dragObject.elNode.parentNode);
                        _dragObject.mskRelLeft=mskrelpos.x;
                        _dragObject.mskRelTop=mskrelpos.y;

                      if(_dragObject.confineto.left!==false)_dragObject.confineto.mskleft=_dragObject.mskRelLeft;
                      if(_dragObject.confineto.right!==false)_dragObject.confineto.mskright=_dragObject.mskRelLeft+_dragObject.mskconfhorizoffset;
                      if(_dragObject.confineto.top!==false)_dragObject.confineto.msktop=_dragObject.mskRelTop;
                      if(_dragObject.confineto.bottom!==false)_dragObject.confineto.mskbottom=_dragObject.mskRelTop+_dragObject.mskconfvertoffset;
                      _setcss(_dragObject.mask,'left',(_Event.mousecoords.x-(_dragObject.startX-_dragObject.mskLeft))+'px');
                      _setcss(_dragObject.mask,'top',(_Event.mousecoords.y-(_dragObject.startY-_dragObject.mskTop))+'px');
                    }else{
                      _dragObject.confineto.mskleft=_dragObject.confineto.left;
                      _dragObject.confineto.mskright=_dragObject.confineto.right;
                      _dragObject.confineto.msktop=_dragObject.confineto.top;
                      _dragObject.confineto.mskbottom=_dragObject.confineto.bottom;
                    }

                }

        _cancelbubble(e);
        }
    },v:"mousedown"});

    //sysClock.addtask({id:"dragging helper",task:function(){
    _Event.addevent({f:function(e,s){
        if(_dragObject.dragging){
            if(_dragObject.elNode.className.find("draggable")){
                if(_dragObject.usemask){
                  var x=(_Event.mousecoords.x-(_dragObject.startX-_dragObject.mskLeft));
                  var y=(_Event.mousecoords.y-(_dragObject.startY-_dragObject.mskTop));
                  if(_dragObject.confineto.mskleft!==false)x=(x>_dragObject.confineto.mskleft)?x:_dragObject.confineto.mskleft;
                  if(_dragObject.confineto.mskright!==false)x=(x<_dragObject.confineto.mskright-(parseInt(_getcss(_dragObject.elNode,"width"),10)))?x:_dragObject.confineto.mskright-(parseInt(_getcss(_dragObject.elNode,"width"),10));
                  if(_dragObject.confineto.msktop!==false)y=(y>_dragObject.confineto.msktop)?y:_dragObject.confineto.msktop;
                  if(_dragObject.confineto.mskbottom!==false)y=(y<(_dragObject.confineto.mskbottom-(parseInt(_getcss(_dragObject.elNode,"height"),10))))?y:_dragObject.confineto.mskbottom-(parseInt(_getcss(_dragObject.elNode,"height"),10));
                    if(_dragObject.confinex)_setcss(_dragObject.mask,'left',x+'px');
                    if(_dragObject.confiney)_setcss(_dragObject.mask,'top',y+'px');
                }else{
                  var x=(_dragObject.startLeft + _Event.mousecoords.x - _dragObject.startX);
                  var y=(_dragObject.startTop + _Event.mousecoords.y - _dragObject.startY);
                  if(_dragObject.confineto.left!==false)x=(x>_dragObject.confineto.left)?x:_dragObject.confineto.left;
                  if(_dragObject.confineto.right!==false)x=(x<_dragObject.confineto.right-(parseInt(_getcss(_dragObject.elNode,"width"),10)))?x:_dragObject.confineto.right-(parseInt(_getcss(_dragObject.elNode,"width"),10));
                  if(_dragObject.confineto.top!==false)y=(y>_dragObject.confineto.top)?y:_dragObject.confineto.top;
                  if(_dragObject.confineto.bottom!==false)y=(y<_dragObject.confineto.bottom-(parseInt(_getcss(_dragObject.elNode,"height"),10)))?y:_dragObject.confineto.bottom-(parseInt(_getcss(_dragObject.elNode,"height"),10));
                    if(_dragObject.confinex)_setcss(_dragObject.elNode,'left',x+'px');
                    if(_dragObject.confiney)_setcss(_dragObject.elNode,'top',y+'px');
                    if(_dragObject.confinex)VVEDobj.objqueue[_getref(_dragObject.elNode)].syncattached("left",{curval:x,loopcycle:true,loopcycles:0,count:0,mode:true});
                    if(_dragObject.confiney)VVEDobj.objqueue[_getref(_dragObject.elNode)].syncattached("top",{curval:y,loopcycle:true,loopcycles:0,count:0,mode:true});
                }
            _dragObject.whiledraggingevent(_dragObject.elNode);
            _cancelbubble(e);
            }
        }
    },v:"mousemove"});
    //},fps:_dragObject.dragfrequency});

    _Event.addevent({f:function(e,s){
        if(_dragObject.dragging){
            if(!_dragObject.elNode.className.find('dragdefaultcursor')){
                _setcss(_dragObject.elNode,"cursor",_dragObject.dragobjprevcursor);
            }
            if(_dragObject.usemask){
                _dragObject.dragging=false;
                var x=(_Event.mousecoords.x-(_dragObject.startX-_dragObject.startLeft));
                var y=(_Event.mousecoords.y-(_dragObject.startY-_dragObject.startTop));
                if(_dragObject.confineto.left!==false)x=(x>_dragObject.confineto.left)?x:_dragObject.confineto.left;
                if(_dragObject.confineto.right!==false)x=(x<_dragObject.confineto.right-(parseInt(_getcss(_dragObject.elNode,"width"),10)))?x:_dragObject.confineto.right-(parseInt(_getcss(_dragObject.elNode,"width"),10));
                if(_dragObject.confineto.top!==false)y=(y>_dragObject.confineto.top)?y:_dragObject.confineto.top;
                if(_dragObject.confineto.bottom!==false)y=(y<_dragObject.confineto.bottom-(parseInt(_getcss(_dragObject.elNode,"height"),10)))?y:_dragObject.confineto.bottom-(parseInt(_getcss(_dragObject.elNode,"height"),10));
                    tweento(_dragObject.mask,{p:'opacity',v:-1,d:_dragObject.maskhide.dur,cf:_dragObject.maskhide.cf,c:_dragObject.maskhide.cyc,e:function(o){
                        o.elem.style["display"]="none";
                    }});
                    if(_dragObject.confinex){
                        tweento(_dragObject.elNode,{p:'left',v:x,d:_dragObject.dragobjmotion.dur*(_activekey("s")?10:1),cf:_dragObject.dragobjmotion.cf,c:_dragObject.dragobjmotion.cyc,e:function(){
                            //if(_dragObject.endingdrag)_dragObject.dragging=false;
                        }});
                    }
                    if(_dragObject.confiney){
                        tweento(_dragObject.elNode,{p:'top',v:y,d:_dragObject.dragobjmotion.dur*(_activekey("s")?10:1),cf:_dragObject.dragobjmotion.cf,c:_dragObject.dragobjmotion.cyc,e:function(){
                            //if(_dragObject.endingdrag)_dragObject.dragging=false;
                        }});
                    }
            }else{
                _dragObject.dragging=false;
            }
        }
    },v:"mouseup"});
}
// enable element resizing
function enableresizing(){
_dragObject.createmask();

    _Event.addevent({f:function(e,s){
        if(!_dragObject.resizing){
            var tmp=($(_Event.mousemoveon).nodeName==="IMG")?$(_Event.mousemoveon).parentNode:$(_Event.mousemoveon);
              if(tmp.className.find("resizable")){
                        var _dm = _dimensions(tmp);

                        var dn={l:parseInt(_getcss(tmp,"left"),10),t:parseInt(_getcss(tmp,"top"),10),w:_dm.w,h:_dm.h};
                        //var dn={l:parseInt(_getcss(tmp,"left"),10),t:parseInt(_getcss(tmp,"top"),10),w:parseInt(_getcss(tmp,"width"),10),h:parseInt(_getcss(tmp,"height"),10)};
                        var ds={w:_dragObject.resizehandle.w,h:_dragObject.resizehandle.h};
                        var ms={x:_Event.mousecoords.x,y:_Event.mousecoords.y};
                        var rs={
                            l:dn.l,
                            lb:dn.l+ds.w,
                            r:dn.l+dn.w,
                            rb:dn.l+dn.w-ds.w,
                            t:dn.t,
                            tb:dn.t+ds.h,
                            b:dn.t+dn.h,
                            bb:dn.t+dn.h-ds.h
                        };
                    if(ms.x>=rs.rb && ms.x<=rs.r){
                          if(ms.y>=rs.bb && ms.y<=rs.b){
                                _dragObject.resizespot="bottomright";
                          }else if(ms.y>=rs.t && ms.y<=rs.tb){
                                _dragObject.resizespot="topright";
                          }else{
                                _dragObject.resizespot="right";
                          }
                    }else if(ms.x>=rs.l && ms.x<=rs.lb){
                          if(ms.y>=rs.t && ms.y<=rs.tb){
                                _dragObject.resizespot="topleft";
                          }else if(ms.y>=rs.bb && ms.y<=rs.b){
                                _dragObject.resizespot="bottomleft";
                          }else{
                                _dragObject.resizespot="left";
                          }
                    }else if(ms.y>=rs.t && ms.y<=rs.tb){
                        _dragObject.resizespot="top";
                    }else if(ms.y>=rs.bb && ms.y<=rs.b){
                        _dragObject.resizespot="bottom";
                    }else{
                        _dragObject.resizespot="freestyle";
                    }
                var csr={left:"w-resize",right:"e-resize",top:"n-resize",bottom:"s-resize",topleft:"nw-resize",topright:"ne-resize",bottomleft:"sw-resize",bottomright:"se-resize",freestyle:"all-scroll"};
                var csrStr = csr[_dragObject.resizespot];
                _setcss(tmp,"cursor",csrStr);
              }
        _cancelbubble(e);
        }
    },v:"mousemove"});
    _Event.addevent({f:function(e,s){
        if(s.nodeName!=='BODY'){
            if(!s.className.find("resizable"))s=(_selectparentnode(s,'className:dontacceptchildclicks')!==s)?s:_selectparentnode(s,'className:resizable');
        }
        if(s.className.find("resizable")&&_dragObject.resizespot!=="freestyle"){
            if(s.className.find("resizeparent")){
                var resizeparent=s.className.split("resizeparent:")[1].split(" ")[0];
                s=$(resizeparent);
                if(!s.className.find("resizable"))_addclassname(s,"resizable");
            }

            var mc=_Event.mousecoords;
            _dragObject.elNode=s;
            if(_dragObject.elNode.nodeName==="IMG"&&_dragObject.elNode.className.find("useparent"))_dragObject.elNode=_dragObject.elNode.parentNode;
            _dragObject.startWidth=parseInt(_getcss(_dragObject.elNode,"width"),10);
            _dragObject.startHeight=parseInt(_getcss(_dragObject.elNode,"height"),10);
            _dragObject.startLeft=parseInt(_getcss(_dragObject.elNode,"left"),10);
            _dragObject.startTop=parseInt(_getcss(_dragObject.elNode,"top"),10);
            _dragObject.startX=_Event.mousedowncoords.x;
            _dragObject.startY=_Event.mousedowncoords.y;
            _dragObject.resizing=true;
            _dragObject.dragobjprevcursor=_getcss(_dragObject.elNode,"cursor");
            _dragObject.usemask=_dragObject.elNode.className.find("usemask:true")?true:false;
            _dragObject.confinew=_dragObject.elNode.className.find("confine:w")?false:true;
            _dragObject.confineh=_dragObject.elNode.className.find("confine:h")?false:true;
            if(_dragObject.elNode.className.find("confineto")){
                if(_dragObject.elNode.className.find("confineto:dimensions")){
                    var coords=_dragObject.elNode.className.split("confineto:dimensions/")[1].split(" ")[0].split(","),indxr=0;
                    for(var i in _dragObject.confinedimensionsto){
                        if(coords[indxr]){
                          _dragObject.confinedimensionsto[i]=parseInt(coords[indxr],10);
                          if(i==="minwidth")_dragObject.xmaxlmt=(_dragObject.resizespot.find("left"))?(parseInt(_getcss(_dragObject.elNode,"left"),10)+(parseInt(_getcss(_dragObject.elNode,"width"),10)-parseInt(coords[indxr],10))):false;
                          if(i==="maxwidth")_dragObject.xminlmt=(_dragObject.resizespot.find("left"))?(parseInt(_getcss(_dragObject.elNode,"left"),10)-(parseInt(coords[indxr],10)-parseInt(_getcss(_dragObject.elNode,"width"),10))):false;
                          if(i==="minheight")_dragObject.ymaxlmt=(_dragObject.resizespot.find("top"))?(parseInt(_getcss(_dragObject.elNode,"top"),10)+(parseInt(_getcss(_dragObject.elNode,"height"),10)-parseInt(coords[indxr],10))):false;
                          if(i==="maxheight")_dragObject.yminlmt=(_dragObject.resizespot.find("top"))?(parseInt(_getcss(_dragObject.elNode,"top"),10)-(parseInt(coords[indxr],10)-parseInt(_getcss(_dragObject.elNode,"height"),10))):false;
                        }else _dragObject.confinedimensionsto[i]=false;
                        indxr++;
                    }
                }
            }else{
                for(var i in _dragObject.confinedimensionsto){
                    _dragObject.confinedimensionsto[i]=false;
                }
                _dragObject.confinedimensionsto.minwidth=_dragObject.limit.w;
                _dragObject.confinedimensionsto.minheight=_dragObject.limit.h;

            }
            if(_dragObject.usemask){
                $(_dragObject.mask).style["display"]="";
                _setcss(_dragObject.mask,"opacity",50);
                //tweento(_dragObject.mask,{p:'opacity',v:25,d:_dragObject.maskshow.dur,cf:_dragObject.maskshow.cf,c:_dragObject.maskshow.cyc});
                _copyobj($(_dragObject.mask),_dragObject.elNode,"textAlign|overflow|color|fontSize|fontFamily|left|top|width|height|zIndex/+1|padding|margin");
                    if(_dragObject.copycontent){
                        _copyobj($(_dragObject.mask),_dragObject.elNode,"innerHTML");
                    }else $(_dragObject.mask).innerHTML="";
            }
        _cancelbubble(e);
        }
    },v:"mousedown"});

    //sysClock.addtask({id:"resizing helper",task:function(){
    _Event.addevent({f:function(e,s){
        if(_dragObject.resizing){
            if(_dragObject.elNode.className.find("resizable")){
                var mc=_Event.mousecoords;
                var strt={x:_dragObject.startLeft,y:_dragObject.startTop,w:_dragObject.startWidth,h:_dragObject.startHeight};
                var mstrt={x:_dragObject.startX,y:_dragObject.startY};
                var w=strt.w,h=strt.h,x=strt.x,y=strt.y,obj;
                if(_dragObject.resizespot.find("left")){
                    x=mc.x>(strt.x+strt.w-_dragObject.limit.w)?strt.x+strt.w-_dragObject.limit.w:strt.x-(mstrt.x-mc.x);
                    if(_dragObject.xminlmt!==false)x=(x<=_dragObject.xminlmt)?_dragObject.xminlmt:x;
                    if(_dragObject.xmaxlmt!==false)x=(x>=_dragObject.xmaxlmt)?_dragObject.xmaxlmt:x;
                    w=strt.w+(mstrt.x-mc.x);
                }
                if(_dragObject.resizespot.find("right")){
                    w=strt.w+mc.x-mstrt.x;
                }
                if(_dragObject.resizespot.find("top")){
                    y=mc.y>(strt.y+strt.h-_dragObject.limit.h)?strt.y+strt.h-_dragObject.limit.h:strt.y-(mstrt.y-mc.y);
                    if(_dragObject.yminlmt!==false)y=(y<=_dragObject.yminlmt)?_dragObject.yminlmt:y;
                    if(_dragObject.ymaxlmt!==false)y=(y>=_dragObject.ymaxlmt)?_dragObject.ymaxlmt:y;
                    h=strt.h+(mstrt.y-mc.y);
                }
                if(_dragObject.resizespot.find("bottom")){
                    h=strt.h+mc.y-mstrt.y;
                }

                var noresize=false;
                if(_dragObject.resizespot.find("free")){
                    noresize=true;
                }
                if(!noresize){
                    if(_dragObject.confinedimensionsto.minwidth!==false)w=(w < _dragObject.confinedimensionsto.minwidth)?_dragObject.confinedimensionsto.minwidth:w;
                    if(_dragObject.confinedimensionsto.maxwidth!==false)w=(w > _dragObject.confinedimensionsto.maxwidth)?_dragObject.confinedimensionsto.maxwidth:w;
                    if(_dragObject.confinedimensionsto.minheight!==false)h=(h < _dragObject.confinedimensionsto.minheight)?_dragObject.confinedimensionsto.minheight:h;
                    if(_dragObject.confinedimensionsto.maxheight!==false)h=(h > _dragObject.confinedimensionsto.maxheight)?_dragObject.confinedimensionsto.maxheight:h;
                    if(_dragObject.usemask){
                        obj=_dragObject.mask;
                    }else{
                        obj=_dragObject.elNode;
                    }
                    _setcss(obj,"left",x+"px");
                    _setcss(obj,"top",y+"px");
                    if(_dragObject.confinew)_setcss(obj,"width",w+"px");
                    if(_dragObject.confineh)_setcss(obj,"height",h+"px");
                    VVEDobj.objqueue[_getref(_dragObject.elNode)].img.resize();
                    VVEDobj.objqueue[_getref(_dragObject.elNode)].syncattached("width",{loopcycle:true,loopcycles:0,count:0,mode:true});
                    VVEDobj.objqueue[_getref(_dragObject.elNode)].syncattached("height",{loopcycle:true,loopcycles:0,count:0,mode:true});
                }
            _cancelbubble(e);
            }
        }
    },v:"mousemove"});
    //},fps:_dragObject.resizefrequency});

    _Event.addevent({f:function(e,s){
        if(_dragObject.resizing){
            _dragObject.resizing=false;
            _setcss(_dragObject.elNode,"cursor",_dragObject.dragobjprevcursor);
            if(_dragObject.usemask){
                var mc=_mousecoord(e);
                var x=parseInt(_getcss(_dragObject.mask,"left"),10);
                var y=parseInt(_getcss(_dragObject.mask,"top"),10);
                var w=parseInt(_getcss(_dragObject.mask,"width"),10);
                var h=parseInt(_getcss(_dragObject.mask,"height"),10);
                    if(_dragObject.confinedimensionsto.minwidth!==false)w=(w < _dragObject.confinedimensionsto.minwidth)?_dragObject.confinedimensionsto.minwidth:w;
                    if(_dragObject.confinedimensionsto.maxwidth!==false)w=(w > _dragObject.confinedimensionsto.maxwidth)?_dragObject.confinedimensionsto.maxwidth:w;
                    if(_dragObject.confinedimensionsto.minheight!==false)h=(h < _dragObject.confinedimensionsto.minheight)?_dragObject.confinedimensionsto.minheight:h;
                    if(_dragObject.confinedimensionsto.maxheight!==false)h=(h > _dragObject.confinedimensionsto.maxheight)?_dragObject.confinedimensionsto.maxheight:h;
                    tweento(_dragObject.mask,{p:'opacity',v:-1,d:_dragObject.maskhide.dur,cf:_dragObject.maskhide.cf,c:_dragObject.maskhide.cyc,e:function(o){
                        o.elem.style["display"]="none";
                    }});
                    tweento(_dragObject.elNode,{p:'left',v:x,d:_dragObject.resizeobjmotion.dur*(_activekey("s")?10:1),cf:_dragObject.resizeobjmotion.cf,c:_dragObject.resizeobjmotion.cyc});
                    tweento(_dragObject.elNode,{p:'top',v:y,d:_dragObject.resizeobjmotion.dur*(_activekey("s")?10:1),cf:_dragObject.resizeobjmotion.cf,c:_dragObject.resizeobjmotion.cyc});
                    if(_dragObject.confinew)tweento(_dragObject.elNode,{p:'width',v:w,d:_dragObject.resizeobjmotion.dur*(_activekey("s")?10:1),cf:_dragObject.resizeobjmotion.cf,c:_dragObject.resizeobjmotion.cyc});
                    if(_dragObject.confineh)tweento(_dragObject.elNode,{p:'height',v:h,d:_dragObject.resizeobjmotion.dur*(_activekey("s")?10:1),cf:_dragObject.resizeobjmotion.cf,c:_dragObject.resizeobjmotion.cyc});
            }
        }
    },v:"mouseup"});
}

//text tween
function tweentext(o){

var obj=o?o:{};
var twnobj={};
twnobj.v=obj.text.length;
twnobj.d=obj.duration?obj.duration:1;
twnobj.c=obj.cycle?obj.cycle:"loop,1";
twnobj.cf=obj.curvefunc?obj.curvefunc:"";
twnobj.rt=obj.roundoffto?obj.roundoffto:0;
twnobj.pa=obj.pauseafter?obj.pauseafter:0;
twnobj.s=obj.onstart?obj.onstart:"";
twnobj.e=obj.onend?obj.onend:"";
twnobj.ls=obj.onloopstart?obj.onloopstart:"";

if(obj.presets){
    var presetcntr=0;
    twnobj.le=function(t){
            var nmr=Math.floor(_randomseed(obj.presets.length))-1;
            var str=(obj.randomizepresets)?obj.presets[nmr]:obj.presets[presetcntr];
            if(!obj.randomizepresets){
                if(obj.presets.length>1)presetcntr=(presetcntr<obj.presets.length-1)?presetcntr+1:0;
            }
            t.endval=str.length;
            obj.text=str;
    };
}

      if(obj.mode==="matrix"){
                twnobj.t=function(t){
                    var lastloop=((t.loopcycles-t.count)<=1);
                    var str="";
                    if(lastloop){
                      var nm=obj.text.length-t.curval;
                    } else {
                      var nm=obj.text.length;
                    }

                    for(var i=0,j=nm;i<j;i++){
                        var ct=[parseInt(_randomseed(10)-1,10)+48,parseInt(_randomseed(26),10)+64];
                        ct=ct[parseInt(_randomseed(ct.length)-1,10)];
                        var nstr=String.fromCharCode(ct).toLowerCase();
                        if(obj.formatmatrix&&obj.direction)nstr=(parseInt(_randomseed(2),10)===1)?obj.formatmatrix(nstr):nstr;
                        str+=nstr;
                    }
                    if(!lastloop)$(obj.obj).innerHTML=str;
                    if(lastloop){
                      if(obj.direction==="left"){
                          $(obj.obj).innerHTML=obj.text.substring(0,obj.text.length-nm)+str;
                      }else if(obj.direction==="right"){
                          $(obj.obj).innerHTML=str+obj.text.substring(nm,obj.text.length);
                      }else{
                            var strln=obj.text.length-obj.text.substring(nm,obj.text.length-nm).length;
                          $(obj.obj).innerHTML=str.substring(0,strln/2)+obj.text.substring(nm,obj.text.length-nm)+str.substring(str.length-(strln/2),str.length);
                          //$(obj.obj).innerHTML=str.substring(0,strln/2)+obj.text.substring(nm,obj.text.length-nm)+str.substring(strln/2,strln);
                      }
                    }
                };
      }else if(obj.mode==="subber"){
            var subpar=0,sublimit=2;
            twnobj.t=function(t){
                var str="",sb=subpar;
                var lastloop=((t.loopcycles-t.count)<=1);
                for(var i=0,j=obj.text.length;i<j;i++){
                        var ci=obj.text.charAt(i);
                        if(!lastloop||(obj.direction==="right"&&lastloop&&i>t.curval)||(obj.direction==="cycleright"&&lastloop&&i<t.curval)||(obj.direction==="left"&&lastloop&&i<obj.text.length-t.curval)||(obj.direction==="cycleleft"&&lastloop&&i>obj.text.length-t.curval)||(obj.direction==="center"&&lastloop&&i>obj.text.length-t.curval&&i<t.curval)||(obj.direction==="cyclecenter"&&lastloop&&i>obj.text.length-t.curval&&i<t.curval)){
                          if(sb===0)ci=(obj.subfunc)?obj.subfunc(ci):ci.sub();
                          if(sb===2)ci=(obj.supfunc)?obj.supfunc(ci):ci.sup();
                        }
                        ci=(obj.normfunc)?obj.normfunc(ci):ci;
                    sb=(sb<sublimit)?sb+1:0;
                    str+=ci;
                }
                $(obj.obj).innerHTML=str;
                subpar=(subpar<sublimit)?subpar+1:0;
            };
      }else if(obj.mode==="flasher"){
                twnobj.t=function(t){
                    if(obj.direction==="right"){
                        $(obj.obj).innerHTML=obj.text.substring(t.curval,obj.text.length);
                    }else if(obj.direction==="left"){
                        $(obj.obj).innerHTML=obj.text.substring(0,t.curval);
                    }else{
                        $(obj.obj).innerHTML=obj.text.substring(t.curval,obj.text.length-t.curval);
                    }
                };
      }else{
          if(obj.direction==="right"){
                twnobj.t=function(t){
                    $(obj.obj).innerHTML=obj.text.substring(0,t.curval);
                };
          }else if(obj.direction==="left"){
                twnobj.t=function(t){
                    $(obj.obj).innerHTML=obj.text.substring(t.curval,obj.text.length);
                };
          }else{
                twnobj.t=function(t){
                    $(obj.obj).innerHTML=obj.text.substring(t.curval,obj.text.length-t.curval);
                };
          }
      }
    if(obj.ontick)twnobj.t=[obj.ontick,twnobj.t];
    if(obj.onloopend)twnobj.le=[obj.onloopend,twnobj.le];

twnobj.ty={a:obj.obj};
return _tweenr.addtween("counter",twnobj);
}



