function startLoading(){if($("content")){$("content").style.visibility="hidden";$("content").style.display="none"}if(document.getElementById("loading")){var ld=document.all;var ns4=document.layers;var ns6=document.getElementById&&!document.all;var ie4=document.all;if(ns4)ld=document.loading;else if(ns6)ld=document.getElementById("loading").style;else if(ie4)ld=document.all.loading.style;if(ld){ld.visibility="";ld.display=""}}} function stopLoading(){if(document.getElementById("loading")){var ld=document.all;var ns4=document.layers;var ns6=document.getElementById&&!document.all;var ie4=document.all;if(ns4)ld=document.loading;else if(ns6)ld=document.getElementById("loading").style;else if(ie4)ld=document.all.loading.style;else ld=document.getElementById("loading").style;if(ld){ld.visibility="hidden";ld.display="none"}}}var MooTools={version:"1.2.4",build:"0d9113241a90b9cd5643b926795852a2026710d4"}; var Native=function(k){k=k||{};var a=k.name;var i=k.legacy;var b=k.protect;var c=k.implement;var h=k.generics;var f=k.initialize;var g=k.afterImplement||function(){};var d=f||i;h=h!==false;d.constructor=Native;d.$family={name:"native"};if(i&&f)d.prototype=i.prototype;d.prototype.constructor=d;if(a){var e=a.toLowerCase();d.prototype.$family={name:e};Native.typize(d,e)}var j=function(n,l,o,m){if(!b||m||!n.prototype[l])n.prototype[l]=o;if(h)Native.genericize(n,l,b);g.call(n,l,o);return n};d.alias=function(n, l,p){if(typeof n=="string"){var o=this.prototype[n];if(n=o)return j(this,l,n,p)}for(var m in n)this.alias(m,n[m],l);return this};d.implement=function(m,l,o){if(typeof m=="string")return j(this,m,l,o);for(var n in m)j(this,n,m[n],l);return this};if(c)d.implement(c);return d};Native.genericize=function(b,c,a){if((!a||!b[c])&&typeof b.prototype[c]=="function")b[c]=function(){var d=Array.prototype.slice.call(arguments);return b.prototype[c].apply(d.shift(),d)}}; Native.implement=function(d,c){for(var b=0,a=d.length;b<a;b++)d[b].implement(c)};Native.typize=function(a,b){if(!a.type)a.type=function(c){return $type(c)===b}}; (function(){var a={Array:Array,Date:Date,Function:Function,Number:Number,RegExp:RegExp,String:String};for(var h in a)new Native({name:h,initialize:a[h],protect:true});var d={"boolean":Boolean,"native":Native,object:Object};for(var c in d)Native.typize(d[c],c);var f={Array:["concat","indexOf","join","lastIndexOf","pop","push","reverse","shift","slice","sort","splice","toString","unshift","valueOf"],String:["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split", "substr","substring","toLowerCase","toUpperCase","valueOf"]};for(var e in f)for(var b=f[e].length;b--;)Native.genericize(a[e],f[e][b],true)})();var Hash=new Native({name:"Hash",initialize:function(a){if($type(a)=="hash")a=$unlink(a.getClean());for(var b in a)this[b]=a[b];return this}}); Hash.implement({forEach:function(b,c){for(var a in this)if(this.hasOwnProperty(a))b.call(c,this[a],a,this)},getClean:function(){var b={};for(var a in this)if(this.hasOwnProperty(a))b[a]=this[a];return b},getLength:function(){var b=0;for(var a in this)if(this.hasOwnProperty(a))b++;return b}});Hash.alias("forEach","each");Array.implement({forEach:function(c,d){for(var b=0,a=this.length;b<a;b++)c.call(d,this[b],b,this)}});Array.alias("forEach","each"); function $A(b){if(b.item){var a=b.length,c=new Array(a);while(a--)c[a]=b[a];return c}return Array.prototype.slice.call(b)}function $arguments(a){return function(){return arguments[a]}}function $chk(a){return!!(a||a===0)}function $clear(a){clearTimeout(a);clearInterval(a);return null}function $defined(a){return a!=undefined}function $each(c,b,d){var a=$type(c);(a=="arguments"||a=="collection"||a=="array"?Array:Hash).each(c,b,d)}function $empty(){} function $extend(c,a){for(var b in a||{})c[b]=a[b];return c}function $H(a){return new Hash(a)}function $lambda(a){return $type(a)=="function"?a:function(){return a}}function $merge(){var a=Array.slice(arguments);a.unshift({});return $mixin.apply(null,a)}function $mixin(e){for(var d=1,a=arguments.length;d<a;d++){var b=arguments[d];if($type(b)!="object")continue;for(var c in b){var g=b[c],f=e[c];e[c]=f&&$type(g)=="object"&&$type(f)=="object"?$mixin(f,g):$unlink(g)}}return e} function $pick(){for(var b=0,a=arguments.length;b<a;b++)if(arguments[b]!=undefined)return arguments[b];return null}function $random(b,a){return Math.floor(Math.random()*(a-b+1)+b)}function $splat(b){var a=$type(b);return a?a!="array"&&a!="arguments"?[b]:b:[]}var $time=Date.now||function(){return+new Date};function $try(){for(var b=0,a=arguments.length;b<a;b++)try{return arguments[b]()}catch(c){}return null} function $type(a){if(a==undefined)return false;if(a.$family)return a.$family.name=="number"&&!isFinite(a)?false:a.$family.name;if(a.nodeName)switch(a.nodeType){case 1:return"element";case 3:return/\S/.test(a.nodeValue)?"textnode":"whitespace"}else if(typeof a.length=="number")if(a.callee)return"arguments";else if(a.item)return"collection";return typeof a} function $unlink(c){var b;switch($type(c)){case "object":b={};for(var e in c)b[e]=$unlink(c[e]);break;case "hash":b=new Hash(c);break;case "array":b=[];for(var d=0,a=c.length;d<a;d++)b[d]=$unlink(c[d]);break;default:return c}return b} var Browser=$merge({Engine:{name:"unknown",version:0},Platform:{name:window.orientation!=undefined?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!document.evaluate,air:!!window.runtime,query:!!document.querySelector},Plugins:{},Engines:{presto:function(){return!window.opera?false:arguments.callee.caller?960:document.getElementsByClassName?950:925},trident:function(){return!window.ActiveXObject?false:window.XMLHttpRequest?document.querySelectorAll? 6:5:4},webkit:function(){return navigator.taintEnabled?false:Browser.Features.xpath?Browser.Features.query?525:420:419},gecko:function(){return!document.getBoxObjectFor&&window.mozInnerScreenX==null?false:document.getElementsByClassName?19:18}}},Browser||{});Browser.Platform[Browser.Platform.name]=true;Browser.detect=function(){for(var b in this.Engines){var a=this.Engines[b]();if(a){this.Engine={name:b,version:a};this.Engine[b]=this.Engine[b+a]=true;break}}return{name:b,version:a}};Browser.detect(); Browser.Request=function(){return $try(function(){return new XMLHttpRequest},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})};Browser.Features.xhr=!!Browser.Request(); Browser.Plugins.Flash=function(){var a=($try(function(){return navigator.plugins["Shockwave Flash"].description},function(){return(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")})||"0 r0").match(/\d+/g);return{version:parseInt(a[0]||0+"."+a[1],10)||0,build:parseInt(a[2],10)||0}}(); function $exec(b){if(!b)return b;if(window.execScript)window.execScript(b);else{var a=document.createElement("script");a.setAttribute("type","text/javascript");a[Browser.Engine.webkit&&Browser.Engine.version<420?"innerText":"text"]=b;document.head.appendChild(a);document.head.removeChild(a)}return b}Native.UID=1;var $uid=Browser.Engine.trident?function(a){return(a.uid||(a.uid=[Native.UID++]))[0]}:function(a){return a.uid||(a.uid=Native.UID++)}; var Window=new Native({name:"Window",legacy:Browser.Engine.trident?null:window.Window,initialize:function(a){$uid(a);if(!a.Element){a.Element=$empty;if(Browser.Engine.webkit)a.document.createElement("iframe");a.Element.prototype=Browser.Engine.webkit?window["[[DOMElement.prototype]]"]:{}}a.document.window=a;return $extend(a,Window.Prototype)},afterImplement:function(b,a){window[b]=Window.Prototype[b]=a}});Window.Prototype={$family:{name:"window"}};new Window(window); var Document=new Native({name:"Document",legacy:Browser.Engine.trident?null:window.Document,initialize:function(a){$uid(a);a.head=a.getElementsByTagName("head")[0];a.html=a.getElementsByTagName("html")[0];if(Browser.Engine.trident&&Browser.Engine.version<=4)$try(function(){a.execCommand("BackgroundImageCache",false,true)});if(Browser.Engine.trident)a.window.attachEvent("onunload",function(){a.window.detachEvent("onunload",arguments.callee);a.head=a.html=a.window=null});return $extend(a,Document.Prototype)}, afterImplement:function(b,a){document[b]=Document.Prototype[b]=a}});Document.Prototype={$family:{name:"document"}};new Document(document); Array.implement({every:function(c,d){for(var b=0,a=this.length;b<a;b++)if(!c.call(d,this[b],b,this))return false;return true},filter:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++)if(d.call(e,this[b],b,this))c.push(this[b]);return c},clean:function(){return this.filter($defined)},indexOf:function(c,d){var a=this.length;for(var b=d<0?Math.max(0,a+d):d||0;b<a;b++)if(this[b]===c)return b;return-1},map:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++)c[b]=d.call(e,this[b],b,this);return c}, some:function(c,d){for(var b=0,a=this.length;b<a;b++)if(c.call(d,this[b],b,this))return true;return false},associate:function(c){var d={},b=Math.min(this.length,c.length);for(var a=0;a<b;a++)d[c[a]]=this[a];return d},link:function(c){var a={};for(var e=0,b=this.length;e<b;e++)for(var d in c)if(c[d](this[e])){a[d]=this[e];delete c[d];break}return a},contains:function(a,b){return this.indexOf(a,b)!=-1},extend:function(c){for(var b=0,a=c.length;b<a;b++)this.push(c[b]);return this},getLast:function(){return this.length? this[this.length-1]:null},getRandom:function(){return this.length?this[$random(0,this.length-1)]:null},include:function(a){if(!this.contains(a))this.push(a);return this},combine:function(c){for(var b=0,a=c.length;b<a;b++)this.include(c[b]);return this},erase:function(b){for(var a=this.length;a--;a)if(this[a]===b)this.splice(a,1);return this},empty:function(){this.length=0;return this},flatten:function(){var d=[];for(var b=0,a=this.length;b<a;b++){var c=$type(this[b]);if(!c)continue;d=d.concat(c== "array"||c=="collection"||c=="arguments"?Array.flatten(this[b]):this[b])}return d},hexToRgb:function(b){if(this.length!=3)return null;var a=this.map(function(c){if(c.length==1)c+=c;return c.toInt(16)});return b?a:"rgb("+a+")"},rgbToHex:function(d){if(this.length<3)return null;if(this.length==4&&this[3]==0&&!d)return"transparent";var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);b.push(c.length==1?"0"+c:c)}return d?b:"#"+b.join("")}}); Function.implement({extend:function(a){for(var b in a)this[b]=a[b];return this},create:function(b){var a=this;b=b||{};return function(d){var c=b.arguments;c=c!=undefined?$splat(c):Array.slice(arguments,b.event?1:0);if(b.event)c=[d||window.event].extend(c);var e=function(){return a.apply(b.bind||null,c)};if(b.delay)return setTimeout(e,b.delay);if(b.periodical)return setInterval(e,b.periodical);if(b.attempt)return $try(e);return e()}},run:function(a,b){return this.apply(b,$splat(a))},pass:function(a, b){return this.create({bind:b,arguments:a})},bind:function(b,a){return this.create({bind:b,arguments:a})},bindWithEvent:function(b,a){return this.create({bind:b,arguments:a,event:true})},attempt:function(a,b){return this.create({bind:b,arguments:a,attempt:true})()},delay:function(b,c,a){return this.create({bind:c,arguments:a,delay:b})()},periodical:function(c,b,a){return this.create({bind:b,arguments:a,periodical:c})()}}); Number.implement({limit:function(b,a){return Math.min(a,Math.max(b,this))},round:function(a){a=Math.pow(10,a||0);return Math.round(this*a)/a},times:function(b,c){for(var a=0;a<this;a++)b.call(c,a,this)},toFloat:function(){return parseFloat(this)},toInt:function(a){return parseInt(this,a||10)}});Number.alias("times","each"); (function(b){var a={};b.each(function(c){if(!Number[c])a[c]=function(){return Math[c].apply(null,[this].concat($A(arguments)))}});Number.implement(a)})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]); String.implement({test:function(a,b){return(typeof a=="string"?new RegExp(a,b):a).test(this)},contains:function(a,b){return b?(b+this+b).indexOf(b+a+b)>-1:this.indexOf(a)>-1},trim:function(){return this.replace(/^\s+|\s+$/g,"")},clean:function(){return this.replace(/\s+/g," ").trim()},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase()})},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return"-"+a.charAt(0).toLowerCase()})},capitalize:function(){return this.replace(/\b[a-z]/g, function(a){return a.toUpperCase()})},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},toInt:function(a){return parseInt(this,a||10)},toFloat:function(){return parseFloat(this)},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return a?a.slice(1).hexToRgb(b):null},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return a?a.rgbToHex(b):null},stripScripts:function(b){var a="";var c=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){a+= arguments[1]+"\n";return""});if(b===true)$exec(a);else if($type(b)=="function")b(a,c);return c},substitute:function(a,b){return this.replace(b||/\\?\{([^{}]+)\}/g,function(d,c){if(d.charAt(0)=="\\")return d.slice(1);return a[c]!=undefined?a[c]:""})}}); Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(b){for(var a in this)if(this.hasOwnProperty(a)&&this[a]===b)return a;return null},hasValue:function(a){return Hash.keyOf(this,a)!==null},extend:function(a){Hash.each(a||{},function(c,b){Hash.set(this,b,c)},this);return this},combine:function(a){Hash.each(a||{},function(c,b){Hash.include(this,b,c)},this);return this},erase:function(a){if(this.hasOwnProperty(a))delete this[a];return this},get:function(a){return this.hasOwnProperty(a)? this[a]:null},set:function(a,b){if(!this[a]||this.hasOwnProperty(a))this[a]=b;return this},empty:function(){Hash.each(this,function(b,a){delete this[a]},this);return this},include:function(a,b){if(this[a]==undefined)this[a]=b;return this},map:function(b,c){var a=new Hash;Hash.each(this,function(e,d){a.set(d,b.call(c,e,d,this))},this);return a},filter:function(b,c){var a=new Hash;Hash.each(this,function(e,d){if(b.call(c,e,d,this))a.set(d,e)},this);return a},every:function(b,c){for(var a in this)if(this.hasOwnProperty(a)&& !b.call(c,this[a],a))return false;return true},some:function(b,c){for(var a in this)if(this.hasOwnProperty(a)&&b.call(c,this[a],a))return true;return false},getKeys:function(){var a=[];Hash.each(this,function(c,b){a.push(b)});return a},getValues:function(){var a=[];Hash.each(this,function(b){a.push(b)});return a},toQueryString:function(a){var b=[];Hash.each(this,function(f,e){if(a)e=a+"["+e+"]";var d;switch($type(f)){case "object":d=Hash.toQueryString(f,e);break;case "array":var c={};f.each(function(h, g){c[g]=h});d=Hash.toQueryString(c,e);break;default:d=e+"="+encodeURIComponent(f)}if(f!=undefined)b.push(d)});return b.join("&")}});Hash.alias({keyOf:"indexOf",hasValue:"contains"}); var Event=new Native({name:"Event",initialize:function(a,f){f=f||window;var k=f.document;a=a||f.event;if(a.$extended)return a;this.$extended=true;var j=a.type;var g=a.target||a.srcElement;while(g&&g.nodeType==3)g=g.parentNode;if(j.test(/key/)){var b=a.which||a.keyCode;var m=Event.Keys.keyOf(b);if(j=="keydown"){var d=b-111;if(d>0&&d<13)m="f"+d}m=m||String.fromCharCode(b).toLowerCase()}else if(j.match(/(click|mouse|menu)/i)){k=!k.compatMode||k.compatMode=="CSS1Compat"?k.html:k.body;var i={x:a.pageX|| a.clientX+k.scrollLeft,y:a.pageY||a.clientY+k.scrollTop};var c={x:a.pageX?a.pageX-f.pageXOffset:a.clientX,y:a.pageY?a.pageY-f.pageYOffset:a.clientY};if(j.match(/DOMMouseScroll|mousewheel/))var h=a.wheelDelta?a.wheelDelta/120:-(a.detail||0)/3;var e=a.which==3||a.button==2;var l=null;if(j.match(/over|out/)){switch(j){case "mouseover":l=a.relatedTarget||a.fromElement;break;case "mouseout":l=a.relatedTarget||a.toElement}if(!function(){while(l&&l.nodeType==3)l=l.parentNode;return true}.create({attempt:Browser.Engine.gecko})())l= false}}return $extend(this,{event:a,type:j,page:i,client:c,rightClick:e,wheel:h,relatedTarget:l,target:g,code:b,key:m,shift:a.shiftKey,control:a.ctrlKey,alt:a.altKey,meta:a.metaKey})}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46}); Event.implement({stop:function(){return this.stopPropagation().preventDefault()},stopPropagation:function(){if(this.event.stopPropagation)this.event.stopPropagation();else this.event.cancelBubble=true;return this},preventDefault:function(){if(this.event.preventDefault)this.event.preventDefault();else this.event.returnValue=false;return this}}); function Class(b){if(b instanceof Function)b={initialize:b};var a=function(){Object.reset(this);if(a._prototyping)return this;this._current=$empty;var c=this.initialize?this.initialize.apply(this,arguments):this;delete this._current;delete this.caller;return c}.extend(this);a.implement(b);a.constructor=Class;a.prototype.constructor=a;return a}Function.prototype.protect=function(){this._protected=true;return this}; Object.reset=function(a,c){if(c==null){for(var e in a)Object.reset(a,e);return a}delete a[c];switch($type(a[c])){case "object":var d=function(){};d.prototype=a[c];var b=new d;a[c]=Object.reset(b);break;case "array":a[c]=$unlink(a[c]);break}return a}; (new Native({name:"Class",initialize:Class})).extend({instantiate:function(b){b._prototyping=true;var a=new b;delete b._prototyping;return a},wrap:function(a,b,c){if(c._origin)c=c._origin;return function(){if(c._protected&&this._current==null)throw new Error('The method "'+b+'" cannot be called.');var e=this.caller,f=this._current;this.caller=f;this._current=arguments.callee;var d=c.apply(this,arguments);this._current=f;this.caller=e;return d}.extend({_owner:a,_origin:c,_name:b})}}); Class.implement({implement:function(a,d){if($type(a)=="object"){for(var e in a)this.implement(e,a[e]);return this}var f=Class.Mutators[a];if(f){d=f.call(this,d);if(d==null)return this}var c=this.prototype;switch($type(d)){case "function":if(d._hidden)return this;c[a]=Class.wrap(this,a,d);break;case "object":var b=c[a];if($type(b)=="object")$mixin(b,d);else c[a]=$unlink(d);break;case "array":c[a]=$unlink(d);break;default:c[a]=d}return this}}); Class.Mutators={Extends:function(a){this.parent=a;this.prototype=Class.instantiate(a);this.implement("parent",function(){var b=this.caller._name,c=this.caller._owner.parent.prototype[b];if(!c)throw new Error('The method "'+b+'" has no parent.');return c.apply(this,arguments)}.protect())},Implements:function(a){$splat(a).each(function(b){if(b instanceof Function)b=Class.instantiate(b);this.implement(b)},this)}}; var Chain=new Class({$chain:[],chain:function(){this.$chain.extend(Array.flatten(arguments));return this},callChain:function(){return this.$chain.length?this.$chain.shift().apply(this,arguments):false},clearChain:function(){this.$chain.empty();return this}}); var Events=new Class({$events:{},addEvent:function(c,b,a){c=Events.removeOn(c);if(b!=$empty){this.$events[c]=this.$events[c]||[];this.$events[c].include(b);if(a)b.internal=true}return this},addEvents:function(a){for(var b in a)this.addEvent(b,a[b]);return this},fireEvent:function(c,b,a){c=Events.removeOn(c);if(!this.$events||!this.$events[c])return this;this.$events[c].each(function(d){d.create({bind:this,delay:a,arguments:b})()},this);return this},removeEvent:function(b,a){b=Events.removeOn(b);if(!this.$events[b])return this; if(!a.internal)this.$events[b].erase(a);return this},removeEvents:function(c){var d;if($type(c)=="object"){for(d in c)this.removeEvent(d,c[d]);return this}if(c)c=Events.removeOn(c);for(d in this.$events){if(c&&c!=d)continue;var b=this.$events[d];for(var a=b.length;a--;a)this.removeEvent(d,b[a])}return this}});Events.removeOn=function(a){return a.replace(/^on([A-Z])/,function(b,c){return c.toLowerCase()})}; var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent)return this;for(var a in this.options){if($type(this.options[a])!="function"||!/^on[A-Z]/.test(a))continue;this.addEvent(a,this.options[a]);delete this.options[a]}return this}}); var Element=new Native({name:"Element",legacy:window.Element,initialize:function(a,b){var c=Element.Constructors.get(a);if(c)return c(b);if(typeof a=="string")return document.newElement(a,b);return document.id(a).set(b)},afterImplement:function(a,b){Element.Prototype[a]=b;if(Array[a])return;Elements.implement(a,function(){var c=[],g=true;for(var e=0,d=this.length;e<d;e++){var f=this[e][a].apply(this[e],arguments);c.push(f);if(g)g=$type(f)=="element"}return g?new Elements(c):c})}}); Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash; var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var f=Array.link(arguments,{properties:Object.type,iframe:$defined});var d=f.properties||{};var c=document.id(f.iframe);var e=d.onload||$empty;delete d.onload;d.id=d.name=$pick(d.id,d.name,c?c.id||c.name:"IFrame_"+$time());c=new Element(c||"iframe",d);var b=function(){var g=$try(function(){return c.contentWindow.location.host});if(!g||g==window.location.host){var h=new Window(c.contentWindow);new Document(c.contentWindow.document); $extend(h.Element.prototype,Element.Prototype)}e.call(c.contentWindow,c.contentWindow.document)};var a=$try(function(){return c.contentWindow});a&&a.document.body||window.frames[d.id]?b():c.addListener("load",b);return c}}); var Elements=new Native({initialize:function(f,b){b=$extend({ddup:true,cash:true},b);f=f||[];if(b.ddup||b.cash){var g={},e=[];for(var c=0,a=f.length;c<a;c++){var d=document.id(f[c],!b.cash);if(b.ddup){if(g[d.uid])continue;g[d.uid]=true}if(d)e.push(d)}f=e}return b.cash?$extend(f,this):f}});Elements.implement({filter:function(a,b){if(!a)return this;return new Elements(Array.filter(this,typeof a=="string"?function(c){return c.match(a)}:a,b))}}); Document.implement({newElement:function(a,b){if(Browser.Engine.trident&&b){["name","type","checked"].each(function(c){if(!b[c])return;a+=" "+c+'="'+b[c]+'"';if(c!="checked")delete b[c]});a="<"+a+">"}return document.id(this.createElement(a)).set(b)},newTextNode:function(a){return this.createTextNode(a)},getDocument:function(){return this},getWindow:function(){return this.window},id:function(){var a={string:function(d,c,b){d=b.getElementById(d);return d?a.element(d,c):null},element:function(b,e){$uid(b); if(!e&&!b.$family&&!/^object|embed$/i.test(b.tagName)){var c=Element.Prototype;for(var d in c)b[d]=c[d]}return b},object:function(c,d,b){if(c.toElement)return a.element(c.toElement(b),d);return null}};a.textnode=a.whitespace=a.window=a.document=$arguments(0);return function(c,e,d){if(c&&c.$family&&c.uid)return c;var b=$type(c);return a[b]?a[b](c,e,d||document):null}}()});if(window.$==null)Window.implement({$:function(a,b){return document.id(a,b,this.document)}}); Window.implement({$$:function(a){if(arguments.length==1&&typeof a=="string")return this.document.getElements(a);var f=[];var c=Array.flatten(arguments);for(var d=0,b=c.length;d<b;d++){var e=c[d];switch($type(e)){case "element":f.push(e);break;case "string":f.extend(this.document.getElements(e,true))}}return new Elements(f)},getDocument:function(){return this.document},getWindow:function(){return this}}); Native.implement([Element,Document],{getElement:function(a,b){return document.id(this.getElements(a,true)[0]||null,b)},getElements:function(a,d){a=a.split(",");var c=[];var b=a.length>1;a.each(function(e){var f=this.getElementsByTagName(e.trim());b?c.extend(f):(c=f)},this);return new Elements(c,{ddup:b,cash:!d})}}); (function(){var h={},f={};var i={input:"checked",option:"selected",textarea:Browser.Engine.webkit&&Browser.Engine.version<420?"innerHTML":"value"};var c=function(l){return f[l]||(f[l]={})};var g=function(n,l){if(!n)return;var m=n.uid;if(Browser.Engine.trident){if(n.clearAttributes){var q=l&&n.cloneNode(false);n.clearAttributes();if(q)n.mergeAttributes(q)}else if(n.removeEvents)n.removeEvents();if(/object/i.test(n.tagName)){for(var o in n)if(typeof n[o]=="function")n[o]=$empty;Element.dispose(n)}}if(!m)return; h[m]=f[m]=null};var d=function(){Hash.each(h,g);if(Browser.Engine.trident)$A(document.getElementsByTagName("object")).each(g);if(window.CollectGarbage)CollectGarbage();h=f=null};var j=function(n,l,s,m,p,r){var o=n[s||l];var q=[];while(o){if(o.nodeType==1&&(!m||Element.match(o,m))){if(!p)return document.id(o,r);q.push(o)}o=o[l]}return p?new Elements(q,{ddup:false,cash:!r}):null};var e={html:"innerHTML","class":"className","for":"htmlFor",defaultValue:"defaultValue",text:Browser.Engine.trident||Browser.Engine.webkit&& Browser.Engine.version<420?"innerText":"textContent"};var b=["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"];var k=["value","type","defaultValue","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"];b=b.associate(b);Hash.extend(e,b);Hash.extend(e,k.associate(k.map(String.toLowerCase)));var a={before:function(m,l){if(l.parentNode)l.parentNode.insertBefore(m,l)}, after:function(m,l){if(!l.parentNode)return;var n=l.nextSibling;n?l.parentNode.insertBefore(m,n):l.parentNode.appendChild(m)},bottom:function(m,l){l.appendChild(m)},top:function(m,l){var n=l.firstChild;n?l.insertBefore(m,n):l.appendChild(m)}};a.inside=a.bottom;Hash.each(a,function(l,m){m=m.capitalize();Element.implement("inject"+m,function(n){l(this,document.id(n,true));return this});Element.implement("grab"+m,function(n){l(document.id(n,true),this);return this})});Element.implement({set:function(o, m){switch($type(o)){case "object":for(var n in o)this.set(n,o[n]);break;case "string":var l=Element.Properties.get(o);l&&l.set?l.set.apply(this,Array.slice(arguments,1)):this.setProperty(o,m)}return this},get:function(m){var l=Element.Properties.get(m);return l&&l.get?l.get.apply(this,Array.slice(arguments,1)):this.getProperty(m)},erase:function(m){var l=Element.Properties.get(m);l&&l.erase?l.erase.apply(this):this.removeProperty(m);return this},setProperty:function(m,n){var l=e[m];if(n==undefined)return this.removeProperty(m); if(l&&b[m])n=!!n;l?(this[l]=n):this.setAttribute(m,""+n);return this},setProperties:function(l){for(var m in l)this.setProperty(m,l[m]);return this},getProperty:function(m){var l=e[m];var n=l?this[l]:this.getAttribute(m,2);return b[m]?!!n:l?n:n||null},getProperties:function(){var l=$A(arguments);return l.map(this.getProperty,this).associate(l)},removeProperty:function(m){var l=e[m];l?(this[l]=l&&b[m]?false:""):this.removeAttribute(m);return this},removeProperties:function(){Array.each(arguments,this.removeProperty, this);return this},hasClass:function(l){return this.className.contains(l," ")},addClass:function(l){if(!this.hasClass(l))this.className=(this.className+" "+l).clean();return this},removeClass:function(l){this.className=this.className.replace(new RegExp("(^|\\s)"+l+"(?:\\s|$)"),"$1");return this},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l)},adopt:function(){Array.flatten(arguments).each(function(l){l=document.id(l,true);if(l)this.appendChild(l)},this);return this}, appendText:function(m,l){return this.grab(this.getDocument().newTextNode(m),l)},grab:function(m,l){a[l||"bottom"](document.id(m,true),this);return this},inject:function(m,l){a[l||"bottom"](this,document.id(m,true));return this},replaces:function(l){l=document.id(l,true);l.parentNode.replaceChild(this,l);return this},wraps:function(m,l){m=document.id(m,true);return this.replaces(m).grab(m,l)},getPrevious:function(l,m){return j(this,"previousSibling",null,l,false,m)},getAllPrevious:function(l,m){return j(this, "previousSibling",null,l,true,m)},getNext:function(l,m){return j(this,"nextSibling",null,l,false,m)},getAllNext:function(l,m){return j(this,"nextSibling",null,l,true,m)},getFirst:function(l,m){return j(this,"nextSibling","firstChild",l,false,m)},getLast:function(l,m){return j(this,"previousSibling","lastChild",l,false,m)},getParent:function(l,m){return j(this,"parentNode",null,l,false,m)},getParents:function(l,m){return j(this,"parentNode",null,l,true,m)},getSiblings:function(l,m){return this.getParent().getChildren(l, m).erase(this)},getChildren:function(l,m){return j(this,"nextSibling","firstChild",l,true,m)},getWindow:function(){return this.ownerDocument.window},getDocument:function(){return this.ownerDocument},getElementById:function(o,n){var m=this.ownerDocument.getElementById(o);if(!m)return null;for(var l=m.parentNode;l!=this;l=l.parentNode)if(!l)return null;return document.id(m,n)},getSelected:function(){return new Elements($A(this.options).filter(function(l){return l.selected}))},getComputedStyle:function(m){if(this.currentStyle)return this.currentStyle[m.camelCase()]; var l=this.getDocument().defaultView.getComputedStyle(this,null);return l?l.getPropertyValue([m.hyphenate()]):null},toQueryString:function(){var l=[];this.getElements("input, select, textarea",true).each(function(m){if(!m.name||m.disabled||m.type=="submit"||m.type=="reset"||m.type=="file")return;var n=m.tagName.toLowerCase()=="select"?Element.getSelected(m).map(function(o){return o.value}):(m.type=="radio"||m.type=="checkbox")&&!m.checked?null:m.value;$splat(n).each(function(o){if(typeof o!="undefined")l.push(m.name+ "="+encodeURIComponent(o))})});return l.join("&")},clone:function(o,l){o=o!==false;var r=this.cloneNode(o);var n=function(v,u){if(!l)v.removeAttribute("id");if(Browser.Engine.trident){v.clearAttributes();v.mergeAttributes(u);v.removeAttribute("uid");if(v.options){var w=v.options,s=u.options;for(var t=w.length;t--;)w[t].selected=s[t].selected}}var x=i[u.tagName.toLowerCase()];if(x&&u[x])v[x]=u[x]};if(o){var p=r.getElementsByTagName("*"),q=this.getElementsByTagName("*");for(var m=p.length;m--;)n(p[m], q[m])}n(r,this);return document.id(r)},destroy:function(){Element.empty(this);Element.dispose(this);g(this,true);return null},empty:function(){$A(this.childNodes).each(function(l){Element.destroy(l)});return this},dispose:function(){return this.parentNode?this.parentNode.removeChild(this):this},hasChild:function(l){l=document.id(l,true);if(!l)return false;if(Browser.Engine.webkit&&Browser.Engine.version<420)return $A(this.getElementsByTagName(l.tagName)).contains(l);return this.contains?this!=l&& this.contains(l):!!(this.compareDocumentPosition(l)&16)},match:function(l){return!l||l==this||Element.get(this,"tag")==l}});Native.implement([Element,Window,Document],{addListener:function(o,n){if(o=="unload"){var l=n,m=this;n=function(){m.removeListener("unload",n);l()}}else h[this.uid]=this;if(this.addEventListener)this.addEventListener(o,n,false);else this.attachEvent("on"+o,n);return this},removeListener:function(m,l){if(this.removeEventListener)this.removeEventListener(m,l,false);else this.detachEvent("on"+ m,l);return this},retrieve:function(m,l){var o=c(this.uid),n=o[m];if(l!=undefined&&n==undefined)n=o[m]=l;return $pick(n)},store:function(m,l){var n=c(this.uid);n[m]=l;return this},eliminate:function(l){var m=c(this.uid);delete m[l];return this}});window.addListener("unload",d)})();Element.Properties=new Hash;Element.Properties.style={set:function(a){this.style.cssText=a},get:function(){return this.style.cssText},erase:function(){this.style.cssText=""}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase()}}; Element.Properties.html=function(){var c=document.createElement("div");var a={table:[1,"<table>","</table>"],select:[1,"<select>","</select>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"]};a.thead=a.tfoot=a.tbody;var b={set:function(){var e=Array.flatten(arguments).join("");var f=Browser.Engine.trident&&a[this.get("tag")];if(f){var g=c;g.innerHTML=f[1]+e+f[2];for(var d=f[0];d--;)g=g.firstChild;this.empty().adopt(g.childNodes)}else this.innerHTML= e}};b.erase=b.set;return b}();if(Browser.Engine.webkit&&Browser.Engine.version<420)Element.Properties.text={get:function(){if(this.innerText)return this.innerText;var a=this.ownerDocument.newElement("div",{html:this.innerHTML}).inject(this.ownerDocument.body);var b=a.innerText;a.destroy();return b}};Element.Properties.events={set:function(a){this.addEvents(a)}}; Native.implement([Element,Window,Document],{addEvent:function(e,g){var h=this.retrieve("events",{});h[e]=h[e]||{keys:[],values:[]};if(h[e].keys.contains(g))return this;h[e].keys.push(g);var f=e,a=Element.Events.get(e),c=g,i=this;if(a){if(a.onAdd)a.onAdd.call(this,g);if(a.condition)c=function(j){if(a.condition.call(this,j))return g.call(this,j);return true};f=a.base||f}var d=function(){return g.call(i)};var b=Element.NativeEvents[f];if(b){if(b==2)d=function(j){j=new Event(j,i.getWindow());if(c.call(i, j)===false)j.stop()};this.addListener(f,d)}h[e].values.push(d);return this},removeEvent:function(c,b){var a=this.retrieve("events");if(!a||!a[c])return this;var f=a[c].keys.indexOf(b);if(f==-1)return this;a[c].keys.splice(f,1);var e=a[c].values.splice(f,1)[0];var d=Element.Events.get(c);if(d){if(d.onRemove)d.onRemove.call(this,b);c=d.base||c}return Element.NativeEvents[c]?this.removeListener(c,e):this},addEvents:function(a){for(var b in a)this.addEvent(b,a[b]);return this},removeEvents:function(a){var c; if($type(a)=="object"){for(c in a)this.removeEvent(c,a[c]);return this}var b=this.retrieve("events");if(!b)return this;if(!a){for(c in b)this.removeEvents(c);this.eliminate("events")}else if(b[a]){while(b[a].keys[0])this.removeEvent(a,b[a].keys[0]);b[a]=null}return this},fireEvent:function(d,b,a){var c=this.retrieve("events");if(!c||!c[d])return this;c[d].keys.each(function(e){e.create({bind:this,delay:a,arguments:b})()},this);return this},cloneEvents:function(d,a){d=document.id(d);var c=d.retrieve("events"); if(!c)return this;if(!a)for(var b in c)this.cloneEvents(d,b);else if(c[a])c[a].keys.each(function(e){this.addEvent(a,e)},this);return this}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1}; (function(){var a=function(b){var c=b.relatedTarget;if(c==undefined)return true;if(c===false)return false;return $type(this)!="document"&&c!=this&&c.prefix!="xul"&&!this.hasChild(c)};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:Browser.Engine.gecko?"DOMMouseScroll":"mousewheel"}})})();Element.Properties.styles={set:function(a){this.setStyles(a)}}; Element.Properties.opacity={set:function(a,b){if(!b)if(a==0){if(this.style.visibility!="hidden")this.style.visibility="hidden"}else if(this.style.visibility!="visible")this.style.visibility="visible";if(!this.currentStyle||!this.currentStyle.hasLayout)this.style.zoom=1;if(Browser.Engine.trident)this.style.filter=a==1?"":"alpha(opacity="+a*100+")";this.style.opacity=a;this.store("opacity",a)},get:function(){return this.retrieve("opacity",1)}}; Element.implement({setOpacity:function(a){return this.set("opacity",a,true)},getOpacity:function(){return this.get("opacity")},setStyle:function(b,a){switch(b){case "opacity":return this.set("opacity",parseFloat(a));case "float":b=Browser.Engine.trident?"styleFloat":"cssFloat"}b=b.camelCase();if($type(a)!="string"){var c=(Element.Styles.get(b)||"@").split(" ");a=$splat(a).map(function(e,d){if(!c[d])return"";return $type(e)=="number"?c[d].replace("@",Math.round(e)):e}).join(" ")}else if(a==String(Number(a)))a= Math.round(a);this.style[b]=a;return this},getStyle:function(g){switch(g){case "opacity":return this.get("opacity");case "float":g=Browser.Engine.trident?"styleFloat":"cssFloat"}g=g.camelCase();var a=this.style[g];if(!$chk(a)){a=[];for(var f in Element.ShortStyles){if(g!=f)continue;for(var e in Element.ShortStyles[f])a.push(this.getStyle(e));return a.join(" ")}a=this.getComputedStyle(g)}if(a){a=String(a);var c=a.match(/rgba?\([\d\s,]+\)/);if(c)a=a.replace(c[0],c[0].rgbToHex())}if(Browser.Engine.presto|| Browser.Engine.trident&&!$chk(parseInt(a,10))){if(g.test(/^(height|width)$/)){var b=g=="width"?["left","right"]:["top","bottom"],d=0;b.each(function(h){d+=this.getStyle("border-"+h+"-width").toInt()+this.getStyle("padding-"+h).toInt()},this);return this["offset"+g.capitalize()]-d+"px"}if(Browser.Engine.presto&&String(a).test("px"))return a;if(g.test(/(border(.+)Width|margin|padding)/))return"0px"}return a},setStyles:function(b){for(var a in b)this.setStyle(a,b[a]);return this},getStyles:function(){var a= {};Array.flatten(arguments).each(function(b){a[b]=this.getStyle(b)},this);return a}}); Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)", zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}}; ["Top","Right","Bottom","Left"].each(function(g){var f=Element.ShortStyles;var b=Element.Styles;["margin","padding"].each(function(h){var i=h+g;f[h][i]=b[i]="@px"});var e="border"+g;f.border[e]=b[e]="@px @ rgb(@, @, @)";var d=e+"Width",a=e+"Style",c=e+"Color";f[e]={};f.borderWidth[d]=f[e][d]=b[d]="@px";f.borderStyle[a]=f[e][a]=b[a]="@";f.borderColor[c]=f[e][c]=b[c]="rgb(@, @, @)"}); (function(){Element.implement({scrollTo:function(h,i){if(b(this))this.getWindow().scrollTo(h,i);else{this.scrollLeft=h;this.scrollTop=i}return this},getSize:function(){if(b(this))return this.getWindow().getSize();return{x:this.offsetWidth,y:this.offsetHeight}},getScrollSize:function(){if(b(this))return this.getWindow().getScrollSize();return{x:this.scrollWidth,y:this.scrollHeight}},getScroll:function(){if(b(this))return this.getWindow().getScroll();return{x:this.scrollLeft,y:this.scrollTop}},getScrolls:function(){var i= this,h={x:0,y:0};while(i&&!b(i)){h.x+=i.scrollLeft;h.y+=i.scrollTop;i=i.parentNode}return h},getOffsetParent:function(){var h=this;if(b(h))return null;if(!Browser.Engine.trident)return h.offsetParent;while((h=h.parentNode)&&!b(h))if(d(h,"position")!="static")return h;return null},getOffsets:function(){if(this.getBoundingClientRect){var j=this.getBoundingClientRect(),m=document.id(this.getDocument().documentElement),p=m.getScroll(),k=this.getScrolls(),i=this.getScroll(),h=d(this,"position")=="fixed"; return{x:j.left.toInt()+k.x-i.x+(h?0:p.x)-m.clientLeft,y:j.top.toInt()+k.y-i.y+(h?0:p.y)-m.clientTop}}var l=this,n={x:0,y:0};if(b(this))return n;while(l&&!b(l)){n.x+=l.offsetLeft;n.y+=l.offsetTop;if(Browser.Engine.gecko){if(!f(l)){n.x+=c(l);n.y+=g(l)}var o=l.parentNode;if(o&&d(o,"overflow")!="visible"){n.x+=c(o);n.y+=g(o)}}else if(l!=this&&Browser.Engine.webkit){n.x+=c(l);n.y+=g(l)}l=l.offsetParent}if(Browser.Engine.gecko&&!f(this)){n.x-=c(this);n.y-=g(this)}return n},getPosition:function(k){if(b(this))return{x:0, y:0};var l=this.getOffsets(),i=this.getScrolls();var h={x:l.x-i.x,y:l.y-i.y};var j=k&&(k=document.id(k))?k.getPosition():{x:0,y:0};return{x:h.x-j.x,y:h.y-j.y}},getCoordinates:function(j){if(b(this))return this.getWindow().getCoordinates();var h=this.getPosition(j),i=this.getSize();var k={left:h.x,top:h.y,width:i.x,height:i.y};k.right=k.left+k.width;k.bottom=k.top+k.height;return k},computePosition:function(h){return{left:h.x-e(this,"margin-left"),top:h.y-e(this,"margin-top")}},setPosition:function(h){return this.setStyles(this.computePosition(h))}}); Native.implement([Document,Window],{getSize:function(){if(Browser.Engine.presto||Browser.Engine.webkit){var i=this.getWindow();return{x:i.innerWidth,y:i.innerHeight}}var h=a(this);return{x:h.clientWidth,y:h.clientHeight}},getScroll:function(){var i=this.getWindow(),h=a(this);return{x:i.pageXOffset||h.scrollLeft,y:i.pageYOffset||h.scrollTop}},getScrollSize:function(){var i=a(this),h=this.getSize();return{x:Math.max(i.scrollWidth,h.x),y:Math.max(i.scrollHeight,h.y)}},getPosition:function(){return{x:0, y:0}},getCoordinates:function(){var h=this.getSize();return{top:0,left:0,bottom:h.y,right:h.x,height:h.y,width:h.x}}});var d=Element.getComputedStyle;function e(h,i){return d(h,i).toInt()||0}function f(h){return d(h,"-moz-box-sizing")=="border-box"}function g(h){return e(h,"border-top-width")}function c(h){return e(h,"border-left-width")}function b(h){return/^(?:body|html)$/i.test(h.tagName)}function a(h){var i=h.getDocument();return!i.compatMode||i.compatMode=="CSS1Compat"?i.html:i.body}})(); Element.alias("setPosition","position");Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y},getWidth:function(){return this.getSize().x},getScrollTop:function(){return this.getScroll().y},getScrollLeft:function(){return this.getScroll().x},getScrollHeight:function(){return this.getScrollSize().y},getScrollWidth:function(){return this.getScrollSize().x},getTop:function(){return this.getPosition().y},getLeft:function(){return this.getPosition().x}}); Native.implement([Document,Element],{getElements:function(h,g){h=h.split(",");var c,e={};for(var d=0,b=h.length;d<b;d++){var a=h[d],f=Selectors.Utils.search(this,a,e);if(d!=0&&f.item)f=$A(f);c=d==0?f:c.item?$A(c).concat(f):c.concat(f)}return new Elements(c,{ddup:h.length>1,cash:!g})}}); Element.implement({match:function(b){if(!b||b==this)return true;var d=Selectors.Utils.parseTagAndID(b);var a=d[0],e=d[1];if(!Selectors.Filters.byID(this,e)||!Selectors.Filters.byTag(this,a))return false;var c=Selectors.Utils.parseSelector(b);return c?Selectors.Utils.filter(this,c,{}):true}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:/#([\w-]+)/,tag:/^(\w+|\*)/,quick:/^(\w+|\*)$/,splitter:/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g,combined:/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)(["']?)([^\4]*?)\4)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g}; Selectors.Utils={chk:function(b,c){if(!c)return true;var a=$uid(b);if(!c[a])return c[a]=true;return false},parseNthArgument:function(h){if(Selectors.Cache.nth[h])return Selectors.Cache.nth[h];var e=h.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!e)return false;var g=parseInt(e[1],10);var d=g||g===0?g:1;var f=e[2]||false;var c=parseInt(e[3],10)||0;if(d!=0){c--;while(c<1)c+=d;while(c>=d)c-=d}else{d=c;f="index"}switch(f){case "n":e={a:d,b:c,special:"n"};break;case "odd":e={a:2,b:0,special:"n"};break; case "even":e={a:2,b:1,special:"n"};break;case "first":e={a:0,special:"index"};break;case "last":e={special:"last-child"};break;case "only":e={special:"only-child"};break;default:e={a:d-1,special:"index"}}return Selectors.Cache.nth[h]=e},parseSelector:function(e){if(Selectors.Cache.parsed[e])return Selectors.Cache.parsed[e];var d,h={classes:[],pseudos:[],attributes:[]};while(d=Selectors.RegExps.combined.exec(e)){var i=d[1],g=d[2],f=d[3],b=d[5],c=d[6],j=d[7];if(i)h.classes.push(i);else if(c){var a= Selectors.Pseudo.get(c);if(a)h.pseudos.push({parser:a,argument:j});else h.attributes.push({name:c,operator:"=",value:j})}else if(g)h.attributes.push({name:g,operator:f,value:b})}if(!h.classes.length)delete h.classes;if(!h.attributes.length)delete h.attributes;if(!h.pseudos.length)delete h.pseudos;if(!h.classes&&!h.attributes&&!h.pseudos)h=null;return Selectors.Cache.parsed[e]=h},parseTagAndID:function(b){var a=b.match(Selectors.RegExps.tag);var c=b.match(Selectors.RegExps.id);return[a?a[1]:"*",c? c[1]:false]},filter:function(f,c,e){var d;if(c.classes)for(d=c.classes.length;d--;d){var g=c.classes[d];if(!Selectors.Filters.byClass(f,g))return false}if(c.attributes)for(d=c.attributes.length;d--;d){var b=c.attributes[d];if(!Selectors.Filters.byAttribute(f,b.name,b.operator,b.value))return false}if(c.pseudos)for(d=c.pseudos.length;d--;d){var a=c.pseudos[d];if(!Selectors.Filters.byPseudo(f,a.parser,a.argument,e))return false}return true},getByTagAndID:function(b,a,d){if(d){var c=b.getElementById? b.getElementById(d,true):Element.getElementById(b,d,true);return c&&Selectors.Filters.byTag(c,a)?[c]:[]}else return b.getElementsByTagName(a)},search:function(o,h,t){var b=[];var c=h.trim().replace(Selectors.RegExps.splitter,function(k,j,i){b.push(j);return":)"+i}).split(":)");var p,e,A;for(var z=0,v=c.length;z<v;z++){var y=c[z];if(z==0&&Selectors.RegExps.quick.test(y)){p=o.getElementsByTagName(y);continue}var a=b[z-1];var q=Selectors.Utils.parseTagAndID(y);var B=q[0],r=q[1];if(z==0)p=Selectors.Utils.getByTagAndID(o, B,r);else{var d={},g=[];for(var x=0,w=p.length;x<w;x++)g=Selectors.Getters[a](g,p[x],B,r,d);p=g}var f=Selectors.Utils.parseSelector(y);if(f){e=[];for(var u=0,s=p.length;u<s;u++){A=p[u];if(Selectors.Utils.filter(A,f,t))e.push(A)}p=e}}return p}}; Selectors.Getters={" ":function(h,g,j,a,e){var d=Selectors.Utils.getByTagAndID(g,j,a);for(var c=0,b=d.length;c<b;c++){var f=d[c];if(Selectors.Utils.chk(f,e))h.push(f)}return h},">":function(h,g,j,a,f){var c=Selectors.Utils.getByTagAndID(g,j,a);for(var e=0,d=c.length;e<d;e++){var b=c[e];if(b.parentNode==g&&Selectors.Utils.chk(b,f))h.push(b)}return h},"+":function(c,b,a,e,d){while(b=b.nextSibling)if(b.nodeType==1){if(Selectors.Utils.chk(b,d)&&Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e))c.push(b); break}return c},"~":function(c,b,a,e,d){while(b=b.nextSibling)if(b.nodeType==1){if(!Selectors.Utils.chk(b,d))break;if(Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e))c.push(b)}return c}}; Selectors.Filters={byTag:function(b,a){return a=="*"||b.tagName&&b.tagName.toLowerCase()==a},byID:function(a,b){return!b||a.id&&a.id==b},byClass:function(b,a){return b.className&&b.className.contains&&b.className.contains(a," ")},byPseudo:function(a,d,c,b){return d.call(a,c,b)},byAttribute:function(c,d,b,e){var a=Element.prototype.getProperty.call(c,d);if(!a)return b=="!=";if(!b||e==undefined)return true;switch(b){case "=":return a==e;case "*=":return a.contains(e);case "^=":return a.substr(0,e.length)== e;case "$=":return a.substr(a.length-e.length)==e;case "!=":return a!=e;case "~=":return a.contains(e," ");case "|=":return a.contains(e,"-")}return false}}; Selectors.Pseudo=new Hash({checked:function(){return this.checked},empty:function(){return!(this.innerText||this.textContent||"").length},not:function(a){return!Element.match(this,a)},contains:function(a){return(this.innerText||this.textContent||"").contains(a)},"first-child":function(){return Selectors.Pseudo.index.call(this,0)},"last-child":function(){var a=this;while(a=a.nextSibling)if(a.nodeType==1)return false;return true},"only-child":function(){var b=this;while(b=b.previousSibling)if(b.nodeType== 1)return false;var a=this;while(a=a.nextSibling)if(a.nodeType==1)return false;return true},"nth-child":function(g,e){g=g==undefined?"n":g;var c=Selectors.Utils.parseNthArgument(g);if(c.special!="n")return Selectors.Pseudo[c.special].call(this,c.a,e);var f=0;e.positions=e.positions||{};var d=$uid(this);if(!e.positions[d]){var b=this;while(b=b.previousSibling){if(b.nodeType!=1)continue;f++;var a=e.positions[$uid(b)];if(a!=undefined){f=a+f;break}}e.positions[d]=f}return e.positions[d]%c.a==c.b},index:function(a){var b= this,c=0;while(b=b.previousSibling)if(b.nodeType==1&&++c>a)return false;return c==a},even:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n+1",a)},odd:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n",a)},selected:function(){return this.selected},enabled:function(){return this.disabled===false}});Element.Events.domready={onAdd:function(a){if(Browser.loaded)a.call(this)}}; (function(){var b=function(){if(Browser.loaded)return;Browser.loaded=true;window.fireEvent("domready");document.fireEvent("domready")};window.addEvent("load",b);if(Browser.Engine.trident){var a=document.createElement("div");(function(){$try(function(){a.doScroll();return document.id(a).inject(document.body).set("html","temp").dispose()})?b():arguments.callee.delay(50)})()}else if(Browser.Engine.webkit&&Browser.Engine.version<525)(function(){["loaded","complete"].contains(document.readyState)?b(): arguments.callee.delay(50)})();else document.addEvent("DOMContentLoaded",b)})(); var JSON=(new Hash(this.JSON&&{stringify:JSON.stringify,parse:JSON.parse})).extend({$specialChars:{"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(a){return JSON.$specialChars[a]||"\\u00"+Math.floor(a.charCodeAt()/16).toString(16)+(a.charCodeAt()%16).toString(16)},encode:function(b){switch($type(b)){case "string":return'"'+b.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case "array":return"["+String(b.map(JSON.encode).clean())+"]";case "object":case "hash":var a= [];Hash.each(b,function(e,d){var c=JSON.encode(e);if(c)a.push(JSON.encode(d)+":"+c)});return"{"+a+"}";case "number":case "boolean":return String(b);case false:return"null"}return null},decode:function(string,secure){if($type(string)!="string"||!string.length)return null;if(secure&&!/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"")))return null;return eval("("+string+")")}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this)}}); var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(b,a){this.key=b;this.setOptions(a)},write:function(b){b=encodeURIComponent(b);if(this.options.domain)b+="; domain="+this.options.domain;if(this.options.path)b+="; path="+this.options.path;if(this.options.duration){var a=new Date;a.setTime(a.getTime()+this.options.duration*24*60*60*1E3);b+="; expires="+a.toGMTString()}if(this.options.secure)b+="; secure";this.options.document.cookie= this.key+"="+b;return this},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");return a?decodeURIComponent(a[1]):null},dispose:function(){(new Cookie(this.key,$merge(this.options,{duration:-1}))).write("");return this}});Cookie.write=function(b,c,a){return(new Cookie(b,a)).write(c)};Cookie.read=function(a){return(new Cookie(a)).read()};Cookie.dispose=function(b,a){return(new Cookie(b,a)).dispose()}; var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object},initialize:function(l,m){this.instance="Swiff_"+$time();this.setOptions(m);m=this.options;var b=this.id=m.id||this.instance;var a=document.id(m.container);Swiff.CallBacks[this.instance]={};var e=m.params,g=m.vars,f=m.callBacks;var h=$extend({height:m.height, width:m.width},m.properties);var k=this;for(var d in f){Swiff.CallBacks[this.instance][d]=function(n){return function(){return n.apply(k.object,arguments)}}(f[d]);g[d]="Swiff.CallBacks."+this.instance+"."+d}e.flashVars=Hash.toQueryString(g);if(Browser.Engine.trident){h.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";e.movie=l}else{h.type="application/x-shockwave-flash";h.data=l}var j='<object id="'+b+'"';for(var i in h)j+=" "+i+'="'+h[i]+'"';j+=">";for(var c in e)if(e[c])j+='<param name="'+c+ '" value="'+e[c]+'" />';j+="</object>";this.object=(a?a.empty():new Element("div")).set("html",j).firstChild},replaces:function(a){a=document.id(a,true);a.parentNode.replaceChild(this.toElement(),a);return this},inject:function(a){document.id(a,true).appendChild(this.toElement());return this},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments))}});Swiff.CallBacks={}; Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");return eval(rs)}; var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore"},initialize:function(a){this.subject=this.subject||this;this.setOptions(a);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var b=this.options.wait;if(b===false)this.options.link="cancel"},getTransition:function(){return function(a){return-(Math.cos(Math.PI*a)-1)/2}},step:function(){var a=$time();if(a<this.time+this.options.duration){var b=this.transition((a- this.time)/this.options.duration);this.set(this.compute(this.from,this.to,b))}else{this.set(this.compute(this.from,this.to,1));this.complete()}},set:function(a){return a},compute:function(c,b,a){return Fx.compute(c,b,a)},check:function(){if(!this.timer)return true;switch(this.options.link){case "cancel":this.cancel();return true;case "chain":this.chain(this.caller.bind(this,arguments));return false}return false},start:function(b,a){if(!this.check(b,a))return this;this.from=b;this.to=a;this.time=0; this.transition=this.getTransition();this.startTimer();this.onStart();return this},complete:function(){if(this.stopTimer())this.onComplete();return this},cancel:function(){if(this.stopTimer())this.onCancel();return this},onStart:function(){this.fireEvent("start",this.subject)},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain())this.fireEvent("chainComplete",this.subject)},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain()},pause:function(){this.stopTimer(); return this},resume:function(){this.startTimer();return this},stopTimer:function(){if(!this.timer)return false;this.time=$time()-this.time;this.timer=$clear(this.timer);return true},startTimer:function(){if(this.timer)return false;this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1E3/this.options.fps),this);return true}});Fx.compute=function(c,b,a){return(b-c)*a+c};Fx.Durations={"short":250,normal:500,"long":1E3}; Fx.CSS=new Class({Extends:Fx,prepare:function(d,e,b){b=$splat(b);var c=b[1];if(!$chk(c)){b[1]=b[0];b[0]=d.getStyle(e)}var a=b.map(this.parse);return{from:a[0],to:a[1]}},parse:function(a){a=$lambda(a)();a=typeof a=="string"?a.split(" "):$splat(a);return a.map(function(c){c=String(c);var b=false;Fx.CSS.Parsers.each(function(f,e){if(b)return;var d=f.parse(c);if($chk(d))b={value:d,parser:f}});b=b||{value:c,parser:Fx.CSS.Parsers.String};return b})},compute:function(d,c,b){var a=[];Math.min(d.length,c.length).times(function(e){a.push({value:d[e].parser.compute(d[e].value, c[e].value,b),parser:d[e].parser})});a.$family={name:"fx:css:value"};return a},serve:function(c,b){if($type(c)!="fx:css:value")c=this.parse(c);var a=[];c.each(function(d){a=a.concat(d.parser.serve(d.value,b))});return a},render:function(a,d,c,b){a.setStyle(d,this.serve(c,b))},search:function(a){if(Fx.CSS.Cache[a])return Fx.CSS.Cache[a];var b={};Array.each(document.styleSheets,function(e,d){var c=e.href;if(c&&c.contains("://")&&!c.contains(document.domain))return;var f=e.rules||e.cssRules;Array.each(f, function(j,g){if(!j.style)return;var h=j.selectorText?j.selectorText.replace(/^\w+/,function(i){return i.toLowerCase()}):null;if(!h||!h.test("^"+a+"$"))return;Element.Styles.each(function(k,i){if(!j.style[i]||Element.ShortStyles[i])return;k=String(j.style[i]);b[i]=k.test(/^rgb/)?k.rgbToHex():k})})});return Fx.CSS.Cache[a]=b}});Fx.CSS.Cache={}; Fx.CSS.Parsers=new Hash({Color:{parse:function(a){if(a.match(/^#[0-9a-f]{3,6}$/i))return a.hexToRgb(true);return(a=a.match(/(\d+),\s*(\d+),\s*(\d+)/))?[a[1],a[2],a[3]]:false},compute:function(c,b,a){return c.map(function(e,d){return Math.round(Fx.compute(c[d],b[d],a))})},serve:function(a){return a.map(Number)}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(b,a){return a?b+a:b}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}}); Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a)},set:function(b,a){if(arguments.length==1){a=b;b=this.property||this.options.property}this.render(this.element,b,a,this.options.unit);return this},start:function(c,e,d){if(!this.check(c,e,d))return this;var b=Array.flatten(arguments);this.property=this.options.property||b.shift();var a=this.prepare(this.element,this.property,b);return this.parent(a.from,a.to)}}); Element.Properties.tween={set:function(a){var b=this.retrieve("tween");if(b)b.cancel();return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("tween")){if(a||!this.retrieve("tween:options"))this.set("tween",a);this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")))}return this.retrieve("tween")}}; Element.implement({tween:function(a,c,b){this.get("tween").start(arguments);return this},fade:function(c){var e=this.get("tween"),d="opacity",a;c=$pick(c,"toggle");switch(c){case "in":e.start(d,1);break;case "out":e.start(d,0);break;case "show":e.set(d,1);break;case "hide":e.set(d,0);break;case "toggle":var b=this.retrieve("fade:flag",this.get("opacity")==1);e.start(d,b?0:1);this.store("fade:flag",!b);a=true;break;default:e.start(d,arguments)}if(!a)this.eliminate("fade:flag");return this},highlight:function(c, a){if(!a){a=this.retrieve("highlight:original",this.getStyle("background-color"));a=a=="transparent"?"#fff":a}var b=this.get("tween");b.start("background-color",c||"#ffff88",a).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));b.callChain()}.bind(this));return this}}); Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a)},set:function(a){if(typeof a=="string")a=this.search(a);for(var b in a)this.render(this.element,b,a[b],this.options.unit);return this},compute:function(e,d,c){var a={};for(var b in e)a[b]=this.parent(e[b],d[b],c);return a},start:function(b){if(!this.check(b))return this;if(typeof b=="string")b=this.search(b);var e={},d={};for(var c in b){var a=this.prepare(this.element,c,b[c]);e[c]= a.from;d[c]=a.to}return this.parent(e,d)}});Element.Properties.morph={set:function(a){var b=this.retrieve("morph");if(b)b.cancel();return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("morph")){if(a||!this.retrieve("morph:options"))this.set("morph",a);this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")))}return this.retrieve("morph")}};Element.implement({morph:function(a){this.get("morph").start(a);return this}}); Fx.implement({getTransition:function(){var a=this.options.transition||Fx.Transitions.Sine.easeInOut;if(typeof a=="string"){var b=a.split(":");a=Fx.Transitions;a=a[b[0]]||a[b[0].capitalize()];if(b[1])a=a["ease"+b[1].capitalize()+(b[2]?b[2].capitalize():"")]}return a}});Fx.Transition=function(b,a){a=$splat(a);return $extend(b,{easeIn:function(c){return b(c,a)},easeOut:function(c){return 1-b(1-c,a)},easeInOut:function(c){return c<=0.5?b(2*c,a)/2:(2-b(2*(1-c),a))/2}})};Fx.Transitions=new Hash({linear:$arguments(0)}); Fx.Transitions.extend=function(a){for(var b in a)Fx.Transitions[b]=new Fx.Transition(a[b])}; Fx.Transitions.extend({Pow:function(b,a){return Math.pow(b,a[0]||6)},Expo:function(a){return Math.pow(2,8*(a-1))},Circ:function(a){return 1-Math.sin(Math.acos(a))},Sine:function(a){return 1-Math.sin((1-a)*Math.PI/2)},Back:function(b,a){a=a[0]||1.618;return Math.pow(b,2)*((a+1)*b-a)},Bounce:function(f){var e;for(var d=0,c=1;1;d+=c,c/=2)if(f>=(7-4*d)/11){e=c*c-Math.pow((11-6*d-11*f)/4,2);break}return e},Elastic:function(b,a){return Math.pow(2,10*--b)*Math.cos(20*b*Math.PI*(a[0]||1)/3)}}); ["Quad","Cubic","Quart","Quint"].each(function(b,a){Fx.Transitions[b]=new Fx.Transition(function(c){return Math.pow(c,[a+2])})}); var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false,noCache:false},initialize:function(a){this.xhr=new Browser.Request;this.setOptions(a);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers= new Hash(this.options.headers)},onStateChange:function(){if(this.xhr.readyState!=4||!this.running)return;this.running=false;this.status=0;$try(function(){this.status=this.xhr.status}.bind(this));this.xhr.onreadystatechange=$empty;if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};this.success(this.response.text,this.response.xml)}else{this.response={text:null,xml:null};this.failure()}},isSuccess:function(){return this.status>=200&& this.status<300},processScripts:function(a){if(this.options.evalResponse||/(ecma|java)script/.test(this.getHeader("Content-type")))return $exec(a);return a.stripScripts(this.options.evalScripts)},success:function(b,a){this.onSuccess(this.processScripts(b),a)},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain()},failure:function(){this.onFailure()},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr)},setHeader:function(a,b){this.headers.set(a, b);return this},getHeader:function(a){return $try(function(){return this.xhr.getResponseHeader(a)}.bind(this))},check:function(){if(!this.running)return true;switch(this.options.link){case "cancel":this.cancel();return true;case "chain":this.chain(this.caller.bind(this,arguments));return false}return false},send:function(k){if(!this.check(k))return this;this.running=true;var i=$type(k);if(i=="string"||i=="element")k={data:k};var d=this.options;k=$extend({data:d.data,url:d.url,method:d.method},k); var g=k.data,b=String(k.url),a=k.method.toLowerCase();switch($type(g)){case "element":g=document.id(g).toQueryString();break;case "object":case "hash":g=Hash.toQueryString(g)}if(this.options.format){var j="format="+this.options.format;g=g?j+"&"+g:j}if(this.options.emulation&&!["get","post"].contains(a)){var h="_method="+a;g=g?h+"&"+g:h;a="post"}if(this.options.urlEncoded&&a=="post"){var c=this.options.encoding?"; charset="+this.options.encoding:"";this.headers.set("Content-type","application/x-www-form-urlencoded"+ c)}if(this.options.noCache){var f="noCache="+(new Date).getTime();g=g?f+"&"+g:f}var e=b.lastIndexOf("/");if(e>-1&&(e=b.indexOf("#"))>-1)b=b.substr(0,e);if(g&&a=="get"){b=b+(b.contains("?")?"&":"?")+g;g=null}this.xhr.open(a.toUpperCase(),b,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(m,l){try{this.xhr.setRequestHeader(l,m)}catch(n){this.fireEvent("exception",[l,m])}},this);this.fireEvent("request");this.xhr.send(g);if(!this.options.async)this.onStateChange(); return this},cancel:function(){if(!this.running)return this;this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request;this.fireEvent("cancel");return this}});(function(){var a={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(b){a[b]=function(){var c=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(c,{method:b}))}});Request.implement(a)})(); Element.Properties.send={set:function(a){var b=this.retrieve("send");if(b)b.cancel();return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},a))},get:function(a){if(a||!this.retrieve("send")){if(a||!this.retrieve("send:options"))this.set("send",a);this.store("send",new Request(this.retrieve("send:options")))}return this.retrieve("send")}}; Element.implement({send:function(a){var b=this.get("send");b.send({data:this,url:a||b.options.url});return this}}); Request.HTML=new Class({Extends:Request,options:{update:false,append:false,evalScripts:true,filter:false},processHTML:function(c){var b=c.match(/<body[^>]*>([\s\S]*?)<\/body>/i);c=b?b[1]:c;var a=new Element("div");return $try(function(){var d="<root>"+c+"</root>",g;if(Browser.Engine.trident){g=new ActiveXObject("Microsoft.XMLDOM");g.async=false;g.loadXML(d)}else g=(new DOMParser).parseFromString(d,"text/xml");d=g.getElementsByTagName("root")[0];if(!d)return null;for(var f=0,e=d.childNodes.length;f< e;f++){var h=Element.clone(d.childNodes[f],true,true);if(h)a.grab(h)}return a})||a.set("html",c)},success:function(d){var c=this.options,b=this.response;b.html=d.stripScripts(function(e){b.javascript=e});var a=this.processHTML(b.html);b.tree=a.childNodes;b.elements=a.getElements("*");if(c.filter)b.tree=b.elements.filter(c.filter);if(c.update)document.id(c.update).empty().set("html",b.html);else if(c.append)document.id(c.append).adopt(a.getChildren());if(c.evalScripts)$exec(b.javascript);this.onSuccess(b.tree, b.elements,b.html,b.javascript)}});Element.Properties.load={set:function(a){var b=this.retrieve("load");if(b)b.cancel();return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},a))},get:function(a){if(a||!this.retrieve("load")){if(a||!this.retrieve("load:options"))this.set("load",a);this.store("load",new Request.HTML(this.retrieve("load:options")))}return this.retrieve("load")}}; Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));return this}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(a){this.parent(a);this.headers.extend({Accept:"application/json","X-Request":"JSON"})},success:function(a){this.response.json=JSON.decode(a,this.options.secure);this.onSuccess(this.response.json,a)}});MooTools.More={version:"1.2.4.2",build:"bd5a93c0913cce25917c48cbdacde568e15e02ef"}; (function(){var a={language:"en-US",languages:{"en-US":{}},cascades:["en-US"]};var b;MooTools.lang=new Events;$extend(MooTools.lang,{setLanguage:function(c){if(!a.languages[c])return this;a.language=c;this.load();this.fireEvent("langChange",c);return this},load:function(){var c=this.cascade(this.getCurrentLanguage());b={};$each(c,function(e,d){b[d]=this.lambda(e)},this)},getCurrentLanguage:function(){return a.language},addLanguage:function(c){a.languages[c]=a.languages[c]||{};return this},cascade:function(e){var c= (a.languages[e]||{}).cascades||[];c.combine(a.cascades);c.erase(e).push(e);var d=c.map(function(f){return a.languages[f]},this);return $merge.apply(this,d)},lambda:function(c){(c||{}).get=function(e,d){return $lambda(c[e]).apply(this,$splat(d))};return c},get:function(e,d,c){if(b&&b[e])return d?b[e].get(d,c):b[e]},set:function(d,e,c){this.addLanguage(d);langData=a.languages[d];if(!langData[e])langData[e]={};$extend(langData[e],c);if(d==this.getCurrentLanguage()){this.load();this.fireEvent("langChange", d)}return this},list:function(){return Hash.getKeys(a.languages)}})})(); (function(){var c=this;var b=function(){if(c.console&&console.log)try{console.log.apply(console,arguments)}catch(d){console.log(Array.slice(arguments))}else Log.logged.push(arguments);return this};var a=function(){this.logged.push(arguments);return this};this.Log=new Class({logged:[],log:a,resetLog:function(){this.logged.empty();return this},enableLog:function(){this.log=b;this.logged.each(function(d){this.log.apply(this,d)},this);return this.resetLog()},disableLog:function(){this.log=a;return this}}); Log.extend(new Log).enableLog();Log.logger=function(){return this.log.apply(this,arguments)}})(); var Depender={options:{loadedSources:[],loadedScripts:["Core","Browser","Array","String","Function","Number","Hash","Element","Event","Element.Event","Class","DomReady","Class.Extras","Request","JSON","Request.JSON","More","Depender","Log"],useScriptInjection:true},loaded:[],sources:{},libs:{},include:function(b){this.log("include: ",b);this.mapLoaded=false;var a=function(c){this.libs=$merge(this.libs,c);$each(this.libs,function(d,e){if(d.scripts)this.loadSource(e,d.scripts)},this)}.bind(this);if($type(b)== "string"){this.log("fetching libs ",b);this.request(b,a)}else a(b);return this},required:[],require:function(b){var a=function(){var c=this.calculateDependencies(b.scripts);if(b.sources)b.sources.each(function(d){c.combine(this.libs[d].files)},this);if(b.serial)c.combine(this.getLoadedScripts());b.scripts=c;this.required.push(b);this.fireEvent("require",b);this.loadScripts(b.scripts)};if(this.mapLoaded)a.call(this);else this.addEvent("mapLoaded",function(){a.call(this);this.removeEvent("mapLoaded", arguments.callee)});return this},cleanDoubleSlash:function(b){if(!b)return b;var a="";if(b.test(/^http:\/\//)){a="http://";b=b.substring(7,b.length)}b=b.replace(/\/\//g,"/");return a+b},request:function(a,b){(new Request.JSON({url:a,secure:false,onSuccess:b})).send()},loadSource:function(b,a){if(this.libs[b].files){this.dataLoaded();return}this.log("loading source: ",a);this.request(this.cleanDoubleSlash(a+"/scripts.json"),function(c){this.log("loaded source: ",a);this.libs[b].files=c;this.dataLoaded()}.bind(this))}, dataLoaded:function(){var a=true;$each(this.libs,function(c,b){if(!this.libs[b].files)a=false},this);if(a){this.mapTree();this.mapLoaded=true;this.calculateLoaded();this.lastLoaded=this.getLoadedScripts().getLength();this.fireEvent("mapLoaded")}},calculateLoaded:function(){var a=function(b){this.scriptsState[b]=true}.bind(this);if(this.options.loadedScripts)this.options.loadedScripts.each(a);if(this.options.loadedSources)this.options.loadedSources.each(function(b){$each(this.libs[b].files,function(c){$each(c, function(e,d){a(d)},this)},this)},this)},deps:{},pathMap:{},mapTree:function(){$each(this.libs,function(b,a){$each(b.files,function(c,d){$each(c,function(f,e){var g=a+":"+d+":"+e;if(this.deps[g])return;this.deps[g]=f.deps;this.pathMap[e]=g},this)},this)},this)},getDepsForScript:function(a){return this.deps[this.pathMap[a]]||[]},calculateDependencies:function(a){var b=[];$splat(a).each(function(c){if(c=="None"||!c)return;var d=this.getDepsForScript(c);if(!d){if(window.console&&console.warn)console.warn("dependencies not mapped: script: %o, map: %o, :deps: %o", c,this.pathMap,this.deps)}else d.each(function(e){if(e==c||e=="None"||!e)return;if(!b.contains(e))b.combine(this.calculateDependencies(e));b.include(e)},this);b.include(c)},this);return b},getPath:function(a){try{var f=this.pathMap[a].split(":");var d=this.libs[f[0]];var b=(d.path||d.scripts)+"/";f.shift();return this.cleanDoubleSlash(b+f.join("/")+".js")}catch(c){return a}},loadScripts:function(a){a=a.filter(function(b){if(!this.scriptsState[b]&&b!="None"){this.scriptsState[b]=false;return true}}, this);if(a.length)a.each(function(b){this.loadScript(b)},this);else this.check()},toLoad:[],loadScript:function(b){if(this.scriptsState[b]&&this.toLoad.length){this.loadScript(this.toLoad.shift());return}else if(this.loading){this.toLoad.push(b);return}var e=function(){this.loading=false;this.scriptLoaded(b);if(this.toLoad.length)this.loadScript(this.toLoad.shift())}.bind(this);var d=function(){this.log("could not load: ",a)}.bind(this);this.loading=true;var a=this.getPath(b);if(this.options.useScriptInjection){this.log("injecting script: ", a);var c=function(){this.log("loaded script: ",a);e()}.bind(this);(new Element("script",{src:a+(this.options.noCache?"?noCache="+(new Date).getTime():""),events:{load:c,readystatechange:function(){if(["loaded","complete"].contains(this.readyState))c()},error:d}})).inject(this.options.target||document.head)}else{this.log("requesting script: ",a);(new Request({url:a,noCache:this.options.noCache,onComplete:function(f){this.log("loaded script: ",a);$exec(f);e()}.bind(this),onFailure:d,onException:d})).send()}}, scriptsState:$H(),getLoadedScripts:function(){return this.scriptsState.filter(function(a){return a})},scriptLoaded:function(a){this.log("loaded script: ",a);this.scriptsState[a]=true;this.check();var b=this.getLoadedScripts();var d=b.getLength();var c=this.scriptsState.getLength();this.fireEvent("scriptLoaded",{script:a,totalLoaded:(d/c*100).round(),currentLoaded:((d-this.lastLoaded)/(c-this.lastLoaded)*100).round(),loaded:b});if(d==c)this.lastLoaded=d},lastLoaded:0,check:function(){var a=[];this.required.each(function(c){var b= [];c.scripts.each(function(d){if(this.scriptsState[d])b.push(d)},this);if(c.onStep)c.onStep({percent:b.length/c.scripts.length*100,scripts:b});if(c.scripts.length!=b.length)return;c.callback();this.required.erase(c);this.fireEvent("requirementLoaded",[b,c])},this)}};$extend(Depender,new Events);$extend(Depender,new Options);$extend(Depender,new Log);Depender._setOptions=Depender.setOptions; Depender.setOptions=function(){Depender._setOptions.apply(Depender,arguments);if(this.options.log)Depender.enableLog();return this};Array.implement({min:function(){return Math.min.apply(null,this)},max:function(){return Math.max.apply(null,this)},average:function(){return this.length?this.sum()/this.length:0},sum:function(){var a=0,b=this.length;if(b){do a+=this[--b];while(b)}return a},unique:function(){return[].combine(this)}}); (function(){var i=this.Date;if(!i.now)i.now=$time;i.Methods={ms:"Milliseconds",year:"FullYear",min:"Minutes",mo:"Month",sec:"Seconds",hr:"Hours"};["Date","Day","FullYear","Hours","Milliseconds","Minutes","Month","Seconds","Time","TimezoneOffset","Week","Timezone","GMTOffset","DayOfYear","LastMonth","LastDayOfMonth","UTCDate","UTCDay","UTCFullYear","AMPM","Ordinal","UTCHours","UTCMilliseconds","UTCMinutes","UTCMonth","UTCSeconds"].each(function(p){i.Methods[p.toLowerCase()]=p});var d=function(q,p){return(new Array(p- String(q).length+1)).join("0")+q};i.implement({set:function(t,r){switch($type(t)){case "object":for(var s in t)this.set(s,t[s]);break;case "string":t=t.toLowerCase();var q=i.Methods;if(q[t])this["set"+q[t]](r)}return this},get:function(q){q=q.toLowerCase();var p=i.Methods;if(p[q])return this["get"+p[q]]();return null},clone:function(){return new i(this.get("time"))},increment:function(p,r){p=p||"day";r=$pick(r,1);switch(p){case "year":return this.increment("month",r*12);case "month":var q=this.get("date"); this.set("date",1).set("mo",this.get("mo")+r);return this.set("date",q.min(this.get("lastdayofmonth")));case "week":return this.increment("day",r*7);case "day":return this.set("date",this.get("date")+r)}if(!i.units[p])throw new Error(p+" is not a supported interval");return this.set("time",this.get("time")+r*i.units[p]())},decrement:function(p,q){return this.increment(p,-1*$pick(q,1))},isLeapYear:function(){return i.isLeapYear(this.get("year"))},clearTime:function(){return this.set({hr:0,min:0,sec:0, ms:0})},diff:function(q,p){if($type(q)=="string")q=i.parse(q);return((q-this)/i.units[p||"day"](3,3)).toInt()},getLastDayOfMonth:function(){return i.daysInMonth(this.get("mo"),this.get("year"))},getDayOfYear:function(){return(i.UTC(this.get("year"),this.get("mo"),this.get("date")+1)-i.UTC(this.get("year"),0,1))/i.units.day()},getWeek:function(){return(this.get("dayofyear")/7).ceil()},getOrdinal:function(p){return i.getMsg("ordinal",p||this.get("date"))},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/, "$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3")},getGMTOffset:function(){var p=this.get("timezoneOffset");return(p>0?"-":"+")+d((p.abs()/60).floor(),2)+d(p%60,2)},setAMPM:function(p){p=p.toUpperCase();var q=this.get("hr");if(q>11&&p=="AM")return this.decrement("hour",12);else if(q<12&&p=="PM")return this.increment("hour",12);return this},getAMPM:function(){return this.get("hr")<12?"AM":"PM"},parse:function(p){this.set("time",i.parse(p));return this},isValid:function(p){return!!(p|| this).valueOf()},format:function(p){if(!this.isValid())return"invalid date";p=p||"%x %X";p=k[p.toLowerCase()]||p;var q=this;return p.replace(/%([a-z%])/gi,function(s,r){switch(r){case "a":return i.getMsg("days")[q.get("day")].substr(0,3);case "A":return i.getMsg("days")[q.get("day")];case "b":return i.getMsg("months")[q.get("month")].substr(0,3);case "B":return i.getMsg("months")[q.get("month")];case "c":return q.toString();case "d":return d(q.get("date"),2);case "H":return d(q.get("hr"),2);case "I":return q.get("hr")% 12||12;case "j":return d(q.get("dayofyear"),3);case "m":return d(q.get("mo")+1,2);case "M":return d(q.get("min"),2);case "o":return q.get("ordinal");case "p":return i.getMsg(q.get("ampm"));case "S":return d(q.get("seconds"),2);case "U":return d(q.get("week"),2);case "w":return q.get("day");case "x":return q.format(i.getMsg("shortDate"));case "X":return q.format(i.getMsg("shortTime"));case "y":return q.get("year").toString().substr(2);case "Y":return q.get("year");case "T":return q.get("GMTOffset"); case "Z":return q.get("Timezone")}return r})},toISOString:function(){return this.format("iso8601")}});i.alias("toISOString","toJSON");i.alias("diff","compare");i.alias("format","strftime");var k={db:"%Y-%m-%d %H:%M:%S",compact:"%Y%m%dT%H%M%S",iso8601:"%Y-%m-%dT%H:%M:%S%T",rfc822:"%a, %d %b %Y %H:%M:%S %Z","short":"%d %b %H:%M","long":"%B %d, %Y %H:%M"};var g=[];var e=i.parse;var n=function(s,u,r){var q=-1;var t=i.getMsg(s+"s");switch($type(u)){case "object":q=t[u.get(s)];break;case "number":q=t[month- 1];if(!q)throw new Error("Invalid "+s+" index: "+index);break;case "string":var p=t.filter(function(v){return this.test(v)},new RegExp("^"+u,"i"));if(!p.length)throw new Error("Invalid "+s+" string");if(p.length>1)throw new Error("Ambiguous "+s);q=p[0]}return r?t.indexOf(q):q};i.extend({getMsg:function(q,p){return MooTools.lang.get("Date",q,p)},units:{ms:$lambda(1),second:$lambda(1E3),minute:$lambda(6E4),hour:$lambda(36E5),day:$lambda(864E5),week:$lambda(6084E5),month:function(q,p){var r=new i;return i.daysInMonth($pick(q, r.get("mo")),$pick(p,r.get("year")))*864E5},year:function(p){p=p||(new i).get("year");return i.isLeapYear(p)?316224E5:31536E6}},daysInMonth:function(q,p){return[31,i.isLeapYear(p)?29:28,31,30,31,30,31,31,30,31,30,31][q]},isLeapYear:function(p){return p%4===0&&p%100!==0||p%400===0},parse:function(r){var q=$type(r);if(q=="number")return new i(r);if(q!="string")return r;r=r.clean();if(!r.length)return null;var p;g.some(function(t){var s=t.re.exec(r);return s?(p=t.handler(s)):false});return p||new i(e(r))}, parseDay:function(p,q){return n("day",p,q)},parseMonth:function(q,p){return n("month",q,p)},parseUTC:function(q){var p=new i(q);var r=i.UTC(p.get("year"),p.get("mo"),p.get("date"),p.get("hr"),p.get("min"),p.get("sec"));return new i(r)},orderIndex:function(p){return i.getMsg("dateOrder").indexOf(p)+1},defineFormat:function(p,q){k[p]=q},defineFormats:function(p){for(var q in p)i.defineFormat(q,p[q])},parsePatterns:g,defineParser:function(p){g.push(p.re&&p.handler?p:l(p))},defineParsers:function(){Array.flatten(arguments).each(i.defineParser)}, define2DigitYearStart:function(p){h=p%100;m=p-h}});var m=1900;var h=70;var j=function(p){return new RegExp("(?:"+i.getMsg(p).map(function(q){return q.substr(0,3)}).join("|")+")[a-z]*")};var a=function(p){switch(p){case "x":return(i.orderIndex("month")==1?"%m[.-/]%d":"%d[.-/]%m")+"([.-/]%y)?";case "X":return"%H([.:]%M)?([.:]%S([.:]%s)?)? ?%p? ?%T?"}return null};var o={d:/[0-2]?[0-9]|3[01]/,H:/[01]?[0-9]|2[0-3]/,I:/0?[1-9]|1[0-2]/,M:/[0-5]?\d/,s:/\d+/,o:/[a-z]*/,p:/[ap]\.?m\.?/,y:/\d{2}|\d{4}/,Y:/\d{4}/, T:/Z|[+-]\d{2}(?::?\d{2})?/};o.m=o.I;o.S=o.M;var c;var b=function(p){c=p;o.a=o.A=j("days");o.b=o.B=j("months");g.each(function(r,q){if(r.format)g[q]=l(r.format)})};var l=function(r){if(!c)return{format:r};var p=[];var q=(r.source||r).replace(/%([a-z])/gi,function(t,s){return a(s)||t}).replace(/\((?!\?)/g,"(?:").replace(/ (?!\?|\*)/g,",? ").replace(/%([a-z%])/gi,function(t,s){var u=o[s];if(!u)return s;p.push(s);return"("+u.source+")"}).replace(/\[a-z\]/gi,"[a-z\\u00c0-\\uffff]");return{format:r,re:new RegExp("^"+ q+"$","i"),handler:function(u){u=u.slice(1).associate(p);var s=(new i).clearTime();if("d"in u)f.call(s,"d",1);if("m"in u)f.call(s,"m",1);for(var t in u)f.call(s,t,u[t]);return s}}};var f=function(p,q){if(!q)return this;switch(p){case "a":case "A":return this.set("day",i.parseDay(q,true));case "b":case "B":return this.set("mo",i.parseMonth(q,true));case "d":return this.set("date",q);case "H":case "I":return this.set("hr",q);case "m":return this.set("mo",q-1);case "M":return this.set("min",q);case "p":return this.set("ampm", q.replace(/\./g,""));case "S":return this.set("sec",q);case "s":return this.set("ms",("0."+q)*1E3);case "w":return this.set("day",q);case "Y":return this.set("year",q);case "y":q=+q;if(q<100)q+=m+(q<h?100:0);return this.set("year",q);case "T":if(q=="Z")q="+00";var r=q.match(/([+-])(\d{2}):?(\d{2})?/);r=(r[1]+"1")*(r[2]*60+(+r[3]||0))+this.getTimezoneOffset();return this.set("time",this-r*6E4)}return this};i.defineParsers("%Y([-./]%m([-./]%d((T| )%X)?)?)?","%Y%m%d(T%H(%M%S?)?)?","%x( %X)?","%d%o( %b( %Y)?)?( %X)?", "%b( %d%o)?( %Y)?( %X)?","%Y %b( %d%o( %X)?)?","%o %b %d %X %T %Y");MooTools.lang.addEvent("langChange",function(p){if(MooTools.lang.get("Date"))b(p)}).fireEvent("langChange",MooTools.lang.getCurrentLanguage())})(); Date.implement({timeDiffInWords:function(a){return Date.distanceOfTimeInWords(this,a||new Date)},timeDiff:function(g,b){if(g==null)g=new Date;var f=((g-this)/1E3).toInt();if(!f)return"0s";var a={s:60,m:60,h:24,d:365,y:0};var e,d=[];for(var c in a){if(!f)break;if(e=a[c]){d.unshift(f%e+c);f=(f/e).toInt()}else d.unshift(f+c)}return d.join(b||":")}});Date.alias("timeDiffInWords","timeAgoInWords"); Date.extend({distanceOfTimeInWords:function(b,a){return Date.getTimePhrase(((a-b)/1E3).toInt())},getTimePhrase:function(f){var d=f<0?"Until":"Ago";if(f<0)f*=-1;var b={minute:60,hour:60,day:24,week:7,month:52/12,year:12,eon:Infinity};var e="lessThanMinute";for(var c in b){var a=b[c];if(f<1.5*a){if(f>0.75*a)e=c;break}f/=a;e=c+"s"}return Date.getMsg(e+d).substitute({delta:f.round()})}}); Date.defineParsers({re:/^(?:tod|tom|yes)/i,handler:function(a){var b=(new Date).clearTime();switch(a[0]){case "tom":return b.increment();case "yes":return b.decrement();default:return b}}},{re:/^(next|last) ([a-z]+)$/i,handler:function(e){var f=(new Date).clearTime();var b=f.getDay();var c=Date.parseDay(e[2],true);var a=c-b;if(c<=b)a+=7;if(e[1]=="last")a-=7;return f.set("date",f.getDate()+a)}}); Hash.implement({getFromPath:function(a){var b=this.getClean();a.replace(/\[([^\]]+)\]|\.([^.[]+)|[^[.]+/g,function(c){if(!b)return null;var d=arguments[2]||arguments[1]||arguments[0];b=d in b?b[d]:null;return c});return b},cleanValues:function(a){a=a||$defined;this.each(function(c,b){if(!a(c))this.erase(b)},this);return this},run:function(){var a=arguments;this.each(function(c,b){if($type(c)=="function")c.run(a)})}}); (function(){var b=["\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd", "\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd", "\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd", "\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd","\ufffd\ufffd"];var a=["A","a","A","a","A","a","A","a","Ae","ae","A","a","A","a","A","a","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","E","e","G","g","I","i","I","i","I","i","I","i","L","l","L","l","L","l","N","n", "N","n","N","n","O","o","O","o","O","o","O","o","Oe","oe","O","o","o","R","r","R","r","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","Ue","ue","U","u","Y","y","Y","y","Z","z","Z","z","Z","z","TH","th","DH","dh","ss","OE","oe","AE","ae","u"];var d={"[\u00a0\u2002\u2003\u2009]":" ","\u00b7":"*","[\u2018\u2019]":"'","[\u201c\u201d]":'"',"\u2026":"...","\u2013":"-","\u2014":"--","\ufffd":"&raquo;"};var c=function(e,f){e=e||"";var g=f?"<"+e+"[^>]*>([\\s\\S]*?)</"+e+">":"</?"+e+ "([^>]+)?>";reg=new RegExp(g,"gi");return reg};String.implement({standardize:function(){var e=this;b.each(function(g,f){e=e.replace(new RegExp(g,"g"),a[f])});return e},repeat:function(e){return(new Array(e+1)).join(this)},pad:function(f,h,e){if(this.length>=f)return this;var g=(h==null?" ":""+h).repeat(f-this.length).substr(0,f-this.length);if(!e||e=="right")return this+g;if(e=="left")return g+this;return g.substr(0,(g.length/2).floor())+this+g.substr(0,(g.length/2).ceil())},getTags:function(e,f){return this.match(c(e, f))||[]},stripTags:function(e,f){return this.replace(c(e,f),"")},tidy:function(){var e=this.toString();$each(d,function(g,f){e=e.replace(new RegExp(f,"g"),g)});return e}})})(); String.implement({parseQueryString:function(){var b=this.split(/[&;]/),a={};if(b.length)b.each(function(g){var c=g.indexOf("="),d=c<0?[""]:g.substr(0,c).match(/[^\]\[]+/g),e=decodeURIComponent(g.substr(c+1)),f=a;d.each(function(j,h){var k=f[j];if(h<d.length-1)f=f[j]=k||{};else if($type(k)=="array")k.push(e);else f[j]=$defined(k)?[k,e]:e})});return a},cleanQueryString:function(a){return this.split("&").filter(function(e){var b=e.indexOf("="),c=b<0?"":e.substr(0,b),d=e.substr(b+1);return a?a.run([c, d]):$chk(d)}).join("&")}}); var URI=new Class({Implements:Options,options:{},regex:/^(?:(\w+):)?(?:\/\/(?:(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)?(\.\.?$|(?:[^?#\/]*\/)*)([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,parts:["scheme","user","password","host","port","directory","file","query","fragment"],schemes:{http:80,https:443,ftp:21,rtsp:554,mms:1755,file:0},initialize:function(b,a){this.setOptions(a);var c=this.options.base||URI.base;if(!b)b=c;if(b&&b.parsed)this.parsed=$unlink(b.parsed);else this.set("value",b.href||b.toString(), c?new URI(c):false)},parse:function(c,b){var a=c.match(this.regex);if(!a)return false;a.shift();return this.merge(a.associate(this.parts),b)},merge:function(b,a){if((!b||!b.scheme)&&(!a||!a.scheme))return false;if(a)this.parts.every(function(c){if(b[c])return false;b[c]=a[c]||"";return true});b.port=b.port||this.schemes[b.scheme.toLowerCase()];b.directory=b.directory?this.parseDirectory(b.directory,a?a.directory:""):"/";return b},parseDirectory:function(b,c){b=(b.substr(0,1)=="/"?"":c||"/")+b;if(!b.test(URI.regs.directoryDot))return b; var a=[];b.replace(URI.regs.endSlash,"").split("/").each(function(d){if(d==".."&&a.length>0)a.pop();else if(d!=".")a.push(d)});return a.join("/")+"/"},combine:function(a){return a.value||a.scheme+"://"+(a.user?a.user+(a.password?":"+a.password:"")+"@":"")+(a.host||"")+(a.port&&a.port!=this.schemes[a.scheme]?":"+a.port:"")+(a.directory||"/")+(a.file||"")+(a.query?"?"+a.query:"")+(a.fragment?"#"+a.fragment:"")},set:function(b,d,c){if(b=="value"){var a=d.match(URI.regs.scheme);if(a)a=a[1];if(a&&!$defined(this.schemes[a.toLowerCase()]))this.parsed= {scheme:a,value:d};else this.parsed=this.parse(d,(c||this).parsed)||(a?{scheme:a,value:d}:{value:d})}else if(b=="data")this.setData(d);else this.parsed[b]=d;return this},get:function(a,b){switch(a){case "value":return this.combine(this.parsed,b?b.parsed:false);case "data":return this.getData()}return this.parsed[a]||""},go:function(){document.location.href=this.toString()},toURI:function(){return this},getData:function(c,b){var a=this.get(b||"query");if(!$chk(a))return c?null:{};var d=a.parseQueryString(); return c?d[c]:d},setData:function(a,c,b){if(typeof a=="string"){a=this.getData();a[arguments[0]]=arguments[1]}else if(c)a=$merge(this.getData(),a);return this.set(b||"query",Hash.toQueryString(a))},clearData:function(a){return this.set(a||"query","")}});URI.prototype.toString=URI.prototype.valueOf=function(){return this.get("value")};URI.regs={endSlash:/\/$/,scheme:/^(\w+):/,directoryDot:/\.\/|\.$/};URI.base=new URI(document.getElements("base[href]",true).getLast(),{base:document.location}); String.implement({toURI:function(a){return new URI(this,a)}}); Element.implement({tidy:function(){this.set("value",this.get("value").tidy())},getTextInRange:function(b,a){return this.get("value").substring(b,a)},getSelectedText:function(){if(this.setSelectionRange)return this.getTextInRange(this.getSelectionStart(),this.getSelectionEnd());return document.selection.createRange().text},getSelectedRange:function(){if($defined(this.selectionStart))return{start:this.selectionStart,end:this.selectionEnd};var e={start:0,end:0};var a=this.getDocument().selection.createRange(); if(!a||a.parentElement()!=this)return e;var c=a.duplicate();if(this.type=="text"){e.start=0-c.moveStart("character",-1E5);e.end=e.start+a.text.length}else{var b=this.get("value");var d=b.length;c.moveToElementText(this);c.setEndPoint("StartToEnd",a);if(c.text.length)d-=b.match(/[\n\r]*$/)[0].length;e.end=d-c.text.length;c.setEndPoint("StartToStart",a);e.start=d-c.text.length}return e},getSelectionStart:function(){return this.getSelectedRange().start},getSelectionEnd:function(){return this.getSelectedRange().end}, setCaretPosition:function(a){if(a=="end")a=this.get("value").length;this.selectRange(a,a);return this},getCaretPosition:function(){return this.getSelectedRange().start},selectRange:function(e,a){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,a)}else{var c=this.get("value");var d=c.substr(e,a-e).replace(/\r/g,"").length;e=c.substr(0,e).replace(/\r/g,"").length;var b=this.createTextRange();b.collapse(true);b.moveEnd("character",e+d);b.moveStart("character",e);b.select()}return this}, insertAtCursor:function(b,a){var d=this.getSelectedRange();var c=this.get("value");this.set("value",c.substring(0,d.start)+b+c.substring(d.end,c.length));if($pick(a,true))this.selectRange(d.start,d.start+b.length);else this.setCaretPosition(d.start+b.length);return this},insertAroundCursor:function(b,a){b=$extend({before:"",defaultMiddle:"",after:""},b);var c=this.getSelectedText()||b.defaultMiddle;var g=this.getSelectedRange();var f=this.get("value");if(g.start==g.end){this.set("value",f.substring(0, g.start)+b.before+c+b.after+f.substring(g.end,f.length));this.selectRange(g.start+b.before.length,g.end+b.before.length+c.length)}else{var d=f.substring(g.start,g.end);this.set("value",f.substring(0,g.start)+b.before+d+b.after+f.substring(g.end,f.length));var e=g.start+b.before.length;if($pick(a,true))this.selectRange(e,e+d.length);else this.setCaretPosition(e+f.length)}return this}}); Elements.from=function(e,d){if($pick(d,true))e=e.stripScripts();var b,c=e.match(/^\s*<(t[dhr]|tbody|tfoot|thead)/i);if(c){b=new Element("table");var a=c[1].toLowerCase();if(["td","th","tr"].contains(a)){b=(new Element("tbody")).inject(b);if(a!="tr")b=(new Element("tr")).inject(b)}}return(b||new Element("div")).set("html",e).getChildren()}; (function(){var d=/(.*?):relay\(([^)]+)\)$/,c=/[+>~\s]/,f=function(g){var h=g.match(d);return!h?{event:g}:{event:h[1],selector:h[2]}},b=function(m,g){var k=m.target;if(c.test(g=g.trim())){var j=this.getElements(g);for(var h=j.length;h--;){var l=j[h];if(k==l||l.hasChild(k))return l}}else for(;k&&k!=this;k=k.parentNode)if(Element.match(k,g))return document.id(k);return null};var a=Element.prototype.addEvent,e=Element.prototype.removeEvent;Element.implement({addEvent:function(j,i){var k=f(j);if(k.selector){var h= this.retrieve("$moo:delegateMonitors",{});if(!h[j]){var g=function(m){var l=b.call(this,m,k.selector);if(l)this.fireEvent(j,[m,l],0,l)}.bind(this);h[j]=g;a.call(this,k.event,g)}}return a.apply(this,arguments)},removeEvent:function(j,i){var k=f(j);if(k.selector){var h=this.retrieve("events");if(!h||!h[j]||i&&!h[j].keys.contains(i))return this;if(i)e.apply(this,[j,i]);else e.apply(this,j);h=this.retrieve("events");if(h&&h[j]&&h[j].length==0){var g=this.retrieve("$moo:delegateMonitors",{});e.apply(this, [k.event,g[j]]);delete g[j]}return this}return e.apply(this,arguments)},fireEvent:function(j,h,g,k){var i=this.retrieve("events");if(!i||!i[j])return this;i[j].keys.each(function(l){l.create({bind:k||this,delay:g,arguments:h})()},this);return this}})})(); Element.implement({measure:function(e){var g=function(h){return!!(!h||h.offsetHeight||h.offsetWidth)};if(g(this))return e.apply(this);var d=this.getParent(),f=[],b=[];while(!g(d)&&d!=document.body){b.push(d.expose());d=d.getParent()}var c=this.expose();var a=e.apply(this);c();b.each(function(h){h()});return a},expose:function(){if(this.getStyle("display")!="none")return $empty;var a=this.style.cssText;this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText= a}.bind(this)},getDimensions:function(a){a=$merge({computeSize:false},a);var f={};var d=function(g,e){return e.computeSize?g.getComputedSize(e):g.getSize()};var b=this.getParent("body");if(b&&this.getStyle("display")=="none")f=this.measure(function(){return d(this,a)});else if(b)try{f=d(this,a)}catch(c){}else f={x:0,y:0};return $chk(f.x)?$extend(f,{width:f.x,height:f.y}):$extend(f,{x:f.width,y:f.height})},getComputedSize:function(a){a=$merge({styles:["padding","border"],plains:{height:["top","bottom"], width:["left","right"]},mode:"both"},a);var c={width:0,height:0};switch(a.mode){case "vertical":delete c.width;delete a.plains.width;break;case "horizontal":delete c.height;delete a.plains.height;break}var b=[];$each(a.plains,function(g,f){g.each(function(h){a.styles.each(function(i){b.push(i=="border"?i+"-"+h+"-width":i+"-"+h)})})});var e={};b.each(function(f){e[f]=this.getComputedStyle(f)},this);var d=[];$each(a.plains,function(g,f){var h=f.capitalize();c["total"+h]=c["computed"+h]=0;g.each(function(i){c["computed"+ i.capitalize()]=0;b.each(function(k,j){if(k.test(i)){e[k]=e[k].toInt()||0;c["total"+h]=c["total"+h]+e[k];c["computed"+i.capitalize()]=c["computed"+i.capitalize()]+e[k]}if(k.test(i)&&f!=k&&(k.test("border")||k.test("padding"))&&!d.contains(k)){d.push(k);c["computed"+h]=c["computed"+h]-e[k]}})})});["Width","Height"].each(function(g){var f=g.toLowerCase();if(!$chk(c[f]))return;c[f]=c[f]+this["offset"+g]+c["computed"+g];c["total"+g]=c[f]+c["total"+g];delete c["computed"+g]},this);return $extend(e,c)}}); (function(){var a=false;window.addEvent("domready",function(){var b=(new Element("div")).setStyles({position:"fixed",top:0,right:0}).inject(document.body);a=b.offsetTop===0;b.dispose()});Element.implement({pin:function(d){if(this.getStyle("display")=="none")return null;var f,b=window.getScroll();if(d!==false){f=this.getPosition();if(!this.retrieve("pinned")){var h={top:f.y-b.y,left:f.x-b.x};if(a)this.setStyle("position","fixed").setStyles(h);else{this.store("pinnedByJS",true);this.setStyles({position:"absolute", top:f.y,left:f.x}).addClass("isPinned");this.store("scrollFixer",function(){if(this.retrieve("pinned"))var i=window.getScroll();this.setStyles({top:h.top.toInt()+i.y,left:h.left.toInt()+i.x})}.bind(this));window.addEvent("scroll",this.retrieve("scrollFixer"))}this.store("pinned",true)}}else{var g;if(!Browser.Engine.trident){var e=this.getParent();g=e.getComputedStyle("position")!="static"?e:e.getOffsetParent()}f=this.getPosition(g);this.store("pinned",false);var c;if(a&&!this.retrieve("pinnedByJS"))c= {top:f.y+b.y,left:f.x+b.x};else{this.store("pinnedByJS",false);window.removeEvent("scroll",this.retrieve("scrollFixer"));c={top:f.y,left:f.x}}this.setStyles($merge(c,{position:"absolute"})).removeClass("isPinned")}return this},unpin:function(){return this.pin(false)},togglepin:function(){this.pin(!this.retrieve("pinned"))}})})(); (function(){var a=Element.prototype.position;Element.implement({position:function(h){if(h&&($defined(h.x)||$defined(h.y)))return a?a.apply(this,arguments):this;$each(h||{},function(w,u){if(!$defined(w))delete h[u]});h=$merge({relativeTo:document.body,position:{x:"center",y:"center"},edge:false,offset:{x:0,y:0},returnPos:false,relFixedPosition:false,ignoreMargins:false,ignoreScroll:false,allowNegative:false},h);var s={x:0,y:0},f=false;var c=this.measure(function(){return document.id(this.getOffsetParent())}); if(c&&c!=this.getDocument().body){s=c.measure(function(){return this.getPosition()});f=c!=document.id(h.relativeTo);h.offset.x=h.offset.x-s.x;h.offset.y=h.offset.y-s.y}var t=function(u){if($type(u)!="string")return u;u=u.toLowerCase();var v={};if(u.test("left"))v.x="left";else if(u.test("right"))v.x="right";else v.x="center";if(u.test("upper")||u.test("top"))v.y="top";else if(u.test("bottom"))v.y="bottom";else v.y="center";return v};h.edge=t(h.edge);h.position=t(h.position);if(!h.edge)if(h.position.x== "center"&&h.position.y=="center")h.edge={x:"center",y:"center"};else h.edge={x:"left",y:"top"};this.setStyle("position","absolute");var g=document.id(h.relativeTo)||document.body,d=g==document.body?window.getScroll():g.getPosition(),n=d.y,i=d.x;var e=g.getScrolls();n+=e.y;i+=e.x;var o=this.getDimensions({computeSize:true,styles:["padding","border","margin"]});var k={},p=h.offset.y,r=h.offset.x,l=window.getSize();switch(h.position.x){case "left":k.x=i+r;break;case "right":k.x=i+r+g.offsetWidth;break; default:k.x=i+(g==document.body?l.x:g.offsetWidth)/2+r;break}switch(h.position.y){case "top":k.y=n+p;break;case "bottom":k.y=n+p+g.offsetHeight;break;default:k.y=n+(g==document.body?l.y:g.offsetHeight)/2+p;break}if(h.edge){var b={};switch(h.edge.x){case "left":b.x=0;break;case "right":b.x=-o.x-o.computedRight-o.computedLeft;break;default:b.x=-(o.totalWidth/2);break}switch(h.edge.y){case "top":b.y=0;break;case "bottom":b.y=-o.y-o.computedTop-o.computedBottom;break;default:b.y=-(o.totalHeight/2);break}k.x+= b.x;k.y+=b.y}k={left:(k.x>=0||f||h.allowNegative?k.x:0).toInt(),top:(k.y>=0||f||h.allowNegative?k.y:0).toInt()};var j={left:"x",top:"y"};["minimum","maximum"].each(function(u){["left","top"].each(function(v){var w=h[u]?h[u][j[v]]:null;if(w!=null&&k[v]<w)k[v]=w})});if(g.getStyle("position")=="fixed"||h.relFixedPosition){var m=window.getScroll();k.top+=m.y;k.left+=m.x}if(h.ignoreScroll){var q=g.getScroll();k.top-=q.y;k.left-=q.x}if(h.ignoreMargins){k.left+=h.edge.x=="right"?o["margin-right"]:h.edge.x== "center"?-o["margin-left"]+(o["margin-right"]+o["margin-left"])/2:-o["margin-left"];k.top+=h.edge.y=="bottom"?o["margin-bottom"]:h.edge.y=="center"?-o["margin-top"]+(o["margin-bottom"]+o["margin-top"])/2:-o["margin-top"]}k.left=Math.ceil(k.left);k.top=Math.ceil(k.top);if(h.returnPos)return k;else this.setStyles(k);return this}})})(); Element.implement({isDisplayed:function(){return this.getStyle("display")!="none"},isVisible:function(){var a=this.offsetWidth,b=this.offsetHeight;return a==0&&b==0?false:a>0&&b>0?true:this.isDisplayed()},toggle:function(){return this[this.isDisplayed()?"hide":"show"]()},hide:function(){var b;try{if((b=this.getStyle("display"))=="none")b=null}catch(a){}return this.store("originalDisplay",b||"block").setStyle("display","none")},show:function(a){return this.setStyle("display",a||this.retrieve("originalDisplay")|| "block")},swapClass:function(a,b){return this.removeClass(a).addClass(b)}}); Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(b,a){this.elements=this.subject=$$(b);this.parent(a)},compute:function(g,h,j){var c={};for(var d in g){var a=g[d],e=h[d],f=c[d]={};for(var b in a)f[b]=this.parent(a[b],e[b],j)}return c},set:function(b){for(var c in b){var a=b[c];for(var d in a)this.render(this.elements[c],d,a[d],this.options.unit)}return this},start:function(c){if(!this.check(c))return this;var h={},j={};for(var d in c){var f=c[d],a=h[d]={},g=j[d]={};for(var b in f){var e= this.prepare(this.elements[d],b,f[b]);a[b]=e.from;g[b]=e.to}}return this.parent(h,j)}}); var Accordion=Fx.Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,alwaysHide:false,trigger:"click",initialDisplayFx:true,returnHeightToAuto:true},initialize:function(){var c=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});this.parent(c.elements,c.options);this.togglers=$$(c.togglers);this.container=document.id(c.container);this.previous=-1;this.internalChain=new Chain;if(this.options.alwaysHide)this.options.wait= true;if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show}if(this.options.start){this.options.display=false;this.options.show=false}this.effects={};if(this.options.opacity)this.effects.opacity="fullOpacity";if(this.options.width)this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";if(this.options.height)this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight";for(var b=0,a=this.togglers.length;b<a;b++)this.addSection(this.togglers[b], this.elements[b]);this.elements.each(function(e,d){if(this.options.show===d)this.fireEvent("active",[this.togglers[d],e]);else for(var f in this.effects)e.setStyle(f,0)},this);if($chk(this.options.display))this.display(this.options.display,this.options.initialDisplayFx);this.addEvent("complete",this.internalChain.callChain.bind(this.internalChain))},addSection:function(e,c){e=document.id(e);c=document.id(c);var f=this.togglers.contains(e);this.togglers.include(e);this.elements.include(c);var a=this.togglers.indexOf(e); var b=this.display.bind(this,a);e.store("accordion:display",b);e.addEvent(this.options.trigger,b);if(this.options.height)c.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});if(this.options.width)c.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});c.fullOpacity=1;if(this.options.fixedWidth)c.fullWidth=this.options.fixedWidth;if(this.options.fixedHeight)c.fullHeight=this.options.fixedHeight;c.setStyle("overflow","hidden"); if(!f)for(var d in this.effects)c.setStyle(d,0);return this},detach:function(){this.togglers.each(function(a){a.removeEvent(this.options.trigger,a.retrieve("accordion:display"))},this)},display:function(a,b){if(!this.check(a,b))return this;b=$pick(b,true);if(this.options.returnHeightToAuto){var d=this.elements[this.previous];if(d&&!this.selfHidden)for(var c in this.effects)d.setStyle(c,d[this.effects[c]])}a=$type(a)=="element"?this.elements.indexOf(a):a;if(this.timer&&this.options.wait||a===this.previous&& !this.options.alwaysHide)return this;this.previous=a;var e={};this.elements.each(function(h,g){e[g]={};var f;if(g!=a)f=true;else if(this.options.alwaysHide&&(h.offsetHeight>0&&this.options.height||h.offsetWidth>0&&this.options.width)){f=true;this.selfHidden=true}this.fireEvent(f?"background":"active",[this.togglers[g],h]);for(var j in this.effects)e[g][j]=f?0:h[this.effects[j]]},this);this.internalChain.chain(function(){if(this.options.returnHeightToAuto&&!this.selfHidden){var f=this.elements[a]; if(f)f.setStyle("height","auto")}}.bind(this));return b?this.start(e):this.set(e)}});Fx.Move=new Class({Extends:Fx.Morph,options:{relativeTo:document.body,position:"center",edge:false,offset:{x:0,y:0}},start:function(a){return this.parent(this.element.position($merge(this.options,a,{returnPos:true})))}}); Element.Properties.move={set:function(a){var b=this.retrieve("move");if(b)b.cancel();return this.eliminate("move").store("move:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("move")){if(a||!this.retrieve("move:options"))this.set("move",a);this.store("move",new Fx.Move(this,this.retrieve("move:options")))}return this.retrieve("move")}};Element.implement({move:function(a){this.get("move").start(a);return this}}); Fx.Reveal=new Class({Extends:Fx.Morph,options:{link:"cancel",styles:["padding","border","margin"],transitionOpacity:!Browser.Engine.trident4,mode:"vertical",display:"block",hideInputs:Browser.Engine.trident?"select, input, textarea, object, embed":false},dissolve:function(){try{if(!this.hiding&&!this.showing)if(this.element.getStyle("display")!="none"){this.hiding=true;this.showing=false;this.hidden=true;this.cssText=this.element.style.cssText;var d=this.element.getComputedSize({styles:this.options.styles, mode:this.options.mode});this.element.setStyle("display","block");if(this.options.transitionOpacity)d.opacity=1;var b={};$each(d,function(f,e){b[e]=[f,0]},this);this.element.setStyle("overflow","hidden");var a=this.options.hideInputs?this.element.getElements(this.options.hideInputs):null;this.$chain.unshift(function(){if(this.hidden){this.hiding=false;$each(d,function(f,e){d[e]=f},this);this.element.style.cssText=this.cssText;this.element.setStyle("display","none");if(a)a.setStyle("visibility","visible")}this.fireEvent("hide", this.element);this.callChain()}.bind(this));if(a)a.setStyle("visibility","hidden");this.start(b)}else{this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("hide",this.element)}else if(this.options.link=="chain")this.chain(this.dissolve.bind(this));else if(this.options.link=="cancel"&&!this.hiding){this.cancel();this.dissolve()}}catch(c){this.hiding=false;this.element.setStyle("display","none");this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("hide", this.element)}return this},reveal:function(){try{if(!this.showing&&!this.hiding)if(this.element.getStyle("display")=="none"||this.element.getStyle("visiblity")=="hidden"||this.element.getStyle("opacity")==0){this.showing=true;this.hiding=this.hidden=false;var d;this.cssText=this.element.style.cssText;this.element.measure(function(){d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode})}.bind(this));$each(d,function(f,e){d[e]=f});if($chk(this.options.heightOverride))d.height= this.options.heightOverride.toInt();if($chk(this.options.widthOverride))d.width=this.options.widthOverride.toInt();if(this.options.transitionOpacity){this.element.setStyle("opacity",0);d.opacity=1}var b={height:0,display:this.options.display};$each(d,function(f,e){b[e]=0});this.element.setStyles($merge(b,{overflow:"hidden"}));var a=this.options.hideInputs?this.element.getElements(this.options.hideInputs):null;if(a)a.setStyle("visibility","hidden");this.start(d);this.$chain.unshift(function(){this.element.style.cssText= this.cssText;this.element.setStyle("display",this.options.display);if(!this.hidden)this.showing=false;if(a)a.setStyle("visibility","visible");this.callChain();this.fireEvent("show",this.element)}.bind(this))}else{this.callChain();this.fireEvent("complete",this.element);this.fireEvent("show",this.element)}else if(this.options.link=="chain")this.chain(this.reveal.bind(this));else if(this.options.link=="cancel"&&!this.showing){this.cancel();this.reveal()}}catch(c){this.element.setStyles({display:this.options.display, visiblity:"visible",opacity:1});this.showing=false;this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("show",this.element)}return this},toggle:function(){if(this.element.getStyle("display")=="none"||this.element.getStyle("visiblity")=="hidden"||this.element.getStyle("opacity")==0)this.reveal();else this.dissolve();return this},cancel:function(){this.parent.apply(this,arguments);this.element.style.cssText=this.cssText;this.hidding=false;this.showing=false}}); Element.Properties.reveal={set:function(a){var b=this.retrieve("reveal");if(b)b.cancel();return this.eliminate("reveal").store("reveal:options",a)},get:function(a){if(a||!this.retrieve("reveal")){if(a||!this.retrieve("reveal:options"))this.set("reveal",a);this.store("reveal",new Fx.Reveal(this,this.retrieve("reveal:options")))}return this.retrieve("reveal")}};Element.Properties.dissolve=Element.Properties.reveal; Element.implement({reveal:function(a){this.get("reveal",a).reveal();return this},dissolve:function(a){this.get("reveal",a).dissolve();return this},nix:function(){var a=Array.link(arguments,{destroy:Boolean.type,options:Object.type});this.get("reveal",a.options).dissolve().chain(function(){this[a.destroy?"destroy":"dispose"]()}.bind(this));return this},wink:function(){var b=Array.link(arguments,{duration:Number.type,options:Object.type});var a=this.get("reveal",b.options);a.reveal().chain(function(){(function(){a.dissolve()}).delay(b.duration|| 2E3)})}}); Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);var d=this.cancel.bind(this,false);if($type(this.element)!="element")this.element=document.id(this.element.getDocument().body);var c=this.element;if(this.options.wheelStops){this.addEvent("start",function(){c.addEvent("mousewheel",d)},true);this.addEvent("complete",function(){c.removeEvent("mousewheel",d)},true)}},set:function(){var a=Array.flatten(arguments); if(Browser.Engine.gecko)a=[Math.round(a[0]),Math.round(a[1])];this.element.scrollTo(a[0],a[1])},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a)})},start:function(c,g){if(!this.check(c,g))return this;var e=this.element.getScrollSize(),b=this.element.getScroll(),d={x:c,y:g};for(var f in d){var a=e[f];if($chk(d[f]))d[f]=$type(d[f])=="number"?d[f]:a;else d[f]=b[f];d[f]+=this.options.offset[f]}return this.parent([b.x,b.y],[d.x,d.y])},toTop:function(){return this.start(false, 0)},toLeft:function(){return this.start(0,false)},toRight:function(){return this.start("right",false)},toBottom:function(){return this.start(false,"bottom")},toElement:function(b){var a=document.id(b).getPosition(this.element);return this.start(a.x,a.y)},scrollIntoView:function(c,e,d){e=e?$splat(e):["x","y"];var h={};c=document.id(c);var f=c.getPosition(this.element);var i=c.getSize();var g=this.element.getScroll();var a=this.element.getSize();var b={x:f.x+i.x,y:f.y+i.y};["x","y"].each(function(j){if(e.contains(j)){if(b[j]> g[j]+a[j])h[j]=b[j]-a[j];if(f[j]<g[j])h[j]=f[j]}if(h[j]==null)h[j]=g[j];if(d&&d[j])h[j]=h[j]+d[j]},this);if(h.x!=g.x||h.y!=g.y)this.start(h.x,h.y);return this},scrollToCenter:function(c,e,d){e=e?$splat(e):["x","y"];c=$(c);var h={},f=c.getPosition(this.element),i=c.getSize(),g=this.element.getScroll(),a=this.element.getSize(),b={x:f.x+i.x,y:f.y+i.y};["x","y"].each(function(j){if(e.contains(j))h[j]=f[j]-(a[j]-i[j])/2;if(h[j]==null)h[j]=g[j];if(d&&d[j])h[j]=h[j]+d[j]},this);if(h.x!=g.x||h.y!=g.y)this.start(h.x, h.y);return this}}); Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical",hideOverflow:true},initialize:function(b,a){this.addEvent("complete",function(){this.open=this.wrapper["offset"+this.layout.capitalize()]!=0;if(this.open&&Browser.Engine.webkit419)this.element.dispose().inject(this.wrapper)},true);this.element=this.subject=document.id(b);this.parent(a);var d=this.element.retrieve("wrapper");var c=this.element.getStyles("margin","position","overflow");if(this.options.hideOverflow)c=$extend(c,{overflow:"hidden"}); this.wrapper=d||(new Element("div",{styles:c})).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);this.now=[];this.open=true},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth},set:function(a){this.element.setStyle(this.margin,a[0]);this.wrapper.setStyle(this.layout,a[1]);return this},compute:function(c,b, a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a)})},start:function(b,e){if(!this.check(b,e))return this;this[e||this.options.mode]();var d=this.element.getStyle(this.margin).toInt();var c=this.wrapper.getStyle(this.layout).toInt();var a=[[d,c],[0,this.offset]];var g=[[d,c],[-this.offset,0]];var f;switch(b){case "in":f=a;break;case "out":f=g;break;case "toggle":f=c==0?a:g}return this.parent(f[0],f[1])},slideIn:function(a){return this.start("in",a)},slideOut:function(a){return this.start("out", a)},hide:function(a){this[a||this.options.mode]();this.open=false;return this.set([-this.offset,0])},show:function(a){this[a||this.options.mode]();this.open=true;return this.set([0,this.offset])},toggle:function(a){return this.start("toggle",a)}}); Element.Properties.slide={set:function(b){var a=this.retrieve("slide");if(a)a.cancel();return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},b))},get:function(a){if(a||!this.retrieve("slide")){if(a||!this.retrieve("slide:options"))this.set("slide",a);this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")))}return this.retrieve("slide")}}; Element.implement({slide:function(d,e){d=d||"toggle";var b=this.get("slide"),a;switch(d){case "hide":b.hide(e);break;case "show":b.show(e);break;case "toggle":var c=this.retrieve("slide:flag",b.open);b[c?"slideOut":"slideIn"](e);this.store("slide:flag",!c);a=true;break;default:b.start(d,e)}if(!a)this.eliminate("slide:flag");return this}}); var SmoothScroll=Fx.SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(b,c){c=c||document;this.doc=c.getDocument();var d=c.getWindow();this.parent(this.doc,b);this.links=$$(this.options.links||this.doc.links);var a=d.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(f){if(f.href.indexOf(a)!=0)return;var e=f.href.substr(a.length);if(e)this.useLink(f,e)},this);if(!Browser.Engine.webkit419)this.addEvent("complete",function(){d.location.hash=this.anchor},true)},useLink:function(c, a){var b;c.addEvent("click",function(d){if(b!==false&&!b)b=document.id(a)||this.doc.getElement("a[name="+a+"]");if(b){d.preventDefault();this.anchor=a;this.toElement(b).chain(function(){this.fireEvent("scrolledTo",[c,b])}.bind(this));c.blur()}}.bind(this))}}); Fx.Sort=new Class({Extends:Fx.Elements,options:{mode:"vertical"},initialize:function(b,a){this.parent(b,a);this.elements.each(function(c){if(c.getStyle("position")=="static")c.setStyle("position","relative")});this.setDefaultOrder()},setDefaultOrder:function(){this.currentOrder=this.elements.map(function(b,a){return a})},sort:function(e){if($type(e)!="array")return false;var i=0,a=0,c={},h={},d=this.options.mode=="vertical";var f=this.elements.map(function(m,j){var l=m.getComputedSize({styles:["border", "padding","margin"]});var n;if(d){n={top:i,margin:l["margin-top"],height:l.totalHeight};i+=n.height-l["margin-top"]}else{n={left:a,margin:l["margin-left"],width:l.totalWidth};a+=n.width}var k=d?"top":"left";h[j]={};var o=m.getStyle(k).toInt();h[j][k]=o||0;return n},this);this.set(h);e=e.map(function(j){return j.toInt()});if(e.length!=this.elements.length){this.currentOrder.each(function(j){if(!e.contains(j))e.push(j)});if(e.length>this.elements.length)e.splice(this.elements.length-1,e.length-this.elements.length)}var b= i=a=0;e.each(function(l,j){var k={};if(d){k.top=i-f[l].top-b;i+=f[l].height}else{k.left=a-f[l].left;a+=f[l].width}b=b+f[l].margin;c[l]=k},this);var g={};$A(e).sort().each(function(j){g[j]=c[j]});this.start(g);this.currentOrder=e;return this},rearrangeDOM:function(a){a=a||this.currentOrder;var b=this.elements[0].getParent();var c=[];this.elements.setStyle("opacity",0);a.each(function(d){c.push(this.elements[d].inject(b).setStyles({top:0,left:0}))},this);this.elements.setStyle("opacity",1);this.elements= $$(c);this.setDefaultOrder();return this},getDefaultOrder:function(){return this.elements.map(function(b,a){return a})},forward:function(){return this.sort(this.getDefaultOrder())},backward:function(){return this.sort(this.getDefaultOrder().reverse())},reverse:function(){return this.sort(this.currentOrder.reverse())},sortByElements:function(a){return this.sort(a.map(function(b){return this.elements.indexOf(b)},this))},swap:function(c,b){if($type(c)=="element")c=this.elements.indexOf(c);if($type(b)== "element")b=this.elements.indexOf(b);var a=$A(this.currentOrder);a[this.currentOrder.indexOf(c)]=b;a[this.currentOrder.indexOf(b)]=c;return this.sort(a)}}); var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,stopPropagation:false,modifiers:{x:"left",y:"top"}},initialize:function(){var b=Array.link(arguments,{options:Object.type,element:$defined});this.element=document.id(b.element);this.document=this.element.getDocument();this.setOptions(b.options||{});var a=$type(this.options.handle);this.handles=(a=="array"||a=="collection"?$$(this.options.handle): document.id(this.options.handle))||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=Browser.Engine.trident?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};this.attach()},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this},detach:function(){this.handles.removeEvent("mousedown",this.bound.start); return this},start:function(c){if(c.rightClick)return;if(this.options.preventDefault)c.preventDefault();if(this.options.stopPropagation)c.stopPropagation();this.mouse.start=c.page;this.fireEvent("beforeStart",this.element);var a=this.options.limit;this.limit={x:[],y:[]};for(var d in this.options.modifiers){if(!this.options.modifiers[d])continue;if(this.options.style)this.value.now[d]=this.element.getStyle(this.options.modifiers[d]).toInt();else this.value.now[d]=this.element[this.options.modifiers[d]]; if(this.options.invert)this.value.now[d]*=-1;this.mouse.pos[d]=c.page[d]-this.value.now[d];if(a&&a[d])for(var b=2;b--;b)if($chk(a[d][b]))this.limit[d][b]=$lambda(a[d][b])()}if($type(this.options.grid)=="number")this.options.grid={x:this.options.grid,y:this.options.grid};this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop)},check:function(a){if(this.options.preventDefault)a.preventDefault();var b=Math.round(Math.sqrt(Math.pow(a.page.x- this.mouse.start.x,2)+Math.pow(a.page.y-this.mouse.start.y,2)));if(b>this.options.snap){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});this.fireEvent("start",[this.element,a]).fireEvent("snap",this.element)}},drag:function(a){if(this.options.preventDefault)a.preventDefault();this.mouse.now=a.page;for(var b in this.options.modifiers){if(!this.options.modifiers[b])continue;this.value.now[b]=this.mouse.now[b]-this.mouse.pos[b];if(this.options.invert)this.value.now[b]*= -1;if(this.options.limit&&this.limit[b])if($chk(this.limit[b][1])&&this.value.now[b]>this.limit[b][1])this.value.now[b]=this.limit[b][1];else if($chk(this.limit[b][0])&&this.value.now[b]<this.limit[b][0])this.value.now[b]=this.limit[b][0];if(this.options.grid[b])this.value.now[b]-=(this.value.now[b]-(this.limit[b][0]||0))%this.options.grid[b];if(this.options.style)this.element.setStyle(this.options.modifiers[b],this.value.now[b]+this.options.unit);else this.element[this.options.modifiers[b]]=this.value.now[b]}this.fireEvent("drag", [this.element,a])},cancel:function(a){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);if(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element)}},stop:function(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);if(a)this.fireEvent("complete",[this.element,a])}}); Element.implement({makeResizable:function(a){var b=new Drag(this,$merge({modifiers:{x:"width",y:"height"}},a));this.store("resizer",b);return b.addEvent("drag",function(){this.fireEvent("resize",b)}.bind(this))}}); Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false,precalculate:false,includeMargins:true,checkDroppables:true},initialize:function(b,a){this.parent(b,a);b=this.element;this.droppables=$$(this.options.droppables);this.container=document.id(this.options.container);if(this.container&&$type(this.container)!="element")this.container=document.id(this.container.getDocument().body);var c=b.getStyles("left","right","position");if(c.left=="auto"||c.top=="auto")b.setPosition(b.getPosition(b.getOffsetParent())); if(c.position=="static")b.setStyle("position","absolute");this.addEvent("start",this.checkDroppables,true);this.overed=null},start:function(a){if(this.container)this.options.limit=this.calculateLimit();if(this.options.precalculate)this.positions=this.droppables.map(function(b){return b.getCoordinates()});this.parent(a)},calculateLimit:function(){var d=this.element.getOffsetParent(),g=this.container.getCoordinates(d),f={},c={},b={},i={},k={};["top","right","bottom","left"].each(function(o){f[o]=this.container.getStyle("border-"+ o).toInt();b[o]=this.element.getStyle("border-"+o).toInt();c[o]=this.element.getStyle("margin-"+o).toInt();i[o]=this.container.getStyle("margin-"+o).toInt();k[o]=d.getStyle("padding-"+o).toInt()},this);var e=this.element.offsetWidth+c.left+c.right,n=this.element.offsetHeight+c.top+c.bottom,h=0,j=0,m=g.right-f.right-e,a=g.bottom-f.bottom-n;if(this.options.includeMargins){h+=c.left;j+=c.top}else{m+=c.right;a+=c.bottom}if(this.element.getStyle("position")=="relative"){var l=this.element.getCoordinates(d); l.left-=this.element.getStyle("left").toInt();l.top-=this.element.getStyle("top").toInt();h+=f.left-l.left;j+=f.top-l.top;m+=c.left-l.left;a+=c.top-l.top;if(this.container!=d){h+=i.left+k.left;j+=(Browser.Engine.trident4?0:i.top)+k.top}}else{h-=c.left;j-=c.top;if(this.container==d){m-=f.left;a-=f.top}else{h+=g.left+f.left;j+=g.top+f.top}}return{x:[h,m],y:[j,a]}},checkAgainst:function(c,b){c=this.positions?this.positions[b]:c.getCoordinates();var a=this.mouse.now;return a.x>c.left&&a.x<c.right&&a.y< c.bottom&&a.y>c.top},checkDroppables:function(){var a=this.droppables.filter(this.checkAgainst,this).getLast();if(this.overed!=a){if(this.overed)this.fireEvent("leave",[this.element,this.overed]);if(a)this.fireEvent("enter",[this.element,a]);this.overed=a}},drag:function(a){this.parent(a);if(this.options.checkDroppables&&this.droppables.length)this.checkDroppables()},stop:function(a){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed,a]);this.overed=null;return this.parent(a)}}); Element.implement({makeDraggable:function(a){var b=new Drag.Move(this,a);this.store("dragger",b);return b}}); var Sortables=new Class({Implements:[Events,Options],options:{snap:4,opacity:1,clone:false,revert:false,handle:false,constrain:false},initialize:function(a,b){this.setOptions(b);this.elements=[];this.lists=[];this.idle=true;this.addLists($$(document.id(a)||a));if(!this.options.clone)this.options.revert=false;if(this.options.revert)this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert))},attach:function(){this.addLists(this.lists);return this},detach:function(){this.lists= this.removeLists(this.lists);return this},addItems:function(){Array.flatten(arguments).each(function(a){this.elements.push(a);var b=a.retrieve("sortables:start",this.start.bindWithEvent(this,a));(this.options.handle?a.getElement(this.options.handle)||a:a).addEvent("mousedown",b)},this);return this},addLists:function(){Array.flatten(arguments).each(function(a){this.lists.push(a);this.addItems(a.getChildren())},this);return this},removeItems:function(){return $$(Array.flatten(arguments).map(function(a){this.elements.erase(a); var b=a.retrieve("sortables:start");(this.options.handle?a.getElement(this.options.handle)||a:a).removeEvent("mousedown",b);return a},this))},removeLists:function(){return $$(Array.flatten(arguments).map(function(a){this.lists.erase(a);this.removeItems(a.getChildren());return a},this))},getClone:function(b,a){if(!this.options.clone)return(new Element("div")).inject(document.body);if($type(this.options.clone)=="function")return this.options.clone.call(this,b,a,this.list);return a.clone(true).setStyles({margin:"0px", position:"absolute",visibility:"hidden",width:a.getStyle("width")}).inject(this.list).setPosition(a.getPosition(a.getOffsetParent()))},getDroppables:function(){var a=this.list.getChildren();if(!this.options.constrain)a=this.lists.concat(a).erase(this.list);return a.erase(this.clone).erase(this.element)},insert:function(c,b){var a="inside";if(this.lists.contains(b)){this.list=b;this.drag.droppables=this.getDroppables()}else a=this.element.getAllPrevious().contains(b)?"before":"after";this.element.inject(b, a);this.fireEvent("sort",[this.element,this.clone])},start:function(b,a){if(!this.idle)return;this.idle=false;this.element=a;this.opacity=a.get("opacity");this.list=a.getParent();this.clone=this.getClone(b,a);this.drag=new Drag.Move(this.clone,{snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),onSnap:function(){b.stop();this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start", [this.element,this.clone])}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)});this.clone.inject(this.element,"before");this.drag.start(b)},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var a=this.element.getStyles("width","height");var b=this.clone.computePosition(this.element.getPosition(this.clone.offsetParent));this.effect.element=this.clone;this.effect.start({top:b.top,left:b.left,width:a.width, height:a.height,opacity:0.25}).chain(this.reset.bind(this))}else this.reset()},reset:function(){this.idle=true;this.clone.destroy();this.fireEvent("complete",this.element)},serialize:function(){var c=Array.link(arguments,{modifier:Function.type,index:$defined});var b=this.lists.map(function(d){return d.getChildren().map(c.modifier||function(e){return e.get("id")},this)},this);var a=c.index;if(this.lists.length==1)a=0;return $chk(a)&&a>=0&&a<this.lists.length?b[a]:b}}); Request.JSONP=new Class({Implements:[Chain,Events,Options,Log],options:{url:"",data:{},retries:0,timeout:0,link:"ignore",callbackKey:"callback",injectScript:document.head},initialize:function(a){this.setOptions(a);if(this.options.log)this.enableLog();this.running=false;this.requests=0;this.triesRemaining=[]},check:function(){if(!this.running)return true;switch(this.options.link){case "cancel":this.cancel();return true;case "chain":this.chain(this.caller.bind(this,arguments));return false}return false}, send:function(c){if(!$chk(arguments[1])&&!this.check(c))return this;var e=$type(c),a=this.options,b=$chk(arguments[1])?arguments[1]:this.requests++;if(e=="string"||e=="element")c={data:c};c=$extend({data:a.data,url:a.url},c);if(!$chk(this.triesRemaining[b]))this.triesRemaining[b]=this.options.retries;var d=this.triesRemaining[b];(function(){var f=this.getScript(c);this.log("JSONP retrieving script with url: "+f.get("src"));this.fireEvent("request",f);this.running=true;(function(){if(d){this.triesRemaining[b]= d-1;if(f){f.destroy();this.send(c,b).fireEvent("retry",this.triesRemaining[b])}}else if(f&&this.options.timeout){f.destroy();this.cancel().fireEvent("failure")}}).delay(this.options.timeout,this)}).delay(Browser.Engine.trident?50:0,this);return this},cancel:function(){if(!this.running)return this;this.running=false;this.fireEvent("cancel");return this},getScript:function(c){var b=Request.JSONP.counter,d;Request.JSONP.counter++;switch($type(c.data)){case "element":d=document.id(c.data).toQueryString(); break;case "object":case "hash":d=Hash.toQueryString(c.data)}var e=c.url+(c.url.test("\\?")?"&":"?")+(c.callbackKey||this.options.callbackKey)+"=Request.JSONP.request_map.request_"+b+(d?"&"+d:"");if(e.length>2083)this.log("JSONP "+e+" will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs");var a=new Element("script",{type:"text/javascript",src:e});Request.JSONP.request_map["request_"+b]=function(f){this.success(f,a)}.bind(this);return a.inject(this.options.injectScript)}, success:function(b,a){if(a)a.destroy();this.running=false;this.log("JSONP successfully retrieved: ",b);this.fireEvent("complete",[b]).fireEvent("success",[b]).callChain()}});Request.JSONP.counter=0;Request.JSONP.request_map={}; Request.Queue=new Class({Implements:[Options,Events],Binds:["attach","request","complete","cancel","success","failure","exception"],options:{stopOnFailure:true,autoAdvance:true,concurrent:1,requests:{}},initialize:function(a){if(a){var b=a.requests;delete a.requests}this.setOptions(a);this.requests=new Hash;this.queue=[];this.reqBinders={};if(b)this.addRequests(b)},addRequest:function(a,b){this.requests.set(a,b);this.attach(a,b);return this},addRequests:function(a){$each(a,function(c,b){this.addRequest(b, c)},this);return this},getName:function(a){return this.requests.keyOf(a)},attach:function(a,b){if(b._groupSend)return this;["request","complete","cancel","success","failure","exception"].each(function(c){if(!this.reqBinders[a])this.reqBinders[a]={};this.reqBinders[a][c]=function(){this["on"+c.capitalize()].apply(this,[a,b].extend(arguments))}.bind(this);b.addEvent(c,this.reqBinders[a][c])},this);b._groupSend=b.send;b.send=function(c){this.send(a,c);return b}.bind(this);return this},removeRequest:function(b){var a= $type(b)=="object"?this.getName(b):b;if(!a&&$type(a)!="string")return this;b=this.requests.get(a);if(!b)return this;["request","complete","cancel","success","failure","exception"].each(function(c){b.removeEvent(c,this.reqBinders[a][c])},this);b.send=b._groupSend;delete b._groupSend;return this},getRunning:function(){return this.requests.filter(function(a){return a.running})},isRunning:function(){return!!this.getRunning().getKeys().length},send:function(b,a){var c=function(){this.requests.get(b)._groupSend(a); this.queue.erase(c)}.bind(this);c.name=b;if(this.getRunning().getKeys().length>=this.options.concurrent||this.error&&this.options.stopOnFailure)this.queue.push(c);else c();return this},hasNext:function(a){return!a?!!this.queue.length:!!this.queue.filter(function(b){return b.name==a}).length},resume:function(){this.error=false;(this.options.concurrent-this.getRunning().getKeys().length).times(this.runNext,this);return this},runNext:function(a){if(!this.queue.length)return this;if(!a)this.queue[0](); else{var b;this.queue.each(function(c){if(!b&&c.name==a){b=true;c()}})}return this},runAll:function(){this.queue.each(function(a){a()});return this},clear:function(a){if(!a)this.queue.empty();else this.queue=this.queue.map(function(b){if(b.name!=a)return b;else return false}).filter(function(b){return b});return this},cancel:function(a){this.requests.get(a).cancel();return this},onRequest:function(){this.fireEvent("request",arguments)},onComplete:function(){this.fireEvent("complete",arguments);if(!this.queue.length)this.fireEvent("end")}, onCancel:function(){if(this.options.autoAdvance&&!this.error)this.runNext();this.fireEvent("cancel",arguments)},onSuccess:function(){if(this.options.autoAdvance&&!this.error)this.runNext();this.fireEvent("success",arguments)},onFailure:function(){this.error=true;if(!this.options.stopOnFailure&&this.options.autoAdvance)this.runNext();this.fireEvent("failure",arguments)},onException:function(){this.error=true;if(!this.options.stopOnFailure&&this.options.autoAdvance)this.runNext();this.fireEvent("exception", arguments)}}); Request.implement({options:{initialDelay:5E3,delay:5E3,limit:6E4},startTimer:function(b){var a=function(){if(!this.running)this.send({data:b})};this.timer=a.delay(this.options.initialDelay,this);this.lastDelay=this.options.initialDelay;this.completeCheck=function(c){$clear(this.timer);this.lastDelay=c?this.options.delay:(this.lastDelay+this.options.delay).min(this.options.limit);this.timer=a.delay(this.lastDelay,this)};return this.addEvent("complete",this.completeCheck)},stopTimer:function(){$clear(this.timer);return this.removeEvent("complete", this.completeCheck)}}); var Asset={javascript:function(f,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);var b=new Element("script",{src:f,type:"text/javascript"});var e=d.onload.bind(b),a=d.check,g=d.document;delete d.onload;delete d.check;delete d.document;b.addEvents({load:e,readystatechange:function(){if(["loaded","complete"].contains(this.readyState))e()}}).set(d);if(Browser.Engine.webkit419)var c=function(){if(!$try(a))return;$clear(c);e()}.periodical(50);return b.inject(g.head)},css:function(b, a){return(new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:b},a))).inject(document.head)},image:function(c,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image;var a=document.id(d)||new Element("img");["load","abort","error"].each(function(e){var f="on"+e;var g=b[f];delete b[f];d[f]=function(){if(!d)return;if(!a.parentNode){a.width=d.width;a.height=d.height}d=d.onload=d.onabort=d.onerror=null;g.delay(1,a,a);a.fireEvent(e,a,1)}});d.src=a.src=c; if(d&&d.complete)d.onload.delay(1);return a.set(b)},images:function(d,c){c=$merge({onComplete:$empty,onProgress:$empty,onError:$empty,properties:{}},c);d=$splat(d);var a=[];var b=0;return new Elements(d.map(function(e){return Asset.image(e,$extend(c.properties,{onload:function(){c.onProgress.call(this,b,d.indexOf(e));b++;if(b==d.length)c.onComplete()},onerror:function(){c.onError.call(this,b,d.indexOf(e));b++;if(b==d.length)c.onComplete()}}))}))}}; var Color=new Native({initialize:function(b,c){if(arguments.length>=3){c="rgb";b=Array.slice(arguments,0,3)}else if(typeof b=="string")if(b.match(/rgb/))b=b.rgbToHex().hexToRgb(true);else if(b.match(/hsb/))b=b.hsbToRgb();else b=b.hexToRgb(true);c=c||"rgb";switch(c){case "hsb":var a=b;b=b.hsbToRgb();b.hsb=a;break;case "hex":b=b.hexToRgb(true);break}b.rgb=b.slice(0,3);b.hsb=b.hsb||b.rgbToHsb();b.hex=b.rgbToHex();return $extend(b,this)}}); Color.implement({mix:function(){var a=Array.slice(arguments);var c=$type(a.getLast())=="number"?a.pop():50;var b=this.slice();a.each(function(d){d=new Color(d);for(var e=0;e<3;e++)b[e]=Math.round(b[e]/100*(100-c)+d[e]/100*c)});return new Color(b,"rgb")},invert:function(){return new Color(this.map(function(a){return 255-a}))},setHue:function(a){return new Color([a,this.hsb[1],this.hsb[2]],"hsb")},setSaturation:function(a){return new Color([this.hsb[0],a,this.hsb[2]],"hsb")},setBrightness:function(a){return new Color([this.hsb[0], this.hsb[1],a],"hsb")}});var $RGB=function(d,c,a){return new Color([d,c,a],"rgb")};var $HSB=function(d,c,a){return new Color([d,c,a],"hsb")};var $HEX=function(a){return new Color(a,"hex")}; Array.implement({rgbToHsb:function(){var b=this[0],c=this[1],j=this[2],g=0;var i=Math.max(b,c,j),e=Math.min(b,c,j);var k=i-e;var h=i/255,f=i!=0?k/i:0;if(f!=0){var d=(i-b)/k;var a=(i-c)/k;var l=(i-j)/k;if(b==i)g=l-a;else if(c==i)g=2+d-l;else g=4+a-d;g/=6;if(g<0)g++}return[Math.round(g*360),Math.round(f*100),Math.round(h*100)]},hsbToRgb:function(){var c=Math.round(this[2]/100*255);if(this[1]==0)return[c,c,c];else{var a=this[0]%360;var e=a%60;var g=Math.round(this[2]*(100-this[1])/1E4*255);var d=Math.round(this[2]* (6E3-this[1]*e)/6E5*255);var b=Math.round(this[2]*(6E3-this[1]*(60-e))/6E5*255);switch(Math.floor(a/60)){case 0:return[c,b,g];case 1:return[d,c,g];case 2:return[g,c,b];case 3:return[g,d,c];case 4:return[b,g,c];case 5:return[c,g,d]}}return false}});String.implement({rgbToHsb:function(){var a=this.match(/\d{1,3}/g);return a?a.rgbToHsb():null},hsbToRgb:function(){var a=this.match(/\d{1,3}/g);return a?a.hsbToRgb():null}}); var Group=new Class({initialize:function(){this.instances=Array.flatten(arguments);this.events={};this.checker={}},addEvent:function(b,a){this.checker[b]=this.checker[b]||{};this.events[b]=this.events[b]||[];if(this.events[b].contains(a))return false;else this.events[b].push(a);this.instances.each(function(c,d){c.addEvent(b,this.check.bind(this,[b,c,d]))},this);return this},check:function(c,a,b){this.checker[c][b]=true;var d=this.instances.every(function(f,e){return this.checker[c][e]||false},this); if(!d)return;this.checker[c]={};this.events[c].each(function(e){e.call(this,this.instances,a)},this)}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:true},initialize:function(b,a){this.parent(b,a);this.load()},save:function(){var a=JSON.encode(this.hash);if(!a||a.length>4096)return false;if(a=="{}")this.dispose();else this.write(a);return true},load:function(){this.hash=new Hash(JSON.decode(this.read(),true));return this}}); Hash.each(Hash.prototype,function(b,a){if(typeof b=="function")Hash.Cookie.implement(a,function(){var c=b.apply(this.hash,arguments);if(this.options.autoSave)this.save();return c})}); (function(){var a={};var b=["shift","control","alt","meta"];var d=/^(?:shift|control|ctrl|alt|meta)$/;var e=function(i,h){i=i.toLowerCase().replace(/^(keyup|keydown):/,function(l,k){h=k;return""});if(!a[i]){var g="",j={};i.split("+").each(function(k){if(d.test(k))j[k]=true;else g=k});j.control=j.control||j.ctrl;var f="";b.each(function(k){if(j[k])f+=k+"+"});a[i]=f+g}return h+":"+a[i]};this.Keyboard=new Class({Extends:Events,Implements:[Options,Log],options:{defaultEventType:"keydown",active:false, events:{}},initialize:function(f){this.setOptions(f);if(Keyboard.manager)Keyboard.manager.manage(this);this.setup()},setup:function(){this.addEvents(this.options.events);if(this.options.active)this.activate()},handle:function(h,g){if(!this.active||h.preventKeyboardPropagation)return;var f=!!this.manager;if(f&&this.activeKB){this.activeKB.handle(h,g);if(h.preventKeyboardPropagation)return}this.fireEvent(g,h);if(!f&&this.activeKB)this.activeKB.handle(h,g)},addEvent:function(h,g,f){return this.parent(e(h, this.options.defaultEventType),g,f)},removeEvent:function(g,f){return this.parent(e(g,this.options.defaultEventType),f)},activate:function(){this.active=true;return this.enable()},deactivate:function(){this.active=false;return this.fireEvent("deactivate")},toggleActive:function(){return this[this.active?"deactivate":"activate"]()},enable:function(f){if(f){if(f!=this.activeKB)this.previous=this.activeKB;this.activeKB=f.fireEvent("activate")}else if(this.manager)this.manager.enable(this);return this}, relenquish:function(){if(this.previous)this.enable(this.previous)},manage:function(f){if(f.manager)f.manager.drop(f);this.instances.push(f);f.manager=this;if(!this.activeKB)this.enable(f);else this._disable(f)},_disable:function(f){if(this.activeKB==f)this.activeKB=null},drop:function(f){this._disable(f);this.instances.erase(f)},instances:[],trace:function(){this.enableLog();var f=this;this.log("the following items have focus: ");while(f){this.log(document.id(f.widget)||f.widget||f,"active: "+this.active); f=f.activeKB}}});Keyboard.stop=function(f){f.preventKeyboardPropagation=true};Keyboard.manager=new this.Keyboard({active:true});Keyboard.trace=function(){Keyboard.manager.trace()};var c=function(g){var f="";b.each(function(h){if(g[h])f+=h+"+"});Keyboard.manager.handle(g,g.type+":"+f+g.key)};document.addEvents({keyup:c,keydown:c});Event.Keys.extend({pageup:33,pagedown:34,end:35,home:36,capslock:20,numlock:144,scrolllock:145})})(); var Scroller=new Class({Implements:[Events,Options],options:{area:20,velocity:1,onChange:function(a,b){this.element.scrollTo(a,b)},fps:50},initialize:function(b,a){this.setOptions(a);this.element=document.id(b);this.listener=$type(this.element)!="element"?document.id(this.element.getDocument().body):this.element;this.timer=null;this.bound={attach:this.attach.bind(this),detach:this.detach.bind(this),getCoords:this.getCoords.bind(this)}},start:function(){this.listener.addEvents({mouseover:this.bound.attach, mouseout:this.bound.detach})},stop:function(){this.listener.removeEvents({mouseover:this.bound.attach,mouseout:this.bound.detach});this.detach();this.timer=$clear(this.timer)},attach:function(){this.listener.addEvent("mousemove",this.bound.getCoords)},detach:function(){this.listener.removeEvent("mousemove",this.bound.getCoords);this.timer=$clear(this.timer)},getCoords:function(a){this.page=this.listener.get("tag")=="body"?a.client:a.page;if(!this.timer)this.timer=this.scroll.periodical(Math.round(1E3/ this.options.fps),this)},scroll:function(){var b=this.element.getSize(),a=this.element.getScroll(),f=this.element.getOffsets(),c=this.element.getScrollSize(),e={x:0,y:0};for(var d in this.page)if(this.page[d]<this.options.area+f[d]&&a[d]!=0)e[d]=(this.page[d]-this.options.area-f[d])*this.options.velocity;else if(this.page[d]+this.options.area>b[d]+f[d]&&a[d]+b[d]!=c[d])e[d]=(this.page[d]-b[d]+this.options.area-f[d])*this.options.velocity;if(e.y||e.x)this.fireEvent("change",[a.x+e.x,a.y+e.y])}}); (function(){var a=function(c,b){return c?$type(c)=="function"?c(b):b.get(c):""};this.Tips=new Class({Implements:[Events,Options],options:{onShow:function(){this.tip.setStyle("display","block")},onHide:function(){this.tip.setStyle("display","none")},title:"title",text:function(b){return b.get("rel")||b.get("href")},showDelay:100,hideDelay:100,className:"tip-wrap",offset:{x:16,y:16},fixed:false},initialize:function(){var b=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(b.options); document.id(this);if(b.elements)this.attach(b.elements)},toElement:function(){if(this.tip)return this.tip;this.container=new Element("div",{"class":"tip"});return this.tip=(new Element("div",{"class":this.options.className,styles:{position:"absolute",top:0,left:0}})).adopt(new Element("div",{"class":"tip-top"}),this.container,new Element("div",{"class":"tip-bottom"})).inject(document.body)},attach:function(b){$$(b).each(function(d){var f=a(this.options.title,d),e=a(this.options.text,d);d.erase("title").store("tip:native", f).retrieve("tip:title",f);d.retrieve("tip:text",e);this.fireEvent("attach",[d]);var c=["enter","leave"];if(!this.options.fixed)c.push("move");c.each(function(h){var g=d.retrieve("tip:"+h);if(!g)g=this["element"+h.capitalize()].bindWithEvent(this,d);d.store("tip:"+h,g).addEvent("mouse"+h,g)},this)},this);return this},detach:function(b){$$(b).each(function(d){["enter","leave","move"].each(function(e){d.removeEvent("mouse"+e,d.retrieve("tip:"+e)).eliminate("tip:"+e)});this.fireEvent("detach",[d]);if(this.options.title== "title"){var c=d.retrieve("tip:native");if(c)d.set("title",c)}},this);return this},elementEnter:function(c,b){this.container.empty();["title","text"].each(function(e){var d=b.retrieve("tip:"+e);if(d)this.fill((new Element("div",{"class":"tip-"+e})).inject(this.container),d)},this);$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this,b);this.position(this.options.fixed?{page:b.getPosition()}:c)},elementLeave:function(c,b){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay, this,b);this.fireForParent(c,b)},fireForParent:function(c,b){if(!b)return;parentNode=b.getParent();if(parentNode==document.body)return;if(parentNode.retrieve("tip:enter"))parentNode.fireEvent("mouseenter",c);else this.fireForParent(parentNode,c)},elementMove:function(c,b){this.position(c)},position:function(e){var c=window.getSize(),b=window.getScroll(),f={x:this.tip.offsetWidth,y:this.tip.offsetHeight},d={x:"left",y:"top"},g={};for(var h in d){g[d[h]]=e.page[h]+this.options.offset[h];if(g[d[h]]+ f[h]-b[h]>c[h])g[d[h]]=e.page[h]-this.options.offset[h]-f[h]}this.tip.setStyles(g)},fill:function(b,c){if(typeof c=="string")b.set("html",c);else b.adopt(c)},show:function(b){this.fireEvent("show",[this.tip,b])},hide:function(b){this.fireEvent("hide",[this.tip,b])}})})(); MooTools.lang.set("en-US","Date",{months:["January","February","March","April","May","June","July","August","September","October","November","December"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dateOrder:["month","date","year"],shortDate:"%m/%d/%Y",shortTime:"%I:%M%p",AM:"AM",PM:"PM",ordinal:function(a){return a>3&&a<21?"th":["th","st","nd","rd","th"][Math.min(a%10,4)]},lessThanMinuteAgo:"less than a minute ago",minuteAgo:"about a minute ago",minutesAgo:"{delta} minutes ago", hourAgo:"about an hour ago",hoursAgo:"about {delta} hours ago",dayAgo:"1 day ago",daysAgo:"{delta} days ago",weekAgo:"1 week ago",weeksAgo:"{delta} weeks ago",monthAgo:"1 month ago",monthsAgo:"{delta} months ago",yearAgo:"1 year ago",yearsAgo:"{delta} years ago",lessThanMinuteUntil:"less than a minute from now",minuteUntil:"about a minute from now",minutesUntil:"{delta} minutes from now",hourUntil:"about an hour from now",hoursUntil:"about {delta} hours from now",dayUntil:"1 day from now",daysUntil:"{delta} days from now", weekUntil:"1 week from now",weeksUntil:"{delta} weeks from now",monthUntil:"1 month from now",monthsUntil:"{delta} months from now",yearUntil:"1 year from now",yearsUntil:"{delta} years from now"}); MooTools.lang.set("en-US","Form.Validator",{required:"This field is required.",minLength:"Please enter at least {minLength} characters (you entered {length} characters).",maxLength:"Please enter no more than {maxLength} characters (you entered {length} characters).",integer:"Please enter an integer in this field. Numbers with decimals (e.g. 1.25) are not permitted.",numeric:'Please enter only numeric values in this field (i.e. "1" or "1.1" or "-1" or "-1.1").',digits:"Please use numbers and punctuation only in this field (for example, a phone number with dashes or dots is permitted).", alpha:"Please use letters only (a-z) with in this field. No spaces or other characters are allowed.",alphanum:"Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.",dateSuchAs:"Please enter a valid date such as {date}",dateInFormatMDY:'Please enter a valid date such as MM/DD/YYYY (i.e. "12/31/1999")',email:'Please enter a valid email address. For example "fred@domain.com".',url:"Please enter a valid URL such as http://www.google.com.",currencyDollar:"Please enter a valid $ amount. For example $100.00 .", oneRequired:"Please enter something for at least one of these inputs.",errorPrefix:"Error: ",warningPrefix:"Warning: ",noSpace:"There can be no spaces in this input.",reqChkByNode:"No items are selected.",requiredChk:"This field is required.",reqChkByName:"Please select a {label}.",match:"This field needs to match the {matchName} field",startDate:"the start date",endDate:"the end date",currendDate:"the current date",afterDate:"The date should be the same or after {label}.",beforeDate:"The date should be the same or before {label}.", startMonth:"Please select a start month",sameMonth:"These two dates must be in the same month - you must change one or the other.",creditcard:"The credit card number entered is invalid. Please check the number and try again. {length} digits entered."});MooTools.lang.set("en-GB","Date",{dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M"}).set("cascade",["en-US"]); MooTools.lang.set("fr-FR","Date",{months:["janvier","f&eacute;vrier","mars","avril","mai","juin","juillet","ao&ucirc;t","septembre","octobre","novembre","d&eacute;cembre"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dateOrder:["date","month","year"],AM:"AM",PM:"PM",shortDate:"%d/%m/%Y",shortTime:"%H:%M",getOrdinal:function(a){return a>1?"":"er"},lessThanMinuteAgo:"il y a moins d'une minute",minuteAgo:"il y a une minute",minutesAgo:"il y a {delta} minutes",hourAgo:"il y a une heure", hoursAgo:"il y a {delta} heures",dayAgo:"il y a un jour",daysAgo:"il y a {delta} jours",weekAgo:"il y a une semaine",weeksAgo:"il y a {delta} semaines",monthAgo:"il y a 1 mois",monthsAgo:"il y a {delta} mois",yearthAgo:"il y a 1 an",yearsAgo:"il y a {delta} ans",lessThanMinuteUntil:"dans moins d'une minute",minuteUntil:"dans une minute",minutesUntil:"dans {delta} minutes",hourUntil:"dans une heure",hoursUntil:"dans {delta} heures",dayUntil:"dans un jour",daysUntil:"dans {delta} jours",weekUntil:"dans 1 semaine", weeksUntil:"dans {delta} semaines",monthUntil:"dans 1 mois",monthsUntil:"dans {delta} mois",yearUntil:"dans 1 an",yearsUntil:"dans {delta} ans"}); MooTools.lang.set("fr-FR","Form.Validator",{required:"Ce champ est obligatoire.",minLength:"Veuillez saisir un minimum de {minLength} caract&egrave;re(s) (vous avez saisi {length} caract&egrave;re(s)).",maxLength:"Veuillez saisir un maximum de {maxLength} caract&egrave;re(s) (vous avez saisi {length} caract&egrave;re(s)).",integer:'Veuillez saisir un nombre entier dans ce champ. Les nombres d&eacute;cimaux (ex : "1,25") ne sont pas autoris&eacute;s.',numeric:'Veuillez saisir uniquement des chiffres dans ce champ (ex : "1" ou "1,1" ou "-1" ou "-1,1").', digits:"Veuillez saisir uniquement des chiffres et des signes de ponctuation dans ce champ (ex : un num&eacute;ro de t&eacute;l&eacute;phone avec des traits d'union est autoris&eacute;).",alpha:"Veuillez saisir uniquement des lettres (a-z) dans ce champ. Les espaces ou autres caract&egrave;res ne sont pas autoris&eacute;s.",alphanum:"Veuillez saisir uniquement des lettres (a-z) ou des chiffres (0-9) dans ce champ. Les espaces ou autres caract&egrave;res ne sont pas autoris&eacute;s.",dateSuchAs:"Veuillez saisir une date correcte comme {date}", dateInFormatMDY:'Veuillez saisir une date correcte, au format JJ/MM/AAAA (ex : "31/11/1999").',email:'Veuillez saisir une adresse de courrier &eacute;lectronique. Par example "fred@domaine.com".',url:"Veuillez saisir une URL, comme http://www.google.com.",currencyDollar:"Veuillez saisir une quantit&eacute; correcte. Par example 100,00&euro;.",oneRequired:"Veuillez s&eacute;lectionner au moins une de ces options.",errorPrefix:"Erreur : ",warningPrefix:"Attention : ",noSpace:"Ce champ n'accepte pas les espaces.", reqChkByNode:"Aucun &eacute;l&eacute;ment n'est s&eacute;lectionn&eacute;.",requiredChk:"Ce champ est obligatoire.",reqChkByName:"Veuillez s&eacute;lectionner un(e) {label}.",match:"Ce champ doit correspondre avec le champ {matchName}.",startDate:"date de d&eacute;but",endDate:"date de fin",currendDate:"date actuelle",afterDate:"La date doit &ecirc;tre identique ou post&eacute;rieure &agrave; {label}.",beforeDate:"La date doit &ecirc;tre identique ou ant&eacute;rieure &agrave; {label}.",startMonth:"Veuillez s&eacute;lectionner un mois de d&eacute;but.", sameMonth:"Ces deux dates doivent &ecirc;tre dans le m&ecirc;me mois - vous devez en modifier une."}); Swiff.Uploader=new Class({Extends:Swiff,Implements:Events,options:{path:"Swiff.Uploader.swf",target:null,zIndex:9999,height:30,width:100,callBacks:null,params:{wMode:"opaque",menu:"false",allowScriptAccess:"always"},typeFilter:null,multiple:true,queued:true,verbose:false,url:null,method:null,data:null,mergeData:true,fieldName:null,fileSizeMin:1,fileSizeMax:null,allowDuplicates:false,timeLimit:Browser.Platform.linux?0:30,buttonImage:null,policyFile:null,fileListMax:0,fileListSizeMax:0,instantStart:false, appendCookieData:false,fileClass:null},initialize:function(options){this.addEvent("load",this.initializeSwiff,true).addEvent("select",this.processFiles,true).addEvent("complete",this.update,true).addEvent("fileRemove",function(file){this.fileList.erase(file)}.bind(this),true);this.setOptions(options);if(this.options.callBacks)Hash.each(this.options.callBacks,function(fn,name){this.addEvent(name,fn)},this);this.options.callBacks={fireCallback:this.fireCallback.bind(this)};var path=this.options.path; if(!path.contains("?"))path+="?noCache="+$time();this.options.container=this.box=(new Element("span",{"class":"swiff-uploader-box"})).inject($(this.options.container)||document.body);this.target=$(this.options.target);if(this.target){var scroll=window.getScroll();this.box.setStyles({position:"absolute",visibility:"visible",zIndex:this.options.zIndex,overflow:"hidden",height:1,width:1,top:scroll.y,left:scroll.x});this.parent(path,{params:{wMode:"transparent"},height:"100%",width:"100%"});this.target.addEvent("mouseenter", this.reposition.bind(this,[]));this.addEvents({buttonEnter:this.targetRelay.bind(this,["mouseenter"]),buttonLeave:this.targetRelay.bind(this,["mouseleave"]),buttonDown:this.targetRelay.bind(this,["mousedown"]),buttonDisable:this.targetRelay.bind(this,["disable"])});this.reposition();window.addEvent("resize",this.reposition.bind(this,[]))}else this.parent(path);this.inject(this.box);this.fileList=[];this.size=this.uploading=this.bytesLoaded=this.percentLoaded=0;if(Browser.Plugins.Flash.version<9)this.fireEvent("fail", ["flash"]);else this.verifyLoad.delay(1E3,this)},verifyLoad:function(){if(this.loaded)return;if(!this.object.parentNode)this.fireEvent("fail",["disabled"]);else if(this.object.style.display=="none")this.fireEvent("fail",["hidden"]);else if(!this.object.offsetWidth)this.fireEvent("fail",["empty"])},fireCallback:function(name,args){if(name.substr(0,4)=="file"){if(args.length>1)this.update(args[1]);var data=args[0];var file=this.findFile(data.id);this.fireEvent(name,file||data,5);if(file){var fire=name.replace(/^file([A-Z])/, function($0,$1){return $1.toLowerCase()});file.update(data).fireEvent(fire,[data],10)}}else this.fireEvent(name,args,5)},update:function(data){$extend(this,data);this.fireEvent("queue",[this],10);return this},findFile:function(id){for(var i=0;i<this.fileList.length;i++)if(this.fileList[i].id==id)return this.fileList[i];return null},initializeSwiff:function(){this.remote("initialize",{width:this.options.width,height:this.options.height,typeFilter:this.options.typeFilter,multiple:this.options.multiple, queued:this.options.queued,url:this.options.url,method:this.options.method,data:this.options.data,mergeData:this.options.mergeData,fieldName:this.options.fieldName,verbose:this.options.verbose,fileSizeMin:this.options.fileSizeMin,fileSizeMax:this.options.fileSizeMax,allowDuplicates:this.options.allowDuplicates,timeLimit:this.options.timeLimit,buttonImage:this.options.buttonImage,policyFile:this.options.policyFile});this.loaded=true;this.appendCookieData()},targetRelay:function(name){if(this.target)this.target.fireEvent(name)}, reposition:function(coords){coords=coords||this.target&&this.target.offsetHeight?this.target.getCoordinates(this.box.getOffsetParent()):{top:window.getScrollTop(),left:0,width:40,height:40};this.box.setStyles(coords);this.fireEvent("reposition",[coords,this.box,this.target])},setOptions:function(options){if(options){if(options.url)options.url=Swiff.Uploader.qualifyPath(options.url);if(options.buttonImage)options.buttonImage=Swiff.Uploader.qualifyPath(options.buttonImage);this.parent(options);if(this.loaded)this.remote("setOptions", options)}return this},setEnabled:function(status){this.remote("setEnabled",status)},start:function(){this.fireEvent("beforeStart");this.remote("start")},stop:function(){this.fireEvent("beforeStop");this.remote("stop")},remove:function(){this.fireEvent("beforeRemove");this.remote("remove")},fileStart:function(file){this.remote("fileStart",file.id)},fileStop:function(file){this.remote("fileStop",file.id)},fileRemove:function(file){this.remote("fileRemove",file.id)},fileRequeue:function(file){this.remote("fileRequeue", file.id)},appendCookieData:function(){var append=this.options.appendCookieData;if(!append)return;var hash={};document.cookie.split(/;\s*/).each(function(cookie){cookie=cookie.split("=");if(cookie.length==2)hash[decodeURIComponent(cookie[0])]=decodeURIComponent(cookie[1])});var data=this.options.data||{};if($type(append)=="string")data[append]=hash;else $extend(data,hash);this.setOptions({data:data})},processFiles:function(successraw,failraw,queue){var cls=this.options.fileClass||Swiff.Uploader.File; var fail=[],success=[];if(successraw){successraw.each(function(data){var ret=new cls(this,data);if(!ret.validate()){ret.remove.delay(10,ret);fail.push(ret)}else{this.size+=data.size;this.fileList.push(ret);success.push(ret);ret.render()}},this);this.fireEvent("selectSuccess",[success],10)}if(failraw||fail.length){fail.extend(failraw?failraw.map(function(data){return new cls(this,data)},this):[]).each(function(file){file.invalidate().render()});this.fireEvent("selectFail",[fail],10)}this.update(queue); if(this.options.instantStart&&success.length)this.start()}}); $extend(Swiff.Uploader,{STATUS_QUEUED:0,STATUS_RUNNING:1,STATUS_ERROR:2,STATUS_COMPLETE:3,STATUS_STOPPED:4,log:function(){if(window.console&&console.info)console.info.apply(console,arguments)},unitLabels:{b:[{min:1,unit:"B"},{min:1024,unit:"kB"},{min:1048576,unit:"MB"},{min:1073741824,unit:"GB"}],s:[{min:1,unit:"s"},{min:60,unit:"m"},{min:3600,unit:"h"},{min:86400,unit:"d"}]},formatUnit:function(base,type,join){var labels=Swiff.Uploader.unitLabels[type=="bps"?"b":type];var append=type=="bps"?"/s": "";var i,l=labels.length,value;if(base<1)return"0 "+labels[0].unit+append;if(type=="s"){var units=[];for(i=l-1;i>=0;i--){value=Math.floor(base/labels[i].min);if(value){units.push(value+" "+labels[i].unit);base-=value*labels[i].min;if(!base)break}}return join===false?units:units.join(join||", ")}for(i=l-1;i>=0;i--){value=labels[i].min;if(base>=value)break}return(base/value).toFixed(1)+" "+labels[i].unit+append}}); Swiff.Uploader.qualifyPath=function(){var anchor;return function(path){(anchor||(anchor=new Element("a"))).href=path;return anchor.href}}(); Swiff.Uploader.File=new Class({Implements:Events,initialize:function(base,data){this.base=base;this.update(data)},update:function(data){return $extend(this,data)},validate:function(){var options=this.base.options;if(options.fileListMax&&this.base.fileList.length>=options.fileListMax){this.validationError="fileListMax";return false}if(options.fileListSizeMax&&this.base.size+this.size>options.fileListSizeMax){this.validationError="fileListSizeMax";return false}return true},invalidate:function(){this.invalid= true;this.base.fireEvent("fileInvalid",this,10);return this.fireEvent("invalid",this,10)},render:function(){return this},setOptions:function(options){if(options){if(options.url)options.url=Swiff.Uploader.qualifyPath(options.url);this.base.remote("fileSetOptions",this.id,options);this.options=$merge(this.options,options)}return this},start:function(){this.base.fileStart(this);return this},stop:function(){this.base.fileStop(this);return this},remove:function(){this.base.fileRemove(this);return this}, requeue:function(){this.base.fileRequeue(this)}}); var FancyUpload2=new Class({Extends:Swiff.Uploader,options:{queued:1,limitSize:0,limitFiles:0,validateFile:$lambda(true)},initialize:function(status,list,options){this.status=$(status);this.list=$(list);options.fileClass=options.fileClass||FancyUpload2.File;options.fileSizeMax=options.limitSize||options.fileSizeMax;options.fileListMax=options.limitFiles||options.fileListMax;this.parent(options);this.addEvents({load:this.render,select:this.onSelect,cancel:this.onCancel,start:this.onStart,queue:this.onQueue, complete:this.onComplete})},render:function(){this.overallTitle=this.status.getElement(".overall-title");this.currentTitle=this.status.getElement(".current-title");this.currentText=this.status.getElement(".current-text");var progress=this.status.getElement(".overall-progress");this.overallProgress=new Fx.ProgressBar(progress,{text:(new Element("span",{"class":"progress-text"})).inject(progress,"after")});progress=this.status.getElement(".current-progress");this.currentProgress=new Fx.ProgressBar(progress, {text:(new Element("span",{"class":"progress-text"})).inject(progress,"after")});this.updateOverall()},onSelect:function(){this.status.removeClass("status-browsing")},onCancel:function(){this.status.removeClass("file-browsing")},onStart:function(){this.status.addClass("file-uploading");this.overallProgress.set(0)},onQueue:function(){this.updateOverall()},onComplete:function(){this.status.removeClass("file-uploading");if(this.size)this.overallProgress.start(100);else{this.overallProgress.set(0);this.currentProgress.set(0)}}, updateOverall:function(){this.overallTitle.set("html",MooTools.lang.get("FancyUpload","progressOverall").substitute({total:Swiff.Uploader.formatUnit(this.size,"b")}));if(!this.size){this.currentTitle.set("html",MooTools.lang.get("FancyUpload","currentTitle"));this.currentText.set("html","")}},upload:function(){this.start()},removeFile:function(){return this.remove()}}); FancyUpload2.File=new Class({Extends:Swiff.Uploader.File,render:function(){if(this.invalid){if(this.validationError){var msg=MooTools.lang.get("FancyUpload","validationErrors")[this.validationError]||this.validationError;this.validationErrorMessage=msg.substitute({name:this.name,size:Swiff.Uploader.formatUnit(this.size,"b"),fileSizeMin:Swiff.Uploader.formatUnit(this.base.options.fileSizeMin||0,"b"),fileSizeMax:Swiff.Uploader.formatUnit(this.base.options.fileSizeMax||0,"b"),fileListMax:this.base.options.fileListMax|| 0,fileListSizeMax:Swiff.Uploader.formatUnit(this.base.options.fileListSizeMax||0,"b")})}this.remove();return}this.addEvents({start:this.onStart,progress:this.onProgress,complete:this.onComplete,error:this.onError,remove:this.onRemove});this.info=new Element("span",{"class":"file-info"});this.element=(new Element("li",{"class":"file"})).adopt(new Element("span",{"class":"file-size",html:Swiff.Uploader.formatUnit(this.size,"b")}),new Element("a",{"class":"file-remove",href:"#",html:MooTools.lang.get("FancyUpload", "remove"),title:MooTools.lang.get("FancyUpload","removeTitle"),events:{click:function(){this.remove();return false}.bind(this)}}),new Element("span",{"class":"file-name",html:MooTools.lang.get("FancyUpload","fileName").substitute(this)}),this.info).inject(this.base.list)},validate:function(){return this.parent()&&this.base.options.validateFile(this)},onStart:function(){this.element.addClass("file-uploading");this.base.currentProgress.cancel().set(0);this.base.currentTitle.set("html",MooTools.lang.get("FancyUpload", "currentFile").substitute(this))},onProgress:function(){this.base.overallProgress.start(this.base.percentLoaded);this.base.currentText.set("html",MooTools.lang.get("FancyUpload","currentProgress").substitute({rate:this.progress.rate?Swiff.Uploader.formatUnit(this.progress.rate,"bps"):"- B",bytesLoaded:Swiff.Uploader.formatUnit(this.progress.bytesLoaded,"b"),timeRemaining:this.progress.timeRemaining?Swiff.Uploader.formatUnit(this.progress.timeRemaining,"s"):"-"}));this.base.currentProgress.start(this.progress.percentLoaded)}, onComplete:function(){this.element.removeClass("file-uploading");this.base.currentText.set("html","Upload completed");this.base.currentProgress.start(100);if(this.response.error){var msg=MooTools.lang.get("FancyUpload","errors")[this.response.error]||"{error} #{code}";this.errorMessage=msg.substitute($extend({name:this.name,size:Swiff.Uploader.formatUnit(this.size,"b")},this.response));var args=[this,this.errorMessage,this.response];this.fireEvent("error",args).base.fireEvent("fileError",args)}else this.base.fireEvent("fileSuccess", [this,this.response.text||""])},onError:function(){this.element.addClass("file-failed");var error=MooTools.lang.get("FancyUpload","fileError").substitute(this);this.info.set("html","<strong>"+error+":</strong>  "+this.errorMessage)},onRemove:function(){this.element.getElements("a").setStyle("visibility","hidden");this.element.fade("out").retrieve("tween").chain(Element.destroy.bind(Element,this.element))}}); (function(){var phrases={progressOverall:"Overall Progress ({total})",currentTitle:"File Progress",currentFile:'Uploading "{name}"',currentProgress:"Upload: {bytesLoaded} with {rate}, {timeRemaining} remaining.",fileName:"{name}",remove:"Remove",removeTitle:"Click to remove this entry.",fileError:"Upload failed",validationErrors:{duplicate:"File <em>{name}</em> is already added, duplicates are not allowed.",sizeLimitMin:"File <em>{name}</em> (<em>{size}</em>) is too small, the minimal file size is {fileSizeMin}.", sizeLimitMax:"File <em>{name}</em> (<em>{size}</em>) is too big, the maximal file size is <em>{fileSizeMax}</em>.",fileListMax:"File <em>{name}</em> could not be added, amount of <em>{fileListMax} files</em> exceeded.",fileListSizeMax:"File <em>{name}</em> (<em>{size}</em>) is too big, overall filesize of <em>{fileListSizeMax}</em> exceeded."},errors:{httpStatus:"Server returned HTTP-Status <code>#{code}</code>",securityError:"Security error occured ({text})",ioError:"Error caused a send or load operation to fail ({text})"}}; if(MooTools.lang)MooTools.lang.set("en-US","FancyUpload",phrases);else MooTools.lang={get:function(from,key){return phrases[key]}}})(); var Autocompleter=new Class({Implements:[Options,Events],options:{minLength:1,markQuery:true,width:"inherit",maxChoices:10,injectChoice:null,customChoices:null,emptyChoices:null,visibleChoices:true,className:"autocompleter-choices",zIndex:42,delay:400,observerOptions:{},fxOptions:{},autoSubmit:false,overflow:false,overflowMargin:25,selectFirst:false,filter:null,filterCase:false,filterSubset:false,forceSelect:false,selectMode:true,choicesMatch:null,multiple:false,separator:", ",separatorSplit:/\s*[,;]\s*/, autoTrim:false,allowDupes:false,cache:true,relative:false},initialize:function(element,options){this.element=$(element);this.setOptions(options);this.build();this.observer=new Observer(this.element,this.prefetch.bind(this),$merge({delay:this.options.delay},this.options.observerOptions));this.queryValue=null;if(this.options.filter)this.filter=this.options.filter.bind(this);var mode=this.options.selectMode;this.typeAhead=mode=="type-ahead";this.selectMode=mode===true?"selection":mode;this.cached=[]}, build:function(){if($(this.options.customChoices))this.choices=this.options.customChoices;else{this.choices=(new Element("ul",{"class":this.options.className,styles:{zIndex:this.options.zIndex}})).inject(document.body);this.relative=false;if(this.options.relative){this.choices.inject(this.element,"after");this.relative=this.element.getOffsetParent()}this.fix=new OverlayFix(this.choices)}if(!this.options.separator.test(this.options.separatorSplit))this.options.separatorSplit=this.options.separator; this.fx=!this.options.fxOptions?null:(new Fx.Tween(this.choices,$merge({property:"opacity",link:"cancel",duration:200},this.options.fxOptions))).addEvent("onStart",Chain.prototype.clearChain).set(0);this.element.setProperty("autocomplete","off").addEvent(Browser.Engine.trident||Browser.Engine.webkit?"keydown":"keypress",this.onCommand.bind(this)).addEvent("click",this.onCommand.bind(this,[false])).addEvent("focus",this.toggleFocus.create({bind:this,arguments:true,delay:100})).addEvent("blur",this.toggleFocus.create({bind:this, arguments:false,delay:100}))},destroy:function(){if(this.fix)this.fix.destroy();this.choices=this.selected=this.choices.destroy()},toggleFocus:function(state){this.focussed=state;if(!state)this.hideChoices(true);this.fireEvent(state?"onFocus":"onBlur",[this.element])},onCommand:function(e){if(!e&&this.focussed)return this.prefetch();if(e&&e.key&&!e.shift)switch(e.key){case "enter":if(this.element.value!=this.opted)return true;if(this.selected&&this.visible){this.choiceSelect(this.selected);return!!this.options.autoSubmit}break; case "up":case "down":if(!this.prefetch()&&this.queryValue!==null){var up=e.key=="up";this.choiceOver((this.selected||this.choices)[this.selected?up?"getPrevious":"getNext":up?"getLast":"getFirst"](this.options.choicesMatch),true)}return false;case "esc":case "tab":this.hideChoices(true);break}return true},setSelection:function(finish){var input=this.selected.inputValue,value=input;var start=this.queryValue.length,end=input.length;if(input.substr(0,start).toLowerCase()!=this.queryValue.toLowerCase())start= 0;if(this.options.multiple){var split=this.options.separatorSplit;value=this.element.value;start+=this.queryIndex;end+=this.queryIndex;var old=value.substr(this.queryIndex).split(split,1)[0];value=value.substr(0,this.queryIndex)+input+value.substr(this.queryIndex+old.length);if(finish){var tokens=value.split(this.options.separatorSplit).filter(function(entry){return this.test(entry)},/[^\s,]+/);if(!this.options.allowDupes)tokens=[].combine(tokens);var sep=this.options.separator;value=tokens.join(sep)+ sep;end=value.length}}this.observer.setValue(value);this.opted=value;if(finish||this.selectMode=="pick")start=end;this.element.selectRange(start,end);this.fireEvent("onSelection",[this.element,this.selected,value,input])},showChoices:function(){var match=this.options.choicesMatch,first=this.choices.getFirst(match);this.selected=this.selectedValue=null;if(this.fix){var pos=this.element.getCoordinates(this.relative),width=this.options.width||"auto";this.choices.setStyles({left:pos.left,top:pos.bottom, width:width===true||width=="inherit"?pos.width:width})}if(!first)return;if(!this.visible){this.visible=true;this.choices.setStyle("display","");if(this.fx)this.fx.start(1);this.fireEvent("onShow",[this.element,this.choices])}if(this.options.selectFirst||this.typeAhead||first.inputValue==this.queryValue)this.choiceOver(first,this.typeAhead);var items=this.choices.getChildren(match),max=this.options.maxChoices;var styles={overflowY:"hidden",height:""};this.overflown=false;if(items.length>max){var item= items[max-1];styles.overflowY="scroll";styles.height=item.getCoordinates(this.choices).bottom;this.overflown=true}this.choices.setStyles(styles);this.fix.show();if(this.options.visibleChoices){var scroll=document.getScroll(),size=document.getSize(),coords=this.choices.getCoordinates();if(coords.right>scroll.x+size.x)scroll.x=coords.right-size.x;if(coords.bottom>scroll.y+size.y)scroll.y=coords.bottom-size.y;window.scrollTo(Math.min(scroll.x,coords.left),Math.min(scroll.y,coords.top))}},hideChoices:function(clear){if(clear){var value= this.element.value;if(this.options.forceSelect)value=this.opted;if(this.options.autoTrim)value=value.split(this.options.separatorSplit).filter($arguments(0)).join(this.options.separator);this.observer.setValue(value)}if(!this.visible)return;this.visible=false;if(this.selected)this.selected.removeClass("autocompleter-selected");this.observer.clear();var hide=function(){this.choices.setStyle("display","none");this.fix.hide()}.bind(this);if(this.fx)this.fx.start(0).chain(hide);else hide();this.fireEvent("onHide", [this.element,this.choices])},prefetch:function(){var value=this.element.value,query=value;if(this.options.multiple){var split=this.options.separatorSplit;var values=value.split(split);var index=this.element.getSelectedRange().start;var toIndex=value.substr(0,index).split(split);var last=toIndex.length-1;index-=toIndex[last].length;query=values[last]}if(query.length<this.options.minLength)this.hideChoices();else if(query===this.queryValue||this.visible&&query==this.selectedValue){if(this.visible)return false; this.showChoices()}else{this.queryValue=query;this.queryIndex=index;if(!this.fetchCached())this.query()}return true},fetchCached:function(){return false;if(!this.options.cache||!this.cached||!this.cached.length||this.cached.length>=this.options.maxChoices||this.queryValue)return false;this.update(this.filter(this.cached));return true},update:function(tokens){this.choices.empty();this.cached=tokens;var type=tokens&&$type(tokens);if(!type||type=="array"&&!tokens.length||type=="hash"&&!tokens.getLength())(this.options.emptyChoices|| this.hideChoices).call(this);else{if(this.options.maxChoices<tokens.length&&!this.options.overflow)tokens.length=this.options.maxChoices;tokens.each(this.options.injectChoice||function(token){var choice=new Element("li",{html:this.markQueryValue(token)});choice.inputValue=token;this.addChoiceEvents(choice).inject(this.choices)},this);this.showChoices()}},choiceOver:function(choice,selection){if(!choice||choice==this.selected)return;if(this.selected)this.selected.removeClass("autocompleter-selected"); this.selected=choice.addClass("autocompleter-selected");this.fireEvent("onSelect",[this.element,this.selected,selection]);if(!this.selectMode)this.opted=this.element.value;if(!selection)return;this.selectedValue=this.selected.inputValue;if(this.overflown){var coords=this.selected.getCoordinates(this.choices),margin=this.options.overflowMargin,top=this.choices.scrollTop,height=this.choices.offsetHeight,bottom=top+height;if(coords.top-margin<top&&top)this.choices.scrollTop=Math.max(coords.top-margin, 0);else if(coords.bottom+margin>bottom)this.choices.scrollTop=Math.min(coords.bottom-height+margin,bottom)}if(this.selectMode)this.setSelection()},choiceSelect:function(choice){if(choice)this.choiceOver(choice);this.setSelection(true);this.queryValue=false;this.hideChoices()},filter:function(tokens){return(tokens||this.tokens).filter(function(token){return this.test(token)},new RegExp((this.options.filterSubset?"":"^")+this.queryValue.escapeRegExp(),this.options.filterCase?"":"i"))},markQueryValue:function(str){return!this.options.markQuery|| !this.queryValue?str:str.replace(new RegExp("("+(this.options.filterSubset?"":"^")+this.queryValue.escapeRegExp()+")",this.options.filterCase?"":"i"),'<span class="autocompleter-queried">$1</span>')},addChoiceEvents:function(el){return el.addEvents({mouseover:this.choiceOver.bind(this,[el]),click:this.choiceSelect.bind(this,[el])})}}); var OverlayFix=new Class({initialize:function(el){if(Browser.Engine.trident){this.element=$(el);this.relative=this.element.getOffsetParent();this.fix=(new Element("iframe",{frameborder:"0",scrolling:"no",src:"javascript:false;",styles:{position:"absolute",border:"none",display:"none",filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}})).inject(this.element,"after")}},show:function(){if(this.fix){var coords=this.element.getCoordinates(this.relative);delete coords.right;delete coords.bottom; this.fix.setStyles($extend(coords,{display:"",zIndex:(this.element.getStyle("zIndex")||1)-1}))}return this},hide:function(){if(this.fix)this.fix.setStyle("display","none");return this},destroy:function(){if(this.fix)this.fix=this.fix.destroy()}}); Element.implement({getSelectedRange:function(){if(!Browser.Engine.trident)return{start:this.selectionStart,end:this.selectionEnd};var pos={start:0,end:0};var range=this.getDocument().selection.createRange();if(!range||range.parentElement()!=this)return pos;var dup=range.duplicate();if(this.type=="text"){pos.start=0-dup.moveStart("character",-1E5);pos.end=pos.start+range.text.length}else{var value=this.value;var offset=value.length-value.match(/[\n\r]*$/)[0].length;dup.moveToElementText(this);dup.setEndPoint("StartToEnd", range);pos.end=offset-dup.text.length;dup.setEndPoint("StartToStart",range);pos.start=offset-dup.text.length}return pos},selectRange:function(start,end){if(Browser.Engine.trident){var diff=this.value.substr(start,end-start).replace(/\r/g,"").length;start=this.value.substr(0,start).replace(/\r/g,"").length;var range=this.createTextRange();range.collapse(true);range.moveEnd("character",start+diff);range.moveStart("character",start);range.select()}else{this.focus();this.setSelectionRange(start,end)}return this}}); Autocompleter.Base=Autocompleter;Autocompleter.Local=new Class({Extends:Autocompleter,options:{minLength:0,delay:200},initialize:function(element,tokens,options){this.parent(element,options);this.tokens=tokens},query:function(){this.update(this.filter())}}); Autocompleter.Request=new Class({Extends:Autocompleter,options:{postData:{},ajaxOptions:{},postVar:"value"},query:function(){var data=$unlink(this.options.postData)||{};data[this.options.postVar]=this.queryValue;var indicator=$(this.options.indicator);if(indicator)indicator.setStyle("display","");var cls=this.options.indicatorClass;if(cls)this.element.addClass(cls);this.fireEvent("onRequest",[this.element,this.request,data,this.queryValue]);this.request.send({data:data})},queryResponse:function(){var indicator= $(this.options.indicator);if(indicator)indicator.setStyle("display","none");var cls=this.options.indicatorClass;if(cls)this.element.removeClass(cls);return this.fireEvent("onComplete",[this.element,this.request])}}); Autocompleter.Request.JSON=new Class({Extends:Autocompleter.Request,initialize:function(el,url,options){this.parent(el,options);this.request=(new Request.JSON($merge({url:url,link:"cancel"},this.options.ajaxOptions))).addEvent("onComplete",this.queryResponse.bind(this))},queryResponse:function(response){this.parent();this.update(response)}}); Autocompleter.Request.HTML=new Class({Extends:Autocompleter.Request,initialize:function(el,url,options){this.parent(el,options);this.request=(new Request.HTML($merge({url:url,link:"cancel",update:this.choices},this.options.ajaxOptions))).addEvent("onComplete",this.queryResponse.bind(this))},queryResponse:function(tree,elements){this.parent();if(!elements||!elements.length)this.hideChoices();else{this.choices.getChildren(this.options.choicesMatch).each(this.options.injectChoice||function(choice){var value= choice.innerHTML;choice.inputValue=value;this.addChoiceEvents(choice.set("html",this.markQueryValue(value)))},this);this.showChoices()}}});Autocompleter.Ajax={Base:Autocompleter.Request,Json:Autocompleter.Request.JSON,Xhtml:Autocompleter.Request.HTML};var isIE=navigator.appVersion.indexOf("MSIE")!=-1?true:false;var isWin=navigator.appVersion.toLowerCase().indexOf("win")!=-1?true:false;var isOpera=navigator.userAgent.indexOf("Opera")!=-1?true:false; function ControlVersion(){var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); version="WIN 3,0,18,0"}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11"}catch(e){version=-1}return version} function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3]; if(versionRevision=="")versionRevision=descArray[4];if(versionRevision[0]=="d")versionRevision=versionRevision.substring(1);else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0)versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"))}var flashVer=versionMajor+"."+versionMinor+"."+versionRevision}}else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!= -1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera)flashVer=ControlVersion();return flashVer} function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision){versionStr=GetSwfVer();if(versionStr==-1)return false;else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",")}else versionArray=versionStr.split(".");var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer))return true;else if(versionMajor==parseFloat(reqMajorVer))if(versionMinor> parseFloat(reqMinorVer))return true;else if(versionMinor==parseFloat(reqMinorVer))if(versionRevision>=parseFloat(reqRevision))return true;return false}}function AC_AddExtension(src,ext){if(src.indexOf("?")!=-1)return src.replace(/\?/,ext+"?");else return src+ext} function AC_Generateobj(objAttrs,params,embedAttrs){var str="";if(isIE&&isWin&&!isOpera){str+="<object ";for(var i in objAttrs)str+=i+'="'+objAttrs[i]+'" ';str+=">";for(var i in params)str+='<param name="'+i+'" value="'+params[i]+'" /> ';str+="</object>"}else{str+="<embed ";for(var i in embedAttrs)str+=i+'="'+embedAttrs[i]+'" ';str+="> </embed>"}document.write(str)} function AC_FL_RunContent(){var ret=AC_GetArgs(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs)} function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object;ret.embedAttrs=new Object;ret.params=new Object;ret.objAttrs=new Object;for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case "classid":break;case "pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case "src":case "movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblClick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":case "codebase":ret.objAttrs[args[i]]= args[i+1];break;case "id":case "width":case "height":case "align":case "vspace":case "hspace":case "class":case "title":case "accesskey":case "name":case "tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1]}}ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret}var isIE=navigator.appVersion.indexOf("MSIE")!=-1?true:false; var isWin=navigator.appVersion.toLowerCase().indexOf("win")!=-1?true:false;var isOpera=navigator.userAgent.indexOf("Opera")!=-1?true:false; function ControlVersion(){var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); version="WIN 3,0,18,0"}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11"}catch(e){version=-1}return version} function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3]; if(versionRevision=="")versionRevision=descArray[4];if(versionRevision[0]=="d")versionRevision=versionRevision.substring(1);else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0)versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"))}var flashVer=versionMajor+"."+versionMinor+"."+versionRevision}}else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!= -1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera)flashVer=ControlVersion();return flashVer} function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision){versionStr=GetSwfVer();if(versionStr==-1)return false;else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",")}else versionArray=versionStr.split(".");var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer))return true;else if(versionMajor==parseFloat(reqMajorVer))if(versionMinor> parseFloat(reqMinorVer))return true;else if(versionMinor==parseFloat(reqMinorVer))if(versionRevision>=parseFloat(reqRevision))return true;return false}}function AC_AddExtension(src,ext){if(src.indexOf("?")!=-1)return src.replace(/\?/,ext+"?");else return src+ext} function AC_Generateobj(objAttrs,params,embedAttrs){var str="";if(isIE&&isWin&&!isOpera){str+="<object ";for(var i in objAttrs)str+=i+'="'+objAttrs[i]+'" ';str+=">";for(var i in params)str+='<param name="'+i+'" value="'+params[i]+'" /> ';str+="</object>"}else{str+="<embed ";for(var i in embedAttrs)str+=i+'="'+embedAttrs[i]+'" ';str+="> </embed>"}document.write(str)} function AC_FL_RunContent(){var ret=AC_GetArgs(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs)}function AC_SW_RunContent(){var ret=AC_GetArgs(arguments,".dcr","src","clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs)} function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object;ret.embedAttrs=new Object;ret.params=new Object;ret.objAttrs=new Object;for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case "classid":break;case "pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case "src":case "movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblclick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":case "codebase":case "id":ret.objAttrs[args[i]]= args[i+1];break;case "width":case "height":case "align":case "vspace":case "hspace":case "class":case "title":case "accesskey":case "name":case "tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1]}}ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret} Fx.ProgressBar=new Class({Extends:Fx,options:{text:null,url:null,transition:Fx.Transitions.Circ.easeOut,fit:true,link:"cancel"},initialize:function(element,options){this.element=$(element);this.parent(options);var url=this.options.url;if(url)this.element.setStyles({"background-image":"url("+url+")","background-repeat":"no-repeat"});if(this.options.fit){url=url||this.element.getStyle("background-image").replace(/^url\(["']?|["']?\)$/g,"");if(url){var fill=new Image;fill.onload=function(){this.fill= fill.width;fill=fill.onload=null;this.set(this.now||0)}.bind(this);fill.src=url;if(!this.fill&&fill.width)fill.onload()}}else this.set(0)},start:function(to,total){return this.parent(this.now,arguments.length==1?to.limit(0,100):to/total*100)},set:function(to){this.now=to;var css=this.fill?(this.fill/-2+to/100*(this.element.width||1)||0).round()+"px":100-to+"%";this.element.setStyle("backgroundPosition",css+" 0px").title=Math.round(to)+"%";var text=$(this.options.text);if(text)text.set("text",Math.round(to)+ "%");return this}}); var Observer=new Class({Implements:[Options,Events],options:{periodical:false,delay:1E3},initialize:function(el,onFired,options){this.element=$(el)||$$(el);this.addEvent("onFired",onFired);this.setOptions(options);this.bound=this.changed.bind(this);this.resume()},changed:function(){var value=this.element.get("value");if($equals(this.value,value))return;this.clear();this.value=value;this.timeout=this.onFired.delay(this.options.delay,this)},setValue:function(value){this.value=value;this.element.set("value", value);return this.clear()},onFired:function(){this.fireEvent("onFired",[this.value,this.element])},clear:function(){$clear(this.timeout||null);return this},pause:function(){if(this.timer)$clear(this.timer);else this.element.removeEvent("keyup",this.bound);return this.clear()},resume:function(){this.value=this.element.get("value");if(this.options.periodical)this.timer=this.changed.periodical(this.options.periodical,this);else this.element.addEvent("keyup",this.bound);return this}}); var $equals=function(obj1,obj2){return obj1==obj2||JSON.encode(obj1)==JSON.encode(obj2)}; var Uploader=new Class({Implements:[Options,Events],options:{container:null,queued:true,verbose:false,url:null,method:null,data:null,mergeData:true,fieldName:null,allowDuplicates:false,fileListMax:0,instantStart:false,appendCookieData:false,fileClass:null},initialize:function(options){this.setOptions(options);this.target=$(this.options.target);this.box=(new Element("div")).setStyles({position:"absolute",opacity:0.01,zIndex:9999,overflow:"hidden"});this.reposition();window.addEvent("resize",this.reposition.bind(this)); this.box.inject(this.options.container||document.body);this.addEvents({buttonEnter:this.targetRelay.bind(this,["mouseenter"]),buttonLeave:this.targetRelay.bind(this,["mouseleave"]),buttonDown:this.targetRelay.bind(this,["mousedown"]),buttonDisable:this.targetRelay.bind(this,["disable"])});this.uploading=0;this.fileList=[];this.createIFrame();return this},targetRelay:function(name){if(this.target)this.target.fireEvent(name)},createIFrame:function(){this.iframe=(new Element("iframe",{src:"javascript:'<html></html>'", frameborder:"no",border:0,styles:{width:"100%",height:"100%"}})).inject(this.box);this.runner=this.createIBody.periodical(50,this)},createIBody:function(){var doc=this.iframe.contentWindow.document;if(!doc||!doc.body)return;$clear(this.runner);var align=Browser.Engine.trident?"left":"right";doc.body.innerHTML='<form method="post" enctype="multipart/form-data" id="form">'+'<input type="file" id="file" style="position:absolute;'+align+':0;top:0" />'+'<input type="submit" /><div id="data"></div></form>'+ '<style type="text/css">*{margin:0;padding:0;border:0;overflow:hidden;cursor:pointer;}</style>';this.doc=doc;this.processIBody.delay(50,this)},processIBody:function(){this.doc;if(!(this.file=this.doc.getElementById("file"))||!this.file.offsetHeight){this.createIBody();return}$extend(this.file,{onmousedown:function(){if(Browser.Engine.presto)return true;(function(){this.file.click();this.fireEvent("buttonDown")}).delay(10,this);return false}.bind(this),onfocus:function(){return false},onchange:this.select.bind(this), onmouseover:this.fireEvent.bind(this,"buttonEnter"),onmouseout:this.fireEvent.bind(this,"buttonLeave")})},select:function(){this.file.onchange=this.file.onmousedown=this.file.onfocus=null;var name=this.file.value.replace(/^.*[\\\/]/,"");var cls=this.options.fileClass||Uploader.File;var ret=new cls(this,name,this.iframe.setStyle("display","none"));if(!ret.validate()){ret.invalidate().render();this.fireEvent("onSelectFailed",[[ret]]);return}this.fileList.push(ret);ret.render();this.fireEvent("onSelectSuccess", [[ret]]);if(this.options.instantStart)this.start();this.file=null;this.createIFrame()},reposition:function(){var pos=this.target.getCoordinates(this.box.getOffsetParent());this.box.setStyles(pos)},start:function(){var queued=this.options.queued;queued=queued?queued>1?queued:1:0;for(var i=0,file;file=this.fileList[i];i++){if(this.fileList[i].status!=Uploader.STATUS_QUEUED)continue;this.fileList[i].start();if(queued&&this.uploading>=queued)break}return this},stop:function(){for(var i=this.fileList.length;i--;)this.fileList[i].stop()}, remove:function(){for(var i=this.fileList.length;i--;)this.fileList[i].remove()},setEnabled:function(status){this.file.disabled=!!status;if(status)this.fireEvent("buttonDisable")}});$extend(Uploader,{STATUS_QUEUED:0,STATUS_RUNNING:1,STATUS_ERROR:2,STATUS_COMPLETE:3,STATUS_STOPPED:4,id:0,log:function(){if(window.console&&console.info)console.info.apply(console,arguments)}}); Uploader.File=new Class({Extends:Events,Implements:Options,options:{url:null,method:null,data:null,mergeData:true,fieldName:null},initialize:function(base,name,iframe){this.base=base;this.id=Uploader.id++;this.name=name;this.extension=name.replace(/^.*\./,"").toLowerCase();this.status=Uploader.STATUS_QUEUED;this.dates={};this.dates.add=new Date;this.iframe=iframe.addEvents({abort:this.stop.bind(this),load:this.onLoad.bind(this)})},fireEvent:function(name){this.base.fireEvent("file"+name.capitalize(), [this]);Uploader.log("File::"+name,this);return this.parent(name,[this])},validate:function(){var base=this.base.options;if(!base.allowDuplicates){var name=this.name;var dup=this.base.fileList.some(function(file){return file.name==name});if(dup){this.validationError="duplicate";return false}}if(base.fileListMax&&this.base.fileList.length>=base.fileListMax){this.validationError="fileListMax";return false}return true},invalidate:function(){this.invalid=true;return this.fireEvent("invalid")},render:function(){return this}, onLoad:function(){if(this.status!=Uploader.STATUS_RUNNING)return;this.status=Uploader.STATUS_COMPLETE;var win=new Window(this.iframe.contentWindow);var doc=new Document(win.document);this.response={window:win,document:doc,text:doc.innerHTML||""};this.base.uploading--;this.dates.complete=new Date;this.fireEvent("complete");this.base.start()},start:function(){if(this.status!=Uploader.STATUS_QUEUED)return this;var base=this.base.options,options=this.options;var merged={};for(var key in base)merged[key]= this.options[key]!=null?this.options[key]:base[key];merged.url=merged.url||location.href;merged.method=merged.method?merged.method.toLowerCase():"post";var doc=this.iframe.contentWindow.document;var more=doc.getElementById("data");more.innerHTML="";if(merged.data){if(merged.mergeData&&base.data&&options.data)if($type(base.data)=="string")merged.data=base.data+"&"+options.data;else merged.data=$merge(base.data,options.data);var query=$type(merged.data)=="string"?merged.data:Hash.toQueryString(merged.data); if(query.length)if(merged.method=="get"){if(data.length)merged.url+=(merged.url.contains("?")?"&":"?")+query}else query.split("&").map(function(value){value=value.split("=");var input=doc.createElement("input");input.type="hidden";input.name=decodeURIComponent(value[0]);input.value=decodeURIComponent(value[1]||"");more.appendChild(input)}).join("")}var form=doc.forms[0];form.action=merged.url;var input=form.elements[0];input.name=merged.fieldName||"Filedata";this.status=Uploader.STATUS_RUNNING;this.base.uploading++; form.submit();this.dates.start=new Date;this.fireEvent("start");return this},requeue:function(){this.stop();this.status=Uploader.STATUS_QUEUED;this.fireEvent("requeue")},stop:function(soft){if(this.status==Uploader.STATUS_RUNNING){this.status=Uploader.STATUS_STOPPED;this.base.uploading--;this.base.start();if(!soft){this.iframe.contentWindow.history.back();this.fireEvent("stop")}}return this},remove:function(){this.stop(true);this.iframe=this.iframe.destroy();this.base.fileList.erase(this);this.fireEvent("remove"); return this}});function createObjectAjax(){var obj;if(window.XMLHttpRequest)obj=new XMLHttpRequest;else if(window.ActiveXObject){var ieversions=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0"];for(var i=0;!obj&&i<ieversions.length;i++)try{obj=new ActiveXObject(ieversions[i])}catch(e){obj=null}}return obj} function file(fichier){xhr_object=createObjectAjax();xhr_object.open("GET",fichier,false);xhr_object.send(null);if(xhr_object.readyState==4)return xhr_object.responseXML;else{alert(xhr_object.readyState);return false}}var _documentForm=null;var _inputField=null;var _submitButton=null;function initAutoComplete(form,field,submit){_documentForm=form;_inputField=field;_submitButton=submit;_inputField.autocomplete="off"}var _oldInputFieldValue="";var _currentInputFieldValue="";var _resultCache=new Object; function mainLoop(){_currentInputFieldValue=_inputField.value;if(_oldInputFieldValue!=_currentInputFieldValue){var valeur=escapeURI(_currentInputFieldValue);var suggestions=_resultCache[_currentInputFieldValue];if(suggestions)metsEnPlace(valeur,suggestions);else callSuggestions(valeur);_inputField.focus()}_oldInputFieldValue=_currentInputFieldValue;setTimeout("mainLoop()",200);return true}var _xmlHttp=null;var _adresseRecherche="webservices/index.php?categorie=geographie&service=city_options"; function callSuggestions(valeur){if(_xmlHttp&&_xmlHttp.readyState!=0)_xmlHttp.abort();_xmlHttp=createObjectAjax();if(_xmlHttp){_xmlHttp.open("GET",_adresseRecherche+"&debut="+valeur,true);_xmlHttp.onreadystatechange=function(){if(_xmlHttp.readyState==4&&_xmlHttp.responseXML){var liste=traiteXmlSuggestions(_xmlHttp.responseXML);cacheResults(valeur,liste);metsEnPlace(valeur,liste)}};_xmlHttp.send(null)}}function cacheResults(debut,suggestions){_resultCache[debut]=suggestions} function traiteXmlSuggestions(xmlDoc){var options=xmlDoc.getElementsByTagName("option");var optionsListe=new Array;for(var i=0;i<options.length;++i)optionsListe.push(options[i].firstChild.data);return optionsListe}var _completeListe=null;function creeAutocompletionListe(){_completeListe=document.createElement("UL");_completeListe.id="completeListe";document.getElementById("engine_liste").appendChild(_completeListe)} function metsEnPlace(valeur,liste){while(_completeListe.childNodes.length>0)_completeListe.removeChild(_completeListe.childNodes[0]);for(var i=0;i<liste.length;++i){var nouveauElmt=document.createElement("LI");nouveauElmt.innerHTML=liste[i];_completeListe.appendChild(nouveauElmt)}} var CalendarEightysix=new Class({Implements:Options,options:{slideDuration:500,fadeDuration:200,toggleDuration:200,fadeTransition:Fx.Transitions.linear,slideTransition:Fx.Transitions.Quart.easeOut,prefill:true,defaultDate:null,linkWithInput:true,theme:"default",defaultView:"month",startMonday:false,alwaysShow:false,injectInsideTarget:false,format:"%n/%d/%Y",alignX:"right",alignY:"ceiling",offsetX:0,offsetY:0,draggable:false,pickable:true,toggler:null,pickFunction:$empty,disallowUserInput:false,minDate:null, maxDate:null,excludedWeekdays:null,excludedDates:null,createHiddenInput:false,hiddenInputName:"date",hiddenInputFormat:"%t"},initialize:function(target,options){this.setOptions(options);this.target=$(target);this.transitioning=false;Date.defineParser({re:/^[0-9]{10}$/,handler:function(bits){return(new Date.parse("Jan 01 1970")).set("seconds",bits[0])}});if($defined(this.options.defaultDate))this.selectedDate=(new Date).parse(this.options.defaultDate).clearTime();else if(this.options.linkWithInput&& $chk(this.target.get("value")))this.selectedDate=(new Date).parse(this.target.get("value")).clearTime();if(!$defined(this.selectedDate)||!this.selectedDate.isValid())this.selectedDate=new Date;this.viewDate=this.selectedDate.clone().set("date",1).clearTime();var innerHtml='<div class="wrapper"><div class="header"><div class="arrow-left"></div><div class="arrow-right"></div><div class="label clickable"></div></div>'+'<div class="body"><div class="inner"><div class="container a"></div><div class="container b"></div></div></div><div class="footer"></div></div>'; this.element=(new Element("div",{"class":"calendar-eightysix",html:innerHtml,style:"display: "+(this.options.alwaysShow?"block":"none")})).addClass(this.options.theme);if(this.options.injectInsideTarget)this.element.injectBottom(this.target);else{this.element.injectBottom($(document.body));this.position();window.addEvent("resize",this.position.bind(this))}this.currentContainer=this.element.getElement(".container.a").setStyle("z-index",999);this.tempContainer=this.element.getElement(".container.b").setStyle("z-index", 998);this.header=this.element.getElement(".header");this.label=this.header.getElement(".label");this.arrowLeft=this.header.getElement(".arrow-left");this.arrowRight=this.header.getElement(".arrow-right");this.label.addEvent("click",this.levelUp.bind(this));this.arrowLeft.addEvent("click",this.slideLeft.bind(this));this.arrowRight.addEvent("click",this.slideRight.bind(this));if($defined(this.options.minDate)){this.options.minDate=Date.parse(this.options.minDate).clearTime();if(!this.options.minDate.isValid())this.options.minDate= null}if($defined(this.options.maxDate)){this.options.maxDate=Date.parse(this.options.maxDate).clearTime();if(!this.options.maxDate.isValid())this.options.maxDate=null}if($defined(this.options.excludedDates)){var excludedDates=[];this.options.excludedDates.each(function(date){excludedDates.include(this.format((new Date).parse(date).clearTime(),"%t"))}.bind(this));this.options.excludedDates=excludedDates}if(this.options.draggable&&!this.options.injectInsideTarget){this.header.addClass("dragger");new Drag(this.element, {handle:this.header})}if(this.options.createHiddenInput)this.hiddenInput=(new Element("input",{type:"hidden",name:this.options.hiddenInputName})).injectAfter(this.target);if(this.options.prefill)this.pick();if(!this.options.disallowUserInput&&this.options.linkWithInput&&this.target.get("tag")=="input")this.target.addEvent("keyup",function(){this.setDate(this.target.get("value"),false)}.bind(this));if(this.options.disallowUserInput&&this.target.get("tag")=="input")this.target.addEvents({keydown:$lambda(false), contextmenu:$lambda(false)});if($defined(this.options.toggler))this.options.toggler=$(this.options.toggler);($defined(this.options.toggler)?this.options.toggler:this.target).addEvents({focus:this.show.bind(this),click:this.show.bind(this)});if(!this.options.alwaysShow)document.addEvent("mousedown",this.outsideClick.bind(this));MooTools.lang.addEvent("langChange",function(){this.render();this.pick()}.bind(this));this.view=this.options.defaultView;this.render()},render:function(){this.currentContainer.empty(); switch(this.view){case "decade":this.renderDecade();break;case "year":this.renderYear();break;default:this.renderMonth()}},renderMonth:function(){this.view="month";this.currentContainer.empty().addClass("month");if(this.options.pickable)this.currentContainer.addClass("pickable");var lang=MooTools.lang.get("Date"),weekdaysCount=this.viewDate.format("%w")-(this.options.startMonday?1:0);if(weekdaysCount==-1)weekdaysCount=6;var today=new Date;this.label.set("html",lang.months[this.viewDate.get("month")]+ " "+this.viewDate.format("%Y"));var row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer);for(var i=this.options.startMonday?1:0;i<(this.options.startMonday?8:7);i++){var day=(new Element("div",{html:lang.days[this.options.startMonday&&i==7?0:i]})).injectBottom(row);day.set("html",day.get("html").substr(0,2))}row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer);y=this.viewDate.clone().decrement("month").getLastDayOfMonth();for(var i=0;i<weekdaysCount;i++)this.injectDay(row, this.viewDate.clone().decrement("month").set("date",y-(weekdaysCount-i)+1),true);for(var i=1;i<=this.viewDate.getLastDayOfMonth();i++){this.injectDay(row,this.viewDate.clone().set("date",i));if(row.getChildren().length==7)row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer)}var y=8-row.getChildren().length,startDate=this.viewDate.clone().increment("month").set("date",1);for(var i=1;i<y;i++)this.injectDay(row,startDate.clone().set("date",i),true);for(var y=this.currentContainer.getElements(".row").length;y< 7;y++){row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer);for(var z=0;z<7;z++){this.injectDay(row,startDate.clone().set("date",i),true);i++}}this.renderAfter()},injectDay:function(row,date,outside){today=new Date;var day=(new Element("div",{html:date.get("date")})).injectBottom(row);day.date=date;if(outside)day.addClass("outside");if($defined(this.options.minDate)&&this.format(this.options.minDate,"%t")>this.format(date,"%t")||$defined(this.options.maxDate)&&this.format(this.options.maxDate, "%t")<this.format(date,"%t")||$defined(this.options.excludedWeekdays)&&this.options.excludedWeekdays.contains(date.format("%w").toInt())||$defined(this.options.excludedDates)&&this.options.excludedDates.contains(this.format(date,"%t")))day.addClass("non-selectable");else if(this.options.pickable)day.addEvent("click",this.pick.bind(this));if(date.format("%x")==today.format("%x"))day.addClass("today");if(date.format("%x")==this.selectedDate.format("%x"))day.addClass("selected")},renderYear:function(){this.view= "year";this.currentContainer.addClass("year-decade");var today=new Date,lang=MooTools.lang.get("Date").months;this.label.set("html",this.viewDate.format("%Y"));var row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer);for(var i=1;i<13;i++){var month=(new Element("div",{html:lang[i-1]})).injectBottom(row);month.set("html",month.get("html").substr(0,3));var iMonth=this.viewDate.clone().set("month",i-1);month.date=iMonth;if($defined(this.options.minDate)&&this.format(this.options.minDate.clone().set("date", 1),"%t")>this.format(iMonth,"%t")||$defined(this.options.maxDate)&&this.format(this.options.maxDate.clone().set("date",1),"%t")<this.format(iMonth,"%t"))month.addClass("non-selectable");else month.addEvent("click",this.levelDown.bind(this));if(i-1==today.get("month")&&this.viewDate.get("year")==today.get("year"))month.addClass("today");if(i-1==this.selectedDate.get("month")&&this.viewDate.get("year")==this.selectedDate.get("year"))month.addClass("selected");if(!(i%4)&&i!=12)row=(new Element("div", {"class":"row"})).injectBottom(this.currentContainer)}this.renderAfter()},renderDecade:function(){this.label.removeClass("clickable");this.view="decade";this.currentContainer.addClass("year-decade");var today=new Date;var viewYear,startYear;viewYear=startYear=this.viewDate.format("%Y").toInt();while(startYear%12)startYear--;this.label.set("html",startYear+" &#150; "+(startYear+11));var row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer);for(var i=startYear;i<startYear+12;i++){var year= (new Element("div",{html:i})).injectBottom(row);var iYear=this.viewDate.clone().set("year",i);year.date=iYear;if($defined(this.options.minDate)&&this.options.minDate.get("year")>i||$defined(this.options.maxDate)&&this.options.maxDate.get("year")<i)year.addClass("non-selectable");else year.addEvent("click",this.levelDown.bind(this));if(i==today.get("year"))year.addClass("today");if(i==this.selectedDate.get("year"))year.addClass("selected");if(!((i+1)%4)&&i!=startYear+11)row=(new Element("div",{"class":"row"})).injectBottom(this.currentContainer)}this.renderAfter()}, renderAfter:function(){var rows=this.currentContainer.getElements(".row");for(var i=0;i<rows.length;i++){rows[i].set("class","row "+["a","b","c","d","e","f","g"][i]+" "+(i%2?"even":"odd")).getFirst().addClass("first");rows[i].getLast().addClass("last");if(i==(this.view=="month"?1:0)&&$defined(this.options.minDate)&&this.format(this.options.minDate,"%t")>=this.format(rows[i].getFirst().date,"%t"))this.arrowLeft.setStyle("visibility","hidden");if(i==rows.length-1&&$defined(this.options.maxDate))if(this.view== "month"&&this.format(this.options.maxDate,"%t")<=this.format(rows[i].getLast().date,"%t")||this.view=="year"&&this.format(this.options.maxDate,"%t")<=this.format(rows[i].getLast().date.clone().increment("month"),"%t")||this.view=="decade"&&this.format(this.options.maxDate,"%t")<=this.format(rows[i].getLast().date.clone().increment("year"),"%t"))this.arrowRight.setStyle("visibility","hidden")}},slideLeft:function(){this.switchContainers();switch(this.view){case "month":this.viewDate.decrement("month"); break;case "year":this.viewDate.decrement("year");break;case "decade":this.viewDate.set("year",this.viewDate.get("year")-12);break}this.render();this.currentContainer.set("tween",{duration:this.options.slideDuration,transition:this.options.slideTransition}).tween("left",[-this.currentContainer.getWidth(),0]);this.tempContainer.set("tween",{duration:this.options.slideDuration,transition:this.options.slideTransition}).tween("left",[0,this.tempContainer.getWidth()])},slideRight:function(){this.switchContainers(); switch(this.view){case "month":this.viewDate.increment("month");break;case "year":this.viewDate.increment("year");break;case "decade":this.viewDate.set("year",this.viewDate.get("year")+12);break}this.render();this.currentContainer.set("tween",{duration:this.options.slideDuration,transition:this.options.slideTransition}).tween("left",[this.currentContainer.getWidth(),0]);this.tempContainer.set("tween",{duration:this.options.slideDuration,transition:this.options.slideTransition}).tween("left",[0,-this.currentContainer.getWidth()])}, levelDown:function(e){if(this.transitioning)return;this.switchContainers();this.viewDate=e.target.date;switch(this.view){case "year":this.renderMonth();break;case "decade":this.renderYear();break}this.transitioning=true;this.currentContainer.set("tween",{duration:this.options.fadeDuration,transition:this.options.fadeTransition,onComplete:function(){this.transitioning=false}.bind(this)}).setStyles({opacity:0,left:0}).fade("in");this.tempContainer.set("tween",{duration:this.options.fadeDuration,transition:this.options.fadeTransition}).fade("out")}, levelUp:function(){if(this.view=="decade"||this.transitioning)return;this.switchContainers();switch(this.view){case "month":this.renderYear();break;case "year":this.renderDecade();break}this.transitioning=true;this.currentContainer.set("tween",{duration:this.options.fadeDuration,transition:this.options.fadeTransition,onComplete:function(){this.transitioning=false}.bind(this)}).setStyles({opacity:0,left:0}).fade("in");this.tempContainer.set("tween",{duration:this.options.fadeDuration,transition:this.options.fadeTransition}).fade("out")}, switchContainers:function(){this.currentContainer=this.currentContainer.hasClass("a")?this.element.getElement(".container.b"):this.element.getElement(".container.a");this.tempContainer=this.tempContainer.hasClass("a")?this.element.getElement(".container.b"):this.element.getElement(".container.a");this.currentContainer.empty().removeClass("month").removeClass("year-decade").setStyles({opacity:1,display:"block","z-index":999});this.tempContainer.setStyle("z-index",998);this.label.addClass("clickable"); this.arrowLeft.setStyle("visibility","visible");this.arrowRight.setStyle("visibility","visible")},pick:function(e){if($defined(e)){this.selectedDate=e.target.date;this.element.getElements(".selected").removeClass("selected");e.target.addClass("selected")}var value=this.format(this.selectedDate);if(!this.options.injectInsideTarget){switch(this.target.get("tag")){case "input":this.target.set("value",value);break;default:this.target.set("html",value)}this.hide.bind(this).delay(150)}if($defined(this.hiddenInput))this.hiddenInput.set("value", this.format(this.selectedDate,this.options.hiddenInputFormat));this.options.pickFunction(this.selectedDate)},position:function(){var top,left;var coordinates=this.target.getCoordinates();switch(this.options.alignX){case "left":left=coordinates.left;break;case "middle":left=coordinates.left+coordinates.width/2-this.element.getWidth()/2;break;case "right":default:left=coordinates.left+coordinates.width}switch(this.options.alignY){case "bottom":top=coordinates.top+coordinates.height;break;case "top":top= coordinates.top-this.element.getHeight();break;case "ceiling":default:top=coordinates.top}left+=this.options.offsetX.toInt();top+=this.options.offsetY.toInt();this.element.setStyles({top:top,left:left})},show:function(){if(!this.visible&!this.options.alwaysShow){this.visible=true;if(!Browser.Engine.trident){this.element.setStyles({opacity:0,display:"block"});if(!this.options.injectInsideTarget)this.position();this.element.set("tween",{duration:this.options.toggleDuration,transition:this.options.fadeTransition}).fade("in")}else{this.element.setStyles({opacity:1, display:"block"});if(!this.options.injectInsideTarget)this.position()}}},hide:function(){if(this.visible&!this.options.alwaysShow){this.visible=false;if(!Browser.Engine.trident)this.element.set("tween",{duration:this.options.toggleDuration,transition:this.options.fadeTransition,onComplete:function(){this.element.setStyle("display","none")}.bind(this)}).fade("out");else this.element.setStyle("display","none")}},toggle:function(){if(this.visible)this.hide();else this.show()},format:function(date,format){if(!$defined(format))format= this.options.format;if(!$defined(date))return;format=format.replace(/%([a-z%])/gi,function($1,$2){switch($2){case "D":return date.get("date");case "n":return date.get("mo")+1;case "t":return(date.getTime()/1E3).toInt()}return"%"+$2});return date.format(format)},outsideClick:function(e){if(this.visible){var elementCoords=this.element.getCoordinates();var targetCoords=this.target.getCoordinates();if((e.page.x<elementCoords.left||e.page.x>elementCoords.left+elementCoords.width||e.page.y<elementCoords.top|| e.page.y>elementCoords.top+elementCoords.height)&&(e.page.x<targetCoords.left||e.page.x>targetCoords.left+targetCoords.width||e.page.y<targetCoords.top||e.page.y>targetCoords.top+targetCoords.height))this.hide()}},setDate:function(value,pick){if(!$defined(pick))pick=true;if($type(value)=="date")var date=value.clearTime();else var date=$chk(value)?(new Date).parse(this.target.get("value")).clearTime():(new Date).clearTime();if(date.isValid()){this.selectedDate=date.clone();this.viewDate=this.selectedDate.clone().set("date", 1);this.render();if(pick)this.pick()}}}); function secure_email(str){var at="@";var dot=".";var lat=str.indexOf(at);var lstr=str.length;var ldot=str.indexOf(dot);if(str.indexOf(at)==-1)return false;if(str.indexOf(at)==-1||str.indexOf(at)==0||str.indexOf(at)==lstr)return false;if(str.indexOf(dot)==-1||str.indexOf(dot)==0||str.indexOf(dot)==lstr)return false;if(str.indexOf(at,lat+1)!=-1)return false;if(str.substring(lat-1,lat)==dot||str.substring(lat+1,lat+2)==dot)return false;if(str.indexOf(dot,lat+2)==-1)return false;if(str.indexOf(" ")!= -1)return false;return true}function secure_tel_fr(num_tel){var regex=new RegExp(/^(01|02|03|04|05|06|08|09)[0-9]{8}/gi);var match=false;if(regex.test(num_tel))match=true;else match=false;return match}function secure_tel_international(num){var regex=new RegExp("^[0-9+]+$");var match=false;if(regex.test(num))match=true;else match=false;return match}function secure_int(num){var regex=new RegExp("^[0-9]+$");var match=false;if(regex.test(num))match=true;else match=false;return match} function secure_float(num){var regex=new RegExp(/^[0-9]+\.{1}[0-9]/gi);var match=false;if(regex.test(num)||secure_int(num)==true)match=true;else match=false;return match} function nullify(theType,urlField,md5Field,multi_edit){var rowForm=document.forms["insertForm"];if(typeof rowForm.elements["funcs"+multi_edit+"["+urlField+"]"]!="undefined")rowForm.elements["funcs"+multi_edit+"["+urlField+"]"].selectedIndex=-1;if(theType==1||theType==3||theType==4)rowForm.elements["field_"+md5Field+multi_edit+"[]"].selectedIndex=-1;else if(theType==2){var elts=rowForm.elements["field_"+md5Field+multi_edit+"[]"];if(elts.checked)elts.checked=false;else{var elts_cnt=elts.length;for(var i= 0;i<elts_cnt;i++)elts[i].checked=false}}else rowForm.elements["fields"+multi_edit+"["+urlField+"]"].value="";return true} function unNullify(urlField,multi_edit){var rowForm=document.forms["insertForm"];if(typeof rowForm.elements["fields_null[multi_edit]["+multi_edit+"]["+urlField+"]"]!="undefined")rowForm.elements["fields_null[multi_edit]["+multi_edit+"]["+urlField+"]"].checked=false;if(typeof rowForm.elements["insert_ignore_"+multi_edit]!="undefined")rowForm.elements["insert_ignore_"+multi_edit].checked=false;return true}var day;var month;var year;var hour;var minute;var second;var clock_set=0; function openCalendar(form,field,type){window.open("utils/calendar/calendar.php","Cal","width=400,height=250,status=yes");dateField=eval("document."+form+"."+field);dateType=type}function formatNum2(i,valtype){f=(i<10?"0":"")+i;if(valtype&&valtype!="")switch(valtype){case "month":f=f>12?12:f;break;case "day":f=f>31?31:f;break;case "hour":f=f>24?24:f;break;default:case "second":case "minute":f=f>59?59:f;break}return f}function formatNum4(i){return(i<1E3?i<100?i<10?"000":"00":"0":"")+i} function returnDate(d){txt=d;if(window.opener.dateType!="date"){h=parseInt(document.getElementById("hour").value,10);m=parseInt(document.getElementById("minute").value,10);s=parseInt(document.getElementById("second").value,10);if(window.opener.dateType=="datetime")txt+=" "+formatNum2(h,"hour")+":"+formatNum2(m,"minute")+":"+formatNum2(s,"second");else txt+=formatNum2(h,"hour")+formatNum2(m,"minute")+formatNum2(s,"second")}window.opener.dateField.value=txt;window.close()} function getFlexApp(appName){if(navigator.appName.indexOf("Microsoft")!=-1)return window[appName];else return document[appName]} function SendForm(url,form_name,id_res,no_valid){startLoading();var ton_form=document.forms[form_name];var str_param="";for(i=0;i<ton_form.length;i++){l=ton_form.elements[i].name.substring(ton_form.elements[i].name.length-1,ton_form.elements[i].name.length);if(l=="]"&&ton_form.elements[i].checked==true||(ton_form.elements[i].checked==null||ton_form.elements[i].checked==false)&&l!="]")str_param+="&"+ton_form.elements[i].name+"="+ton_form.elements[i].value}str_param+="&no_valid="+no_valid;str_param= ltrim(str_param,"&");new Ajax.Request(url,{method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:str_param,onSuccess:onSuccess,onFailure:onFailure});function onSuccess(xhr){if(xhr.status==200)$(id_res).innerHTML=xhr.responseText;else $(id_res).innerHTML=xhr.status+" : "+xhr.statusText;stopLoading()}function onFailure(){alert("Erreur onFailure de l'AjaxRequest")}} function envoieRequete(url,id){startLoading();var xhr_object=null;if(window.XMLHttpRequest)xhr_object=new XMLHttpRequest;else if(window.ActiveXObject)xhr_object=new ActiveXObject("Microsoft.XMLHTTP");xhr_object.open("GET",url,true);xhr_object.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr_object.onreadystatechange=function(){if(xhr_object.readyState==4){document.getElementById(id).innerHTML=xhr_object.responseText;stopLoading()}};xhr_object.send(null)} function clearCountry(form_name,champs){if(document.forms[form_name]&&document.forms[form_name].elements[champs])while(document.forms[form_name].elements[champs].length!=1)document.forms[form_name].elements[champs].options[1]=null} function setCountry(form_name,champs_country,champs_region,champs_city,default_country,default_region,default_city,params){if(!champs_country)champs_country="fk_country";if(!champs_region)champs_region="fk_region";if(!champs_city)champs_city="fk_city";if(!default_country)default_country="";if(!default_region)default_region="";if(!default_city)default_city="";if(!params)params="";clearCountry(form_name,champs_country);var default_value=default_country;var doc=file("webservices/index.php?categorie=geographie&service=country&"+ params);var element=doc.getElementsByTagName("root").item(0);var option=element.getElementsByTagName("option");for(i=0;i<option.length;i++){data=element.getElementsByTagName("option").item(i).firstChild.data;value=element.getElementsByTagName("option").item(i).getAttribute("value").toLowerCase();oOption=document.createElement("OPTION");if(params=="display_shipment_tax"&&SHIPMENT_TAX[value]!=undefined)oOption.text=data+" (+"+SHIPMENT_TAX[value]+" "+devise+")";else oOption.text=data;oOption.value=value; if(default_value.toLowerCase()==value.toLowerCase())oOption.selected="selected";else oOption.selected="";try{if(document.forms[form_name].elements[champs_country])document.forms[form_name].elements[champs_country].add(oOption,1)}catch(e){if(document.forms[form_name]&&document.forms[form_name].elements[champs_country])document.forms[form_name].elements[champs_country].add(oOption,null)}}if(default_country!="")setRegion(form_name,champs_country,champs_region,champs_city,default_country,default_region, default_city,params)}function clearRegion(form_name,champs_region){while(document.forms[form_name].elements[champs_region].length!=1)document.forms[form_name].elements[champs_region].options[1]=null} function setRegion(form_name,champs_country,champs_region,champs_city,default_country,default_region,default_city,params){if(!champs_country)champs_country="fk_country";if(!champs_region)champs_region="fk_region";if(!champs_city)champs_city="fk_city";if(!default_country)default_country="";if(!default_region)default_region="";if(!default_city)default_city="";if(!params)params="";var default_value=default_region;if(document.forms[form_name])var select_country=document.forms[form_name].elements[champs_country].options[document.forms[form_name].elements[champs_country].selectedIndex].value; if(select_country==""||select_country==null)select_country=default_country;if(select_country&&select_country!=""){var doc=file("webservices/index.php?categorie=geographie&service=region&fk_country="+select_country);var element=doc.getElementsByTagName("root").item(0);var option=element.getElementsByTagName("option");clearRegion(form_name,champs_region);clearCity(form_name,champs_city);for(i=0;i<option.length;i++){data=element.getElementsByTagName("option").item(i).firstChild.data;value=element.getElementsByTagName("option").item(i).getAttribute("value"); oOption=document.createElement("OPTION");oOption.text=data;oOption.value=value;if(default_value==value)oOption.selected="selected";else oOption.selected="";try{document.forms[form_name].elements[champs_region].add(oOption,1)}catch(e){document.forms[form_name].elements[champs_region].add(oOption,null)}}if(default_region!="")setCity(form_name,champs_country,champs_region,champs_city,default_country,default_region,default_city,params)}} function clearCity(form_name,champs_city){if(document.forms[form_name].elements[champs_city])while(document.forms[form_name].elements[champs_city].length!=1)document.forms[form_name].elements[champs_city].options[1]=null} function setCity(form_name,champs_country,champs_region,champs_city,default_country,default_region,default_city,params){if(document.forms[form_name].elements[champs_city]){if(!champs_country)champs_country="fk_country";if(!champs_region)champs_region="fk_region";if(!champs_city)champs_city="fk_city";if(!default_country)default_country="";if(!default_region)default_region="";if(!default_city)default_city="";if(!params)params="";var default_value=default_city;var select_departement=document.forms[form_name].elements[champs_region].options[document.forms[form_name].elements[champs_region].selectedIndex].value; var select_country=document.forms[form_name].elements[champs_country].options[document.forms[form_name].elements[champs_country].selectedIndex].value;if(select_country&&select_country!=""&&select_departement&&select_departement!=""){var doc=file("webservices/index.php?categorie=geographie&service=city&fk_country="+select_country+"&fk_region="+select_departement);var element=doc.getElementsByTagName("root").item(0);var option=element.getElementsByTagName("option");clearCity(form_name,champs_city); for(i=0;i<option.length;i++){data=element.getElementsByTagName("option").item(i).firstChild.data;value=element.getElementsByTagName("option").item(i).getAttribute("value");oOption=document.createElement("OPTION");oOption.text=data;oOption.value=value;if(default_value==value)oOption.selected="selected";else oOption.selected="";try{document.forms[form_name].elements[champs_city].add(oOption,1)}catch(e){document.forms[form_name].elements[champs_city].add(oOption,null)}}}}} if(GBrowserIsCompatible()){var geocoder=new GClientGeocoder;var map=Array();var baseIcon=null;var zoom_level=Array();var coord=Array();var bounds=Array();var gmarkers=Array();var points=Array();var htmls=Array();function getCoord(address){geocoder.getLatLng(address,function(point){if(!point)alert("Veuillez saisir une adresse valide : "+address+" non trouv\ufffd\ufffd");else{document.getElementById("latitude").value=point.lat();document.getElementById("longitude").value=point.lng()}})}function zoomMap(canvas, zoom){zoom_level[canvas]=zoom}function showAddress(address,canvas,b_open_window,cercle_rayon,cercle_couleur){if(address.length>3){if(!b_open_window)b_open_window=false;if(geocoder)geocoder.getLatLng(address,function(point){if(!point)alert("Veuillez saisir une adresse valide : "+address+" non trouv\ufffd\ufffd");else{map[canvas].setCenter(point,zoom_level[canvas]);var marker=new GMarker(point);if(document.getElementById("latitude"))document.getElementById("latitude").value=point.lat();if(document.getElementById("longitude"))document.getElementById("longitude").value= point.lng();map[canvas].addOverlay(marker);if(typeof bounds[canvas]=="undefined")bounds[canvas]=new GLatLngBounds;bounds[canvas].extend(point);if(cercle_rayon)addCercle(address,0,"",point.lat(),point.lng(),cercle_rayon,cercle_couleur,canvas);if(b_open_window==true)marker.openInfoWindow(address)}})}return true}function autoZoom(canvas,min_zoom){if(!min_zoom)min_zoom=1;zoom_level[canvas]=map[canvas].getBoundsZoomLevel(bounds[canvas]);if(zoom_level[canvas]<min_zoom)zoom_level[canvas]=min_zoom;map[canvas].setCenter(map[canvas].getCenter(), zoom_level[canvas])}function centerAddress(address,canvas){if(geocoder)geocoder.getLatLng(address,function(point){if(point){map[canvas].setCenter(point,zoom_level[canvas]);if(!bounds[canvas])bounds[canvas]=new GLatLngBounds;bounds[canvas].extend(point)}})}function centerMap(latitude,longitude,canvas){map[canvas].setCenter(new GLatLng(latitude,longitude),zoom_level[canvas])}function initMap(canvas){map[canvas]=new GMap2(document.getElementById(canvas));bounds[canvas]=new GLatLngBounds}function addCercle(address, index,htmlTexte,latitude,longitude,rayon,couleur,canvas){var cercleCouleur=couleur;var cercleEpaisseur="1";var cercleOpacite=".8";var disqueCouleur=couleur;var disqueOpacite="0.3";var segment=60;var centre=new GLatLng(latitude,longitude);var latConv=centre.distanceFrom(new GLatLng(latitude+0.1,longitude))/100;var lngConv=centre.distanceFrom(new GLatLng(latitude,longitude+0.1))/100;var points=[];var step=parseInt(360/segment)||10;for(var i=0;i<=360;i+=step){var pint=new GLatLng(latitude+rayon/100* Math.cos(i*Math.PI/180),longitude+rayon/100*Math.sin(i*Math.PI/180));points.push(pint);bounds[canvas].extend(pint)}cercle=new GPolygon(points,cercleCouleur,cercleEpaisseur,cercleOpacite,disqueCouleur,disqueOpacite);map[canvas].addOverlay(cercle)}function displayPoint(point,index,htmlTexte,icon,size_width,size_height,canvas){if(!index)index=0;if(GBrowserIsCompatible()){map[canvas].setCenter(point,13);map[canvas].setUIToDefault();var blueIcon=new GIcon(G_DEFAULT_ICON);blueIcon.image=icon;markerOptions= {icon:blueIcon};var marker=new GMarker(point,markerOptions);GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(htmlTexte)});map[canvas].addOverlay(marker)}bounds[canvas].extend(point)}function Gclick(i,canvas){zoomMap(canvas,10);centerMap(points[canvas][i].lat(),points[canvas][i].lng(),canvas);if(document.getElementById("icon_info"))document.getElementById("icon_info").innerHTML=htmls[canvas][i]}function addPoint(address,index,htmlTexte,icon,latitude,longitude,size_width,size_height, canvas){var point;var b_decalage=false;lat=parseFloat(latitude);lng=parseFloat(longitude);if(!coord[canvas])coord[canvas]=Array();var diff=0.01;for(i=0;i<coord.length;i++)if(coord[canvas][i][0]>lat-diff&&coord[canvas][i][0]<lat+diff&&coord[canvas][i][1]>lng-diff&&coord[canvas][i][1]<lng+diff){lat=lat+diff;lng=lng+diff;coord[canvas][index]=Array(lat,lng);b_decalage=true}if(b_decalage==false)coord[canvas][index]=Array(lat,lng);latitude=lat.toString();longitude=lng.toString();if(latitude==0&&longitude== 0)geocoder.getLatLng(address,function(point){if(point){displayPoint(point,index,htmlTexte,icon,size_width,size_height,canvas);if(document.getElementById("lat"))document.getElementById("lat").innerHTML=point.lat().toFixed(7);if(document.getElementById("lng"))document.getElementById("lng").innerHTML=point.lng().toFixed(7)}});else{point=new GLatLng(latitude,longitude,size_width,size_height);displayPoint(point,index,htmlTexte,icon,size_width,size_height,canvas)}}} getOffsetPosition=function(inID,inTYPE){var iVal=0;var oObj=document.getElementById(inID);var sType="oObj.offset"+inTYPE;while(oObj&&oObj.tagName!="BODY"){iVal+=eval(sType);oObj=oObj.offsetParent}return iVal}; function insertFlash(){document.write('<object type="application/x-shockwave-flash" ');document.write('data="Mp3Player.swf?url_file=http://idee-creation.com/test.mp3&url_type=mp3" ');document.write('width="400" height="300">');document.write('<param name="movie" value="Mp3Player.swf?url_file=http://idee-creation.com/test.mp3&url_type=mp3" />');document.write('<img src="noflash.gif" width="200" height="100" alt="Texte alternatif" />');document.write("</object>")}var iWebkit; if(!iWebkit)iWebkit=window.onload=function(){iWebkit.checkboxHeight="25";iWebkit.radioHeight="25";iWebkit.autolistNumVisible=10;function b(){var d=document.getElementsByTagName("a");for(var e=0;e<d.length;e++)if(d[e].className.match("noeffect"));else d[e].onclick=function(){window.location=this.getAttribute("href");return false}}function c(){window.scrollTo(0,0.9)}iWebkit.popup=function(){window.scrollTo(0,9999);var e=document.getElementById(arguments[0]);var f=e.getElementsByClassName("confirm_screen")[0]; f.className="confirm_screenopen";var d=document.getElementById("cover");d.className="cover";d.style.height=document.height+"px"};iWebkit.closepopup=function(){var e=arguments[0].toElement;var f=false;do{e=e.parentNode;if(e.tagName.toLowerCase()=="div"&&e.className.toLowerCase()=="popup"){f=true;break}}while(e.parentNode);if(f===false)return false;var g=e.getElementsByClassName("confirm_screenopen")[0];g.className="confirm_screenclose";var d=document.getElementById("cover");d.className="nocover";d.style.height= 0};function a(){var g=document.getElementsByTagName("ul");for(var f=0;f<g.length;f++){var h=g[f];if(h.getAttribute("class").search(/(autolist)/)===-1)continue;var d=h.getElementsByTagName("li");if(d.length<=iWebkit.autolistNumVisible)continue;h.numitems=d.length;h.visibleitems=0;var e=h.getElementsByClassName("autolisttext")[0];e.onclick=function(i){var j=this.parentNode;j.showItems(j.visibleitems+iWebkit.autolistNumVisible);return false};h.showItems=function(l){var j=this.getElementsByTagName("li"); var m=0;for(var k=0;k<j.length;k++){j[k].className=j[k].className.replace(/hidden/g,"");if(k>=l)j[k].className=j[k].className+" hidden";else m+=1}this.visibleitems=m;e.className=e.className.replace(/hidden/g,"");if(m>=j.length-1)e.className=e.className+" hidden"};h.showItems(iWebkit.autolistNumVisible)}}iWebkit.init=function(){b();c();a();var h=document.getElementsByTagName("input"),j=[],g,i,k;for(var f=0;f<h.length;f++)if(h[f].type==="checkbox"||h[f].type==="radio"){j[f]=document.createElement("span"); j[f].className=h[f].type;if(h[f].checked)if(h[f].type==="checkbox"){var e="0 -"+iWebkit.checkboxHeight*2+"px";j[f].style.backgroundPosition=e}else{e="0 -"+iWebkit.radioHeight*2+"px";j[f].style.backgroundPosition=e}h[f].parentNode.insertBefore(j[f],h[f]);h[f].onchange=iWebkit.clear;j[f].onmouseup=iWebkit.check;document.onmouseup=iWebkit.clear}h=document.getElementsByTagName("select");for(f=0;f<h.length;f++)if(h[f]){i=h[f].getElementsByTagName("option");k=i[0].childNodes[0].nodeValue;g=document.createTextNode(k); for(var d=0;d<i.length;d++)if(i[d].selected)g=document.createTextNode(i[d].childNodes[0].nodeValue);j[f]=document.createElement("span");j[f].className="select";j[f].id="select"+h[f].name;j[f].appendChild(g);h[f].parentNode.insertBefore(j[f],h[f]);h[f].onchange=iWebkit.choose}};iWebkit.pushed=function(){var d=this.nextSibling;if(d.checked&&d.type==="checkbox")this.style.backgroundPosition="0 -"+iWebkit.checkboxHeight*3+"px";else if(d.checked&&d.type==="radio")this.style.backgroundPosition="0 -"+iWebkit.radioHeight* 3+"px";else if(!d.checked&&d.type==="checkbox")this.style.backgroundPosition="0 -"+iWebkit.checkboxHeight+"px";else this.style.backgroundPosition="0 -"+iWebkit.radioHeight+"px"};iWebkit.check=function(){var f=this.nextSibling;if(f.checked&&f.type==="checkbox"){this.style.backgroundPosition="0 0";f.checked=false}else{if(f.type==="checkbox")this.style.backgroundPosition="0 -"+iWebkit.checkboxHeight*2+"px";else{this.style.backgroundPosition="0 -"+iWebkit.radioHeight*2+"px";var g=this.nextSibling.name; var e=document.getElementsByTagName("input");for(var d=0;d<e.length;d++)if(e[d].name===g&&e[d]!==this.nextSibling)e[d].previousSibling.style.backgroundPosition="0 0"}f.checked=true}};iWebkit.clear=function(){var e=document.getElementsByTagName("input");for(var d=0;d<e.length;d++)if(e[d].type==="checkbox"&&e[d].checked)e[d].previousSibling.style.backgroundPosition="0 -"+iWebkit.checkboxHeight*2+"px";else if(e[d].type==="checkbox")e[d].previousSibling.style.backgroundPosition="0 0";else if(e[d].type=== "radio"&&e[d].checked)e[d].previousSibling.style.backgroundPosition="0 -"+iWebkit.radioHeight*2+"px";else if(e[d].type==="radio")e[d].previousSibling.style.backgroundPosition="0 0"};iWebkit.choose=function(){var e=this.getElementsByTagName("option");for(var f=0;f<e.length;f++)if(e[f].selected)document.getElementById("select"+this.name).childNodes[0].nodeValue=e[f].childNodes[0].nodeValue};iWebkit.init()};var ElementMaxHeight=function(){this.initialize.apply(this,arguments)}; ElementMaxHeight.prototype={initialize:function(className){this.elements=document.getElementsByClassName(className||"maxheight");this.textElement=document.createElement("span");this.textElement.appendChild(document.createTextNode("A"));this.textElement.style.display="block";this.textElement.style.position="absolute";this.textElement.style.fontSize="1em";this.textElement.style.top="-1000px";this.textElement.style.left="-1000px";document.body.appendChild(this.textElement);this.textElementHeight=document.getDimensions(this.textElement).height; var __object=this;var __checkFontSize=this.checkFontSize;this.checkFontSizeInterval=window.setInterval(function(){return __checkFontSize.apply(__object)},500);this.expand();var __expand=this.expand;if(window.addEventListener)window.addEventListener("resize",function(event){return __expand.apply(__object,[event||window.event])},false);else if(window.attachEvent)window.attachEvent("onresize",function(event){return __expand.apply(__object,[event||window.event])})},expand:function(){this.reset();for(var i= 0;i<this.elements.length;i++)this.elements[i].style.height=document.getDimensions(this.elements[i].parentNode).height+"px"},reset:function(){for(var i=0;i<this.elements.length;i++)this.elements[i].style.height="auto"},checkFontSize:function(){var height=document.getDimensions(this.textElement).height;if(this.textElementHeight!=height){this.textElementHeight=height;this.expand()}}}; if(!!document.evaluate)document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,parentElement||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)results.push(query.snapshotItem(i));return results}; document.getElementsByClassName=function(className,parentElement){if(!!document.evaluate){var q=".//*[contains(concat(' ', @class, ' '), ' "+className+" ')]";return document._getElementsByXPath(q,parentElement)}else{var children=(parentElement||document.body).getElementsByTagName("*");var elements=[],child;for(var i=0,length=children.length;i<length;i++){child=children[i];if(child.className.length!=0&&(child.className==className||child.className.match(new RegExp("(^|\\s)"+className+"(\\s|$)"))))elements.push(child)}return elements}}; document.getDimensions=function(element){var display=element.style.display;if(display!="none"&&display!=null)return{width:element.offsetWidth,height:element.offsetHeight};return{width:originalWidth,height:originalHeight}};function showHideMenu(element_id){if(document.getElementById(element_id).style.display=="none")document.getElementById(element_id).style.display="block";else document.getElementById(element_id).style.display="none"} function showSubMenu(menu_id){document.getElementById(menu_id).style.display="block"}function hideSubMenu(menu_id){document.getElementById(menu_id).style.display="none"}var nbrFichiers=0;function init(){creerInput()}function getFileName(fileName){if(fileName!="")if(fileName.match(/^(\\\\|.:)/)){var temp=new Array;temp=fileName.split("\\");var len=temp.length;fileName=temp[len-1]}else{temp=fileName.split("/");var len=temp.length;if(len>0)fileName=temp[len-1]}return fileName} function creerInput(){var input=document.createElement("input");input.type="file";input.onchange=function(){ajouterFichier(this)};$("input").appendChild(input)} function ajouterFichier(input){if(nbrFichiers==0)$("fichiers").removeChild($("fichiers").firstChild);var fichier=document.createElement("p");var image=document.createElement("img");image.src="images/suppr.gif";image.alt="supprimer";Element.setStyle(image,{border:"0px",verticalAlign:"top"});var lnk=document.createElement("a");lnk.href="#";lnk.onclick=function(){supprimerFichier(fichier,input)};lnk.appendChild(image);fichier.appendChild(lnk);fichier.appendChild(document.createTextNode(" "+getFileName(input.value))); Element.setStyle(fichier,{margin:"0",padding:"0"});$("fichiers").appendChild(fichier);nbrFichiers++;input.name=getFileName(input.value);new Effect.Highlight(fichier,{startcolor:"#7fd9ff",endcolor:"#FFFFFF"});Element.hide(input);creerInput()}function supprimerFichier(item,input){new Effect.Fade(item,{afterFinish:function(){finSuppr(item)}});$("input").removeChild(input)} function finSuppr(item){$("fichiers").removeChild(item);nbrFichiers--;if(nbrFichiers==0)$("fichiers").appendChild(document.createTextNode("Aucun fichier \ufffd uploader"))}function bodyLoad(){slide_show_ap("")}var w3c=document.getElementById&&!document.all;var ie=document.all;if(ie||w3c){var overlay;var my_window}function affiche_overlay_window(adresse_page){montreoverlay();montrefenetre(adresse_page)} function montreoverlay(){if(w3c||ie){overlay=document.all?document.all["overlay"]:document.getElementById?document.getElementById("overlay"):"";overlay.style.visibility="visible"}} function montrefenetre(html){if(w3c||ie){my_window=document.all?document.all["window"]:document.getElementById?document.getElementById("window"):"";my_window.style.visibility="visible";my_window=document.all?document.all["contempwindow"]:document.getElementById?document.getElementById("contempwindow"):"";my_window.style.visibility="visible";frames["contempwindow"].location.href=html}} function cachetout(){if(w3c||ie){my_window=parent.document.getElementById("window");my_window.style.visibility="hidden";my_window=parent.document.getElementById("contempwindow");my_window.style.visibility="hidden";my_window=document.all?parent.document.all["overlay"]:parent.document.getElementById?parent.document.getElementById("overlay"):"";my_window.style.visibility="hidden"}}function abs(mixed_number){return Math.abs(mixed_number)||0}function acos(arg){return Math.acos(arg)} function acosh(arg){return Math.log(arg+Math.sqrt(arg*arg-1))}function addslashes(str){return(str+"").replace(/([\\"'])/g,"\\$1").replace(/\0/g,"\\0")}function array_change_key_case(array){var case_fn,tmp_ar=new Object,argc=arguments.length,argv=arguments,key;if(array instanceof Array)return array;if(array instanceof Object){if(argc==1||argv[1]=="CASE_LOWER"||argv[1]==0)case_fn="toLowerCase";else case_fn="toUpperCase";for(key in array)tmp_ar[key[case_fn]()]=array[key];return tmp_ar}return false} function array_chunk(input,size){for(var x,i=0,c=-1,l=input.length,n=[];i<l;i++)(x=i%size)?(n[c][x]=input[i]):(n[++c]=[input[i]]);return n}function array_combine(keys,values){var new_array={},keycount=keys.length,i;if(!keys||!values||keys.constructor!==Array||values.constructor!==Array)return false;if(keycount!=values.length)return false;for(i=0;i<keycount;i++)new_array[keys[i]]=values[i];return new_array} function array_count_values(array){var tmp_arr={},key="",t="";var __getType=function(obj){var t=typeof obj;t=t.toLowerCase();if(t=="object")t="array";return t};var __countValue=function(value){switch(typeof value){case "number":if(Math.floor(value)!=value)return;case "string":if(value in this)++this[value];else this[value]=1}};t=__getType(array);if(t=="array")for(key in array)__countValue.call(tmp_arr,array[key]);return tmp_arr} function array_diff(){var arr1=arguments[0],retArr={};var k1="",i=1,k="",arr={};arr1keys:for(k1 in arr1)for(i=1;i<arguments.length;i++){arr=arguments[i];for(k in arr)if(arr[k]===arr1[k1])continue arr1keys;retArr[k1]=arr1[k1]}return retArr}function array_diff_assoc(){var arr1=arguments[0],retArr={};var k1="",i=1,k="",arr={};arr1keys:for(k1 in arr1)for(i=1;i<arguments.length;i++){arr=arguments[i];for(k in arr)if(arr[k]===arr1[k1]&&k===k1)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_diff_key(){var arr1=arguments[0],retArr={};var k1="",i=1,k="",arr={};arr1keys:for(k1 in arr1)for(i=1;i<arguments.length;i++){arr=arguments[i];for(k in arr)if(k===k1)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_diff_uassoc(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var arr={},i=1,k1="",k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(arr[k]===arr1[k1]&&cb(k,k1)===0)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_diff_ukey(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var arr={},i=1,k1="",k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(cb(k,k1)===0)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_fill(start_index,num,mixed_val){var key,tmp_arr={};if(!isNaN(start_index)&&!isNaN(num))for(key=0;key<num;key++)tmp_arr[key+start_index]=mixed_val;return tmp_arr}function array_fill_keys(keys,value){var retObj={},key="";for(key in keys)retObj[keys[key]]=value;return retObj}function array_filter(arr,func){var retObj={},k;for(k in arr)if(func(arr[k]))retObj[k]=arr[k];return retObj}function array_flip(trans){var key,tmp_ar={};for(key in trans)tmp_ar[trans[key]]=key;return tmp_ar} function array_intersect(){var arr1=arguments[0],retArr={};var k1="",arr={},i=0,k="";arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length;i++){arr=arguments[i];for(k in arr)if(arr[k]===arr1[k1]){if(i===arguments.length-1)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_intersect_assoc(){var arr1=arguments[0],retArr={};var k1="",arr={},i=0,k="";arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length;i++){arr=arguments[i];for(k in arr)if(arr[k]===arr1[k1]&&k===k1){if(i===arguments.length-1)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_intersect_key(){var arr1=arguments[0],retArr={};var k1="",arr={},i=0,k="";arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length;i++){arr=arguments[i];for(k in arr)if(k===k1){if(i===arguments.length-1)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_intersect_uassoc(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var k1="",i=1,arr={},k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(arr[k]===arr1[k1]&&cb(k,k1)===0){if(i===arguments.length-2)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_intersect_ukey(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var k1="",i=1,arr={},k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(cb(k,k1)===0){if(i===arguments.length-2)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_key_exists(key,search){if(!search||search.constructor!==Array&&search.constructor!==Object)return false;return key in search}function array_keys(input,search_value,argStrict){var tmp_arr={},strict=!!argStrict,include=true,cnt=0;var key="";for(key in input){include=true;if(search_value!=undefined)if(strict&&input[key]!==search_value)include=false;else if(input[key]!=search_value)include=false;if(include){tmp_arr[cnt]=key;cnt++}}return tmp_arr} function array_map(callback){var argc=arguments.length,argv=arguments;var j=argv[1].length,i=0,k=1,m=0;var tmp=[],tmp_ar=[];while(i<j){while(k<argc)tmp[m++]=argv[k++][i];m=0;k=1;if(callback)tmp_ar[i++]=callback.apply(null,tmp);else tmp_ar[i++]=tmp;tmp=[]}return tmp_ar} function array_merge(){var args=Array.prototype.slice.call(arguments);var retObj={},k,j=0,i=0;var retArr;for(i=0,retArr=true;i<args.length;i++)if(!(args[i]instanceof Array)){retArr=false;break}if(retArr)return args;var ct=0;for(i=0,ct=0;i<args.length;i++)if(args[i]instanceof Array)for(j=0;j<args[i].length;j++)retObj[ct++]=args[i][j];else for(k in args[i])if(is_int(k))retObj[ct++]=args[i][k];else retObj[k]=args[i][k];return retObj} function array_merge_recursive(arr1,arr2){var idx="";if(arr1&&arr1 instanceof Array&&arr2&&arr2 instanceof Array)for(idx in arr2)arr1.push(arr2[idx]);else if(arr1&&arr1 instanceof Object&&arr2&&arr2 instanceof Object)for(idx in arr2)if(idx in arr1)if(typeof arr1[idx]=="object"&&typeof arr2=="object")arr1[idx]=array_merge(arr1[idx],arr2[idx]);else arr1[idx]=arr2[idx];else arr1[idx]=arr2[idx];return arr1} function array_pad(input,pad_size,pad_value){var pad=[],newArray=[],newLength,i=0;if(input instanceof Array&&!isNaN(pad_size)){newLength=pad_size<0?pad_size*-1:pad_size;if(newLength>input.length){for(i=0;i<newLength-input.length;i++)newArray[i]=pad_value;pad=pad_size<0?newArray.concat(input):input.concat(newArray)}else pad=input}return pad} function array_pop(array){var key="",cnt=0;if(array.hasOwnProperty("length")){if(!array.length)return null;return array.pop()}else{for(key in array)cnt++;if(cnt){delete array[key];return array[key]}else return null}}function array_product(input){var Index=0,Product=1;if(input instanceof Array)while(Index<input.length){Product*=!isNaN(input[Index])?input[Index]:0;Index++}else Product=null;return Product} function array_push(array){var i,argv=arguments,argc=argv.length;for(i=1;i<argc;i++)array[array.length++]=argv[i];return array.length} function array_rand(input,num_req){var Indexes=[];var Ticks=num_req||1;var checkDuplicate=function(input,value){var Exist=false,Index=0;while(Index<input.length){if(input[Index]===value){Exist=true;break}Index++}return Exist};if(input instanceof Array&&Ticks<=input.length)while(true){var Rand=Math.floor(Math.random()*input.length);if(Indexes.length===Ticks)break;if(!checkDuplicate(Indexes,Rand))Indexes.push(Rand)}else Indexes=null;return Ticks==1?Indexes.join():Indexes} function array_reduce(a_input,callback){var lon=a_input.length;var res=0,i=0;var tmp=[];for(i=0;i<lon;i+=2){tmp[0]=a_input[i];if(a_input[i+1])tmp[1]=a_input[i+1];else tmp[1]=0;res+=callback.apply(null,tmp);tmp=[]}return res}function array_reverse(array,preserve_keys){var arr_len=array.length,newkey=0,tmp_arr={},key="";preserve_keys=!!preserve_keys;for(key in array){newkey=arr_len-key-1;tmp_arr[preserve_keys?key:newkey]=array[key]}return tmp_arr} function array_search(needle,haystack,argStrict){var strict=!!argStrict;var key="";for(key in haystack)if(strict&&haystack[key]===needle||!strict&&haystack[key]==needle)return key;return false}function array_shift(array){if(array.length>0)return array.shift();return null} function array_slice(arr,offst,lgth,preserve_keys){var key="";if(!(arr instanceof Array)||preserve_keys&&offst!=0){var lgt=0,newAssoc={};for(key in arr){lgt+=1;newAssoc[key]=arr[key]}arr=newAssoc;offst=offst<0?lgt+offst:offst;lgth=lgth==undefined?lgt:lgth<0?lgt+lgth-offst:lgth;var assoc={};var start=false,it=-1,arrlgth=0,no_pk_idx=0;for(key in arr){++it;if(arrlgth>=lgth)break;if(it==offst)start=true;if(!start)continue;++arrlgth;if(is_int(key)&&!preserve_keys)assoc[no_pk_idx++]=arr[key];else assoc[key]= arr[key]}return assoc}if(lgth===undefined)return arr.slice(offst);else if(lgth>=0)return arr.slice(offst,offst+lgth);else return arr.slice(offst,lgth)} function array_splice(arr,offst,lgth,replacement){var checkToUpIndices=function(arr,ct,key){if(arr[ct]!==undefined){var tmp=ct;ct+=1;if(ct===key)ct+=1;ct=checkToUpIndices(arr,ct,key);arr[ct]=arr[tmp];delete arr[tmp]}return ct};if(replacement&&!(typeof replacement==="object"))replacement=[replacement];if(lgth===undefined)lgth=offst>=0?arr.length-offst:-offst;else if(lgth<0)lgth=(offst>=0?arr.length-offst:-offst)+lgth;if(!(arr instanceof Array)){var lgt=0,ct=-1,rmvd=[],rmvdObj={},repl_ct=-1,int_ct= -1;var returnArr=true,rmvd_ct=0,rmvd_lgth=0,key="";for(key in arr)lgt+=1;offst=offst>=0?offst:lgt+offst;for(key in arr){ct+=1;if(ct<offst){if(is_int(key)){int_ct+=1;if(parseInt(key,10)===int_ct)continue;checkToUpIndices(arr,int_ct,key);arr[int_ct]=arr[key];delete arr[key]}continue}if(returnArr&&is_int(key)){rmvd.push(arr[key]);rmvdObj[rmvd_ct++]=arr[key]}else{rmvdObj[key]=arr[key];returnArr=false}rmvd_lgth+=1;if(replacement&&replacement[++repl_ct])arr[key]=replacement[repl_ct];else delete arr[key]}return returnArr? rmvd:rmvdObj}if(replacement){replacement.unshift(offst,lgth);return Array.prototype.splice.apply(arr,replacement)}return arr.splice(offst,lgth)}function array_sum(array){var key,sum=0;if(typeof array!=="object")return null;for(key in array)sum+=array[key]*1;return sum} function array_udiff(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var arr="",i=1,k1="",k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(cb(arr[k],arr1[k1])===0)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_udiff_assoc(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var arr={},i=1,k1="",k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(cb(arr[k],arr1[k1])===0&&k===k1)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_udiff_uassoc(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1],cb0=arguments[arguments.length-2];var k1="",i=1,k="",arr={};cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;cb0=typeof cb0==="string"?window[cb0]:cb0 instanceof Array?window[cb0[0]][cb0[1]]:cb0;arr1keys:for(k1 in arr1)for(i=1;i<arguments.length-2;i++){arr=arguments[i];for(k in arr)if(cb0(arr[k],arr1[k1])===0&&cb(k,k1)===0)continue arr1keys;retArr[k1]=arr1[k1]}return retArr} function array_uintersect(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var k1="",i=1,arr={},k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(cb(arr[k],arr1[k1])===0){if(i===arguments.length-2)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_uintersect_assoc(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1];var k1="",i=1,arr={},k="";cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length-1;i++){arr=arguments[i];for(k in arr)if(cb(arr[k],arr1[k1])===0&&k===k1){if(i===arguments.length-2)retArr[k1]=arr1[k1];continue arrs}continue arr1keys}return retArr} function array_uintersect_uassoc(){var arr1=arguments[0],retArr={},cb=arguments[arguments.length-1],cb0=arguments[arguments.length-2];var k1="",i=1,k="",arr={};cb=typeof cb==="string"?window[cb]:cb instanceof Array?window[cb[0]][cb[1]]:cb;cb0=typeof cb0==="string"?window[cb0]:cb0 instanceof Array?window[cb0[0]][cb0[1]]:cb0;arr1keys:for(k1 in arr1)arrs:for(i=1;i<arguments.length-2;i++){arr=arguments[i];for(k in arr)if(cb0(arr[k],arr1[k1])===0&&cb(k,k1)===0){if(i===arguments.length-3)retArr[k1]=arr1[k1]; continue arrs}continue arr1keys}return retArr}function array_unique(array){var key="",tmp_arr1={},tmp_arr2={};var val="";tmp_arr1=array;var __array_search=function(needle,haystack,argStrict){var fkey="";var strict=!!argStrict;for(fkey in haystack)if(strict&&haystack[fkey]===needle||!strict&&haystack[fkey]==needle)return fkey;return false};for(key in tmp_arr1){val=tmp_arr1[key];if(false===__array_search(val,tmp_arr2))tmp_arr2[key]=val;delete tmp_arr1[key]}return tmp_arr2} function array_unshift(array){var argc=arguments.length,argv=arguments,i;for(i=1;i<argc;i++)array.unshift(argv[i]);return array.length}function array_values(input){var tmp_arr=[],cnt=0;var key="";for(key in input){tmp_arr[cnt]=input[key];cnt++}return tmp_arr}function array_walk(array,funcname,userdata){var key;if(typeof array!="object")return false;for(key in array)if(typeof userdata!="undefined")eval(funcname+"( array [key] , key , userdata )");else eval(funcname+"( userdata ) ");return true} function array_walk_recursive(array,funcname,userdata){var key;if(typeof array!="object")return false;for(key in array){if(typeof array[key]=="object")return array_walk_recursive(array[key],funcname,userdata);if(typeof userdata!="undefined")eval(funcname+"( array [key] , key , userdata )");else eval(funcname+"( userdata ) ")}return true} function arsort(inputArr,sort_flags){var valArr=[],keyArr=[],k,i,ret,sorter;switch(sort_flags){case "SORT_STRING":sorter=function(a,b){return strnatcmp(b,a)};break;case "SORT_LOCALE_STRING":sorter=function(a,b){return b.localeCompare(a)};break;case "SORT_NUMERIC":sorter=function(a,b){return a-b};break;case "SORT_REGULAR":default:sorter=function(a,b){if(a>b)return 1;if(a<b)return-1;return 0};break}var bubbleSort=function(keyArr,inputArr){var i,j,tempValue,tempKeyVal;for(i=inputArr.length-2;i>=0;i--)for(j= 0;j<=i;j++){ret=sorter(inputArr[j+1],inputArr[j]);if(ret>0){tempValue=inputArr[j];inputArr[j]=inputArr[j+1];inputArr[j+1]=tempValue;tempKeyVal=keyArr[j];keyArr[j]=keyArr[j+1];keyArr[j+1]=tempKeyVal}}};for(k in inputArr){valArr.push(inputArr[k]);keyArr.push(k);delete inputArr[k]}try{bubbleSort(keyArr,valArr)}catch(e){return false}for(i=0;i<valArr.length;i++)inputArr[keyArr[i]]=valArr[i];return true}function asin(arg){return Math.asin(arg)} function asinh(arg){return Math.log(arg+Math.sqrt(arg*arg+1))} function asort(inputArr,sort_flags){var valArr=[],keyArr=[],k,i,ret,sorter;switch(sort_flags){case "SORT_STRING":sorter=function(a,b){return strnatcmp(a,b)};break;case "SORT_LOCALE_STRING":sorter=function(a,b){return a.localeCompare(b)};break;case "SORT_NUMERIC":sorter=function(a,b){return a-b};break;case "SORT_REGULAR":default:sorter=function(a,b){if(a>b)return 1;if(a<b)return-1;return 0};break}var bubbleSort=function(keyArr,inputArr){var i,j,tempValue,tempKeyVal;for(i=inputArr.length-2;i>=0;i--)for(j= 0;j<=i;j++){ret=sorter(inputArr[j+1],inputArr[j]);if(ret<0){tempValue=inputArr[j];inputArr[j]=inputArr[j+1];inputArr[j+1]=tempValue;tempKeyVal=keyArr[j];keyArr[j]=keyArr[j+1];keyArr[j+1]=tempKeyVal}}};for(k in inputArr){valArr.push(inputArr[k]);keyArr.push(k);delete inputArr[k]}try{bubbleSort(keyArr,valArr)}catch(e){return false}for(i=0;i<valArr.length;i++)inputArr[keyArr[i]]=valArr[i];return true}function atan(arg){return Math.atan(arg)}function atanh(arg){return 0.5*Math.log((1+arg)/(1-arg))} function base64_decode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,dec="",tmp_arr=[];if(!data)return data;data+="";do{h1=b64.indexOf(data.charAt(i++));h2=b64.indexOf(data.charAt(i++));h3=b64.indexOf(data.charAt(i++));h4=b64.indexOf(data.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&255;o2=bits>>8&255;o3=bits&255;if(h3==64)tmp_arr[ac++]=String.fromCharCode(o1);else if(h4==64)tmp_arr[ac++]=String.fromCharCode(o1,o2); else tmp_arr[ac++]=String.fromCharCode(o1,o2,o3)}while(i<data.length);dec=tmp_arr.join("");dec=utf8_decode(dec);return dec} function base64_encode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc="",tmp_arr=[];if(!data)return data;data=utf8_encode(data+"");do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&63;h2=bits>>12&63;h3=bits>>6&63;h4=bits&63;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4)}while(i<data.length);enc=tmp_arr.join("");switch(data.length%3){case 1:enc= enc.slice(0,-2)+"==";break;case 2:enc=enc.slice(0,-1)+"=";break}return enc}function base_convert(number,frombase,tobase){return parseInt(number+"",frombase+0).toString(tobase+0)}function bin2hex(s){var i,f=0,a=[];s+="";f=s.length;for(i=0;i<f;i++)a[i]=s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1");return a.join("")}function bindec(binary_string){binary_string=(binary_string+"").replace(/[^01]/gi,"");return parseInt(binary_string,2)}function ceil(value){return Math.ceil(value)} function checkdate(month,day,year){var myDate=new Date;myDate.setFullYear(year,month-1,day);return myDate.getMonth()+1==month&&day<32}function chop(str,charlist){return rtrim(str,charlist)}function chr(ascii){return String.fromCharCode(ascii)}function chunk_split(body,argChunklen,argEnd){if(chunklen<1)return false;var result="",chunklen=argChunklen||76,end=argEnd||"\r\n";while(body.length>chunklen){result+=body.substring(0,chunklen)+end;body=body.substring(chunklen)}return result+body+end} function class_exists(cls){var i="";cls=window[cls];if(typeof cls!=="function")return false;for(i in cls.prototype)return true;for(i in cls)if(i!=="prototype")return true;if(cls.toSource&&cls.toSource().match(/this\./))return true;return false} function compact(){var Matrix={};var key_value;var process=function(value){var i=0,l=value.length,key_value="";for(i=0;i<l;i++){key_value=value[i];if(key_value instanceof Array)process(key_value);else if(typeof window[key_value]!=="undefined")Matrix[key_value]=window[key_value]}return true};process(arguments);return Matrix}function cos(arg){return Math.cos(arg)}function cosh(arg){return(Math.exp(arg)+Math.exp(-arg))/2} function count(mixed_var,mode){var key,cnt=0;if(mode=="COUNT_RECURSIVE")mode=1;if(mode!=1)mode=0;for(key in mixed_var){cnt++;if(mode==1&&mixed_var[key]&&(mixed_var[key].constructor===Array||mixed_var[key].constructor===Object))cnt+=count(mixed_var[key],1)}return cnt} function count_chars(str,mode){var histogram={},tmp_arr=[];var key,i,code,strl=0;var argc=arguments.length;var mode_even=0;if(argc==1)mode=0;mode_even=(mode&1)==0;if(mode_even)for(i=1;i<256;++i)histogram[i]=0;str+="";strl=str.length;for(i=0;i<strl;++i){code=str.charCodeAt(i);if(code in histogram)++histogram[code];else histogram[code]=1}if(mode>0)for(key in histogram)if(histogram[key]==0!=mode_even)delete histogram[key];if(mode<3)return histogram;else{for(key in histogram)tmp_arr.push(String.fromCharCode(key)); return tmp_arr.join("")}} function crc32(str){str=utf8_encode(str);var table="00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D";var crc= 0;var x=0;var y=0;crc=crc^-1;for(var i=0,iTop=str.length;i<iTop;i++){y=(crc^str.charCodeAt(i))&255;x="0x"+table.substr(y*9,8);crc=crc>>>8^x}return crc^-1} function date(format,timestamp){var a,tal=[],jsdate=typeof timestamp=="undefined"?new Date:typeof timestamp=="number"?new Date(timestamp*1E3):new Date(timestamp);var pad=function(n,c){if((n=n+"").length<c)return(new Array(++c-n.length)).join("0")+n;else return n};var ret="";var txt_weekdays=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var txt_ordin={1:"st",2:"nd",3:"rd",21:"st",22:"nd",23:"rd",31:"st"};var txt_months=["","January","February","March","April","May","June", "July","August","September","October","November","December"];var f={d:function(){return pad(f.j(),2)},D:function(){var t=f.l();return t.substr(0,3)},j:function(){return jsdate.getDate()},l:function(){return txt_weekdays[f.w()]},N:function(){return f.w()+1},S:function(){return txt_ordin[f.j()]?txt_ordin[f.j()]:"th"},w:function(){return jsdate.getDay()},z:function(){return(jsdate-new Date(jsdate.getFullYear()+"/1/1"))/864E5>>0},W:function(){var a=f.z(),b=364+f.L()-a;var nd2,nd=((new Date(jsdate.getFullYear()+ "/1/1")).getDay()||7)-1;if(b<=2&&(jsdate.getDay()||7)-1<=2-b)return 1;else if(a<=2&&nd>=4&&a>=6-nd){nd2=new Date(jsdate.getFullYear()-1+"/12/31");return date("W",Math.round(nd2.getTime()/1E3))}else return 1+(nd<=3?(a+nd)/7:(a-(7-nd))/7)>>0},F:function(){return txt_months[f.n()]},m:function(){return pad(f.n(),2)},M:function(){var t;t=f.F();return t.substr(0,3)},n:function(){return jsdate.getMonth()+1},t:function(){var n;if((n=jsdate.getMonth()+1)==2)return 28+f.L();else if(n&1&&n<8||!(n&1)&&n>7)return 31; else return 30},L:function(){var y=f.Y();return!(y&3)&&(y%100||!(y%400))?1:0},o:function(){if(f.n()===12&&f.W()===1)return jsdate.getFullYear()+1;if(f.n()===1&&f.W()>=52)return jsdate.getFullYear()-1;return jsdate.getFullYear()},Y:function(){return jsdate.getFullYear()},y:function(){return(jsdate.getFullYear()+"").slice(2)},a:function(){return jsdate.getHours()>11?"pm":"am"},A:function(){return f.a().toUpperCase()},B:function(){var off=(jsdate.getTimezoneOffset()+60)*60;var theSeconds=jsdate.getHours()* 3600+jsdate.getMinutes()*60+jsdate.getSeconds()+off;var beat=Math.floor(theSeconds/86.4);if(beat>1E3)beat-=1E3;if(beat<0)beat+=1E3;if(String(beat).length==1)beat="00"+beat;if(String(beat).length==2)beat="0"+beat;return beat},g:function(){return jsdate.getHours()%12||12},G:function(){return jsdate.getHours()},h:function(){return pad(f.g(),2)},H:function(){return pad(jsdate.getHours(),2)},i:function(){return pad(jsdate.getMinutes(),2)},s:function(){return pad(jsdate.getSeconds(),2)},u:function(){return pad(jsdate.getMilliseconds()* 1E3,6)},e:function(){return"UTC"},I:function(){var DST=new Date(jsdate.getFullYear(),6,1,0,0,0);DST=DST.getHours()-DST.getUTCHours();var ref=jsdate.getHours()-jsdate.getUTCHours();return ref!=DST?1:0},O:function(){var t=pad(Math.abs(jsdate.getTimezoneOffset()/60*100),4);if(jsdate.getTimezoneOffset()>0)t="-"+t;else t="+"+t;return t},P:function(){var O=f.O();return O.substr(0,3)+":"+O.substr(3,2)},T:function(){return"UTC"},Z:function(){var t=-jsdate.getTimezoneOffset()*60;return t},c:function(){return f.Y()+ "-"+f.m()+"-"+f.d()+"T"+f.h()+":"+f.i()+":"+f.s()+f.P()},r:function(){return f.D()+", "+f.d()+" "+f.M()+" "+f.Y()+" "+f.H()+":"+f.i()+":"+f.s()+" "+f.O()},U:function(){return Math.round(jsdate.getTime()/1E3)}};return format.replace(/[\\]?([a-zA-Z])/g,function(t,s){if(t!=s)ret=s;else if(f[s])ret=f[s]();else ret=s;return ret})}function decbin(number){return parseInt(number).toString(2)}function dechex(number){return parseInt(number).toString(16)} function decoct(number){return parseInt(number).toString(8)}function deg2rad(angle){return angle/180*Math.PI}function doubleval(mixed_var){return floatval(mixed_var)} function echo(){var arg="",argc=arguments.length,argv=arguments,i=0;var stringToDOM=function(q){var d=document;var r=function(a){return a.replace(/\r/g," ").replace(/\n/g," ")};var s=function(a){return a.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&nbsp;/g," ").replace(/&quot;/g,'"')};var t=function(a){return a.replace(/ /g,"")};var u=function(a){var b,c,e,f,g,h,i;b=d.createDocumentFragment();c=a.indexOf(" ");if(c===-1)b.appendChild(d.createElement(a.toLowerCase()));else{i= t(a.substring(0,c)).toLowerCase();a=a.substr(c+1);b.appendChild(d.createElement(i));while(a.length){e=a.indexOf("=");if(e>=0){f=t(a.substring(0,e)).toLowerCase();g=a.indexOf('"');a=a.substr(g+1);g=a.indexOf('"');h=s(a.substring(0,g));a=a.substr(g+2);b.lastChild.setAttribute(f,h)}else break}}return b};var v=function(a,b,c){var e,f;e=b;c=c.toLowerCase();f=e.indexOf("</"+c+">");a=a.concat(e.substring(0,f));e=e.substr(f);while(a.indexOf("<"+c)!=-1){a=a.substr(a.indexOf("<"+c));a=a.substr(a.indexOf(">")+ 1);e=e.substr(e.indexOf(">")+1);f=e.indexOf("</"+c+">");a=a.concat(e.substring(0,f));e=e.substr(f)}return b.length-e.length};var w=function(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p,q;b=d.createDocumentFragment();while(a&&a.length){c=a.indexOf("<");if(c===-1){a=s(a);b.appendChild(d.createTextNode(a));a=null}else if(c){q=s(a.substring(0,c));b.appendChild(d.createTextNode(q));a=a.substr(c)}else{e=a.indexOf("<!--");if(!e){f=a.indexOf("--\>");g=a.substring(4,f);g=s(g);b.appendChild(d.createComment(g));a=a.substr(f+ 3)}else{h=a.indexOf(">");if(a.substring(h-1,h)==="/"){i=a.indexOf("/>");j=a.substring(1,i);b.appendChild(u(j));a=a.substr(i+2)}else{k=a.indexOf(">");l=a.substring(1,k);m=d.createDocumentFragment();m.appendChild(u(l));a=a.substr(k+1);n=a.substring(0,a.indexOf("</"));a=a.substr(a.indexOf("</"));if(n.indexOf("<")!=-1){o=m.lastChild.nodeName;p=v(n,a,o);n=n.concat(a.substring(0,p));a=a.substr(p)}a=a.substr(a.indexOf(">")+1);m.lastChild.appendChild(w(n));b.appendChild(m)}}}}return b};return w(q)};for(i= 0;i<argc;i++){arg=argv[i];if(document.createDocumentFragment&&document.createTextNode&&document.appendChild)if(document.body)document.body.appendChild(stringToDOM(arg));else document.documentElement.appendChild(stringToDOM(arg));else if(document.write)document.write(arg);else print(arg)}} function end(arr){if(!this.php_js)this.php_js={};if(!this.php_js.pointers)this.php_js.pointers=[];var pointers=this.php_js.pointers;if(pointers.indexOf(arr)===-1)pointers.push(arr,0);var arrpos=pointers.indexOf(arr);if(!(arr instanceof Array)){var ct=0;for(var k in arr){ct++;var val=arr[k]}if(ct===0)return false;pointers[arrpos+1]=ct-1;return val}if(arr.length===0)return false;pointers[arrpos+1]=arr.length-1;return arr[pointers[arrpos+1]]}function exp(arg){return Math.exp(arg)} function explode(delimiter,string,limit){var emptyArray={0:""};if(arguments.length<2||typeof arguments[0]=="undefined"||typeof arguments[1]=="undefined")return null;if(delimiter===""||delimiter===false||delimiter===null)return false;if(typeof delimiter=="function"||typeof delimiter=="object"||typeof string=="function"||typeof string=="object")return emptyArray;if(delimiter===true)delimiter="1";if(!limit)return string.toString().split(delimiter.toString());else{var splitted=string.toString().split(delimiter.toString()); var partA=splitted.splice(0,limit-1);var partB=splitted.join(delimiter.toString());partA.push(partB);return partA}}function floatval(mixed_var){return parseFloat(mixed_var)||0}function floor(value){return Math.floor(value)} function fmod(x,y){var tmp,tmp2,p=0,pY=0,l=0,l2=0;tmp=x.toExponential().match(/^.\.?(.*)e(.+)$/);p=parseInt(tmp[2])-(tmp[1]+"").length;tmp=y.toExponential().match(/^.\.?(.*)e(.+)$/);pY=parseInt(tmp[2])-(tmp[1]+"").length;if(pY>p)p=pY;tmp2=x%y;if(p<-100||p>20){l=Math.round(Math.log(tmp2)/Math.log(10));l2=Math.pow(10,l);return(tmp2/l2).toFixed(l-p)*l2}else return parseFloat(tmp2.toFixed(-p))} function get_class(obj){if(obj instanceof Object&&!(obj instanceof Array)&&!(obj instanceof Function)&&obj.constructor&&obj!=window){var arr=obj.constructor.toString().match(/function\s*(\w+)/);if(arr&&arr.length==2)return arr[1]}return false} function get_defined_vars(){var i="",arr=[],already={};for(i in window)try{if(typeof window[i]==="function"){if(!already[i]){already[i]=1;arr.push(i)}}else if(typeof window[i]==="object")for(var j in window[i])if(typeof window[j]==="function"&&window[j]&&!already[j]){already[j]=1;arr.push(j)}}catch(e){}return arr} function get_headers(url,format){var req=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest;if(!req)throw new Error("XMLHttpRequest not supported");var tmp,headers,pair,i;req.open("HEAD",url,false);req.send(null);if(req.readyState<3)return false;tmp=req.getAllResponseHeaders();alert(tmp);tmp=tmp.split("\n");tmp=array_filter(tmp,function(value){return value.substring(1)!=""});headers=[req.status+" "+req.statusText];for(i in tmp)if(format){pair=tmp[i].split(":");headers[pair.splice(0, 1)]=pair.join(":").substring(1)}else headers[headers.length]=tmp[i];return headers} function get_html_translation_table(table,quote_style){var entities={},histogram={},decimal=0,symbol="";var constMappingTable={},constMappingQuoteStyle={};var useTable={},useQuoteStyle={};useTable=table?table.toUpperCase():"HTML_SPECIALCHARS";useQuoteStyle=quote_style?quote_style.toUpperCase():"ENT_COMPAT";constMappingTable[0]="HTML_SPECIALCHARS";constMappingTable[1]="HTML_ENTITIES";constMappingQuoteStyle[0]="ENT_NOQUOTES";constMappingQuoteStyle[2]="ENT_COMPAT";constMappingQuoteStyle[3]="ENT_QUOTES"; if(!isNaN(useTable))useTable=constMappingTable[useTable];if(!isNaN(useQuoteStyle))useQuoteStyle=constMappingQuoteStyle[useQuoteStyle];if(useTable=="HTML_SPECIALCHARS"){entities["38"]="&amp;";if(useQuoteStyle!="ENT_NOQUOTES")entities["34"]="&quot;";if(useQuoteStyle=="ENT_QUOTES")entities["39"]="&#039;";entities["60"]="&lt;";entities["62"]="&gt;"}else if(useTable=="HTML_ENTITIES"){entities["38"]="&amp;";if(useQuoteStyle!="ENT_NOQUOTES")entities["34"]="&quot;";if(useQuoteStyle=="ENT_QUOTES")entities["39"]= "&#039;";entities["60"]="&lt;";entities["62"]="&gt;";entities["160"]="&nbsp;";entities["161"]="&iexcl;";entities["162"]="&cent;";entities["163"]="&pound;";entities["164"]="&curren;";entities["165"]="&yen;";entities["166"]="&brvbar;";entities["167"]="&sect;";entities["168"]="&uml;";entities["169"]="&copy;";entities["170"]="&ordf;";entities["171"]="&laquo;";entities["172"]="&not;";entities["173"]="&shy;";entities["174"]="&reg;";entities["175"]="&macr;";entities["176"]="&deg;";entities["177"]="&plusmn;"; entities["178"]="&sup2;";entities["179"]="&sup3;";entities["180"]="&acute;";entities["181"]="&micro;";entities["182"]="&para;";entities["183"]="&middot;";entities["184"]="&cedil;";entities["185"]="&sup1;";entities["186"]="&ordm;";entities["187"]="&raquo;";entities["188"]="&frac14;";entities["189"]="&frac12;";entities["190"]="&frac34;";entities["191"]="&iquest;";entities["192"]="&Agrave;";entities["193"]="&Aacute;";entities["194"]="&Acirc;";entities["195"]="&Atilde;";entities["196"]="&Auml;";entities["197"]= "&Aring;";entities["198"]="&AElig;";entities["199"]="&Ccedil;";entities["200"]="&Egrave;";entities["201"]="&Eacute;";entities["202"]="&Ecirc;";entities["203"]="&Euml;";entities["204"]="&Igrave;";entities["205"]="&Iacute;";entities["206"]="&Icirc;";entities["207"]="&Iuml;";entities["208"]="&ETH;";entities["209"]="&Ntilde;";entities["210"]="&Ograve;";entities["211"]="&Oacute;";entities["212"]="&Ocirc;";entities["213"]="&Otilde;";entities["214"]="&Ouml;";entities["215"]="&times;";entities["216"]="&Oslash;"; entities["217"]="&Ugrave;";entities["218"]="&Uacute;";entities["219"]="&Ucirc;";entities["220"]="&Uuml;";entities["221"]="&Yacute;";entities["222"]="&THORN;";entities["223"]="&szlig;";entities["224"]="&agrave;";entities["225"]="&aacute;";entities["226"]="&acirc;";entities["227"]="&atilde;";entities["228"]="&auml;";entities["229"]="&aring;";entities["230"]="&aelig;";entities["231"]="&ccedil;";entities["232"]="&egrave;";entities["233"]="&eacute;";entities["234"]="&ecirc;";entities["235"]="&euml;";entities["236"]= "&igrave;";entities["237"]="&iacute;";entities["238"]="&icirc;";entities["239"]="&iuml;";entities["240"]="&eth;";entities["241"]="&ntilde;";entities["242"]="&ograve;";entities["243"]="&oacute;";entities["244"]="&ocirc;";entities["245"]="&otilde;";entities["246"]="&ouml;";entities["247"]="&divide;";entities["248"]="&oslash;";entities["249"]="&ugrave;";entities["250"]="&uacute;";entities["251"]="&ucirc;";entities["252"]="&uuml;";entities["253"]="&yacute;";entities["254"]="&thorn;";entities["255"]="&yuml;"}else{throw Error("Table: "+ useTable+" not supported");return false}for(decimal in entities){symbol=String.fromCharCode(decimal);histogram[symbol]=entities[decimal]}return histogram} function getdate(timestamp){var _w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var _m=["January","February","March","April","May","June","July","August","September","October","November","December"];var d=typeof timestamp=="number"?new Date(timestamp*1E3):new Date;var w=d.getDay();var m=d.getMonth();var y=d.getFullYear();var r={};r["seconds"]=d.getSeconds();r["minutes"]=d.getMinutes();r["hours"]=d.getHours();r["mday"]=d.getDate();r["wday"]=w;r["mon"]=m+1;r["year"]=y;r["yday"]= Math.floor((d-new Date(y,0,1))/864E5);r["weekday"]=_w[w];r["month"]=_m[m];r["0"]=parseInt(d.getTime()/1E3);return r}function getrandmax(){return 2147483647}function hexdec(hex_string){hex_string=(hex_string+"").replace(/[^a-f0-9]/gi,"");return parseInt(hex_string,16)} function html_entity_decode(string,quote_style){var histogram={},symbol="",tmp_str="",entity="";tmp_str=string.toString();if(false===(histogram=get_html_translation_table("HTML_ENTITIES",quote_style)))return false;delete histogram["&"];histogram["&"]="&amp;";for(symbol in histogram){entity=histogram[symbol];tmp_str=tmp_str.split(entity).join(symbol)}return tmp_str} function htmlentities(string,quote_style){var histogram={},symbol="",tmp_str="",entity="";tmp_str=string.toString();if(false===(histogram=get_html_translation_table("HTML_ENTITIES",quote_style)))return false;for(symbol in histogram){entity=histogram[symbol];tmp_str=tmp_str.split(symbol).join(entity)}return tmp_str} function htmlspecialchars(string,quote_style){var histogram={},symbol="",tmp_str="",entity="";tmp_str=string.toString();if(false===(histogram=get_html_translation_table("HTML_SPECIALCHARS",quote_style)))return false;for(symbol in histogram){entity=histogram[symbol];tmp_str=tmp_str.split(symbol).join(entity)}return tmp_str} function htmlspecialchars_decode(string,quote_style){var histogram={},symbol="",tmp_str="",entity="";tmp_str=string.toString();if(false===(histogram=get_html_translation_table("HTML_SPECIALCHARS",quote_style)))return false;delete histogram["&"];histogram["&"]="&amp;";for(symbol in histogram){entity=histogram[symbol];tmp_str=tmp_str.split(entity).join(symbol)}return tmp_str} function http_build_query(formdata,numeric_prefix,arg_separator){var key,use_val,use_key,i=0,j=0,tmp_arr=[];if(!arg_separator)arg_separator="&";for(key in formdata){use_val=urlencode(formdata[key].toString());use_key=urlencode(key);if(numeric_prefix&&!isNaN(key)){use_key=numeric_prefix+j;j++}tmp_arr[i++]=use_key+"="+use_val}return tmp_arr.join(arg_separator)}function hypot(x,y){return Math.sqrt(x*x+y*y)||0}function implode(glue,pieces){return pieces instanceof Array?pieces.join(glue):pieces} function in_array(needle,haystack,argStrict){var found=false,key,strict=!!argStrict;for(key in haystack)if(strict&&haystack[key]===needle||!strict&&haystack[key]==needle){found=true;break}return found} function intval(mixed_var,base){var tmp;var type=typeof mixed_var;if(type=="boolean")if(mixed_var==true)return 1;else return 0;else if(type=="string"){tmp=parseInt(mixed_var*1);if(isNaN(tmp)||!isFinite(tmp))return 0;else return tmp.toString(base||10)}else if(type=="number"&&isFinite(mixed_var))return Math.floor(mixed_var);else return 0} function ip2long(ip_address){var output=false;var parts=[];if(ip_address.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/)){parts=ip_address.split(".");output=parts[0]*16777216+parts[1]*65536+parts[2]*256+parts[3]*1}return output}function is_bool(mixed_var){return typeof mixed_var=="boolean"}function is_double(mixed_var){return is_float(mixed_var)} function is_finite(val){var warningType="";if(val===Infinity||val===-Infinity)return false;if(typeof val=="object")warningType=val instanceof Array?"array":"object";else if(typeof val=="string"&&!val.match(/^[\+\-]?\d/))warningType="string";if(warningType)throw new Error("Warning: is_finite() expects parameter 1 to be double, "+warningType+" given");return true}function is_float(mixed_var){return parseFloat(mixed_var*1)!=parseInt(mixed_var*1)} function is_infinite(val){var warningType="";if(val===Infinity||val===-Infinity)return true;if(typeof val=="object")warningType=val instanceof Array?"array":"object";else if(typeof val=="string"&&!val.match(/^[\+\-]?\d/))warningType="string";if(warningType)throw new Error("Warning: is_infinite() expects parameter 1 to be double, "+warningType+" given");return false} function is_int(mixed_var){if(typeof mixed_var!=="number")return false;if(parseFloat(mixed_var)!=parseInt(mixed_var))return false;return true}function is_integer(mixed_var){return is_int(mixed_var)}function is_long(mixed_var){return is_float(mixed_var)} function is_nan(val){var warningType="";if(typeof val=="number"&&isNaN(val))return true;if(typeof val=="object")warningType=val instanceof Array?"array":"object";else if(typeof val=="string"&&!val.match(/^[\+\-]?\d/))warningType="string";if(warningType)throw new Error("Warning: is_nan() expects parameter 1 to be double, "+warningType+" given");return false}function is_null(mixed_var){return mixed_var===null}function is_numeric(mixed_var){if(mixed_var==="")return false;return!isNaN(mixed_var*1)} function is_real(mixed_var){return is_float(mixed_var)}function is_scalar(mixed_var){return/boolean|number|string/.test(typeof mixed_var)}function is_string(mixed_var){return typeof mixed_var=="string"}function join(glue,pieces){return implode(glue,pieces)} function json_decode(str_json){var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var j;var text=str_json;var walk=function(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k]}return reviver.call(holder,key,value)};cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+ a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("json_decode");} function json_encode(mixed_val){var indent;var value=mixed_val;var i;var quote=function(string){var escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var meta={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+ '"':'"'+string+'"'};var str=function(key,holder){var gap="";var indent=" ";var i=0;var k="";var v="";var length=0;var mind=gap;var partial=[];var value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);switch(typeof value){case "string":return quote(value);case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)=== "[object Array]"){length=value.length;for(i=0;i<length;i+=1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}for(k in value)if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}};return str("",{"":value})} function krsort(array,sort_flags){var tmp_arr={},keys=[],sorter,i,key;switch(sort_flags){case "SORT_STRING":sorter=function(a,b){return strnatcmp(b,a)};break;case "SORT_LOCALE_STRING":sorter=function(a,b){return b.localeCompare(a)};break;case "SORT_NUMERIC":sorter=function(a,b){return b-a};break;case "SORT_REGULAR":default:sorter=function(a,b){if(a<b)return 1;if(a>b)return-1;return 0};break}for(key in array)keys.push(key);keys.sort(sorter);for(i=0;i<keys.length;i++){key=keys[i];tmp_arr[key]=array[key]; delete array[key]}for(i in tmp_arr)array[i]=tmp_arr[i];return true} function ksort(array,sort_flags){var tmp_arr={},keys=[],sorter,i,key;switch(sort_flags){case "SORT_STRING":sorter=function(a,b){return strnatcmp(a,b)};break;case "SORT_LOCALE_STRING":sorter=function(a,b){return a.localeCompare(b)};break;case "SORT_NUMERIC":sorter=function(a,b){return a-b};break;case "SORT_REGULAR":default:sorter=function(a,b){if(a>b)return 1;if(a<b)return-1;return 0};break}for(key in array)keys.push(key);keys.sort(sorter);for(i=0;i<keys.length;i++){key=keys[i];tmp_arr[key]=array[key]; delete array[key]}for(i in tmp_arr)array[i]=tmp_arr[i];return true}function lcfirst(str){str+="";var f=str.charAt(0).toLowerCase();return f+str.substr(1)}function lcg_value(){return Math.random()} function levenshtein(a,b){var min=Math.min,len1=0,len2=0,I=0,i=0,d=[],c="",j=0,J=0;var split=false;try{split=!"0"[0]}catch(i){split=true}if(a==b)return 0;if(!a.length||!b.length)return b.length||a.length;if(split){a=a.split("");b=b.split("")}len1=a.length+1;len2=b.length+1;d=[[0]];while(++i<len2)d[0][i]=i;i=0;while(++i<len1){J=j=0;c=a[I];d[i]=[i];while(++j<len2){d[i][j]=min(d[I][j]+1,d[i][J]+1,d[I][J]+(c!=b[J]));++J}++I}return d[len1-1][len2-1]} function log(arg,base){if(base===undefined)return Math.log(arg);else return Math.log(arg)/Math.log(base)}function log10(arg){return Math.log(arg)/Math.LN10} function long2ip(proper_address){var output=false;if(!isNaN(proper_address)&&(proper_address>=0||proper_address<=4294967295))output=Math.floor(proper_address/Math.pow(256,3))+"."+Math.floor(proper_address%Math.pow(256,3)/Math.pow(256,2))+"."+Math.floor(proper_address%Math.pow(256,3)%Math.pow(256,2)/Math.pow(256,1))+"."+Math.floor(proper_address%Math.pow(256,3)%Math.pow(256,2)%Math.pow(256,1)/Math.pow(256,0));return output} function ltrim(str,charlist){charlist=!charlist?" s\u00a0":(charlist+"").replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,"$1");var re=new RegExp("^["+charlist+"]+","g");return(str+"").replace(re,"")} function max(){var ar,retVal,i=0,n=0;var argv=arguments,argc=argv.length;var _obj2Array=function(obj){if(obj instanceof Array)return obj;else{var ar=[];for(var i in obj)ar.push(obj[i]);return ar}};var _compare=function(current,next){var i=0,n=0,tmp=0;var nl=0,cl=0;if(current===next)return 0;else if(typeof current=="object")if(typeof next=="object"){current=_obj2Array(current);next=_obj2Array(next);cl=current.length;nl=next.length;if(nl>cl)return 1;else if(nl<cl)return-1;else{for(i=0,n=cl;i<n;++i){tmp= _compare(current[i],next[i]);if(tmp==1)return 1;else if(tmp==-1)return-1}return 0}}else return-1;else if(typeof next=="object")return 1;else if(isNaN(next)&&!isNaN(current))if(current==0)return 0;else return current<0?1:-1;else if(isNaN(current)&&!isNaN(next))if(next==0)return 0;else return next>0?1:-1;else if(next==current)return 0;else return next>current?1:-1};if(argc==0)throw new Error("At least one value should be passed to max()");else if(argc==1){if(typeof argv[0]=="object")ar=_obj2Array(argv[0]); else throw new Error("Wrong parameter count for max()");if(ar.length==0)throw new Error("Array must contain at least one element for max()");}else ar=argv;retVal=ar[0];for(i=1,n=ar.length;i<n;++i)if(_compare(retVal,ar[i])==1)retVal=ar[i];return retVal} function md5(str){var xl;var RotateLeft=function(lValue,iShiftBits){return lValue<<iShiftBits|lValue>>>32-iShiftBits};var AddUnsigned=function(lX,lY){var lX4,lY4,lX8,lY8,lResult;lX8=lX&2147483648;lY8=lY&2147483648;lX4=lX&1073741824;lY4=lY&1073741824;lResult=(lX&1073741823)+(lY&1073741823);if(lX4&lY4)return lResult^2147483648^lX8^lY8;if(lX4|lY4)if(lResult&1073741824)return lResult^3221225472^lX8^lY8;else return lResult^1073741824^lX8^lY8;else return lResult^lX8^lY8};var F=function(x,y,z){return x& y|~x&z};var G=function(x,y,z){return x&z|y&~z};var H=function(x,y,z){return x^y^z};var I=function(x,y,z){return y^(x|~z)};var FF=function(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(F(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b)};var GG=function(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(G(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b)};var HH=function(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(H(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s), b)};var II=function(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(I(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b)};var ConvertToWordArray=function(str){var lWordCount;var lMessageLength=str.length;var lNumberOfWords_temp1=lMessageLength+8;var lNumberOfWords_temp2=(lNumberOfWords_temp1-lNumberOfWords_temp1%64)/64;var lNumberOfWords=(lNumberOfWords_temp2+1)*16;var lWordArray=Array(lNumberOfWords-1);var lBytePosition=0;var lByteCount=0;while(lByteCount<lMessageLength){lWordCount=(lByteCount- lByteCount%4)/4;lBytePosition=lByteCount%4*8;lWordArray[lWordCount]=lWordArray[lWordCount]|str.charCodeAt(lByteCount)<<lBytePosition;lByteCount++}lWordCount=(lByteCount-lByteCount%4)/4;lBytePosition=lByteCount%4*8;lWordArray[lWordCount]=lWordArray[lWordCount]|128<<lBytePosition;lWordArray[lNumberOfWords-2]=lMessageLength<<3;lWordArray[lNumberOfWords-1]=lMessageLength>>>29;return lWordArray};var WordToHex=function(lValue){var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;for(lCount=0;lCount<= 3;lCount++){lByte=lValue>>>lCount*8&255;WordToHexValue_temp="0"+lByte.toString(16);WordToHexValue=WordToHexValue+WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2)}return WordToHexValue};var x=Array();var k,AA,BB,CC,DD,a,b,c,d;var S11=7,S12=12,S13=17,S14=22;var S21=5,S22=9,S23=14,S24=20;var S31=4,S32=11,S33=16,S34=23;var S41=6,S42=10,S43=15,S44=21;str=utf8_encode(str);x=ConvertToWordArray(str);a=1732584193;b=4023233417;c=2562383102;d=271733878;xl=x.length;for(k=0;k<xl;k+=16){AA=a;BB=b;CC= c;DD=d;a=FF(a,b,c,d,x[k+0],S11,3614090360);d=FF(d,a,b,c,x[k+1],S12,3905402710);c=FF(c,d,a,b,x[k+2],S13,606105819);b=FF(b,c,d,a,x[k+3],S14,3250441966);a=FF(a,b,c,d,x[k+4],S11,4118548399);d=FF(d,a,b,c,x[k+5],S12,1200080426);c=FF(c,d,a,b,x[k+6],S13,2821735955);b=FF(b,c,d,a,x[k+7],S14,4249261313);a=FF(a,b,c,d,x[k+8],S11,1770035416);d=FF(d,a,b,c,x[k+9],S12,2336552879);c=FF(c,d,a,b,x[k+10],S13,4294925233);b=FF(b,c,d,a,x[k+11],S14,2304563134);a=FF(a,b,c,d,x[k+12],S11,1804603682);d=FF(d,a,b,c,x[k+13],S12, 4254626195);c=FF(c,d,a,b,x[k+14],S13,2792965006);b=FF(b,c,d,a,x[k+15],S14,1236535329);a=GG(a,b,c,d,x[k+1],S21,4129170786);d=GG(d,a,b,c,x[k+6],S22,3225465664);c=GG(c,d,a,b,x[k+11],S23,643717713);b=GG(b,c,d,a,x[k+0],S24,3921069994);a=GG(a,b,c,d,x[k+5],S21,3593408605);d=GG(d,a,b,c,x[k+10],S22,38016083);c=GG(c,d,a,b,x[k+15],S23,3634488961);b=GG(b,c,d,a,x[k+4],S24,3889429448);a=GG(a,b,c,d,x[k+9],S21,568446438);d=GG(d,a,b,c,x[k+14],S22,3275163606);c=GG(c,d,a,b,x[k+3],S23,4107603335);b=GG(b,c,d,a,x[k+8], S24,1163531501);a=GG(a,b,c,d,x[k+13],S21,2850285829);d=GG(d,a,b,c,x[k+2],S22,4243563512);c=GG(c,d,a,b,x[k+7],S23,1735328473);b=GG(b,c,d,a,x[k+12],S24,2368359562);a=HH(a,b,c,d,x[k+5],S31,4294588738);d=HH(d,a,b,c,x[k+8],S32,2272392833);c=HH(c,d,a,b,x[k+11],S33,1839030562);b=HH(b,c,d,a,x[k+14],S34,4259657740);a=HH(a,b,c,d,x[k+1],S31,2763975236);d=HH(d,a,b,c,x[k+4],S32,1272893353);c=HH(c,d,a,b,x[k+7],S33,4139469664);b=HH(b,c,d,a,x[k+10],S34,3200236656);a=HH(a,b,c,d,x[k+13],S31,681279174);d=HH(d,a,b,c, x[k+0],S32,3936430074);c=HH(c,d,a,b,x[k+3],S33,3572445317);b=HH(b,c,d,a,x[k+6],S34,76029189);a=HH(a,b,c,d,x[k+9],S31,3654602809);d=HH(d,a,b,c,x[k+12],S32,3873151461);c=HH(c,d,a,b,x[k+15],S33,530742520);b=HH(b,c,d,a,x[k+2],S34,3299628645);a=II(a,b,c,d,x[k+0],S41,4096336452);d=II(d,a,b,c,x[k+7],S42,1126891415);c=II(c,d,a,b,x[k+14],S43,2878612391);b=II(b,c,d,a,x[k+5],S44,4237533241);a=II(a,b,c,d,x[k+12],S41,1700485571);d=II(d,a,b,c,x[k+3],S42,2399980690);c=II(c,d,a,b,x[k+10],S43,4293915773);b=II(b,c, d,a,x[k+1],S44,2240044497);a=II(a,b,c,d,x[k+8],S41,1873313359);d=II(d,a,b,c,x[k+15],S42,4264355552);c=II(c,d,a,b,x[k+6],S43,2734768916);b=II(b,c,d,a,x[k+13],S44,1309151649);a=II(a,b,c,d,x[k+4],S41,4149444226);d=II(d,a,b,c,x[k+11],S42,3174756917);c=II(c,d,a,b,x[k+2],S43,718787259);b=II(b,c,d,a,x[k+9],S44,3951481745);a=AddUnsigned(a,AA);b=AddUnsigned(b,BB);c=AddUnsigned(c,CC);d=AddUnsigned(d,DD)}var temp=WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);return temp.toLowerCase()} function method_exists(obj,method){if(typeof obj==="string")return window[obj]&&typeof window[obj][method]==="function";return typeof obj[method]==="function"}function microtime(get_as_float){var now=(new Date).getTime()/1E3;var s=parseInt(now);return get_as_float?now:Math.round((now-s)*1E3)/1E3+" "+s} function min(){var ar,retVal,i=0,n=0;var argv=arguments,argc=argv.length;var _obj2Array=function(obj){if(obj instanceof Array)return obj;else{var ar=[];for(var i in obj)ar.push(obj[i]);return ar}};var _compare=function(current,next){var i=0,n=0,tmp=0;var nl=0,cl=0;if(current===next)return 0;else if(typeof current=="object")if(typeof next=="object"){current=_obj2Array(current);next=_obj2Array(next);cl=current.length;nl=next.length;if(nl>cl)return 1;else if(nl<cl)return-1;else{for(i=0,n=cl;i<n;++i){tmp= _compare(current[i],next[i]);if(tmp==1)return 1;else if(tmp==-1)return-1}return 0}}else return-1;else if(typeof next=="object")return 1;else if(isNaN(next)&&!isNaN(current))if(current==0)return 0;else return current<0?1:-1;else if(isNaN(current)&&!isNaN(next))if(next==0)return 0;else return next>0?1:-1;else if(next==current)return 0;else return next>current?1:-1};if(argc==0)throw new Error("At least one value should be passed to min()");else if(argc==1){if(typeof argv[0]=="object")ar=_obj2Array(argv[0]); else throw new Error("Wrong parameter count for min()");if(ar.length==0)throw new Error("Array must contain at least one element for min()");}else ar=argv;retVal=ar[0];for(i=1,n=ar.length;i<n;++i)if(_compare(retVal,ar[i])==-1)retVal=ar[i];return retVal} function mktime(){var no=0,i=0,ma=0,mb=0,d=new Date,dn=new Date,argv=arguments,argc=argv.length;var dateManip={0:function(tt){return d.setHours(tt)},1:function(tt){return d.setMinutes(tt)},2:function(tt){var set=d.setSeconds(tt);mb=d.getDate()-dn.getDate();return set},3:function(tt){var set=d.setMonth(parseInt(tt)-1);ma=d.getFullYear()-dn.getFullYear();return set},4:function(tt){return d.setDate(tt+mb)},5:function(tt){if(tt>=0&&tt<=69)tt+=2E3;else if(tt>=70&&tt<=100)tt+=1900;return d.setFullYear(tt+ ma)}};for(i=0;i<argc;i++){no=parseInt(argv[i]*1);if(isNaN(no))return false;else if(!dateManip[i](no))return false}for(i=argc;i<6;i++){switch(i){case 0:no=dn.getHours();break;case 1:no=dn.getMinutes();break;case 2:no=dn.getSeconds();break;case 3:no=dn.getMonth()+1;break;case 4:no=dn.getDate();break;case 5:no=dn.getFullYear();break}dateManip[i](no)}return Math.floor(d.getTime()/1E3)}function mt_getrandmax(){return 2147483647} function mt_rand(min,max){var argc=arguments.length;if(argc==0){min=0;max=2147483647}else if(argc==1)throw new Error("Warning: mt_rand() expects exactly 2 parameters, 1 given");return Math.floor(Math.random()*(max-min+1))+min} function natcasesort(inputArr){var valArr=[],keyArr=[],k,i,ret;var bubbleSort=function(keyArr,inputArr){var i,j,tempValue,tempKeyVal;for(i=inputArr.length-2;i>=0;i--)for(j=0;j<=i;j++){ret=strnatcasecmp(inputArr[j+1],inputArr[j]);if(ret<0){tempValue=inputArr[j];inputArr[j]=inputArr[j+1];inputArr[j+1]=tempValue;tempKeyVal=keyArr[j];keyArr[j]=keyArr[j+1];keyArr[j+1]=tempKeyVal}}};for(k in inputArr){valArr.push(inputArr[k]);keyArr.push(k);delete inputArr[k]}try{bubbleSort(keyArr,valArr)}catch(e){return false}for(i= 0;i<valArr.length;i++)inputArr[keyArr[i]]=valArr[i];return true} function natsort(inputArr){var valArr=[],keyArr=[],k,i,ret;var bubbleSort=function(keyArr,inputArr){var i,j,tempValue,tempKeyVal;for(i=inputArr.length-2;i>=0;i--)for(j=0;j<=i;j++){ret=strnatcmp(inputArr[j+1],inputArr[j]);if(ret<0){tempValue=inputArr[j];inputArr[j]=inputArr[j+1];inputArr[j+1]=tempValue;tempKeyVal=keyArr[j];keyArr[j]=keyArr[j+1];keyArr[j+1]=tempKeyVal}}};for(k in inputArr){valArr.push(inputArr[k]);keyArr.push(k);delete inputArr[k]}try{bubbleSort(keyArr,valArr)}catch(e){return false}for(i= 0;i<valArr.length;i++)inputArr[keyArr[i]]=valArr[i];return true}function nl2br(str,is_xhtml){var breakTag="";breakTag="<br />";if(typeof is_xhtml!="undefined"&&!is_xhtml)breakTag="<br>";return(str+"").replace(/([^>]?)\n/g,"$1"+breakTag+"\n")} function number_format(number,decimals,dec_point,thousands_sep){var n=number,prec=decimals;n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=typeof thousands_sep=="undefined"?",":thousands_sep;var dec=typeof dec_point=="undefined"?".":dec_point;var s=prec>0?n.toFixed(prec):Math.round(n).toFixed(prec);var abs=Math.abs(n).toFixed(prec);var _,i;if(abs>=1E3){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+_[0].slice(i).replace(/(\d{3})/g,sep+"$1");s=_.join(dec)}else s=s.replace(".", dec);return s}function octdec(oct_string){oct_string=(oct_string+"").replace(/[^0-7]/gi,"");return parseInt(oct_string,8)}function ord(string){return(string+"").charCodeAt(0)}function parse_str(str,array){var glue1="=";var glue2="&";var array2=(str+"").split(glue2);var array2l=0,tmp="",x=0;array2l=array2.length;for(x=0;x<array2l;x++){tmp=array2[x].split(glue1);array[unescape(tmp[0])]=unescape(tmp[1]).replace(/[+]/g," ")}} function parse_url(str,component){var o={strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/\/?)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}}; var m=o.parser[o.strictMode?"strict":"loose"].exec(str),uri={},i=14;while(i--)uri[o.key[i]]=m[i]||"";switch(component){case "PHP_URL_SCHEME":return uri.protocol;case "PHP_URL_HOST":return uri.host;case "PHP_URL_PORT":return uri.port;case "PHP_URL_USER":return uri.user;case "PHP_URL_PASS":return uri.password;case "PHP_URL_PATH":return uri.path;case "PHP_URL_QUERY":return uri.query;case "PHP_URL_FRAGMENT":return uri.anchor;default:var retArr={};if(uri.protocol!=="")retArr.scheme=uri.protocol;if(uri.host!== "")retArr.host=uri.host;if(uri.port!=="")retArr.port=uri.port;if(uri.user!=="")retArr.user=uri.user;if(uri.password!=="")retArr.pass=uri.password;if(uri.path!=="")retArr.path=uri.path;if(uri.query!=="")retArr.query=uri.query;if(uri.anchor!=="")retArr.fragment=uri.anchor;return retArr}}function pi(){return Math.PI}function pow(base,exp){return Math.pow(base,exp)}function preg_quote(str){return(str+"").replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g,"\\$1")} function print_r(array,return_val){var output="",pad_char=" ",pad_val=4;var formatArray=function(obj,cur_depth,pad_val,pad_char){if(cur_depth>0)cur_depth++;var base_pad=repeat_char(pad_val*cur_depth,pad_char);var thick_pad=repeat_char(pad_val*(cur_depth+1),pad_char);var str="";if(typeof obj==="object"&&obj!==null&&obj.constructor&&obj.constructor.name!=="PHPJS_Resource"){str+="Array\n"+base_pad+"(\n";for(var key in obj)if(obj[key]instanceof Array)str+=thick_pad+"["+key+"] => "+formatArray(obj[key], cur_depth+1,pad_val,pad_char);else str+=thick_pad+"["+key+"] => "+obj[key]+"\n";str+=base_pad+")\n"}else if(obj==null||obj==undefined)str="";else str=obj.toString();return str};var repeat_char=function(len,pad_char){var str="";for(var i=0;i<len;i++)str+=pad_char;return str};output=formatArray(array,0,pad_val,pad_char);if(return_val!==true){if(document.body)echo(output);else try{XULDocument;echo('<pre xmlns="http://www.w3.org/1999/xhtml" style="white-space:pre;">'+output+"</pre>")}catch(e){echo(output)}return true}else return output} function property_exists(cls,prop){cls=typeof cls==="string"?window[cls]:cls;if(typeof cls==="function"&&cls.toSource&&cls.toSource().match(new RegExp("this\\."+prop+"\\s")))return true;return cls[prop]!==undefined&&typeof cls[prop]!=="function"||cls.prototype!==undefined&&cls.prototype[prop]!==undefined&&typeof cls.prototype[prop]!=="function"||cls.constructor&&cls.constructor[prop]!==undefined&&typeof cls.constructor[prop]!=="function"} function quotemeta(str){return(str+"").replace(/([\.\\\+\*\?\[\^\]\$\(\)])/g,"\\$1")}function rad2deg(angle){return angle/Math.PI*180}function rand(min,max){var argc=arguments.length;if(argc==0){min=0;max=2147483647}else if(argc==1)throw new Error("Warning: rand() expects exactly 2 parameters, 1 given");return Math.floor(Math.random()*(max-min+1))+min} function range(low,high,step){var matrix=[];var inival,endval,plus;var walker=step||1;var chars=false;if(!isNaN(low)&&!isNaN(high)){inival=low;endval=high}else if(isNaN(low)&&isNaN(high)){chars=true;inival=low.charCodeAt(0);endval=high.charCodeAt(0)}else{inival=isNaN(low)?0:low;endval=isNaN(high)?0:high}plus=inival>endval?false:true;if(plus)while(inival<=endval){matrix.push(chars?String.fromCharCode(inival):inival);inival+=walker}else while(inival>=endval){matrix.push(chars?String.fromCharCode(inival): inival);inival-=walker}return matrix} function rawurldecode(str){var histogram={};var ret=str.toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace)};histogram["'"]="%27";histogram["("]="%28";histogram[")"]="%29";histogram["*"]="%2A";histogram["~"]="%7E";histogram["!"]="%21";s;for(replace in histogram){search=histogram[replace];ret=replacer(search,replace,ret)}ret=ret.replace(/%([a-fA-F][0-9a-fA-F])/g,function(all,hex){return String.fromCharCode("0x"+hex)});ret=decodeURIComponent(ret); return ret} function rawurlencode(str){var histogram={},tmp_arr=[];var ret=str.toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace)};histogram["'"]="%27";histogram["("]="%28";histogram[")"]="%29";histogram["*"]="%2A";histogram["~"]="%7E";histogram["!"]="%21";histogram["\u20ac"]="%80";histogram["\u0081"]="%81";histogram["\u201a"]="%82";histogram["\u0192"]="%83";histogram["\u201e"]="%84";histogram["\u2026"]="%85";histogram["\u2020"]="%86";histogram["\u2021"]= "%87";histogram["\u02c6"]="%88";histogram["\u2030"]="%89";histogram["\u0160"]="%8A";histogram["\u2039"]="%8B";histogram["\u0152"]="%8C";histogram["\u008d"]="%8D";histogram["\u017d"]="%8E";histogram["\u008f"]="%8F";histogram["\u0090"]="%90";histogram["\u2018"]="%91";histogram["\u2019"]="%92";histogram["\u201c"]="%93";histogram["\u201d"]="%94";histogram["\u2022"]="%95";histogram["\u2013"]="%96";histogram["\u2014"]="%97";histogram["\u02dc"]="%98";histogram["\u2122"]="%99";histogram["\u0161"]="%9A";histogram["\u203a"]= "%9B";histogram["\u0153"]="%9C";histogram["\u009d"]="%9D";histogram["\u017e"]="%9E";histogram["\u0178"]="%9F";ret=encodeURIComponent(ret);ret=replacer("%20"," ",ret);for(search in histogram){replace=histogram[search];ret=replacer(search,replace,ret)}return ret.replace(/(\%([a-z0-9]{2}))/g,function(full,m1,m2){return"%"+m2.toUpperCase()});return ret} function reset(arr){if(!this.php_js)this.php_js={};if(!this.php_js.pointers)this.php_js.pointers=[];var pointers=this.php_js.pointers;if(pointers.indexOf(arr)===-1)pointers.push(arr,0);var arrpos=pointers.indexOf(arr);if(!(arr instanceof Array)){for(var k in arr){if(pointers.indexOf(arr)===-1)pointers.push(arr,0);else pointers[arrpos+1]=0;return arr[k]}return false}if(arr.length===0)return false;pointers[arrpos+1]=0;return arr[pointers[arrpos+1]]} function round(val,precision){return parseFloat(parseFloat(val).toFixed(precision))} function rsort(inputArr,sort_flags){var valArr=[],keyArr=[];var k="",i=0,sorter=false;for(k in inputArr){valArr.push(inputArr[k]);delete inputArr[k]}switch(sort_flags){case "SORT_STRING":sorter=function(a,b){return strnatcmp(b,a)};break;case "SORT_LOCALE_STRING":sorter=function(a,b){return b.localeCompare(a)};break;case "SORT_NUMERIC":sorter=function(a,b){return b-a};break;case "SORT_REGULAR":default:sorter=function(a,b){if(a<b)return 1;if(a>b)return-1;return 0};break}valArr.sort(sorter);for(i=0;i< valArr.length;i++)inputArr[i]=valArr[i];return true}function rtrim(str,charlist){charlist=!charlist?" s\u00a0":(charlist+"").replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,"$1");var re=new RegExp("["+charlist+"]+$","g");return(str+"").replace(re,"")} function serialize(mixed_value){var _getType=function(inp){var type=typeof inp,match;var key;if(type=="object"&&!inp)return"null";if(type=="object"){if(!inp.constructor)return"object";var cons=inp.constructor.toString();if(match=cons.match(/(\w+)\(/))cons=match[1].toLowerCase();var types=["boolean","number","string","array"];for(key in types)if(cons==types[key]){type=types[key];break}}return type};var type=_getType(mixed_value);var val,ktype="";switch(type){case "function":val="";break;case "undefined":val= "N";break;case "boolean":val="b:"+(mixed_value?"1":"0");break;case "number":val=(Math.round(mixed_value)==mixed_value?"i":"d")+":"+mixed_value;break;case "string":val="s:"+mixed_value.length+':"'+mixed_value+'"';break;case "array":case "object":val="a";var count=0;var vals="";var okey;var key;for(key in mixed_value){ktype=_getType(mixed_value[key]);if(ktype=="function")continue;okey=key.match(/^[0-9]+$/)?parseInt(key):key;vals+=serialize(okey)+serialize(mixed_value[key]);count++}val+=":"+count+":{"+ vals+"}";break}if(type!="object"&&type!="array")val+=";";return val}function setcookie(name,value,expires,path,domain,secure){return setrawcookie(name,encodeURIComponent(value),expires,path,domain,secure)} function setrawcookie(name,value,expires,path,domain,secure){if(expires instanceof Date)expires=expires.toGMTString();else if(typeof expires=="number")expires=(new Date(+new Date+expires*1E3)).toGMTString();var r=[name+"="+value],s,i;for(i in s={expires:expires,path:path,domain:domain})s[i]&&r.push(i+"="+s[i]);return secure&&r.push("secure"),document.cookie=r.join(";"),true} function settype(vr,type){var is_array=function(arr){return typeof arr==="object"&&typeof arr.length==="number"&&!arr.propertyIsEnumerable("length")&&typeof arr.splice==="function"};var v,mtch,i,obj;v=this[vr]?this[vr]:vr;try{switch(type){case "boolean":if(is_array(v)&&v.length===0)this[vr]=false;else if(v==="0")this[vr]=false;else if(typeof v==="object"&&!is_array(v)){var lgth=false;for(i in v)lgth=true;this[vr]=lgth}else this[vr]=!!v;break;case "integer":if(typeof v==="number")this[vr]=parseInt(v, 10);else if(typeof v==="string"){mtch=v.match(/^([+-]?)(\d+)/);if(!mtch)this[vr]=0;else this[vr]=parseInt(v,10)}else if(v===true)this[vr]=1;else if(v===false||v===null)this[vr]=0;else if(is_array(v)&&v.length===0)this[vr]=0;else if(typeof v==="object")this[vr]=1;break;case "float":if(typeof v==="string"){mtch=v.match(/^([+-]?)(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?/);if(!mtch)this[vr]=0;else this[vr]=parseFloat(v,10)}else if(v===true)this[vr]=1;else if(v===false||v===null)this[vr]=0;else if(is_array(v)&& v.length===0)this[vr]=0;else if(typeof v==="object")this[vr]=1;break;case "string":if(v===null||v===false)this[vr]="";else if(is_array(v))this[vr]="Array";else if(typeof v==="object")this[vr]="Object";else if(v===true)this[vr]="1";else this[vr]+="";break;case "array":if(v===null)this[vr]=[];else if(typeof v!=="object")this[vr]=[v];break;case "object":if(v===null)this[vr]={};else if(is_array(v)){for(i=0,obj={};i<v.length;i++)obj[i]=v;this[vr]=obj}else if(typeof v!=="object")this[vr]={scalar:v};break; case "null":delete this[vr];break}return true}catch(e){return false}} function sha1(str){var rotate_left=function(n,s){var t4=n<<s|n>>>32-s;return t4};var lsb_hex=function(val){var str="";var i;var vh;var vl;for(i=0;i<=6;i+=2){vh=val>>>i*4+4&15;vl=val>>>i*4&15;str+=vh.toString(16)+vl.toString(16)}return str};var cvt_hex=function(val){var str="";var i;var v;for(i=7;i>=0;i--){v=val>>>i*4&15;str+=v.toString(16)}return str};var blockstart;var i,j;var W=new Array(80);var H0=1732584193;var H1=4023233417;var H2=2562383102;var H3=271733878;var H4=3285377520;var A,B,C,D,E;var temp; str=utf8_encode(str);var str_len=str.length;var word_array=[];for(i=0;i<str_len-3;i+=4){j=str.charCodeAt(i)<<24|str.charCodeAt(i+1)<<16|str.charCodeAt(i+2)<<8|str.charCodeAt(i+3);word_array.push(j)}switch(str_len%4){case 0:i=2147483648;break;case 1:i=str.charCodeAt(str_len-1)<<24|8388608;break;case 2:i=str.charCodeAt(str_len-2)<<24|str.charCodeAt(str_len-1)<<16|32768;break;case 3:i=str.charCodeAt(str_len-3)<<24|str.charCodeAt(str_len-2)<<16|str.charCodeAt(str_len-1)<<8|128;break}word_array.push(i); while(word_array.length%16!=14)word_array.push(0);word_array.push(str_len>>>29);word_array.push(str_len<<3&4294967295);for(blockstart=0;blockstart<word_array.length;blockstart+=16){for(i=0;i<16;i++)W[i]=word_array[blockstart+i];for(i=16;i<=79;i++)W[i]=rotate_left(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);A=H0;B=H1;C=H2;D=H3;E=H4;for(i=0;i<=19;i++){temp=rotate_left(A,5)+(B&C|~B&D)+E+W[i]+1518500249&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}for(i=20;i<=39;i++){temp=rotate_left(A,5)+(B^C^D)+E+W[i]+1859775393& 4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}for(i=40;i<=59;i++){temp=rotate_left(A,5)+(B&C|B&D|C&D)+E+W[i]+2400959708&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}for(i=60;i<=79;i++){temp=rotate_left(A,5)+(B^C^D)+E+W[i]+3395469782&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}H0=H0+A&4294967295;H1=H1+B&4294967295;H2=H2+C&4294967295;H3=H3+D&4294967295;H4=H4+E&4294967295}temp=cvt_hex(H0)+cvt_hex(H1)+cvt_hex(H2)+cvt_hex(H3)+cvt_hex(H4);return temp.toLowerCase()} function shuffle(inputArr){var valArr=[];var k="",i=0;for(k in inputArr){valArr.push(inputArr[k]);delete inputArr[k]}valArr.sort(function(){return 0.5-Math.random()});for(i=0;i<valArr.length;i++)inputArr[i]=valArr[i];return true}function sin(arg){return Math.sin(arg)}function sinh(arg){return(Math.exp(arg)-Math.exp(-arg))/2}function sizeof(mixed_var,mode){return count(mixed_var,mode)} function sort(inputArr,sort_flags){var valArr=[],keyArr=[];var k="",i=0,sorter=false;for(k in inputArr){valArr.push(inputArr[k]);delete inputArr[k]}switch(sort_flags){case "SORT_STRING":sorter=function(a,b){return strnatcmp(a,b)};break;case "SORT_LOCALE_STRING":sorter=function(a,b){return a.localeCompare(b)};break;case "SORT_NUMERIC":sorter=function(a,b){return a-b};break;case "SORT_REGULAR":default:sorter=function(a,b){if(a>b)return 1;if(a<b)return-1;return 0};break}valArr.sort(sorter);for(i=0;i< valArr.length;i++)inputArr[i]=valArr[i];return true}function soundex(str){var s="";var i,j,l,p=isNaN(p)?4:p>10?10:p<4?4:p;var m={BFPV:1,CGJKQSXZ:2,DT:3,L:4,MN:5,R:6};var r=(s=(str+"").toUpperCase().replace(/[^A-Z]/g,"").split("")).splice(0,1);var sl=0;sl=s.length;for(i=-1,l=sl;++i<l;)for(j in m)if(j.indexOf(s[i])+1&&r[r.length-1]!=m[j]&&r.push(m[j]))break;return r.length>p&&(r.length=p),r.join("")+(new Array(p-r.length+1)).join("0")} function split(delimiter,string){return explode(delimiter,string)} function sprintf(){var regex=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuidfegEG])/g;var a=arguments,i=0,format=a[i++];var pad=function(str,len,chr,leftJustify){if(!chr)chr=" ";var padding=str.length>=len?"":Array(1+len-str.length>>>0).join(chr);return leftJustify?str+padding:padding+str};var justify=function(value,prefix,leftJustify,minWidth,zeroPad,customPadChar){var diff=minWidth-value.length;if(diff>0)if(leftJustify||!zeroPad)value=pad(value,minWidth,customPadChar, leftJustify);else value=value.slice(0,prefix.length)+pad("",diff,"0",true)+value.slice(prefix.length);return value};var formatBaseX=function(value,base,prefix,leftJustify,minWidth,precision,zeroPad){var number=value>>>0;prefix=prefix&&number&&{"2":"0b","8":"0","16":"0x"}[base]||"";value=prefix+pad(number.toString(base),precision||0,"0",false);return justify(value,prefix,leftJustify,minWidth,zeroPad)};var formatString=function(value,leftJustify,minWidth,precision,zeroPad,customPadChar){if(precision!= null)value=value.slice(0,precision);return justify(value,"",leftJustify,minWidth,zeroPad,customPadChar)};var doFormat=function(substring,valueIndex,flags,minWidth,_,precision,type){var number;var prefix;var method;var textTransform;var value;if(substring=="%%")return"%";var leftJustify=false,positivePrefix="",zeroPad=false,prefixBaseX=false,customPadChar=" ";var flagsl=flags.length;for(var j=0;flags&&j<flagsl;j++)switch(flags.charAt(j)){case " ":positivePrefix=" ";break;case "+":positivePrefix="+"; break;case "-":leftJustify=true;break;case "'":customPadChar=flags.charAt(j+1);break;case "0":zeroPad=true;break;case "#":prefixBaseX=true;break}if(!minWidth)minWidth=0;else if(minWidth=="*")minWidth=+a[i++];else if(minWidth.charAt(0)=="*")minWidth=+a[minWidth.slice(1,-1)];else minWidth=+minWidth;if(minWidth<0){minWidth=-minWidth;leftJustify=true}if(!isFinite(minWidth))throw new Error("sprintf: (minimum-)width must be finite");if(!precision)precision="fFeE".indexOf(type)>-1?6:type=="d"?0:void 0;else if(precision== "*")precision=+a[i++];else if(precision.charAt(0)=="*")precision=+a[precision.slice(1,-1)];else precision=+precision;value=valueIndex?a[valueIndex.slice(0,-1)]:a[i++];switch(type){case "s":return formatString(String(value),leftJustify,minWidth,precision,zeroPad,customPadChar);case "c":return formatString(String.fromCharCode(+value),leftJustify,minWidth,precision,zeroPad);case "b":return formatBaseX(value,2,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case "o":return formatBaseX(value,8,prefixBaseX, leftJustify,minWidth,precision,zeroPad);case "x":return formatBaseX(value,16,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case "X":return formatBaseX(value,16,prefixBaseX,leftJustify,minWidth,precision,zeroPad).toUpperCase();case "u":return formatBaseX(value,10,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case "i":case "d":{number=parseInt(+value);prefix=number<0?"-":positivePrefix;value=prefix+pad(String(Math.abs(number)),precision,"0",false);return justify(value,prefix,leftJustify, minWidth,zeroPad)}case "e":case "E":case "f":case "F":case "g":case "G":{number=+value;prefix=number<0?"-":positivePrefix;method=["toExponential","toFixed","toPrecision"]["efg".indexOf(type.toLowerCase())];textTransform=["toString","toUpperCase"]["eEfFgG".indexOf(type)%2];value=prefix+Math.abs(number)[method](precision);return justify(value,prefix,leftJustify,minWidth,zeroPad)[textTransform]()}default:return substring}};return format.replace(regex,doFormat)} function sqrt(arg){return Math.sqrt(arg)} function str_ireplace(search,replace,subject){var i,k="";var searchl=0;var reg;search+="";searchl=search.length;if(!(replace instanceof Array)){replace=new Array(replace);if(search instanceof Array)while(searchl>replace.length)replace[replace.length]=replace[0]}if(!(search instanceof Array))search=new Array(search);while(search.length>replace.length)replace[replace.length]="";if(subject instanceof Array){for(k in subject)subject[k]=str_ireplace(search,replace,subject[k]);return subject}searchl=search.length; for(i=0;i<searchl;i++){reg=new RegExp(search[i],"gi");subject=subject.replace(reg,replace[i])}return subject} function str_pad(input,pad_length,pad_string,pad_type){var half="",pad_to_go;var str_pad_repeater=function(s,len){var collect="",i;while(collect.length<len)collect+=s;collect=collect.substr(0,len);return collect};input+="";if(pad_type!="STR_PAD_LEFT"&&pad_type!="STR_PAD_RIGHT"&&pad_type!="STR_PAD_BOTH")pad_type="STR_PAD_RIGHT";if((pad_to_go=pad_length-input.length)>0)if(pad_type=="STR_PAD_LEFT")input=str_pad_repeater(pad_string,pad_to_go)+input;else if(pad_type=="STR_PAD_RIGHT")input=input+str_pad_repeater(pad_string, pad_to_go);else if(pad_type=="STR_PAD_BOTH"){half=str_pad_repeater(pad_string,Math.ceil(pad_to_go/2));input=half+input+half;input=input.substr(0,pad_length)}return input}function str_repeat(input,multiplier){return(new Array(multiplier+1)).join(input)} function str_replace(search,replace,subject){var s=subject;var ra=r instanceof Array,sa=s instanceof Array;var f=[].concat(search);var r=[].concat(replace);var i=(s=[].concat(s)).length;var j=0;while(j=0,i--)if(s[i])while(s[i]=(s[i]+"").split(f[j]).join(ra?r[j]||"":r[0]),++j in f);return sa?s:s[0]}function str_rot13(str){return(str+"").replace(/[A-Za-z]/g,function(c){return String.fromCharCode((((c=c.charCodeAt(0))&223)-52)%26+(c&32)+65)})} function str_shuffle(str){if(str==undefined)throw"Wrong parameter count for str_shuffle()";var getRandomInt=function(max){return Math.floor(Math.random()*(max+1))};var newStr="",rand=0;while(str.length){rand=getRandomInt(str.length-1);newStr+=str[rand];str=str.substring(0,rand)+str.substr(rand+1)}return newStr} function str_split(f_string,f_split_length){f_string+="";if(f_split_length==undefined)f_split_length=1;if(f_split_length>0){var result=[];while(f_string.length>f_split_length){result[result.length]=f_string.substring(0,f_split_length);f_string=f_string.substring(f_split_length)}result[result.length]=f_string;return result}return false} function strcasecmp(f_string1,f_string2){var string1=(f_string1+"").toLowerCase();var string2=(f_string2+"").toLowerCase();if(string1>string2)return 1;else if(string1==string2)return 0;return-1}function strchr(haystack,needle,bool){return strstr(haystack,needle,bool)}function strcmp(str1,str2){return str1==str2?0:str1>str2?1:-1} function strcspn(str,mask,start,length){start=start?start:0;var count=length&&start+length<str.length?start+length:str.length;strct:for(var i=start,lgth=0;i<count;i++){for(var j=0;j<mask.length;j++)if(str[i].indexOf(mask[j])!==-1)continue strct;++lgth}return lgth} function strip_tags(str,allowed_tags){var key="",allowed=false;var matches=[];var allowed_array=[];var allowed_tag="";var i=0;var k="";var html="";var replacer=function(search,replace,str){return str.split(search).join(replace)};if(allowed_tags)allowed_array=allowed_tags.match(/([a-zA-Z]+)/gi);str+="";matches=str.match(/(<\/?[\S][^>]*>)/gi);for(key in matches){if(isNaN(key))continue;html=matches[key].toString();allowed=false;for(k in allowed_array){allowed_tag=allowed_array[k];i=-1;if(i!=0)i=html.toLowerCase().indexOf("<"+ allowed_tag+">");if(i!=0)i=html.toLowerCase().indexOf("<"+allowed_tag+" ");if(i!=0)i=html.toLowerCase().indexOf("</"+allowed_tag);if(i==0){allowed=true;break}}if(!allowed)str=replacer(html,"",str)}return str}function stripos(f_haystack,f_needle,f_offset){var haystack=(f_haystack+"").toLowerCase();var needle=(f_needle+"").toLowerCase();var index=0;if((index=haystack.indexOf(needle,f_offset))!==-1)return index;return false} function stripslashes(str){return(str+"").replace(/\0/g,"0").replace(/\\([\\'"])/g,"$1")}function stristr(haystack,needle,bool){var pos=0;haystack+="";pos=haystack.toLowerCase().indexOf((needle+"").toLowerCase());if(pos==-1)return false;else if(bool)return haystack.substr(0,pos);else return haystack.slice(pos)} function strlen(string){var str=string+"";var i=0,chr="",lgth=0;var getWholeChar=function(str,i){var code=str.charCodeAt(i);var next="",prev="";if(55296<=code&&code<=56319){if(str.length<=i+1)throw"High surrogate without following low surrogate";next=str.charCodeAt(i+1);if(56320>next||next>57343)throw"High surrogate without following low surrogate";return str[i]+str[i+1]}else if(56320<=code&&code<=57343){if(i===0)throw"Low surrogate without preceding high surrogate";prev=str.charCodeAt(i-1);if(55296> prev||prev>56319)throw"Low surrogate without preceding high surrogate";return false}return str[i]};for(i=0,lgth=0;i<str.length;i++){if((chr=getWholeChar(str,i))===false)continue;lgth++}return lgth} function strnatcasecmp(str1,str2){a=(str1+"").toLowerCase();b=(str2+"").toLowerCase();var isWhitespaceChar=function(a){return a.charCodeAt(0)<=32};var isDigitChar=function(a){var charCode=a.charCodeAt(0);return charCode>=48&&charCode<=57};var compareRight=function(a,b){var bias=0;var ia=0;var ib=0;var ca;var cb;for(;;ia++,ib++){ca=a.charAt(ia);cb=b.charAt(ib);if(!isDigitChar(ca)&&!isDigitChar(cb))return bias;else if(!isDigitChar(ca))return-1;else if(!isDigitChar(cb))return+1;else if(ca<cb){if(bias== 0)bias=-1}else if(ca>cb){if(bias==0)bias=+1}else if(ca==0&&cb==0)return bias}};var ia=0,ib=0;var nza=0,nzb=0;var ca,cb;var result;while(true){nza=nzb=0;ca=a.charAt(ia);cb=b.charAt(ib);while(isWhitespaceChar(ca)||ca=="0"){if(ca=="0")nza++;else nza=0;ca=a.charAt(++ia)}while(isWhitespaceChar(cb)||cb=="0"){if(cb=="0")nzb++;else nzb=0;cb=b.charAt(++ib)}if(isDigitChar(ca)&&isDigitChar(cb))if((result=compareRight(a.substring(ia),b.substring(ib)))!=0)return result;if(ca==0&&cb==0)return nza-nzb;if(ca<cb)return-1; else if(ca>cb)return+1;++ia;++ib}} function strnatcmp(f_string1,f_string2,f_version){if(f_version==undefined)f_version=false;var __strnatcmp_split=function(f_string){var result=[];var buffer="";var chr="";var i=0,f_stringl=0;var text=true;f_stringl=f_string.length;for(i=0;i<f_stringl;i++){chr=f_string.substring(i,i+1);if(chr.match(/[0-9]/)){if(text){if(buffer.length>0){result[result.length]=buffer;buffer=""}text=false}buffer+=chr}else if(text==false&&chr=="."&&i<f_string.length-1&&f_string.substring(i+1,i+2).match(/[0-9]/)){result[result.length]= buffer;buffer=""}else{if(text==false){if(buffer.length>0){result[result.length]=parseInt(buffer);buffer=""}text=true}buffer+=chr}}if(buffer.length>0)if(text)result[result.length]=buffer;else result[result.length]=parseInt(buffer);return result};var array1=__strnatcmp_split(f_string1+"");var array2=__strnatcmp_split(f_string2+"");var len=array1.length;var text=true;var result=-1;var r=0;if(len>array2.length){len=array2.length;result=1}for(i=0;i<len;i++)if(isNaN(array1[i]))if(isNaN(array2[i])){text= true;if((r=strcmp(array1[i],array2[i]))!=0)return r}else if(text)return 1;else return-1;else if(isNaN(array2[i]))if(text)return-1;else return 1;else{if(text||f_version){if((r=array1[i]-array2[i])!=0)return r}else if((r=strcmp(array1[i].toString(),array2[i].toString()))!=0)return r;text=false}return result} function strncasecmp(argStr1,argStr2,len){var diff,i=0;var str1=(argStr1+"").toLowerCase().substr(0,len);var str2=(argStr2+"").toLowerCase().substr(0,len);if(str1.length!==str2.length)if(str1.length<str2.length){len=str1.length;if(str2.substr(0,str1.length)==str1)return str1.length-str2.length}else{len=str2.length;if(str1.substr(0,str2.length)==str2)return str1.length-str2.length}else len=str1.length;for(diff=0,i=0;i<len;i++){diff=str1.charCodeAt(i)-str2.charCodeAt(i);if(diff!==0)return diff}return 0} function strncmp(str1,str2,lgth){var s1=(str1+"").substr(0,lgth);var s2=(str2+"").substr(0,lgth);return s1==s2?0:s1>s2?1:-1} function strpbrk(haystack,char_list){haystack+="";char_list+="";var lon=haystack.length;var lon_search=char_list.length;var ret=false;var stack="";var i=0,j=0;if(lon>=lon_search)if(lon==lon_search){if(haystack==char_list)ret=haystack}else{j=0;i=0;while(i<lon_search&&j<lon&&!ret){if(char_list[i]==haystack[j]){i++;if(i==lon_search)ret=true}j++}if(ret)for(i=j-lon_search;i<lon;i++)stack+=haystack[i];if(stack!="")ret=stack}return ret} function strpos(haystack,needle,offset){var i=(haystack+"").indexOf(needle,offset);return i===-1?false:i}function strrchr(haystack,needle){var pos=0;if(typeof needle!=="string")needle=String.fromCharCode(parseInt(needle,10));needle=needle[0];pos=haystack.lastIndexOf(needle);if(pos===-1)return false;return haystack.substr(pos)}function strrev(string){var ret="",i=0;string+="";for(i=string.length-1;i>=0;i--)ret+=string.charAt(i);return ret} function strripos(haystack,needle,offset){var i=(haystack+"").toLowerCase().lastIndexOf((needle+"").toLowerCase(),offset);return i>=0?i:false}function strrpos(haystack,needle,offset){var i=(haystack+"").lastIndexOf(needle,offset);return i>=0?i:false} function strspn(str1,str2,start,lgth){var found;var stri;var strj;var j=0;var i=0;start=start?start<0?str1.length+start:start:0;lgth=lgth?lgth<0?str1.length+lgth-start:lgth:str1.length-start;str1=str1.substr(start,lgth);for(i=0;i<str1.length;i++){found=0;stri=str1.substring(i,i+1);for(j=0;j<=str2.length;j++){strj=str2.substring(j,j+1);if(stri==strj){found=1;break}}if(found!=1)return i}return i} function strstr(haystack,needle,bool){var pos=0;haystack+="";pos=haystack.indexOf(needle);if(pos==-1)return false;else if(bool)return haystack.substr(0,pos);else return haystack.slice(pos)}function strtok(str,tokens){if(tokens===undefined){tokens=str;str=strtok.leftOver}if(str.length===0)return false;if(tokens.indexOf(str[0])!==-1)return strtok(str.substr(1),tokens);for(var i=0;i<str.length;i++)if(tokens.indexOf(str[i])!==-1)break;strtok.leftOver=str.substr(i+1);return str.substring(0,i)} function strtolower(str){return(str+"").toLowerCase()} function strtotime(str,now){var i,match,s,strTmp="",parse="";strTmp=str;strTmp=strTmp.replace(/\s{2,}|^\s|\s$/g," ");strTmp=strTmp.replace(/[\t\r\n]/g,"");if(strTmp=="now")return(new Date).getTime();else if(!isNaN(parse=Date.parse(strTmp)))return parse/1E3;else if(now)now=new Date(now);else now=new Date;strTmp=strTmp.toLowerCase();var process=function(m){var ago=m[2]&&m[2]=="ago";var num=(num=m[0]=="last"?-1:1)*(ago?-1:1);switch(m[0]){case "last":case "next":switch(m[1].substring(0,3)){case "yea":now.setFullYear(now.getFullYear()+ num);break;case "mon":now.setMonth(now.getMonth()+num);break;case "wee":now.setDate(now.getDate()+num*7);break;case "day":now.setDate(now.getDate()+num);break;case "hou":now.setHours(now.getHours()+num);break;case "min":now.setMinutes(now.getMinutes()+num);break;case "sec":now.setSeconds(now.getSeconds()+num);break;default:var day;if(typeof(day=__is_day[m[1].substring(0,3)])!="undefined"){var diff=day-now.getDay();if(diff==0)diff=7*num;else if(diff>0){if(m[0]=="last")diff-=7}else if(m[0]=="next")diff+= 7;now.setDate(now.getDate()+diff)}}break;default:if(/\d+/.test(m[0])){num*=parseInt(m[0]);switch(m[1].substring(0,3)){case "yea":now.setFullYear(now.getFullYear()+num);break;case "mon":now.setMonth(now.getMonth()+num);break;case "wee":now.setDate(now.getDate()+num*7);break;case "day":now.setDate(now.getDate()+num);break;case "hou":now.setHours(now.getHours()+num);break;case "min":now.setMinutes(now.getMinutes()+num);break;case "sec":now.setSeconds(now.getSeconds()+num);break}}else return false;break}return true}; var __is={day:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},mon:{jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}};match=strTmp.match(/^(\d{2,4}-\d{2}-\d{2})(\s\d{1,2}:\d{1,2}(:\d{1,2})?)?$/);if(match!=null){if(!match[2])match[2]="00:00:00";else if(!match[3])match[2]+=":00";s=match[1].split(/-/g);for(i in __is.mon)if(__is.mon[i]==s[1]-1)s[1]=i;return strtotime(s[2]+" "+s[1]+" "+s[0]+" "+match[2])}var regex="([+-]?\\d+\\s"+"(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?"+ "|sun.?|sunday|mon.?|monday|tue.?|tuesday|wed.?|wednesday"+"|thu.?|thursday|fri.?|friday|sat.?|saturday)"+"|(last|next)\\s"+"(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?"+"|sun.?|sunday|mon.?|monday|tue.?|tuesday|wed.?|wednesday"+"|thu.?|thursday|fri.?|friday|sat.?|saturday))"+"(\\sago)?";match=strTmp.match(new RegExp(regex,"g"));if(match==null)return false;for(i in match)if(!process(match[i].split(" ")))return false;return now} function strtoupper(str){return(str+"").toUpperCase()}function strtr(str,from,to){var fr="",i=0,lgth=0;if(typeof from==="object"){for(fr in from)str=str.replace(fr,from[fr]);return str}lgth=to.length;if(from.length<to.length)lgth=from.length;for(i=0;i<lgth;i++)str=str.replace(from[i],to[i],"g");return str} function substr(f_string,f_start,f_length){f_string+="";if(f_start<0)f_start+=f_string.length;if(f_length==undefined)f_length=f_string.length;else if(f_length<0)f_length+=f_string.length;else f_length+=f_start;if(f_length<f_start)f_length=f_start;return f_string.substring(f_start,f_length)} function substr_count(haystack,needle,offset,length){var pos=0,cnt=0;haystack+="";needle+="";if(isNaN(offset))offset=0;if(isNaN(length))length=0;offset--;while((offset=haystack.indexOf(needle,offset+1))!=-1)if(length>0&&offset+needle.length>length)return false;else cnt++;return cnt}function tan(arg){return Math.tan(arg)}function tanh(arg){return(Math.exp(arg)-Math.exp(-arg))/(Math.exp(arg)+Math.exp(-arg))}function time(){return Math.round((new Date).getTime()/1E3)} function trim(str,charlist){var whitespace,l=0,i=0;str+="";if(!charlist)whitespace=" \n\r\t\u000c\u000b\u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";else{charlist+="";whitespace=charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,"$1")}l=str.length;for(i=0;i<l;i++)if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(i);break}l=str.length;for(i=l-1;i>=0;i--)if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(0,i+1);break}return whitespace.indexOf(str.charAt(0))=== -1?str:""} function uasort(inputArr,sorter){if(typeof sorter==="string")sorter=this[sorter];else if(sorter instanceof Array)sorter=this[sorter[0]][sorter[1]];var valArr=[],keyArr=[],tempKeyVal,tempValue,ret;var k="",i=0;var sorterNew=function(keyArr,valArr){for(var i=valArr.length-2;i>=0;i--)for(var j=0;j<=i;j++){ret=sorter(valArr[j+1],valArr[j]);if(ret<0){tempValue=valArr[j];valArr[j]=valArr[j+1];valArr[j+1]=tempValue;tempKeyVal=keyArr[j];keyArr[j]=keyArr[j+1];keyArr[j+1]=tempKeyVal}}};for(k in inputArr){valArr.push(inputArr[k]);keyArr.push(k); delete inputArr[k]}try{sorterNew(keyArr,valArr)}catch(e){return false}for(i=0;i<valArr.length;i++)inputArr[keyArr[i]]=valArr[i];return true}function ucfirst(str){str+="";var f=str.charAt(0).toUpperCase();return f+str.substr(1)}function ucwords(str){return(str+"").replace(/^(.)|\s(.)/g,function($1){return $1.toUpperCase()})} function uksort(array,sorter){if(typeof sorter==="string")sorter=window[sorter];var tmp_arr={},keys=[],i=0,key="";for(key in array)keys.push(key);try{if(sorter)keys.sort(sorter);else keys.sort()}catch(e){return false}for(i=0;i<keys.length;i++){key=keys[i];tmp_arr[key]=array[key];delete array[key]}for(i in tmp_arr)array[i]=tmp_arr[i];return true} function unserialize(data){var error=function(type,msg,filename,line){throw new window[type](msg,filename,line);};var read_until=function(data,offset,stopchr){var buf=[];var chr=data.slice(offset,offset+1);var i=2;while(chr!=stopchr){if(i+offset>data.length)error("Error","Invalid");buf.push(chr);chr=data.slice(offset+(i-1),offset+i);i+=1}return[buf.length,buf.join("")]};var read_chrs=function(data,offset,length){var buf;buf=[];for(var i=0;i<length;i++){var chr=data.slice(offset+(i-1),offset+i);buf.push(chr)}return[buf.length, buf.join("")]};var _unserialize=function(data,offset){var readdata;var readData;var chrs=0;var ccount;var stringlength;var keyandchrs;var keys;if(!offset)offset=0;var dtype=data.slice(offset,offset+1).toLowerCase();var dataoffset=offset+2;var typeconvert=new Function("x","return x");switch(dtype){case "i":typeconvert=new Function("x","return parseInt(x)");readData=read_until(data,dataoffset,";");chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case "b":typeconvert=new Function("x","return (parseInt(x) == 1)"); readData=read_until(data,dataoffset,";");chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case "d":typeconvert=new Function("x","return parseFloat(x)");readData=read_until(data,dataoffset,";");chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case "n":readdata=null;break;case "s":ccount=read_until(data,dataoffset,":");chrs=ccount[0];stringlength=ccount[1];dataoffset+=chrs+2;readData=read_chrs(data,dataoffset+1,parseInt(stringlength));chrs=readData[0];readdata=readData[1]; dataoffset+=chrs+2;if(chrs!=parseInt(stringlength)&&chrs!=readdata.length)error("SyntaxError","String length mismatch");break;case "a":readdata={};keyandchrs=read_until(data,dataoffset,":");chrs=keyandchrs[0];keys=keyandchrs[1];dataoffset+=chrs+2;for(var i=0;i<parseInt(keys);i++){var kprops=_unserialize(data,dataoffset);var kchrs=kprops[1];var key=kprops[2];dataoffset+=kchrs;var vprops=_unserialize(data,dataoffset);var vchrs=vprops[1];var value=vprops[2];dataoffset+=vchrs;readdata[key]=value}dataoffset+= 1;break;default:error("SyntaxError","Unknown / Unhandled data type(s): "+dtype);break}return[dtype,dataoffset-offset,typeconvert(readdata)]};return _unserialize(data,0)[2]} function urldecode(str){var histogram={};var ret=str.toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace)};histogram["'"]="%27";histogram["("]="%28";histogram[")"]="%29";histogram["*"]="%2A";histogram["~"]="%7E";histogram["!"]="%21";histogram["%20"]="+";histogram["\u20ac"]="%80";histogram["\u0081"]="%81";histogram["\u201a"]="%82";histogram["\u0192"]="%83";histogram["\u201e"]="%84";histogram["\u2026"]="%85";histogram["\u2020"]="%86"; histogram["\u2021"]="%87";histogram["\u02c6"]="%88";histogram["\u2030"]="%89";histogram["\u0160"]="%8A";histogram["\u2039"]="%8B";histogram["\u0152"]="%8C";histogram["\u008d"]="%8D";histogram["\u017d"]="%8E";histogram["\u008f"]="%8F";histogram["\u0090"]="%90";histogram["\u2018"]="%91";histogram["\u2019"]="%92";histogram["\u201c"]="%93";histogram["\u201d"]="%94";histogram["\u2022"]="%95";histogram["\u2013"]="%96";histogram["\u2014"]="%97";histogram["\u02dc"]="%98";histogram["\u2122"]="%99";histogram["\u0161"]= "%9A";histogram["\u203a"]="%9B";histogram["\u0153"]="%9C";histogram["\u009d"]="%9D";histogram["\u017e"]="%9E";histogram["\u0178"]="%9F";for(replace in histogram){search=histogram[replace];ret=replacer(search,replace,ret)}ret=decodeURIComponent(ret);return ret} function urlencode(str){var histogram={},tmp_arr=[];var ret=(str+"").toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace)};histogram["'"]="%27";histogram["("]="%28";histogram[")"]="%29";histogram["*"]="%2A";histogram["~"]="%7E";histogram["!"]="%21";histogram["%20"]="+";histogram["\u20ac"]="%80";histogram["\u0081"]="%81";histogram["\u201a"]="%82";histogram["\u0192"]="%83";histogram["\u201e"]="%84";histogram["\u2026"]="%85";histogram["\u2020"]= "%86";histogram["\u2021"]="%87";histogram["\u02c6"]="%88";histogram["\u2030"]="%89";histogram["\u0160"]="%8A";histogram["\u2039"]="%8B";histogram["\u0152"]="%8C";histogram["\u008d"]="%8D";histogram["\u017d"]="%8E";histogram["\u008f"]="%8F";histogram["\u0090"]="%90";histogram["\u2018"]="%91";histogram["\u2019"]="%92";histogram["\u201c"]="%93";histogram["\u201d"]="%94";histogram["\u2022"]="%95";histogram["\u2013"]="%96";histogram["\u2014"]="%97";histogram["\u02dc"]="%98";histogram["\u2122"]="%99";histogram["\u0161"]= "%9A";histogram["\u203a"]="%9B";histogram["\u0153"]="%9C";histogram["\u009d"]="%9D";histogram["\u017e"]="%9E";histogram["\u0178"]="%9F";ret=encodeURIComponent(ret);for(search in histogram){replace=histogram[search];ret=replacer(search,replace,ret)}return ret.replace(/(\%([a-z0-9]{2}))/g,function(full,m1,m2){return"%"+m2.toUpperCase()});return ret} function usort(inputArr,sorter){var valArr=[],keyArr=[];var k="",i=0;if(typeof sorter==="string")sorter=this[sorter];else if(sorter instanceof Array)sorter=this[sorter[0]][sorter[1]];for(k in inputArr){valArr.push(inputArr[k]);delete inputArr[k]}try{valArr.sort(sorter)}catch(e){return false}for(i=0;i<valArr.length;i++)inputArr[i]=valArr[i];return true} function utf8_decode(str_data){var tmp_arr=[],i=0,ac=0,c1=0,c2=0,c3=0;str_data+="";while(i<str_data.length){c1=str_data.charCodeAt(i);if(c1<128){tmp_arr[ac++]=String.fromCharCode(c1);i++}else if(c1>191&&c1<224){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode((c1&31)<<6|c2&63);i+=2}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode((c1&15)<<12|(c2&63)<<6|c3&63);i+=3}}return tmp_arr.join("")} function utf8_encode(string){string=(string+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");var utftext="";var start,end;var stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128)end++;else if(c1>127&&c1<2048)enc=String.fromCharCode(c1>>6|192)+String.fromCharCode(c1&63|128);else enc=String.fromCharCode(c1>>12|224)+String.fromCharCode(c1>>6&63|128)+String.fromCharCode(c1&63|128);if(enc!=null){if(end>start)utftext+=string.substring(start, end);utftext+=enc;start=end=n+1}}if(end>start)utftext+=string.substring(start,string.length);return utftext} function var_export(mixed_expression,bool_return){var retstr="";var iret="";var cnt=0;var x=[];var key="",i=0;var __getType=function(inp){var match,type=typeof inp;if(type=="object"&&inp.constructor&&inp.constructor.name==="PHPJS_Resource")return"resource";if(type=="object"&&!inp)return"null";if(type=="object"){if(!inp.constructor)return"object";var cons=inp.constructor.toString();if(match=cons.match(/(\w+)\(/))cons=match[1].toLowerCase();var types=["boolean","number","string","array"];for(key in types)if(cons== types[key]){type=types[key];break}}return type};var type=__getType(mixed_expression);if(type===null)retstr="NULL";else if(type=="array"||type=="object"){for(i in mixed_expression)x[cnt++]=var_export(i,true)+" => "+var_export(mixed_expression[i],true);iret=x.join(",\n ");retstr="array (\n "+iret+"\n)"}else if(type==="resource")retstr="NULL";else retstr=!isNaN(mixed_expression)?mixed_expression:"'"+mixed_expression.replace("/([\"'])/g","\\$1").replace("/\u0000/g","\\0")+"'";if(bool_return!=true){echo(retstr); return null}else return retstr}function vsprintf(format,args){return sprintf.apply(this,[format].concat(args))} function wordwrap(str,int_width,str_break,cut){var m=arguments.length>=2?arguments[1]:75;var b=arguments.length>=3?arguments[2]:"\n";var c=arguments.length>=4?arguments[3]:false;var i,j,l,s,r;str+="";if(m<1)return str;for(i=-1,l=(r=str.split("\n")).length;++i<l;r[i]+=s)for(s=r[i],r[i]="";s.length>m;r[i]+=s.slice(0,j)+((s=s.slice(j)).length?b:""))j=c==2||(j=s.slice(0,m+1).match(/\S*(\s)?$/))[1]?m:j.input.length-j[0].length||c==1&&m||j.input.length+(j=s.slice(m).match(/^\S*/)).input.length;return r.join("\n")} function hasCoordinates(q){var doc=file("service.html?module=geography&service=has_coordinates&q="+escape(q));var element=doc.getElementsByTagName("root").item(0);var error=element.getElementsByTagName("result").item(0).getAttribute("error");return false}function etablissementSearchMemoriseMenu(menu){var doc=file("service.html?module=etablissement&service=memorise_menu&menu_selected="+escape(menu))} function sha1(msg){function rotate_left(n,s){var t4=n<<s|n>>>32-s;return t4}function lsb_hex(val){var str="";var i;var vh;var vl;for(i=0;i<=6;i+=2){vh=val>>>i*4+4&15;vl=val>>>i*4&15;str+=vh.toString(16)+vl.toString(16)}return str}function cvt_hex(val){var str="";var i;var v;for(i=7;i>=0;i--){v=val>>>i*4&15;str+=v.toString(16)}return str}function Utf8Encode(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128)utftext+=String.fromCharCode(c); else if(c>127&&c<2048){utftext+=String.fromCharCode(c>>6|192);utftext+=String.fromCharCode(c&63|128)}else{utftext+=String.fromCharCode(c>>12|224);utftext+=String.fromCharCode(c>>6&63|128);utftext+=String.fromCharCode(c&63|128)}}return utftext}var blockstart;var i,j;var W=new Array(80);var H0=1732584193;var H1=4023233417;var H2=2562383102;var H3=271733878;var H4=3285377520;var A,B,C,D,E;var temp;msg=Utf8Encode(msg);var msg_len=msg.length;var word_array=new Array;for(i=0;i<msg_len-3;i+=4){j=msg.charCodeAt(i)<< 24|msg.charCodeAt(i+1)<<16|msg.charCodeAt(i+2)<<8|msg.charCodeAt(i+3);word_array.push(j)}switch(msg_len%4){case 0:i=2147483648;break;case 1:i=msg.charCodeAt(msg_len-1)<<24|8388608;break;case 2:i=msg.charCodeAt(msg_len-2)<<24|msg.charCodeAt(msg_len-1)<<16|32768;break;case 3:i=msg.charCodeAt(msg_len-3)<<24|msg.charCodeAt(msg_len-2)<<16|msg.charCodeAt(msg_len-1)<<8|128;break}word_array.push(i);while(word_array.length%16!=14)word_array.push(0);word_array.push(msg_len>>>29);word_array.push(msg_len<<3& 4294967295);for(blockstart=0;blockstart<word_array.length;blockstart+=16){for(i=0;i<16;i++)W[i]=word_array[blockstart+i];for(i=16;i<=79;i++)W[i]=rotate_left(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);A=H0;B=H1;C=H2;D=H3;E=H4;for(i=0;i<=19;i++){temp=rotate_left(A,5)+(B&C|~B&D)+E+W[i]+1518500249&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}for(i=20;i<=39;i++){temp=rotate_left(A,5)+(B^C^D)+E+W[i]+1859775393&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}for(i=40;i<=59;i++){temp=rotate_left(A,5)+(B&C|B& D|C&D)+E+W[i]+2400959708&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}for(i=60;i<=79;i++){temp=rotate_left(A,5)+(B^C^D)+E+W[i]+3395469782&4294967295;E=D;D=C;C=rotate_left(B,30);B=A;A=temp}H0=H0+A&4294967295;H1=H1+B&4294967295;H2=H2+C&4294967295;H3=H3+D&4294967295;H4=H4+E&4294967295}var temp=cvt_hex(H0)+cvt_hex(H1)+cvt_hex(H2)+cvt_hex(H3)+cvt_hex(H4);return temp.toLowerCase()}current=0;var rotate=true;var rotate_delay=4E3; function slide_show_next(){if(document.slideform.slide[current+1]){document.images.show.src=document.slideform.slide[current+1].value;document.slideform.slide.selectedIndex=++current}else slide_show_first()}function slide_show_previous(){if(current-1>=0){document.images.show.src=document.slideform.slide[current-1].value;document.slideform.slide.selectedIndex=--current}else slide_show_last()} function slide_show_first(){current=0;document.images.show.src=document.slideform.slide[0].value;document.slideform.slide.selectedIndex=0}function slide_show_last(){current=document.slideform.slide.length-1;document.images.show.src=document.slideform.slide[current].value;document.slideform.slide.selectedIndex=current}function slide_show_ap(){if(rotate==true)rotate=false;else rotate=true;slide_show_rotate()}function isRotate(){return rotate} function slide_show_change(){current=document.slideform.slide.selectedIndex;document.images.show.src=document.slideform.slide[current].value} function slide_show_rotate(){if(rotate==true){current=current==document.slideform.slide.length-1?0:current+1;if(navigator.appName=="Microsoft Internet Explorer"){rotate_delay=4E3;document.images.show.style.filter="blendTrans(duration=4)";document.images.show.filters.blendTrans.Apply();document.images.show.filters.blendTrans.Play()}document.images.show.src=document.slideform.slide[current].value;document.slideform.slide.selectedIndex=current;window.setTimeout("slide_show_rotate()",rotate_delay)}} function trim(str,chars){return ltrim(rtrim(str,chars),chars)}function ltrim(str,chars){var car=chars!=undefined?chars:"\\s";return str.replace(new RegExp("^["+chars+"]*","g"),"")}function rtrim(str,chars){var car=chars!=undefined?chars:"\\s";return str.replace(new RegExp("["+chars+"]*$","g"),"")}function escapeURI(La){if(encodeURIComponent)return encodeURIComponent(La);if(escape)return escape(La)} function printDiscount(id_discount){file("generique-discount_download.html?fk_generique_discount="+id_discount);window.print()}function sleep(millis){var date=new Date;var curDate=null;do curDate=new Date;while(curDate-date<millis)}function hideId(menu_id){document.getElementById(menu_id).style.display="none";document.getElementById(menu_id).style.visible="";document.getElementById(menu_id).style.visibility="hidden"} function showId(menu_id){document.getElementById(menu_id).style.display="";document.getElementById(menu_id).style.visible="true";document.getElementById(menu_id).style.visibility=""}function addFavoris(link,title){if(navigator.appName!="Microsoft Internet Explorer")window.sidebar.addPanel(title,link,"");else window.external.AddFavorite(link,title)} function popup(page,titre,largeur,hauteur,options){var top=(screen.height-hauteur)/2;var left=(screen.width-largeur)/2;window.open(page,titre,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options)}var contenu;function showBulle(bulle,contenu){document.getElementById(bulle).innerHTML="<table cellpadding='6' cellspacing='0' class='info_bulle'><tr><td>"+contenu+"</td></tr></table>"}function removeBulle(bulle){document.getElementById(bulle).innerHTML=""} function pleinEcran(nURL){var ie4=navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)>=4;var ns4=navigator.appName=="Netscape"&&parseInt(navigator.appVersion)>=4;if(ie4){fenetre=window.open(nURL,"","resizable,scrollbars");fenetre.moveTo(0,0);fenetre.resizeTo(screen.width,screen.height-25)}else plecran=window.open(nURL,"plecran","height="+window.screen.availHeight+", width="+(window.screen.availWidth-10)+", top=0, left=0, toolbar=no, status=no, scrollbars=no, location=no, menubar=no, directories=no, resizable=yes")} function getNavigatorLang(){var ie4=navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)>=4;var ns4=navigator.appName=="Netscape"&&parseInt(navigator.appVersion)>=4;if(ie4)lang=navigator.userLanguage;else lang=navigator.language;var t_lang=lang.split("-");return t_lang[0]} function FancyUp(path_in,go_to,form_name){if(!form_name)form_name="form-demo";params="{fk_membre:"+$(form_name).getElementById("fk_membre").value+", latitude:"+$(form_name).getElementById("latitude").value+", longitude:"+$(form_name).getElementById("longitude").value+', name_table:"'+$(form_name).getElementById("name_table").value+'", module_name:"'+$(form_name).getElementById("module_name").value+'", fk_table_name:'+$(form_name).getElementById("fk_table_name").value+", fk_category:"+$(form_name).getElementById("fk_category").value+ "}";if(!go_to)go_to="";var up=new FancyUpload2($("demo-status"),$("demo-list"),{url:$(form_name).action,path:path_in,target:"demo-browse-all",queued:1,typeFilter:{"Images (*.jpg, *.jpeg, *.gif, *.png)":"*.jpg; *.jpeg; *.gif; *.png"},data:eval("("+params+")"),mergeData:true,onLoad:function(){$("demo-status").removeClass("hide");$("demo-fallback").destroy();this.target.addEvents({click:function(){return false},mouseenter:function(){this.addClass("hover")},mouseleave:function(){this.removeClass("hover"); this.blur()},mousedown:function(){this.focus()}});$("demo-clear").addEvent("click",function(){up.remove();return false});$("demo-upload").addEvent("click",function(){up.start();return false})},onSelectFail:function(files){files.each(function(file){(new Element("li",{"class":"validation-error",html:file.validationErrorMessage||file.validationError,title:MooTools.lang.get("FancyUpload","removeTitle"),events:{click:function(){this.destroy()}}})).inject(this.list,"top")},this)},onFileSuccess:function(file, response){var json=new Hash(JSON.decode(response,true)||{});if(json.get("status")=="1"){file.element.addClass("file-success");file.info.set("html","Image successfully uploaded: "+json.get("width")+" x "+json.get("height")+"px, <em>"+json.get("mime")+"</em>)")}else{file.element.addClass("file-failed");file.info.set("html","An error occured: "+(json.get("error")?json.get("error")+" #"+json.get("code"):response))}},onFail:function(error){switch(error){case "hidden":alert("To enable the embedded uploader, unblock it in your browser and refresh (see Adblock)."); break;case "blocked":alert("To enable the embedded uploader, enable the blocked Flash movie (see Flashblock).");break;case "empty":break;case "flash":alert("To enable the embedded uploader, install the latest Adobe Flash plugin.")}},onComplete:function(){if(go_to)document.location.href=go_to}})} function displayEtablissementPhoneNumber(id){var link="service.html?module=etablissement&service=display_phone_number&output=text&id_etablissement="+id;xhr_object=createObjectAjax();xhr_object.open("GET",link,false);xhr_object.send(null);if(xhr_object.readyState==4)$("phone_number_"+id).innerHTML=xhr_object.responseText;else{alert("pas ok");xhr_object=createObjectAjax();xhr_object.open("GET","service.html?module=administration&service=save_error&link="+escape(link)+"&tag=error_ajax&msg_erreur="+escape("Ajax error"), false);xhr_object.send(null);return false}};