var sugar={sweeten:function(c,b){if(!isObject(c)){return false}if(c.nodeName.substring(0,1)=="#"){return false}if(isTrue(b)){sugar.sweeten(c);for(var a=0;a<c.childNodes.length;a++){sugar.sweeten(c.childNodes[a],true)}return c}c.emptyNode=function(){var e=this.childNodes.length;for(var d=0;d<e;d++){this.removeChild(this.childNodes[0])}return this};c.innerXHTML=function(e){var h,j;this.emptyNode();var h=sugar.createXElement("div",e);if(isString(h)){var d=document.createTextNode(h);this.appendChild(d)}else{if(isObject(h)){sugar.sweeten(h,true);j=h.childNodes.length;for(var g=0;g<j;g++){this.appendChild(h.childNodes[0])}}}return this};c.replaceXHTML=function(e){var h,j;var h=sugar.createXElement("div",e);if(isString(h)){var d=document.createTextNode(h);this.parentNode.insertBefore(d,this)}else{if(isObject(h)){sugar.sweeten(h,true);j=h.childNodes.length;for(var g=0;g<j;g++){this.parentNode.insertBefore(h.childNodes[0],this)}}}this.parentNode.removeChild(this);return true};c.appendXHTML=function(e){var h,j;var h=sugar.createXElement("div",e);if(isString(h)){var d=document.createTextNode(h);this.appendChild(d)}else{if(isObject(h)){sugar.sweeten(h,true);j=h.childNodes.length;for(var g=0;g<j;g++){this.appendChild(h.childNodes[0])}}}return true};c.remote_innerXHTML=function(d,h,g){var e=function(){};var i=new Array();if(isFunction(g)){e=g}else{if(isArray(g)){i=h}}if(isFunction(h)){e=h}else{if(isArray(h)){i=h}}sugar.yonder(d,i,function(j){c.innerXHTML(j);e()});return this};c.remote_replaceXHTML=function(d,h,g){var e=function(){};var i=new Array();if(isFunction(g)){e=g}else{if(isArray(g)){i=h}}if(isFunction(h)){e=h}else{if(isArray(h)){i=h}}sugar.yonder(d,i,function(j){c.replaceXHTML(j);e()});return this};c.remote_appendXHTML=function(d,h,g){var e=function(){};var i=new Array();if(isFunction(g)){e=g}else{if(isArray(g)){i=g}}if(isFunction(h)){e=h}else{if(isArray(h)){i=h}}sugar.yonder(d,i,function(j){c.appendXHTML(j);e()});return this}},yonder:function(g,i,h){var d=false;var c=false;var e=new Array();var a=30000;var k,b;var m=arguments[3]?arguments[3]:false;if(isFunction(h)){c=h;d=true}else{if(isArray(h)){e=h}}if(isFunction(i)){c=i;d=true}else{if(isArray(i)){e=i}}b=sugar.constructURL(g,e);if(g.startFunct&&isFunction(g.startFunct)){g.startFunct()}if(g.timeout&&isNumber(g.timeout)){a=Math.round(1000*g.timeout)}var l,n;if(g.endFunct&&isFunction(g.endFunct)){var n=g.endFunct}else{n=function(){}}l=function(o){c(o);n(o);return this};var j=setTimeout(function(){k.abort()},a);if(window.XMLHttpRequest){k=new XMLHttpRequest();if(d){k.onreadystatechange=function(){sugar.hither(k,l,j)}}if(m){k.open("POST",b,d);k.setRequestHeader("Content-Type","application/x-www-form-urlencoded");k.setRequestHeader("Content-length",m.length);k.send(m)}else{k.open("GET",b,d);k.send(null)}if(d){return true}else{clearTimeout(j);return k.responseText}}else{if(window.ActiveXObject){k=new ActiveXObject("Microsoft.XMLHTTP");if(k!=undefined){if(d){k.onreadystatechange=function(){sugar.hither(k,l,j)}}if(m){k.open("POST",b,d);k.setRequestHeader("Content-Type","application/x-www-form-urlencoded");k.setRequestHeader("Content-length",m.length);k.send(m)}else{k.open("GET",b,d);k.send()}if(d){return true}else{clearTimeout(j);return k.responseText}}}}return false},hither:function(c,a,d){if(c.readyState==4){if(c.status==200){clearTimeout(d);var b=c.responseText;a(b)}}},constructURL:function(c,g){var a;var e=new Date();var d="&"+e.getTime();if(isString(c)){a=c}else{if(isObject(c)){a=c.url;if(isArray(c.initPairs)){for(var b in c.initPairs){d+="&"+escape(b)+"="+escape(c.initPairs[b])}}}else{return this}}if(isArray(g)){for(var b in g){d+="&"+escape(b)+"="+escape(g[b])}}if(a.indexOf("?")==-1){a+="?"+d.substring(1)}else{a+=d}return a},createXElement:function(c,k,j){k=k.replace(/^\s*|\s*$/g,"");var l=k.substring(0,1);var a=k.substring(k.length-1);if(l!="<"||a!=">"){return false}if(!isString(c)){return false}k="<"+c+">"+k+"</"+c+">";if(window.ActiveXObject){var m=new ActiveXObject("Microsoft.XMLDOM");m.async="false";m.loadXML(k)}else{var b=new DOMParser();var m=b.parseFromString(k,"text/xml")}m=m.documentElement;if(j&&j!=undefined){return m}var e=m.nodeName;elem=document.createElement(e);for(var h=0;h<m.attributes.length;h++){var p=m.attributes[h].name;var d=m.attributes[h].value;o(elem,p,d)}try{elem=n(elem,m)}catch(g){return false}if(elem.style!=undefined){elem.style.cssText=elem.style.cssText||""}return elem;function n(s,w){for(var u=0;u<w.childNodes.length;u++){var v=w.childNodes[u];var x=v.nodeName;if(x=="#text"){if(s.nodeName.toLowerCase()=="script"){stubborn(function(){s.text+=v.nodeValue},function(){s.textContent+=v.nodeValue})}else{var q=document.createTextNode(v.nodeValue);s.appendChild(q)}}else{var q=document.createElement(x);for(var t=0;t<v.attributes.length;t++){var y=v.attributes[t].name;var r=v.attributes[t].value;o(q,y,r)}s.appendChild(n(q,v))}}if(s.style!=undefined){s.style.cssText=s.style.cssText||""}return s}function o(v,x,u){v.setAttribute(x,u);if(x.toLowerCase()=="style"){var q=u.split(";");var w,r,t;for(var s=0;s<q.length;s++){w=q[s].split(":");if(!isTrue(w[0])||isUndefined(w[1])){continue}r=w[0].toString().trim().camelize();t=w[1].toString().trim();v.style[r]=t}return true}if(browserName()=="ie"){switch(x.toLowerCase()){case"href":v.href=u;break;case"class":v.setAttribute("className",u);break;case"for":v.setAttribute("htmlFor",u);break;case"onclick":v.onclick=new Function(u);break;case"onmouseover":v.onmouseover=new Function(u);break;case"onmouseout":v.onmouseout=new Function(u);break;case"onmousedown":v.onmousedown=new Function(u);break;case"onmouseup":v.onmouseup=new Function(u);break;case"onfocus":v.onfocus=new Function(u);break;case"onblur":v.onblur=new Function(u);break;case"onabort":v.onabort=new Function(u);break;case"onerror":v.onerror=new Function(u);break;case"onload":v.onload=new Function(u);break;case"onunload":v.onunload=new Function(u);break;case"onchange":v.onchange=new Function(u);break;case"onsubmit":v.onsubmit=new Function(u);break;case"onreset":v.onreset=new Function(u);break;case"onselect":v.onselect=new Function(u);break;case"onkeypress":v.onkeypress=new Function(u);break}}return true}},ServerManager:function(a){this.url=a;this.initPairs=new Array();this.startFunct=new Function();this.endFunct=new Function();this.timeout=30000},remoteFunction:function(){var manager=arguments[0];var varNames=new Array();for(var i=1;i<arguments.length;i++){varNames[i-1]=arguments[i]}return function(){var varPairs=new Array();var varString="";for(var i in varNames){if(arguments[i]!=undefined){varPairs[varNames[i]]=arguments[i];varString+=", "+varNames[i]}}varString=varString.substring(2);try{eval("var f=function("+varString+"){"+sugar.yonder(manager,varPairs).trim()+"}");return f.apply(this,arguments)}catch(err){return false}}}};function CreateObject(b){function a(){}a.prototype=b;return new a()}Object.extend=function(a,b){for(property in b){a[property]=b[property]}return a};function stubborn(){var d,a;for(var b=0;b<arguments.length;b++){a=arguments[b];if(!isFunction(a)){continue}try{d=a()}catch(c){continue}return d}return false}function isArray(b){return isObject(b)&&b.constructor==Array}function isAlien(b){return isObject(b)&&typeof b.constructor!="function"}function isArray(b){return isObject(b)&&b.constructor==Array}function isBoolean(b){return typeof b=="boolean"}function isEmpty(c){var b,a;if(isObject(c)){for(b in c){a=c[b];if(isUndefined(a)&&isFunction(a)){return false}}}return true}function isFunction(b){return typeof b=="function"}function isNull(b){return b===null}function isNumber(b){return typeof b=="number"&&isFinite(b)}function isObject(b){return(b&&typeof b=="object")||isFunction(b)}function isString(b){return typeof b=="string"}function isUndefined(b){return typeof b=="undefined"}function isTrue(b){return b!=undefined&&(b==true||b!=0)}Object.extend(String.prototype,{camelize:function(){var d=this.split("-");if(d.length==1){return d[0]}var b=this.indexOf("-")==0?d[0].charAt(0).toUpperCase()+d[0].substring(1):d[0];for(var c=1,a=d.length;c<a;c++){var e=d[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}return b},trim:function(){return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1")}});function browserName(){if(navigator.appName=="Microsoft Internet Explorer"){var a="ie"}else{if(navigator.appName=="Netscape"){var a="nav"}else{var a=-1}}return a};