AJS={
    BASE_URL:"",
    drag_obj:null,
    drag_elm:null,
    _drop_zones:[],
    _cur_pos:null,
    getScrollTop:function(){
        var t;
        if(document.documentElement&&document.documentElement.scrollTop){
            t=document.documentElement.scrollTop;
        }else{
            if(document.body){
                t=document.body.scrollTop;
            }
        }
        return t;
    },
    addClass:function(){
        var _2=AJS.forceArray(arguments);
        var _3=_2.pop();
        var _4=function(o){
            if(!new RegExp("(^|\\s)"+_3+"(\\s|$)").test(o.className)){
                o.className+=(o.className?" ":"")+_3;
            }
        };
        AJS.map(_2,function(_6){
            _4(_6);
        });
    },
    setStyle:function(){
        var _7=AJS.forceArray(arguments);
        var _8=_7.pop();
        var _9=_7.pop();
        AJS.map(_7,function(_a){
            _a.style[_9]=AJS.getCssDim(_8);
        });
    },
    extend:function(_b){
        var _c=new this("no_init");
        for(k in _b){
            var _d=_c[k];
            var _e=_b[k];
            if(_d&&_d!=_e&&typeof _e=="function"){
                _e=this._parentize(_e,_d);
            }
            _c[k]=_e;
        }
        return new AJS.Class(_c);
    },
    log:function(o){
        if(window.console){
            console.log(o);
        }else{
            var div=AJS.$("ajs_logger");
            if(!div){
                div=AJS.DIV({
                    id:"ajs_logger",
                    "style":"color: green; position: absolute; left: 0"
                });
                div.style.top=AJS.getScrollTop()+"px";
                AJS.ACN(AJS.getBody(),div);
            }
            AJS.setHTML(div,""+o);
        }
    },
    setHeight:function(){
        var _11=AJS.forceArray(arguments);
        _11.splice(_11.length-1,0,"height");
        AJS.setStyle.apply(null,_11);
    },
    _getRealScope:function(fn,_13){
        _13=AJS.$A(_13);
        var _14=fn._cscope||window;
        return function(){
            var _15=AJS.$FA(arguments).concat(_13);
            return fn.apply(_14,_15);
        };
    },
    documentInsert:function(elm){
        if(typeof (elm)=="string"){
            elm=AJS.HTML2DOM(elm);
        }
        document.write("<span id=\"dummy_holder\"></span>");
        AJS.swapDOM(AJS.$("dummy_holder"),elm);
    },
    getWindowSize:function(doc){
        doc=doc||document;
        var _18,_19;
        if(self.innerHeight){
            _18=self.innerWidth;
            _19=self.innerHeight;
        }else{
            if(doc.documentElement&&doc.documentElement.clientHeight){
                _18=doc.documentElement.clientWidth;
                _19=doc.documentElement.clientHeight;
            }else{
                if(doc.body){
                    _18=doc.body.clientWidth;
                    _19=doc.body.clientHeight;
                }
            }
        }
        return {
            "w":_18,
            "h":_19
        };
    },
    flattenList:function(_1a){
        var r=[];
        var _1c=function(r,l){
            AJS.map(l,function(o){
                if(o==null){
                }else{
                    if(AJS.isArray(o)){
                        _1c(r,o);
                    }else{
                        r.push(o);
                    }
                }
            });
        };
        _1c(r,_1a);
        return r;
    },
    isFunction:function(obj){
        return (typeof obj=="function");
    },
    setEventKey:function(e){
        e.key=e.keyCode?e.keyCode:e.charCode;
        if(window.event){
            e.ctrl=window.event.ctrlKey;
            e.shift=window.event.shiftKey;
        }else{
            e.ctrl=e.ctrlKey;
            e.shift=e.shiftKey;
        }
        switch(e.key){
            case 63232:
                e.key=38;
                break;
            case 63233:
                e.key=40;
                break;
            case 63235:
                e.key=39;
                break;
            case 63234:
                e.key=37;
                break;
        }
    },
    removeElement:function(){
        var _22=AJS.forceArray(arguments);
        AJS.map(_22,function(elm){
            AJS.swapDOM(elm,null);
        });
    },
    _unloadListeners:function(){
        if(AJS.listeners){
            AJS.map(AJS.listeners,function(elm,_25,fn){
                AJS.REV(elm,_25,fn);
            });
        }
        AJS.listeners=[];
    },
    join:function(_27,_28){
        try{
            return _28.join(_27);
        }
        catch(e){
            var r=_28[0]||"";
            AJS.map(_28,function(elm){
                r+=_27+elm;
            },1);
            return r+"";
        }
    },
    getIndex:function(elm,_2c,_2d){
        for(var i=0;i<_2c.length;i++){
            if(_2d&&_2d(_2c[i])||elm==_2c[i]){
                return i;
            }
        }
        return -1;
    },
    isIn:function(elm,_30){
        var i=AJS.getIndex(elm,_30);
        if(i!=-1){
            return true;
        }else{
            return false;
        }
    },
    isArray:function(obj){
        return obj instanceof Array;
    },
    setLeft:function(){
        var _33=AJS.forceArray(arguments);
        _33.splice(_33.length-1,0,"left");
        AJS.setStyle.apply(null,_33);
    },
    appendChildNodes:function(elm){
        if(arguments.length>=2){
            AJS.map(arguments,function(n){
                if(AJS.isString(n)){
                    n=AJS.TN(n);
                }
                if(AJS.isDefined(n)){
                    elm.appendChild(n);
                }
            },1);
        }
        return elm;
    },
    getElementsByTagAndClassName:function(_36,_37,_38,_39){
        var _3a=[];
        if(!AJS.isDefined(_38)){
            _38=document;
        }
        if(!AJS.isDefined(_36)){
            _36="*";
        }
        var els=_38.getElementsByTagName(_36);
        var _3c=els.length;
        var _3d=new RegExp("(^|\\s)"+_37+"(\\s|$)");
        for(i=0,j=0;i<_3c;i++){
            if(_3d.test(els[i].className)||_37==null){
                _3a[j]=els[i];
                j++;
            }
        }
        if(_39){
            return _3a[0];
        }else{
            return _3a;
        }
    },
    isOpera:function(){
        return (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
    },
    isString:function(obj){
        return (typeof obj=="string");
    },
    hideElement:function(elm){
        var _40=AJS.forceArray(arguments);
        AJS.map(_40,function(elm){
            elm.style.display="none";
        });
    },
    setOpacity:function(elm,p){
        elm.style.opacity=p;
        elm.style.filter="alpha(opacity="+p*100+")";
    },
    insertBefore:function(elm,_45){
        _45.parentNode.insertBefore(elm,_45);
        return elm;
    },
    setWidth:function(){
        var _46=AJS.forceArray(arguments);
        _46.splice(_46.length-1,0,"width");
        AJS.setStyle.apply(null,_46);
    },
    createArray:function(v){
        if(AJS.isArray(v)&&!AJS.isString(v)){
            return v;
        }else{
            if(!v){
                return [];
            }else{
                return [v];
            }
        }
    },
    isDict:function(o){
        var _49=String(o);
        return _49.indexOf(" Object")!=-1;
    },
    isMozilla:function(){
        return (navigator.userAgent.toLowerCase().indexOf("gecko")!=-1&&navigator.productSub>=20030210);
    },
    removeEventListener:function(elm,_4b,fn,_4d){
        var _4e="ajsl_"+_4b+fn;
        if(!_4d){
            _4d=false;
        }
        fn=elm[_4e]||fn;
        if(elm["on"+_4b]==fn){
            elm["on"+_4b]=elm[_4e+"old"];
        }
        if(elm.removeEventListener){
            elm.removeEventListener(_4b,fn,_4d);
            if(AJS.isOpera()){
                elm.removeEventListener(_4b,fn,!_4d);
            }
        }else{
            if(elm.detachEvent){
                elm.detachEvent("on"+_4b,fn);
            }
        }
    },
    callLater:function(fn,_50){
        var _51=function(){
            fn();
        };
        window.setTimeout(_51,_50);
    },
    setTop:function(){
        var _52=AJS.forceArray(arguments);
        _52.splice(_52.length-1,0,"top");
        AJS.setStyle.apply(null,_52);
    },
    _createDomShortcuts:function(){
        var _53=["ul","li","td","tr","th","tbody","table","input","span","b","a","div","img","button","h1","h2","h3","h4","h5","h6","br","textarea","form","p","select","option","optgroup","iframe","script","center","dl","dt","dd","small","pre","i"];
        var _54=function(elm){
            AJS[elm.toUpperCase()]=function(){
                return AJS.createDOM.apply(null,[elm,arguments]);
            };
        };
        AJS.map(_53,_54);
        AJS.TN=function(_56){
            return document.createTextNode(_56);
        };
    },
    addCallback:function(fn){
        this.callbacks.unshift(fn);
    },
    bindMethods:function(_58){
        for(var k in _58){
            var _5a=_58[k];
            if(typeof (_5a)=="function"){
                _58[k]=AJS.$b(_5a,_58);
            }
        }
    },
    partial:function(fn){
        var _5c=AJS.$FA(arguments);
        _5c.shift();
        return function(){
            _5c=_5c.concat(AJS.$FA(arguments));
            return fn.apply(window,_5c);
        };
    },
    isNumber:function(obj){
        return (typeof obj=="number");
    },
    getCssDim:function(dim){
        if(AJS.isString(dim)){
            return dim;
        }else{
            return dim+"px";
        }
    },
    isIe:function(){
        return (navigator.userAgent.toLowerCase().indexOf("msie")!=-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1);
    },
    removeClass:function(){
        var _5f=AJS.forceArray(arguments);
        var cls=_5f.pop();
        var _61=function(o){
            o.className=o.className.replace(new RegExp("\\s?"+cls,"g"),"");
        };
        AJS.map(_5f,function(elm){
            _61(elm);
        });
    },
    setHTML:function(elm,_65){
        elm.innerHTML=_65;
        return elm;
    },
    map:function(_66,fn,_68,_69){
        var i=0,l=_66.length;
        if(_68){
            i=_68;
        }
        if(_69){
            l=_69;
        }
        for(i;i<l;i++){
            var val=fn(_66[i],i);
            if(val!=undefined){
                return val;
            }
        }
    },
    addEventListener:function(elm,_6e,fn,_70,_71){
        var _72="ajsl_"+_6e+fn;
        if(!_71){
            _71=false;
        }
        AJS.listeners=AJS.$A(AJS.listeners);
        if(AJS.isIn(_6e,["keypress","keydown","keyup","click"])){
            var _73=fn;
            fn=function(e){
                AJS.setEventKey(e);
                return _73.apply(window,arguments);
            };
        }
        var _75=AJS.isIn(_6e,["submit","load","scroll","resize"]);
        var _76=AJS.$A(elm);
        AJS.map(_76,function(_77){
            if(_70){
                var _78=fn;
                fn=function(e){
                    AJS.REV(_77,_6e,fn);
                    return _78.apply(window,arguments);
                };
            }
            if(_75){
                var _7a=_77["on"+_6e];
                var _7b=function(){
                    if(_7a){
                        fn(arguments);
                        return _7a(arguments);
                    }else{
                        return fn(arguments);
                    }
                };
                _77[_72]=_7b;
                _77[_72+"old"]=_7a;
                elm["on"+_6e]=_7b;
            }else{
                _77[_72]=fn;
                if(_77.attachEvent){
                    _77.attachEvent("on"+_6e,fn);
                }else{
                    if(_77.addEventListener){
                        _77.addEventListener(_6e,fn,_71);
                    }
                }
                AJS.listeners.push([_77,_6e,fn]);
            }
        });
    },
    preloadImages:function(){
        AJS.AEV(window,"load",AJS.$p(function(_7c){
            AJS.map(_7c,function(src){
                var pic=new Image();
                pic.src=src;
            });
        },arguments));
    },
    forceArray:function(_7f){
        var r=[];
        AJS.map(_7f,function(elm){
            r.push(elm);
        });
        return r;
    },
    update:function(l1,l2){
        for(var i in l2){
            l1[i]=l2[i];
        }
        return l1;
    },
    getBody:function(){
        return AJS.$bytc("body")[0];
    },
    HTML2DOM:function(_85,_86){
        var d=AJS.DIV();
        d.innerHTML=_85;
        if(_86){
            return d.childNodes[0];
        }else{
            return d;
        }
    },
    getElement:function(id){
        if(AJS.isString(id)||AJS.isNumber(id)){
            return document.getElementById(id);
        }else{
            return id;
        }
    },
    showElement:function(){
        var _89=AJS.forceArray(arguments);
        AJS.map(_89,function(elm){
            elm.style.display="";
        });
    },
    bind:function(fn,_8c,_8d){
        fn._cscope=_8c;
        return AJS._getRealScope(fn,_8d);
    },
    createDOM:function(_8e,_8f){
        var i=0,_91;
        var elm=document.createElement(_8e);
        var _93=_8f[0];
        if(AJS.isDict(_8f[i])){
            for(k in _93){
                _91=_93[k];
                if(k=="style"||k=="s"){
                    elm.style.cssText=_91;
                }else{
                    if(k=="c"||k=="class"||k=="className"){
                        elm.className=_91;
                    }else{
                        elm.setAttribute(k,_91);
                    }
                }
            }
            i++;
        }
        if(_93==null){
            i=1;
        }
        for(var j=i;j<_8f.length;j++){
            var _91=_8f[j];
            if(_91){
                var _95=typeof (_91);
                if(_95=="string"||_95=="number"){
                    _91=AJS.TN(_91);
                }
                elm.appendChild(_91);
            }
        }
        return elm;
    },
    swapDOM:function(_96,src){
        _96=AJS.getElement(_96);
        var _98=_96.parentNode;
        if(src){
            src=AJS.getElement(src);
            _98.replaceChild(src,_96);
        }else{
            _98.removeChild(_96);
        }
        return src;
    },
    isDefined:function(o){
        return (o!="undefined"&&o!=null);
    }
    };
AJS.$=AJS.getElement;
AJS.$$=AJS.getElements;
AJS.$f=AJS.getFormElement;
AJS.$p=AJS.partial;
AJS.$b=AJS.bind;
AJS.$A=AJS.createArray;
AJS.DI=AJS.documentInsert;
AJS.ACN=AJS.appendChildNodes;
AJS.RCN=AJS.replaceChildNodes;
AJS.AEV=AJS.addEventListener;
AJS.REV=AJS.removeEventListener;
AJS.$bytc=AJS.getElementsByTagAndClassName;
AJS.$AP=AJS.absolutePosition;
AJS.$FA=AJS.forceArray;
AJS.addEventListener(window,"unload",AJS._unloadListeners);
AJS._createDomShortcuts();
AJS.Class=function(_9a){
    var fn=function(){
        if(arguments[0]!="no_init"){
            return this.init.apply(this,arguments);
        }
    };
    fn.prototype=_9a;
    AJS.update(fn,AJS.Class.prototype);
    return fn;
};
AJS.Class.prototype={
    extend:function(_9c){
        var _9d=new this("no_init");
        for(k in _9c){
            var _9e=_9d[k];
            var cur=_9c[k];
            if(_9e&&_9e!=cur&&typeof cur=="function"){
                cur=this._parentize(cur,_9e);
            }
            _9d[k]=cur;
        }
        return new AJS.Class(_9d);
    },
    implement:function(_a0){
        AJS.update(this.prototype,_a0);
    },
    _parentize:function(cur,_a2){
        return function(){
            this.parent=_a2;
            return cur.apply(this,arguments);
        };
    }
    };
script_loaded=true;


script_loaded=true;
