var AJS={BASE_URL:"",getElement:function(a){if(typeof(a)=="string"){return document.getElementById(a)}else{return a}},getElements:function(){var c=new Array();for(var b=0;b<arguments.length;b++){var a=this.getElement(arguments[b]);c.push(a)}return c},getQueryArgument:function(f){var b=window.location.search.substring(1);var c=b.split("&");for(var a=0;a<c.length;a++){var d=c[a].split("=");if(d[0]==f){return d[1]}}return null},isIe:function(){return(navigator.userAgent.toLowerCase().indexOf("msie")!=-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1)},isNetscape7:function(){return(navigator.userAgent.toLowerCase().indexOf("netscape")!=-1&&navigator.userAgent.toLowerCase().indexOf("7.")!=-1)},isSafari:function(){return(navigator.userAgent.toLowerCase().indexOf("khtml")!=-1)},isOpera:function(){return(navigator.userAgent.toLowerCase().indexOf("opera")!=-1)},isMozilla:function(){return(navigator.userAgent.toLowerCase().indexOf("gecko")!=-1&&navigator.productSub>=20030210)},getBody:function(){return this.getElementsByTagAndClassName("body")[0]},getElementsByTagAndClassName:function(h,g,d){var c=[];if(!this.isDefined(d)){d=document}if(!this.isDefined(h)){h="*"}var b=d.getElementsByTagName(h);var a=b.length;var f=new RegExp("(^|\\s)"+g+"(\\s|$)");for(i=0,j=0;i<a;i++){if(f.test(b[i].className)||g==null){c[j]=b[i];j++}}return c},nodeName:function(a){return a.nodeName.toLowerCase()},isElementHidden:function(a){return a.style.visibility=="hidden"},getLast:function(a){if(a.length>0){return a[a.length-1]}else{return null}},getFirst:function(a){if(a.length>0){return a[0]}else{return null}},createArray:function(a){if(this.isArray(a)){return a}else{if(!a){return[]}else{return[a]}}},map:function(g,f,b,d){var c=0,a=g.length;if(b){c=b}if(d){a=d}for(c;c<a;c++){f.apply(this,[g[c]])}},isIn:function(d,c){var a=false;var b=function(f){if(d==f){a=true}};this.map(c,b);return a},appendChildNodes:function(a){if(arguments.length>=2){AJS.map(arguments,function(b){if(this.isString(b)){b=this.TN(b)}if(this.isDefined(b)){a.appendChild(b)}},1)}return a},replaceChildNodes:function(a){var b;while((b=a.firstChild)){a.removeChild(b)}if(arguments.length<2){return a}else{return this.appendChildNodes.apply(this,arguments)}return a},insertAfter:function(b,a){a.parentNode.insertBefore(b,a.nextSibling);return b},insertBefore:function(b,a){a.parentNode.insertBefore(b,a);return b},showElement:function(){this.map(arguments,function(a){a.style.display=""})},hideElement:function(a){this.map(arguments,function(b){b.style.display="none"})},swapDOM:function(a,c){a=this.getElement(a);var b=a.parentNode;if(c){c=this.getElement(c);b.replaceChild(c,a)}else{b.removeChild(a)}return c},removeElement:function(){this.map(arguments,function(a){AJS.swapDOM(a,null)})},createDOM:function(c,b){var d=0,a;elm=document.createElement(c);if(this.isDict(b[d])){for(k in b[0]){if(k=="style"){elm.style.cssText=b[0][k]}else{if(k=="class"){elm.className=b[0][k]}else{a=b[0][k];elm.setAttribute(k,a)}}}d++}if(b[0]==null){d=1}AJS.map(b,function(f){if(this.isDefined(f)){if(this.isString(f)){f=this.TN(f)}elm.appendChild(f)}},d);return elm},UL:function(){return this.createDOM.apply(this,["ul",arguments])},LI:function(){return this.createDOM.apply(this,["li",arguments])},TD:function(){return this.createDOM.apply(this,["td",arguments])},TR:function(){return this.createDOM.apply(this,["tr",arguments])},TH:function(){return this.createDOM.apply(this,["th",arguments])},TBODY:function(){return this.createDOM.apply(this,["tbody",arguments])},TABLE:function(){return this.createDOM.apply(this,["table",arguments])},INPUT:function(){return this.createDOM.apply(this,["input",arguments])},SPAN:function(){return this.createDOM.apply(this,["span",arguments])},B:function(){return this.createDOM.apply(this,["b",arguments])},A:function(){return this.createDOM.apply(this,["a",arguments])},DIV:function(){return this.createDOM.apply(this,["div",arguments])},IMG:function(){return this.createDOM.apply(this,["img",arguments])},BUTTON:function(){return this.createDOM.apply(this,["button",arguments])},H1:function(){return this.createDOM.apply(this,["h1",arguments])},H2:function(){return this.createDOM.apply(this,["h2",arguments])},H3:function(){return this.createDOM.apply(this,["h3",arguments])},BR:function(){return this.createDOM.apply(this,["br",arguments])},TEXTAREA:function(){return this.createDOM.apply(this,["textarea",arguments])},FORM:function(){return this.createDOM.apply(this,["form",arguments])},P:function(){return this.createDOM.apply(this,["p",arguments])},SELECT:function(){return this.createDOM.apply(this,["select",arguments])},OPTION:function(){return this.createDOM.apply(this,["option",arguments])},TN:function(a){return document.createTextNode(a)},IFRAME:function(){return this.createDOM.apply(this,["iframe",arguments])},SCRIPT:function(){return this.createDOM.apply(this,["script",arguments])},CENTER:function(){return this.createDOM.apply(this,["center",arguments])},getCssDim:function(a){if(this.isString(a)){return a}else{return a+"px"}},setWidth:function(){var a=this.getLast(arguments);this.map(arguments,function(b){b.style.width=this.getCssDim(a)},0,arguments.length-1)},setHeight:function(){var a=this.getLast(arguments);this.map(arguments,function(b){b.style.height=this.getCssDim(a)},0,arguments.length-1)},setLeft:function(){var a=this.getLast(arguments);this.map(arguments,function(b){b.style.left=this.getCssDim(a)},0,arguments.length-1)},setTop:function(){var a=this.getLast(arguments);this.map(arguments,function(b){b.style.top=this.getCssDim(a)},0,arguments.length-1)},getXMLHttpRequest:function(){var b=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP.4.0")},function(){throw"Browser does not support XMLHttpRequest"}];for(var a=0;a<b.length;a++){var c=b[a];try{return c()}catch(d){}}},doSimpleXMLHttpRequest:function(a){var b=this.getXMLHttpRequest();if(a.indexOf("http://")==-1){a=AJS.BASE_URL+a}b.open("GET",a,true);return this.sendXMLHttpRequest(b)},getRequest:function(a,c){var b=this.getXMLHttpRequest();if(a.indexOf("http://")==-1){a=AJS.BASE_URL+a}b.open("POST",a,true);b.setRequestHeader("Content-type","text/html; charset=UTF-8");return this.sendXMLHttpRequest(b)},sendXMLHttpRequest:function(a,b){var f=new AJSDeferred(a);var c=function(){if(a.readyState==4){try{status=a.status}catch(d){}if(status==200||status==304||a.responseText==null){f.callback(a,b)}else{f.errback()}}};a.onreadystatechange=c;return f},reprString:function(a){return('"'+a.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")},serializeJSON:function(a){var m=typeof(a);if(m=="undefined"){return"undefined"}else{if(m=="number"||m=="boolean"){return a+""}else{if(a===null){return"null"}}}if(m=="string"){return AJS.reprString(a)}var l=arguments.callee;var d;if(typeof(a.__json__)=="function"){d=a.__json__();if(a!==d){return l(d)}}if(typeof(a.json)=="function"){d=a.json();if(a!==d){return l(d)}}if(m!="function"&&typeof(a.length)=="number"){var h=[];for(var g=0;g<a.length;g++){var b=l(a[g]);if(typeof(b)!="string"){b="undefined"}h.push(b)}return"["+h.join(",")+"]"}h=[];for(var c in a){var f;if(typeof(c)=="number"){f='"'+c+'"'}else{if(typeof(c)=="string"){f=AJS.reprString(c)}else{continue}}b=l(a[c]);if(typeof(b)!="string"){continue}h.push(f+":"+b)}return"{"+h.join(",")+"}"},loadJSONDoc:function(url){var d=this.getRequest(url);var eval_req=function(req){var text=req.responseText;if(text=="Error"){d.errback(req)}else{return eval("("+text+")")}};d.addCallback(eval_req);return d},evalScriptTags:function(html){var script_data=html.match(/<script.*?>((\n|\r|.)*?)<\/script>/g);if(script_data!=null){for(var i=0;i<script_data.length;i++){var script_only=script_data[i].replace(/<script.*?>/g,"");script_only=script_only.replace(/<\/script>/g,"");eval(script_only)}}},getMousePos:function(b){var a=0;var c=0;if(!b){var b=window.event}if(b.pageX||b.pageY){a=b.pageX;c=b.pageY}else{if(b.clientX||b.clientY){a=b.clientX+document.body.scrollLeft;c=b.clientY+document.body.scrollTop}}return[a,c]},findPosX:function(a){var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetLeft;a=a.offsetParent}}else{if(a.x){b+=a.x}}return b},findPosY:function(b){var a=0;if(b.offsetParent){while(b.offsetParent){a+=b.offsetTop;b=b.offsetParent}}else{if(b.y){a+=b.y}}return a},getScrollTop:function(){var a;if(document.documentElement&&document.documentElement.scrollTop){a=document.documentElement.scrollTop}else{if(document.body){a=document.body.scrollTop}}return a},absolutePosition:function(c){var b={x:c.offsetLeft,y:c.offsetTop};if(c.offsetParent){var a=this.absolutePosition(c.offsetParent);b.x+=a.x;b.y+=a.y}return b},getEventElm:function(b){if(b&&!b.type&&!b.keyCode){return b}var a;if(!b){var b=window.event}if(b.target){a=b.target}else{if(b.srcElement){a=b.srcElement}}if(a.nodeType==3){a=a.parentNode}return a},getRealScope:function(c,d,a){var b=window;d=this.$A(d);if(c._cscope){b=c._cscope}return function(){var f=[];var g=0;if(a){g=1}AJS.map(arguments,function(h){f.push(h)},g);f=f.concat(d);return c.apply(b,f)}},unloadListeners:function(){if(AJS.listeners){AJS.map(AJS.listeners,function(c,b,a){AJS.removeEventListener(c,b,a)})}AJS.listeners=[]},removeEventListener:function(c,b,a){if(c.removeEventListener){c.removeEventListener(b,a,false)}else{if(c.detachEvent){c.detachEvent("on"+b,a)}}},addEventListener:function(f,c,b,d){var a=this.$A(f);this.map(a,function(h){if(d){b=this.listenOnce(h,c,b)}if(AJS.isIn(c,["submit","load","scroll","resize"])){var g=f["on"+c];f["on"+c]=function(){if(g){b(arguments);return g(arguments)}else{return b(arguments)}};return}if(h.attachEvent){h.attachEvent("on"+c,b)}else{if(h.addEventListener){h.addEventListener(c,b,false)}}this.listeners=AJS.$A(this.listeners);this.listeners.push([h,c,b])})},bind:function(b,d,c,a){b._cscope=d;return AJS.GRS(b,c,a)},listenOnce:function(d,b,a){var c=function(){AJS.removeEventListener(d,b,c);a(arguments)};return c},callLater:function(c,a){var b=function(){c()};window.setTimeout(b,a)},keys:function(b){var a=[];for(var c in b){a.push(c)}return a},urlencode:function(a){return encodeURIComponent(a.toString())},isDefined:function(a){return(a!="undefined"&&a!=null)},isArray:function(b){try{if(this.isDefined(b[0])){return true}else{return false}}catch(a){return false}},isString:function(a){return(typeof a=="string")},isObject:function(a){return(typeof a=="object")},isDict:function(b){var a=String(b);return a.indexOf(" Object")!=-1},exportToGlobalScope:function(){for(e in AJS){eval(e+" = this."+e)}}};AJS.$=AJS.getElement;AJS.$$=AJS.getElement;AJS.$b=AJS.bind;AJS.$A=AJS.createArray;AJS.ACN=AJS.appendChildNodes;AJS.RCN=AJS.replaceChildNodes;AJS.AEV=AJS.addEventListener;AJS.REV=AJS.removeEventListener;AJS.GRS=AJS.getRealScope;AJS.$bytc=AJS.getElementsByTagAndClassName;AJSDeferred=function(a){this.callbacks=[];this.req=a;this.callback=function(b){while(this.callbacks.length>0){var c=this.callbacks.pop();b=c(b)}};this.errback=function(b){alert("Error encountered:\n"+b)};this.addErrback=function(b){this.errback=b};this.addCallback=function(b){this.callbacks.unshift(b)};this.addCallbacks=function(c,b){this.addCallback(c);this.addErrback(b)};this.sendReq=function(b){if(AJS.isObject(b)){var c=[];for(k in b){c.push(k+"="+AJS.urlencode(b[k]))}c=c.join("&");this.req.send(c)}else{if(AJS.isDefined(b)){this.req.send(b)}else{this.req.send("")}}}};AJSDeferred.prototype=new AJSDeferred();AJS.addEventListener(window,"unload",AJS.unloadListeners);