var Core={version:1.5};var userAgent=navigator.userAgent.toLowerCase();Core.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};if(typeof(console)=="undefined"){try{console={log:function(){}}}catch(e){}}if(typeof(isIE)=="undefined"){isIE=Core.browser.msie}if(typeof(isMoz)=="undefined"){isMoz=Core.browser.mozilla}Array.prototype.indexOf=function(b){var a=this.length;while(--a>-1){if(this[a]==b){return a}}return a};Array.prototype.indexOfInvariant=function(b){var a=this.length;while(--a>-1){if(this[a].toString().invariantCompare(b.toString())==0){return a}}return a};Array.prototype.swapIndex=function(a,d){var c=this[a],b=this[d];this[a]=b;this[d]=c;return this};Array.prototype.swapElements=function(c,b){var a=this.indexOf(c),d=this.indexOf(b);if(a>-1&&d>-1){return this.swapIndex(a,d)}return null};Array.prototype.add=function(a){this.push(a);return a};Array.prototype.addRange=function(c){var b=this;c.foreach(function(a){b.add(c)});return this};Array.prototype.remove=function(b){var a=this.indexOf(b);if(a!=-1){this.splice(a,1)}};Array.prototype.replace=function(a,c){var b=this.indexOf(a);if(b!=-1){this.splice(b,1,c)}};Array.prototype.contains=function(b){var a=this.length;while(--a>-1){if(this[a]==b){return true}}return false};Array.prototype.find=function(a){if(typeof(a)=="function"){var b=-1;while(++b<this.length){if(a(this[b])){return this[b]}}}return null};Array.prototype.findAll=function(a){var c=[];if(typeof(a)=="function"){for(var b=0;b<this.length;b++){if(a(this[b])){c.add(this[b])}}}return c};Array.prototype.foreach=function(b){if(typeof(b)=="function"){for(var a=0;a<this.length;a++){b(this[a],a)}}};Array.prototype.trueForAny=function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return true}}return false};Array.prototype.copy=function(f,d){var a=[];var b=f;var g=0;while(b<d){if(b>=this.length){break}a.push(this[b]);b++}return a};Array.prototype.trueForAll=function(b){for(var a=0;a<this.length;a++){if(this[a]!=b){return false}}return true};Array.prototype.match=function(a){if(typeof(a)=="function"){for(var b=0;b<this.length;b++){if(a(this[b])){return true}}}return false};Array.prototype.toElements=function(){var b=[];for(var c=0;c<this.length;c++){var d=$(this[c]);if(!isNull(d)){b.add(d)}}return b};Array.prototype.clear=function(){this.length=0};var $A=Array.from=function(c){if(!c){return[]}if(c.toArray){return c.toArray()}else{var b=[];for(var a=0;a<c.length;a++){b.push(c[a])}return b}};String.prototype.formatNumber=function(a,b,d){var c=this;c=c.replace(new RegExp("\\"+d+"+","g"),"");if(b!="."){c=c.replace(new RegExp("\\"+b+"+","g"),".")}var f=c.split(".");if(f.length==2){f[1]=f[1].substring(0,a)}return f.join(".")};String.prototype.toURI=function(){try{return encodeURIComponent(this)}catch(a){return this}};String.prototype.printf=function(){var a=Array.from(arguments);if(isArray(arguments[0])){a=arguments[0]}return this.replace(/\{{1}\d+\}{1}/ig,function(f){var d=f.toString();var c=parseInt(d.substr(1,d.length-2));var b=a[c]||"";return b})};String.prototype.dup=function(c){var a=0;var b="";while(++a<=c){b+=this}return b};String.prototype.fromURI=function(){if(this==null||this==""){return""}return decodeURIComponent(this)};String.prototype.surround=function(a,b){return a+this+b};String.prototype.isNumber=function(){if(this==null||this==""){return false}var a=new RegExp("^[\\d\\.\\-]+$");return a.test(this)};String.prototype.invariantCompare=function(a){if(this.toLower()>a.toLower()){return 1}else{if(this.toLower()<a.toLower()){return -1}else{return 0}}};String.prototype.inArray=function(a){return a.contains(this)};String.prototype.isDate=function(){var c=["^\\d{1,2}[\\s\\S]{1}\\d{1,2}[\\s\\S]{1}\\d{4}\\s*[\\d\\.\\:UTCGM\\s]*$","^\\d{4}[\\s\\S]{1}\\d{1,2}[\\s\\S]{1}\\d{1,2}\\s*[\\d\\.\\:UTCGM\\s]*$"];for(var b=0,a=arguments.length;b<a;++b){c.push(arguments[b])}var d=new Function("pattern","var re=new RegExp (pattern);return re.test('"+escape(this)+"');");return c.match(d)};String.prototype.splitEx=function(){var c=this;if(arguments.length==0){return[c]}var f=arguments[0];if(arguments.length>1){for(var d=1;d<arguments.length;d++){var b=arguments[d];c=c.replace(b,f)}}return c.split(f)};String.prototype.splitPairs=function(l,j){var g=this.split(l);var a=new Object;for(var d=0;d<g.length;d++){var f=g[d].split(j);if(f.length!=0){var c=f[0];var b=(f.length>1)?f[1]:null;a[c]=b}}return a};String.prototype.toDateEx=function(r,p,n){var b=n.splitEx(r,p," ");var a=this.splitEx(r,p," ");var o=function(){for(var d=0;d<arguments.length;d++){var m=b.indexOf(arguments[d]);if(m!=-1){return m}}return -1};var g=[];g.d=o("d","dd");g.M=o("M","MM");g.y=o("y","yy","yyyy");g.h=o("h","hh");g.m=o("m","mm");g.s=o("s","ss");var f=function(d){var m=g[d];if(m==-1){return 0}else{return a[m]}};var k,c,l,i,j,t;k=f("d");j=f("M");l=f("y");i=f("h");c=f("m");t=f("s");if([l,j,k].trueForAny(0)){return null}else{return new Date(l,j-1,k,i,c,t)}};String.prototype.toDate=function(a){return this.toDateEx("/",":",a)};String.prototype.toLower=function(){return this.toLowerCase()};String.prototype.toUpper=function(){return this.toUpperCase()};String.prototype.equals=function(a){if(isNull(a)){a=""}if(isArray(a)){var c=this;var b=false;a.foreach(function(d){if(c.equals(d)){b=true}});return b}return(this.toLower()==a.toString().toLower())};String.prototype.startsWith=function(a){if(isNull(a)){a=""}return(this.substring(0,a.length).toLower()==a.toLower())};String.prototype.endsWith=function(a){if(isNull(a)){a=""}return this.substr(this.length-a.length).toLower()==a.toLower()};String.prototype.contains=function(a){if(isNull(a)){a=""}return(this.toLower().indexOf(a.toLower())!=-1)};String.prototype.trimEnd=function(a){if(this.length>0&&this.substr(this.length-1)==a){return this.substring(0,this.length-1)}return this};String.prototype.Trim=function(){return this.replace(/\s+$|^\s+/g,"")};String.prototype.RTrim=function(){return this.replace(/^\s+/,"")};String.prototype.LTrim=function(){return this.replace(/\s+$/,"")};String.prototype.truncate=function(b,a){var c="...";if(a!=undefined){c=a}if(this.length<=b){return this}else{return this.substring(0,b)+c}};String.prototype.padLeft=function(b,a){if(this.length>=b){return this}return a.dup(b-this.length)+this};String.prototype.padRight=function(b,a){if(this.length>=b){return this}return this+a.dup(b-this.length)};Number.prototype.round=function(c){var d=this;if(c==undefined){c=2}var b=(d<0)?-1:1;var f=Math.pow(10,c);var a=Math.abs(d);a=Math.floor((a*f)+0.5000001)/f;if(b<0){a=a*-1}return a};Number.prototype.formatBytes=function(a){var b=2<<29;var g=2<<19;var f=2<<9;if(a==undefined){a=2}var c=this;if(c<0){throw new Error("formatBytes(precision): Negative this not allowed in format_bytes.")}var d="byte";if(c>b){c/=b;d="Gb"}else{if(this>g){c/=g;d="Mb"}else{if(this>f){c/=f;d="Kb"}}}return c.round(a).toLocaleString()+" "+d};var Now=function(){return new Date()};Date.prototype.shortDate=function(){var a=new String();a+=this.getDate()+"/";a+=(this.getMonth()+1)+"/";a+=this.getFullYear();return a};Date.prototype.format=function(a){var c=a,d=(this.getMonth()+1).toString(),b=this.getFullYear().toString();c=c.replace(/y+/g,b);c=c.replace(/M{2,}/g,d.padLeft(2,"0"));c=c.replace(/M{1}/g,d);c=c.replace(/d{2,}/g,this.getDate().toString().padLeft(2,"0"));c=c.replace(/d{1}/g,this.getDate());c=c.replace(/h{2,}/g,this.getHours().toString().padLeft(2,"0"));c=c.replace(/h{1}/g,this.getHours());c=c.replace(/m{2,}/g,this.getMinutes().toString().padLeft(2,"0"));c=c.replace(/m{1}/g,this.getMinutes());c=c.replace(/s{2,}/g,this.getSeconds().toString().padLeft(2,"0"));c=c.replace(/s{1}/g,this.getSeconds());return c};Function.prototype.bind=function(){var a=this,c=$A(arguments),b=c.shift();return function(){return a.apply(b,c.concat($A(arguments)))}};Function.prototype.bindAsEventListener=function(c){var a=this,b=$A(arguments),c=b.shift();return function(d){return a.apply(c,[(d||window.event)].concat(b).concat($A(arguments)))}};Function.prototype.getName=function(){var a=this.arguments.callee;if(isNullString(a)){return"undefined"}a=a.substr("function ".length);a=a.substr(0,a.indexOf("("));return a.toString().Trim()};RegExp.escape=function(b){if(!arguments.callee.sRE){var a=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];arguments.callee.sRE=new RegExp("(\\"+a.join("|\\")+")","g")}return b.replace(arguments.callee.sRE,"\\$1")};var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};var ControlBase={element:null,bindToElement:function(a){this.element=$(a);this.element.owner=this},bindOptions:function(a){for(prop in a){if(!isNull(this[prop])){this.assignValue(prop,a[prop])}}},bindAttributes:function(){if(isNull(this.element)){return}var g=this.element.attributes;for(var c=0,d=g.length;c<d;c++){var b=g[c];try{this.setProperty(b.nodeName,b.nodeValue)}catch(f){}}},inherits:function(b,a){this.bindToElement(b);this.bindOptions(a);this.bindAttributes()}};function extend(a,f,c,b){var c=(c==undefined)?true:c;var b=(b==undefined)?false:b;for(var d in f){if(d=="className"){a.className=f[d];continue}if(("hasOwnProperty" in f)&&("hasOwnProperty" in a)){if(!f.hasOwnProperty(d)&&c){continue}if(a.hasOwnProperty(d)&&!b){continue}}try{a[d]=f[d]}catch(g){}}return a}Object.prototype.extend=function(a){return Object.extend(this,a)};Object.extend=function(a,b){return extend(a,b)};Object.prototype.keys=function(a){var b=[];for(var c in this){if(a&&typeof(this[c])=="function"){continue}b.push(c)}return b};Object.prototype.hasProperty=function(b){var a=this.keys();return(a.indexOfInvariant(b)!=-1)};Object.prototype.setProperty=function(b,a){for(var c in this){if(c.invariantCompare(b)==0){this.assignValue(c,a)}}};Object.prototype.assignValue=function(b,a){if(isNull(this[b])){return}if(isBool(this[b])&&isString(a)){this[b]=(a.toLower()=="true")}else{this[b]=a}};var $=getObj=function(d){if(arguments.length>1){for(var a=0,c=[],b=arguments.length;a<b;a++){c.push($(arguments[a]))}return c}if(typeof d=="string"){return document.getElementById(d)}else{if(typeof d=="object"){return d}else{return null}}};var $V=function(c,b){var a=$(c).value;if(isNullString(a)){a=b||null}return a};function formatInt(c){var a=new Number(c).toLocaleString();if(navigator.systemLanguage=="it"){var b=a.indexOf(",");if(b!=-1){a=a.substring(0,b)}}return a}var $D=function DOMElement(a){var a=$(a);if(!a||isFunction(a.getElements)){return a}private_getElementsOf=function(c,f,b){if(f.nodeType==1){if(b==null){c.add(f)}else{if(b(f)){c.add(f)}}for(var d=0;d<f.childNodes.length;d++){private_getElementsOf(c,f.childNodes[d],b)}}};a.getElements=function(){var b=[];private_getElementsOf(b,this,null);return b};a.getElementsByClassName=function(d){var c=[];d=d.toLower();var b=function(f){if(typeof(f.className)!="undefined"){return(f.className.toLower()==d)}return false};private_getElementsOf(c,this,b);return c};a.getElementsByAttribute=function(d,f){var c=[];var b=function(g){var i=g.getAttribute(d,0);if(i!=null){if(isNull(f)){return true}if(typeof(f)=="string"){return(i.equals(f))}else{return i=f}}return false};private_getElementsOf(c,this,b);return c};a.getElementsByAttributePresent=function(d){var c=[];var b=function(f){return(!f.attributes.getNamedItem(d))?false:true};private_getElementsOf(c,this,b);return c};return a};window.getElementsByClassName=document.getElementsByClassName=function(c,a){var b=new DOMElement(getObj(a)||document.body);return b.getElementsByClassName(c)};window.getElementsByAttribute=document.getElementsByAttribute=function(b,c,a){var d=new DOMElement(getObj(a)||document.body);return d.getElementsByAttribute(b,c)};function isObject(a){return a instanceof Object}function isArray(a){return a instanceof Array}function isFunction(a){return(typeof(a)=="function")}function isString(a){return(typeof(a)=="string")}function isDate(a){return a instanceof Date}function isBool(a){return(typeof(a)=="boolean")}function isNull(a){return(a==null)}function isNullString(a){return(isNull(a)||a.toString()=="")}function isNum(a){return(!isNull(a)&&((a instanceof Number)||(a.toString()).match(/^[0-9]+$/gi)))}function purge(g){var c=g.attributes,f,b,j;if(c){b=c.length;while(--f>=0){j=c[f].name;if(typeof g[j]==="function"){g[j]=null}}}c=g.childNodes;if(c){b=c.length;while(--f>=0){purge(g.childNodes[f])}}}var $E={getElements:function(c){var d=$(c);var a=[];for(var b=0;b<d.childNodes.length;b++){var f=d.childNodes[b];if(f.nodeType==1){a.add(f)}}return a},insertAfter:function(c,a){var b=$(a).parentNode;if(b.lastChild==a){return b.appendChild(c)}else{return b.insertBefore(c,a.nextSibling)}},getElementsByClassName:function(c,f){var d=$(c);var a=[];for(var b=0;b<d.childNodes.length;b++){var g=d.childNodes[b];if(g.nodeType==1&&g.className&&g.className.toLower()==f.toLower()){a.add(g)}}return a},getChildElementsByClassName:function(a,d){var c=$(a);var b=new DOMElement(c);return b.getElementsByClassName(d)},clearChilds:function(b){var c=$(b);if(isNull(c)){return}for(var a=(c.childNodes.length-1);a>=0;a--){c.removeChild(c.childNodes[a])}},appendContent:function(a,b){var c=$(a);this.clearChilds(c);if(isString(b)){c.innerHTML=b}else{c.appendChild(b)}return c},classover:function(c,b,a){var d=$(c);if(!a){a=b+"_sel"}d.className=b;d.onmouseover=new Function("this.className='"+a+"'");d.onmouseout=new Function("this.className='"+b+"'")},value:function(d){if(isNull($(d))){return}var c=(arguments.length>1);if($(d).nodeName.invariantCompare("select")==0){var a=$(d).options;if(c){for(var b=0;b<a.length;b++){if(a[b].value.invariantCompare(arguments[1])==0){a[b].selected=true}}}return a[$(d).selectedIndex].value}else{if(c){$(d).value=arguments[1]}return $(d).value}},visible:function(a){return this.getStyle(a,"display")!="none"},hideContextmenu:function(){var b=(arguments.length==0)?document:$(arguments[0]);var a=function(d){try{window.event.preventDefault()}catch(c){}return false};b.oncontextmenu=a},hover:function(b,a,c){this.style($(b),a);$(b).onmouseover=new Function("$E.style(this,'"+c+"')");$(b).onmouseout=new Function("$E.style(this,'"+a+"')")},elementContains:function(b,a){if(isNull(b)||isNull(a)){return false}while(!isNull(b)){if(b==a){return true}b=b.parentNode}return false},set:function(f,d){if(isArray(f)){var b=f.length;while(--b>=0){this.set(f[b],d)}return f}var a=d.split(";");var f=$(f);for(var b=0;b<a.length;b++){var j=a[b].split(":");var c=j[0];var g=(j[1])?j[1]:"";f[c]=g}return f},style:function(g,a){if(isArray(g)){var d=g.length;while(--d>=0){this.style(g[d],a)}return}var k=function(n){var r=n.split("-");var p="";for(var o=0;o<r.length;o++){var m=r[o].toLower();if(o>0){var s=m.charAt(0);var t=m.substr(1);m=s.toUpper()+t.toLower()}p+=m}return p};var c=a.split(";");for(var d=0;d<c.length;d++){var f=c[d].split(":");var b=k(f[0]);var l=(f[1])?f[1]:"";try{$(g).style[b]=l}catch(j){}}},getStyle:function(f,d){if(isArray(f)){var c=f.length,b=[];while(--c>=0){b.add(this.style(f[c],d))}return b}f=$(f);try{if(f.currentStyle){return(f.currentStyle[d])}if(document.defaultView.getComputedStyle){return(document.defaultView.getComputedStyle(f,"")[d])}}catch(f){}return null},swap:function(){var d=false;for(var c=0;c<arguments.length;c++){var b=arguments[c];d=this.visible(b);if(d){this.hide(b)}else{this.show(b)}}return !d},swapVis:function(){for(var c=0;c<arguments.length;c++){var b=arguments[c];if(this.getStyle(b,"visibility")=="hidden"){this.vShow(b)}else{this.vHide(b)}}},vShow:function(a){this.style(a,"visibility:visible")},vHide:function(a){this.style(a,"visibility:hidden")},_inline_tags:["a","span","img"],_block_tags:["div"],show:function(){var b="";if(arguments.length>1){this.show(Array.from(arguments))}else{if(arguments.length==1){var g=arguments[0];if(isArray(g)){for(var d=0;d<g.length;d++){var a=g[d];this.show(a)}}else{try{var f;if(g&&g.nodeName&&this._inline_tags.contains(g.nodeName.toLowerCase())){b="inline"}if(g&&g.nodeName&&this._block_tags.contains(g.nodeName.toLowerCase())){b="block"}getObj(g).style.display=b}catch(c){console.log(c)}}}}},showOne:function(d,c){for(var a=0;a<d.length;a++){var b=d[a];if(b==c){$E.show(b)}else{$E.hide(b)}}},showif:function(){var a=Array.from(arguments);if(a.length<2){return}var b=a.slice(0,a.length-1);if(a[a.length-1]){this.show(b)}else{this.hide(b)}},hide:function(){if(arguments.length>1){this.hide(Array.from(arguments))}else{if(arguments.length==1){var c=arguments[0];if(isArray(c)){for(var b=0;b<c.length;b++){this.hide(c[b])}}else{try{getObj(c).style.display="none"}catch(a){}}}}},showIf:function(a,b){if(b){this.show(a)}else{this.hide(a)}},cls:function(b,a){$(b).className=a},clsArray:function(d){var c=$(d).className.split(" ");var b=[];c.foreach(function(a){if(!isNullString(a)){b.push(a)}});return b},clsAdd:function(d,c){d=$(d);var b=this.clsArray(d);if(!b.contains(c)){b.push(c)}d.className=b.join(" ")},clsRemove:function(d,c){d=$(d);var b=this.clsArray(d);if(b.contains(c)){b.remove(c)}d.className=b.join(" ")},clsIf:function(c,d,b,a){c=$(c);if(d){this.clsRemove(c,a);this.clsAdd(c,b)}else{this.clsRemove(c,b);this.clsAdd(c,a)}},border:function(a,b){$(a).style.border=b},pointer:function(b){try{$(b).style.cursor="pointer"}catch(a){try{$(b).style.cursor="hand"}catch(c){}}},setWidth:function(a,b){$(a).style.width=this.pixelValueOf(b)},setHeight:function(a,b){$(a).style.height=this.pixelValueOf(b)},createText:function(c,b){var a=document.createTextNode(c);if(b){b.appendChild(a)}return a},create:function(b,a){var c=document.createElement(b);if(a){extend(c,a)}return c},createDiv:function(){return this.create("div",arguments[0]||null)},createSpan:function(){return this.create("span",arguments[0]||null)},createInput:function(){var a=this.create("input",arguments[0]||null);if(arguments[0]){extend(a,arguments[0])}return a},createImg:function(){return this.create("img",arguments[0])},createTable:function(b){var a=this.create("table",b);if(arguments[0]){extend(a,arguments[0])}a.addRow=function(){var c=this.insertRow(-1);if(arguments[0]){extend(c,arguments[0])}c.addCell=function(){var d=this.insertCell(-1);if(!isNull(arguments[0])){d.innerHTML=arguments[0]}return d};return c};return a},appends:function(d){var d=$(d);for(var c=1,b=arguments.length;c<b;++c){var a=arguments[c];if(isArray(a)){Array.foreach(function(g){$E.appends(d,g)})}else{var f=$(a);if(!isNull(f)){d.appendChild(f)}}}},addTr:function(a){return a.insertRow(-1)},addTd:function(a){return a.insertCell(-1)},addCells:function(f,d,a){for(var b=0;b<a.length;b++){var g=f.insertCell(-1);extend(g,d);g.innerHTML=a[b]}},unselectable:function(a){var b=$(a);if(b.style.setProperty){b.style.setProperty("-moz-user-select","none","")}else{b.unselectable="on";b.setAttribute("UNSELECTABLE","On")}},setOpacity:function(c,b){var c=$(c);try{c.style.filter="Alpha(Opacity="+b*100+")"}catch(a){}try{c.style.MozOpacity=b}catch(a){}try{c.style.KhtmlOpacity=b}catch(a){}},fadeOut:function(c,b,a,f){var g=$(c);var b=b||200;if(b<50){b==50}var a=a||1;if(a>1){a=1}this.setOpacity(g,a);if(a==0){this.hide(g);if(f){f(g)}}else{var d=function(){$E.fadeOut(g,b,a-0.1)};window.setTimeout(d,b)}},addHandler:function(c,a,b){var d=$(c);if(!d.attachEvent){d.addEventListener(a.slice(2),b,false)}else{d.attachEvent(a,b)}},removeHandler:function(c,a,b){var d=$(c);if(!d.detachEvent){d.removeEventListener(a.slice(2),b,false)}else{d.detachEvent(a,b)}},dim:function(a){var a=$(a);return{width:a.offsetWidth,height:a.offsetHeight}},pageOffset:function(b){var b=$(b),a=b.offsetLeft,c=b.offsetTop;while((b=b.offsetParent)!=null){a+=b.offsetLeft;c+=b.offsetTop}return{top:c,left:a}},windowOffset:function(d){var c=this.pageOffset(d),a=document.body;c.top+=a.scrollTop;c.left+=a.scrollLeft;return c},winSize:function(){var a=0,b=0;if(typeof(window.innerWidth)!="undefined"){a=window.innerWidth;b=window.innerHeight}else{if(typeof(document.documentElement.clientWidth)!="undefined"){a=document.documentElement.clientWidth;b=document.documentElement.clientHeight}else{if(typeof(document.body.clientWidth)!="undefined"){a=document.body.clientWidth;b=document.body.clientHeight}}}return{width:a,height:b}}};if(!window.attachEvent&&(typeof(Window)!="undefined")){Window.prototype.attachEvent=Document.prototype.attachEvent=HTMLElement.prototype.attachEvent=function(b,a){this.addEventListener(b.slice(2),a,false)};Window.prototype.detachEvent=Document.prototype.detachEvent=HTMLElement.prototype.detachEvent=function(b,a){this.removeEventListener(b.slice(2),a,false)}}location.getNameWithoutExtension=function(){var b=this.getName();var a=b.lastIndexOf(".");return b.substring(0,a)};location.getExtension=function(){var b=this.getName();var a=b.lastIndexOf(".")+1;if(a!=0){return b.substring(a)}};location.extractName=function(c){var a=c.lastIndexOf("/")+1;var b=(c.indexOf("?")!=-1);c=c.substring(a);if(b){c=c.substring(0,c.indexOf("?"))}return c};location.getName=function(){return this.extractName(this.href)};location.directoryName=function(){var a=this.currentDirectory();if(a.endsWith("/")){a=a.substring(0,a.lastIndexOf("/"))}a=a.substr(a.lastIndexOf("/")+1);return a};location.currentDirectory=function(){h=this.href;var a=h.lastIndexOf("/")+1;return h.substring(0,a)};location.baseDirectory=function(b){var d=b||["scripts","css","public","admin"];var g=this.currentDirectory().trimEnd("/");var f=g.split("/");if(isArray(d)){var c=-1;while(++c<d.length){var a=f.indexOfInvariant(d[c]);if(a!=-1){return f.copy(0,a).join("/")}}}return g};location.query=location.search;location.path=function(){var a=this.href;var b=a.indexOf("?");if(b!=-1){return a.substring(0,b)}return a};location.changeQuery=function(a){return this.path()+"?"+a};location.redirect=function(a){window.location=a};location.redirectQuery=function(a){this.redirect(this.changeQuery(a))};location.getRequestDict=function(){var a=new Dictionary();if(location.search.length!=0){a.fill(location.search.substr(1),"&","=")}return a};location.redir=function(){this.redirect(this.changeQuery(this.set(arguments)))};location.redirOut=function(b,a){this.redirect(b+"?"+this.set(a))};location.setUrl=function(){return this.changeQuery(this.set(arguments))};location.set=function(){var i=this.getRequestDict();var j=0;var f=[];var g=(arguments.length==1)?arguments[0]:arguments;while(j<g.length){var b=g[j].toString();j+=1;if(j<g.length){var a=g[j].toString();j+=1}else{break}f.add({key:b,value:a})}f.foreach(function(c){if(!isNullString(c.value)){if(i.item(c.key)!=null){i.setItem(c.key,c.value)}else{i.add(c.key,c.value)}}else{i.remove(c.key)}});return i.join("&","=")};location._request=null;location.request=function(){if(!isNull(location._request)){return location._request}location._request={};if(location.search.length!=0){q=location.search.substr(1);location._request=q.splitPairs("&","=")}return location._request};location.refresh=function(){window.location=this};var $L=window.location;var $GET=function(b,c){var a=$L.request()[b];if(isNullString(a)){a=c}return a};function Dictionary(){this.keys=[];this.values=[];this.add=function(a,b){this.keys.add(a.toString());this.values.add(b.toString())};this.item=function(b){var a=this.indexOf(b);if(a>-1){return this.values[a]}return null};this.setItem=function(b,c){var a=this.indexOf(b);if(a>-1){this.values[a]=c}};this.foreach=function(b){for(var a=0;a<this.keys.length;a++){b(this.keys[a],this.values[a])}};this.indexOf=function(a){return this.keys.indexOfInvariant(a)};this.remove=function(b){var a=this.indexOf(b);if(a>-1){this.keys.splice(a,1);this.values.splice(a,1)}};this.join=function(c,b){var a=[];this.foreach(function(f,d){a.add(f.toString()+b+d.toString())});return a.join(c)};this.fill=function(b,g,f){var d=b.split(g);for(var a=0;a<d.length;a++){var j=d[a];var c=j.split(f);if(!isNullString(c[1])){this.add(c[0],c[1])}}}}var Cookies=new Object();Cookies.get=function(f,d){var j=f+"=";var b=document.cookie.split(";");for(var g=0;g<b.length;g++){var k=b[g];while(k.charAt(0)==" "){k=k.substring(1,k.length)}if(k.indexOf(j)==0){var a=k.substring(j.length,k.length);if(a!=""){return a}}}return d};Cookies.set=function(c,d){var a="";var i=arguments[2];var f=(arguments[3])?arguments[3]:"/";if(i){if(!isNaN(new Number(i))){var b=new Date();b.setTime(b.getTime()+(i*24*60*60*1000));a="; expires="+b.toGMTString()}}var g=c+"="+d+a+"; path="+f;document.cookie=g};Cookies.remove=function(a){Cookies.set(a,"",-1)};var $C=Cookies;var KeyWatch=new Object();KeyWatch.keyPress=function(g,f){try{evt=(window.event&&window.event.keyCode)?window.event:g;var a=evt.which||evt.keyCode;var d=evt.target||evt.srcElement;for(var c=2;c<arguments.length;c++){if(a==arguments[c]&&isFunction(f)){f(d,a)}}}catch(b){alert("")}};KeyWatch.keyReturn=function(b,a){this.keyPress(b,a,13)};KeyWatch.setWatcher=function(f,b,a){var c=new Function("e","KeyWatch.keyPress(e,"+b+","+a+")");try{$(f).addEventListener("keypress",c,true)}catch(d){$(f).attachEvent("onkeypress",c)}};KeyWatch.removeWatcher=function(f,b,a){var c=new Function("e","KeyWatch.keyPress(e,"+b+","+a+")");try{$(f).removeEventListener("keypress",c,true)}catch(d){$(f).detachEvent("onkeypress",c)}};KeyWatch.keyCodes={RETURN:13,ESC:27};var $K=KeyWatch;function StringBuilder(){this.list=[];this.append=function(a){this.list.add(a);return this};this.appendLine=function(a){if(!isNullString(a)){return this.append(a).append("\r\n")}else{return this.append("\r\n")}};this.appendFormat=function(b){var a=Array.from(arguments);return this.append(b.printf(a.slice(1)))};this.appendLiteral=function(a){return this.appendFormat("'{0}'",a.replace("'",(arguments[1]||"''")))};this.toString=function(){return this.list.join((arguments[0]||""))}};
