// NeauxScript V0.5-3.02 (11-Jun-2010) @11-Jun-2010 08:51:21
/*
 * 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",Module:(function(){var _registeredModules={};var _loadedModules=["neauxscript.js"];var _includePath=null;return{getModules:function(){return _loadedModules},getRegisteredModules:function(){return _registeredModules},getIncludePath:function(){var thePath=_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)}}_includePath=thePath;return thePath},register:function(aModuleName,aFileName,aDateModified,aVersionModified){aModuleName=aModuleName.toLowerCase();aVersionModified=aVersionModified.toUpperCase();if(_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")}_registeredModules[aModuleName]={file:aFileName,date:aDateModified,version:aVersionModified}},getVersionInfo:function(){var theDate="",theVersion="";var arrReg=_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=0;k<theModuleSet.length;k++){Neaux.Module.load(theModuleSet[k])}},load:function(aFileName){for(i=0;i<_loadedModules.length;++i){if(_loadedModules[i]==aFileName){throw new Error("DUPLICATE MODULE ERROR: "+aFileName)}}var theSrc=Neaux.Module.getIncludePath()+aFileName;document.write('<script type="text/javascript" src="'+theSrc+'"><\/script>');_loadedModules.push(aFileName)},toString:function(){return"[Neaux.Module]"}}})(),getSWVersion: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+") "},getCopyright:function(){return" \xA92007-2010 "+Neaux.organization+" ("+Neaux.homePage+") All Rights Reserved."},show:function(){window.status=Neaux},toString:function(){return Neaux.getSWVersion()+"; "+Neaux.getCopyright()}}
/*@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.JSIE_version=typeof(JSIE_version)!="undefined"?JSIE_version:null;var theAgent=navigator.userAgent;Neaux.isMSIE=
/*@cc_on!@*/
false;Neaux.isWebKit=/AppleWebKit/.test(theAgent);Neaux.isGecko=!Neaux.isWebKit&&/Gecko/.test(theAgent);Neaux.isPresto=/Presto/.test(theAgent);Neaux.isDevelopmentEnvironment=location.hostname.match(/^(\w+|.*neauxware\.com)$/i);Neaux.register=Neaux.Module.register;Neaux.include=Neaux.Module.include;Neaux.register("neauxscript","neauxscript.js","20100608","0.5-3.02")})();
(function(){$EFN=(function(){});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={isNative:function(aObj){return(typeof aObj=="object")&&(aObj.constructor==Object.prototype.constructor)},isCollection:function(aObj){return(typeof aObj=="object"||(typeof NodeList!="undefined"&&aObj instanceof NodeList)&&!aObj.tagName)&&(typeof aObj.length=="number")},isHtmlElement:function(aObj){return Boolean(typeof aObj=="object"&&aObj.tagName)},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){_Object.ieEnumerableBugFix(aObject,theData)}}return aObject},clone:function(aObject,aDeep){if(typeof aObject!="object"){throw new Error("Object.clone - All arguments must be objects")}aDeep=(aDeep===true);if(aDeep){throw new Error("Object.clone - Deep cloning has not been implemented")}var theClone={};for(var i in aObject){theClone[i]=aObject[i]}return theClone},collectionToArray:function(aCollection,aStart,aLength){aStart=aStart||0;aLength=aLength||aCollection.length;var theArray=[];for(var i=aStart;i<aLength;i++){theArray.push(aCollection[i])}return theArray},keys:function(aObj){var theKeys=[];for(var i in aObj){theKeys.push(i)}return theKeys},values:function(aObj){var theValues=[];for(var i in aObj){theValues.push(aObj[i])}return theValues},combine:function(aKeys,aValues){var theObject={};for(var i=0;i<aKeys.length;i++){theObject[aKeys[i]]=aValues?(aValues[i]?aValues[i]:null):null}return theObject},encodeJson:function(aObject){var moi=Neaux.Object.encodeJson;if(typeof aObject!="object"){throw new Error("Object.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("Object.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("&")},union:function(aObject1,aObject2){var theUnion={};return Neaux.merge(theUnion,aObject1,aObject2)},intersect:function(aReference,aObject){var theIntersect={};for(var i in aObject){if(typeof aReference[i]!="undefined"){theIntersect[i]=aObject[i]}}return theIntersect},compliment:function(aReference,aObject){var theCompliment={};for(var i in aObject){if(typeof aReference[i]=="undefined"){theCompliment[i]=aObject[i]}}return theCompliment},difference:function(aObject1,aObject2){var theDifference={};for(var i in aObject1){if(typeof object2[i]=="undefined"){theDifference[i]=aObject1[i]}}for(i in aObject2){if(typeof object1[i]=="undefined"){theDifference[i]=aObject2[i]}}return theDifference},toString:function(){return"[Neaux.Object]"}};var _Object={ieEnumerableBugFix:function(aTarget,aObject){if(!Neaux.isJSIE){return}for(var i=0;i<_IECoreEnumerables.length;i++){var mthd=_IECoreEnumerables[i];if(typeof aObject[mthd]=="function"&&Object.prototype[mthd]!=aObject[mthd]){aTarget[mthd]=aObject[mthd]}}}};Neaux.Class=function(){var theConstructor=function(){var thisConstructor=arguments.callee.prototype.__construct;var theArgs=arguments;if(theArgs.length&&this.__params&&(typeof Neaux.Base!="undefined")&&(this instanceof Neaux.Base)){if(Neaux.Object.isNative(theArgs[0])){theArgs=Neaux.Object.collectionToArray(arguments);var theArg=theArgs.shift();this.applyParams(theArg,true)}}thisConstructor.apply(this,theArgs)};Neaux.merge(theConstructor.prototype,{constructor:theConstructor,__construct:$EFN,Super:function(){if(arguments.length<1){throw new Error("Class::Super - You must pass the arguments object")}var theProxy=arguments[0].callee;var theSuperclass=theProxy.__cptr.__superclass;if(!theSuperclass){throw new Error("Class:Super - Error calling Super method from base class")}theProxy.__cptr.__superclass.constructor.apply(this,arguments[0])}});Neaux.merge(theConstructor,{__superclass:null,Implement:function(aMembers){return _Class.implement(theConstructor,aMembers)},Extend:function(aBase){return _Class.extend(theConstructor,aBase)},Params:function(aParams){return Neaux.Base.Params(theConstructor,aParams)},Events:function(aEvents){return Neaux.EventTarget.Events(theConstructor,aEvents)}});for(i=0;i<arguments.length;i++){theConstructor.Implement(arguments[i])}return theConstructor};var _Class={implement:function(aConstructor,aMembers){if(typeof aMembers!="object"){throw new Error("A Class Definition must be an Object")}Neaux.Object.merge(aConstructor.prototype,aMembers);aConstructor.prototype.__construct.__cptr=aConstructor;aConstructor.prototype.__superclass=null;return aConstructor},extend:function(aConstructor,aBase){if(typeof aConstructor.prototype.__superclass!=="undefined"){throw new Error("Class::Extend - you must implement the class after extending the base class. Use Implement method")}var Foo=function(){};Foo.prototype=aBase.prototype;aConstructor.prototype=new Foo;aConstructor.prototype.constructor=aConstructor;aConstructor.__superclass=aConstructor.prototype.__superclass=aBase.prototype;return aConstructor}};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]"}};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)},call:function(aFn,aObj){var theArgs=arguments.length>2?Neaux.Object.collectionToArray(arguments,2):null;return Neaux.Function.apply(aFn,aObj,theArgs)},apply:function(aFn,aObj,aArgs){var theFn=aFn instanceof Array?aFn[1]:aFn;var theObj=aFn instanceof Array?aFn[0]:aObj;theObj=theObj||window;var theArgs=aArgs||[];return theFn.apply(theObj,theArgs)},toString:function(){return"[Neaux.Function]"}};Neaux.Array={isInArray: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.Object.merge(Neaux,{merge:Neaux.Object.merge,collectionToArray:Neaux.Object.collectionToArray,encodeJson:Neaux.Object.encodeJson,decodeJson:Neaux.String.decodeJson,encodeQueryString:Neaux.Object.encodeQueryString,decodeQueryString:Neaux.String.decodeQueryString});Neaux.register("core","core.js","20100601","0.5-3.02")})();
(function(){Neaux.Dom={getRoot:function(a){return a?a.documentElement:document.documentElement},isDoc:function(a){return(typeof Document!="undefined"&&a instanceof Document)||!!a.compatMode},isElement:function(a){return Neaux.isMSIE?!!a.nodeName:(typeof Element!="undefined"&&a instanceof Element)},getElement:function(a){if(typeof a=="string"){return document.getElementById(a)}else{if(typeof a=="object"){if(Neaux.Dom.isElement(a)||a==document.body){return a}else{if(typeof Neaux.Component!="undefined"&&a instanceof Neaux.Component){return a.getElement()}}}}return null},getElementsById:function(){var a=[];for(var b=0;b<arguments.length;++b){var c=Neaux.Dom.getElement(arguments[b]);if(arguments.length>1){a.push(c)}}return(arguments.length==1)?c:a},createElement:function(d,a,f){f=f||Neaux.Dom.isDoc(a)?f:document;var c=(typeof d=="string")?d:d.tagName;var e=f.createElement(c);if(Neaux.Object.isNative(d)){for(var b in d){if(b!="tagName"){theElm.setAttribute(b,d[b])}}}if(a&&!Neaux.Dom.isDoc(a)){e=Neaux.Dom.getElement(a).appendChild(e)}return e},appendElement:function(c,e){var d=Neaux.Dom.getElement(c),a=e?Neaux.Dom.getElement(e):document.body,b=(e&&a!=document.body)?a.parentNode:document.body;if(d&&a&&b){b.appendChild(d)}return d},insertBefore:function(b,d){var c=Neaux.Dom.getElement(b),a=Neaux.Dom.getElement(d);if(c&&a&&a.parentNode){a.parentNode.insertBefore(c,a)}return c},insertAfter:function(b,d){var c=Neaux.Dom.getElement(b),a=Neaux.Dom.getElement(d);if(c&&a&&a.parentNode){if(a.nextSibling){a.parentNode.insertBefore(c,a.nextSibling)}else{a.parentNode.appendChild(c)}}return c},removeElement:function(a){var b=Neaux.Dom.getElement(a);if(b&&b.parentNode){b.parentNode.removeChild(b)}return b},replaceElement:function(b,c){var d=Neaux.Dom.getElement(b),a=Neaux.Dom.getElement(c);if(d&&a&&a.parentNode){a.parentNode.replaceChild(d,a)}return d},toString:function(){return"[Neaux.Dom]"}};Neaux.Html={setOpacity:function(a,b){var c=$ID(a);if(!c){return null}if(Neaux.isJSIE){b*=100;if(!c.currentStyle||!c.currentStyle.hasLayout){c.style.zoom=1}c.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity:"+b+")"}else{c.style.opacity=b}return c},setStyle:function(a,f,k){var h=$ID(a);if(!h){return null}if(!k){h.style.cssText=""}if(typeof f=="string"){if(!k){h.cssText=f}else{var b=Neaux.String.trim;var d=f.split(";");f={};for(var e=0;e<d.length;++e){var j=d[e].split(":");f[b(j[0])]=b(j[1])}}}if(typeof f=="object"){for(var g in f){var c=f[g];if(g=="opacity"&&Neaux.isMSIE){Neaux.Html.setOpacity(h,c)}else{if(g=="float"||g=="cssFloat"||g=="styleFloat"){g=typeof h.style.cssFloat=="string"?"cssFloat":"styleFloat"}else{g=g.replace(/-\D/g,function(){return arguments[0].charAt(1).toUpperCase()})}h.style[g]=c}}}return h},getStyle:function(c,d){var a=$ID(aElm),e;if(window.getComputedStyle){var b=getComputedStyle(a,null);e=b?b.getPropertyValue(d):null}else{if(d=="float"){d="styleFloat"}else{if(d=="opacity"){d="filter"}else{d=d.replace(/-\D/g,function(){return arguments[0].charAt(1).toUpperCase()})}}e=a.currentStyle[d]?a.currentStyle[d]:null;if(d=="filter"){e=(e!=null)?e.match(/\d+(\.\d+)?/)[0]/100:1}}return e},getX:function(a){return Neaux.Html.getLocation(a).x},getY:function(a){return Neaux.Html.getLocation(a).y},getLocation:function(c){var b=$ID(c);if(typeof b!="object"){throw new Error("Dom.getElementPosition: Invalid element specified")}var a=y=0;while(b){a+=b.offsetLeft;y+=b.offsetTop;b=b.offsetParent}return{x:a,y:y}},getWidth:function(a){return Neaux.Html.getSize(a).width},getHeight:function(a){return Neaux.Html.getSize(a).height},getSize:function(a){var b=$ID(a);return{width:b.offsetWidth,height:b.offsetHeight}},Form:{getFields: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},getQueryString:function(b,a){return Neaux.encodeQueryString(Neaux.Html.Form.getFields(b),a)},toString:function(){return"[Neaux.Html.Form]"}}};$ID=Neaux.Dom.getElementsById;Neaux.register("dom","dom.js","20100609","0.5-3.02")})();
(function(){var c={CAPTURING_PHASE:1,AT_TARGET:2,BUBBLING_PHASE:3};Neaux.Event={addListener:function(n,p,i){var o=e.transformTargetArg(n);var l=e.transformEventArg(p);for(var k=0;k<o.length;k++){for(var q=0;q<l.length;q++){for(var m=2;m<arguments.length;m++){var j=arguments[m];if(o[k].addListener){o[k].addListener(l[q],j)}else{if(theRealListener=e.registerListener(o[k],l[q],j)){e.model.addListener(o[k],l[q],theRealListener)}}}}}},removeListener:function(n,p,i){var o=e.transformTargetArg(n);var l=e.transformEventArg(p);for(var k=0;k<o.length;k++){for(var q=0;q<l.length;q++){for(var m=2;m<arguments.length;m++){var j=arguments[m];if(o[k].removeListener){o[k].removeListener(l[q],j)}else{if(theRealListener=e.unregisterListener(o[k],l[q],j)){e.model.removeListener(o[k],l[q],theRealListener)}}}}}},dispatch:function(n,j){var m=e.transformTargetArg(n);var k=e.transformEventArg(j);var o=(arguments.length>2)?Neaux.Object.collectionToArray(arguments,2):null;for(var p=0;p<m.length;p++){for(var i=0;i<k.length;i++){if(m[p].dispatch){var l=[k[i]];if(o){l=l.concat(o)}m[p].dispatch.apply(m[p],o)}else{e.model.dispatch(m[p],k[i])}}}},toString:function(){return"[Neaux.Event]"}};Neaux.Event.ListenerTable=Neaux.Class({m_name:null,m_listeners:null,__construct:function(i){if(i){this.m_name=i}},getListener:function(k,m,o){var j=this.m_listeners?this.m_listeners[k]:null;if(j){for(var l=0;l<j.length;l++){var n=j[l];if(n.target==m&&n.listener==o){return n}}}return null},getListeners:function(k,m){var o=[];if(this.m_listeners&&this.m_listeners[k]){var j=this.m_listeners[k];for(var l=0;l<j.length;l++){var n=j[l];if(n.target==m){o.push(n.listener)}}}return o},getListenerCount:function(m,p,k){if(!this.m_listeners){return k?false:0}var i=m?this.m_listeners[m]:this.m_listeners;var o=function(t){var s=0;var r=i?i.length:0;if(!p){return k?(r?true:false):r}for(var j=0;j<r;++j){if(i[j].target==p){if(k){return true}s++}}return k?false:s};if(m){return o(m)}var q=0;for(var n in i){if(p){var l=o(n);if(l&&typeof l=="boolean"){return l}q+=l}else{q+=i[n].length}}return(p&&k)?false:q},add:function(j,l,n,k){if(!j){throw new Error("ListenerTable::Add - An event type must be specified")}if(!l){throw new Error("ListenerTable::Add - A target must be specified")}if(!n){throw new Error("ListenerTable::Add - A listener must be specified")}var m={target:l,listener:n,proxy:k};if(!this.m_listeners){this.m_listeners={}}var i=this.m_listeners[j];if(!this.getListener(j,l,n)){if(!i){i=this.m_listeners[j]=[]}return i.push(m)?true:false}else{throw new Error("Event.ListenerList - LISTENER EXISTS - NOT IMPLEMENTED")}return true},remove:function(k,m,o){var j=this.m_listeners[k];for(var l=0;l<j.length;l++){var n=j[l];if(n.target==m&&n.listener==o){return this.m_listeners[k].splice(l,1)[0].proxy}}return null},toString:function(){return"[Neaux.Event.ListenerTable]"}});var e={nativeListeners:new Neaux.Event.ListenerTable("W3C"),model:null,DomModel:{addListener:function(j,i,k){if(!j.addEventListener){g()}j.addEventListener(i,k,false)},removeListener:function(j,i,k){if(!j.removeEventListener){a()}j.removeEventListener(i,k,false)},dispatch:function(j,i){if(!j.dispatchEvent){throw new Error("Event:dispatch: A Dispatch request was made to an object that is not an Event Target")}var k=document.createEvent("Events");k.initEvent(i,false,false);j.dispatchEvent(k)}},IEModel:{addListener:function(j,i,k){if(!j.attachEvent){g()}j.attachEvent("on"+i,k)},removeListener:function(j,i,k){if(!j.detachEvent){a()}j.detachEvent("on"+i,k)},dispatch:function(j,i){if(!j.fireEvent){throw new Error("Event:dispatch: A Dispatch request was made to an object that is not an Event Target")}var k=document.createEventObject();j.fireEvent("on"+i,k)}},LegacyModel:{addListener:function(j,i,k){b()},removeListener:function(j,i,k){b()},dispatch:function(j,i){b()}},isValidTarget:function(i){return Neaux.Object.isHtmlElement(i)||((typeof Neaux.EventTarget!="undefined")&&(i instanceof Neaux.EventTarget))||(i==window)||(!!i.implementation)},transformTargetArg:function(l){var k;if(typeof l=="string"){k=l.replace(/ /g,"").split(",")}else{if(l instanceof Array){k=l}else{if(e.isValidTarget(l)){k=[l]}else{if(Neaux.Object.isCollection(l)){k=Neaux.Object.collectionToArray(l)}else{f()}}}}for(var j=0;j<k.length;j++){if(typeof k[j]=="string"){k[j]=$ID(k[j])}if(!k[j]||!e.isValidTarget(k[j])){f()}}return k},transformEventArg:function(i){if(typeof i=="string"){return i.replace(/ /g,"").split(",")}else{if(i instanceof Array){return i}else{d()}}},registerListener:function(k,j,l){var i=function(m){var n=new Neaux.Event.Object(m||window.event,k);if(Neaux.Function.call(l,k,n)==false){n.preventDefault()}};e.nativeListeners.add(j,k,l,i);return i},unregisterListener:function(j,i,k){return e.nativeListeners.remove(i,j,k)}};Neaux.Event.Object=Neaux.Class({_event:null,_target:null,__construct:function(i,j){this._event=i||null;this._target=j||null},getNativeEvent:function(){return this._event},getType:function(){return this._event.type},getTarget:function(){return this._event.target||this._event.srcElement||document},getCurrentTarget:function(){return this._event.currentTarget||this._target},getEventPhase:function(){return(this.getCurrentTarget()==this.getTarget())?c.AT_TARGET:c.BUBBLING_PHASE},stopPropagation:function(){if(this._event.stopPropagation){return this._event.stopPropagation()}else{this._event.cancelBubble=true}},preventDefault:function(){if(this._event.preventDefault){this._event.preventDefault()}else{this._event.returnValue=false}},stopEvents:function(){this.stopPropagation();this.preventDefault()},toString:function(){return"[Class Neaux.Event.Object]"}});Neaux.merge(Neaux.Event.Object,c);var b=function(){throw new Error("Legacy browser detected")};var g=function(){throw new Error("Event:addListener: An addListener request was made to an object that is not an Event Target")};var a=function(){throw new Error("Event:removeListener: A removeListener request was made to an object that is not an Event Target")};var f=function(){throw new Error("Event::transformTargetArg - Invalid Event Target(s) specified")};var d=function(){throw new Error("Event::GetEvents - Invalid Event Format Specified")};var h=function(){throw new Error("Functionality not implemented")};if(document.addEventListener){e.model=e.DomModel}else{if(document.attachEvent){e.model=e.IEModel}else{e.model=e.LegacyModel}}if(Neaux.isDevelopmentEnvironment){Neaux.Event.addListener(window,"load",Neaux.show)}$EV=Neaux.Event;$ON=Neaux.Event.addListener;Neaux.onload=function(){for(var j=0;j<arguments.length;++j){Neaux.Event.addListener(window,"load",arguments[j])}};Neaux.register("event","event.js","20100428","0.5-3.00")})();
(function(){var d={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},c={OK:200,NOT_FOUND:404,SERVER_ERROR:500,APP_TIMEOUT:999},e={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",FILE:"multipart/form-data",UPLOAD:"multipart/form-data"},a="___NW_HTTP_IFRAME__",b="fra_nw_upload";Neaux.Http={request:function(q,r,p,k,j){j=j||{};var n=(k&&k.tagName=="FORM");if(n&&!r){r=k.method||"get"}if(n&&!q){q=k.action||null}r=r||"get";if(!q){throw new Error("Http.request - A URL was not specified")}if(n&&k.enctype==e.UPLOAD){j["content-type"]=e.UPLOAD}if(j&&j["content-type"]==e.UPLOAD){return Neaux.Http.ifrRequest(q,r,p,k,j)}var s=f.getObject(),h=(p?true:false);if(n){k=Neaux.Html.Form.getQueryString(k);if(k){j["content-type"]=e.FORM}}if(r=="get"&&k){var o=q.indexOf("?");if(o>=0){q=q.substr(0,o)}q+="?"+k;k=null}s.open(r,q,h);try{s.onreadystatechange=(function(){f.handler(p)})}catch(m){throw new Error("Http.request - Unable to connect handler to XMLHttpRequest object")}if(!j["content-type"]){j["content-type"]="plain/text"}for(var l in j){s.setRequestHeader(l,j[l].toString())}s.send(k);if(!h){return f.makeResponse(s)}},ifrRequest:function(l,m,h,k,j){j=j||{};var o=g.getObject(),n=k&&k.tagName=="FORM"?k:null;var i=(function(){g.handler(h)});o.onload=i;if(Neaux.isJSIE&&Neaux.JSIE_version<=5.7){$ON(o,"load",i)}if(n){n.target=a;n.method="post";n.action=l;n.enctype=e.UPLOAD;if(Neaux.isJSIE){n.encoding=e.UPLOAD}}if(n){n.submit()}else{throw new Error("Http.ifrRequest - Only Multipart forms are supported through iframes")}},toString:function(){return"[Neaux.Http]"}};var f={object:null,getObject:function(){if(!f.object){f.object=f.create()}return f.object},handler:function(h){if(!h){return}var i=f.getObject();if(i.readyState==d.HEADERS_RECEIVED||i.readyState==d.DONE){h.call(this,f.makeResponse(i))}if(i.readyState==d.DONE){i.onreadystatechange=null}},makeResponse:function(i){var l=i||f.Object(),j=null,h=null,k=null;if(l.readyState==d.DONE){var m=l.getResponseHeader("content-type");m=m?m.toLowerCase():"text/plain";j=l.status;h=(m=="application/xml"||m=="text/xml")?l.responseXML:null;k=(m=="application/json")?Neaux.String.decodeJson(l.responseText):null}return{isOK:function(){return(j==c.OK)?true:false},isDone:function(){return(l.readyState==d.DONE)?true:false},getStatus:function(){return j},getStatusText:function(){return j?l.statusText:null},getReadyState:function(){return l.readyState},getMatchState:function(n){return(n==l.readyState)},getText:function(){return l.responseText},getXml:function(){return h},getJson:function(){return k},getContentType:function(){return l.getResponseHeader("content-type")},toString:function(){return"[Neaux.Http.Response]"}}},create:function(){try{return new XMLHttpRequest()}catch(h){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(h){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(h){}throw new Error("Neaux::Connection - The User Agent (Browser) does not support XML Http Requests.")}};var g={object:null,getObject:function(){if(!g.object){g.object=g.create()}return g.object},handler:function(h){if(!h){return}var i=g.getObject();h.call(this,g.makeResponse(i))},makeResponse:function(h){var j=h||g.getObject(),i=j.contentWindow.document;return{isOK:function(){return true},isDone:function(){return true},getText:function(){return i.body.innerHTML},toString:function(){return"[Neaux.Http.Response]"}}},create:function(){var h=null;if(Neaux.isJSIE&&Neaux.JSIE_version<=5.7){h=document.createElement('<iframe name="'+a+'">')}else{h=document.createElement("iframe");h.name=a}h.id=b;h.style.display="none";document.body.appendChild(h);return h}};Neaux.Http.STATES=d;Neaux.Http.STATUS=c;Neaux.Http.CONTENT_TYPE=e;Neaux.register("http","http.js","20100316","0.5-3.00")})();
(function(){Neaux.Base=Neaux.Class().Implement({__params:null,__construct:function(){},__paramHandler:function(a){},applyParams:function(d,b){if(!d||!this.__params){return}var e={};var a=this.__params;for(var c=0;c<a.length;c++){if(typeof d[a[c]]!="undefined"){e[a[c]]=d[a[c]]}}Neaux.merge(this,e);if(typeof b=="undefined"){b=false}this.__paramHandler(e,b);return this},__initParams:function(c){c=c||[];if(typeof c=="string"){c=c?c.split(","):[]}else{if(!(c instanceof Array)){throw new Error("Neaux::Base - parameters must be specified as an array or comma-delimited list of strings")}}var a=this.constructor.prototype.__params;var d=a?[].concat(a):[];for(var b=0;b<c.length;b++){if(typeof c[b]!="string"){throw new Error("Neaux.Base - A class parameters must consist of strings")}if(c[b]&&!Neaux.Array.isInArray(d,c[b])){d.push(c[b])}}this.constructor.prototype.__params=d},toString:function(){return"[Neaux.Base]"}});Neaux.Base.Params=function(a,b){if(!(a.prototype instanceof Neaux.Base)){throw new Error("Class::Params - The specified class is not a subclass of Object.Base")}a.prototype.__initParams.call(a.prototype,b);return a};Neaux.register("base","base.js","20100610","0.5-3.02")})();
(function(){Neaux.EventTarget=Neaux.Class().Extend(Neaux.Base).Implement((function(){var a=new Neaux.Event.ListenerTable("NWC");return{__eventTypes:null,addListener:function(b,c){if(!Neaux.Array.isInArray(this.__eventTypes,b)){throw new Error(b+" event not supported for specified object")}a.add(b,this,c)},removeListener:function(b,c){a.remove(b,this,c)},dispatchEvent:function(b,e){var c=this.hasListener(b);var h=this["on"+b];if(!c&&!h){return this}var g=(e&&(e instanceof Neaux.NwcEvent))?e:(new Neaux.NwcEvent(b,this));if(e&&Neaux.Object.isNative(e)){Neaux.merge(g,e)}if(c){var f=a.getListeners(b,this);for(var d=0;d<f.length;++d){Neaux.Function.call(f[d],this,g)}}if(h){Neaux.Function.call(h,this,g)}return this},hasListener:function(d,c){var b=(c&&this["on"+d])?true:false;return b||a.getListenerCount(d,this,true)},enableEvents:function(){throw new Error("EventTarget::enableEvents - Not Implemented")},disableEvents:function(){throw new Error("EventTarget::disableEvents - Not Implemented")},addEvents:function(){throw new Error("EventTarget::addEvents - Not Implemented")},applyParams:function(e){if(!e||!this.__eventTypes){return}var f={};var c=this.__eventTypes;for(var d=0;d<c.length;d++){var b="on"+c[d];if(e[b]){f[b]=e[b]}}Neaux.merge(this,f);Neaux.EventTarget.__superclass.applyParams.call(this,e)},__initEvents:function(b){if(!b){return}if(typeof b=="string"){b=b.split(",")}else{if(Neaux.Object.isNative(b)){b=Neaux.Object.values(b)}else{if(!(b instanceof Array)){throw new Error("EventTarget.__initEvents - events must be a string, array or map")}}}var e=this.constructor.prototype.__eventTypes;var d=e?[].concat(e):[];for(var c=0;c<b.length;c++){if(!Neaux.Array.isInArray(d,b[c])){d.push(b[c])}}this.constructor.prototype.__eventTypes=d},toString:function(){return"[Neaux.EventTarget]"}}})());Neaux.EventTarget.Events=function(a,b){if(!(a.prototype instanceof Neaux.EventTarget)){throw new Error("Class.Events - The specified class is not a subclass of Event.Dispatcher")}a.prototype.__initEvents.call(a.prototype,b);return a};Neaux.NwcEvent=Neaux.Class({m_type:null,m_target:null,__construct:function(a,b){this.m_type=a;this.m_target=b},getType:function(){return this.m_type},getTarget:function(){return this.m_target},toString:function(){return"[Neaux.NwcEvent]"}});Neaux.register("eventtarget","eventtarget.js","20100429","0.5-3.00")})();
(function(){var b={INITIALIZE:"initialize",SUCCESS:"success",FAILURE:"failure",COMPLETE:"complete"};var c="utf-8";var a=120;var d="url,method,data,form,contentType,charset,timeout,iframe,auto";Neaux.Connection=Neaux.Class().Extend(Neaux.EventTarget).Events(b).Params(d).Implement({charset:c,timeout:a,__construct:function(){if(this.auto){Neaux.Function.delay(function(){this.request()},0,this)}},request:function(f){f=f||{};var n=f.form||this.form;if(n){n=$ID(n);if(!n){throw new Error("Connection:request - form does not exist")}n.method=n.method||"get";n.enctype=n.enctype||Neaux.Http.CONTENT_TYPE.FORM}else{n={}}var h=f.url||this.url||n.action,l=f.method||this.method||n.method,r=Neaux.Object.isNative(n)?(f.data||this.data):n,q=Neaux.Function.bind(this.responseHandler,this),m=f.contentType||this.contentType||n.enctype,j=f.charset||this.charset,o=f.timeout||this.timeout,g=f.iframe||this.iframe,e={};if(!l){throw new Error("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")}if(!h){throw new Error("Neaux::Connection.Request: A URL was not specified for the server request")}if(m&&Neaux.Array.indexOf(m,"/")<0){m=Neaux.Http.CONTENT_TYPE[m.toUpperCase()]||null}if(!Neaux.Object.isNative(n)&&m!=Neaux.Http.CONTENT_TYPE.UPLOAD){var p=n.getElementsByTagName("input");for(var k=0;k<p.length;k++){if(p[k].type.toLowerCase()=="file"){m=n.enctype=Neaux.Http.CONTENT_TYPE.UPLOAD;break}}}if(g||m==Neaux.Http.CONTENT_TYPE.UPLOAD){q=function(i){throw new Error("Connection::request - IFRAME is not implemented")}}else{if(!r&&l=="post"){r=f.data||this.data;if(r){m=m||Neaux.Http.CONTENT_TYPE.QUERY_STRING;if(Neaux.Object.isNative(r)){m==Neaux.Http.CONTENT_TYPE.JSON;r=Neaux.Object.encodeJson(r)}if(m&&j){m+=";charset="+j}}else{throw new Error("Neaux::Connection.Request - No Data provided for POST request")}}}if(m){e["content-type"]=m}return Neaux.Http.request(h,l,q,r,e)},get:function(e){e=e||{};e.method="get";this.request(e)},post:function(e){e=e||{};e.method="post";this.request(e)},responseHandler:function(e){var f=e.getReadyState();if(f==Neaux.Http.STATES.HEADERS_RECEIVED){this.dispatchEvent(b.INITIALIZE,e)}else{if(f==Neaux.Http.STATES.DONE){if(e.isOK()){this.dispatchEvent(b.SUCCESS,e)}else{this.dispatchEvent(b.FAILURE,e)}this.dispatchEvent(b.COMPLETE,e)}}},toString:function(){return"[Neaux.Connection]"}});Neaux.register("connection","connection.js","20100429","0.5-3.00")})();
(function(){var b=Neaux.Function,e=Neaux.Html;Neaux.Easing={linear:function(h,g,j,i){return(j*h/i+g)},sinusoidal:function(h,g,j,i){return g+((-Math.cos((h/i)*Math.PI)/2)+0.5)*j}};var d={IDLE:0,INIT:1,START:2,CHANGE:4,DONE:8};var c={IN:0,OUT:1};var f={START:"start",FINISH:"finish"};var a=["target","property","from","to","units","direction","duration","rate","delay","easing","tween"];Neaux.Transition=Neaux.Class().Extend(Neaux.EventTarget).Events(f).Params(a).Implement({m_target:null,m_property:null,m_count:null,m_total:null,m_interval:null,m_timer:null,direction:c.IN,duration:1000,rate:30,easing:Neaux.Easing.sinusoidal,__construct:function(){this.m_property=[];this.Super(arguments)},start:function(){if(!this.m_target){throw new Error("Transition::start - Transition target not specified")}if(!this.property){throw new Error("Transition::start - No transition properties were specified")}var g=this.delay||0;b.delay(this.doStart,g,this);return this},doStart:function(){this.dispatchEvent(f.START);this.m_count=0;this.m_total=Math.ceil(this.duration/1000*this.rate);this.m_from=(this.direction==c.IN)?0:1;this.m_delta=(this.direction==c.IN)?1:-1;if(!this.from){this.from=0}if(!this.to){this.to=1}this.delta=this.to-this.from;this.m_interval=1000/this.rate;this.m_timer=b.repeat(this.tweenHandler,this.m_interval,this)},tweenHandler:function(){if(++this.m_count>=this.m_total){clearInterval(this.m_timer);this.m_timer=null}var g=this.easing(this.m_count,this.m_from,this.m_delta,this.m_total);var h={};h[this.property]=parseFloat(this.from)+parseFloat(this.delta*g);e.setStyle(this.m_target,h,true);if(this.m_count>=this.m_total){this.dispatchEvent(f.FINISH)}},__paramHandler:function(g){if(g.target){if(!(this.m_target=$ID(this.target))){throw new Error("Transition::set - invalid target parameter specified")}}if(g.property){}if(g.easing&&typeof g.easing!="function"){throw new Error("Transition::set - easing parameter must be a function")}},toString:function(){return"[Neaux.Transition]"}});Neaux.merge(Neaux.Transition,d,c);Neaux.register("transition","transition.js","20100611","0.5-3.02")})();
(function(){var c=Neaux.Object,e=Neaux.Dom;var a={INITIALIZE:"initialize",ATTACH:"attach",DETACH:"detach"};var d="element";Neaux.Component=Neaux.Class().Extend(Neaux.EventTarget).Events(a).Params(d).Implement({m_element:null,__construct:function(){if(this.element){this.attach(this.element)}Neaux.Function.delay(function(){this.dispatchEvent(a.INITIALIZE)},0,this)},getElement:function(){return this.m_element},create:function(f){this.m_element=e.createElement(f);return this},attach:function(g){var f=$ID(g);if(!f||!c.isHtmlElement(f)){throw new Error("Component::attach - element not found or yielded multiple elements")}if(this.m_element){this.detach()}if(f.__NWC__){throw new Error("Component::attach - component may only attach to single html element")}f.__NWC__=this;this.m_element=f;this.dispatchEvent(a.ATTACH);return this},detach:function(){if(this.m_element){delete this.m_element;this.dispatchEvent(a.DETACH)}return this},create:function(){},toString:function(){return"[Neaux.Component]"}});var b={};Neaux.register("component","component.js","20100601","0.5-3.02")})();
(function(){var a={};var b="";Neaux.Container=Neaux.Class().Extend(Neaux.Component).Events(a).Params(b).Implement({__construct:function(){this.Super(arguments)},toString:function(){return"[Neaux.Container]"}});Neaux.register("container","container.js","20100420","0.5-3.00")})();
(function(){var c={RESET:"reset",SUBMIT:"submit",VALIDATE:"validate",COMPLETE:"complete"};var b="action,method";Neaux.Form=Neaux.Class().Extend(Neaux.Container).Events(c).Params(b).Implement({xhr:null,__construct:function(){this.addListener("attach",function(){$ON(this.getElement(),"submit,reset",[this,a.handleEvents]);if(this.action){this.getElement().action=this.action}if(this.method){this.getElement().method=this.method}});this.Super(arguments)},reset:function(){throw new Error("Form::reset not implemented")},submit:function(){throw new Error("Form::submit not implemented")},toString:function(){return"[Neaux.Form]"}});var a={handleEvents:function(d){switch(d.getType()){case"submit":this.dispatchEvent(c.SUBMIT);if(this.hasListener(c.COMPLETE,true)){if(!this.xhr){this.xhr=new Neaux.Connection({form:this.getElement(),oncomplete:Neaux.Function.bind(a.handleEvents,this)})}this.xhr.request();return false}break;case"complete":this.dispatchEvent(c.COMPLETE,d);break;default:throw new Error("Unimplemented or unsupported event")}}};Neaux.register("form","form.js","20100510","0.5-3.01")})();

