/*
 * NeauxScript V0.5 (neauxscript.js)
 * Copyright (c) 2007-2009  NeauxWare Technologies
 * All rights reserved.
 * License @ http://www.opensource.org/licenses/mit-license.php
 */

(function(){Neaux={name:"NeauxScript",author:"H.G.Laffler",organization:"Neauxware Technologies",homePage:"http://www.neauxware.com",Namespace:function(){for(var i=0;i<arguments.length;++i){var arr=(arguments[i] instanceof Array)?arguments[i]:[arguments[i]];for(var j=0;j<arr.length;j++){if(typeof arr[j]!="string"){throw new Error("Namespace: Namespace must be specified as a string")}var sub=arr[j].split(".");var obj=window;for(var n=0;n<sub.length;n++){if(!obj[sub[n]]){obj[sub[n]]={}}if(typeof obj[sub[n]]=="object"){obj=obj[sub[n]]}else{throw new Error("Namespace: All existing namespace nodes must be objects")}}}}},Module:{registeredModules:{},loadedModules:["neauxscript.js"],includePath:null,Modules:function(){return Neaux.Module.loadedModules},RegisteredModules:function(){return Neaux.Module.registeredModules},Register:function(aModuleName,aFileName,aDateModified,aVersionModified){aModuleName=aModuleName.toLowerCase();aVersionModified=aVersionModified.toUpperCase();if(Neaux.Module.registeredModules[aModuleName]){throw new Error("Register: Module, "+aModuleName+", error - duplicate registration")}if(aDateModified.search(/\d{8}/)<0){throw new Error("Register: Invalid date format ("+aDateModified+") specified for "+aModuleName+" module - YYYYMMDD is required")}if(aVersionModified.search(/\d\.\d\-[0-9X]\.\d{2}/)<0){throw new Error("Register: Invalid version format ("+aVersionModified+") specified for "+aModuleName+"module - N.N-X.NN is required")}Neaux.Module.registeredModules[aModuleName]={file:aFileName,date:aDateModified,version:aVersionModified}},GetVersionInfo:function(){var theDate="",theVersion="";var arrReg=Neaux.Module.registeredModules;for(i in arrReg){if(arrReg[i].date>theDate){theDate=arrReg[i].date}if(arrReg[i].version>theVersion){theVersion=arrReg[i].version}}return{date:theDate,version:theVersion}},Include:function(){var theModuleSet=[];for(var i=0;i<arguments.length;i++){var argList=arguments[i];if(typeof arguments[i]=="string"){argList=arguments[i].split(",")}else{if(!(argList instanceof Array)){throw new TypeError("Include: Java script files must be specified as strings")}}for(var j=0;j<argList.length;j++){if(argList[j] instanceof Array){throw new TypeError("Include: Arrays may only be specified at top level")}if(typeof argList[j]!="string"){throw new TypeError("Include: Java script files must be specified as strings")}theModuleSet.push(argList[j])}}for(var k in theModuleSet){Neaux.Module.Load(theModuleSet[k])}},Load:function(aFileName){for(i=0;i<Neaux.Module.loadedModules.length;++i){if(Neaux.Module.loadedModules[i]==aFileName){throw new Error("DUPLICATE MODULE ERROR: "+aFileName)}}var theSrc=Neaux.Module.IncludePath()+aFileName;document.write('<script type="text/javascript" src="'+theSrc+'"><\/script>');Neaux.Module.loadedModules.push(aFileName)},IncludePath:function(){var thePath=Neaux.Module.includePath;if(thePath){return thePath}var theScripts=document.getElementsByTagName("script");for(var i=0;i<theScripts.length&&!thePath;++i){var theOffset=theScripts[i].src.search(/neaux(script|ware)\.js$/gi);if(theOffset>=0){thePath=theScripts[i].src.substring(0,theOffset)}}Neaux.Module.includePath=thePath;return thePath},toString:function(){return"[Neaux.Module]"}},toString:function(){return"[Neaux]"}}
/*@cc_on            // IE Conditional Compilation directives (ignored by other browsers)
  @if (@_jscript)
    var isJSIE = true;
    var JSIE_version = @_jscript_version;   //IE8=5.8, IE7=5.7, IE6=5.6, IE5=5.5 or less
  @end
@*/
;Neaux.isJSIE=typeof(isJSIE)!="undefined"?isJSIE:false,Neaux.isWebKit=navigator.userAgent.indexOf("AppleWebKit/")>-1;Neaux.JSIE_version=typeof(JSIE_version)!="undefined"?JSIE_version:null;Neaux.Register=Neaux.Module.Register;Neaux.Include=Neaux.Module.Include;Neaux.Register("neauxscript","neauxscript.js","20091110","0.5-0.03")})();
(function(){$EFN=(function(){});Neaux.K={};if(!window.Node){window.Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12}}var _IECoreEnumerables=["toString","valueOf","toLocaleString"];Neaux.Object={Merge:function(aObject){for(var i=1;i<arguments.length;++i){var theData=arguments[i]||{};if(typeof theData!="object"){throw new Error("Object::Merge - All arguments must be objects")}for(var j in theData){aObject[j]=theData[j]}if(Neaux.isJSIE){for(var m=0;m<_IECoreEnumerables.length;m++){var mthd=_IECoreEnumerables[m];if(typeof theData[mthd]=="function"&&Object.prototype[mthd]!=theData[mthd]){aObject[mthd]=theData[mthd]}}}}return aObject},Clone:function(aObject,aDeep){if(typeof aObject!="object"){throw new Error("Object::Clone - All arguments must be objects")}aDeep=(aDeep===true);var theClone={};for(var i in aObject){theClone[i]=aObject[i]}return theClone},CollectionToArray:function(aCollection,aStart,aEnd){aStart=aStart||0;aEnd=aEnd||aCollection.length;var theArray=[];for(var i=aStart;i<aEnd;i++){theArray.push(aCollection[i])}return theArray},EncodeJson:function(aObject){var moi=Neaux.Object.EncodeJson;if(typeof aObject!="object"){throw new Error("EncodeJson: Argument must be an object")}var theArray=[];for(var prop in aObject){theArray.push('"'+prop+'":'+(function(){var theVal=aObject[prop];switch(typeof theVal){case"object":return(theVal instanceof Array)?"["+theVal+"]":moi(theVal);case"string":return'"'+theVal+'"';case"number":if(isFinite(theVal)){return theVal}case"boolean":return theVal?true:false}throw new Error("EncodeJson - Invalid json syntax (internal)")})())}return"{"+theArray.join(",")+"}"},EncodeQueryString:function(aObject,aIsPhp){aIsPhp=(typeof aIsPhp=="undefined")?true:aIsPhp;var query=[],queryString,field,fieldName,value,isArray,size;var re=/%20/g;for(var i in aObject){field=i,value=aObject[i],isArray=false;if(typeof value=="function"){continue}if(typeof value=="object"){isArray=value instanceof Array;if(!isArray){continue}}fieldName=(isArray&&aIsPhp)?field+"[]":field;for(var j=0;j<(isArray?aObject[i].length:1);j++){if(isArray){value=aObject[i][j]}queryString=encodeURIComponent(fieldName).replace(re,"+")+"="+encodeURIComponent(value).replace(re,"+");query.push(queryString)}}return query.join("&")},toString:function(){return"[Neaux.Object]"}};Neaux.Merge=Neaux.Object.Merge;Neaux.String={Trim:function(aStr){return aStr.replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s+/g)},Capitalize:function(aStr){return aStr.replace(/\b[a-z]/g,function(aRes){return aRes.toUpperCase()})},Nl2Br:function(aStr,aIsXHtml){var brTag=(typeof aIsXHtml=="undefined"||aIsXHtml)?"<br/>":"<br>";return aStr.replace(/([^>]?)\n/g,"$1"+brTag+"\n")},DecodeJson:function(aStr){var my_JSON_object=!(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(aStr.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+aStr+")");return my_JSON_object},DecodeQueryString:function(aQueryString){var theObj={},field,value,pair;var thePairs=aQueryString.split("&");for(var i=0;i<thePairs.length;++i){pair=thePairs[i].split("=");field=decodeURIComponent(pair[0]);value=pair[0]||decodeURIComponent(pair[1]);if(theObj[field]){if(typeof theObj[field]=="string"){theObj[field]=[theObj[field]]}theObj[field].push(value)}else{theObj[field]=value}}return theObj},toString:function(){return"[Neaux.String]"}};var _native_string_extensions={Trim:function(){return Neaux.String.Trim(this)},Capitalize:function(){return Neaux.String.Capitalize(this)},Nl2br:function(aIsXHtml){return Neaux.String.Nl2Br(this,aIsXHtml)},ToJson:function(){return Neaux.String.DecodeJson(this)}};Neaux.Function={Bind:function(aFn,aObj){var argExp=2;if(typeof aFn=="object"&&aFn instanceof Array){aObj=aFn[0];aFn=aFn[1];argExp=1}var thePassedArgs=arguments.length>argExp?Neaux.Object.CollectionToArray(arguments,argExp):[];return function(){var theArgs=thePassedArgs.length>0?thePassedArgs:arguments;aFn.apply(aObj,theArgs)}},Delay:function(aFn,aDelay,aObj){if(typeof aFn=="object"&&aFn instanceof Array){aObj=aFn[0];aFn=aFn[1]}return setTimeout(aObj?Neaux.Function.Bind(aFn,aObj):aFn,aDelay)},Repeat:function(aFn,aInterval,aObj){if(typeof aFn=="object"&&aFn instanceof Array){aObj=aFn[0];aFn=aFn[1]}return setInterval(aObj?Neaux.Function.Bind(aFn,aObj):aFn,aInterval)},toString:function(){return"[Neaux.String]"}};var _native_function_extensions={Bind:function(aObj){return Neaux.Function.Bind(this,aObj)},Delay:function(aDelay,aObj){return Neaux.Function.Delay(this,aDelay,aObj)},Repeat:function(aInterval,aObj){return Neaux.Function.Repeat(this,aInterval,aObj)}};Neaux.Array={InArray:function(aArr,aItm){return(Neaux.Array.IndexOf(aArr,aItm)>=0)},IndexOf:function(aArr,aItm,aIdx){if(aArr.indexOf){return aArr.indexOf(aItm,aIdx)}var from=aIdx||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0){from+=aArr.length}while(from<aArr.length){if(from in aArr&&aArr[from]===aItm){return from}from++}return -1},toString:function(){return"[Neaux.Array]"}},Neaux.Dom={GetElementsById:function(){var theElms=[];for(var i=0;i<arguments.length;++i){var theElm=(typeof(arguments[i])=="string")?document.getElementById(arguments[i]):arguments[i];if(arguments.length>1){theElms.push(theElm)}}return(arguments.length==1)?theElm:theElms},GetElementsBySelector:function(){},toString:function(){return"[Neaux.Dom]"}};Neaux.Merge(Neaux,{fnLoadList:[],fnUnloadList:[],OnLoad:function(){Neaux._QueueList(Neaux.fnLoadList,arguments)},OnUnload:function(){Neaux._QueueList(Neaux.fnUnloadList,arguments)},_QueueList:function(aList,aArgList){for(var i=0;i<aArgList.length;++i){aList.push(aArgList[i])}},_LoadHandler:function(){if(location.hostname.match(/^(\w+|.*neauxware\.com)$/i)){Neaux.Show()}for(var i=0;i<Neaux.fnLoadList.length;++i){Neaux.fnLoadList[i]()}},_UnloadHandler:function(aEvt){for(var i=0;i<Neaux.fnUnloadList.length;++i){Neaux.fnUnloadList[i](aEvt)}},SWVersion:function(){var info=Neaux.Module.GetVersionInfo();var mmm=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var theDate=info.date.substr(6,2)+"-"+mmm[parseInt(info.date.substr(4,2),10)]+"-"+info.date.substr(0,4);return Neaux.name+" V"+info.version+" ("+theDate+") "},Copyright:function(){return" \xA92007-2009 "+Neaux.organization+" ("+Neaux.homePage+") All Rights Reserved."},Show:function(){window.status=Neaux},toString:function(){return Neaux.SWVersion()+"; "+Neaux.Copyright()}});$ID=Neaux.Dom.GetElementsById;$K=Neaux.K;Neaux.Register("core","core.js","20091105","0.5-0.02")})();
(function(){var a=function(){throw new Error("Legacy browser detected")};Neaux.Event={_listeners:[],AddListener:function(g,f,h){var d;var e=Neaux.Event.TransformTargetArgs(g);var c=Neaux.Event.TransformEventArgs(f);for(var i=0;i<e.length;i++){for(var b=0;b<c.length;b++){if(e[i].AddListener){e[i].AddListener(c[b],h)}else{if(d=Neaux.Event.RegisterListener(e[i],c[b],h)){Neaux.Event.Model.AddListener(e[i],c[b],d)}}}}},RemoveListener:function(g,f,h){var d;var e=Neaux.Event.TransformTargetArgs(g);var c=Neaux.Event.TransformEventArgs(f);for(var i=0;i<e.length;i++){for(var b=0;b<c.length;b++){if(e[i].RemoveListener){e[i].RemoveListener(c[b],h)}else{if(d=Neaux.Event.UnregisterListener(e[i],c[b],h)){Neaux.Model.RemoveListener(e[i],c[b],d)}}}}},Dispatch:function(c,b){},SetCapture:function(b,c,d){},ReleaseCapture:function(b,c,d){},TransformTargetArgs:function(b){var d=(typeof b=="string")?b.replace(/ /g,"").split(","):(b instanceof Array?b:[b]);for(var c=0;c<d.length;c++){if(typeof d[c]=="string"){d[c]=$ID(d[c])}if(!d[c]||typeof d[c]!="object"){throw new Error("Event::GetTargets - Invalid Event Target(s) specified")}}return d},TransformEventArgs:function(b){if(typeof b=="string"){return b.replace(/ /g,"").split(",")}else{if(b instanceof Array){return b}else{throw new Error("Event::GetEvents - Invalid Event Format Specified")}}},RegisterListener:function(d,c,e){if(Neaux.Event.FindListener(d,c,e)){return null}var b=(d instanceof Neaux.Event.Target)?null:function(h){var j=new Neaux.Event.Object(h||window.event,d);var i=(e instanceof Array)?e[1]:e;var g=(e instanceof Array)?e[0]:d;i.call(g,j)};var f={target:d,type:c,listener:e,fauxListener:b};Neaux.Event._listeners.push(f);return b},UnregisterListener:function(c,b,e){var d=Neaux.Event.FindListenerSlot(c,b,e);return(d<0)?null:Neaux.Event._listeners.splice(d,1)[0].fauxListener},FindListener:function(c,b,e){var d=Neaux.Event.FindListenerSlot(c,b,e);return d<0?null:Neaux.Event._listeners[d].fauxListener},FindListenerSlot:function(d,c,e){var b=Neaux.Event._listeners;for(var f=0;f<b.length;f++){if(b[f].target==d&&b[f].type==c&&b[f].listener==e){return f}}return -1},Model:null,DomModel:{AddListener:function(c,b,d){if(!c.addEventListener){throw new Error("Event:AddListener: An AddListener request was made to an object that is not an Event Target")}c.addEventListener(b,d,false)},RemoveListener:function(c,b,d){if(!c.removeEventListener){throw new Error("Event:RemoveListener: A RemoveListener request was made to an object that is not an Event Target")}c.removeEventListener(b,d,false)},Dispatch:function(c,b){if(!c.dispatchEvent){throw new Error("Event:Dispatch: A Dispatch request was made to an object that is not an Event Target")}var d=document.createEvent("Events");d.initEvent(b,false,false);c.dispatchEvent(d)},Create:function(){},SetCapture:function(b,c){},ReleaseCapture:function(b,c){},toString:function(){return"[Neaux.Event.DomModel]"}},IEModel:{AddListener:function(c,b,d){if(!c.attachEvent){throw new Error("Event:AddListener: An AddListener request was made to an object that is not an Event Target")}c.attachEvent("on"+b,d)},RemoveListener:function(c,b,d){if(!c.detachEvent){throw new Error("Event:RemoveListener: A RemoveListener request was made to an object that is not an Event Target")}c.detachEvent("on"+b,d)},Dispatch:function(c,b){if(!c.fireEvent){throw new Error("Event:Dispatch: A Dispatch request was made to an object that is not an Event Target")}var d=document.createEventObject();c.fireEvent("on"+b,d)},Create:function(){},SetCapture:function(b,c){},ReleaseCapture:function(b,c){},toString:function(){return"[Neaux.Event.IEModel]"}},LegacyModel:{AddListener:function(c,b,d){a()},RemoveListener:function(c,b,d){a()},Dispatch:function(c,b){a()},Create:function(){a()},SetCapture:function(b,c){a()},ReleaseCapture:function(b,c){a()},toString:function(){return"[Neaux.Event.LegacyModel]"}},Object:function(c,b){this._event=c||null;this._target=b||null},Target:function(){},Listener:function(){},toString:function(){return"[Neaux.Event]"}};Neaux.Merge(Neaux.Event.Object,{CAPTURING_PHASE:1,AT_TARGET:2,BUBBLING_PHASE:3});Neaux.Event.Object.prototype={_event:null,_target:null,Type:function(){return this._event.type},Target:function(){return this._event.target||this._event.srcElement||document},CurrentTarget:function(){return this._event.currentTarget||this._target},EventPhase:function(){return(this.CurrentTarget()==this.Target())?Neaux.Event.Object.AT_TARGET:Neaux.Event.Object.BUBBLING_PHASE},NativeEvent:function(){return this._event},X:function(){return this._event.clientX},Y:function(){return this._event.clientY},ScreenX:function(){return this._event.screenX},ScreenY:function(){return this._event.screenX},RelatedTarget:function(){return this._event.relatedTarget||function(){switch(this._event.type){case"mouseover":return this._event.fromElement;case"mouseout":return this._event.toElement;default:return null}}},Button:function(){return null},AltKey:function(){return this._event.altKey},CtrlKey:function(){return this._event.ctrlKey},ShiftKey:function(){return this._event.shiftKey},MetaKey:function(){return null},KeyChar:function(){return null},KeyCode:function(){return null},InitEvent:function(){return null},StopPropagation:function(){if(this._event.stopPropagation){return this._event.stopPropagation()}theWE.cancelBubble=true},PreventDefault:function(){if(this._event.preventDefault){return this._event.preventDefault}theWE.returnValue=false},StopEvents:function(){this.StopPropagation();this.PreventDefault()},toString:function(){return"[Class Neaux.Event.Object]"}};Neaux.Event.Target.prototype={AddListener:function(b,c){},RemoveListener:function(b,c){},Dispatch:function(b){},toString:function(){return"[Class Neaux.Event.Target]"}};Neaux.Event.Listener.prototype={HandleEvent:function(){},toString:function(){return"[Class Neaux.Event.Listener]"}};if(document.addEventListener){Neaux.Event.Model=Neaux.Event.DomModel}else{if(document.attachEvent){Neaux.Event.Model=Neaux.Event.IEModel}else{Neaux.Event.Model=Neaux.Event.LegacyModel}}Neaux.Event.AddListener(window,"load",Neaux._LoadHandler);Neaux.Event.AddListener(window,"unload",Neaux._UnloadHandler);$ON=Neaux.Event.AddListener;Neaux.Register("event","event.js","20091109","0.5-0.03")})();
(function(){Neaux.Namespace("Neaux.Dom");Neaux.Merge(Neaux.Dom,{Root:function(a){return a?a.documentElement:document.documentElement},MatchTag:function(a,c){var b=$ID(a);return(b&&b.tagName.toLowerCase()==c.toLowerCase())},Create:function(b,e){var a=e||document;var d=typeof b=="string"?b:b.tagName;var c=a.createElement(d);if(typeof b=="object"){Neaux.Dom.SetAttributes(c,b)}return c},SetAttributes:function(b,c){if(typeof c=="object"){for(var a in c){if(a=="style"){Neaux.Html.Style(b,c[a])}else{if(a!="tagName"){b.setAttribute(a,c[a])}}}}return b},Append:function(b,a){return $ID(a).appendChild(Neaux.Dom.CreateIf(b))},Prepend:function(b,a){var c=$ID(a);if(c.firstChild){return Neaux.Dom.InsertBefore(b,c.firstChild)}else{return Neaux.Dom.Append(b,c)}},Insert:function(b,d){var a=$ID(d);var c=a.parentNode;a=a.NextSibling;if(a){return Neaux.Dom.InsertBefore(b,a)}else{return Neaux.Dom.Append(b,c)}},InsertBefore:function(a,c){var b=$ID(c).parentNode;return b.insertBefore(Neaux.Dom.CreateIf(a),c)},Remove:function(a){var c=$ID(a);var b=c.parentNode;return b.removeChild(c)},Replace:function(a,c){var b=$ID(c).parentNode;return b.replaceChild(Neaux.Dom.CreateIf(a),c)},CreateIf:function(a){var b=$ID(a);if((!b&&typeof a=="string")||(b&&!Neaux.Dom.IsDomNode(b))){b=Neaux.Dom.Create(a)}return b},IsDomNode:function(a){return(a.nodeType&&a.ownerDocument)},toString:function(){return"[Neaux.Dom]"}});Neaux.Register("dom","dom.js","20091016","0.5-0.02")})();
(function(){var a=/^(?:a|body|button|dd|dfn|div|dl|dt|em|fieldset|form|h1|h2|h3|h4|h5|h6|hr|iframe|img|input|label|li|ol|option|p|pre|select|span}strong|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i;Neaux.Html={Create:function(b,d){if(typeof(b)=="string"&&!Neaux.Html.IsHtmlTag(b)){return Neaux.Html.CreateHtml(b,d)}else{if(typeof b=="object"&&b.name&&Neaux.isJSIE&&Neaux.JSIE_version<=5.7){var c=document.createElement("<"+b.tagName+' name="'+b.name+'">');delete b.name;return Neaux.Dom.SetAttributes(c,b)}}return Neaux.Dom.Create(b,d)},CreateHtml:function(c,e){var b=e||document;var d=b.createElement("div");d.innerHTML=c;return d.removeChild(d.firstChild)},CreateWithName:function(d,c){var b;if(!Neaux.isJSIE&&Neaux.JSIE_version<=5.7){b=document.createElement(d);b.setAttribute("name",c)}else{b=document.createElement("<"+d+' name="'+c+'">')}return b},Append:function(c,b){return Neaux.Dom.Append(Neaux.Html.CreateIf(c),b)},Prepend:function(c,b){return Neaux.Dom.Prepend(Neaux.Html.CreateIf(c),b)},Insert:function(b,c){return Neaux.Dom.Insert(Neaux.Html.CreateIf(b),c)},InsertBefore:function(b,c){return Neaux.Dom.InsertBefore(Neaux.Html.CreateIf(b),c)},Remove:function(b){return Neaux.Dom.Remove(b)},Replace:function(b,c){return Neaux.Dom.Replace(Neaux.Html.CreateIf(b),c)},Style:function(e,d){var c=$ID(e);if(!c){return null}if(!d){c.cssText=""}else{for(var b in d){var f=d[b];if(b=="opacity"){Neaux.Html.Opacity(c,f)}else{if(b=="float"||b=="cssFloat"||b=="styleFloat"){b=typeof c.style.cssFloat=="string"?"cssFloat":"styleFloat"}c.style[b]=f}}}return c},Opacity:function(d,c){var b=$ID(d);if(!b){return null}if(Neaux.isJSIE){c*=100;if(!b.currentStyle||!b.currentStyle.hasLayout){b.style.zoom=1}b.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity:"+c+")"}else{b.style.opacity=c}return b},Rect:function(f){var d=$ID(f);if(d==null){throw new Error("Element.Rect: Invalid element specified")}var c=y=0,e=d.offsetWidth,b=d.offsetHeight;while(d!=null){c+=d.offsetLeft;y+=d.offsetTop;d=d.offsetParent}return{x:c,y:y,width:e,height:b}},Viewport:function(){var f=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;var c=window.pageXOffset||f.scrollLeft;var h=window.pageYOffset||f.scrollTop;var e=window.innerWidth||f.clientWidth;var b=window.innerHeight||f.clientHeight;var g=document.documentElement.offsetHeight;var d=document.documentElement.offsetWidth;return{x:c,y:h,width:e,height:b,pageWidth:d,pageHeight:g}},IsHtmlTag:function(b){return a.test(b)},CreateIf:function(b){var c=$ID(b);return(typeof c=="object"&&Neaux.Dom.IsDomNode(c))?c:Neaux.Html.Create(b)},toString:function(){return"[Neaux.Html]"}};Neaux.Register("html","html.js","20091016","0.5-0.02")})();
(function(){Neaux.Xml={Create:function(){var a=null;if(document.implementation&&document.implementation.createDocument){a=document.implementation.createDocument("","",null)}else{if(window.ActiveXObject){a=new ActiveXObject("Microsoft.XMLDOM")}else{throw new Error("Your browser does not support XML")}}a.async=false;return a},Load:function(b){var a=null;if(window.XMLHttpRequest){var d=new XMLHttpRequest;d.open("get",b,false);d.send(null);a=(d.status==200)?d.responseXML:null}else{a=Neaux.Xml.Create();try{if(!a.load(b)){a=null}}catch(c){a=null}}return a},Parse:function(d){var b=null;if(document.implementation&&document.implementation.createDocument){try{var a=new DOMParser();b=a.parseFromString(d,"text/xml")}catch(c){throw new Error("Xml.Parse: Your browser does not support XML")}}else{b=Neaux.Xml.Create();b.loadXML(d)}return b},Serialize:function(c){var f=null;var b=c.documentElement||c;try{var a=new XMLSerializer();theXMLstring=a.serializeToString(b)}catch(d){theXMLstring=b.xml}return theXMLstring},toString:function(){return"[Neaux.Xml]"}};Neaux.Register("xml","xml.js","20091011","0.5-0.01")})();
(function(){Neaux.Namespace("Neaux.Html");Neaux.Html.Form={Fields:function(d){if(!(d=$ID(d))){throw new Error("Form, "+d+" does not exist")}var a={};for(var b=0;b<d.elements.length;++b){if(d.elements[b].name){var c=d.elements[b];if(c.tagName.toLowerCase()=="input"&&c.type.toLowerCase()=="checkbox"){if(c.checked){if(!a[c.name]){a[c.name]=[]}a[c.name].push(c.value)}}else{a[c.name]=c.value}}}return a},QueryString:function(b,a){return Neaux.Object.EncodeQueryString(Neaux.Html.Form.Fields(b),a)},toString:function(){return"[Neaux.Html.Form]"}};Neaux.Register("form","form.js","20091103","0.5-0.02")})();
(function(){Neaux.Http={Connection:function(e,f){if(e){this.url=e}if(f){this.method=f}},toString:function(){return"[Neaux.Http]"}};Neaux.Http.Connection.State={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4};Neaux.Http.Connection.Status={OK:200,NOT_FOUND:404,SERVER_ERROR:500,APP_TIMEOUT:999};Neaux.Http.Connection.ContentType={TEXT:"text/plain",HTML:"text/html",XML:"application/xml",JSON:"application/json",FORM:"application/x-www-form-urlencoded",QUERY_STRING:"application/x-www-form-urlencoded",XHTML:"application/xhtml+xml",UPLOAD:"multipart/form-data"};var c=Neaux.Http.Connection.ContentType,a=Neaux.Http.Connection.State,b=Neaux.Http.Connection.Status;Neaux.Http.Connection.prototype={url:null,method:"get",form:null,contentType:null,charset:"utf-8",timeout:null,oninitialize:null,onsuccess:null,onfailure:null,oncomplete:null,Get:function(e){},Post:function(e){},Request:function(f){var n=f.form||this.form;n=n?$ID(n):{};var h=f.url||n.action||this.url;if(!h){throw new Error("Neaux::Connection.Request: A URL was not specified for the server request")}var l=f.method||n.method||this.method;if(!l){throw new Error("Neaux::Connection.Request: A Method was not specified for the server request")}l=l.toLowerCase();if(l!="get"&&l!="post"){throw new Error("Neaux::Connection.Request: Invalid method, "+l+" was specified")}var m=f.contentType||n.enctype||this.contentType;if(m&&Neaux.Array.IndexOf(m,"/")<0){m=c[m.toUpperCase()]||null}if(n.tagName&&m!=c.UPLOAD){var p=n.getElementsByTagName("input");for(var k=0;k<p.length;k++){if(p[k].type.toLowerCase()=="file"){m=n.enctype=c.UPLOAD;break}}}if(m==c.UPLOAD){if(!n.tagName){throw new Error("Neaux::Connection.Request: "+c.UPLOAD+" content type is only valid for forms")}return d.IFrameRequest(n,h)}var g=(n.tagName&&!f.Data)?Neaux.Html.Form.QueryString(n):null;var q=f.data||g||this.data;if(l=="get"&&q){if((h.indexOf("?")<0)){h+="?"+q}else{throw new Error("Neaux::Connection.Request: cannot specify data param if query string in URL")}q=null}if(l=="post"&&!q){throw new Error("Neaux::Connection.Request - No Data provided for POST request")}if(l=="post"&&m==c.JSON&&typeof(q)=="object"){q=Neaux.Object.EncodeJson(q)}var e={};var j=f.charset||this.charset;if(l=="post"){if(m&&j){m+=";charset="+j}if(m){e["Content-Type"]=m}}var o={method:l,url:h,data:q,headers:e};o.callback=(function(r,s){if(r==a.HEADERS_RECEIVED&&this.oninitialize){this.oninitialize(d.MakeResponseObject())}else{if(r==a.DONE){var i=d.MakeResponseObject();if(s==b.OK){if(this.onsuccess){this.onsuccess(i)}else{if(this.onfailure){this.onfailure(i)}}}this.oncomplete(i)}}});return d.XhrRequest(this,o)},toString:function(){return"[Neaux.Http.Connection]"}};var d={xhr:null,ifr:null,CreateXhr:function(){try{return new XMLHttpRequest()}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(f){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(f){}throw new Error("Neaux::Connection - The User Agent (Browser) does not support XML Http Requests.")},XhrRequest:function(f,j){if(!d.xhr){d.xhr=d.CreateXhr()}var l=d.xhr;var g=[j.method,j.url,true];if(!Neaux.isJSIE){l.open.apply(l,g)}else{l.open(j.method,j.url,true,null,null)}try{l.onreadystatechange=(function(){d.XhrHandler(f,j.callback)})}catch(k){throw new Error("Neaux::Connection - Unable to connect handler to XMLHttpRequest object")}for(var h in j.headers){l.setRequestHeader(h,j.headers[h].toString())}l.send(j.data)},XhrHandler:function(f,e){var g=d.xhr;switch(g.readyState){case a.OPENED:break;case a.LOADING:break;case a.HEADERS_RECEIVED:e.call(f,g.readyState);break;case a.DONE:e.call(f,g.readyState,g.status);g.onreadystatechange=null;break}},MakeResponseObject:function(){var h=d.xhr;var f=null,e,g;if(h.readyState==a.DONE){var i=h.getResponseHeader("content-type").toLowerCase();f=h.status;e=(i=="application/xml"||i=="text/xml")?h.responseXML:null;g=(i=="application/json")?Neaux.String.DecodeJson(h.responseText):null}return{OK:function(){return(f==$HCStatus.OK)?true:false},Status:function(){return f},StatusText:function(){return f?h.statusText:null},ReadyState:function(){return h.readyState},Text:function(){return h.responseText},Xml:function(){return e},Json:function(){return g},ContentType:function(){return h.getResponseHeader("content-type")},toString:function(){return"[Neaux.Http.Response]"}}},CreateIFrame:function(){var e=Neaux.Html.Create({tagName:"iframe",name:"___NW_UPLOAD",id:"fra_nw_upload"});e.style.display="none";Neaux.Html.Append(e,document.body);e.onload=d.IFrameHandler;if(Neaux.isJSIE&&Neaux.JSIE_version<=5.7){$ON(e,"load",d.IFrameHandler)}return e},IFrameRequest:function(e,f){if(!d.ifr){d.ifr=d.CreateIframe()}var g=d.ifr;e.target=this.ident+"_target";return e.submit()},IFrameHandler:function(){},__end:null};Neaux.HttpConnection=Neaux.Http.Connection;Neaux.Register("http","http.js","20091111","0.5-0.03")})();

