/*
 * Ext JS Library 3.0.0
 * Copyright(c) 2006-2009 Ext JS, LLC
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
window.undefined=window.undefined;Ext={
    version:"3.0"
};
Ext.apply=function(d,e,b){
    if(b){
        Ext.apply(d,b)
    }if(d&&e&&typeof e=="object"){
        for(var a in e){
            d[a]=e[a]
        }
    }return d
};(function(){
    var g=0,t=Object.prototype.toString,s=function(e){
        if(Ext.isArray(e)||e.callee){
            return true
        }if(/NodeList|HTMLCollection/.test(t.call(e))){
            return true
        }return((e.nextNode||e.item)&&Ext.isNumber(e.length))
    },u=navigator.userAgent.toLowerCase(),z=function(e){
        return e.test(u)
    },i=document,l=i.compatMode=="CSS1Compat",B=z(/opera/),h=z(/chrome/),v=z(/webkit/),y=!h&&z(/safari/),f=y&&z(/applewebkit\/4/),b=y&&z(/version\/3/),C=y&&z(/version\/4/),r=!B&&z(/msie/),p=r&&z(/msie 7/),o=r&&z(/msie 8/),q=r&&!p&&!o,n=!v&&z(/gecko/),d=n&&z(/rv:1\.8/),a=n&&z(/rv:1\.9/),w=r&&!l,A=z(/windows|win32/),k=z(/macintosh|mac os x/),j=z(/adobeair/),m=z(/linux/),c=/^https/i.test(window.location.protocol);if(q){
        try{
            i.execCommand("BackgroundImageCache",false,true)
        }catch(x){}
    }Ext.apply(Ext,{
        SSL_SECURE_URL:"javascript:false",
        isStrict:l,
        isSecure:c,
        isReady:false,
        enableGarbageCollector:true,
        enableListenerCollection:false,
        USE_NATIVE_JSON:false,
        applyIf:function(D,E){
            if(D){
                for(var e in E){
                    if(Ext.isEmpty(D[e])){
                        D[e]=E[e]
                    }
                }
            }return D
        },
        id:function(e,D){
            return(e=Ext.getDom(e)||{}).id=e.id||(D||"ext-gen")+(++g)
        },
        extend:function(){
            var D=function(F){
                for(var E in F){
                    this[E]=F[E]
                }
            };var e=Object.prototype.constructor;return function(K,H,J){
                if(Ext.isObject(H)){
                    J=H;H=K;K=J.constructor!=e?J.constructor:function(){
                        H.apply(this,arguments)
                    }
                }var G=function(){},I,E=H.prototype;G.prototype=E;I=K.prototype=new G();I.constructor=K;K.superclass=E;if(E.constructor==e){
                    E.constructor=H
                }K.override=function(F){
                    Ext.override(K,F)
                };I.superclass=I.supr=(function(){
                    return E
                });I.override=D;Ext.override(K,J);K.extend=function(F){
                    Ext.extend(K,F)
                };return K
            }
        }(),
        override:function(e,E){
            if(E){
                var D=e.prototype;Ext.apply(D,E);if(Ext.isIE&&E.toString!=e.toString){
                    D.toString=E.toString
                }
            }
        },
        namespace:function(){
            var D,e;Ext.each(arguments,function(E){
                e=E.split(".");D=window[e[0]]=window[e[0]]||{};Ext.each(e.slice(1),function(F){
                    D=D[F]=D[F]||{}
                })
            });return D
        },
        urlEncode:function(I,H){
            var F,D=[],E,G=encodeURIComponent;for(E in I){
                F=!Ext.isDefined(I[E]);Ext.each(F?E:I[E],function(J,e){
                    D.push("&",G(E),"=",(J!=E||!F)?G(J):"")
                })
            }if(!H){
                D.shift();H=""
            }return H+D.join("")
        },
        urlDecode:function(E,D){
            var H={},G=E.split("&"),I=decodeURIComponent,e,F;Ext.each(G,function(J){
                J=J.split("=");e=I(J[0]);F=I(J[1]);H[e]=D||!H[e]?F:[].concat(H[e]).concat(F)
            });return H
        },
        urlAppend:function(e,D){
            if(!Ext.isEmpty(D)){
                return e+(e.indexOf("?")===-1?"?":"&")+D
            }return e
        },
        toArray:function(){
            return r?function(e,F,D,E){
                E=[];Ext.each(e,function(G){
                    E.push(G)
                });return E.slice(F||0,D||E.length)
            }:function(e,E,D){
                return Array.prototype.slice.call(e,E||0,D||e.length)
            }
        }(),
        each:function(G,F,E){
            if(Ext.isEmpty(G,true)){
                return
            }if(!s(G)||Ext.isPrimitive(G)){
                G=[G]
            }for(var D=0,e=G.length;D<e;D++){
                if(F.call(E||G[D],G[D],D,G)===false){
                    return D
                }
            }
        },
        iterate:function(E,D,e){
            if(s(E)){
                Ext.each(E,D,e);return
            }else{
                if(Ext.isObject(E)){
                    for(var F in E){
                        if(E.hasOwnProperty(F)){
                            if(D.call(e||E,F,E[F])===false){
                                return
                            }
                        }
                    }
                }
            }
        },
        getDom:function(e){
            if(!e||!i){
                return null
            }return e.dom?e.dom:(Ext.isString(e)?i.getElementById(e):e)
        },
        getBody:function(){
            return Ext.get(i.body||i.documentElement)
        },
        removeNode:r?function(){
            var e;return function(D){
                if(D&&D.tagName!="BODY"){
                    e=e||i.createElement("div");e.appendChild(D);e.innerHTML=""
                }
            }
        }():function(e){
            if(e&&e.parentNode&&e.tagName!="BODY"){
                e.parentNode.removeChild(e)
            }
        },
        isEmpty:function(D,e){
            return D===null||D===undefined||((Ext.isArray(D)&&!D.length))||(!e?D==="":false)
        },
        isArray:function(e){
            return t.apply(e)==="[object Array]"
        },
        isObject:function(e){
            return e&&typeof e=="object"
        },
        isPrimitive:function(e){
            return Ext.isString(e)||Ext.isNumber(e)||Ext.isBoolean(e)
        },
        isFunction:function(e){
            return t.apply(e)==="[object Function]"
        },
        isNumber:function(e){
            return typeof e==="number"&&isFinite(e)
        },
        isString:function(e){
            return typeof e==="string"
        },
        isBoolean:function(e){
            return typeof e==="boolean"
        },
        isDefined:function(e){
            return typeof e!=="undefined"
        },
        isOpera:B,
        isWebKit:v,
        isChrome:h,
        isSafari:y,
        isSafari3:b,
        isSafari4:C,
        isSafari2:f,
        isIE:r,
        isIE6:q,
        isIE7:p,
        isIE8:o,
        isGecko:n,
        isGecko2:d,
        isGecko3:a,
        isBorderBox:w,
        isLinux:m,
        isWindows:A,
        isMac:k,
        isAir:j
    });
    Ext.ns=Ext.namespace
})();
Ext.ns("Ext","Ext.util","Ext.lib","Ext.data");
Ext.apply(Function.prototype,{
    createInterceptor:function(b,a){
        var c=this;return !Ext.isFunction(b)?this:function(){
            var e=this,d=arguments;b.target=e;b.method=c;return(b.apply(a||e||window,d)!==false)?c.apply(e||window,d):null
        }
    },
    createCallback:function(){
        var a=arguments,b=this;return function(){
            return b.apply(window,a)
        }
    },
    createDelegate:function(c,b,a){
        var d=this;return function(){
            var f=b||arguments;if(a===true){
                f=Array.prototype.slice.call(arguments,0);f=f.concat(b)
            }else{
                if(Ext.isNumber(a)){
                    f=Array.prototype.slice.call(arguments,0);var e=[a,0].concat(b);Array.prototype.splice.apply(f,e)
                }
            }return d.apply(c||window,f)
        }
    },
    defer:function(c,e,b,a){
        var d=this.createDelegate(e,b,a);if(c>0){
            return setTimeout(d,c)
        }d();return 0
    }
});
Ext.applyIf(String,{
    format:function(b){
        var a=Ext.toArray(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,d){
            return a[d]
        })
    }
});
//Ext.applyIf(Array.prototype,{
//    indexOf:function(c){
//        for(var b=0,a=this.length;b<a;b++){
//            if(this[b]==c){
//                return b
//            }
//        }return -1
//    },
//    remove:function(b){
//        var a=this.indexOf(b);if(a!=-1){
//            this.splice(a,1)
//        }return this
//    }
//});
Ext.ns("Ext.grid","Ext.dd","Ext.tree","Ext.form","Ext.menu","Ext.state","Ext.layout","Ext.app","Ext.ux","Ext.chart","Ext.direct");Ext.apply(Ext,function(){
    var b=Ext,a=0;return{
        emptyFn:function(){},
        BLANK_IMAGE_URL:Ext.isIE6||Ext.isIE7?"http://extjs.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",
        extendX:function(c,d){
            return Ext.extend(c,d(c.prototype))
        },
        getDoc:function(){
            return Ext.get(document)
        },
        isDate:function(c){
            return Object.prototype.toString.apply(c)==="[object Date]"
        },
        num:function(d,c){
            d=Number(d===null||typeof d=="boolean"?NaN:d);return isNaN(d)?c:d
        },
        value:function(e,c,d){
            return Ext.isEmpty(e,d)?c:e
        },
        escapeRe:function(c){
            return c.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")
        },
        sequence:function(f,c,e,d){
            f[c]=f[c].createSequence(e,d)
        },
        addBehaviors:function(g){
            if(!Ext.isReady){
                Ext.onReady(function(){
                    Ext.addBehaviors(g)
                })
            }else{
                var d={},f,c,e;for(c in g){
                    if((f=c.split("@"))[1]){
                        e=f[0];if(!d[e]){
                            d[e]=Ext.select(e)
                        }d[e].on(f[1],g[c])
                    }
                }d=null
            }
        },
        combine:function(){
            var e=arguments,d=e.length,g=[];for(var f=0;f<d;f++){
                var c=e[f];if(Ext.isArray(c)){
                    g=g.concat(c)
                }else{
                    if(c.length!==undefined&&!c.substr){
                        g=g.concat(Array.prototype.slice.call(c,0))
                    }else{
                        g.push(c)
                    }
                }
            }return g
        },
        copyTo:function(c,d,e){
            if(typeof e=="string"){
                e=e.split(/[,;\s]/)
            }Ext.each(e,function(f){
                if(d.hasOwnProperty(f)){
                    c[f]=d[f]
                }
            },this);return c
        },
        destroy:function(){
            Ext.each(arguments,function(c){
                if(c){
                    if(Ext.isArray(c)){
                        this.destroy.apply(this,c)
                    }else{
                        if(Ext.isFunction(c.destroy)){
                            c.destroy()
                        }else{
                            if(c.dom){
                                c.remove()
                            }
                        }
                    }
                }
            },this)
        },
        destroyMembers:function(j,g,e,f){
            for(var h=1,d=arguments,c=d.length;h<c;h++){
                Ext.destroy(j[d[h]]);delete j[d[h]]
            }
        },
        clean:function(c){
            var d=[];Ext.each(c,function(e){
                if(!!e){
                    d.push(e)
                }
            });return d
        },
        unique:function(c){
            var d=[],e={};Ext.each(c,function(f){
                if(!e[f]){
                    d.push(f)
                }e[f]=true
            });return d
        },
        flatten:function(c){
            var e=[];function d(f){
                Ext.each(f,function(g){
                    if(Ext.isArray(g)){
                        d(g)
                    }else{
                        e.push(g)
                    }
                });return e
            }return d(c)
        },
        min:function(c,d){
            var e=c[0];d=d||function(g,f){
                return g<f?-1:1
            };Ext.each(c,function(f){
                e=d(e,f)==-1?e:f
            });return e
        },
        max:function(c,d){
            var e=c[0];d=d||function(g,f){
                return g>f?1:-1
            };Ext.each(c,function(f){
                e=d(e,f)==1?e:f
            });return e
        },
        mean:function(c){
            return Ext.sum(c)/c.length
        },
        sum:function(c){
            var d=0;Ext.each(c,function(e){
                d+=e
            });return d
        },
        partition:function(c,d){
            var e=[[],[]];Ext.each(c,function(g,h,f){
                e[(d&&d(g,h,f))||(!d&&g)?0:1].push(g)
            });return e
        },
        invoke:function(c,d){
            var f=[],e=Array.prototype.slice.call(arguments,2);Ext.each(c,function(g,h){
                if(g&&typeof g[d]=="function"){
                    f.push(g[d].apply(g,e))
                }else{
                    f.push(undefined)
                }
            });return f
        },
        pluck:function(c,e){
            var d=[];Ext.each(c,function(f){
                d.push(f[e])
            });return d
        },
        zip:function(){
            var l=Ext.partition(arguments,function(i){
                return !Ext.isFunction(i)
            }),g=l[0],k=l[1][0],c=Ext.max(Ext.pluck(g,"length")),f=[];for(var h=0;h<c;h++){
                f[h]=[];if(k){
                    f[h]=k.apply(k,Ext.pluck(g,h))
                }else{
                    for(var e=0,d=g.length;e<d;e++){
                        f[h].push(g[e][h])
                    }
                }
            }return f
        },
        getCmp:function(c){
            return Ext.ComponentMgr.get(c)
        },
        useShims:b.isIE6||(b.isMac&&b.isGecko2),
        type:function(d){
            if(d===undefined||d===null){
                return false
            }if(d.htmlElement){
                return"element"
            }var c=typeof d;if(c=="object"&&d.nodeName){
                switch(d.nodeType){
                    case 1:return"element";case 3:return(/\S/).test(d.nodeValue)?"textnode":"whitespace"
                }
            }if(c=="object"||c=="function"){
                switch(d.constructor){
                    case Array:return"array";case RegExp:return"regexp";case Date:return"date"
                }if(typeof d.length=="number"&&typeof d.item=="function"){
                    return"nodelist"
                }
            }return c
        },
        intercept:function(f,c,e,d){
            f[c]=f[c].createInterceptor(e,d)
        },
        callback:function(c,f,e,d){
            if(Ext.isFunction(c)){
                if(d){
                    c.defer(d,f,e||[])
                }else{
                    c.apply(f,e||[])
                }
            }
        }
    }
}());Ext.apply(Function.prototype,{
    createSequence:function(b,a){
        var c=this;return !Ext.isFunction(b)?this:function(){
            var d=c.apply(this||window,arguments);b.apply(a||this||window,arguments);return d
        }
    }
});Ext.applyIf(String,{
    escape:function(a){
        return a.replace(/('|\\)/g,"\\$1")
    },
    leftPad:function(d,b,c){
        var a=String(d);if(!c){
            c=" "
        }while(a.length<b){
            a=c+a
        }return a
    }
});String.prototype.toggle=function(b,a){
    return this==b?a:b
};String.prototype.trim=function(){
    var a=/^\s+|\s+$/g;return function(){
        return this.replace(a,"")
    }
}();Date.prototype.getElapsed=function(a){
    return Math.abs((a||new Date()).getTime()-this.getTime())
};Ext.applyIf(Number.prototype,{
    constrain:function(b,a){
        return Math.min(Math.max(this,b),a)
    }
});Ext.util.TaskRunner=function(e){
    e=e||10;var f=[],a=[],b=0,g=false,d=function(){
        g=false;clearInterval(b);b=0
    },h=function(){
        if(!g){
            g=true;b=setInterval(i,e)
        }
    },c=function(j){
        a.push(j);if(j.onStop){
            j.onStop.apply(j.scope||j)
        }
    },i=function(){
        var l=a.length,n=new Date().getTime();if(l>0){
            for(var p=0;p<l;p++){
                f.remove(a[p])
            }a=[];if(f.length<1){
                d();return
            }
        }for(var p=0,o,k,m,j=f.length;p<j;++p){
            o=f[p];k=n-o.taskRunTime;if(o.interval<=k){
                m=o.run.apply(o.scope||o,o.args||[++o.taskRunCount]);o.taskRunTime=n;if(m===false||o.taskRunCount===o.repeat){
                    c(o);return
                }
            }if(o.duration&&o.duration<=(n-o.taskStartTime)){
                c(o)
            }
        }
    };this.start=function(j){
        f.push(j);j.taskStartTime=new Date().getTime();j.taskRunTime=0;j.taskRunCount=0;h();return j
    };this.stop=function(j){
        c(j);return j
    };this.stopAll=function(){
        d();for(var k=0,j=f.length;k<j;k++){
            if(f[k].onStop){
                f[k].onStop()
            }
        }f=[];a=[]
    }
};Ext.TaskMgr=new Ext.util.TaskRunner();if(typeof YAHOO=="undefined"){
    throw"Unable to load Ext, core YUI utilities (yahoo, dom, event) not found."
}(function(){
    var o=YAHOO.util.Event,c=YAHOO.util.Dom,h=YAHOO.util.Connect,j=YAHOO.util.Easing,e=YAHOO.util.Anim,l,m=YAHOO.env.getVersion("yahoo").version.split("."),b=parseInt(m[0])>=3,n={},d=Ext.isGecko?function(p){
        return Object.prototype.toString.call(p)=="[object XULElement]"
    }:function(){},a=Ext.isGecko?function(p){
        try{
            return p.nodeType==3
        }catch(q){
            return false
        }
    }:function(p){
        return p.nodeType==3
    },g=function(p,r){
        if(p&&p.firstChild){
            while(r){
                if(r===p){
                    return true
                }try{
                    r=r.parentNode
                }catch(q){
                    return false
                }if(r&&(r.nodeType!=1)){
                    r=null
                }
            }
        }return false
    },k=function(q){
        var p=Ext.lib.Event.getRelatedTarget(q);return !(d(p)||g(q.currentTarget,p))
    };Ext.lib.Dom={
        getViewWidth:function(p){
            return p?c.getDocumentWidth():c.getViewportWidth()
        },
        getViewHeight:function(p){
            return p?c.getDocumentHeight():c.getViewportHeight()
        },
        isAncestor:function(p,q){
            return c.isAncestor(p,q)
        },
        getRegion:function(p){
            return c.getRegion(p)
        },
        getY:function(p){
            return this.getXY(p)[1]
        },
        getX:function(p){
            return this.getXY(p)[0]
        },
        getXY:function(s){
            var r,w,A,B,v=(document.body||document.documentElement);s=Ext.getDom(s);if(s==v){
                return[0,0]
            }if(s.getBoundingClientRect){
                A=s.getBoundingClientRect();B=i(document).getScroll();return[Math.round(A.left+B.left),Math.round(A.top+B.top)]
            }var C=0,z=0;r=s;var q=i(s).getStyle("position")=="absolute";while(r){
                C+=r.offsetLeft;z+=r.offsetTop;if(!q&&i(r).getStyle("position")=="absolute"){
                    q=true
                }if(Ext.isGecko){
                    w=i(r);var D=parseInt(w.getStyle("borderTopWidth"),10)||0;var t=parseInt(w.getStyle("borderLeftWidth"),10)||0;C+=t;z+=D;if(r!=s&&w.getStyle("overflow")!="visible"){
                        C+=t;z+=D
                    }
                }r=r.offsetParent
            }if(Ext.isSafari&&q){
                C-=v.offsetLeft;z-=v.offsetTop
            }if(Ext.isGecko&&!q){
                var u=i(v);C+=parseInt(u.getStyle("borderLeftWidth"),10)||0;z+=parseInt(u.getStyle("borderTopWidth"),10)||0
            }r=s.parentNode;while(r&&r!=v){
                if(!Ext.isOpera||(r.tagName!="TR"&&i(r).getStyle("display")!="inline")){
                    C-=r.scrollLeft;z-=r.scrollTop
                }r=r.parentNode
            }return[C,z]
        },
        setXY:function(p,q){
            p=Ext.fly(p,"_setXY");p.position();var r=p.translatePoints(q);if(q[0]!==false){
                p.dom.style.left=r.left+"px"
            }if(q[1]!==false){
                p.dom.style.top=r.top+"px"
            }
        },
        setX:function(q,p){
            this.setXY(q,[p,false])
        },
        setY:function(p,q){
            this.setXY(p,[false,q])
        }
    };Ext.lib.Event={
        getPageX:function(p){
            return o.getPageX(p.browserEvent||p)
        },
        getPageY:function(p){
            return o.getPageY(p.browserEvent||p)
        },
        getXY:function(p){
            return o.getXY(p.browserEvent||p)
        },
        getTarget:function(p){
            return o.getTarget(p.browserEvent||p)
        },
        getRelatedTarget:function(p){
            return o.getRelatedTarget(p.browserEvent||p)
        },
        on:function(t,p,s,r,q){
            if((p=="mouseenter"||p=="mouseleave")&&!b){
                var u=n[t.id]||(n[t.id]={});u[p]=s;s=s.createInterceptor(k);p=(p=="mouseenter")?"mouseover":"mouseout"
            }o.on(t,p,s,r,q)
        },
        un:function(r,p,q){
            if((p=="mouseenter"||p=="mouseleave")&&!b){
                var t=n[r.id],s=t&&t[p];if(s){
                    q=s.fn;delete t[p];p=(p=="mouseenter")?"mouseover":"mouseout"
                }
            }o.removeListener(r,p,q)
        },
        purgeElement:function(p){
            o.purgeElement(p)
        },
        preventDefault:function(p){
            o.preventDefault(p.browserEvent||p)
        },
        stopPropagation:function(p){
            o.stopPropagation(p.browserEvent||p)
        },
        stopEvent:function(p){
            o.stopEvent(p.browserEvent||p)
        },
        onAvailable:function(s,r,q,p){
            return o.onAvailable(s,r,q,p)
        }
    };Ext.lib.Ajax={
        request:function(v,t,p,u,q){
            if(q){
                var r=q.headers;if(r){
                    for(var s in r){
                        if(r.hasOwnProperty(s)){
                            h.initHeader(s,r[s],false)
                        }
                    }
                }if(q.xmlData){
                    if(!r||!r["Content-Type"]){
                        h.initHeader("Content-Type","text/xml",false)
                    }v=(v?v:(q.method?q.method:"POST"));u=q.xmlData
                }else{
                    if(q.jsonData){
                        if(!r||!r["Content-Type"]){
                            h.initHeader("Content-Type","application/json",false)
                        }v=(v?v:(q.method?q.method:"POST"));u=typeof q.jsonData=="object"?Ext.encode(q.jsonData):q.jsonData
                    }
                }
            }return h.asyncRequest(v,t,p,u)
        },
        formRequest:function(t,s,q,u,p,r){
            h.setForm(t,p,r);return h.asyncRequest(Ext.getDom(t).method||"POST",s,q,u)
        },
        isCallInProgress:function(p){
            return h.isCallInProgress(p)
        },
        abort:function(p){
            return h.abort(p)
        },
        serializeForm:function(p){
            var q=h.setForm(p.dom||p);h.resetFormState();return q
        }
    };Ext.lib.Region=YAHOO.util.Region;Ext.lib.Point=YAHOO.util.Point;Ext.lib.Anim={
        scroll:function(s,q,t,u,p,r){
            this.run(s,q,t,u,p,r,YAHOO.util.Scroll)
        },
        motion:function(s,q,t,u,p,r){
            this.run(s,q,t,u,p,r,YAHOO.util.Motion)
        },
        color:function(s,q,t,u,p,r){
            this.run(s,q,t,u,p,r,YAHOO.util.ColorAnim)
        },
        run:function(t,q,v,w,p,s,r){
            r=r||YAHOO.util.Anim;if(typeof w=="string"){
                w=YAHOO.util.Easing[w]
            }var u=new r(t,q,v,w);u.animateX(function(){
                Ext.callback(p,s)
            });return u
        }
    };function i(p){
        if(!l){
            l=new Ext.Element.Flyweight()
        }l.dom=p;return l
    }if(Ext.isIE){
        function f(){
            var q=Function.prototype;delete q.createSequence;delete q.defer;delete q.createDelegate;delete q.createCallback;delete q.createInterceptor;window.detachEvent("onunload",f)
        }window.attachEvent("onunload",f)
    }if(YAHOO.util.Anim){
        YAHOO.util.Anim.prototype.animateX=function(r,p){
            var q=function(){
                this.onComplete.unsubscribe(q);if(typeof r=="function"){
                    r.call(p||this,this)
                }
            };this.onComplete.subscribe(q,this,true);this.animate()
        }
    }if(YAHOO.util.DragDrop&&Ext.dd.DragDrop){
        YAHOO.util.DragDrop.defaultPadding=Ext.dd.DragDrop.defaultPadding;YAHOO.util.DragDrop.constrainTo=Ext.dd.DragDrop.constrainTo
    }YAHOO.util.Dom.getXY=function(p){
        var q=function(r){
            return Ext.lib.Dom.getXY(r)
        };return YAHOO.util.Dom.batch(p,q,YAHOO.util.Dom,true)
    };if(YAHOO.util.AnimMgr){
        YAHOO.util.AnimMgr.fps=1000
    }YAHOO.util.Region.prototype.adjust=function(s,q,p,u){
        this.top+=s;this.left+=q;this.right+=u;this.bottom+=p;return this
    };YAHOO.util.Region.prototype.constrainTo=function(p){
        this.top=this.top.constrain(p.top,p.bottom);this.bottom=this.bottom.constrain(p.top,p.bottom);this.left=this.left.constrain(p.left,p.right);this.right=this.right.constrain(p.left,p.right);return this
    }
})();