var Codebase={ PROXY: "/proxy.php", _preloadedJS: document.getElementsByTagName("script"), _preloadedCSS: document.getElementsByTagName("link"), _postloadedJS: [], _postloadedCSS: [], _fileIsLoaded: function(url) { if(url.indexOf(".js")!=-1) { for(var i=0; i<Codebase._preloadedJS.length; i++) { if(Codebase._preloadedJS[i].src==url) { return true; } } for(i=0; i<Codebase._postloadedJS.length; i++) { if(Codebase._postloadedJS[i]==url) { return true; } } } else { for(var i=0; i<Codebase._preloadedCSS.length; i++) { if(Codebase._preloadedCSS[i].src==url) { return true; } } for(i=0; i<Codebase._postloadedCSS.length; i++) { if(Codebase._postloadedCSS[i]==url) { return true; } } } return false; }, _loadJS: function(code) { var el=document.createElement("script"); el.type="text/javascript"; document.getElementsByTagName("head")[0].appendChild(el); el.text=code; delete el; }, load: function(args) { var isObject=args.constructor.toString().indexOf("Object")>-1; var url=isObject ? args.url : args; var async=isObject ? (args.async==undefined ? false : args.async) : false; var isRemote=(url.indexOf("http://")==-1 ? false : true); var isJS=(url.indexOf(".js")!=-1); if(!Codebase._fileIsLoaded(url)) { if(isJS) { var request=(window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")); request.open("GET", (isRemote ? Codebase.PROXY + "?url=" : "") + url, async); if(async) { request.onreadystatechange=function() { if(request.readyState==4 && request.status==200) { Codebase._loadJS(request.responseText); delete request; } }; request.send(null); } else { request.send(null); Codebase._loadJS(request.responseText); delete request; } Codebase._postloadedJS.push(url); } else { var el=$d.createElement("link"); el.href=url; el.rel='stylesheet'; el.media='screen'; document.getElementsByTagName("head")[0].appendChild(el); delete el; Codebase._postloadedCSS.push(url); } } }};var $d=document;function $E(el){ el=(Object.isString(el) ? $d.createElement(el) : el.cloneNode(false)); if(arguments.length==2) { var atts=arguments[1]; for(var key in atts) { if(key.toLowerCase()=="innerhtml") { el.innerHTML=atts[key]; delete atts[key]; } } for(var key in atts) { if(key.toLowerCase()=="style") { el.style.cssText=atts[key]; } else if(key.toLowerCase()=="class") { el.className=atts[key]; } else { el.setAttribute(key, atts[key]); } } delete atts; } return el;}function $$(selector){ if(selector.charAt(0)==".") { return $className(selector.replace(".", "")); } else if(selector.charAt(0)=="#") { return $id(selector.replace("#", "")); } else if(selector.charAt(0)=="[") { var matches=/\[(.*)?=(.*)\]/.exec(selector); if(matches[1]=="name") { return $name(matches[2]); } } else { return $tagName(selector); }}function $(){ var parent=(arguments.length==2 ? arguments[0] : $d); var id=(arguments.length==2 ? arguments[1] : arguments[0]); return $d.getElementById(id);}function $name(){ var parent=(arguments.length==2 ? arguments[0] : $d); var name=(arguments.length==2 ? arguments[1] : arguments[0]); return parent.getElementsByName(name);}function $tagName(){ var parent=(arguments.length==2 ? arguments[0] : $d); var tagName=(arguments.length==2 ? arguments[1] : arguments[0]); return parent.getElementsByTagName(tagName);}function $className(){ var parent=(arguments.length==2 ? arguments[0] : $d); var className=(arguments.length==2 ? arguments[1] : arguments[0]); var els=parent.getElementsByTagName("*"); var returnEls=[]; var regex=new RegExp("\\b" + className + "\\b", "i"); for(var i=0; i<els.length; i++) if(regex.test(els[i].className)) returnEls.push(els[i]); delete els; return returnEls;}function $F(name){ var els=$name(name + "[]"); if(els.length!=0) { var returnArray=[]; for(var i=0; i<els.length; i++) { if(els[i].checked){ returnArray.push(_$F(els[i])); } } return returnArray; } else { els=$name(name); return (els.length>0 ? _$F(els[0]) : ""); }}function _$F(el){ var tag=el.tagName.toLowerCase(); var type=el.type.toLowerCase(); return (tag=="select" || tag=="textarea" || (tag=="input" && (type=="hidden" || type=="text" || type=="password")) || (tag=="input" && (type=="radio" || type=="checkbox") && el.checked) ? el.value : "");}