var Prototype={Version:"1.6.0.2",Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf("AppleWebKit/")>-1,Gecko:navigator.userAgent.indexOf("Gecko")>-1&&navigator.userAgent.indexOf("KHTML")==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement("div").__proto__&&document.createElement("div").__proto__!==document.createElement("form").__proto__},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(a){return a}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Class={create:function(){var e=null,d=$A(arguments);if(Object.isFunction(d[0])){e=d.shift()}function a(){this.initialize.apply(this,arguments)}Object.extend(a,Class.Methods);a.superclass=e;a.subclasses=[];if(e){var b=function(){};b.prototype=e.prototype;a.prototype=new b;e.subclasses.push(a)}for(var c=0;c<d.length;c++){a.addMethods(d[c])}if(!a.prototype.initialize){a.prototype.initialize=Prototype.emptyFunction}a.prototype.constructor=a;return a}};Class.Methods={addMethods:function(g){var c=this.superclass&&this.superclass.prototype;var b=Object.keys(g);if(!Object.keys({toString:true}).length){b.push("toString","valueOf")}for(var a=0,d=b.length;a<d;a++){var f=b[a],e=g[f];if(c&&Object.isFunction(e)&&e.argumentNames().first()=="$super"){var h=e,e=Object.extend((function(j){return function(){return c[j].apply(this,arguments)}})(f).wrap(h),{valueOf:function(){return h},toString:function(){return h.toString()}})}this.prototype[f]=e}return this}};var Abstract={};Object.extend=function(a,c){for(var b in c){a[b]=c[b]}return a};Object.extend(Object,{inspect:function(a){try{if(Object.isUndefined(a)){return"undefined"}if(a===null){return"null"}return a.inspect?a.inspect():String(a)}catch(b){if(b instanceof RangeError){return"..."}throw b}},toJSON:function(a){var c=typeof a;switch(c){case"undefined":case"function":case"unknown":return;case"boolean":return a.toString()}if(a===null){return"null"}if(a.toJSON){return a.toJSON()}if(Object.isElement(a)){return}var b=[];for(var e in a){var d=Object.toJSON(a[e]);if(!Object.isUndefined(d)){b.push(e.toJSON()+": "+d)}}return"{"+b.join(", ")+"}"},toQueryString:function(a){return $H(a).toQueryString()},toHTML:function(a){return a&&a.toHTML?a.toHTML():String.interpret(a)},keys:function(a){var b=[];for(var c in a){b.push(c)}return b},values:function(b){var a=[];for(var c in b){a.push(b[c])}return a},clone:function(a){return Object.extend({},a)},isElement:function(a){return a&&a.nodeType==1},isArray:function(a){return a!=null&&typeof a=="object"&&"splice" in a&&"join" in a},isHash:function(a){return a instanceof Hash},isFunction:function(a){return typeof a=="function"},isString:function(a){return typeof a=="string"},isNumber:function(a){return typeof a=="number"},isUndefined:function(a){return typeof a=="undefined"}});Object.extend(Function.prototype,{argumentNames:function(){var a=this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");return a.length==1&&!a[0]?[]:a},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var a=this,c=$A(arguments),b=c.shift();return function(){return a.apply(b,c.concat($A(arguments)))}},bindAsEventListener:function(){var a=this,c=$A(arguments),b=c.shift();return function(d){return a.apply(b,[d||window.event].concat(c))}},curry:function(){if(!arguments.length){return this}var a=this,b=$A(arguments);return function(){return a.apply(this,b.concat($A(arguments)))}},delay:function(){var a=this,b=$A(arguments),c=b.shift()*1000;return window.setTimeout(function(){return a.apply(a,b)},c)},wrap:function(b){var a=this;return function(){return b.apply(this,[a.bind(this)].concat($A(arguments)))}},methodize:function(){if(this._methodized){return this._methodized}var a=this;return this._methodized=function(){return a.apply(null,[this].concat($A(arguments)))}}});Function.prototype.defer=Function.prototype.delay.curry(0.01);Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+'Z"'};var Try={these:function(){var c;for(var b=0,d=arguments.length;b<d;b++){var a=arguments[b];try{c=a();break}catch(f){}}return c}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(a){return String(a).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var PeriodicalExecuter=Class.create({initialize:function(b,a){this.callback=b;this.frequency=a;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},execute:function(){this.callback(this)},stop:function(){if(!this.timer){return}clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute()}finally{this.currentlyExecuting=false}}}});Object.extend(String,{interpret:function(a){return a==null?"":String(a)},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,{gsub:function(e,c){var a="",d=this,b;c=arguments.callee.prepareReplacement(c);while(d.length>0){if(b=d.match(e)){a+=d.slice(0,b.index);a+=String.interpret(c(b));d=d.slice(b.index+b[0].length)}else{a+=d,d=""}}return a},sub:function(c,a,b){a=this.gsub.prepareReplacement(a);b=Object.isUndefined(b)?1:b;return this.gsub(c,function(d){if(--b<0){return d[0]}return a(d)})},scan:function(b,a){this.gsub(b,a);return String(this)},truncate:function(b,a){b=b||30;a=Object.isUndefined(a)?"...":a;return this.length>b?this.slice(0,b-a.length)+a:String(this)},strip:function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,"")},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")},extractScripts:function(){var b=new RegExp(Prototype.ScriptFragment,"img");var a=new RegExp(Prototype.ScriptFragment,"im");return(this.match(b)||[]).map(function(c){return(c.match(a)||["",""])[1]})},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)})},escapeHTML:function(){var a=arguments.callee;a.text.data=this;return a.div.innerHTML},unescapeHTML:function(){var a=new Element("div");a.innerHTML=this.stripTags();return a.childNodes[0]?(a.childNodes.length>1?$A(a.childNodes).inject("",function(b,c){return b+c.nodeValue}):a.childNodes[0].nodeValue):""},toQueryParams:function(b){var a=this.strip().match(/([^?#]*)(#.*)?$/);if(!a){return{}}return a[1].split(b||"&").inject({},function(e,f){if((f=f.split("="))[0]){var c=decodeURIComponent(f.shift());var d=f.length>1?f.join("="):f[0];if(d!=undefined){d=decodeURIComponent(d)}if(c in e){if(!Object.isArray(e[c])){e[c]=[e[c]]}e[c].push(d)}else{e[c]=d}}return e})},toArray:function(){return this.split("")},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)},times:function(a){return a<1?"":new Array(a+1).join(this)},camelize:function(){var d=this.split("-"),a=d.length;if(a==1){return d[0]}var c=this.charAt(0)=="-"?d[0].charAt(0).toUpperCase()+d[0].substring(1):d[0];for(var b=1;b<a;b++){c+=d[b].charAt(0).toUpperCase()+d[b].substring(1)}return c},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()},underscore:function(){return this.gsub(/::/,"/").gsub(/([A-Z]+)([A-Z][a-z])/,"#{1}_#{2}").gsub(/([a-z\d])([A-Z])/,"#{1}_#{2}").gsub(/-/,"_").toLowerCase()},dasherize:function(){return this.gsub(/_/,"-")},inspect:function(b){var a=this.gsub(/[\x00-\x1f\\]/,function(c){var d=String.specialChar[c[0]];return d?d:"\\u00"+c[0].charCodeAt().toPaddedString(2,16)});if(b){return'"'+a.replace(/"/g,'\\"')+'"'}return"'"+a.replace(/'/g,"\\'")+"'"},toJSON:function(){return this.inspect(true)},unfilterJSON:function(a){return this.sub(a||Prototype.JSONFilter,"#{1}")},isJSON:function(){var a=this;if(a.blank()){return false}a=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(a)},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())},include:function(a){return this.indexOf(a)>-1},startsWith:function(a){return this.indexOf(a)===0},endsWith:function(a){var b=this.length-a.length;return b>=0&&this.lastIndexOf(a)===b},empty:function(){return this==""},blank:function(){return/^\s*$/.test(this)},interpolate:function(a,b){return new Template(this,b).evaluate(a)}});if(Prototype.Browser.WebKit||Prototype.Browser.IE){Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},unescapeHTML:function(){return this.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">")}})}String.prototype.gsub.prepareReplacement=function(b){if(Object.isFunction(b)){return b}var a=new Template(b);return function(c){return a.evaluate(c)}};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement("div"),text:document.createTextNode("")});with(String.prototype.escapeHTML){div.appendChild(text)}var Template=Class.create({initialize:function(a,b){this.template=a.toString();this.pattern=b||Template.Pattern},evaluate:function(a){if(Object.isFunction(a.toTemplateReplacements)){a=a.toTemplateReplacements()}return this.template.gsub(this.pattern,function(d){if(a==null){return""}var f=d[1]||"";if(f=="\\"){return d[2]}var b=a,g=d[3];var e=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;d=e.exec(g);if(d==null){return f}while(d!=null){var c=d[1].startsWith("[")?d[2].gsub("\\\\]","]"):d[1];b=b[c];if(null==b||""==d[3]){break}g=g.substring("["==d[3]?d[1].length:d[0].length);d=e.exec(g)}return f+String.interpret(b)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(c,b){var a=0;c=c.bind(b);try{this._each(function(e){c(e,a++)})}catch(d){if(d!=$break){throw d}}return this},eachSlice:function(d,c,b){c=c?c.bind(b):Prototype.K;var a=-d,e=[],f=this.toArray();while((a+=d)<f.length){e.push(f.slice(a,a+d))}return e.collect(c,b)},all:function(c,b){c=c?c.bind(b):Prototype.K;var a=true;this.each(function(e,d){a=a&&!!c(e,d);if(!a){throw $break}});return a},any:function(c,b){c=c?c.bind(b):Prototype.K;var a=false;this.each(function(e,d){if(a=!!c(e,d)){throw $break}});return a},collect:function(c,b){c=c?c.bind(b):Prototype.K;var a=[];this.each(function(e,d){a.push(c(e,d))});return a},detect:function(c,b){c=c.bind(b);var a;this.each(function(e,d){if(c(e,d)){a=e;throw $break}});return a},findAll:function(c,b){c=c.bind(b);var a=[];this.each(function(e,d){if(c(e,d)){a.push(e)}});return a},grep:function(d,c,b){c=c?c.bind(b):Prototype.K;var a=[];if(Object.isString(d)){d=new RegExp(d)}this.each(function(f,e){if(d.match(f)){a.push(c(f,e))}});return a},include:function(a){if(Object.isFunction(this.indexOf)){if(this.indexOf(a)!=-1){return true}}var b=false;this.each(function(c){if(c==a){b=true;throw $break}});return b},inGroupsOf:function(b,a){a=Object.isUndefined(a)?null:a;return this.eachSlice(b,function(c){while(c.length<b){c.push(a)}return c})},inject:function(a,c,b){c=c.bind(b);this.each(function(e,d){a=c(a,e,d)});return a},invoke:function(b){var a=$A(arguments).slice(1);return this.map(function(c){return c[b].apply(c,a)})},max:function(c,b){c=c?c.bind(b):Prototype.K;var a;this.each(function(e,d){e=c(e,d);if(a==null||e>=a){a=e}});return a},min:function(c,b){c=c?c.bind(b):Prototype.K;var a;this.each(function(e,d){e=c(e,d);if(a==null||e<a){a=e}});return a},partition:function(d,b){d=d?d.bind(b):Prototype.K;var c=[],a=[];this.each(function(f,e){(d(f,e)?c:a).push(f)});return[c,a]},pluck:function(b){var a=[];this.each(function(c){a.push(c[b])});return a},reject:function(c,b){c=c.bind(b);var a=[];this.each(function(e,d){if(!c(e,d)){a.push(e)}});return a},sortBy:function(b,a){b=b.bind(a);return this.map(function(d,c){return{value:d,criteria:b(d,c)}}).sort(function(f,e){var d=f.criteria,c=e.criteria;return d<c?-1:d>c?1:0}).pluck("value")},toArray:function(){return this.map()},zip:function(){var b=Prototype.K,a=$A(arguments);if(Object.isFunction(a.last())){b=a.pop()}var c=[this].concat(a).map($A);return this.map(function(e,d){return b(c.pluck(d))})},size:function(){return this.toArray().length},inspect:function(){return"#<Enumerable:"+this.toArray().inspect()+">"}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(c){if(!c){return[]}if(c.toArray){return c.toArray()}var b=c.length||0,a=new Array(b);while(b--){a[b]=c[b]}return a}if(Prototype.Browser.WebKit){$A=function(c){if(!c){return[]}if(!(Object.isFunction(c)&&c=="[object NodeList]")&&c.toArray){return c.toArray()}var b=c.length||0,a=new Array(b);while(b--){a[b]=c[b]}return a}}Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse){Array.prototype._reverse=Array.prototype.reverse}Object.extend(Array.prototype,{_each:function(b){for(var a=0,c=this.length;a<c;a++){b(this[a])}},clear:function(){this.length=0;return this},first:function(){return this[0]},last:function(){return this[this.length-1]},compact:function(){return this.select(function(a){return a!=null})},flatten:function(){return this.inject([],function(b,a){return b.concat(Object.isArray(a)?a.flatten():[a])})},without:function(){var a=$A(arguments);return this.select(function(b){return !a.include(b)})},reverse:function(a){return(a!==false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(a){return this.inject([],function(d,c,b){if(0==b||(a?d.last()!=c:!d.include(c))){d.push(c)}return d})},intersect:function(a){return this.uniq().findAll(function(b){return a.detect(function(c){return b===c})})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]"},toJSON:function(){var a=[];this.each(function(b){var c=Object.toJSON(b);if(!Object.isUndefined(c)){a.push(c)}});return"["+a.join(", ")+"]"}});if(Object.isFunction(Array.prototype.forEach)){Array.prototype._each=Array.prototype.forEach}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c,a){a||(a=0);var b=this.length;if(a<0){a=b+a}for(;a<b;a++){if(this[a]===c){return a}}return -1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(b,a){a=isNaN(a)?this.length:(a<0?this.length+a:a)+1;var c=this.slice(0,a).reverse().indexOf(b);return(c<0)?c:a-c-1}}Array.prototype.toArray=Array.prototype.clone;function $w(a){if(!Object.isString(a)){return[]}a=a.strip();return a?a.split(/\s+/):[]}if(Prototype.Browser.Opera){Array.prototype.concat=function(){var e=[];for(var b=0,c=this.length;b<c;b++){e.push(this[b])}for(var b=0,c=arguments.length;b<c;b++){if(Object.isArray(arguments[b])){for(var a=0,d=arguments[b].length;a<d;a++){e.push(arguments[b][a])}}else{e.push(arguments[b])}}return e}}Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16)},succ:function(){return this+1},times:function(a){$R(0,this,true).each(a);return this},toPaddedString:function(c,b){var a=this.toString(b||10);return"0".times(c-a.length)+a},toJSON:function(){return isFinite(this)?this.toString():"null"}});$w("abs round ceil floor").each(function(a){Number.prototype[a]=Math[a].methodize()});function $H(a){return new Hash(a)}var Hash=Class.create(Enumerable,(function(){function a(b,c){if(Object.isUndefined(c)){return b}return b+"="+encodeURIComponent(String.interpret(c))}return{initialize:function(b){this._object=Object.isHash(b)?b.toObject():Object.clone(b)},_each:function(c){for(var b in this._object){var d=this._object[b],e=[b,d];e.key=b;e.value=d;c(e)}},set:function(b,c){return this._object[b]=c},get:function(b){return this._object[b]},unset:function(b){var c=this._object[b];delete this._object[b];return c},toObject:function(){return Object.clone(this._object)},keys:function(){return this.pluck("key")},values:function(){return this.pluck("value")},index:function(c){var b=this.detect(function(d){return d.value===c});return b&&b.key},merge:function(b){return this.clone().update(b)},update:function(b){return new Hash(b).inject(this,function(c,d){c.set(d.key,d.value);return c})},toQueryString:function(){return this.map(function(d){var c=encodeURIComponent(d.key),b=d.value;if(b&&typeof b=="object"){if(Object.isArray(b)){return b.map(a.curry(c)).join("&")}}return a(c,b)}).join("&")},inspect:function(){return"#<Hash:{"+this.map(function(b){return b.map(Object.inspect).join(": ")}).join(", ")+"}>"},toJSON:function(){return Object.toJSON(this.toObject())},clone:function(){return new Hash(this)}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(c,a,b){this.start=c;this.end=a;this.exclusive=b},_each:function(a){var b=this.start;while(this.include(b)){a(b);b=b.succ()}},include:function(a){if(a<this.start){return false}if(this.exclusive){return a<this.end}return a<=this.end}});var $R=function(c,a,b){return new ObjectRange(c,a,b)};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(a){this.responders._each(a)},register:function(a){if(!this.include(a)){this.responders.push(a)}},unregister:function(a){this.responders=this.responders.without(a)},dispatch:function(d,b,c,a){this.each(function(f){if(Object.isFunction(f[d])){try{f[d].apply(f,[b,c,a])}catch(g){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(a){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,a||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else{if(Object.isHash(this.options.parameters)){this.options.parameters=this.options.parameters.toObject()}}}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,b,a){$super(a);this.transport=Ajax.getTransport();this.request(b)},request:function(b){this.url=b;this.method=this.options.method;var d=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){d._method=this.method;this.method="post"}this.parameters=d;if(d=Object.toQueryString(d)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+d}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){d+="&_="}}}try{var a=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(a)}Ajax.Responders.dispatch("onCreate",this,a);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?(this.options.postBody||d):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(c){this.dispatchException(c)}},onStateChange:function(){var a=this.transport.readyState;if(a>1&&!((a==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var e={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){e["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){e.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var c=this.options.requestHeaders;if(Object.isFunction(c.push)){for(var b=0,d=c.length;b<d;b+=2){e[c[b]]=c[b+1]}}else{$H(c).each(function(f){e[f.key]=f.value})}}for(var a in e){this.transport.setRequestHeader(a,e[a])}},success:function(){var a=this.getStatus();return !a||(a>=200&&a<300)},getStatus:function(){try{return this.transport.status||0}catch(a){return 0}},respondToReadyState:function(a){var c=Ajax.Request.Events[a],b=new Ajax.Response(this);if(c=="Complete"){try{this._complete=true;(this.options["on"+b.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(b,b.headerJSON)}catch(d){this.dispatchException(d)}var f=b.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&f&&f.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()}}try{(this.options["on"+c]||Prototype.emptyFunction)(b,b.headerJSON);Ajax.Responders.dispatch("on"+c,this,b,b.headerJSON)}catch(d){this.dispatchException(d)}if(c=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var a=this.url.match(/^\s*https?:\/\/[^\/]*/);return !a||(a[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))},getHeader:function(a){try{return this.transport.getResponseHeader(a)||null}catch(b){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(a){(this.options.onException||Prototype.emptyFunction)(this,a);Ajax.Responders.dispatch("onException",this,a)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(c){this.request=c;var d=this.transport=c.transport,a=this.readyState=d.readyState;if((a>2&&!Prototype.Browser.IE)||a==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(d.responseText);this.headerJSON=this._getHeaderJSON()}if(a==4){var b=d.responseXML;this.responseXML=Object.isUndefined(b)?null:b;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(a){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(a){return null}},getResponseHeader:function(a){return this.transport.getResponseHeader(a)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var a=this.getHeader("X-JSON");if(!a){return null}a=decodeURIComponent(escape(a));try{return a.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(b){this.request.dispatchException(b)}},_getResponseJSON:function(){var a=this.request.options;if(!a.evalJSON||(a.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null}try{return this.responseText.evalJSON(a.sanitizeJSON||!this.request.isSameOrigin())}catch(b){this.request.dispatchException(b)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,a,c,b){this.container={success:(a.success||a),failure:(a.failure||(a.success?null:a))};b=Object.clone(b);var d=b.onComplete;b.onComplete=(function(e,f){this.updateContent(e.responseText);if(Object.isFunction(d)){d(e,f)}}).bind(this);$super(c,b)},updateContent:function(d){var c=this.container[this.success()?"success":"failure"],a=this.options;if(!a.evalScripts){d=d.stripScripts()}if(c=$(c)){if(a.insertion){if(Object.isString(a.insertion)){var b={};b[a.insertion]=d;c.insert(b)}else{a.insertion(c,d)}}else{c.update(d)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,a,c,b){$super(b);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=a;this.url=c;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(a){if(this.options.decay){this.decay=(a.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=a.responseText}this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});function $(b){if(arguments.length>1){for(var a=0,d=[],c=arguments.length;a<c;a++){d.push($(arguments[a]))}return d}if(Object.isString(b)){b=document.getElementById(b)}return Element.extend(b)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(f,a){var c=[];var e=document.evaluate(f,$(a)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var b=0,d=e.snapshotLength;b<d;b++){c.push(Element.extend(e.snapshotItem(b)))}return c}}if(!window.Node){var Node={}}if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})}(function(){var a=this.Element;this.Element=function(d,c){c=c||{};d=d.toLowerCase();var b=Element.cache;if(Prototype.Browser.IE&&c.name){d="<"+d+' name="'+c.name+'">';delete c.name;return Element.writeAttribute(document.createElement(d),c)}if(!b[d]){b[d]=Element.extend(document.createElement(d))}return Element.writeAttribute(b[d].cloneNode(false),c)};Object.extend(this.Element,a||{})}).call(window);Element.cache={};Element.Methods={visible:function(a){return $(a).style.display!="none"},toggle:function(a){a=$(a);Element[Element.visible(a)?"hide":"show"](a);return a},hide:function(a){$(a).style.display="none";return a},show:function(a){$(a).style.display="";return a},remove:function(a){a=$(a);a.parentNode.removeChild(a);return a},update:function(a,b){a=$(a);if(b&&b.toElement){b=b.toElement()}if(Object.isElement(b)){return a.update().insert(b)}b=Object.toHTML(b);a.innerHTML=b.stripScripts();b.evalScripts.bind(b).defer();return a},replace:function(b,c){b=$(b);if(c&&c.toElement){c=c.toElement()}else{if(!Object.isElement(c)){c=Object.toHTML(c);var a=b.ownerDocument.createRange();a.selectNode(b);c.evalScripts.bind(c).defer();c=a.createContextualFragment(c.stripScripts())}}b.parentNode.replaceChild(c,b);return b},insert:function(c,e){c=$(c);if(Object.isString(e)||Object.isNumber(e)||Object.isElement(e)||(e&&(e.toElement||e.toHTML))){e={bottom:e}}var d,f,b,g;for(var a in e){d=e[a];a=a.toLowerCase();f=Element._insertionTranslations[a];if(d&&d.toElement){d=d.toElement()}if(Object.isElement(d)){f(c,d);continue}d=Object.toHTML(d);b=((a=="before"||a=="after")?c.parentNode:c).tagName.toUpperCase();g=Element._getContentFromAnonymousElement(b,d.stripScripts());if(a=="top"||a=="after"){g.reverse()}g.each(f.curry(c));d.evalScripts.bind(d).defer()}return c},wrap:function(b,c,a){b=$(b);if(Object.isElement(c)){$(c).writeAttribute(a||{})}else{if(Object.isString(c)){c=new Element(c,a)}else{c=new Element("div",c)}}if(b.parentNode){b.parentNode.replaceChild(c,b)}c.appendChild(b);return c},inspect:function(b){b=$(b);var a="<"+b.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(f){var e=f.first(),c=f.last();var d=(b[e]||"").toString();if(d){a+=" "+c+"="+d.inspect(true)}});return a+">"},recursivelyCollect:function(a,c){a=$(a);var b=[];while(a=a[c]){if(a.nodeType==1){b.push(Element.extend(a))}}return b},ancestors:function(a){return $(a).recursivelyCollect("parentNode")},descendants:function(a){return $(a).select("*")},firstDescendant:function(a){a=$(a).firstChild;while(a&&a.nodeType!=1){a=a.nextSibling}return $(a)},immediateDescendants:function(a){if(!(a=$(a).firstChild)){return[]}while(a&&a.nodeType!=1){a=a.nextSibling}if(a){return[a].concat($(a).nextSiblings())}return[]},previousSiblings:function(a){return $(a).recursivelyCollect("previousSibling")},nextSiblings:function(a){return $(a).recursivelyCollect("nextSibling")},siblings:function(a){a=$(a);return a.previousSiblings().reverse().concat(a.nextSiblings())},match:function(b,a){if(Object.isString(a)){a=new Selector(a)}return a.match($(b))},up:function(b,d,a){b=$(b);if(arguments.length==1){return $(b.parentNode)}var c=b.ancestors();return Object.isNumber(d)?c[d]:Selector.findElement(c,d,a)},down:function(b,c,a){b=$(b);if(arguments.length==1){return b.firstDescendant()}return Object.isNumber(c)?b.descendants()[c]:b.select(c)[a||0]},previous:function(b,d,a){b=$(b);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(b))}var c=b.previousSiblings();return Object.isNumber(d)?c[d]:Selector.findElement(c,d,a)},next:function(c,d,b){c=$(c);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(c))}var a=c.nextSiblings();return Object.isNumber(d)?a[d]:Selector.findElement(a,d,b)},select:function(){var a=$A(arguments),b=$(a.shift());return Selector.findChildElements(b,a)},adjacent:function(){var a=$A(arguments),b=$(a.shift());return Selector.findChildElements(b.parentNode,a).without(b)},identify:function(b){b=$(b);var c=b.readAttribute("id"),a=arguments.callee;if(c){return c}do{c="anonymous_element_"+a.counter++}while($(c));b.writeAttribute("id",c);return c},readAttribute:function(c,a){c=$(c);if(Prototype.Browser.IE){var b=Element._attributeTranslations.read;if(b.values[a]){return b.values[a](c,a)}if(b.names[a]){a=b.names[a]}if(a.include(":")){return(!c.attributes||!c.attributes[a])?null:c.attributes[a].value}}return c.getAttribute(a)},writeAttribute:function(e,c,f){e=$(e);var b={},d=Element._attributeTranslations.write;if(typeof c=="object"){b=c}else{b[c]=Object.isUndefined(f)?true:f}for(var a in b){c=d.names[a]||a;f=b[a];if(d.values[a]){c=d.values[a](e,f)}if(f===false||f===null){e.removeAttribute(c)}else{if(f===true){e.setAttribute(c,c)}else{e.setAttribute(c,f)}}}return e},getHeight:function(a){return $(a).getDimensions().height},getWidth:function(a){return $(a).getDimensions().width},classNames:function(a){return new Element.ClassNames(a)},hasClassName:function(a,b){if(!(a=$(a))){return}var c=a.className;return(c.length>0&&(c==b||new RegExp("(^|\\s)"+b+"(\\s|$)").test(c)))},addClassName:function(a,b){if(!(a=$(a))){return}if(!a.hasClassName(b)){a.className+=(a.className?" ":"")+b}return a},removeClassName:function(a,b){if(!(a=$(a))){return}a.className=a.className.replace(new RegExp("(^|\\s+)"+b+"(\\s+|$)")," ").strip();return a},toggleClassName:function(a,b){if(!(a=$(a))){return}return a[a.hasClassName(b)?"removeClassName":"addClassName"](b)},cleanWhitespace:function(b){b=$(b);var c=b.firstChild;while(c){var a=c.nextSibling;if(c.nodeType==3&&!/\S/.test(c.nodeValue)){b.removeChild(c)}c=a}return b},empty:function(a){return $(a).innerHTML.blank()},descendantOf:function(f,d){f=$(f),d=$(d);var h=d;if(f.compareDocumentPosition){return(f.compareDocumentPosition(d)&8)===8}if(f.sourceIndex&&!Prototype.Browser.Opera){var g=f.sourceIndex,c=d.sourceIndex,b=d.nextSibling;if(!b){do{d=d.parentNode}while(!(b=d.nextSibling)&&d.parentNode)}if(b&&b.sourceIndex){return(g>c&&g<b.sourceIndex)}}while(f=f.parentNode){if(f==h){return true}}return false},scrollTo:function(a){a=$(a);var b=a.cumulativeOffset();window.scrollTo(b[0],b[1]);return a},getStyle:function(b,c){b=$(b);c=c=="float"?"cssFloat":c.camelize();var d=b.style[c];if(!d){var a=document.defaultView.getComputedStyle(b,null);d=a?a[c]:null}if(c=="opacity"){return d?parseFloat(d):1}return d=="auto"?null:d},getOpacity:function(a){return $(a).getStyle("opacity")},setStyle:function(b,c){b=$(b);var e=b.style,a;if(Object.isString(c)){b.style.cssText+=";"+c;return c.include("opacity")?b.setOpacity(c.match(/opacity:\s*(\d?\.?\d*)/)[1]):b}for(var d in c){if(d=="opacity"){b.setOpacity(c[d])}else{e[(d=="float"||d=="cssFloat")?(Object.isUndefined(e.styleFloat)?"cssFloat":"styleFloat"):d]=c[d]}}return b},setOpacity:function(a,b){a=$(a);a.style.opacity=(b==1||b==="")?"":(b<0.00001)?0:b;return a},getDimensions:function(c){c=$(c);var g=$(c).getStyle("display");if(g!="none"&&g!=null){return{width:c.offsetWidth,height:c.offsetHeight}}var b=c.style;var f=b.visibility;var d=b.position;var a=b.display;b.visibility="hidden";b.position="absolute";b.display="block";var h=c.clientWidth;var e=c.clientHeight;b.display=a;b.position=d;b.visibility=f;return{width:h,height:e}},makePositioned:function(a){a=$(a);var b=Element.getStyle(a,"position");if(b=="static"||!b){a._madePositioned=true;a.style.position="relative";if(window.opera){a.style.top=0;a.style.left=0}}return a},undoPositioned:function(a){a=$(a);if(a._madePositioned){a._madePositioned=undefined;a.style.position=a.style.top=a.style.left=a.style.bottom=a.style.right=""}return a},makeClipping:function(a){a=$(a);if(a._overflow){return a}a._overflow=Element.getStyle(a,"overflow")||"auto";if(a._overflow!=="hidden"){a.style.overflow="hidden"}return a},undoClipping:function(a){a=$(a);if(!a._overflow){return a}a.style.overflow=a._overflow=="auto"?"":a._overflow;a._overflow=null;return a},cumulativeOffset:function(b){var a=0,c=0;do{a+=b.offsetTop||0;c+=b.offsetLeft||0;b=b.offsetParent}while(b);return Element._returnOffset(c,a)},positionedOffset:function(b){var a=0,d=0;do{a+=b.offsetTop||0;d+=b.offsetLeft||0;b=b.offsetParent;if(b){if(b.tagName=="BODY"){break}var c=Element.getStyle(b,"position");if(c!=="static"){break}}}while(b);return Element._returnOffset(d,a)},absolutize:function(b){b=$(b);if(b.getStyle("position")=="absolute"){return}var d=b.positionedOffset();var f=d[1];var e=d[0];var c=b.clientWidth;var a=b.clientHeight;b._originalLeft=e-parseFloat(b.style.left||0);b._originalTop=f-parseFloat(b.style.top||0);b._originalWidth=b.style.width;b._originalHeight=b.style.height;b.style.position="absolute";b.style.top=f+"px";b.style.left=e+"px";b.style.width=c+"px";b.style.height=a+"px";return b},relativize:function(a){a=$(a);if(a.getStyle("position")=="relative"){return}a.style.position="relative";var c=parseFloat(a.style.top||0)-(a._originalTop||0);var b=parseFloat(a.style.left||0)-(a._originalLeft||0);a.style.top=c+"px";a.style.left=b+"px";a.style.height=a._originalHeight;a.style.width=a._originalWidth;return a},cumulativeScrollOffset:function(b){var a=0,c=0;do{a+=b.scrollTop||0;c+=b.scrollLeft||0;b=b.parentNode}while(b);return Element._returnOffset(c,a)},getOffsetParent:function(a){if(a.offsetParent){return $(a.offsetParent)}if(a==document.body){return $(a)}while((a=a.parentNode)&&a!=document.body){if(Element.getStyle(a,"position")!="static"){return $(a)}}return $(document.body)},viewportOffset:function(d){var a=0,c=0;var b=d;do{a+=b.offsetTop||0;c+=b.offsetLeft||0;if(b.offsetParent==document.body&&Element.getStyle(b,"position")=="absolute"){break}}while(b=b.offsetParent);b=d;do{if(!Prototype.Browser.Opera||b.tagName=="BODY"){a-=b.scrollTop||0;c-=b.scrollLeft||0}}while(b=b.parentNode);return Element._returnOffset(c,a)},clonePosition:function(b,d){var a=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});d=$(d);var e=d.viewportOffset();b=$(b);var f=[0,0];var c=null;if(Element.getStyle(b,"position")=="absolute"){c=b.getOffsetParent();f=c.viewportOffset()}if(c==document.body){f[0]-=document.body.offsetLeft;f[1]-=document.body.offsetTop}if(a.setLeft){b.style.left=(e[0]-f[0]+a.offsetLeft)+"px"}if(a.setTop){b.style.top=(e[1]-f[1]+a.offsetTop)+"px"}if(a.setWidth){b.style.width=d.offsetWidth+"px"}if(a.setHeight){b.style.height=d.offsetHeight+"px"}return b}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(d,b,c){switch(c){case"left":case"top":case"right":case"bottom":if(d(b,"position")==="static"){return null}case"height":case"width":if(!Element.visible(b)){return null}var e=parseInt(d(b,c),10);if(e!==b["offset"+c.capitalize()]){return e+"px"}var a;if(c==="height"){a=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{a=["border-left-width","padding-left","padding-right","border-right-width"]}return a.inject(e,function(f,g){var h=d(b,g);return h===null?f:f-parseInt(h,10)})+"px";default:return d(b,c)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(c,a,b){if(b==="title"){return a.title}return c(a,b)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(c,b){b=$(b);var a=b.getStyle("position");if(a!=="static"){return c(b)}b.setStyle({position:"relative"});var d=c(b);b.setStyle({position:a});return d});$w("positionedOffset viewportOffset").each(function(a){Element.Methods[a]=Element.Methods[a].wrap(function(e,c){c=$(c);var b=c.getStyle("position");if(b!=="static"){return e(c)}var d=c.getOffsetParent();if(d&&d.getStyle("position")==="fixed"){d.setStyle({zoom:1})}c.setStyle({position:"relative"});var f=e(c);c.setStyle({position:b});return f})});Element.Methods.getStyle=function(a,b){a=$(a);b=(b=="float"||b=="cssFloat")?"styleFloat":b.camelize();var c=a.style[b];if(!c&&a.currentStyle){c=a.currentStyle[b]}if(b=="opacity"){if(c=(a.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(c[1]){return parseFloat(c[1])/100}}return 1}if(c=="auto"){if((b=="width"||b=="height")&&(a.getStyle("display")!="none")){return a["offset"+b.capitalize()]+"px"}return null}return c};Element.Methods.setOpacity=function(b,e){function f(g){return g.replace(/alpha\([^\)]*\)/gi,"")}b=$(b);var a=b.currentStyle;if((a&&!a.hasLayout)||(!a&&b.style.zoom=="normal")){b.style.zoom=1}var d=b.getStyle("filter"),c=b.style;if(e==1||e===""){(d=f(d))?c.filter=d:c.removeAttribute("filter");return b}else{if(e<0.00001){e=0}}c.filter=f(d)+"alpha(opacity="+(e*100)+")";return b};Element._attributeTranslations={read:{names:{"class":"className","for":"htmlFor"},values:{_getAttr:function(a,b){return a.getAttribute(b,2)},_getAttrNode:function(a,c){var b=a.getAttributeNode(c);return b?b.value:""},_getEv:function(a,b){b=a.getAttribute(b);return b?b.toString().slice(23,-2):null},_flag:function(a,b){return $(a).hasAttribute(b)?b:null},style:function(a){return a.style.cssText.toLowerCase()},title:function(a){return a.title}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(a,b){a.checked=!!b},style:function(a,b){a.style.cssText=b?b:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc").each(function(a){Element._attributeTranslations.write.names[a.toLowerCase()]=a;Element._attributeTranslations.has[a.toLowerCase()]=a});(function(a){Object.extend(a,{href:a._getAttr,src:a._getAttr,type:a._getAttr,action:a._getAttrNode,disabled:a._flag,checked:a._flag,readonly:a._flag,multiple:a._flag,onload:a._getEv,onunload:a._getEv,onclick:a._getEv,ondblclick:a._getEv,onmousedown:a._getEv,onmouseup:a._getEv,onmouseover:a._getEv,onmousemove:a._getEv,onmouseout:a._getEv,onfocus:a._getEv,onblur:a._getEv,onkeypress:a._getEv,onkeydown:a._getEv,onkeyup:a._getEv,onsubmit:a._getEv,onreset:a._getEv,onselect:a._getEv,onchange:a._getEv})})(Element._attributeTranslations.read.values)}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(a,b){a=$(a);a.style.opacity=(b==1)?0.999999:(b==="")?"":(b<0.00001)?0:b;return a}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(a,b){a=$(a);a.style.opacity=(b==1||b==="")?"":(b<0.00001)?0:b;if(b==1){if(a.tagName=="IMG"&&a.width){a.width++;a.width--}else{try{var d=document.createTextNode(" ");a.appendChild(d);a.removeChild(d)}catch(c){}}}return a};Element.Methods.cumulativeOffset=function(b){var a=0,c=0;do{a+=b.offsetTop||0;c+=b.offsetLeft||0;if(b.offsetParent==document.body){if(Element.getStyle(b,"position")=="absolute"){break}}b=b.offsetParent}while(b);return Element._returnOffset(c,a)}}}}}if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(b,c){b=$(b);if(c&&c.toElement){c=c.toElement()}if(Object.isElement(c)){return b.update().insert(c)}c=Object.toHTML(c);var a=b.tagName.toUpperCase();if(a in Element._insertionTranslations.tags){$A(b.childNodes).each(function(d){b.removeChild(d)});Element._getContentFromAnonymousElement(a,c.stripScripts()).each(function(d){b.appendChild(d)})}else{b.innerHTML=c.stripScripts()}c.evalScripts.bind(c).defer();return b}}if("outerHTML" in document.createElement("div")){Element.Methods.replace=function(c,e){c=$(c);if(e&&e.toElement){e=e.toElement()}if(Object.isElement(e)){c.parentNode.replaceChild(e,c);return c}e=Object.toHTML(e);var d=c.parentNode,b=d.tagName.toUpperCase();if(Element._insertionTranslations.tags[b]){var f=c.next();var a=Element._getContentFromAnonymousElement(b,e.stripScripts());d.removeChild(c);if(f){a.each(function(g){d.insertBefore(g,f)})}else{a.each(function(g){d.appendChild(g)})}}else{c.outerHTML=e.stripScripts()}e.evalScripts.bind(e).defer();return c}}Element._returnOffset=function(b,c){var a=[b,c];a.left=b;a.top=c;return a};Element._getContentFromAnonymousElement=function(c,b){var d=new Element("div"),a=Element._insertionTranslations.tags[c];if(a){d.innerHTML=a[0]+b+a[1];a[2].times(function(){d=d.firstChild})}else{d.innerHTML=b}return $A(d.childNodes)};Element._insertionTranslations={before:function(a,b){a.parentNode.insertBefore(b,a)},top:function(a,b){a.insertBefore(b,a.firstChild)},bottom:function(a,b){a.appendChild(b)},after:function(a,b){a.parentNode.insertBefore(b,a.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD})}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(a,c){c=Element._attributeTranslations.has[c]||c;var b=$(a).getAttributeNode(c);return b&&b.specified}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement("div").__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement("div").__proto__;Prototype.BrowserFeatures.ElementExtensions=true}Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions){return Prototype.K}var a={},b=Element.Methods.ByTag;var c=Object.extend(function(f){if(!f||f._extendedByPrototype||f.nodeType!=1||f==window){return f}var d=Object.clone(a),e=f.tagName,h,g;if(b[e]){Object.extend(d,b[e])}for(h in d){g=d[h];if(Object.isFunction(g)&&!(h in f)){f[h]=g.methodize()}}f._extendedByPrototype=Prototype.emptyFunction;return f},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(a,Element.Methods);Object.extend(a,Element.Methods.Simulated)}}});c.refresh();return c})();Element.hasAttribute=function(a,b){if(a.hasAttribute){return a.hasAttribute(b)}return Element.Methods.Simulated.hasAttribute(a,b)};Element.addMethods=function(c){var h=Prototype.BrowserFeatures,d=Element.Methods.ByTag;if(!c){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var b=c;c=arguments[1]}if(!b){Object.extend(Element.Methods,c||{})}else{if(Object.isArray(b)){b.each(g)}else{g(b)}}function g(l){l=l.toUpperCase();if(!Element.Methods.ByTag[l]){Element.Methods.ByTag[l]={}}Object.extend(Element.Methods.ByTag[l],c)}function a(n,m,l){l=l||false;for(var p in n){var o=n[p];if(!Object.isFunction(o)){continue}if(!l||!(p in m)){m[p]=o.methodize()}}}function e(n){var l;var m={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(m[n]){l="HTML"+m[n]+"Element"}if(window[l]){return window[l]}l="HTML"+n+"Element";if(window[l]){return window[l]}l="HTML"+n.capitalize()+"Element";if(window[l]){return window[l]}window[l]={};window[l].prototype=document.createElement(n).__proto__;return window[l]}if(h.ElementExtensions){a(Element.Methods,HTMLElement.prototype);a(Element.Methods.Simulated,HTMLElement.prototype,true)}if(h.SpecificElementExtensions){for(var j in Element.Methods.ByTag){var f=e(j);if(Object.isUndefined(f)){continue}a(d[j],f.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}};document.viewport={getDimensions:function(){var a={};var b=Prototype.Browser;$w("width height").each(function(e){var c=e.capitalize();a[e]=(b.WebKit&&!document.evaluate)?self["inner"+c]:(b.Opera)?document.body["client"+c]:document.documentElement["client"+c]});return a},getWidth:function(){return this.getDimensions().width},getHeight:function(){return this.getDimensions().height},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};var Selector=Class.create({initialize:function(a){this.expression=a.strip();this.compileMatcher()},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath){return false}var a=this.expression;if(Prototype.Browser.WebKit&&(a.include("-of-type")||a.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(this.expression)){return false}return true},compileMatcher:function(){if(this.shouldUseXPath()){return this.compileXPathMatcher()}var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return}this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var f=this.expression,g=Selector.patterns,b=Selector.xpath,d,a;if(Selector._cache[f]){this.xpath=Selector._cache[f];return}this.matcher=[".//*"];while(f&&d!=f&&(/\S/).test(f)){d=f;for(var c in g){if(a=f.match(g[c])){this.matcher.push(Object.isFunction(b[c])?b[c](a):new Template(b[c]).evaluate(a));f=f.replace(a[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(a){a=a||document;if(this.xpath){return document._getElementsByXPath(this.xpath,a)}return this.matcher(a)},match:function(j){this.tokens=[];var q=this.expression,a=Selector.patterns,f=Selector.assertions;var b,d,g;while(q&&b!==q&&(/\S/).test(q)){b=q;for(var l in a){d=a[l];if(g=q.match(d)){if(f[l]){this.tokens.push([l,Object.clone(g)]);q=q.replace(g[0],"")}else{return this.findElements(document).include(j)}}}}var o=true,c,n;for(var l=0,h;h=this.tokens[l];l++){c=h[0],n=h[1];if(!Selector.assertions[c](j,n)){o=false;break}}return o},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(a){if(a[1]=="*"){return""}return"[local-name()='"+a[1].toLowerCase()+"' or local-name()='"+a[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(a){a[1]=a[1].toLowerCase();return new Template("[@#{1}]").evaluate(a)},attr:function(a){a[1]=a[1].toLowerCase();a[3]=a[5]||a[6];return new Template(Selector.xpath.operators[a[2]]).evaluate(a)},pseudo:function(a){var b=Selector.xpath.pseudos[a[1]];if(!b){return""}if(Object.isFunction(b)){return b(a)}return new Template(Selector.xpath.pseudos[a[1]]).evaluate(a)},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",checked:"[@checked]",disabled:"[@disabled]",enabled:"[not(@disabled)]",not:function(b){var j=b[6],h=Selector.patterns,a=Selector.xpath,f,c;var g=[];while(j&&f!=j&&(/\S/).test(j)){f=j;for(var d in h){if(b=j.match(h[d])){c=Object.isFunction(a[d])?a[d](b):new Template(a[d]).evaluate(b);g.push("("+c.substring(1,c.length-1)+")");j=j.replace(b[0],"");break}}}return"[not("+g.join(" and ")+")]"},"nth-child":function(a){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",a)},"nth-last-child":function(a){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",a)},"nth-of-type":function(a){return Selector.xpath.pseudos.nth("position() ",a)},"nth-last-of-type":function(a){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",a)},"first-of-type":function(a){a[6]="1";return Selector.xpath.pseudos["nth-of-type"](a)},"last-of-type":function(a){a[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](a)},"only-of-type":function(a){var b=Selector.xpath.pseudos;return b["first-of-type"](a)+b["last-of-type"](a)},nth:function(g,e){var h,j=e[6],d;if(j=="even"){j="2n+0"}if(j=="odd"){j="2n+1"}if(h=j.match(/^(\d+)$/)){return"["+g+"= "+h[1]+"]"}if(h=j.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(h[1]=="-"){h[1]=-1}var f=h[1]?Number(h[1]):1;var c=h[2]?Number(h[2]):0;d="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(d).evaluate({fragment:g,a:f,b:c})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(a){a[3]=(a[5]||a[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(a)},pseudo:function(a){if(a[6]){a[6]=a[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(a)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(a,b){return b[1].toUpperCase()==a.tagName.toUpperCase()},className:function(a,b){return Element.hasClassName(a,b[1])},id:function(a,b){return a.id===b[1]},attrPresence:function(a,b){return Element.hasAttribute(a,b[1])},attr:function(b,c){var a=Element.readAttribute(b,c[1]);return a&&Selector.operators[c[2]](a,c[5]||c[6])}},handlers:{concat:function(d,c){for(var e=0,f;f=c[e];e++){d.push(f)}return d},mark:function(a){var d=Prototype.emptyFunction;for(var b=0,c;c=a[b];b++){c._countedByPrototype=d}return a},unmark:function(a){for(var b=0,c;c=a[b];b++){c._countedByPrototype=undefined}return a},index:function(a,d,g){a._countedByPrototype=Prototype.emptyFunction;if(d){for(var b=a.childNodes,e=b.length-1,c=1;e>=0;e--){var f=b[e];if(f.nodeType==1&&(!g||f._countedByPrototype)){f.nodeIndex=c++}}}else{for(var e=0,c=1,b=a.childNodes;f=b[e];e++){if(f.nodeType==1&&(!g||f._countedByPrototype)){f.nodeIndex=c++}}}},unique:function(b){if(b.length==0){return b}var d=[],e;for(var c=0,a=b.length;c<a;c++){if(!(e=b[c])._countedByPrototype){e._countedByPrototype=Prototype.emptyFunction;d.push(Element.extend(e))}}return Selector.handlers.unmark(d)},descendant:function(a){var d=Selector.handlers;for(var c=0,b=[],e;e=a[c];c++){d.concat(b,e.getElementsByTagName("*"))}return b},child:function(a){var e=Selector.handlers;for(var d=0,c=[],f;f=a[d];d++){for(var b=0,g;g=f.childNodes[b];b++){if(g.nodeType==1&&g.tagName!="!"){c.push(g)}}}return c},adjacent:function(a){for(var c=0,b=[],e;e=a[c];c++){var d=this.nextElementSibling(e);if(d){b.push(d)}}return b},laterSibling:function(a){var d=Selector.handlers;for(var c=0,b=[],e;e=a[c];c++){d.concat(b,Element.nextSiblings(e))}return b},nextElementSibling:function(a){while(a=a.nextSibling){if(a.nodeType==1){return a}}return null},previousElementSibling:function(a){while(a=a.previousSibling){if(a.nodeType==1){return a}}return null},tagName:function(a,j,c,b){var l=c.toUpperCase();var e=[],g=Selector.handlers;if(a){if(b){if(b=="descendant"){for(var f=0,d;d=a[f];f++){g.concat(e,d.getElementsByTagName(c))}return e}else{a=this[b](a)}if(c=="*"){return a}}for(var f=0,d;d=a[f];f++){if(d.tagName.toUpperCase()===l){e.push(d)}}return e}else{return j.getElementsByTagName(c)}},id:function(b,a,j,f){var g=$(j),d=Selector.handlers;if(!g){return[]}if(!b&&a==document){return[g]}if(b){if(f){if(f=="child"){for(var c=0,e;e=b[c];c++){if(g.parentNode==e){return[g]}}}else{if(f=="descendant"){for(var c=0,e;e=b[c];c++){if(Element.descendantOf(g,e)){return[g]}}}else{if(f=="adjacent"){for(var c=0,e;e=b[c];c++){if(Selector.handlers.previousElementSibling(g)==e){return[g]}}}else{b=d[f](b)}}}}for(var c=0,e;e=b[c];c++){if(e==g){return[g]}}return[]}return(g&&Element.descendantOf(g,a))?[g]:[]},className:function(b,a,c,d){if(b&&d){b=this[d](b)}return Selector.handlers.byClassName(b,a,c)},byClassName:function(c,b,f){if(!c){c=Selector.handlers.descendant([b])}var h=" "+f+" ";for(var e=0,d=[],g,a;g=c[e];e++){a=g.className;if(a.length==0){continue}if(a==f||(" "+a+" ").include(h)){d.push(g)}}return d},attrPresence:function(c,b,a,g){if(!c){c=b.getElementsByTagName("*")}if(c&&g){c=this[g](c)}var e=[];for(var d=0,f;f=c[d];d++){if(Element.hasAttribute(f,a)){e.push(f)}}return e},attr:function(a,j,h,l,c,b){if(!a){a=j.getElementsByTagName("*")}if(a&&b){a=this[b](a)}var m=Selector.operators[c],f=[];for(var e=0,d;d=a[e];e++){var g=Element.readAttribute(d,h);if(g===null){continue}if(m(g,l)){f.push(d)}}return f},pseudo:function(b,c,e,a,d){if(b&&d){b=this[d](b)}if(!b){b=a.getElementsByTagName("*")}return Selector.pseudos[c](b,e,a)}},pseudos:{"first-child":function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(Selector.handlers.previousElementSibling(e)){continue}c.push(e)}return c},"last-child":function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(Selector.handlers.nextElementSibling(e)){continue}c.push(e)}return c},"only-child":function(b,g,a){var e=Selector.handlers;for(var d=0,c=[],f;f=b[d];d++){if(!e.previousElementSibling(f)&&!e.nextElementSibling(f)){c.push(f)}}return c},"nth-child":function(b,c,a){return Selector.pseudos.nth(b,c,a)},"nth-last-child":function(b,c,a){return Selector.pseudos.nth(b,c,a,true)},"nth-of-type":function(b,c,a){return Selector.pseudos.nth(b,c,a,false,true)},"nth-last-of-type":function(b,c,a){return Selector.pseudos.nth(b,c,a,true,true)},"first-of-type":function(b,c,a){return Selector.pseudos.nth(b,"1",a,false,true)},"last-of-type":function(b,c,a){return Selector.pseudos.nth(b,"1",a,true,true)},"only-of-type":function(b,d,a){var c=Selector.pseudos;return c["last-of-type"](c["first-of-type"](b,d,a),d,a)},getIndices:function(d,c,e){if(d==0){return c>0?[c]:[]}return $R(1,e).inject([],function(a,b){if(0==(b-c)%d&&(b-c)/d>=0){a.push(b)}return a})},nth:function(c,v,x,s,e){if(c.length==0){return[]}if(v=="even"){v="2n+0"}if(v=="odd"){v="2n+1"}var r=Selector.handlers,q=[],d=[],g;r.mark(c);for(var p=0,f;f=c[p];p++){if(!f.parentNode._countedByPrototype){r.index(f.parentNode,s,e);d.push(f.parentNode)}}if(v.match(/^\d+$/)){v=Number(v);for(var p=0,f;f=c[p];p++){if(f.nodeIndex==v){q.push(f)}}}else{if(g=v.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(g[1]=="-"){g[1]=-1}var y=g[1]?Number(g[1]):1;var w=g[2]?Number(g[2]):0;var z=Selector.pseudos.getIndices(y,w,c.length);for(var p=0,f,n=z.length;f=c[p];p++){for(var o=0;o<n;o++){if(f.nodeIndex==z[o]){q.push(f)}}}}}r.unmark(c);r.unmark(d);return q},empty:function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(e.tagName=="!"||(e.firstChild&&!e.innerHTML.match(/^\s*$/))){continue}c.push(e)}return c},not:function(a,d,l){var g=Selector.handlers,n,c;var j=new Selector(d).findElements(l);g.mark(j);for(var f=0,e=[],b;b=a[f];f++){if(!b._countedByPrototype){e.push(b)}}g.unmark(j);return e},enabled:function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(!e.disabled){c.push(e)}}return c},disabled:function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(e.disabled){c.push(e)}}return c},checked:function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(e.checked){c.push(e)}}return c}},operators:{"=":function(b,a){return b==a},"!=":function(b,a){return b!=a},"^=":function(b,a){return b.startsWith(a)},"$=":function(b,a){return b.endsWith(a)},"*=":function(b,a){return b.include(a)},"~=":function(b,a){return(" "+b+" ").include(" "+a+" ")},"|=":function(b,a){return("-"+b.toUpperCase()+"-").include("-"+a.toUpperCase()+"-")}},split:function(b){var a=[];b.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(c){a.push(c[1].strip())});return a},matchElements:function(f,g){var e=$$(g),d=Selector.handlers;d.mark(e);for(var c=0,b=[],a;a=f[c];c++){if(a._countedByPrototype){b.push(a)}}d.unmark(e);return b},findElement:function(b,c,a){if(Object.isNumber(c)){a=c;c=false}return Selector.matchElements(b,c||"*")[a||0]},findChildElements:function(e,g){g=Selector.split(g.join(","));var d=[],f=Selector.handlers;for(var c=0,b=g.length,a;c<b;c++){a=new Selector(g[c].strip());f.concat(d,a.findElements(e))}return(b>1)?f.unique(d):d}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(d,c){for(var e=0,f;f=c[e];e++){if(f.tagName!=="!"){d.push(f)}}return d},unmark:function(a){for(var b=0,c;c=a[b];b++){c.removeAttribute("_countedByPrototype")}return a}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(a){$(a).reset();return a},serializeElements:function(g,b){if(typeof b!="object"){b={hash:!!b}}else{if(Object.isUndefined(b.hash)){b.hash=true}}var c,f,a=false,e=b.submit;var d=g.inject({},function(h,j){if(!j.disabled&&j.name){c=j.name;f=$(j).getValue();if(f!=null&&(j.type!="submit"||(!a&&e!==false&&(!e||c==e)&&(a=true)))){if(c in h){if(!Object.isArray(h[c])){h[c]=[h[c]]}h[c].push(f)}else{h[c]=f}}}return h});return b.hash?d:Object.toQueryString(d)}};Form.Methods={serialize:function(b,a){return Form.serializeElements(Form.getElements(b),a)},getElements:function(a){return $A($(a).getElementsByTagName("*")).inject([],function(b,c){if(Form.Element.Serializers[c.tagName.toLowerCase()]){b.push(Element.extend(c))}return b})},getInputs:function(g,c,d){g=$(g);var a=g.getElementsByTagName("input");if(!c&&!d){return $A(a).map(Element.extend)}for(var e=0,h=[],f=a.length;e<f;e++){var b=a[e];if((c&&b.type!=c)||(d&&b.name!=d)){continue}h.push(Element.extend(b))}return h},disable:function(a){a=$(a);Form.getElements(a).invoke("disable");return a},enable:function(a){a=$(a);Form.getElements(a).invoke("enable");return a},findFirstElement:function(b){var c=$(b).getElements().findAll(function(d){return"hidden"!=d.type&&!d.disabled});var a=c.findAll(function(d){return d.hasAttribute("tabIndex")&&d.tabIndex>=0}).sortBy(function(d){return d.tabIndex}).first();return a?a:c.find(function(d){return["input","select","textarea"].include(d.tagName.toLowerCase())})},focusFirstElement:function(a){a=$(a);a.findFirstElement().activate();return a},request:function(b,a){b=$(b),a=Object.clone(a||{});var d=a.parameters,c=b.readAttribute("action")||"";if(c.blank()){c=window.location.href}a.parameters=b.serialize(true);if(d){if(Object.isString(d)){d=d.toQueryParams()}Object.extend(a.parameters,d)}if(b.hasAttribute("method")&&!a.method){a.method=b.method}return new Ajax.Request(c,a)}};Form.Element={focus:function(a){$(a).focus();return a},select:function(a){$(a).select();return a}};Form.Element.Methods={serialize:function(a){a=$(a);if(!a.disabled&&a.name){var b=a.getValue();if(b!=undefined){var c={};c[a.name]=b;return Object.toQueryString(c)}}return""},getValue:function(a){a=$(a);var b=a.tagName.toLowerCase();return Form.Element.Serializers[b](a)},setValue:function(a,b){a=$(a);var c=a.tagName.toLowerCase();Form.Element.Serializers[c](a,b);return a},clear:function(a){$(a).value="";return a},present:function(a){return $(a).value!=""},activate:function(a){a=$(a);try{a.focus();if(a.select&&(a.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(a.type))){a.select()}}catch(b){}return a},disable:function(a){a=$(a);a.blur();a.disabled=true;return a},enable:function(a){a=$(a);a.disabled=false;return a}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(a,b){switch(a.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(a,b);default:return Form.Element.Serializers.textarea(a,b)}},inputSelector:function(a,b){if(Object.isUndefined(b)){return a.checked?a.value:null}else{a.checked=!!b}},textarea:function(a,b){if(Object.isUndefined(b)){return a.value}else{a.value=b}},select:function(d,a){if(Object.isUndefined(a)){return this[d.type=="select-one"?"selectOne":"selectMany"](d)}else{var c,f,g=!Object.isArray(a);for(var b=0,e=d.length;b<e;b++){c=d.options[b];f=this.optionValue(c);if(g){if(f==a){c.selected=true;return}}else{c.selected=a.include(f)}}}},selectOne:function(b){var a=b.selectedIndex;return a>=0?this.optionValue(b.options[a]):null},selectMany:function(d){var a,e=d.length;if(!e){return null}for(var c=0,a=[];c<e;c++){var b=d.options[c];if(b.selected){a.push(this.optionValue(b))}}return a},optionValue:function(a){return Element.extend(a).hasAttribute("value")?a.value:a.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,a,b,c){$super(c,b);this.element=$(a);this.lastValue=this.getValue()},execute:function(){var a=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(a)?this.lastValue!=a:String(this.lastValue)!=String(a)){this.callback(this.element,a);this.lastValue=a}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=Class.create({initialize:function(a,b){this.element=$(a);this.callback=b;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var a=this.getValue();if(this.lastValue!=a){this.callback(this.element,a);this.lastValue=a}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(a){if(a.type){switch(a.type.toLowerCase()){case"checkbox":case"radio":Event.observe(a,"click",this.onElementEvent.bind(this));break;default:Event.observe(a,"change",this.onElementEvent.bind(this));break}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});if(!window.Event){var Event={}}Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(b){var a;switch(b.type){case"mouseover":a=b.fromElement;break;case"mouseout":a=b.toElement;break;default:return null}return Element.extend(a)}});Event.Methods=(function(){var a;if(Prototype.Browser.IE){var b={0:1,1:4,2:2};a=function(d,c){return d.button==b[c]}}else{if(Prototype.Browser.WebKit){a=function(d,c){switch(c){case 0:return d.which==1&&!d.metaKey;case 1:return d.which==1&&d.metaKey;default:return false}}}else{a=function(d,c){return d.which?(d.which===c+1):(d.button===c)}}}return{isLeftClick:function(c){return a(c,0)},isMiddleClick:function(c){return a(c,1)},isRightClick:function(c){return a(c,2)},element:function(d){var c=Event.extend(d).target;return Element.extend(c.nodeType==Node.TEXT_NODE?c.parentNode:c)},findElement:function(d,f){var c=Event.element(d);if(!f){return c}var e=[c].concat(c.ancestors());return Selector.findElement(e,f,0)},pointer:function(c){return{x:c.pageX||(c.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)),y:c.pageY||(c.clientY+(document.documentElement.scrollTop||document.body.scrollTop))}},pointerX:function(c){return Event.pointer(c).x},pointerY:function(c){return Event.pointer(c).y},stop:function(c){Event.extend(c);c.preventDefault();c.stopPropagation();c.stopped=true}}})();Event.extend=(function(){var a=Object.keys(Event.Methods).inject({},function(b,c){b[c]=Event.Methods[c].methodize();return b});if(Prototype.Browser.IE){Object.extend(a,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(b){if(!b){return false}if(b._extendedByPrototype){return b}b._extendedByPrototype=Prototype.emptyFunction;var c=Event.pointer(b);Object.extend(b,{target:b.srcElement,relatedTarget:Event.relatedTarget(b),pageX:c.x,pageY:c.y});return Object.extend(b,a)}}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,a);return Prototype.K}})();Object.extend(Event,(function(){var b=Event.cache;function c(l){if(l._prototypeEventID){return l._prototypeEventID[0]}arguments.callee.id=arguments.callee.id||1;return l._prototypeEventID=[++arguments.callee.id]}function g(l){if(l&&l.include(":")){return"dataavailable"}return l}function a(l){return b[l]=b[l]||{}}function f(n,l){var m=a(n);return m[l]=m[l]||[]}function h(m,l,n){var q=c(m);var p=f(q,l);if(p.pluck("handler").include(n)){return false}var o=function(r){if(!Event||!Event.extend||(r.eventName&&r.eventName!=l)){return false}Event.extend(r);if(n){n.call(m,r)}};o.handler=n;p.push(o);return o}function j(o,l,m){var n=f(o,l);return n.find(function(p){return p.handler==m})}function d(o,l,m){var n=a(o);if(!n[l]){return false}n[l]=n[l].without(j(o,l,m))}function e(){for(var m in b){for(var l in b[m]){b[m][l]=null}}}if(window.attachEvent){window.attachEvent("onunload",e)}return{observe:function(n,l,o){n=$(n);var m=g(l);var p=h(n,l,o);if(!p){return n}if(n.addEventListener){n.addEventListener(m,p,false)}else{n.attachEvent("on"+m,p)}return n},stopObserving:function(n,l,o){n=$(n);var q=c(n),m=g(l);if(!o&&l){f(q,l).each(function(r){n.stopObserving(l,r.handler)});return n}else{if(!l){Object.keys(a(q)).each(function(r){n.stopObserving(r)});return n}}var p=j(q,l,o);if(!p){return n}if(n.removeEventListener){n.removeEventListener(m,p,false)}else{n.detachEvent("on"+m,p)}d(q,l,o);return n},fire:function(n,m,l){n=$(n);if(n==document&&document.createEvent&&!n.dispatchEvent){n=document.documentElement}var o;if(document.createEvent){o=document.createEvent("HTMLEvents");o.initEvent("dataavailable",true,true)}else{o=document.createEventObject();o.eventType="ondataavailable"}o.eventName=m;o.memo=l||{};if(document.createEvent){n.dispatchEvent(o)}else{n.fireEvent(o.eventType,o)}return Event.extend(o)}}})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var b;function a(){if(document.loaded){return}if(b){window.clearInterval(b)}document.fire("dom:loaded");document.loaded=true}if(document.addEventListener){if(Prototype.Browser.WebKit){b=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){a()}},0);Event.observe(window,"load",a)}else{document.addEventListener("DOMContentLoaded",a,false)}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;a()}}}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(a,b){return Element.insert(a,{before:b})},Top:function(a,b){return Element.insert(a,{top:b})},Bottom:function(a,b){return Element.insert(a,{bottom:b})},After:function(a,b){return Element.insert(a,{after:b})}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},within:function(b,a,c){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(b,a,c)}this.xcomp=a;this.ycomp=c;this.offset=Element.cumulativeOffset(b);return(c>=this.offset[1]&&c<this.offset[1]+b.offsetHeight&&a>=this.offset[0]&&a<this.offset[0]+b.offsetWidth)},withinIncludingScrolloffsets:function(b,a,d){var c=Element.cumulativeScrollOffset(b);this.xcomp=a+c[0]-this.deltaX;this.ycomp=d+c[1]-this.deltaY;this.offset=Element.cumulativeOffset(b);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+b.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+b.offsetWidth)},overlap:function(b,a){if(!b){return 0}if(b=="vertical"){return((this.offset[1]+a.offsetHeight)-this.ycomp)/a.offsetHeight}if(b=="horizontal"){return((this.offset[0]+a.offsetWidth)-this.xcomp)/a.offsetWidth}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(a){Position.prepare();return Element.absolutize(a)},relativize:function(a){Position.prepare();return Element.relativize(a)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(b,c,a){a=a||{};return Element.clonePosition(c,b,a)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(b){function a(c){return c.blank()?null:"[contains(concat(' ', @class, ' '), ' "+c+" ')]"}b.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(c,e){e=e.toString().strip();var d=/\s/.test(e)?$w(e).map(a).join(""):a(e);return d?document._getElementsByXPath(".//*"+d,c):[]}:function(e,f){f=f.toString().strip();var g=[],h=(/\s/.test(f)?$w(f):null);if(!h&&!f){return g}var c=$(e).getElementsByTagName("*");f=" "+f+" ";for(var d=0,l,j;l=c[d];d++){if(l.className&&(j=" "+l.className+" ")&&(j.include(f)||(h&&h.all(function(m){return !m.toString().blank()&&j.include(" "+m+" ")})))){g.push(Element.extend(l))}}return g};return function(d,c){return $(c||document.body).getElementsByClassName(d)}}(Element.Methods)}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(a){this.element=$(a)},_each:function(a){this.element.className.split(/\s+/).select(function(b){return b.length>0})._each(a)},set:function(a){this.element.className=a},add:function(a){if(this.include(a)){return}this.set($A(this).concat(a).join(" "))},remove:function(a){if(!this.include(a)){return}this.set($A(this).without(a).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();var Scriptaculous={Version:"1.8.1",require:function(a){document.write('<script type="text/javascript" src="'+a+'"><\/script>')},REQUIRED_PROTOTYPE:"1.6.0",load:function(){function a(b){var c=b.split(".");return parseInt(c[0])*100000+parseInt(c[1])*1000+parseInt(c[2])}if((typeof Prototype=="undefined")||(typeof Element=="undefined")||(typeof Element.Methods=="undefined")||(a(Prototype.Version)<a(Scriptaculous.REQUIRED_PROTOTYPE))){throw ("script.aculo.us requires the Prototype JavaScript framework >= "+Scriptaculous.REQUIRED_PROTOTYPE)}$A(document.getElementsByTagName("script")).findAll(function(b){return(b.src&&b.src.match(/scriptaculous\.js(\?.*)?$/))}).each(function(c){var d=c.src.replace(/scriptaculous\.js(\?.*)?$/,"");var b=c.src.match(/\?.*load=([a-z,]*)/);(b?b[1]:"builder,effects,dragdrop,controls,slider,sound").split(",").each(function(e){Scriptaculous.require(d+e+".js")})})}};Scriptaculous.load();var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(a){a=a.toUpperCase();var g=this.NODEMAP[a]||"div";var b=document.createElement(g);try{b.innerHTML="<"+a+"></"+a+">"}catch(f){}var d=b.firstChild||null;if(d&&(d.tagName.toUpperCase()!=a)){d=d.getElementsByTagName(a)[0]}if(!d){d=document.createElement(a)}if(!d){return}if(arguments[1]){if(this._isStringOrNumber(arguments[1])||(arguments[1] instanceof Array)||arguments[1].tagName){this._children(d,arguments[1])}else{var c=this._attributes(arguments[1]);if(c.length){try{b.innerHTML="<"+a+" "+c+"></"+a+">"}catch(f){}d=b.firstChild||null;if(!d){d=document.createElement(a);for(attr in arguments[1]){d[attr=="class"?"className":attr]=arguments[1][attr]}}if(d.tagName.toUpperCase()!=a){d=b.getElementsByTagName(a)[0]}}}}if(arguments[2]){this._children(d,arguments[2])}return d},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{className:"class",htmlFor:"for"},_attributes:function(a){var b=[];for(attribute in a){b.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML().gsub(/"/,"&quot;")+'"')}return b.join(" ")},_children:function(b,a){if(a.tagName){b.appendChild(a);return}if(typeof a=="object"){a.flatten().each(function(c){if(typeof c=="object"){b.appendChild(c)}else{if(Builder._isStringOrNumber(c)){b.appendChild(Builder._text(c))}}})}else{if(Builder._isStringOrNumber(a)){b.appendChild(Builder._text(a))}}},_isStringOrNumber:function(a){return(typeof a=="string"||typeof a=="number")},build:function(b){var a=this.node("div");$(a).update(b.strip());return a.down()},dump:function(b){if(typeof b!="object"&&typeof b!="function"){b=window}var a=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);a.each(function(c){b[c]=function(){return Builder.node.apply(Builder,[c].concat($A(arguments)))}})}};String.prototype.parseColor=function(){var a="#";if(this.slice(0,4)=="rgb("){var c=this.slice(4,this.length-1).split(",");var b=0;do{a+=parseInt(c[b]).toColorPart()}while(++b<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var b=1;b<4;b++){a+=(this.charAt(b)+this.charAt(b)).toLowerCase()}}if(this.length==7){a=this.toLowerCase()}}}return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return(b.nodeType==3?b.nodeValue:(b.hasChildNodes()?Element.collectTextNodes(b):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(a,b){return $A($(a).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:((c.hasChildNodes()&&!Element.hasClassName(c,b))?Element.collectTextNodesIgnoreClass(c,b):""))}).flatten().join("")};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return a};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var c=document.createTextNode(" ");a.appendChild(c);a.removeChild(c)}catch(b){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){var a=((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;return a>1?1:a},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(b,a){a=a||5;return(((b%(1/a))*a).round()==0?((b*a*2)-(b*a*2).floor()):1-((b*a*2)-(b*a*2).floor()))},spring:function(a){return 1-(Math.cos(a*4.5*Math.PI)*Math.exp(-a*6))},none:function(a){return 0},full:function(a){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(a){var b="position:relative";if(Prototype.Browser.IE){b+=";zoom:1"}a=$(a);$A(a.childNodes).each(function(c){if(c.nodeType==3){c.nodeValue.toArray().each(function(d){a.insertBefore(new Element("span",{style:b}).update(d==" "?String.fromCharCode(160):d),c)});Element.remove(c)}})},multiple:function(b,c){var e;if(((typeof b=="object")||Object.isFunction(b))&&(b.length)){e=b}else{e=$(b).childNodes}var a=Object.extend({speed:0.1,delay:0},arguments[2]||{});var d=a.delay;$A(e).each(function(g,f){new c(g,Object.extend(a,{delay:f*a.speed+d}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(b,c){b=$(b);c=(c||"appear").toLowerCase();var a=Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},arguments[2]||{});Effect[b.visible()?Effect.PAIRS[c][1]:Effect.PAIRS[c][0]](b,a)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=Object.isString(b.options.queue)?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"with-last":c=this.effects.pluck("startOn").max()||c;break;case"end":c=this.effects.pluck("finishOn").max()||c;break}b.startOn+=c;b.finishOn+=c;if(!b.options.queue.limit||(this.effects.length<b.options.queue.limit)){this.effects.push(b)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var c=new Date().getTime();for(var b=0,a=this.effects.length;b<a;b++){this.effects[b]&&this.effects[b].loop(c)}}});Effect.Queues={instances:$H(),get:function(a){if(!Object.isString(a)){return a}return this.instances.get(a)||this.instances.set(a,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+"Internal"]?"this.options."+eventName+"Internal(this);":"")+(options[eventName]?"this.options."+eventName+"(this);":""))}if(options&&options.transition===false){options.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if (this.state=="idle"){this.state="running";'+codeForEvent(this.options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(this.options,"afterSetup")+'};if (this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+codeForEvent(this.options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(this.options,"afterUpdate")+"}}");this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(c){if(c>=this.startOn){if(c>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var b=(c-this.startOn)/this.totalTime,a=(b*this.totalFrames).round();if(a>this.currentFrame){this.render(b);this.currentFrame=a}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}if(this.options[a]){this.options[a](this)}},inspect:function(){var a=$H();for(property in this){if(!Object.isFunction(this[property])){a.set(property,this[property])}}return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}b.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(c,f,e){c=Object.isString(c)?$(c):c;var b=$A(arguments),d=b.last(),a=b.length==5?b[3]:null;this.method=Object.isFunction(d)?d.bind(c):Object.isFunction(c[d])?c[d].bind(c):function(g){c[d]=g};this.start(Object.extend({from:f,to:e},a||{}))},update:function(a){this.method(a)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var a=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(a)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(a)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:(this.options.x*a+this.originalLeft).round()+"px",top:(this.options.y*a+this.originalTop).round()+"px"})}});Effect.MoveBy=function(b,a,c){return new Effect.Move(b,Object.extend({x:c,y:a},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(b,c){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:c},arguments[2]||{});this.start(a)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType})}this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(a,e){var f={};if(this.options.scaleX){f.width=e.round()+"px"}if(this.options.scaleY){f.height=a.round()+"px"}if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var b=(e-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){f.top=this.originalTop-c+"px"}if(this.options.scaleX){f.left=this.originalLeft-b+"px"}}else{if(this.options.scaleY){f.top=-c+"px"}if(this.options.scaleX){f.left=-b+"px"}}}this.element.setStyle(f)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(a)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,c,d){return b+((this._base[d]+(this._delta[d]*a)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(d){var c=arguments[1]||{},b=document.viewport.getScrollOffsets(),e=$(d).cumulativeOffset(),a=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(c.offset){e[1]+=c.offset}return new Effect.Tween(null,b.top,e[1]>a?a:e[1],c,function(f){scrollTo(b.left,f.round())})};Effect.Fade=function(c){c=$(c);var a=c.getInlineOpacity();var b=Object.extend({from:c.getOpacity()||1,to:0,afterFinishInternal:function(d){if(d.options.to!=0){return}d.element.hide().setStyle({opacity:a})}},arguments[1]||{});return new Effect.Opacity(c,b)};Effect.Appear=function(b){b=$(b);var a=Object.extend({from:(b.getStyle("display")=="none"?0:b.getOpacity()||0),to:1,afterFinishInternal:function(c){c.element.forceRerendering()},beforeSetup:function(c){c.element.setOpacity(c.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,a)};Effect.Puff=function(b){b=$(b);var a={opacity:b.getInlineOpacity(),position:b.getStyle("position"),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(c){Position.absolutize(c.effects[0].element)},afterFinishInternal:function(c){c.effects[0].element.hide().setStyle(a)}},arguments[1]||{}))};Effect.BlindUp=function(a){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(b){b.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(c){c.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(c){c.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(b){b=$(b);var a=b.getInlineOpacity();return new Effect.Appear(b,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(c){new Effect.Scale(c.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(d){d.element.makePositioned().makeClipping()},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned().setStyle({opacity:a})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left"),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(c){c.effects[0].element.makePositioned()},afterFinishInternal:function(c){c.effects[0].element.hide().undoPositioned().setStyle(a)}},arguments[1]||{}))};Effect.Shake=function(d){d=$(d);var b=Object.extend({distance:20,duration:0.5},arguments[1]||{});var e=parseFloat(b.distance);var c=parseFloat(b.duration)/10;var a={top:d.getStyle("top"),left:d.getStyle("left")};return new Effect.Move(d,{x:e,y:0,duration:c,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(g){new Effect.Move(g.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(h){new Effect.Move(h.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(j){new Effect.Move(j.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(l){new Effect.Move(l.element,{x:-e,y:0,duration:c,afterFinishInternal:function(m){m.element.undoPositioned().setStyle(a)}})}})}})}})}})}})};Effect.SlideDown=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.SlideUp=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var g=c.getDimensions();var h,f;var e,d;switch(b.direction){case"top-left":h=f=e=d=0;break;case"top-right":h=g.width;f=d=0;e=-g.width;break;case"bottom-left":h=e=0;f=g.height;d=-g.height;break;case"bottom-right":h=g.width;f=g.height;e=-g.width;d=-g.height;break;case"center":h=g.width/2;f=g.height/2;e=-g.width/2;d=-g.height/2;break}return new Effect.Move(c,{x:h,y:f,duration:0.01,beforeSetup:function(j){j.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(j){new Effect.Parallel([new Effect.Opacity(j.element,{sync:true,to:1,from:0,transition:b.opacityTransition}),new Effect.Move(j.element,{x:e,y:d,sync:true,transition:b.moveTransition}),new Effect.Scale(j.element,100,{scaleMode:{originalHeight:g.height,originalWidth:g.width},sync:true,scaleFrom:window.opera?1:0,transition:b.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(l){l.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(l){l.effects[0].element.undoClipping().undoPositioned().setStyle(a)}},b))}})};Effect.Shrink=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var e,d;switch(b.direction){case"top-left":e=d=0;break;case"top-right":e=f.width;d=0;break;case"bottom-left":e=0;d=f.height;break;case"bottom-right":e=f.width;d=f.height;break;case"center":e=f.width/2;d=f.height/2;break}return new Effect.Parallel([new Effect.Opacity(c,{sync:true,to:0,from:1,transition:b.opacityTransition}),new Effect.Scale(c,window.opera?1:0,{sync:true,transition:b.scaleTransition,restoreAfterFinish:true}),new Effect.Move(c,{x:e,y:d,sync:true,transition:b.moveTransition})],Object.extend({beforeStartInternal:function(g){g.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(g){g.effects[0].element.hide().undoClipping().undoPositioned().setStyle(a)}},b))};Effect.Pulsate=function(c){c=$(c);var b=arguments[1]||{};var a=c.getInlineOpacity();var e=b.transition||Effect.Transitions.sinoidal;var d=function(f){return e(1-Effect.Transitions.pulse(f,b.pulses))};d.bind(e);return new Effect.Opacity(c,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(f){f.element.setStyle({opacity:a})}},b),{transition:d}))};Effect.Fold=function(b){b=$(b);var a={top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};b.makeClipping();return new Effect.Scale(b,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(c){new Effect.Scale(b,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(d){d.element.hide().undoClipping().setStyle(a)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(a.style)){this.style=$H(a.style)}else{if(a.style.include(":")){this.style=a.style.parseStyle()}else{this.element.addClassName(a.style);this.style=$H(this.element.getStyles());this.element.removeClassName(a.style);var b=this.element.getStyles();this.style=this.style.reject(function(d){return d.value==b[d.key]});a.afterFinishInternal=function(d){d.element.addClassName(d.options.style);d.transforms.each(function(e){d.element.style[e.style]=""})}}}this.start(a)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b)){b="#ffffff"}b=b.parseColor();return $R(0,2).map(function(c){return parseInt(b.slice(c*2+1,c*2+3),16)})}this.transforms=this.style.map(function(g){var f=g[0],e=g[1],d=null;if(e.parseColor("#zzzzzz")!="#zzzzzz"){e=e.parseColor();d="color"}else{if(f=="opacity"){e=parseFloat(e);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(e)){var c=e.match(/^([\+\-]?[0-9\.]+)(.*)$/);e=parseFloat(c[1]);d=(c.length==3)?c[2]:null}}}var b=this.element.getStyle(f);return{style:f.camelize(),originalValue:d=="color"?a(b):parseFloat(b||0),targetValue:d=="color"?a(e):e,unit:d}}.bind(this)).reject(function(b){return((b.originalValue==b.targetValue)||(b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))))})},update:function(a){var d={},b,c=this.transforms.length;while(c--){d[(b=this.transforms[c]).style]=b.unit=="color"?"#"+(Math.round(b.originalValue[0]+(b.targetValue[0]-b.originalValue[0])*a)).toColorPart()+(Math.round(b.originalValue[1]+(b.targetValue[1]-b.originalValue[1])*a)).toColorPart()+(Math.round(b.originalValue[2]+(b.targetValue[2]-b.originalValue[2])*a)).toColorPart():(b.originalValue+(b.targetValue-b.originalValue)*a).toFixed(3)+(b.unit===null?"":b.unit)}this.element.setStyle(d,true)}});Effect.Transform=Class.create({initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){b=$H(b);var c=b.values().first();this.tracks.push($H({ids:b.keys().first(),effect:Effect.Morph,options:{style:c}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var d=a.get("ids"),c=a.get("effect"),b=a.get("options");var e=[$(d)||$$(d)].flatten();return e.map(function(f){return new c(f,Object.extend({sync:true},b))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");String.prototype.parseStyle=function(){var b,a=$H();if(Prototype.Browser.WebKit){b=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';b=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(c){if(b[c]){a.set(c,b[c])}});if(Prototype.Browser.IE&&this.include("opacity")){a.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return a};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(b){var a=document.defaultView.getComputedStyle($(b),null);return Element.CSS_PROPERTIES.inject({},function(c,d){c[d]=a[d];return c})}}else{Element.getStyles=function(b){b=$(b);var a=b.currentStyle,c;c=Element.CSS_PROPERTIES.inject({},function(d,e){d[e]=a[e];return d});if(!c.opacity){c.opacity=b.getOpacity()}return c}}Effect.Methods={morph:function(a,b){a=$(a);new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a},visualEffect:function(c,e,b){c=$(c);var d=e.dasherize().camelize(),a=d.charAt(0).toUpperCase()+d.substring(1);new Effect[a](c,b);return c},highlight:function(b,a){b=$(b);new Effect.Highlight(b,a);return b}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(a){Effect.Methods[a]=function(c,b){c=$(c);Effect[a.charAt(0).toUpperCase()+a.substring(1)](c,b);return c}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(a){Effect.Methods[a]=Element[a]});Element.addMethods(Effect.Methods);if(Object.isUndefined(Effect)){throw ("dragdrop.js requires including script.aculo.us' effects.js library")}var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(b){return b.element==$(a)})},add:function(b){b=$(b);var a=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(a.containment){a._containers=[];var c=a.containment;if(Object.isArray(c)){c.each(function(d){a._containers.push($(d))})}else{a._containers.push($(c))}}if(a.accept){a.accept=[a.accept].flatten()}Element.makePositioned(b);a.element=b;this.drops.push(a)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i){if(Element.isParent(a[i].element,deepest.element)){deepest=a[i]}}return deepest},isContained:function(b,a){var c;if(a.tree){c=b.treeNode}else{c=b.parentNode}return a._containers.detect(function(d){return c==d})},isAffected:function(a,c,b){return((b.element!=c)&&((!b._containers)||this.isContained(c,b))&&((!b.accept)||(Element.classNames(c).detect(function(d){return b.accept.include(d)})))&&Position.within(b.element,a[0],a[1]))},deactivate:function(a){if(a.hoverclass){Element.removeClassName(a.element,a.hoverclass)}this.last_active=null},activate:function(a){if(a.hoverclass){Element.addClassName(a.element,a.hoverclass)}this.last_active=a},show:function(a,c){if(!this.drops.length){return}var b,d=[];this.drops.each(function(e){if(Droppables.isAffected(a,c,e)){d.push(e)}});if(d.length>0){b=Droppables.findDeepestChild(d)}if(this.last_active&&this.last_active!=b){this.deactivate(this.last_active)}if(b){Position.within(b.element,a[0],a[1]);if(b.onHover){b.onHover(c,b.element,Position.overlap(b.overlap,b.element))}if(b!=this.last_active){Droppables.activate(b)}}},fire:function(b,a){if(!this.last_active){return}Position.prepare();if(this.isAffected([Event.pointerX(b),Event.pointerY(b)],a,this.last_active)){if(this.last_active.onDrop){this.last_active.onDrop(a,this.last_active.element,b);return true}}},reset:function(){if(this.last_active){this.deactivate(this.last_active)}}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)}this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(b){return b==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay)}else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(!this.activeDraggable){return}var b=[Event.pointerX(a),Event.pointerY(a)];if(this._lastPointer&&(this._lastPointer.inspect()==b.inspect())){return}this._lastPointer=b;this.activeDraggable.updateDrag(a,b)},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable){return}this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null},keyPress:function(a){if(this.activeDraggable){this.activeDraggable.keyPress(a)}},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(b){return b.element==a});this._cacheObserverCallbacks()},notify:function(b,a,c){if(this[b+"Count"]>0){this.observers.each(function(d){if(d[b]){d[b](b,a,c)}})}if(a.options[b]){a.options[b](a,c)}},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(a){Draggables[a+"Count"]=Draggables.observers.select(function(b){return b[a]}).length})}};var Draggable=Class.create({initialize:function(b){var c={handle:false,reverteffect:function(f,e,d){var g=Math.sqrt(Math.abs(e^2)+Math.abs(d^2))*0.02;new Effect.Move(f,{x:-d,y:-e,duration:g,queue:{scope:"_draggable",position:"end"}})},endeffect:function(e){var d=Object.isNumber(e._opacity)?e._opacity:1;new Effect.Opacity(e,{duration:0.2,from:0.7,to:d,queue:{scope:"_draggable",position:"end"},afterFinish:function(){Draggable._dragging[e]=false}})},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect)){Object.extend(c,{starteffect:function(d){d._opacity=Element.getOpacity(d);Draggable._dragging[d]=true;new Effect.Opacity(d,{duration:0.2,from:d._opacity,to:0.7})}})}var a=Object.extend(c,arguments[1]||{});this.element=$(b);if(a.handle&&Object.isString(a.handle)){this.handle=this.element.down("."+a.handle,0)}if(!this.handle){this.handle=$(a.handle)}if(!this.handle){this.handle=this.element}if(a.scroll&&!a.scroll.scrollTo&&!a.scroll.outerHTML){a.scroll=$(a.scroll);this._isScrollChild=Element.childOf(this.element,a.scroll)}Element.makePositioned(this.element);this.options=a;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,"left")||"0"),parseInt(Element.getStyle(this.element,"top")||"0")])},initDrag:function(a){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]){return}if(Event.isLeftClick(a)){var c=Event.element(a);if((tag_name=c.tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA")){return}var b=[Event.pointerX(a),Event.pointerY(a)];var d=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(e){return(b[e]-d[e])});Draggables.activate(this);Event.stop(a)}},startDrag:function(b){this.dragging=true;if(!this.delta){this.delta=this.currentDelta()}if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);this.element._originallyAbsolute=(this.element.getStyle("position")=="absolute");if(!this.element._originallyAbsolute){Position.absolutize(this.element)}this.element.parentNode.insertBefore(this._clone,this.element)}if(this.options.scroll){if(this.options.scroll==window){var a=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=a.left;this.originalScrollTop=a.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}}Draggables.notify("onStart",this,b);if(this.options.starteffect){this.options.starteffect(this.element)}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event)}if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element)}Draggables.notify("onDrag",this,event);this.draw(pointer);if(this.options.change){this.options.change(this)}if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)}var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity)}if(pointer[1]<(p[1]+this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity)}if(pointer[0]>(p[2]-this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity)}if(pointer[1]>(p[3]-this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity)}this.startScrolling(speed)}if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(event)},finishDrag:function(b,f){this.dragging=false;if(this.options.quiet){Position.prepare();var e=[Event.pointerX(b),Event.pointerY(b)];Droppables.show(e,this.element)}if(this.options.ghosting){if(!this.element._originallyAbsolute){Position.relativize(this.element)}delete this.element._originallyAbsolute;Element.remove(this._clone);this._clone=null}var g=false;if(f){g=Droppables.fire(b,this.element);if(!g){g=false}}if(g&&this.options.onDropped){this.options.onDropped(this.element)}Draggables.notify("onEnd",this,b);var a=this.options.revert;if(a&&Object.isFunction(a)){a=a(this.element)}var c=this.currentDelta();if(a&&this.options.reverteffect){if(g==0||a!="failure"){this.options.reverteffect(this.element,c[1]-this.delta[1],c[0]-this.delta[0])}}else{this.delta=c}if(this.options.zindex){this.element.style.zIndex=this.originalZ}if(this.options.endeffect){this.options.endeffect(this.element)}Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode!=Event.KEY_ESC){return}this.finishDrag(a,false);Event.stop(a)},endDrag:function(a){if(!this.dragging){return}this.stopScrolling();this.finishDrag(a,true);Event.stop(a)},draw:function(a){var g=Position.cumulativeOffset(this.element);if(this.options.ghosting){var c=Position.realOffset(this.element);g[0]+=c[0]-Position.deltaX;g[1]+=c[1]-Position.deltaY}var f=this.currentDelta();g[0]-=f[0];g[1]-=f[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){g[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;g[1]-=this.options.scroll.scrollTop-this.originalScrollTop}var e=[0,1].map(function(d){return(a[d]-g[d]-this.offset[d])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){e=this.options.snap(e[0],e[1],this)}else{if(Object.isArray(this.options.snap)){e=e.map(function(d,h){return(d/this.options.snap[h]).round()*this.options.snap[h]}.bind(this))}else{e=e.map(function(d){return(d/this.options.snap).round()*this.options.snap}.bind(this))}}}var b=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){b.left=e[0]+"px"}if((!this.options.constraint)||(this.options.constraint=="vertical")){b.top=e[1]+"px"}if(b.visibility=="hidden"){b.visibility=""}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1])){return}this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0){Draggables._lastScrollPointer[0]=0}if(Draggables._lastScrollPointer[1]<0){Draggables._lastScrollPointer[1]=0}this.draw(Draggables._lastScrollPointer)}if(this.options.change){this.options.change(this)}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}return{top:T,left:L,width:W,height:H}}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(b,a){this.element=$(b);this.observer=a;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element)){this.observer(this.element)}}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id]){return a}a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a){return}return Sortable.sortables[a.id]},destroy:function(a){var b=Sortable.options(a);if(b){Draggables.removeObserver(b.element);b.droppables.each(function(c){Droppables.remove(c)});b.draggables.invoke("destroy");delete Sortable.sortables[b.element.id]}},create:function(c){c=$(c);var b=Object.extend({element:c,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:c,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(c);var a={revert:true,quiet:b.quiet,scroll:b.scroll,scrollSpeed:b.scrollSpeed,scrollSensitivity:b.scrollSensitivity,delay:b.delay,ghosting:b.ghosting,constraint:b.constraint,handle:b.handle};if(b.starteffect){a.starteffect=b.starteffect}if(b.reverteffect){a.reverteffect=b.reverteffect}else{if(b.ghosting){a.reverteffect=function(f){f.style.top=0;f.style.left=0}}}if(b.endeffect){a.endeffect=b.endeffect}if(b.zindex){a.zindex=b.zindex}var d={overlap:b.overlap,containment:b.containment,tree:b.tree,hoverclass:b.hoverclass,onHover:Sortable.onHover};var e={onHover:Sortable.onEmptyHover,overlap:b.overlap,containment:b.containment,hoverclass:b.hoverclass};Element.cleanWhitespace(c);b.draggables=[];b.droppables=[];if(b.dropOnEmpty||b.tree){Droppables.add(c,e);b.droppables.push(c)}(b.elements||this.findElements(c,b)||[]).each(function(h,f){var g=b.handles?$(b.handles[f]):(b.handle?$(h).select("."+b.handle)[0]:h);b.draggables.push(new Draggable(h,Object.extend(a,{handle:g})));Droppables.add(h,d);if(b.tree){h.treeNode=c}b.droppables.push(h)});if(b.tree){(Sortable.findTreeElements(c,b)||[]).each(function(f){Droppables.add(f,e);f.treeNode=c;b.droppables.push(f)})}this.sortables[c.id]=b;Draggables.addObserver(new SortableObserver(c,b.onUpdate))},findElements:function(b,a){return Element.findChildren(b,a.only,a.tree?true:false,a.tag)},findTreeElements:function(b,a){return Element.findChildren(b,a.only,a.tree?true:false,a.treeTag)},onHover:function(e,d,a){if(Element.isParent(d,e)){return}if(a>0.33&&a<0.66&&Sortable.options(d).tree){return}else{if(a>0.5){Sortable.mark(d,"before");if(d.previousSibling!=e){var b=e.parentNode;e.style.visibility="hidden";d.parentNode.insertBefore(e,d);if(d.parentNode!=b){Sortable.options(b).onChange(e)}Sortable.options(d.parentNode).onChange(e)}}else{Sortable.mark(d,"after");var c=d.nextSibling||null;if(c!=e){var b=e.parentNode;e.style.visibility="hidden";d.parentNode.insertBefore(e,c);if(d.parentNode!=b){Sortable.options(b).onChange(e)}Sortable.options(d.parentNode).onChange(e)}}}},onEmptyHover:function(e,g,h){var j=e.parentNode;var a=Sortable.options(g);if(!Element.isParent(g,e)){var f;var c=Sortable.findElements(g,{tag:a.tag,only:a.only});var b=null;if(c){var d=Element.offsetSize(g,a.overlap)*(1-h);for(f=0;f<c.length;f+=1){if(d-Element.offsetSize(c[f],a.overlap)>=0){d-=Element.offsetSize(c[f],a.overlap)}else{if(d-(Element.offsetSize(c[f],a.overlap)/2)>=0){b=f+1<c.length?c[f+1]:null;break}else{b=c[f];break}}}}g.insertBefore(e,b);Sortable.options(j).onChange(e);a.onChange(e)}},unmark:function(){if(Sortable._marker){Sortable._marker.hide()}},mark:function(b,a){var d=Sortable.options(b.parentNode);if(d&&!d.ghosting){return}if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)}var c=Position.cumulativeOffset(b);Sortable._marker.setStyle({left:c[0]+"px",top:c[1]+"px"});if(a=="after"){if(d.overlap=="horizontal"){Sortable._marker.setStyle({left:(c[0]+b.clientWidth)+"px"})}else{Sortable._marker.setStyle({top:(c[1]+b.clientHeight)+"px"})}}Sortable._marker.show()},_tree:function(e,b,f){var d=Sortable.findElements(e,b)||[];for(var c=0;c<d.length;++c){var a=d[c].id.match(b.format);if(!a){continue}var g={id:encodeURIComponent(a?a[1]:null),element:e,parent:f,children:[],position:f.children.length,container:$(d[c]).down(b.treeTag)};if(g.container){this._tree(g.container,b,g)}f.children.push(g)}return f},tree:function(d){d=$(d);var c=this.options(d);var b=Object.extend({tag:c.tag,treeTag:c.treeTag,only:c.only,name:d.id,format:c.format},arguments[1]||{});var a={id:null,parent:null,children:[],container:d,position:0};return Sortable._tree(d,b,a)},_constructIndex:function(b){var a="";do{if(b.id){a="["+b.position+"]"+a}}while((b=b.parent)!=null);return a},sequence:function(b){b=$(b);var a=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,a)||[]).map(function(c){return c.id.match(a.format)?c.id.match(a.format)[1]:""})},setSequence:function(b,c){b=$(b);var a=Object.extend(this.options(b),arguments[2]||{});var d={};this.findElements(b,a).each(function(e){if(e.id.match(a.format)){d[e.id.match(a.format)[1]]=[e,e.parentNode]}e.parentNode.removeChild(e)});c.each(function(e){var f=d[e];if(f){f[1].appendChild(f[0]);delete d[e]}})},serialize:function(c){c=$(c);var b=Object.extend(Sortable.options(c),arguments[1]||{});var a=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:c.id);if(b.tree){return Sortable.tree(c,arguments[1]).children.map(function(d){return[a+Sortable._constructIndex(d)+"[id]="+encodeURIComponent(d.id)].concat(d.children.map(arguments.callee))}).flatten().join("&")}else{return Sortable.sequence(c,arguments[1]).map(function(d){return a+"[]="+encodeURIComponent(d)}).join("&")}}};Element.isParent=function(b,a){if(!b.parentNode||b==a){return false}if(b.parentNode==a){return true}return Element.isParent(b.parentNode,a)};Element.findChildren=function(d,b,a,c){if(!d.hasChildNodes()){return null}c=c.toUpperCase();if(b){b=[b].flatten()}var e=[];$A(d.childNodes).each(function(g){if(g.tagName&&g.tagName.toUpperCase()==c&&(!b||(Element.classNames(g).detect(function(h){return b.include(h)})))){e.push(g)}if(a){var f=Element.findChildren(g,b,a,c);if(f){e.push(f)}}});return(e.length>0?e.flatten():[])};Element.offsetSize=function(a,b){return a["offset"+((b=="vertical"||b=="height")?"Height":"Width")]};if(typeof Effect=="undefined"){throw ("controls.js requires including script.aculo.us' effects.js library")}var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(b,c,a){b=$(b);this.element=b;this.update=$(c);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(a)}else{this.options=a||{}}this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(d,e){if(!e.style.position||e.style.position=="absolute"){e.style.position="absolute";Position.clone(d,e,{setHeight:false,offsetTop:d.offsetHeight})}Effect.Appear(e,{duration:0.15})};this.options.onHide=this.options.onHide||function(d,e){new Effect.Fade(e,{duration:0.15})};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+"_iefix")}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)}if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(a){if(this.active){switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(a);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}}else{if(a.keyCode==Event.KEY_TAB||a.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&a.keyCode==0)){return}}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(b){var a=Event.findElement(b,"LI");if(this.index!=a.autocompleteIndex){this.index=a.autocompleteIndex;this.render()}Event.stop(b)},onClick:function(b){var a=Event.findElement(b,"LI");this.index=a.autocompleteIndex;this.selectEntry();this.hide()},onBlur:function(a){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false},render:function(){if(this.entryCount>0){for(var a=0;a<this.entryCount;a++){this.index==a?Element.addClassName(this.getEntry(a),"selected"):Element.removeClassName(this.getEntry(a),"selected")}if(this.hasFocus){this.show();this.active=true}}else{this.active=false;this.hide()}},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1}this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0}this.getEntry(this.index).scrollIntoView(false)},getEntry:function(a){return this.update.firstChild.childNodes[a]},getCurrentEntry:function(){return this.getEntry(this.index)},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry())},updateElement:function(f){if(this.options.updateElement){this.options.updateElement(f);return}var d="";if(this.options.select){var a=$(f).select("."+this.options.select)||[];if(a.length>0){d=Element.collectTextNodes(a[0],this.options.select)}}else{d=Element.collectTextNodesIgnoreClass(f,"informal")}var c=this.getTokenBounds();if(c[0]!=-1){var e=this.element.value.substr(0,c[0]);var b=this.element.value.substr(c[0]).match(/^\s+/);if(b){e+=b[0]}this.element.value=e+d+this.element.value.substr(c[1])}else{this.element.value=d}this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,f)}},updateChoices:function(c){if(!this.changed&&this.hasFocus){this.update.innerHTML=c;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var a=0;a<this.entryCount;a++){var b=this.getEntry(a);b.autocompleteIndex=a;this.addObservers(b)}}else{this.entryCount=0}this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()}}},addObservers:function(a){Event.observe(a,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(a,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices()}else{this.active=false;this.hide()}this.oldElementValue=this.element.value},getToken:function(){var a=this.getTokenBounds();return this.element.value.substring(a[0],a[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds}var e=this.element.value;if(e.strip().empty()){return[-1,0]}var f=arguments.callee.getFirstDifferencePos(e,this.oldElementValue);var h=(f==this.oldElementValue.length?1:0);var d=-1,c=e.length;var g;for(var b=0,a=this.options.tokens.length;b<a;++b){g=e.lastIndexOf(this.options.tokens[b],f+h-1);if(g>d){d=g}g=e.indexOf(this.options.tokens[b],f+h);if(-1!=g&&g<c){c=g}}return(this.tokenBounds=[d+1,c])}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(c,a){var d=Math.min(c.length,a.length);for(var b=0;b<d;++b){if(c[b]!=a[b]){return b}}return d};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(c,d,b,a){this.baseInitialize(c,d,a);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=b},getUpdatedChoices:function(){this.startIndicator();var a=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,a):a;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams}new Ajax.Request(this.url,this.options)},onComplete:function(a){this.updateChoices(a.responseText)}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(b,d,c,a){this.baseInitialize(b,d,a);this.options.array=c},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(a){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(b){var d=[];var c=[];var h=b.getToken();var g=0;for(var e=0;e<b.options.array.length&&d.length<b.options.choices;e++){var f=b.options.array[e];var j=b.options.ignoreCase?f.toLowerCase().indexOf(h.toLowerCase()):f.indexOf(h);while(j!=-1){if(j==0&&f.length!=h.length){d.push("<li><strong>"+f.substr(0,h.length)+"</strong>"+f.substr(h.length)+"</li>");break}else{if(h.length>=b.options.partialChars&&b.options.partialSearch&&j!=-1){if(b.options.fullSearch||/\s/.test(f.substr(j-1,1))){c.push("<li>"+f.substr(0,j)+"<strong>"+f.substr(j,h.length)+"</strong>"+f.substr(j+h.length)+"</li>");break}}}j=b.options.ignoreCase?f.toLowerCase().indexOf(h.toLowerCase(),j+1):f.indexOf(h,j+1)}}if(c.length){d=d.concat(c.slice(0,b.options.choices-d.length))}return"<ul>"+d.join("")+"</ul>"}},a||{})}});Field.scrollFreeActivate=function(a){setTimeout(function(){Field.activate(a)},1)};Ajax.InPlaceEditor=Class.create({initialize:function(c,b,a){this.url=b;this.element=c=$(c);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(a);Object.extend(this.options,a||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=""}}if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl)}if(!this.options.externalControl){this.options.externalControlOnly=false}this._originalBackground=this.element.getStyle("background-color")||"transparent";this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(a){if(!this._editing||a.ctrlKey||a.altKey||a.shiftKey){return}if(Event.KEY_ESC==a.keyCode){this.handleFormCancellation(a)}else{if(Event.KEY_RETURN==a.keyCode){this.handleFormSubmission(a)}}},createControl:function(g,c,b){var e=this.options[g+"Control"];var f=this.options[g+"Text"];if("button"==e){var a=document.createElement("input");a.type="submit";a.value=f;a.className="editor_"+g+"_button";if("cancel"==g){a.onclick=this._boundCancelHandler}this._form.appendChild(a);this._controls[g]=a}else{if("link"==e){var d=document.createElement("a");d.href="#";d.appendChild(document.createTextNode(f));d.onclick="cancel"==g?this._boundCancelHandler:this._boundSubmitHandler;d.className="editor_"+g+"_link";if(b){d.className+=" "+b}this._form.appendChild(d);this._controls[g]=d}}},createEditField:function(){var c=(this.options.loadTextURL?this.options.loadingText:this.getText());var b;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){b=document.createElement("input");b.type="text";var a=this.options.size||this.options.cols||0;if(0<a){b.size=a}}else{b=document.createElement("textarea");b.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);b.cols=this.options.cols||40}b.name=this.options.paramName;b.value=c;b.className="editor_field";if(this.options.submitOnBlur){b.onblur=this._boundSubmitHandler}this._controls.editor=b;if(this.options.loadTextURL){this.loadExternalText()}this._form.appendChild(this._controls.editor)},createForm:function(){var b=this;function a(d,e){var c=b.options["text"+d+"Controls"];if(!c||e===false){return}b._form.appendChild(document.createTextNode(c))}this._form=$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"))}if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form)}a("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);a("Between",this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");a("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML}this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(a){if(this._saving||this._editing){return}this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide()}this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField()}if(a){Event.stop(a)}},enterHover:function(a){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName)}if(this._saving){return}this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML},handleAJAXFailure:function(a){this.triggerCallback("onFailure",a);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null}},handleFormCancellation:function(a){this.wrapUp();if(a){Event.stop(a)}},handleFormSubmission:function(d){var b=this._form;var c=$F(this._controls.editor);this.prepareSubmission();var f=this.options.callback(b,c)||"";if(Object.isString(f)){f=f.toQueryParams()}f.editorId=this.element.id;if(this.options.htmlResponse){var a=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,a)}else{var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,a)}if(d){Event.stop(d)}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show()}this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")},leaveHover:function(a){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName)}if(this._saving){return}this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(c){this._form.removeClassName(this.options.loadingClassName);var b=c.responseText;if(this.options.stripLoadedTextTags){b=b.stripTags()}this._controls.editor.value=b;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,a)},postProcessEditField:function(){var a=this.options.fieldPostCreation;if(a){$(this._controls.editor)["focus"==a?"focus":"activate"]()}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(a){Object.extend(this.options,a)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};var a;$H(Ajax.InPlaceEditor.Listeners).each(function(b){a=this[b.value].bind(this);this._listeners[b.key]=a;if(!this.options.externalControlOnly){this.element.observe(b.key,a)}if(this.options.externalControl){this.options.externalControl.observe(b.key,a)}}.bind(this))},removeForm:function(){if(!this._form){return}this._form.remove();this._form=null;this._controls={}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(b,a){if("function"==typeof this.options[b]){this.options[b](this,a)}},unregisterListeners:function(){$H(this._listeners).each(function(a){if(!this.options.externalControlOnly){this.element.stopObserving(a.key,a.value)}if(this.options.externalControl){this.options.externalControl.stopObserving(a.key,a.value)}}.bind(this))},wrapUp:function(a){this.leaveEditMode();this._boundComplete(a,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,c,b,a){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(c,b,a)},createEditField:function(){var a=document.createElement("select");a.name=this.options.paramName;a.size=1;this._controls.editor=a;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection()}else{this.checkForExternalText()}this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw"Server returned an invalid collection representation."}this._collection=eval(js);this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options)},showLoadingText:function(b){this._controls.editor.disabled=true;var a=this._controls.editor.firstChild;if(!a){a=document.createElement("option");a.value="";this._controls.editor.appendChild(a);a.selected=true}a.update((b||"").stripScripts().stripTags())},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText()}else{this.buildOptionList()}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){this._text=b.responseText.strip();this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,a)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(d){return 2===d.length?d:[d,d].flatten()});var b=("value" in this.options)?this.options.value:this._text;var a=this._collection.any(function(d){return d[0]==b}.bind(this));this._controls.editor.update("");var c;this._collection.each(function(e,d){c=document.createElement("option");c.value=e[0];c.selected=a?e[0]==b:0==d;c.appendChild(document.createTextNode(e[1]));this._controls.editor.appendChild(c)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(a){if(!a){return}function b(c,d){if(c in a||d===undefined){return}a[c]=d}b("cancelControl",(a.cancelLink?"link":(a.cancelButton?"button":a.cancelLink==a.cancelButton==false?false:undefined)));b("okControl",(a.okLink?"link":(a.okButton?"button":a.okLink==a.okButton==false?false:undefined)));b("highlightColor",a.highlightcolor);b("highlightEndColor",a.highlightendcolor)};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(a){return Form.serialize(a)},onComplete:function(b,a){new Effect.Highlight(a,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(a){a.element.style.backgroundColor=a.options.highlightColor;if(a._effect){a._effect.cancel()}},onFailure:function(b,a){alert("Error communication with the server: "+b.responseText.stripTags())},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(a){a._effect=new Effect.Highlight(a.element,{startcolor:a.options.highlightColor,endcolor:a.options.highlightEndColor,restorecolor:a._originalBackground,keepBackgroundImage:true})}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};Form.Element.DelayedObserver=Class.create({initialize:function(b,a,c){this.delay=a||0.5;this.element=$(b);this.callback=c;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))},delayedListener:function(a){if(this.lastValue==$F(this.element)){return}if(this.timer){clearTimeout(this.timer)}this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element)},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element))}});if(!Control){var Control={}}Control.Slider=Class.create({initialize:function(d,a,b){var c=this;if(Object.isArray(d)){this.handles=d.collect(function(f){return $(f)})}else{this.handles=[$(d)]}this.track=$(a);this.options=b||{};this.axis=this.options.axis||"horizontal";this.increment=this.options.increment||1;this.step=parseInt(this.options.step||"1");this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(e){return $(e)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled){this.setDisabled()}this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max()}this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(f,e){e=c.handles.length-1-e;c.setValue(parseFloat((Object.isArray(c.options.sliderValue)?c.options.sliderValue[e]:c.options.sliderValue)||c.range.start),e);f.makePositioned().observe("mousedown",c.eventMouseDown)});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true},dispose:function(){var a=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(b){Event.stopObserving(b,"mousedown",a.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(a){if(this.allowedValues){if(a>=this.allowedValues.max()){return(this.allowedValues.max())}if(a<=this.allowedValues.min()){return(this.allowedValues.min())}var c=Math.abs(this.allowedValues[0]-a);var b=this.allowedValues[0];this.allowedValues.each(function(d){var e=Math.abs(d-a);if(e<=c){b=d;c=e}});return b}if(a>this.range.end){return this.range.end}if(a<this.range.start){return this.range.start}return a},setValue:function(b,a){if(!this.active){this.activeHandleIdx=a||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles()}a=a||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((a>0)&&(b<this.values[a-1])){b=this.values[a-1]}if((a<(this.handles.length-1))&&(b>this.values[a+1])){b=this.values[a+1]}}b=this.getNearestValue(b);this.values[a]=b;this.value=this.values[0];this.handles[a].style[this.isVertical()?"top":"left"]=this.translateToPx(b);this.drawSpans();if(!this.dragging||!this.event){this.updateFinished()}},setValueBy:function(b,a){this.setValue(this.values[a||this.activeHandleIdx||0]+b,a||this.activeHandleIdx||0)},translateToPx:function(a){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(a-this.range.start))+"px"},translateToValue:function(a){return((a/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start)},getRange:function(b){var a=this.values.sortBy(Prototype.K);b=b||0;return $R(a[b],a[b+1])},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX)},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX)},isVertical:function(){return(this.axis=="vertical")},drawSpans:function(){var a=this;if(this.spans){$R(0,this.spans.length-1).each(function(b){a.setSpan(a.spans[b],a.getRange(b))})}if(this.options.startSpan){this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value))}if(this.options.endSpan){this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum))}},setSpan:function(b,a){if(this.isVertical()){b.style.top=this.translateToPx(a.start);b.style.height=this.translateToPx(a.end-a.start+this.range.start)}else{b.style.left=this.translateToPx(a.start);b.style.width=this.translateToPx(a.end-a.start+this.range.start)}},updateStyles:function(){this.handles.each(function(a){Element.removeClassName(a,"selected")});Element.addClassName(this.activeHandle,"selected")},startDrag:function(c){if(Event.isLeftClick(c)){if(!this.disabled){this.active=true;var d=Event.element(c);var e=[Event.pointerX(c),Event.pointerY(c)];var a=d;if(a==this.track){var b=Position.cumulativeOffset(this.track);this.event=c;this.setValue(this.translateToValue((this.isVertical()?e[1]-b[1]:e[0]-b[0])-(this.handleLength/2)));var b=Position.cumulativeOffset(this.activeHandle);this.offsetX=(e[0]-b[0]);this.offsetY=(e[1]-b[1])}else{while((this.handles.indexOf(d)==-1)&&d.parentNode){d=d.parentNode}if(this.handles.indexOf(d)!=-1){this.activeHandle=d;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var b=Position.cumulativeOffset(this.activeHandle);this.offsetX=(e[0]-b[0]);this.offsetY=(e[1]-b[1])}}}Event.stop(c)}},update:function(a){if(this.active){if(!this.dragging){this.dragging=true}this.draw(a);if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(a)}},draw:function(b){var c=[Event.pointerX(b),Event.pointerY(b)];var a=Position.cumulativeOffset(this.track);c[0]-=this.offsetX+a[0];c[1]-=this.offsetY+a[1];this.event=b;this.setValue(this.translateToValue(this.isVertical()?c[1]:c[0]));if(this.initialized&&this.options.onSlide){this.options.onSlide(this.values.length>1?this.values:this.value,this)}},endDrag:function(a){if(this.active&&this.dragging){this.finishDrag(a,true);Event.stop(a)}this.active=false;this.dragging=false},finishDrag:function(a,b){this.active=false;this.dragging=false;this.updateFinished()},updateFinished:function(){if(this.initialized&&this.options.onChange){this.options.onChange(this.values.length>1?this.values:this.value,this)}this.event=null}});Sound={tracks:{},_enabled:true,template:new Template('<embed style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>'),enable:function(){Sound._enabled=true},disable:function(){Sound._enabled=false},play:function(b){if(!Sound._enabled){return}var a=Object.extend({track:"global",url:b,replace:false},arguments[1]||{});if(a.replace&&this.tracks[a.track]){$R(0,this.tracks[a.track].id).each(function(d){var c=$("sound_"+a.track+"_"+d);c.Stop&&c.Stop();c.remove()});this.tracks[a.track]=null}if(!this.tracks[a.track]){this.tracks[a.track]={id:0}}else{this.tracks[a.track].id++}a.id=this.tracks[a.track].id;$$("body")[0].insert(Prototype.Browser.IE?new Element("bgsound",{id:"sound_"+a.track+"_"+a.id,src:a.url,loop:1,autostart:true}):Sound.template.evaluate(a))}};if(Prototype.Browser.Gecko&&navigator.userAgent.indexOf("Win")>0){if(navigator.plugins&&$A(navigator.plugins).detect(function(a){return a.name.indexOf("QuickTime")!=-1})){Sound.template=new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>')}else{Sound.play=function(){}}}var RUZEE=window.RUZEE||{};RUZEE.ShadedBorder={create:function(x){var q=/msie/i.test(navigator.userAgent)&&!window.opera;var H=q&&!window.XMLHttpRequest;function z(p,b){for(k in b){if(/ie_/.test(k)){if(q){p.style[k.substr(3)]=b[k]}}else{p.style[k]=b[k]}}}function C(p){var b=document.createElement("div");b.className="sb-gen";z(b,p);return b}function A(b){b=b<0?0:b;if(b>0.99999){return""}return q?" filter:alpha(opacity="+(b*100)+");":" opacity:"+b+";"}var l=x.shadow||0;var I=x.corner||0;var h=0;var g=x.border||0;var j=x.borderOpacity||1;var E=l!=0;var w=I>l?I:l;var y=w;var c=w;var O=w;if(g>0){h=I;I=I-g}var o=I!=0&&E?Math.round(w/3):0;var n=o;var v=Math.round(o/2);var s=I>0?"sb-inner":"sb-shadow";if(x.iclass){s=x.iclass}var B="sb-shadow";var L="sb-border";var m=x.edges||"trlb";if(!/t/i.test(m)){c=0}if(!/b/i.test(m)){O=0}if(!/l/i.test(m)){w=0}if(!/r/i.test(m)){y=0}var K={position:"absolute",left:"0",top:"0",width:w+"px",height:c+"px",ie_fontSize:"1px",overflow:"hidden",margin:"0",padding:"0"};var a=C(K);delete K.left;K.right="0";K.width=y+"px";var P=C(K);delete K.top;K.bottom="0";K.height=O+"px";var J=C(K);delete K.right;K.left="0";K.width=w+"px";var M=C(K);var N=C({position:"absolute",width:"100%",height:c+"px",ie_fontSize:"1px",top:"0",left:"0",overflow:"hidden",margin:"0",padding:"0"});var G=C({position:"relative",height:c+"px",ie_fontSize:"1px",margin:"0 "+y+"px 0 "+w+"px",overflow:"hidden",padding:"0"});N.appendChild(G);var F=C({position:"absolute",left:"0",bottom:"0",width:"100%",height:O+"px",ie_fontSize:"1px",overflow:"hidden",margin:"0",padding:"0"});var Q=C({position:"relative",height:O+"px",ie_fontSize:"1px",margin:"0 "+y+"px 0 "+w+"px",overflow:"hidden",padding:"0"});F.appendChild(Q);var f=C({position:"absolute",top:(-O)+"px",left:"0",width:"100%",height:"100%",overflow:"hidden",ie_fontSize:"1px",padding:"0",margin:"0"});function D(R,aa,ae){var X=ae?w:y;var ah=aa?c:O;var ab=aa?v:-v;var U=[];var S=[];var b=[];var Y=0;var af=1;if(ae){Y=X-1;af=-1}for(var W=0;W<X;++W){var ai=ah-1;var p=-1;if(aa){ai=0;p=1}var T=false;for(var V=ah-1;V>=0&&!T;--V){var ac='<div style="position:absolute; top:'+ai+"px; left:"+Y+"px; width:1px; height:1px; overflow:hidden; margin:0; padding:0;";var ag=W-o;var r=V-n-ab;var aj=Math.sqrt(ag*ag+r*r);var Z=false;if(I>0){if(ag<0&&r<h&&r>=I||r<0&&ag<h&&ag>=I){U.push(ac+A(j)+'" class="'+L+'"></div>')}else{if(aj<h&&aj>=I-1&&ag>=0&&r>=0){var ak=ac;if(aj>=h-1){ak+=A((h-aj)*j);Z=true}else{ak+=A(j)}U.push(ak+'" class="'+L+'"></div>')}}var ak=ac+" z-index:2;"+(aa?"background-position:0 -"+(I-r-1)+"px;":"background-image:none;");var ad=function(){if(!aa){ak=ak.replace(/top\:\d+px/,"top:0px")}ak=ak.replace(/height\:1px/,"height:"+(V+1)+"px");S.push(ak+'" class="'+s+'"></div>');T=true};if(ag<0&&r<I||r<0&&ag<I){ad()}else{if(aj<I&&ag>=0&&r>=0){if(aj>=I-1){ak+=A(I-aj);Z=true;S.push(ak+'" class="'+s+'"></div>')}else{ad()}}else{Z=true}}}else{Z=true}if(l>0&&Z){aj=Math.sqrt(W*W+V*V);if(aj<l){b.push(ac+" z-index:0; "+A(1-(aj/l))+'" class="'+B+'"></div>')}}ai+=p}Y+=af}R.innerHTML=b.concat(U.concat(S)).join("")}function d(S){var R=[];R.push('<div style="position:relative; top:'+(c+O)+"px; height:2048px;  margin:0 "+(y-I-o)+"px 0 "+(w-I-o)+"px;  padding:0; overflow:hidden; background-position:0 "+(c>0?-(I+n+v):"0")+'px;" class="'+s+'"></div>');var p='<div style="position:absolute; width:1px; top:'+(c+O)+"px; height:2048px; padding:0; margin:0;";if(l>0){for(var b=0;b<w-I-o;++b){R.push(p+" left:"+b+"px;"+A((b+1)/w)+'" class="'+B+'"></div>')}for(var b=0;b<y-I-o;++b){R.push(p+" right:"+b+"px;"+A((b+1)/y)+'" class="'+B+'"></div>')}}if(g>0){var r=" width:"+g+"px;"+A(j)+'" class="'+L+'"></div>';R.push(p+" left:"+(w-h-o)+"px;"+r);R.push(p+" right:"+(y-h-o)+"px;"+r)}S.innerHTML=R.join("")}function e(S,p){var T=[];var R=p?c:O;var b='<div style="height:1px; overflow:hidden; position:absolute; margin:0; padding:0; width:100%; left:0px; ';var r=p?v:-v;for(var U=0;U<R-r-n-I;++U){if(l>0){T.push(b+(p?"top:":"bottom:")+U+"px;"+A((U+1)*1/R)+'" class="'+B+'"></div>')}}if(U>=g){T.push(b+(p?"top:":"bottom:")+(U-g)+"px;"+A(j)+" height:"+g+'px;" class="'+L+'"></div>')}T.push(b+(p?"background-position-y:0; top:":"background-image:none; bottom:")+U+"px; height:"+(I+n+r)+'px;" class="'+s+'"></div>');S.innerHTML=T.join("")}D(a,true,true);D(P,true,false);D(M,false,true);D(J,false,false);d(f);e(G,true);e(Q,false);return{render:function(p){if(typeof p=="string"){p=document.getElementById(p)}if(p.length!=undefined){for(var b=0;b<p.length;++b){this.render(p[b])}return}this.renderNode(p)},renderFromSelector:function(b){var p=new Array();p=getElementsBySelector(b);for(i=0;i<p.length;i++){this.renderNode(p[i])}},renderNode:function(S){S.className+=" sb";z(S,{position:"relative",background:"transparent"});var T=S.firstChild;while(T){var b=T.nextSibling;if(T.nodeType==1&&T.className=="sb-gen"){S.removeChild(T)}T=b}var r=S.firstChild;var R=N.cloneNode(true);var V=f.cloneNode(true);var U=F.cloneNode(true);S.insertBefore(a.cloneNode(true),r);S.insertBefore(P.cloneNode(true),r);S.insertBefore(M.cloneNode(true),r);S.insertBefore(J.cloneNode(true),r);S.insertBefore(R,r);S.insertBefore(V,r);S.insertBefore(U,r);if(H){S.onmouseover=function(){this.className+=" hover"};S.onmouseout=function(){this.className=this.className.replace(/ hover/,"")}}if(q){function p(){R.style.width=U.style.width=V.style.width=S.offsetWidth+"px";V.firstChild.style.height=S.offsetHeight+"px"}S.onresize=p;p()}}}}};document.write('  <style type="text/css">  .sb, .sbi, .sb *, .sbi * { position:relative; z-index:1; }  * html .sb, * html .sbi { height:1%; }  .sbi { display:inline-block; }  .sb-inner { }  .sb-shadow { background:#000; }  .sb-border { background:#bbb; }  </style>');var niftyOk=(document.getElementById&&document.createElement&&Array.prototype.push);var niftyCss=false;String.prototype.find=function(a){return(this.indexOf(a)>=0?true:false)};var oldonload=window.onload;if(typeof(NiftyLoad)!="function"){NiftyLoad=function(){}}if(typeof(oldonload)=="function"){window.onload=function(){oldonload();AddCss();NiftyLoad()}}else{window.onload=function(){AddCss();NiftyLoad()}}function AddCss(){niftyCss=true;var a=CreateEl("link");a.setAttribute("type","text/css");a.setAttribute("rel","stylesheet");a.setAttribute("href",root+"/stylesheets/niftyCorners.css");a.setAttribute("media","screen");document.getElementsByTagName("head")[0].appendChild(a)}function Nifty(a,c){if(niftyOk==false){return}if(niftyCss==false){AddCss()}var d,b=a.split(","),e=0;if(c==null){c=""}if(c.find("fixed-height")){e=getElementsBySelector(b[0])[0].offsetHeight}for(d=0;d<b.length;d++){Rounded(b[d],c)}if(c.find("height")){SameHeight(a,e)}}function Rounded(a,d){var e,f="",c="",b=new Array();if(d!=""){d=d.replace("left","tl bl");d=d.replace("right","tr br");d=d.replace("top","tr tl");d=d.replace("bottom","br bl");d=d.replace("transparent","alias");if(d.find("tl")){f="both";if(!d.find("tr")){f="left"}}else{if(d.find("tr")){f="right"}}if(d.find("bl")){c="both";if(!d.find("br")){c="left"}}else{if(d.find("br")){c="right"}}}if(f==""&&c==""&&!d.find("none")){f="both";c="both"}b=getElementsBySelector(a);for(e=0;e<b.length;e++){FixIE(b[e]);if(f!=""){AddTop(b[e],f,d)}if(c!=""){AddBottom(b[e],c,d)}}}function AddTop(c,m,n){var l=CreateEl("b"),e=4,h="",a,j,b="r",f,g;l.style.marginLeft="-"+getPadding(c,"Left")+"px";l.style.marginRight="-"+getPadding(c,"Right")+"px";if(n.find("alias")||(g=getBk(c))=="transparent"){g="transparent";f="transparent";h=getParentBk(c);b="t"}else{f=getParentBk(c);h=Mix(g,f)}l.style.background=f;l.className="niftycorners";a=getPadding(c,"Top");if(n.find("small")){l.style.marginBottom=(a-2)+"px";b+="s";e=2}else{if(n.find("big")){l.style.marginBottom=(a-10)+"px";b+="b";e=8}else{l.style.marginBottom=(a-5)+"px"}}for(j=1;j<=e;j++){l.appendChild(CreateStrip(j,m,g,h,b))}c.style.paddingTop="0";c.insertBefore(l,c.firstChild)}function AddBottom(c,m,n){var l=CreateEl("b"),e=4,h="",a,j,b="r",f,g;l.style.marginLeft="-"+getPadding(c,"Left")+"px";l.style.marginRight="-"+getPadding(c,"Right")+"px";if(n.find("alias")||(g=getBk(c))=="transparent"){g="transparent";f="transparent";h=getParentBk(c);b="t"}else{f=getParentBk(c);h=Mix(g,f)}l.style.background=f;l.className="niftycorners";a=getPadding(c,"Bottom");if(n.find("small")){l.style.marginTop=(a-2)+"px";b+="s";e=2}else{if(n.find("big")){l.style.marginTop=(a-10)+"px";b+="b";e=8}else{l.style.marginTop=(a-5)+"px"}}for(j=e;j>0;j--){l.appendChild(CreateStrip(j,m,g,h,b))}c.style.paddingBottom=0;c.appendChild(l)}function CreateStrip(d,e,b,c,f){var a=CreateEl("b");a.className=f+d;a.style.backgroundColor=b;a.style.borderColor=c;if(e=="left"){a.style.borderRightWidth="0";a.style.marginRight="0"}else{if(e=="right"){a.style.borderLeftWidth="0";a.style.marginLeft="0"}}return(a)}function CreateEl(a){return(document.createElement(a))}function FixIE(a){if(a.currentStyle!=null&&a.currentStyle.hasLayout!=null&&a.currentStyle.hasLayout==false){a.style.display="inline-block"}}function SameHeight(a,d){var g,b=a.split(","),f,c,e=[],h;for(g=0;g<b.length;g++){f=getElementsBySelector(b[g]);e=e.concat(f)}for(g=0;g<e.length;g++){if(e[g].offsetHeight>d){d=e[g].offsetHeight}e[g].style.height="auto"}for(g=0;g<e.length;g++){h=d-e[g].offsetHeight;if(h>0){f=CreateEl("b");f.className="niftyfill";f.style.height=h+"px";nc=e[g].lastChild;if(nc.className=="niftycorners"){e[g].insertBefore(f,nc)}else{e[g].appendChild(f)}}}}function getElementsBySelector(d){var h,g,b="",n="",z=d,w="",r,e,m,q,y=[],p=[],o;if(d.find("#")){if(d.find(" ")){y=d.split(" ");var l=y[0].split("#");if(l.length==1){return(p)}m=document.getElementById(l[1]);if(m){x=m.getElementsByTagName(y[1]);for(h=0;h<x.length;h++){p.push(x[h])}}return(p)}else{y=d.split("#");z=y[0];b=y[1];if(b!=""){m=document.getElementById(b);if(m){p.push(m)}return(p)}}}if(d.find(".")){y=d.split(".");z=y[0];n=y[1];if(n.find(" ")){y=n.split(" ");n=y[0];w=y[1]}}var x=document.getElementsByTagName(z);if(n==""){for(h=0;h<x.length;h++){p.push(x[h])}return(p)}for(h=0;h<x.length;h++){o=x[h].className.split(" ");for(g=0;g<o.length;g++){if(o[g]==n){if(w==""){p.push(x[h])}else{r=x[h].getElementsByTagName(w);for(e=0;e<r.length;e++){p.push(r[e])}}}}}return(p)}function getParentBk(a){var b=a.parentNode,d;while(b.tagName.toUpperCase()!="HTML"&&(d=getBk(b))=="transparent"){b=b.parentNode}if(d=="transparent"){d="#FFFFFF"}return(d)}function getBk(a){var b=getStyleProp(a,"backgroundColor");if(b==null||b=="transparent"||b.find("rgba(0, 0, 0, 0)")){return("transparent")}if(b.find("rgb")){b=rgb2hex(b)}return(b)}function getPadding(a,b){var c=getStyleProp(a,"padding"+b);if(c==null||!c.find("px")){return(0)}return(parseInt(c))}function getStyleProp(a,b){if(a.currentStyle){return(a.currentStyle[b])}if(document.defaultView.getComputedStyle){return(document.defaultView.getComputedStyle(a,"")[b])}return(null)}function rgb2hex(f){var d="",a,c,b;var e=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;var c=e.exec(f);for(b=1;b<4;b++){a=parseInt(c[b]).toString(16);if(a.length==1){d+="0"+a}else{d+=a}}return("#"+d)}function Mix(f,e){var d,c,b,a,h,g=new Array(3);if(f.length==4){c=1}else{c=2}if(e.length==4){b=1}else{b=2}for(d=0;d<3;d++){a=parseInt(f.substr(1+c*d,c),16);if(c==1){a=16*a+a}h=parseInt(e.substr(1+b*d,b),16);if(b==1){h=16*h+h}g[d]=Math.floor((a*50+h*50)/100);g[d]=g[d].toString(16);if(g[d].length==1){g[d]="0"+g[d]}}return("#"+g[0]+g[1]+g[2])}var RUZEE=window.RUZEE||{};RUZEE.Events={domloadEvents:[],domloadDone:false,add:function(e,c,b,a){if(c=="domload"){RUZEE.Events.domloadEvents.push(b);return true}if(e.addEventListener){e.addEventListener(c,b,a);return true}if(e.attachEvent){return e.attachEvent("on"+c,b)}var d=e["on"+c];e["on"+c]=(d&&typeof d=="function")?function(){d();b()}:b},remove:function(d,c,b,a){if(d.removeEventListener){d.removeEventListener(c,b,a);return true}if(d.detachEvent){return d.detachEvent("on"+c,b)}alert("Handler could not be removed!")},getSrc:function(b){var a;b=b||window.event;if(b.target){a=b.target}else{if(b.srcElement){a=b.srcElement}}if(a.nodeType==3){a=a.parentNode}return a},ondomload:function(){if(RUZEE.Events.domloadDone){return}RUZEE.Events.domloadDone=true;for(var a=0;a<RUZEE.Events.domloadEvents.length;a++){RUZEE.Events.domloadEvents[a]()}},domloadCheck:function(){if(RUZEE.Events.domloadDone){return true}var b=(/KHTML/i.test(navigator.userAgent))&&(/loaded|complete/.test(document.readyState));var a=document.getElementById&&document.getElementById("domloadeof");if(b||a){RUZEE.Events.ondomload()}else{setTimeout("RUZEE.Events.domloadCheck()",100)}return true}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",RUZEE.Events.ondomload,false);
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_ondomload defer src=javascript:void(0)><\/script>");
document.getElementById("__ie_ondomload").onreadystatechange=function() {
  if (this.readyState=="complete") {
    RUZEE.Events.ondomload();
  }
};
/*@end @*/
}setTimeout("RUZEE.Events.domloadCheck()",100);RUZEE.Events.add(window,"load",RUZEE.Events.ondomload);var loadHandlers=[];function init(){var a=0;var b;for(a=0;a<loadHandlers.length;a++){b=loadHandlers[a];b()}}var border=RUZEE.ShadedBorder.create({corner:8,iclass:pageScheme});var tabBorder=RUZEE.ShadedBorder.create({corner:6,iclass:"tabBackground",edges:"trl"});var tabSelectedBorder=RUZEE.ShadedBorder.create({corner:6,iclass:"tabSelectedBackground",edges:"trl"});var roundedLinks=RUZEE.ShadedBorder.create({corner:6,iclass:"tabBackground"});var ruzeeBox=RUZEE.ShadedBorder.create({corner:10,iclass:"ruzeeBoxBackground"});var ruzeeInner=RUZEE.ShadedBorder.create({corner:10,border:2,iclass:"ruzeeInnerBackground"});var ruzeeSpecial=RUZEE.ShadedBorder.create({corner:10,border:3,iclass:"ruzeeSpecialBackground"});var ruzeeHomeWidget=RUZEE.ShadedBorder.create({corner:6,border:1});var ruzeeInPanel=RUZEE.ShadedBorder.create({corner:10,border:1});var ruzeeInPanelTop=RUZEE.ShadedBorder.create({corner:10,border:1,edges:"trl",iclass:pageScheme});var ruzeeInPanelBottom=RUZEE.ShadedBorder.create({corner:10,border:1,edges:"brl"});var ruzeeCommentBox=RUZEE.ShadedBorder.create({corner:10,border:1});var roundedInterestLink=RUZEE.ShadedBorder.create({corner:6,border:1,iclass:pageScheme});var roundedOrangeLink=RUZEE.ShadedBorder.create({corner:6,border:2,iclass:"orangeScheme"});RUZEE.Events.add(window,"domload",function(){roundedLinks.renderFromSelector("div.roundedLink");ruzeeBox.renderFromSelector("div.ruzeeBox");ruzeeInner.renderFromSelector("div.ruzeeInner");ruzeeSpecial.renderFromSelector("div.ruzeeSpecial");tabBorder.renderFromSelector("div.tab");tabSelectedBorder.renderFromSelector("div.tabSelected");ruzeeInPanel.renderFromSelector("div.ruzeeInPanel");ruzeeHomeWidget.renderFromSelector("div.ruzeeHomeMessage");ruzeeInPanelTop.renderFromSelector("div.ruzeeInPanelTop");ruzeeInPanelBottom.renderFromSelector("div.ruzeeInPanelBottom");ruzeeCommentBox.renderFromSelector("div.ruzeeCommentBox");roundedInterestLink.renderFromSelector("div.roundedInterestLink");roundedOrangeLink.renderFromSelector("div.roundedOrangeLink");Nifty("div.roundedBox");Nifty("div.smallLogoFramer","small transparent")});function unloadPage(){page.unload();if(gMapsAlreadyContacted){unloadMapCallBackParams();MapSpaceManager.unloadAll();GUnload()}mapSpace=null;page=null}function Page(){this.processes=processes;var a=new Object();processes.main=a;a.processId="main";this.nodes=new Object();this.lightbox=new Object()}Page.prototype.unload=function(){var c=this.processes;var a=this.nodes;var d=this.lightbox;for(var b in c){this.unloadProcess(b);delete c[b]}for(var b in a){delete a[b]}for(var b in d){d[b].deactivate();delete d[b]}if(this.widgetStates){delete this.widgetStates}if(this.onPopupSucecess){delete this.onPopupSucecess}if(this.categoriesSelectionCallback){delete this.categoriesSelectionCallback}if(this.requestMapPanel){delete this.requestMapPanel}if(this.onCancel){delete this.onCancel}if(this.onFinish){delete this.onFinish}};Page.prototype.unloadProcessFromId=function(a){this.unloadProcess(this.processes[a])};Page.prototype.unloadProcess=function(b){if(b){for(var a in b){delete b[a]}}};Page.prototype.cancel=function(b){var a=this.processes[b];if(a){if(a.cancel){a.cancel()}if(this.onCancel){this.onCancel(b)}}};Page.prototype.finished=function(b){var a=this.processes[b];if(a){if(a.finished){a.finished()}if(this.onFinish){this.onFinish(b)}}};Page.prototype.onCancel=function(a){this.unloadProcess(a);delete this.processes[a]};Page.prototype.onFinish=function(a){this.unloadProcess(a);delete this.processes[a]};Page.prototype.getClosePopupFunction=function(a){return function(){page.closePopup(a)}};Page.prototype.getClosePopupAndReloadPageFunction=function(a){return function(){page.closePopup(a);reloadPage()}};Page.prototype.getClosePopupAndForwardFunction=function(b,a){return function(){page.closePopup();forward(root+a)}};var processes=new Object();var page=new Page();function Process(a){page.startProcess(a);this.processId=a;page.unloadProcess(a);page.processes[a]=this}page.startProcess=function(a){this.closePopup(a)};page.fillPopup=function(b,a){if(!a){a="lightbox"}if(this.lightbox[a]){$(a+"_lbContent").innerHTML=b}};page.setGoBackCallback=function(a){this.goBackCallback=a};page.goBack=function(){if(this.goBackCallback){this.goBackCallback.call();this.goBackCallback=null}else{page.closePopup()}};page.popupSuccess=function(){if(this.onPopupSuccess){this.onPopupSuccess.call();this.onPopupSuccess=null}else{page.closePopup()}};page.openPopupForId=function(c,a){var b=$(c);if(!b){b=page.nodes[c]}else{page.nodes[c]=b;if(a&&a.toRemoveFromPage){Element.remove(b)}}openPopupForNode(b,null,{lightbox:true})};page.closePopup=function(b){if(!b||b=="lightbox"){this.onPopupSuccess=null;this.goBackCallback=null}if(!b){if(this.lightbox.lightbox){this.lightbox.lightbox.deactivate();delete this.lightbox.lightbox}else{b="popup";var a=$(b);if(a){document.body.removeChild(a)}delete this.nodes[b]}}else{if(this.lightbox[b]){this.lightbox[b].deactivate();delete this.lightbox[b]}else{var a=$(b);if(a){document.body.removeChild(a)}delete this.nodes[b]}}};page.closeWaitingPopup=function(){page.closePopup("waiting")};page.showWaitingPopup=function(){openPopup(this.createSpinnerDiv(),null,{lightbox:true,popupId:"waiting"})};page.showWaitingInDiv=function(a){a.innerHTML=this.createSpinnerDiv()};page.closeWaiting=function(){this.closeWaitingPopup()};page.showWaiting=function(a){if(!a){a=new Object()}if(!a.showLoadingDiv){this.showWaitingPopup()}else{this.showWaitingInDiv(a.showLoadingDiv)}};page.createSpinnerDiv=function(a){return'<div style="width:30px; height:30px; padding:20px;"> <img src="'+root+'/images/spinner.gif"></div>'};page.setCookie=function(b,c,a){document.cookie=b+"="+c+"; expires="+a};page.getCookie=function(c){if(document.cookie==undefined||document.cookie.length===0){return undefined}var d=c+"=";var b=document.cookie.indexOf(d);if(b!=-1){b+=d.length;var a=document.cookie.indexOf(";",b);if(a==-1){a=document.cookie.length}return unescape(document.cookie.substring(b,a))}};var categoriesEditURL="/categoriesEditList.x";var categoriesSelectionURL="/categoriesSelectionList.x";var newFieldCreationURL="/createNewField.x";var newFieldGroupCreationURL="/createNewFieldGroup.x";var fieldEditURL="/fieldDefinitionEdit.x";var fieldsEditURL="/fieldsEditList.x";var categoriesSelectionMultiURL="/categoriesSelectionListMulti.x";var categoriesSelectionAddURL="/categoriesSelectionListAdd.x";var categoriesSubmitURL="/editHasCategories.x";var editCategoryURL="/editCategories.x";var editCommentURL="/editComment.x";var deleteCommentURL="/deleteComment.x";var deleteFeedItemCommentURL="/deleteFeedItemComment.x";var postCommentURL="/postComment.x";var postFeedItemCommentURL="/postFeedItemComment.x";var deleteFeedItemURL="/deleteFeedItem.x";var removePhotosURL="/removePhotos.x";var deleteComponentURL="/delete.x";var notifyURL="/notify.x";var buddyListURL="/buddySelectionList.x";var addToNotifyURL="/addToNotify.x";var sendNotificationsURL="/sendNotifications.x";var updateActivityStatusURL="/updateActivityStatus.x";var postActivityStatusURL="/postActivityStatus.x";var reloadActivityStatusURL="/updateActivityStatusMessage.x";var assSelectionURL="/assSelectionList.x";var assSelectionForCreationURL="/assSelectionForCreationList.x";var assSelectionForCreationOwnershipURL="/assSelectionForCreationOwnershipList.x";var assSelectionMultiURL="/assSelectionListMulti.x";var assSubmitURL="/editHasAss.x";var removeAssURL="/removeAss.x";var deleteDocSectionURL="/deleteSection.x";var publishURL="/publish.x";var checkURLAvailabilityURL="/checkCustomURLAvailability.x";var newDocumentMapURL="/newMap.x";var newDocumentMapSectionURL="/addSectionToMap.x";var mapPageURL="/maps.v";var buddyRequestURL="/requestBuddyAjax.x";var rejectBuddyRequestURL="/rejectBuddyRequest.x";var acceptBuddyRequestURL="/acceptBuddyRequest.x";var mutualBuddiesPopupURL="/mutualBuddiesPopup.x";var messageListURL="/list.x";var addEmailsToFindForBuddiesURL="/addToFindForBuddies.x";var findBuddiesURL="/findBuddies.x";var siteInvitationURL="/sendSiteInvitations.x";var addEmailsToSiteInviteURL="/addToSiteInvite.x";var buddyRemoveURL="/buddyRemove.x";var buddySelectionListPopupURL="/buddySelectionListPopup.x";var buddySelectionListGenericURL="/buddySelectionListGeneric.x";var editForumURL="/editForum.x";var forumURL="/forum.v";var forumsURL="/forums.v";var deleteForumPostURL="/deleteForumPost.x";var deleteForumURL="/deleteForum.x";var administerComponentURL="/administer.x";var featuredComponentURL="/featuredComponent.x";var featuredComponentSkinnyURL="/featuredComponentSkinny.x";var dur=0.25;if(!Array.prototype.push){Array.prototype.push=function(a){this[this.length]=a}}function IsIE8Browser(){var c=-1;var a=navigator.userAgent;var b=new RegExp("Trident/([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!=null){c=parseFloat(RegExp.$1)}return(c==4)}function getXMLNodeLargeContent(a){if(a){if(browser=="Internet Explorer"){if(a.firstChild){return a.firstChild.nodeValue}}else{return a.textContent}}return null}function reloadPage(){window.location=window.location}function swap(b,a){toggleBlock(b,"blind",null);toggleBlock(a,"blind",null)}function toggleBlock(c,b,a){if(a==null){a={duration:dur}}Effect.toggle(c,b,a)}function forward(a){window.location=a}function show(){for(var b=0;b<arguments.length;b++){var a=$(arguments[b]);if(a&&a.style){a.style.display=""}}return false}function hide(){for(var b=0;b<arguments.length;b++){var a=$(arguments[b]);if(a&&a.style){a.style.display="none"}}return false}function findX(a){var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetLeft;a=a.offsetParent}}else{if(a.x){b+=a.x}}return b}function findY(b){var a=0;if(b.offsetParent){while(b.offsetParent){a+=b.offsetTop;b=b.offsetParent}}else{if(b.y){a+=b.y}}return a}function mousePosX(b){var a=0;if(!b){var b=window.event}if(b.pageX){a=b.pageX}else{if(b.clientX&&document.body.scrollLeft){a=b.clientX+document.body.scrollLeft}else{if(b.clientX&&document.documentElement.scrollLeft){a=b.clientX+document.documentElement.scrollLeft}else{if(b.clientX){a=b.clientX}}}}return a}function mousePosY(a){var b=0;if(!a){var a=window.event}if(a.pageY){b=a.pageY}else{if(a.clientY&&document.body.scrollTop){b=a.clientY+document.body.scrollTop}else{if(a.clientY&&document.documentElement.scrollTop){b=a.clientY+document.documentElement.scrollTop}else{if(a.clientY){b=a.clientY}}}}return b}function fillWithSpinner(a){a=$(a);if(a){a.innerHTML='<img src="'+root+'/images/spinner.gif">'}}function windowSideX(d){if(!d){var d=window.event}var c=d.clientX;var b=WindowUtilities.getPageSize();var a=b[2];var e=a/2;if(c<e){return -1}return 1}function windowSideY(c){if(!c){var c=window.event}var a=c.clientY;var b=WindowUtilities.getPageSize();var e=b[3];var d=e/2;if(a<d){return -1}return 1}function placePopup(d,c,a){if(a&&a.lightbox){var b="lightbox";if(a.popupId){b=a.popupId}openLightbox(null,d,a);return $(b)}else{document.body.appendChild(d);if(a){if(a.toCenter){placeNodeAtCenter(d)}else{placeNodeAtPointer(d,c)}}else{placeNodeAtPointer(d,c)}show(d)}}function cancelEventPropogation(a){a.returnValue=false;a.cancelBubble=true;return false}function placeNodeAtCenter(d,l){var e=WindowUtilities.getPageSize();var f=WindowUtilities.getPageScroll();var a=e[3];var c=e[2];var b=d.scrollHeight;var j=d.scrollWidth;var h;var g;if(l&&l.fullscreen){h=0;g=0}else{h=(c-j)/2;g=(a-b)/2;if(h<0){h=0}if(g<0){g=0}}if(f[0]){h+=f[0]}if(f[1]){g+=f[1]}d.style.top=g+"px";d.style.left=h+"px"}function placeNodeAtPointer(d,a){var h=windowSideX(a);var g=windowSideY(a);var f=mousePosX(a);var e=mousePosY(a);var c;var j;var b=d.scrollHeight;var l=d.scrollWidth;if(h==-1){c=f}else{c=f-l}if(g==-1){j=e}else{j=e-b}if(c<0){c=0}if(j<0){j=0}d.style.top=j+"px";d.style.left=c+"px"}function openLightbox(d,c,b){if(b&&b.popupId){page.closePopup(b.popupId)}else{page.closePopup()}if(!b){b=new Object()}if(!(b.noOverlay=="false"||b.noOverlay==false)){b.noOverlay="true"}var a;if(d){a=new lightbox(null,d,null,b)}else{a=new lightbox(null,null,c,b)}a.activate();if(b.popupId){page.lightbox[b.popupId]=a}else{page.lightbox.lightbox=a}}function openMessagePopupForId(b,d,a){var c=createMessagePopup($(b).innerHTML,a);placePopup(c,d,a)}function openMessagePopup(d,c,a){var b=createMessagePopup(d,a);placePopup(b,c,a)}function openPopupForNode(b,c,a){if(a&&a.lightbox){page.closePopup(a.popupId);openLightbox(null,b,a);return $("lightbox")}else{var d=createPopupForNode(b,a);placePopup(d,c,a);return d}}function createShadows(a){var b=document.createElement("div");b.className="pagePopup popupContent";b.appendChild(a);var d=document.createElement("div");d.className="popupShadow";d.appendChild(b);var c=document.createElement("div");c.className="popupBlur";c.appendChild(d);return c}function createPopupForNode(b,a){page.closePopup();var c=document.createElement("div");c.className="pagePopup popupContent";c.appendChild(b);var e=document.createElement("div");e.className="popupShadow";e.appendChild(c);var d=document.createElement("div");d.id="popup";d.className="popupBlur";d.appendChild(e);d.style.zIndex="100";return d}function getOpenResponseTextAsPopupFunc(){return function(a){openPopup(a.responseText,null,{lightbox:true})}}function openPopup(d,b,a){if(a&&a.lightbox){openLightbox(d,null,a)}else{var c=createPopup(d,a);placePopup(c,b,a)}}function createPopup(e,a){page.closePopup();var b=document.createElement("div");b.className="pagePopup popupContent";b.innerHTML=e;var d=document.createElement("div");d.className="popupShadow";d.appendChild(b);var c=document.createElement("div");c.id="popup";c.className="popupBlur";c.appendChild(d);c.style.zIndex="100";return c}function createMessagePopup(e,a){var c=null;if(a&&a.popupId){c=a.popupId}var f=false;if(a&&a.lightbox){f=true}else{if(!c){c="popup"}}page.closePopup(c);var d=document.createElement("div");d.style.width="230px";if(f){d.className="messagePopup"}else{d.className="messagePopup popupContent"}var b='<div style="margin:10px;">'+e+"</div>";b+='<div class="buttons" style="margin:3px;"><input type="button" class="tag" value="OK"onclick="';if(c){b+="page.closePopup('"+c+"')\"></div>"}else{b+='page.closePopup()"></div>'}d.innerHTML=b;if(a&&a.lightbox){return d}var h=document.createElement("div");h.className="popupShadow";h.appendChild(d);var g=document.createElement("div");if(c){g.id=c}g.className="popupBlur";g.appendChild(h);g.style.zIndex="100";return g}function createConfirmPopup(j,e){var m=null;if(e&&e.popupId){m=e.popupId}var d=false;if(e&&e.lightbox){d=true}else{if(!m){m="popup"}}page.closePopup(m);var o=document.createElement("div");o.style.width="180px";if(d){o.className="messagePopup"}else{o.className="messagePopup popupContent"}var b=document.createElement("div");b.style.margin="3px";b.innerHTML=j;var n=document.createElement("div");n.className="buttons";var l=false;if(e){if(e.excludeCancel){l=true}}var v=document.createElement("input");v.id="popup_ok";v.type="button";var f=e.confirmTitle;if(!f){f="OK"}v.value=f;v.style.margin="3px";var h=document.createElement("input");h.id="popup_cancel";h.type="button";var c=e.cancelTitle;if(!c){c="Cancel"}h.value=c;h.style.margin="3px";n.appendChild(v);if(!l){n.appendChild(h)}o.appendChild(b);o.appendChild(n);if(e){var q=e.confirmOnclick;if(q){v.onclick=q}else{v.onclick=page.getClosePopupFunction(m)}var a=e.confirmName;if(a){v.value=a}var r=e.cancelOnclick;if(r){h.onclick=r}else{h.onclick=page.getClosePopupFunction(m)}var s=e.cancelName;if(s){h.value=s}}else{v.onclick=page.getClosePopupFunction(m);h.onclick=page.getClosePopupFunction(m)}if(e&&e.lightbox){return o}else{var g=document.createElement("div");g.className="popupShadow";g.appendChild(o);var p=document.createElement("div");p.id=m;p.className="popupBlur";p.appendChild(g);p.style.zIndex="100";return p}}function getSelection(b){if(!b){return null}for(var a=0,c;c=b[a];a++){if(c.checked){return c}}return null}function getSelectionFromForm(d,c){var e=document.forms[d];var b=e.elements[c];if(!b){return null}for(var a=0,f;f=b[a];a++){if(f.checked){return f}}return null}var eMenus=new Object();function hideMenu(c,d){var b=c+"_menu";var f=eMenus[b];if(!d){var d=window.event}var e=(window.event)?d.srcElement:d.target;if(e.nodeName!="DIV"){return}var a=(d.relatedTarget)?d.relatedTarget:d.toElement;while(a!=e&&a.nodeName!="BODY"){a=a.parentNode}if(a==e){return}if(f){f.open=false;Element.hide(f);f.timeout=null}}function menuMousedOver(b,c){c.cancelBubble=true;if(c.stopPropagation){c.stopPropagation()}var a=b+"_menu";var d=eMenus[a];if(d){}}function showMenu(e,d,f,b){f.cancelBubble=true;if(f.stopPropagation){f.stopPropagation()}var a=e+"_menu";var h=eMenus[a];for(var c in eMenus){if(c!=h){eMenus[c].open=false;Element.hide(eMenus[c]);eMenus[c].timeout=null}}if(h){h.open=true;Element.show(h);var g=new Object();h.timeout=g;setTimeout(function(){if(h.timeout==g){Element.hide(h);h.open=false}},5000)}else{d=$(d);h=$(e+"_menu");h.menuKey=e;eMenus[a]=h;h.open=true;h.style.top=(Element.cumulativeOffset(d).top+Element.getDimensions(d).height)+"px";h.style.left=Element.cumulativeOffset(d).left+"px";Element.show(h);var g=new Object();h.timeout=g;setTimeout(function(){if(h.timeout==g){Element.hide(h);h.open=false}},5000)}}function captionTooltip(h,d,e,c){var g=$("caption_"+h);if(g){var a=g.innerHTML;var f=$("tooltip");if(!f){f=createCaptionTooltip(a,e,c);f.style.top=(Element.cumulativeOffset(d).top+Element.getDimensions(d).height+4)+"px";f.style.left=Element.cumulativeOffset(d).left+"px";document.body.appendChild(f);Element.show(f)}else{var b=$("tooltip_image");b.innerHTML=a;f.style.top=(Element.cumulativeOffset(d).top+Element.getDimensions(d).height+4)+"px";f.style.left=Element.cumulativeOffset(d).left+"px";Element.show(f)}}}function createCaptionTooltip(a,e,b){var f="tooltip";var d=document.createElement("div");d.className="captionTooltip";if(b&&b.width){d.style.width=b.width+"px"}else{d.style.width="150px"}var c='<div id="tooltip_image">'+a+"</div>";d.innerHTML=c;d.id=f;d.style.zIndex="100";return d}function photoTooltip(e,b,c){var d=$("tooltip");if(!d){d=createImageTooltip(e,c);placePopup(d,c)}else{var a=$("tooltip_image");a.innerHTML='<img src="'+root+e+'" width="150px">';placeNodeAtPointer(d,c);show(d)}b.onmouseout=closeTooltip}function closeTooltip(){var a=$("tooltip");if(a){hide(a)}}function createImageTooltip(a,d){var e="tooltip";var c=document.createElement("div");c.className="imageTooltip";c.style.width="150px";var b='<div id="tooltip_image"><img src="'+root+a+'" width="150px"></div>';c.innerHTML=b;c.id=e;c.style.zIndex="100";return c}function openImagePopup(h,a,j){if(!j){j={}}var b=j.popupId;if(!b){b="popup_image";j.popupId=b}var e=j.photoAlbumLink;var g=j.photoAlbumName;var c="400px";if(j.width){c=j.width+"px"}var f="400px";if(j.height){f=j.height+"px"}var d='<div style="height:400px;"><img src="'+root+h+'"></div>';var d='<div style="height:'+j.height+"px; width:"+j.width+'px;"><img src="'+root+h+'"></div>';if(e&&g){d+='<div style="bottom:2px; right:2px; position:absolute; z-index:10;"><input style="margin-right:5px;" class="interestButton '+page.interestStyle+'" type="button"  value="Go to Photo Album" onclick="page.closePopup(\''+b+'\');"><input class="interestButton '+page.interestStyle+'" type="button"  value="close" onclick="page.closePopup(\''+b+"');\"></div>"}else{d+='<div style="bottom:2px; right:2px; position:absolute; z-index:10;"><input class="interestButton '+page.interestStyle+'" type="button"  value="close" onclick="page.closePopup(\''+b+"');\"></div>"}j.noOverlay=false;openLightbox(d,null,j)}var ImagePopupShows=new Object();var Slideshows=new Object();function ImagePopupShow(a,b){return{_popupId:null,_photos:a,_currIndex:null,_numPhotos:null,_options:null,_id:b,startShow:function(d,c){var f;_currIndex=d;_numPhotos=a.length;if(!c){c={}}var e=c.popupId;if(!e){e="popup_image";c.popupId=e}this._popupId=e;c.noOverlay=false;_options=c;this.showIndex(d)},showIndex:function(f){var m=_options;_currIndex=f;var d=this._photos[f];var g=d.photoAlbumLink;var j=d.photoAlbumName;var l=d.path;var c="400px";if(d.width){c=d.width+"px"}var h="400px";if(d.height){h=d.height+"px"}var e='<div style="height:400px;"><img src="'+root+l+'"></div>';var e='<div style="height:'+d.height+"px; width:"+d.width+'px;"><img src="'+root+l+'"></div>';if(g&&j){e+='<div style="bottom:2px; right:2px; text-align:center; position:absolute; z-index:10; width:'+(d.width-9)+'px;">';e+='<input style="margin-right:5px;" class="interestButton '+page.interestStyle+'" type="button"  value="Go to Album" onclick="forward(\''+g+'\');"><input style="margin-right:5px;" class="interestButton '+page.interestStyle+'" type="button"  value="previous" onclick="ImagePopupShows['+this._id+'].previous();"><input style="margin-right:5px;" class="interestButton '+page.interestStyle+'" type="button"  value="next" onclick="ImagePopupShows['+this._id+'].next();"><input class="interestButton '+page.interestStyle+'" type="button"  value="close" onclick="page.closePopup(\''+this._popupId+"');\"></div>";if(d.caption){e+='<div style="bottom:27px; right:75px; border:1px solid #000; left:75px; text-align:center; position:absolute; padding:5px; background-color:#666; color:#FFF;  z-index:10;"><span style="">'+d.caption+"</span></div>"}}else{e+='<div style="bottom:2px; right:2px; position:absolute; z-index:10;"><input style="margin-right:5px;" class="interestButton '+page.interestStyle+'" type="button"  value="previous" onclick="ImagePopupShows['+this._id+'].previous();"><input style="margin-right:5px;" class="interestButton '+page.interestStyle+'" type="button"  value="next" onclick="ImagePopupShows['+this._id+'].next();"><input class="interestButton '+page.interestStyle+'" type="button"  value="close" onclick="page.closePopup(\''+this._popupId+"');\"></div>"}m.noOverlay=false;openLightbox(e,null,m)},next:function(){if(_currIndex==(_numPhotos-1)){_currIndex=0}else{_currIndex++}this.showIndex(_currIndex)},previous:function(){if(_currIndex==0){_currIndex=_numPhotos-1}else{_currIndex--}this.showIndex(_currIndex)}}}function createImagePopup(e,a){if(a&&a.lightbox){var c=a.popupId;if(!c){c="popup_image";a.popupId=c}var b='<div><img src="'+root+e+'"></div>';b+='<div style="bottom:2px; right:2px; position:absolute; z-index:10;"><input  class="interestButton '+page.interestStyle+'" type="button"  value="close" onclick="page.closePopup(\''+c+"');\"></div>";var d=document.createElement("div");d.innerHTML=b;return d}else{var c="popup";if(a&&a.popupId){c=a.popupId}page.closePopup(c);var d=document.createElement("div");d.className="pagePopup popupContent";d.innerHTML=b;var g=document.createElement("div");g.className="popupShadow";g.appendChild(d);var f=document.createElement("div");f.id=c;f.className="popupBlur";f.appendChild(g);f.style.zIndex="100";return f}}function imagePopupInline(e,d,b){var a=$(e+"_popup_inline");var c=document.createElement("div");c.className="microFramer";c.style.width=b.width;c.innerHTML='<img src="'+root+d+'">';if(Element.firstDescendant(a)){Element.remove(Element.firstDescendant(a))}Element.insert(a,c)}function sendBuddyRequest(d){var a=buddyRequestURL;var c={receiverId:d};var b=function(e){var g=page.getClosePopupAndReloadPageFunction();var f=createConfirmPopup(e.responseText,{confirmOnclick:g,excludeCancel:true,lightbox:true});placePopup(f,null,{lightbox:true})};XCalls.postAndOnSuccess(a,b,c,{componentName:"buddies"})}function doSelectionList(d,g,c){page.selectionListProcessId=g;var a=$(g+"_container");page.selectionListURL=d;var f=new Object();if(c){var b=c.toComponentId;if(b){f.toComponentId=b;page.selectionListToId=b}else{page.selectionListToId=null}var h=c.toComponentName;if(h){f.toComponentName=h;page.selectionListToName=h}else{page.selectionListToName=null}}var e=function(j){a.innerHTML=j.responseText};XCalls.postAndOnSuccess("/"+page.interestName+"/user/"+d,e,f,{urlAsFullPath:true})}function doSelectionListSearch(e){var a=$("selection_list");var d=$("selection_list_search");var c=d.value;var e=page.selectionListURL;var g=new Object();var b=page.selectionListToId;if(b){g.toComponentId=b}var h=page.selectionListToName;if(h){g.toComponentName=h}g.searchTerm=c;var f=function(j){a.innerHTML=j.responseText};XCalls.postAndOnSuccess("/"+page.interestName+"/user/"+e,f,g,{urlAsFullPath:true})}function trim(a){return a.replace(/^\s+|\s+$/g,"")}function ltrim(a){return a.replace(/^\s+/,"")}function rtrim(a){return a.replace(/\s+$/,"")}function submitSimpleSearch(e,b){if(e&&e.keyCode!=13){return}if(e){e.keyCode=0}var c="search_form";if(b&&b.formName){c=b.formName}var a=page.componentName;if(b&&b.componentName){a=b.componentName}var d=document.forms[c];var f=d.query.value;window.location=root+"/"+page.interestName+"/"+a+"/search.x?query="+f}function changeFormAction(a,c){var b=document.forms[a];b.action=c}function submitLoginWidget(b,d){var c=document.forms[b];var a=document.createElement("input");a.type="hidden";a.name="login_landing_url";if(d){a.value=d}else{a.value=window.location}c.appendChild(a);c.submit()}function getText(a){if(document.all){return a.innerText}else{return a.textContent}}function setText(b,a){if(document.all){b.innerText=a}else{b.textContent=a}}var WindowUtilities={getPageScroll:function(){var a=0;var b=0;if(self.pageYOffset){a=self.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop){a=document.documentElement.scrollTop}else{if(document.body){a=document.body.scrollTop}}}if(self.pageXOffset){b=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollLeft){b=document.documentElement.scrollLeft}else{if(document.body){b=document.body.scrollLeft}}}arrayPageScroll=new Array(b,a);return arrayPageScroll},getPageSize:function(){var c,a;if(window.innerHeight&&window.scrollMaxY){c=document.body.scrollWidth;a=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){c=document.body.scrollWidth;a=document.body.scrollHeight}else{c=document.body.offsetWidth;a=document.body.offsetHeight}}var b,d;if(self.innerHeight){b=self.innerWidth;d=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){b=document.documentElement.clientWidth;d=document.documentElement.clientHeight}else{if(document.body){b=document.body.clientWidth;d=document.body.clientHeight}}}if(a<d){pageHeight=d}else{pageHeight=a}if(c<b){pageWidth=b}else{pageWidth=c}arrayPageSize=new Array(pageWidth,pageHeight,b,d);return arrayPageSize}};function expandTextArea(c,a){var b=$(c);b.style.height=a}function fbs_click(){u=location.href;t=document.title;window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436");return false}function clearField(a,c){var b=document.getElementById(a);if(b.value==c){b.value="";b.style.color="#000"}}function requestAndFill(b,d,c){var a=function(e){var f=e.responseText;resultElement=$(d);resultElement.innerHTML=f;if(c){c=$(c);show(c)}};XCalls.requestAndCallback(b,a,null,{urlAsFullPath:true})}function setSpinnerAndSubmit(d,e,c){e=$(e);c=$(c);var b=d.getAttribute("name");var f=d.getAttribute("value");var a=document.createElement("input");a.name=b;a.value=f;e.appendChild(a);if(e){e.submit();if(c){c.innerHTML='<div style="width:40px; height:40px; padding:10px; margin:auto;"> <img src="'+root+'/images/spinner.gif"></div>'}}}function addInputAndSubmit(c,e,d,b){d=$(d);b=$(b);var a=document.createElement("input");a.type="hidden";a.name=c;a.value=e;d.appendChild(a);if(d){d.submit();if(b){b.innerHTML='<div style="width:40px; height:40px; padding:10px; margin:auto;"> <img src="'+root+'/images/spinner.gif"></div>'}}}function procRequestAndCallback(c,e,d){this.requestURL=c;this.params=d;var b=this;var a=function(f){e.call(b,f)};if(!d){d=new Object()}XCalls.requestAndCallback(c,a,d,{urlAsFullPath:true})}Ajax.Request.prototype.setRequestHeaders=Ajax.Request.prototype.setRequestHeaders.wrap(function(a){this.transport.setRequestHeader("If-Modified-Since","Thu, 1 Jan 1970 00:00:00 GMT");a()});var X_SUCCESS="success";var X_STATUS="x_status";var X_FORM="form";var X_FAILURE="failure";var X_NOT_LOGGED_IN="not_logged_in";var X_NOT_REGISTERED_FOR_INTEREST="not_registered_for_interest";var X_FAILURE_CODE="x_failure_code";var X_DEFAULT_ERROR_URL="/xFailureMessage.x";var XCalls=new Object();XCalls.getResponseCodeMap=function(){if(!this.responseCodeMap){var a={not_logged_in:"/xLoginWidget.x",not_registered_for_interest:"/xAddInterest.x"};this.responseCodeMap=a}return this.responseCodeMap};XCalls.getCodeHandlerURL=function(b){var a=this.getResponseCodeMap()[b];if(!a){return X_DEFAULT_ERROR_URL}return a};XCalls.isCodeInList=function(b,a){if(!b||!a){return false}return(b.indexOf(a)!=-1)};XCalls.getXStatus=function(a){return a.getResponseHeader(X_STATUS)};XCalls.getXFailureCode=function(a){return a.getResponseHeader(X_FAILURE_CODE)};XCalls.getSuccessCode=function(){return X_SUCCESS};XCalls.isSuccessCode=function(a){return(X_SUCCESS==a)};XCalls.isFormCode=function(a){return(X_FORM==a)};XCalls.getFormCode=function(){return X_FORM};XCalls.isFailureCode=function(a){return(X_FAILURE==a)};XCalls.getFailureCode=function(){return X_FAILURE};XCalls.isNotLoggedInCode=function(a){return(X_NOT_LOGGED_IN==a)};XCalls.getNotLoggedInCode=function(){return X_NOT_LOGGED_IN};XCalls.defaultCallbackCodes=function(){return[this.getSuccessCode(),this.getFormCode()]};XCalls.handleRequestCallback=function(c,e,a){var b=this.getXStatus(c);var d=false;if(this.isCodeInList(a,b)){d=true}else{if(this.isFailureCode(b)&&this.isCodeInList(a,this.getXFailureCode(c))){d=true}}if(d){page.closeWaiting();e.call(null,c,b)}else{if(this.isFailureCode(b)){b=this.getXFailureCode(c)}this.handleResponseCode(c,b)}};XCalls.getHandleResponseCodeCallbackFunc=function(){return function(a){page.closeWaiting();openPopup(a.responseText,null,{lightbox:true,popupId:X_STATUS})}};XCalls.handleResponseCode=function(c,b){var g=this.getCodeHandlerURL(b);var d=this.getHandleResponseCodeCallbackFunc();var e={x_status:this.getXStatus(c)};var a=this.getXFailureCode(c);if(a){e.x_failure_code=a}e=$H(e).toQueryString();var f={method:"get",onComplete:d,parameters:e};new Ajax.Request(root+"/"+page.interestName+"/"+page.componentName+g,f)};XCalls.requestAndOnSuccess=function(c,e,d,b){var a=[this.getSuccessCode()];this.requestAndCallback(c,e,d,b,a)};XCalls.requestForm=function(c,e,d,b){var a=[this.getFormCode()];this.requestAndCallback(c,e,d,b,a)};XCalls.postAndOnSuccess=function(c,e,d,b){var a=[this.getSuccessCode()];this.postAndCallback(c,e,d,b,a)};XCalls.postAndCallback=function(c,e,d,b,a){if(!b){b=new Object()}b.isPost=true;this.requestAndCallback(c,e,d,b,a)};XCalls.getHandleRequestCallbackFunc=function(b,a){return function(c){XCalls.handleRequestCallback(c,b,a)}};XCalls.requestAndCallback=function(b,j,d,l,h){if(!l){l=new Object()}if(l.showWaiting==null||l.showWaiting){page.showWaiting(l)}var e=page.componentName;if(l.componentName){e=l.componentName}var g=null;if(l.urlAsFullPath){g=root+b}else{if(l.isUserRequest==null||l.isUserRequest){g=root+"/"+page.interestName+"/user/"+e+b}else{g=root+"/"+page.interestName+"/"+e+b}}var a=null;if(l.paramsAreString){a=d}else{a=$H(d).toQueryString()}if(!h){h=XCalls.defaultCallbackCodes()}var c=this.getHandleRequestCallbackFunc(j,h);var f={parameters:a,onComplete:c};if(l.isPost){f.method="post";f.ContentType="application/x-www-form-urlencoded"}else{f.method="get"}new Ajax.Request(g,f)};var jscolor={dir:root+"/javascripts/jscolor/",bindClass:"color",binding:true,preloading:true,install:function(){jscolor.addEvent(window,"load",jscolor.init)},init:function(){if(jscolor.binding){jscolor.bind()}if(jscolor.preloading){jscolor.preload()}},getDir:function(){if(!jscolor.dir){var a=jscolor.detectDir();jscolor.dir=a!=false?a:"jscolor/"}return jscolor.dir},detectDir:function(){var c=location.href;var d=document.getElementsByTagName("base");for(var a=0;a<d.length;a++){if(d[a].href){c=d[a].href}}var d=document.getElementsByTagName("script");for(var a=0;a<d.length;a++){if(d[a].src&&/(^|\/)jscolor\.js([?#].*)?$/i.test(d[a].src)){var f=new jscolor.URI(d[a].src);var b=f.toAbsolute(c);b.path=b.path.replace(/[^\/]+$/,"");delete b.query;delete b.fragment;return b.toString()}}return false},bind:function(){var matchClass=new RegExp("(^|\\s)("+jscolor.bindClass+")\\s*(\\{[^}]*\\})?","i");var e=document.getElementsByTagName("input");for(var i=0;i<e.length;i++){var m;if(!e[i].color&&e[i].className&&(m=e[i].className.match(matchClass))){var prop={};if(m[3]){try{eval("prop="+m[3])}catch(eInvalidProp){}}e[i].color=new jscolor.color(e[i],prop)}}},preload:function(){for(var a in jscolor.imgRequire){jscolor.loadImage(a)}},images:{pad:[181,101],sld:[16,101],cross:[15,15],arrow:[7,11]},imgRequire:{},imgLoaded:{},requireImage:function(a){jscolor.imgRequire[a]=true},loadImage:function(a){if(!jscolor.imgLoaded[a]){jscolor.imgLoaded[a]=new Image();jscolor.imgLoaded[a].src=jscolor.getDir()+a}},fetchElement:function(a){return typeof(a)=="string"?document.getElementById(a):a},addEvent:function(a,c,b){if(a.addEventListener){return a.addEventListener(c,b,false)}else{if(a.attachEvent){return a.attachEvent("on"+c,b)}else{return false}}},fireEvent:function(a,c){if(!a){return false}else{if(document.createEventObject){var b=document.createEventObject();return a.fireEvent("on"+c,b)}else{if(document.createEvent){var b=document.createEvent("HTMLEvents");b.initEvent(c,true,true);return a.dispatchEvent(b)}else{if(a["on"+c]){return a["on"+c]()}else{return false}}}}},getElementPos:function(c){var d=c,b=c;var a=0,f=0;if(d.offsetParent){do{a+=d.offsetLeft;f+=d.offsetTop}while(d=d.offsetParent)}while((b=b.parentNode)&&b.nodeName!="BODY"){a-=b.scrollLeft;f-=b.scrollTop}return[a,f]},getElementSize:function(a){return[a.offsetWidth,a.offsetHeight]},getMousePos:function(a){if(!a){a=window.event}if(typeof a.pageX=="number"){return[a.pageX,a.pageY]}else{if(typeof a.clientX=="number"){return[a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,a.clientY+document.body.scrollTop+document.documentElement.scrollTop]}}},getViewPos:function(){if(typeof window.pageYOffset=="number"){return[window.pageXOffset,window.pageYOffset]}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){return[document.body.scrollLeft,document.body.scrollTop]}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}else{return[0,0]}}}},getViewSize:function(){if(typeof window.innerWidth=="number"){return[window.innerWidth,window.innerHeight]}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){return[document.body.clientWidth,document.body.clientHeight]}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){return[document.documentElement.clientWidth,document.documentElement.clientHeight]}else{return[0,0]}}}},URI:function(a){this.scheme=null;this.authority=null;this.path="";this.query=null;this.fragment=null;this.parse=function(d){var c=d.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);this.scheme=c[3]?c[2]:null;this.authority=c[5]?c[6]:null;this.path=c[7];this.query=c[9]?c[10]:null;this.fragment=c[12]?c[13]:null;return this};this.toString=function(){var c="";if(this.scheme!=null){c=c+this.scheme+":"}if(this.authority!=null){c=c+"//"+this.authority}if(this.path!=null){c=c+this.path}if(this.query!=null){c=c+"?"+this.query}if(this.fragment!=null){c=c+"#"+this.fragment}return c};this.toAbsolute=function(e){var e=new jscolor.URI(e);var d=this;var c=new jscolor.URI;if(e.scheme==null){return false}if(d.scheme!=null&&d.scheme.toLowerCase()==e.scheme.toLowerCase()){d.scheme=null}if(d.scheme!=null){c.scheme=d.scheme;c.authority=d.authority;c.path=b(d.path);c.query=d.query}else{if(d.authority!=null){c.authority=d.authority;c.path=b(d.path);c.query=d.query}else{if(d.path==""){c.path=e.path;if(d.query!=null){c.query=d.query}else{c.query=e.query}}else{if(d.path.substr(0,1)=="/"){c.path=b(d.path)}else{if(e.authority!=null&&e.path==""){c.path="/"+d.path}else{c.path=e.path.replace(/[^\/]+$/,"")+d.path}c.path=b(c.path)}c.query=d.query}c.authority=e.authority}c.scheme=e.scheme}c.fragment=d.fragment;return c};function b(e){var c="";while(e){if(e.substr(0,3)=="../"||e.substr(0,2)=="./"){e=e.replace(/^\.+/,"").substr(1)}else{if(e.substr(0,3)=="/./"||e=="/."){e="/"+e.substr(3)}else{if(e.substr(0,4)=="/../"||e=="/.."){e="/"+e.substr(4);c=c.replace(/\/?[^\/]*$/,"")}else{if(e=="."||e==".."){e=""}else{var d=e.match(/^\/?[^\/]*/)[0];e=e.substr(d.length);c=c+d}}}}}return c}if(a){this.parse(a)}},color:function(E,d){this.required=true;this.adjust=true;this.hash=false;this.caps=true;this.valueElement=E;this.styleElement=E;this.hsv=[0,0,1];this.rgb=[1,1,1];this.pickerOnfocus=true;this.pickerMode="HSV";this.pickerPosition="bottom";this.pickerFace=10;this.pickerFaceColor="ThreeDFace";this.pickerBorder=1;this.pickerBorderColor="ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight";this.pickerInset=1;this.pickerInsetColor="ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow";this.pickerZIndex=10000;for(var v in d){this[v]=d[v]}this.hidePicker=function(){if(w()){f()}};this.showPicker=function(){if(!w()){var N=jscolor.getElementPos(E);var K=jscolor.getElementSize(E);var H=jscolor.getViewPos();var P=jscolor.getViewSize();var p=[2*this.pickerBorder+4*this.pickerInset+2*this.pickerFace+jscolor.images.pad[0]+2*jscolor.images.arrow[0]+jscolor.images.sld[0],2*this.pickerBorder+2*this.pickerInset+2*this.pickerFace+jscolor.images.pad[1]];var O,M,L;switch(this.pickerPosition.toLowerCase()){case"left":O=1;M=0;L=-1;break;case"right":O=1;M=0;L=1;break;case"top":O=0;M=1;L=-1;break;default:O=0;M=1;L=1;break}var J=(K[M]+p[M])/2;var I=[-H[O]+N[O]+p[O]>P[O]?(-H[O]+N[O]+K[O]/2>P[O]/2&&N[O]+K[O]-p[O]>=0?N[O]+K[O]-p[O]:N[O]):N[O],-H[M]+N[M]+K[M]+p[M]-J+J*L>P[M]?(-H[M]+N[M]+K[M]/2>P[M]/2&&N[M]+K[M]-J-J*L>=0?N[M]+K[M]-J-J*L:N[M]+K[M]-J+J*L):(N[M]+K[M]-J+J*L>=0?N[M]+K[M]-J+J*L:N[M]+K[M]-J-J*L)];j(I[O],I[M])}};this.importColor=function(){if(!a){this.exportColor()}else{if(!this.adjust){if(!this.fromString(a.value,z)){G.style.backgroundColor=G.jscStyle.backgroundColor;G.style.color=G.jscStyle.color;this.exportColor(z|F)}}else{if(!this.required&&/^\s*$/.test(a.value)){a.value="";G.style.backgroundColor=G.jscStyle.backgroundColor;G.style.color=G.jscStyle.color;this.exportColor(z|F)}else{if(this.fromString(a.value)){}else{this.exportColor()}}}}};this.exportColor=function(p){if(!(p&z)&&a){var H=this.toString();if(this.caps){H=H.toUpperCase()}if(this.hash){H="#"+H}a.value=H}if(!(p&F)&&G){G.style.backgroundColor="#"+this.toString();G.style.color=0.213*this.rgb[0]+0.715*this.rgb[1]+0.072*this.rgb[2]<0.5?"#FFF":"#000"}if(!(p&x)&&w()){s()}if(!(p&e)&&w()){D()}};this.fromHSV=function(J,I,H,p){J<0&&(J=0)||J>6&&(J=6);I<0&&(I=0)||I>1&&(I=1);H<0&&(H=0)||H>1&&(H=1);this.rgb=g(J==null?this.hsv[0]:(this.hsv[0]=J),I==null?this.hsv[1]:(this.hsv[1]=I),H==null?this.hsv[2]:(this.hsv[2]=H));this.exportColor(p)};this.fromRGB=function(K,J,p,H){K<0&&(K=0)||K>1&&(K=1);J<0&&(J=0)||J>1&&(J=1);p<0&&(p=0)||p>1&&(p=1);var I=A(K==null?this.rgb[0]:(this.rgb[0]=K),J==null?this.rgb[1]:(this.rgb[1]=J),p==null?this.rgb[2]:(this.rgb[2]=p));if(I[0]!=null){this.hsv[0]=I[0]}if(I[2]!=0){this.hsv[1]=I[1]}this.hsv[2]=I[2];this.exportColor(H)};this.fromString=function(I,H){var p=I.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);if(!p){return false}else{if(p[1].length==6){this.fromRGB(parseInt(p[1].substr(0,2),16)/255,parseInt(p[1].substr(2,2),16)/255,parseInt(p[1].substr(4,2),16)/255,H)}else{this.fromRGB(parseInt(p[1].charAt(0)+p[1].charAt(0),16)/255,parseInt(p[1].charAt(1)+p[1].charAt(1),16)/255,parseInt(p[1].charAt(2)+p[1].charAt(2),16)/255,H)}return true}};this.toString=function(){return((256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1))};function A(L,K,H){var M=Math.min(Math.min(L,K),H);var I=Math.max(Math.max(L,K),H);var p=I-M;if(p==0){return[null,0,I]}var J=L==M?3+(H-K)/p:(K==M?5+(L-H)/p:1+(K-L)/p);return[J==6?0:J,p/I,I]}function g(K,J,H){if(K==null){return[H,H,H]}var I=Math.floor(K);var L=I%2?K-I:1-(K-I);var p=H*(1-J);var M=H*(1-J*L);switch(I){case 6:case 0:return[H,M,p];case 1:return[M,H,p];case 2:return[p,H,M];case 3:return[p,M,H];case 4:return[M,p,H];case 5:return[H,p,M]}}function f(){delete jscolor.picker.owner;document.getElementsByTagName("body")[0].removeChild(jscolor.picker.boxB)}function j(H,O){if(!jscolor.picker){jscolor.picker={box:document.createElement("div"),boxB:document.createElement("div"),pad:document.createElement("div"),padB:document.createElement("div"),padM:document.createElement("div"),sld:document.createElement("div"),sldB:document.createElement("div"),sldM:document.createElement("div")};for(var K=0,N=4;K<jscolor.images.sld[1];K+=N){var I=document.createElement("div");I.style.height=N+"px";I.style.fontSize="1px";I.style.lineHeight="0";jscolor.picker.sld.appendChild(I)}jscolor.picker.sldB.appendChild(jscolor.picker.sld);jscolor.picker.box.appendChild(jscolor.picker.sldB);jscolor.picker.box.appendChild(jscolor.picker.sldM);jscolor.picker.padB.appendChild(jscolor.picker.pad);jscolor.picker.box.appendChild(jscolor.picker.padB);jscolor.picker.box.appendChild(jscolor.picker.padM);jscolor.picker.boxB.appendChild(jscolor.picker.box)}var M=jscolor.picker;q=[H+l.pickerBorder+l.pickerFace+l.pickerInset,O+l.pickerBorder+l.pickerFace+l.pickerInset];B=[null,O+l.pickerBorder+l.pickerFace+l.pickerInset];M.box.onmouseup=M.box.onmouseout=function(){E.focus()};M.box.onmousedown=function(){n=true};M.box.onmousemove=function(p){c&&y(p);o&&h(p)};M.padM.onmouseup=M.padM.onmouseout=function(){if(c){c=false;jscolor.fireEvent(a,"change")}};M.padM.onmousedown=function(p){c=true;y(p)};M.sldM.onmouseup=M.sldM.onmouseout=function(){if(o){o=false;jscolor.fireEvent(a,"change")}};M.sldM.onmousedown=function(p){o=true;h(p)};M.box.style.width=4*l.pickerInset+2*l.pickerFace+jscolor.images.pad[0]+2*jscolor.images.arrow[0]+jscolor.images.sld[0]+"px";M.box.style.height=2*l.pickerInset+2*l.pickerFace+jscolor.images.pad[1]+"px";M.boxB.style.position="absolute";M.boxB.style.clear="both";M.boxB.style.left=H+"px";M.boxB.style.top=O+"px";M.boxB.style.zIndex=l.pickerZIndex;M.boxB.style.border=l.pickerBorder+"px solid";M.boxB.style.borderColor=l.pickerBorderColor;M.boxB.style.background=l.pickerFaceColor;M.pad.style.width=jscolor.images.pad[0]+"px";M.pad.style.height=jscolor.images.pad[1]+"px";M.padB.style.position="absolute";M.padB.style.left=l.pickerFace+"px";M.padB.style.top=l.pickerFace+"px";M.padB.style.border=l.pickerInset+"px solid";M.padB.style.borderColor=l.pickerInsetColor;M.padM.style.position="absolute";M.padM.style.left="0";M.padM.style.top="0";M.padM.style.width=l.pickerFace+2*l.pickerInset+jscolor.images.pad[0]+jscolor.images.arrow[0]+"px";M.padM.style.height=M.box.style.height;M.padM.style.cursor="crosshair";M.sld.style.overflow="hidden";M.sld.style.width=jscolor.images.sld[0]+"px";M.sld.style.height=jscolor.images.sld[1]+"px";M.sldB.style.position="absolute";M.sldB.style.right=l.pickerFace+"px";M.sldB.style.top=l.pickerFace+"px";M.sldB.style.border=l.pickerInset+"px solid";M.sldB.style.borderColor=l.pickerInsetColor;M.sldM.style.position="absolute";M.sldM.style.right="0";M.sldM.style.top="0";M.sldM.style.width=jscolor.images.sld[0]+jscolor.images.arrow[0]+l.pickerFace+2*l.pickerInset+"px";M.sldM.style.height=M.box.style.height;try{M.sldM.style.cursor="pointer"}catch(J){M.sldM.style.cursor="hand"}switch(b){case 0:var L="hs.png";break;case 1:var L="hv.png";break}M.padM.style.background="url('"+jscolor.getDir()+"cross.gif') no-repeat";M.sldM.style.background="url('"+jscolor.getDir()+"arrow.gif') no-repeat";M.pad.style.background="url('"+jscolor.getDir()+L+"') 0 0 no-repeat";s();D();jscolor.picker.owner=l;document.getElementsByTagName("body")[0].appendChild(M.boxB)}function s(){switch(b){case 0:var J=1;break;case 1:var J=2;break}var N=Math.round((l.hsv[0]/6)*(jscolor.images.pad[0]-1));var M=Math.round((1-l.hsv[J])*(jscolor.images.pad[1]-1));jscolor.picker.padM.style.backgroundPosition=(l.pickerFace+l.pickerInset+N-Math.floor(jscolor.images.cross[0]/2))+"px "+(l.pickerFace+l.pickerInset+M-Math.floor(jscolor.images.cross[1]/2))+"px";var p=jscolor.picker.sld.childNodes;switch(b){case 0:var L=g(l.hsv[0],l.hsv[1],1);for(var H=0;H<p.length;H++){p[H].style.backgroundColor="rgb("+(L[0]*(1-H/p.length)*100)+"%,"+(L[1]*(1-H/p.length)*100)+"%,"+(L[2]*(1-H/p.length)*100)+"%)"}break;case 1:var L,O,K=[l.hsv[2],0,0];var H=Math.floor(l.hsv[0]);var I=H%2?l.hsv[0]-H:1-(l.hsv[0]-H);switch(H){case 6:case 0:L=[0,1,2];break;case 1:L=[1,0,2];break;case 2:L=[2,0,1];break;case 3:L=[2,1,0];break;case 4:L=[1,2,0];break;case 5:L=[0,2,1];break}for(var H=0;H<p.length;H++){O=1-1/(p.length-1)*H;K[1]=K[0]*(1-O*I);K[2]=K[0]*(1-O);p[H].style.backgroundColor="rgb("+(K[L[0]]*100)+"%,"+(K[L[1]]*100)+"%,"+(K[L[2]]*100)+"%)"}break}}function D(){switch(b){case 0:var p=2;break;case 1:var p=1;break}var H=Math.round((1-l.hsv[p])*(jscolor.images.sld[1]-1));jscolor.picker.sldM.style.backgroundPosition="0 "+(l.pickerFace+l.pickerInset+H-Math.floor(jscolor.images.arrow[1]/2))+"px"}function w(){return jscolor.picker&&jscolor.picker.owner==l}function r(){if(a==E){l.importColor()}if(l.pickerOnfocus){l.hidePicker()}}function m(){if(a!=E){l.importColor()}}function y(H){var J=jscolor.getMousePos(H);var p=J[0]-q[0];var I=J[1]-q[1];switch(b){case 0:l.fromHSV(p*(6/(jscolor.images.pad[0]-1)),1-I/(jscolor.images.pad[1]-1),null,e);break;case 1:l.fromHSV(p*(6/(jscolor.images.pad[0]-1)),null,1-I/(jscolor.images.pad[1]-1),e);break}}function h(p){var I=jscolor.getMousePos(p);var H=I[1]-q[1];switch(b){case 0:l.fromHSV(null,null,1-H/(jscolor.images.sld[1]-1),x);break;case 1:l.fromHSV(null,1-H/(jscolor.images.sld[1]-1),null,x);break}}var l=this;var b=this.pickerMode.toLowerCase()=="hvs"?1:0;var n=false;var a=jscolor.fetchElement(this.valueElement),G=jscolor.fetchElement(this.styleElement);var c=false,o=false;var q,B;var z=1<<0,F=1<<1,x=1<<2,e=1<<3;jscolor.addEvent(E,"focus",function(){if(l.pickerOnfocus){l.showPicker()}});jscolor.addEvent(E,"blur",function(){if(!n){setTimeout(function(){n||r();n=false},0)}else{n=false}});if(a){var C=function(){l.fromString(a.value,z)};jscolor.addEvent(a,"keyup",C);jscolor.addEvent(a,"input",C);jscolor.addEvent(a,"blur",m);a.setAttribute("autocomplete","off")}if(G){G.jscStyle={backgroundColor:G.style.backgroundColor,color:G.style.color}}switch(b){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png");break}jscolor.requireImage("cross.gif");jscolor.requireImage("arrow.gif");this.importColor()}};jscolor.install();var mapCallBackParams;var mapSpace;var startCenter;var defaultCenter;var defaultZoom=4;var minLocateZoom=10;var geocoder=null;var maxPointsWithoutEncoding=500;var mapEntryListSnippetUrl="/map/map_entry_list.x";var mapDataSnippetUrl="/map_data.x";var mapDataEditSnippetUrl="/map_data_edit.x";var mapEntryDataURL="/map/map_entry.x";var compListMapDataURL="/map_data_comp_list.x";var compListMapPanelURL="/map_panel_comp_list.x";var dynamicMapDataURL="/map_data_dynamic.x";var dynamicMapPanelURL="/map_panel_dynamic.x";var mapEntryMapDataURL="/map_entry_map_data.x";var mapEntryWCompListMapDataURL="/map_entry_comp_list_map_data.x";var mapEntryMapPanelURL="/view_map_entry_map_panel.x";var mapEntryWCompListMapPanelURL="/view_map_entry_comp_list_map_panel.x";var mapPanelURL="/map_panel.x";var viewMapPanelURL="/view_map_panel.x";var arrowShutHTML='<img src="'+root+'/images/arrow_closed.gif" width="20px">';var arrowOpenHTML='<img src="'+root+'/images/arrow_open.gif" width="20px">';var searchLatId="lat_input_id";var searchLonId="lon_input_id";var searchLatInputName="location.latitude";var searchLonInputName="location.longitude";var editMapURL="/editMap.x";var iconSelectionPopupURL="/iconSelectionPopup.x";var mapIcons=new Object();var gMapsAlreadyContacted=false;var styleColors={red:"#CE2920",purple:"#D333D3",green:"#00C700",blue:"#003AFF","default":"#003AFF"};var MapSpaceManager={_registry:null,_loadFuncs:null,initialise:function(){if(this._registry==null){this._registry=new Object()}},addMapSpace:function(b){this.initialise();var a=this._registry[b.name];if(a){a.unload()}this._registry[b.name]=b},addMapSpaceLoadFunc:function(a){if(this._loadFuncs==null){this._loadFuncs=new Array();loadHandlers.push(function(){MapSpaceManager.runMapSpaceLoadFuncs()})}this._loadFuncs.push(a)},runMapSpaceLoadFuncs:function(){if(this._loadFuncs!=null&&this._loadFuncs.length>0){this._loadFuncs[0].call()}},gMapsLoaded:function(){if(this._loadFuncs!=null&&this._loadFuncs.length>1){this.continueMapSpaceLoadFuncs()}},continueMapSpaceLoadFuncs:function(){if(this._loadFuncs!=null&&this._loadFuncs.length>1){for(var a=1;a<this._loadFuncs.length;a++){this._loadFuncs[a].call()}}},getMapSpace:function(a){this.initialise();if(!a){a="map"}return this._registry[a]},unloadAll:function(){var c=0;if(this._registry!=null){var b;for(var a in this._registry){b=this._registry[a];b.unload();MapSpaceManager._registry[a]=null;c++}MapSpaceManager._registry=null}}};function setMapCallBackParams(a){unloadMapCallBackParams();mapCallBackParams=a}function unloadMapCallBackParams(){if(mapCallBackParams){for(var a in mapCallBackParams){delete mapCallBackParams[a]}}mapCallBackParams=null}function buildMapIconAndStore(c,d){var e=root+"/images/icons/";e+=c;if(d){e+=d}e+=".png";var a=c+d;var b=new GIcon();b.image=e;b.shadow=root+"/images/icons/"+c+"_shadow.png";b.iconSize=new GSize(28,28);b.shadowSize=new GSize(56,28);b.iconAnchor=new GPoint(14,28);b.infoWindowAnchor=new GPoint(14,1);mapIcons[a]=b;return b}function getMapIconImagePath(a,b){var c=root+"/images/icons/";c+=a;if(b){c+=b}c+=".png";return c}function getMapIcon(c,d){if(!c){c="default"}var a=c+d;var b=mapIcons[a];if(b){return b}return buildMapIconAndStore(c,d)}function getColorForStyle(b){var a=styleColors[b];if(!a){a=styleColors["default"]}return a}function closeLocationForm(){formElement=$(mapCallBackParams.formElement);if(mapCallBackParams.container){hide(mapCallBackParams.container)}else{hide(formElement)}mapCallBackParams.location=null;unloadMapCallBackParams();mapSpace=null;page.closePopup()}function initMapSpaceDefault(a){if(a.routesOnDemand){this.routesOnDemand=true}if(a.viewByParams){this.setViewByParams(a.viewByParams);this.currentViewByChoiceType=a.viewByParams.viewByChoiceType;this.activityId=a.viewByParams.activityId;this.activityAssName=a.viewByParams.activityAssName}if(a.onlyForView){this.onlyForView=true}if(a.toSelectEntry){this.toSelectEntry=a.toSelectEntry}if(a.mapEntryId){this.mapEntryId=a.mapEntryId;this.toSelectEntry=true}if(a.toSelectEntryList){this.toSelectEntryList=a.toSelectEntryList}if(a.toIncludeAllPoints){this.toIncludeAllPoints=true}if(a.sidePanelOnlyOnBlowup){this.sidePanelOnlyOnBlowup=true}if(a.mapDataURL){this.mapDataURL=a.mapDataURL}else{if(!a.edit){this.mapDataURL=mapDataSnippetUrl}else{this.mapDataURL=mapDataEditSnippetUrl}}if(a.editMode){this.editMode=a.editMode}if(a.mapComponentType){this.mapComponentType=a.mapComponentType}else{this.mapComponentType=page.componentName}if(!gMapsAlreadyContacted){google.load("maps","2.132d",{callback:this.getInitMapSpaceOnGLoad(a)})}else{this.initMapSpaceOnGLoad(a)}}MapSpace.prototype.reloadMap=function(){this.removeMapRecordingOverlays();this.clearData();this.onReload=this.resumeRecordingOnReload;this.loadMap(null,{isReload:true});if(!this.currentRoute){page.requestMapPanel(this)}};MapSpace.prototype.clearData=function(c){var f=this.markers;var a;var e=null;if(c&&c.keepId){e=c.keepId}for(var d in f){if(!e||d!=e){a=f[d];if(a.popupElementHTML){a.popupElementHTML=null}if(a.point){a.point=null}if(a.polyline){a.polyline=null}if(a.points){a.points=null}if(a.routePoints){a.routePoints=null}delete f[d]}}var b=this.mapEntryLists;this.shutMapEntryListParameter=this.formShutMapEntryListParameter();for(var d in b){delete b[d]}this.map.clearOverlays();if(this.onLoad){delete this.onLoad}};MapSpace.prototype.viewByChoicesTypeSelected=function(e){var f=this.currentViewByChoiceType;var d=this.name;if(f){var c=$(d+"_"+f+"_container");if(c){Element.hide(c)}}if("All"==e){this.clearViewByParams();this.reloadMap()}else{if("none"==e){this.clearViewByParams();this.setViewByParam("toHideActivity","true");this.reloadMap()}else{var b=$(d+"_"+e+"_container");Element.show(b);var a=$(d+"_"+e+"_default");if(a){a.selected="true"}this.currentViewByChoiceType=e}}};MapSpace.prototype.selectViewByChoicesType=function(b){var a=$(this.name+"_"+b+"_option");a.selected="true";this.viewByChoicesTypeSelected(b)};MapSpace.prototype.simulateViewByInput=function(c,d){this.selectViewByChoicesType(c);var a=$(this.name+"_"+c+"_input");a.value=d;var b=$(this.name+"_"+c+"_button");b.click()};MapSpace.prototype.viewByNameValue=function(a,b){if(b&&"All"!=b&&""!=b){this.clearViewByParams();this.setViewByParam(a,b);this.reloadMap()}};MapSpace.prototype.viewByNameValues=function(b){if(b){this.clearViewByParams();var c=0;var d;for(var a in b){d=b[a];if(d&&""!=d){this.setViewByParam(a,d);c++}}if(c>0){this.reloadMap()}}};MapSpace.prototype.clearViewByParams=function(){var b=this.getViewByParams();for(var a in b){delete b[a]}};MapSpace.prototype.getViewByParams=function(){var a=this.viewByParams;if(!a){a=new Object();this.viewByParams=a}return a};MapSpace.prototype.setViewByParams=function(a){this.viewByParams=a};MapSpace.prototype.addViewByParams=function(c){var d=new Object();if(c){for(var a in c){d[a]=c[a]}}var b=this.getViewByParams();for(var a in b){d[a]=b[a]}return d};MapSpace.prototype.setViewByParam=function(a,b){this.getViewByParams()[a]=b};MapSpace.prototype.getViewByParam=function(a){return this.getViewByParams()[a]};MapSpace.prototype.toggleViewingActivity=function(){var a=this.name;var c=$(a+"_activity_enabled").checked;if(c){var b=$(a+"_activity_view_choices");if(b){Element.show(b)}this.setViewByParam("toHideActivity","false")}else{var b=$(a+"_activity_view_choices");if(b){Element.hide(b)}this.setViewByParam("toHideActivity","true")}this.reloadMap()};MapSpace.prototype.clear=function(){this.removeCurrentButtons();this.endCurrentRouteDrawing();this.stopRouteListening();this.removeCurrentMarkerListener();this.clearData()};MapSpace.prototype.unload=function(){this.clear();delete this.map;delete this.mapElement;if(this.mapData){delete this.mapData}if(this.onLoad){delete this.onLoad}var e=this.markers;var a;for(var c in e){a=e[c];if(a.popupElementHTML){a.popupElementHTML=null}if(a.point){a.point=null}if(a.polyline){a.polyline=null}if(a.points){a.points=null}if(a.routePoints){a.routePoints=null}delete e[c]}delete this.markers;var b=this.mapEntryLists;for(var c in b){delete b[c]}delete this.mapEntryLists;var d=this.buttons;for(var c in d){delete d[c]}delete this.buttons;if(this.mapStyle){delete this.mapStyle}if(this.container){delete this.container}if(this.containerStyle){delete this.containerStyle}if(this.mapActivityViewChoicesNode){delete this.mapActivityViewChoicesNode}};MapSpace.prototype.getInitMapSpaceOnGLoad=function(b){var a=this;return function(){a.initMapSpaceOnGLoad(b)}};MapSpace.prototype.initMapSpaceOnGLoad=function(b){if(!gMapsAlreadyContacted){gMapsAlreadyContacted=true;MapSpaceManager.gMapsLoaded()}startCenter=new GLatLng(43.4463138945057,-73.6550903320312);if(GBrowserIsCompatible()){var c;var a=false;if(b.map){c=b.map;a=true}else{c=new google.maps.Map2(this.mapElement)}this.map=c;this.loadMap();if(!a){if(b.largeMapControl){c.addControl(new GLargeMapControl())}else{if(b.smallMapControl){c.addControl(new GSmallMapControl())}}if(b.mapTypeControl){c.addMapType(G_PHYSICAL_MAP);c.removeMapType(G_HYBRID_MAP);c.addControl(new GMapTypeControl())}}if(b.toIncludeAllPoints){this.toIncludeAllPoints=true}if(b.dynamicSetButton){this.dynamicSetButton=true}}if(b&&b.mapPanelURLParams){page.mapPanelURLParams=b.mapPanelURLParams}else{page.mapPanelURLParams={processId:"main",onLoad:defaultMapOnLoad}}if(b&&b.mapPanelURL){this.mapPanelURL="/"+page.interestName+"/"+this.mapComponentType+b.mapPanelURL}else{if(page.mapPanelURLParams.mapPanelURL){this.mapPanelURL=page.mapPanelURLParams.mapPanelURL}else{this.mapPanelURL="/"+page.interestName+"/"+this.mapComponentType+mapPanelURL}}};function defaultMapOnLoad(){}function loadMapDefault(){this.map.setCenter(startCenter,1)}function MapSpace(a,c,b){if(!a){a="map"}this.name=a;this.mapElement=$(a);if(c){this.mapData=$(c)}this.markers=new Object();this.mapEntryLists=new Object();this.buttons=new Object();this.mapId=b;MapSpaceManager.addMapSpace(this)}MapSpace.prototype.init=initMapSpaceDefault;MapSpace.prototype.loadMap=loadMapDefault;function loadFromServer(f,a){if(!a){a={}}if(!f){f={}}if(this.mapId){f.mapId=this.mapId}if(this.mapEntryId){f.mapEntryId=this.mapEntryId}if(this.ownerId){f.id=this.ownerId}var e=this.mapDataURL;if(!e){e=mapDataSnippetUrl}if(this.editMode){f.edit_mode=this.editMode}var d=this;var b=function(g){loadFromData.call(d,g.responseXML,a);if(!a.isReload){var h=d.onLoad;if(h){h.call(d)}}else{var j=d.onReload;if(j){d.onReload()}}};var c=page.componentName;if(this.mapComponentType){c=this.mapComponentType}f=this.addViewByParams(f);f.map_name=this.name;if(this.activityId){f.activityId=this.activityId}if(this.activityAssName){f.activityAssName=this.activityAssName}XCalls.requestAndCallback("/"+page.interestName+"/"+c+e,b,f,{urlAsFullPath:true,showWaiting:false})}function loadFromData(g,c){if(!c){c={}}if(!browser){getBrowserInfo()}var s=this.map;if(!g){g=this.mapData}else{this.mapData=g}if(!c.isReload){var y=g.getElementsByTagName("mapCenter")[0];var r=new GLatLng(y.getAttribute("lat"),y.getAttribute("long"));var h=3;var e=g.getElementsByTagName("zoomLevel")[0];if(e&&e.firstChild){h=parseInt(e.firstChild.nodeValue)}s.setCenter(r,h)}var v=g.getElementsByTagName("mapType")[0];if(v&&v.firstChild){var q=v.firstChild.nodeValue;if(q){this.setMapTypeFromName(q)}}var x=g.getElementsByTagName("mapEntryList");var b;var o=this.mapEntryLists;var j;var w;var f;var m;var d;var a;for(var n=0;n<x.length;n++){b=x[n];this.addEntryListFromNode(b)}this.loadShutMapEntryListIds("shutEntryLists_"+this.mapId);var p=this.markers;for(var n=0;n<x.length;n++){f=false;b=x[n];j=b.getAttribute("id");if(j){w=this.mapEntryLists[j];if(w.shut){f=true}}m=b.getElementsByTagName("mapEntry");for(var l=0;l<m.length;l++){d=m[l];a=d.getAttribute("id");if(!p[a]){if(j){w.markerIds.push(a)}this.addEntryFromNode(d,f)}}}if(this.toIncludeAllPoints&&(!this.editMode||!c.isReload)){this.centerAndZoomToFitMarkers(13,10)}else{if(this.mapEntryId){}}}MapSpace.prototype.centerAndZoomToFitMarker=function(d,c,a){var b=a.id;this.centerAndZoomToFitMarkers(d,c,{markerId:a})};MapSpace.prototype.centerAndZoomToFitMarkers=function(c,j,h){var d=this.map;var a=this.getBoundsForMarkers(h);var g;var b;if(!a){g=defaultZoom;defaultCenter=new GLatLng(41.3,-85);b=defaultCenter}else{if(j){var e=a.getSouthWest();var f=a.getNorthEast();if(e.lat()==f.lat()&&e.lng()==f.lng()){g=j}else{g=d.getBoundsZoomLevel(a)}}else{g=d.getBoundsZoomLevel(a)}b=a.getCenter()}if(c){if(g>c){g=c}}d.setCenter(b,g)};MapSpace.prototype.getBoundsForMarker=function(a){var b=a.id;this.getBoundsForMarkers({markerId:a})};MapSpace.prototype.getBoundsForMarkers=function(j){var g;var d;var f;var c;var b;var s;if(!j){j=this.markers}for(var e in j){var l=j[e];var q=l.point;b=q.x*1;s=q.y*1;if(q){if(!g){g=b}else{if(b<g){g=b}}if(!d){d=b}else{if((b)>d){d=b}}if(!f){f=s}else{if(s<f){f=s}}if(!c){c=s}else{if(s>c){c=s}}}var n=l.polyline;if(n){var r=n.getBounds();if(r){var m=r.getSouthWest();var p=r.getNorthEast();if(!g){g=m.lng()}else{if(m.lng()<g){g=m.lng()}}if(!f){f=m.lat()}else{if(m.lat()<f){f=m.lat()}}if(!d){d=p.lng()}else{if(p.lng()>d){d=p.lng()}}if(!c){c=p.lat()}else{if(p.lat()>c){c=p.lat()}}}}}if(!g){return null}var o=new GLatLng(f,g);var h=new GLatLng(c,d);var a=new GLatLngBounds(o,h);return a};MapSpace.prototype.addEntryListFromNode=function(c){var e=c.getAttribute("id");var a=this.mapEntryLists;var b=new Object();var d=new Array();b.markerIds=d;b.id=e;a[e]=b};MapSpace.prototype.loadShutMapEntryListIds=function(f){var e;if(this.shutMapEntryListParameter){e=this.shutMapEntryListParameter}else{var d=$(f);if(d){e=d.value}}if(e){var c=e.split(",");var b;for(var a=0;a<c.length;a++){b=this.mapEntryLists[c[a]];if(b){b.shut=true}}}};MapSpace.prototype.formShutMapEntryListParameter=function(){var a=this.mapEntryLists;var b=0;var d=null;for(var e in a){b++;var c=a[e];if(c.shut){if(!d){d=c.id}else{d+=","+c.id}}}if(b==0){return this.shutMapEntryListParameter}this.shutMapEntryListParameter=d;return d};MapSpace.prototype.toggleSidePanel=function(){if(this.sidePanelShut){this.expandSidePanel()}else{this.shutSidePanel()}};MapSpace.prototype.shutSidePanel=function(){this.sidePanelShut=true;var b=$("sidePanelArrow");b.innerHTML=arrowShutHTML;var a=$("mapEntryLists_container");hide(a)};MapSpace.prototype.expandSidePanel=function(){this.sidePanelShut=false;var b=$("sidePanelArrow");b.innerHTML=arrowOpenHTML;var a=$("mapEntryLists_container");show(a)};MapSpace.prototype.toggleMapEntryList=function(a){if(this.mapEntryLists[a].shut){this.openMapEntryList(a)}else{this.shutMapEntryList(a)}};MapSpace.prototype.shutMapEntryList=function(b){this.hideEntryListMarkers(b);this.mapEntryLists[b].shut=true;var a=$("mapEntryListDrawer_"+b);Element.hide(a)};MapSpace.prototype.openMapEntryList=function(b){this.showEntryListMarkers(b);this.mapEntryLists[b].shut=false;var a=$("mapEntryListDrawer_"+b);Element.show(a)};MapSpace.prototype.hasCategories=function(){if(this.mapEntryLists){for(var a in this.mapEntryLists){return true}}return false};MapSpace.prototype.getSidePanel=function(){if(!this.sidePanel){return $(this.name+"_side_panel")}return this.sidePanel};MapSpace.prototype.setSidePanel=function(a){this.sidePanel=$(a)};MapSpace.prototype.getMapPanel=function(){var a=this.mapPanel;if(!a){a=$(this.name+"_panel")}if(!a){a=this.mapElement}return a};MapSpace.prototype.setMapPanel=function(a){this.mapPanel=$(a)};MapSpace.prototype.getLocateAddressCallback=function(a,d,b){var c=this;return function(e){if(!e){window.alert(a+" not found")}else{if(b){$(b).value=""}if(!d){var f=c.map.getZoom();if(f<minLocateZoom){f=minLocateZoom}c.setCurrentMarker(null,e,true,f)}else{d.call(c,e)}}}};MapSpace.prototype.locateAddress=function(b,c,e,d){if(c&&c.keyCode!=13){return true}else{if(c){c.cancelBubble=true}}b=$(b);var a=b.value;geocoder=new GClientGeocoder();if(d){geocoder.getLatLng(a,this.getLocateAddressCallback(a,e))}else{geocoder.getLatLng(a,this.getLocateAddressCallback(a,e,b))}return false};MapSpace.prototype.showEntryListIsolated=function(c){var b=((!c)||c=="All");for(var a in this.mapEntryLists){if(b||(a==c)){this.showEntryList(a)}else{this.hideEntryList(a)}}};MapSpace.prototype.hideEntryListMarkers=function(d){var e=this.mapEntryLists[d];if(e){var f=e.markerIds;if(f){var a;var b;for(var c=0;c<f.length;c++){a=this.markers[f[c]];if(a){this.map.removeOverlay(a);if(a.polyline){this.map.removeOverlay(a.polyline)}}}}}};MapSpace.prototype.hideEntryList=function(b){this.hideEntryListMarkers(b);var a=$("mapEntryListContainer_"+b);if(a){Element.hide(a)}};MapSpace.prototype.showEntryListMarkers=function(d){var e=this.mapEntryLists[d];if(e){var f=e.markerIds;if(f){var a;var b;for(var c=0;c<f.length;c++){a=this.markers[f[c]];if(a){this.map.addOverlay(a);if(a.polyline){this.map.addOverlay(a.polyline)}}}}}};MapSpace.prototype.showEntryList=function(b){if(!this.mapEntryLists[b].shut){this.showEntryListMarkers(b)}var a=$("mapEntryListContainer_"+b);if(a){Element.show(a)}};MapSpace.prototype.addEntryFromNode=function(v,h){var B;var m=v.getElementsByTagName("point")[0];var l=m.getAttribute("lat");var n=m.getAttribute("long");var F=v.getElementsByTagName("icon")[0];var A;if(F){A=F.getAttribute("iconStyle")}B=getMapIcon(A,null);var w=new GPoint(n,l);var g;if(B){g=new GMarker(w,B)}else{g=new GMarker(w)}if(!h){this.map.addOverlay(g)}var q=v.getAttribute("id");this.markers[q]=g;g.point=w;g.id=q;var b=v.getElementsByTagName("routeEntry")[0];if(b&&b.firstChild&&b.firstChild.nodeValue=="true"){var c;var r=[];var C=v.getElementsByTagName("routePointsEncoded")[0];var j=v.getElementsByTagName("routeLevelsEncoded")[0];if(!this.onlyForView||!C){var e=v.getElementsByTagName("routePoints")[0];var d=v.getElementsByTagName("routePoint");var D;var E;var f;for(var z=0;z<d.length;z++){c=d[z];D=new GPoint(c.getAttribute("long"),c.getAttribute("lat"));E=c.getElementsByTagName("alt")[0];if(E&&E.firstChild){D.alt=E.firstChild.nodeValue}f=c.getElementsByTagName("time")[0];if(f&&f.firstChild){D.time=f.firstChild.nodeValue}r.push(D)}g.routePoints=r;g.points=r}if(C){var a=getXMLNodeLargeContent(C);var p=getXMLNodeLargeContent(j);var o={color:"#0000ff",weight:3,opacity:0.9,points:a,levels:p,numLevels:18,zoomFactor:2};g.polyline=new GPolyline.fromEncoded(o)}else{g.polyline=this.createPolylineFromPoints(r)}if(!this.routesOnDemand&&!h){this.map.addOverlay(g.polyline)}}var s=v.getElementsByTagName("popupText")[0];if(s&&s.firstChild){g.popupElementHTML=s.firstChild.nodeValue;this.addPopupElementListener(g)}};MapSpace.prototype.createPolylineFromPoints=function(b){if(b.length<maxPointsWithoutEncoding){return new GPolyline(b,"#0000ff",3,0.9)}var c=[];for(var a=0;a<b.length;a++){c.push(new GLatLng(b[a].y,b[a].x))}return this.createPolylineFromLatLngs(c)};MapSpace.prototype.createPolylineFromLatLngs=function(b){if(b.length<maxPointsWithoutEncoding){return new GPolyline(b)}var a=new PolylineEncoder();return a.dpEncodeToGPolyline(b)};MapSpace.prototype.replaceEntryFromNode=function(a){this.removeEntryFromNode(a);this.addEntryFromNode(a)};MapSpace.prototype.removeEntryListFromNode=function(b){var c=b.getAttribute("id");var a=this.mapEntryLists;a[c]=null;delete a[c];this.removeEntriesFromNodes(b.getElementsByTagName("mapEntry"))};MapSpace.prototype.removeEntriesFromNodes=function(a){if(a){for(var b=0;b<a.length;b++){this.removeEntryFromNode(a[b])}}};MapSpace.prototype.removeEntryFromNode=function(b){var d=b.getAttribute("id");var a=this.markers[d];var c=this.map;c.removeOverlay(a);if(a.polyline){c.removeOverlay(a.polyline)}this.markers[d]=null};MapSpace.prototype.setMapEntryIconsFromNode=function(a){var d=a.getElementsByTagName("mapEntry");var b;for(var c=0;c<d.length;c++){b=d[c];this.replaceEntryFromNode(b)}};MapSpace.prototype.addPopupElementListener=function(a){var b=this;GEvent.addListener(a,"click",function(){b.showPopup(a);return true});if(a.polyline){GEvent.addListener(a.polyline,"click",function(c){b.showPopup(a,c);return true})}};MapSpace.prototype.showPopup=function(a,b){if(b){if(a.popupElementHTML){this.map.openInfoWindowHtml(b,a.popupElementHTML,{maxWidth:300})}}else{if(a.popupElementHTML){a.openInfoWindowHtml(a.popupElementHTML,{maxWidth:300})}if(this.routesOnDemand&&a.polyline){if(!a.polylineAdded){this.map.addOverlay(a.polyline);a.polylineAdded=true}else{this.map.removeOverlay(a.polyline);a.polylineAdded=false}}}};MapSpace.prototype.showPopupForId=function(c,a,d){var b=this.markers[c];this.showPopup(b);if(d){this.centerAndZoomToFitMarker(13,10,b)}else{if(a){this.map.setCenter(new GLatLng(b.point.y,b.point.x))}}};MapSpace.prototype.blowupMap=function(j){var c=this;var h=this.getActivityViewChoices();var g=$(c.name+"_container");g.parentNode.removeChild(g);var f=c.containerStyle;if(!f){f=new Object();c.containerStyle=f;f.top=g.style.top;f.left=g.style.left;f.height=g.style.height;f.width=g.style.width}g.style.top="0px";g.style.left="0px";g.style.height="100%";g.style.width="100%";var e=c.mapElement;var d=c.mapStyle;if(!d){d=new Object();c.mapStyle=d;d.height=e.style.height;d.width=e.style.width}e.style.height="100%";if(j&&j.mapElementWidth){e.style.width=j.mapElementWidth}else{e.style.width="80%"}var b=c.map.getCenter();openLightbox(null,g,{lightbox:true,stretchy:true,noOverlay:true,width:"100%"});c.map.checkResize();c.map.setCenter(b);c.container=g;c.addButtons("blowup");c.currentSize="blowup";if(c.sidePanelOnlyOnBlowup){page.requestMapPanel(c);var a=$(c.name+"_side_panel");if(a){Element.show(a)}}if(c.onBlowup){c.onBlowup()}this.placeActivityViewChoices($(this.name+"_activity_view_choices_container_blowup"),h)};MapSpace.prototype.blowupMapOld=function(){var e=this;var h=this.getActivityViewChoices();var b=$(e.name+"_container");b.parentNode.removeChild(b);var g=e.containerStyle;if(!g){g=new Object();e.containerStyle=g;g.top=b.style.top;g.left=b.style.left;g.height=b.style.height;g.width=b.style.width}b.style.top="0px";b.style.left="0px";b.style.height="100%";b.style.width="100%";var d=e.mapElement;var c=e.mapStyle;if(!c){c=new Object();e.mapStyle=c;c.height=d.style.height;c.width=d.style.width}d.style.height="100%";d.style.width="100%";var a=e.map.getCenter();openLightbox(null,b,{lightbox:true,stretchy:true,noOverlay:true,width:"100%"});e.map.checkResize();e.map.setCenter(a);e.container=b;e.addButtons("blowup");e.currentSize="blowup";if(e.sidePanelOnlyOnBlowup){page.requestMapPanel(e);var f=$(e.name+"_side_panel");if(f){Element.show(f)}}if(e.onBlowup){e.onBlowup()}this.placeActivityViewChoices($(this.name+"_activity_view_choices_container_blowup"),h)};MapSpace.prototype.getActivityViewChoices=function(){var a=$(this.name+"_activity_view_choices");if(a){Element.remove(a);this.mapActivityViewChoicesNode=a}else{a=this.mapActivityViewChoicesNode}return a};MapSpace.prototype.placeActivityViewChoices=function(a,b){if(a&&b){if(b.parentNode!=a){a.appendChild(b)}}};MapSpace.prototype.normalizeMap=function(){var j=this.getActivityViewChoices();page.closePopup();var c=this;var h=c.container;h.parentNode.removeChild(h);var g=c.containerStyle;h.style.top=g.top;h.style.left=g.left;h.style.height=g.height;h.style.width=g.width;var d=c.mapStyle;var f=c.mapElement;f.style.height=d.height;f.style.width=d.width;var e=$(c.name+"_holder_embedded");e.appendChild(h);var b=c.map.getCenter();c.map.checkResize();c.map.setCenter(b);c.container=h;c.addButtons();c.currentSize="normal";if(c.sidePanelOnlyOnBlowup){var a=$(c.name+"_side_panel");if(a){hide(a)}}if(c.onNormalize){c.onNormalize()}if(j){this.placeActivityViewChoices($(this.name+"_activity_view_choices_container"),j)}};MapSpace.prototype.addButtons=function(c){if(c=="normal"){c=null}var b=this.currentButtons;if(b){this.mapElement.removeChild(b)}var a=this.getButtons(c);if(a){this.mapElement.appendChild(a);this.currentButtons=a}};MapSpace.prototype.removeCurrentButtons=function(b){var a=this.currentButtons;if(a){Element.remove(a);this.currentButtons=null}};MapSpace.prototype.removeButtons=function(b){var a=this.getButtons(b);if(a){this.mapElement.removeChild(a)}};MapSpace.prototype.loadButtons=function(d){var b;var c;if(d){c=this.name+"_buttons_"+d}else{c=this.name+"_buttons"}b=$(c);if(b){b.parentNode.removeChild(b);var a=document.createElement("div");a.position="absolute";a.innerHTML=b.innerHTML;this.buttons[c]=a}return a};MapSpace.prototype.getButtons=function(c){var a;var b;if(c){b=this.name+"_buttons_"+c}else{b=this.name+"_buttons"}a=this.buttons[b];if(!a){return this.loadButtons(c)}return a};MapSpace.prototype.addCloseButton=function(a){var c=document.createElement("div");c.style.bottom="15px";c.style.right="10px";c.style.position="absolute";c.style.zIndex="100";var b='<input class="interestButton '+page.interestStyle+'" style="font-size:10px" type="button" value="Close">';c.innerHTML=b;c.onclick=a;this.mapElement.appendChild(c)};function getRequestMapPanelCallback(a){return function(b){requestMapPanelCallback(b,a)}}function requestMapPanelCallback(b,e){var g=this;var h=this.params;if(h){var d=h.mapWidth;if(d){var a=e.mapElement;a.style.width=d}}var f=e.getSidePanel();f.innerHTML=b.responseText;ruzeeInPanel.renderFromSelector("div.ruzeeInPanel");if(h){var c=h.onLoad;if(c){c.call(e)}}}function requestComponentMapPanel(b,e){if(!e){e="main"}if(!b){b=MapSpaceManager.getMapSpace("map")}var a=b.mapId;this.mapPanelURLParams.mapId=a;var c=b.formShutMapEntryListParameter();if(c){this.mapPanelURLParams["shutEntryLists_"+b.mapId]=c}else{this.mapPanelURLParams["shutEntryLists_"+b.mapId]=null}var d=b.addViewByParams(this.mapPanelURLParams);d.map_name=b.name;if(b.activityId){d.activityId=b.activityId}if(b.activityAssName){d.activityAssName=b.activityAssName}procRequestAndCallback.call(processes[e],b.mapPanelURL,getRequestMapPanelCallback(b),d)}function requestMapPanel(b,e){if(!e){e="main"}if(!b){b=MapSpaceManager.getMapSpace("map")}var a=b.mapId;if(a){this.mapPanelURLParams.mapId=a}else{this.mapPanelURLParams.mapId=null}if(b.mapEntryId){this.mapPanelURLParams.mapEntryId=b.mapEntryId}else{this.mapPanelURLParams.mapEntryId=null}if(b.ownerId){this.mapPanelURLParams.id=b.ownerId}else{this.mapPanelURLParams.id=null}var c=b.formShutMapEntryListParameter();if(c){this.mapPanelURLParams["shutEntryLists_"+b.mapId]=c}else{this.mapPanelURLParams["shutEntryLists_"+b.mapId]=null}var d=b.addViewByParams(this.mapPanelURLParams);d.map_name=b.name;if(b.activityId){d.activityId=b.activityId}if(b.activityAssName){d.activityAssName=b.activityAssName}procRequestAndCallback.call(processes[e],b.mapPanelURL,getRequestMapPanelCallback(b),d)}function goToMapPage(b,c,a){if(!b){b=page.mapPageURL}b+="?id="+page.componentId;if(c){b+="&mapId="+c}if(a&&a.toHideActivity){b+="&toHideActivity=true"}forward(root+b)}function loadPageMapPopupOnLoad(){this.addButtons();if(this.toAddCloseButton){this.addCloseButton(page.getClosePopupFunction())}if(this.toShowPopup){this.showPopupForId(this.mapEntryId)}ruzeeInPanel.renderFromSelector("div.ruzeeInPanel")}function initMapViewByParams(c,a){if(!a){a={}}if(!c){c="map"}var b=$(c+"_toHideActivity");if(b&&"true"==b.value){a.toHideActivity=true}else{var d=$(c+"_viewByChoiceType");if(d){a.viewByChoiceType=d.value;if(a.viewByChoiceType=="since"){a.startDate=$(c+"_startDate").value;a.endDate=$(c+"_endDate").value}else{if(a.viewByChoiceType=="latest"){a.maxResults=$(c+"_maxResults").value}}}}return a}function loadPageMapPopup(f,e,g,j){var a=pageMapPopupURL;if(j.popupURL){a=j.popupURL}var d=new Object();if(g){d.id=g}d.mapId=f;if(e){d.mapEntryId=e}var c=j.viewByParams;if(c){if(c.activityId){d.activityId=c.activityId}if(c.activityAssName){d.activityAssName=c.activityAssName}}var b=function(l){var o=false;if(!j.edit){o=true}openPopup(l.responseText,null,{lightbox:true,stretchy:true,noOverlay:true,width:"100%",isolatePopup:o});j.viewByParams=initMapViewByParams("map",c);mapSpace=new MapSpace("map","map_data",f);processes.main.mapSpace=mapSpace;mapSpace.loadMap=loadFromServer;if(g){mapSpace.ownerId=g}mapSpace.mapEntryId=e;mapSpace.onLoad=loadPageMapPopupOnLoad;if(!j){j=new Object()}var n=$("map_to_hide_activity");if(n){if(!j.viewByParams){j.viewByParams={}}j.viewByParams.toHideActivity=n.value}if(!page.requestMapPanel){page.requestMapPanel=requestMapPanel}var p=page.viewMapPanelURL;if(!p){var m=j.mapComponentType;if(!m){m=page.componentName}p="/"+m+viewMapPanelURL}j.onlyForView=true;j.toIncludeAllPoints=true;j.mapTypeControl=true;j.largeMapControl=true;j.mapPanelURLParams={processId:"main",mapPanelURL:"/"+page.interestName+p};mapSpace.toAddCloseButton=true;if(j.toShowPopup){mapSpace.toShowPopup=true}mapSpace.init(j)};var h=page.componentName;if(j.mapComponentType){h=j.mapComponentType}XCalls.requestAndOnSuccess(a,b,d,{isUserRequest:false,componentName:h})}function loadPageMapEmbeddedOnLoad(){this.addButtons();if(this.toSelectEntry){this.showPopupForId(this.mapEntryId,true)}if(!this.sidePanelOnlyOnBlowup){page.requestMapPanel(this);var a=$(this.name+"_side_panel");if(a){Element.show(a)}}}function loadPageMapEmbedded(b,d,a){var c="map_embedded";if(a&&a.mapName){c=a.mapName}var f=new MapSpace(c,"map_data",b);f.loadMap=loadFromServer;f.mapEntryId=d;f.onLoad=loadPageMapEmbeddedOnLoad;if(!a){a=new Object()}if(!page.requestMapPanel){page.requestMapPanel=requestMapPanel}var g=page.viewMapPanelURL;if(!g){var e=a.mapComponentType;if(!e){e=page.componentName}g="/"+e+viewMapPanelURL}a.onlyForView=true;a.toIncludeAllPoints=true;a.mapTypeControl=true;a.smallMapControl=true;a.mapPanelURLParams={processId:"main",mapPanelURL:"/"+page.interestName+g};f.init(a)}function loadPageMapOnLoad(){this.addButtons();if(this.toSelectEntryList){this.showEntryListIsolated(this.toSelectEntryList)}if(this.toSelectEntry){this.showPopupForId(this.mapEntryId,true)}}function addButtonsAndBlowupMap(){this.addButtons();this.blowupMap()}function loadPageMap(b,a){mapSpace=new MapSpace("map","map_data",b);processes.main.mapSpace=mapSpace;mapSpace.loadMap=loadFromServer;mapSpace.onLoad=loadPageMapOnLoad;if(!page.requestMapPanel){page.requestMapPanel=requestMapPanel}var e=page.viewMapPanelURL;if(!e){var d=a.mapComponentType;if(!d){d=page.componentName}e="/"+d+viewMapPanelURL}var c={mapTypeControl:true,largeMapControl:true};if(a.viewByParams){c.viewByParams=a.viewByParams}c.mapPanelURLParams={processId:"main",mapPanelURL:"/"+page.interestName+e};if(a){if(a.edit){c.edit=true;c.editMode="map";e=page.mapPanelURL;if(!e){var d=a.mapComponentType;if(!d){d=page.componentName}e="/"+d+mapPanelURL}c.mapPanelURLParams.mapPanelURL="/"+page.interestName+e}if(a.mapSize){if(a.mapSize=="blowup"){mapSpace.onLoad=addButtonsAndBlowupMap}}if(a.toSelectEntryList){c.toSelectEntryList=a.toSelectEntryList}if(a.toSelectEntry){c.toSelectEntry=a.toSelectEntry}if(a.mapEntryId){c.mapEntryId=a.mapEntryId}if(a.mapDataURL){c.mapDataURL=a.mapDataURL}}c.toIncludeAllPoints=true;mapSpace.init(c);page.onCancel=getRequestMapPanelFunc(mapSpace);page.onFinish=getRequestMapPanelFunc(mapSpace)}function getRequestMapPanelFunc(a,b){return function(){page.requestMapPanel(a,b)}}function createDefaultLocationSelector(a){var b=document.createElement("div");b.id=a;b.className="locationSelector";b.style.display="none";b.style.width="100%";b.style.height="100%";b.style.position="absolute";b.style.top="0px";b.style.left="0px";document.body.appendChild(b);return b}function getLocationSelector(a){var b=$(a);if(!b){b=createDefaultLocationSelector(a)}return b}function openActivityStatusUpdateForm(c,b){var e={};if(c){e.id=c}var a=page.componentName;if(b&&b.componentName){a=b.componentName}var d=function(f){openPopup(f.responseText,null,{lightbox:true})};XCalls.requestForm(updateActivityStatusURL,d,e,{isUserRequest:true,componentName:a})}function submitActivityStatusUpdate(h,j){var a=updateActivityStatusURL;var b=document.forms.activityStatus_form;var f=null;if(b.elements.statusChoice){var e=getSelection(b.elements.statusChoice);if(e){f=e.value}}if(!f){f=b.elements.statusChoiceCustom.value}var d={};if(h){d.id=h}if(f){d.message=f}var g=page.componentName;if(j&&j.componentName){g=j.componentName}var c=function(n){var m=n.getResponseHeader("x_status");if(m=="success"){page.closePopup();var l=$("activity_status_message_"+h);if(!l){l=$("activity_status_message")}l.innerHTML=n.responseText}else{page.fillPopup(n.responseText)}};XCalls.postAndCallback(a,c,d,{isUserRequest:true,componentName:g})}function clearActivityStatusUpdate(d,c){var b=updateActivityStatusURL;var f={id:d,message:""};var a=page.componentName;if(c&&c.componentName){a=c.componentName}var e=function(j){var h=j.getResponseHeader("x_status");if(h=="success"){page.closePopup();var g=$("activity_status_message_"+d);if(!g){g=$("activity_status_message")}g.innerHTML=j.responseText}else{page.fillPopup(j.responseText)}};XCalls.postAndCallback(updateActivityStatusURL,e,f,{isUserRequest:true,componentName:a})}function removeToNotify(c){var b=$("toNotify_container");b.removeChild($(c+"_toNotify_container"));var d=$("numToNotify");var a=parseInt(d.innerHTML);a--;d.innerHTML=a}function sendNotifications(n,o){var b=sendNotificationsURL;var c=$("toNotify_container");var a=$("notificationMessage");var j={requestType:"sendNotifications",componentName:page.componentName};if(n){j.id=n}if(o){if(o.ownerId){j.ownerId=o.ownerId}if(o.assName){j.assName=o.assName}}if(a){j.message=a.value}var m=document.getElementsByName("idToNotify");var f=document.getElementsByName("emailAddressToNotify");var e;var h=0;var g=0;for(var l=0;l<f.length;l++){e=f[l];j["emails["+h+"]"]=e.value;h++}for(var l=0;l<m.length;l++){e=m[l];j["idsToNotify["+g+"]"]=e.value;g++}if(g>0||h>0){var d=function(p){openMessagePopup("Notifications Sent!",null,{lightbox:true})};XCalls.postAndOnSuccess(b,d,j,{componentName:"buddies"})}else{openMessagePopup("You need to add people from the right panel.",null,{lightbox:true,popupId:"addPeopleMessage"})}}function addEmailsToNotify(a){var b=addToNotifyURL;var e=false;var d=document.forms.addEmails_form;emails=d.emailString.value;e=true;var f={id:a,emailString:emails,requestType:"addEmails",componentName:page.componentName};var g=emails.split(",").length;var c=function(n){var m=n.getResponseHeader("x_status");if(m=="success"){var l=$("toNotify_container");l.innerHTML=l.innerHTML+n.responseText;if(e){var j=$("addEmails_error");if(j){hide(j)}$("addEmails_emails").value=""}var o=$("numToNotify");var h=parseInt(o.innerHTML);h=h+g;o.innerHTML=h}else{if(e){var l=$("addEmails_container");l.innerHTML=n.responseText}}};XCalls.postAndCallback(b,c,f,{showWaiting:false,componentName:"buddies"})}function addBuddyToNotify(d,e){var c=$("toNotify_container");var b=$(d+"_container");if(b){b.parentNode.removeChild(b)}b=$(d+"_toNotify_container");if(b){c.removeChild(b)}var h=document.createElement("div");h.id=d+"_toNotify_container";var g='<div class="clearfix"><input type="hidden" name="idToNotify" value="'+d+'"/><div style="float:left;"><html:linkpage="">'+e+'</html:link></div><div style="float:left; margin-left:5px;"onclick="removeToNotify(\''+d+'\')"><a href="javascript: void(0);">[Remove]<a></div></div>';h.innerHTML=g;c.appendChild(h);var f=$("numToNotify");var a=parseInt(f.innerHTML);a++;f.innerHTML=a}function openNotifyPopup(a){var c=new Object();if(a){c.id=a}var b=function(d){openPopup(d.responseText,null,{lightbox:true})};XCalls.requestForm(notifyURL,b,c)}function openComponentSectionNotifyPopup(b,a,c){var e=new Object();if(b){e.componentName=b}if(c){e.assName=c}if(a){e.ownerId=a}var d=function(f){openPopup(f.responseText,null,{lightbox:true})};XCalls.requestForm(notifyURL,d,e)}function buddyListSearch(a,g){var d=buddyListURL;var c=$(g+"_search");var b=c.value;var f={id:a,searchTerm:b};var e=function(h){$(g+"_list").innerHTML=h.responseText};XCalls.postAndOnSuccess(d,e,f,{showWaiting:false,componentName:"buddies"})}function buddyListSearchGeneric(a,g){var d=buddySelectionListGenericURL;var c=$(g+"_search");var b=c.value;var f={id:a,searchTerm:b};var e=function(h){$(g+"_list").innerHTML=h.responseText};XCalls.postAndOnSuccess(d,e,f,{showWaiting:false,componentName:"buddies"})}function deleteComment(c,b){var a=deleteCommentURL;var e=c+"_display";if(b&&b.containerId){e=b.containerId}e=$(e);var f={id:c,requestType:"delete"};var d=function(g){e.parentNode.removeChild(e)};XCalls.postAndOnSuccess(a,d,f)}function deleteFeedItemComment(c,b){var a=deleteFeedItemCommentURL;var e=c+"_display";if(b&&b.containerId){e=b.containerId}e=$(e);var f={id:c,requestType:"delete"};var d=function(g){e.parentNode.removeChild(e)};XCalls.postAndOnSuccess(a,d,f)}function deleteFeedItemPopup(a,b){var d=getClosePopupAndDeleteFeedItemFunc(a,b);var c=createConfirmPopup("Are you sure you want to delete this feed item?",{confirmOnclick:d,lightbox:true});placePopup(c,null,{lightbox:true})}function getClosePopupAndDeleteFeedItemFunc(a,b){return function(){page.closePopup();deleteFeedItem(a,b)}}function deleteFeedItem(a,b){if(!b){b=""}var c=deleteFeedItemURL;var e={id:a};var d=function(f){var g=$(a+"_display"+b);g.parentNode.removeChild(g)};XCalls.postAndOnSuccess(c,d,e)}function getClosePopupAndDeleteComponentFunc(b,a,c){return function(){page.closePopup();deleteComponent(b,a,c)}}function deleteComponentPopup(b,e,a,d){var f=getClosePopupAndDeleteComponentFunc(b,a,d);var c=createConfirmPopup("Are you sure you want to delete this forever?",{confirmOnclick:f,lightbox:true});placePopup(c,e,{lightbox:true})}function deleteComponent(c,a,e){var b=deleteComponentURL;if(!a){a=page.componentName}var f={id:c};var d=function(g){if(e){forward(e)}else{var h=$(c+"_container");h.parentNode.removeChild(h)}};XCalls.postAndOnSuccess("/"+page.interestName+"/user/"+a+b,d,f,{urlAsFullPath:true})}function editComment(b){var a=editCommentURL;var d=document.forms["form_"+b];var f=d.commentText.value;var e={id:b,text:f};var c=function(g){var h=$(b+"_text");h.innerHTML=g.responseText;swap(b+"_display",b+"_edit")};XCalls.postAndOnSuccess(a,c,e)}function postComment(a,c){var b=postCommentURL;var e=null;if(c&&c.formName){e=document.forms[c.formName]}else{e=document.forms.commentForm}var g=e.text.value;var f={ownerId:a,text:g};var d=function(l){if(c&&c.containerId){var h=$(c.containerId);var m=document.createElement("div");m.id="to_slide_down";m.style.display="none";var j=document.createElement("div");Element.insert(m,j);j.innerHTML=l.responseText;Element.insert(h,{top:m});Effect.SlideDown("to_slide_down",{duration:1});m.id=""}e.text.value=""};XCalls.postAndOnSuccess(b,d,f)}function postFeedItemComment(f,l){var a=postFeedItemCommentURL;var b=null;var e=null;var j="";if(l&&l.feedKey){e=l.feedKey}if(l&&l.feedSuffix){j=l.feedSuffix}if(l&&l.formName){b=document.forms[l.formName]}else{var h="form_"+f+j;b=document.forms[h]}var g=b.text.value;var d={ownerId:f,text:g};if(e){d.feed_key=e}var c=function(o){var m=$(f+"_feed_item_comment_list"+j);if(m){var p=document.createElement("div");p.id="to_slide_down";p.style.display="none";var n=document.createElement("div");Element.insert(p,n);n.innerHTML=o.responseText;Element.insert(m,{bottom:p});Effect.SlideDown("to_slide_down",{duration:1});p.id=""}b.text.value=""};XCalls.postAndOnSuccess(a,c,d)}function reloadActivityStatusMessage(d,c){var b=reloadActivityStatusURL;var f={};if(d){f.id=d}var a=page.componentName;if(c&&c.componentName){a=c.componentName}var e=function(j){var h=j.getResponseHeader("x_status");if(h=="success"){var g=$("append_to_title");if(g){g.innerHTML=j.responseText}}};XCalls.postAndCallback(b,e,f,{isUserRequest:true,componentName:a})}function postActivityStatusUpdate(h,j){var b=postActivityStatusURL;var c=document.forms.activityStatusForm;var f=c.elements.text.value;var e={};if(h){e.id=h}if(f){e.message=f}else{e.message=""}var a=$("statusMapEntry_id_value");if(a){e.mapEntryId=a.value}var g=page.componentName;if(j&&j.componentName){g=j.componentName}var d=function(o){var m=o.getResponseHeader("x_status");if(m=="success"){if(j&&j.containerId){var l=$(j.containerId);var p=document.createElement("div");p.id="to_slide_down";p.style.display="none";var n=document.createElement("div");Element.insert(p,n);n.innerHTML=o.responseText;Element.insert(l,{top:p});Effect.SlideDown("to_slide_down",{duration:1});p.id="";if(page.activityStatusCallback){page.activityStatusCallback.call()}}reloadActivityStatusMessage(h);c.elements.text.value="";var q=$("statusMapEntry_new");Element.show(q);q=$("statusMapEntry_edit");if(q){Element.hide(q)}q=$("statusMapEntry_remove");if(q){Element.hide(q)}q=$("statusMapEntry_value_element");if(q){q.innerHTML=""}}};XCalls.postAndCallback(b,d,e,{isUserRequest:true,componentName:g})}function checkURLAvailability(d){var a=checkURLAvailabilityURL;var c={customURL:d};var b=function(e){openMessagePopup(e.responseText,null,{lightbox:true})};XCalls.postAndOnSuccess(a,b,c)}function publishComponent(a){var b=publishURL;var d={id:a};var c=function(e){var g=page.getClosePopupAndReloadPageFunction();var f=createConfirmPopup(e.responseText,{confirmOnclick:g,excludeCancel:true,lightbox:true});placePopup(f,null,{lightbox:true})};XCalls.postAndOnSuccess(b,c,d)}function getClosePopupAndRemoveBuddyFunc(a){return function(){page.closePopup();removeBuddy(a)}}function removeBuddyPopup(a){var c=getClosePopupAndRemoveBuddyFunc(a);var b=createConfirmPopup("Are you sure you want to remove this buddy from your buddy list?",{confirmOnclick:c,lightbox:true});placePopup(b,null,{lightbox:true})}function removeBuddy(a){var b=buddyRemoveURL;var d={id:a};var c=function(e){var f=$(a+"_container");f.parentNode.removeChild(f)};XCalls.postAndOnSuccess(b,c,d)}function setWidgetSelectedKey(c,a){var d=page.widgetStates;if(!d){d=new Object();page.widgetStates=d}var b=new Object();d[c]=b;b.selectedKey=a}function selectWidgetTab(c,f){var a=page.widgetStates;if(!a){a=new Object()}var e=a[c];if(!e){e=new Object();a[c]=e}var g=e.selectedKey;var d=$(c+"_"+g+"_tab");var b=$(c+"_"+g+"_display");var j=$(c+"_"+f+"_tab");var h=$(c+"_"+f+"_display");Element.hide(b);Element.show(h);d.style.backgroundColor="#eee";j.style.backgroundColor="#fff";e.selectedKey=f}function selectWidgetTab2(d,g){var f=page.widgetStates;if(!f){f=new Object()}var b=f[d];if(!b){b=new Object();f[d]=b}var a=b.selectedKey;var e=$(d+"_"+a+"_display");var c=$(d+"_"+g+"_display");Element.hide(e);Element.show(c);Element.hide($(d+"_"+g+"_tab"));Element.show($(d+"_"+g+"_tab_selected"));Element.show($(d+"_"+a+"_tab"));Element.hide($(d+"_"+a+"_tab_selected"));b.selectedKey=g}function scrollWidget(d,c){var g=page.widgetStates;if(!g){g=new Object()}var b=g[d];if(!b){b=new Object();g[d]=b}var h=b.index;if(h==null){h=0}var f=$(d+"_display_"+h);var a=null;if(!c){a=h+1}else{a=h-1}var e=$(d+"_display_"+a);if(!e){a=0;e=$(d+"_display_"+a)}b.index=a;hide(f);show(e)}function scrollWidget2(d,c){var g=page.widgetStates;if(!g){g=new Object()}var b=g[d];if(!b){b=new Object();g[d]=b}var h=b.index;if(h==null){h=0}var f=$(d+"_display_"+h);var a=null;if(!c){a=h+1}else{a=h-1}var e=$(d+"_display_"+a);if(!e){a=0;e=$(d+"_display_"+a)}b.index=a;Effect.SlideRightOutOfView(d+"_display_"+h)}function administerComonentPopup(a,c){if(!c){c=""}var b=page[c+a+"_administer_container"];if(b){openPopup(b.innerHTML,null,{lightbox:true})}else{b=$(c+a+"_administer_container");b.parentNode.removeChild(b);var d=b.innerHTML;openPopup(d,null,{lightbox:true});page[c+a+"_administer_container"]=b}}function administerComponent(c,a,g){if(!g){g=""}if(a==null){a=page.componentName}var b=administerComponentURL;var f=document.forms[g+c+"_administer_form"];var e=f.featuredStatus.value;var h={id:c,featuredStatus:e};var d=function(j){reloadPage()};XCalls.postAndOnSuccess("/"+page.interestName+"/user/"+a+b,d,h,{urlAsFullPath:true})}function nextFeaturedComponent(l,g,m){var b;if(m){b=featuredComponentSkinnyURL}else{b=featuredComponentURL}var a=page[l+"_featuredStatusIndex"];if(!a){a=0}var h;if(!g){h=a+1}else{h=a-1}var j=$(l+"_featured_"+h+"_id");if(!j){h=0;j=$(l+"_featured_"+h+"_id")}page[l+"_featuredStatusIndex"]=h;var c=j.value;var e=$(l+"_featured_"+h+"_componentName").value;var f=new Object();f.id=c;var d=function(o){var n=$(l+"_featured_content");n.innerHTML=o.responseText};XCalls.requestAndCallback("/"+page.interestName+"/"+e+b,d,f,{urlAsFullPath:true,showWaiting:false})}var MESSAGES={"format.date":"MM/dd/yyyy","format.time":"h:mm a","photoviewer.toolbar.first":"Go to Start (Home)","photoviewer.toolbar.prev":"Previous Photo (Left arrow)","photoviewer.toolbar.slideShow":"Start/Pause Slide Show (Space)","photoviewer.toolbar.next":"Next Photo (Right arrow)","photoviewer.toolbar.last":"Go to End (End)","photoviewer.toolbar.email":"Email Photo","photoviewer.toolbar.permalink":"Link to Photo","photoviewer.toolbar.close":"Close (Esc)","photoviewer.email.subject.photo":"Photo","gallery.nophotos":"No photos","gallery.thumbs.start":"Start","gallery.thumbs.end":"End","gallery.toolbar.first":"First Photo","gallery.toolbar.prev":"Previous Photo","gallery.toolbar.view":"View Photo","gallery.toolbar.next":"Next Photo","gallery.toolbar.last":"Last Photo","gallery.view.full":"Maximize Window","gallery.view.photo":"Show Photo Only","gallery.view.text":"Show Description Only","gallery.view.close":"Close Window"};var agent=navigator.userAgent.toLowerCase();var IE=(agent.indexOf("msie")!=-1&&agent.indexOf("opera")==-1);var IE7=(agent.indexOf("msie 7")!=-1);var OPERA=(agent.indexOf("opera")!=-1);var SAFARI=(agent.indexOf("safari")!=-1);var FIREFOX=(agent.indexOf("gecko")!=-1);var STRICT_MODE=(document.compatMode=="CSS1Compat");var _DOMAIN=undefined;var GALLERY_W=650;var GALLERY_H=530;if(USE_GOOGLE_MAPS==undefined){var USE_GOOGLE_MAPS=true}var USE_OLD_MAPS=!USE_GOOGLE_MAPS;var TESTING=false;var log=getLogger();if(document.location.href.indexOf("#jslog")!=-1){log.enable()}function Logger(){this.enable=loggerEnable;this.clear=loggerClear;this.log=loggerLog;this.debug=loggerDebug;this.info=loggerInfo;this.error=loggerError;var a=undefined;try{a=document.createElement("textarea");a.style.display="none";a.style.position="absolute";a.style.right="2px";a.style.bottom="2px";a.style.width="23em";a.style.height="40em";a.style.fontFamily="monospace";a.style.fontSize="9px";a.style.color="#000000";setOpacity(a,0.7);a.border="1px solid #808080";a.ondblclick=clearLogger}catch(b){}this.console=a;this.enabled=false;this.logTimeStart=getTimeMillis()}function getLogger(){var a=undefined;var c=window;while(a==undefined){try{a=c.document.log}catch(b){break}if(c==c.parent){break}c=c.parent}if(a==undefined){a=new Logger();document.log=a}return a}function clearLogger(){getLogger().clear()}function loggerEnable(){if(this.enabled||this.console==undefined){return}if(window.document.body!=undefined){window.document.body.appendChild(this.console);this.console.style.display="";this.enabled=true}}function loggerDebug(a){this.log("DEBUG",a)}function loggerInfo(a){this.log("INFO",a)}function loggerError(b,a){this.log("ERROR",b,a)}function loggerLog(f,d,c){if(!this.enabled||this.console==undefined){return}var b=(getTimeMillis()-this.logTimeStart)+"";while(b.length<6){b+=" "}var a=b+" ";if(d!=undefined){a+=d+" "}if(c!=undefined){a+=c.name+": "+c.message}this.console.value+=a+"\n"}function loggerClear(){if(!this.enabled||this.console==undefined){return}this.console.value=""}function getTimeMillis(){var a=new Date();return Date.UTC(a.getFullYear(),a.getMonth(),a.getDay(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds())}function getEvent(a){return(a!=undefined?a:window.event)}function preventDefault(a){if(a.preventDefault){a.preventDefault();a.stopPropagation()}else{a.returnValue=false;a.cancelBubble=true}}function getEventTarget(a){if(a==undefined){return undefined}if(a.srcElement!=undefined){return a.srcElement}else{return a.target}}function getResponse(b,c,a,h,e){var d=undefined;try{d=new ActiveXObject("Msxml2.XMLHTTP")}catch(g){try{d=new ActiveXObject("Microsoft.XMLHTTP")}catch(f){d=new XMLHttpRequest()}}if(d==undefined){log.error("Failed to initialize XML/HTTP");return undefined}d.open("GET",b,c);if(!c){d.send(undefined);if(d.readyState!=4){log.error("Request failed: "+d.readyState);return undefined}if(!a){return d.responseText}else{return d.responseXML}}else{pollResponse(d,h,e);d.send(undefined);return undefined}}function pollResponse(a,c,b){if(a.readyState!=4){window.setTimeout(function(){pollResponse(a,c,b)},100)}else{c(a,b)}}function getElementsByTagName(b,a){if(b==undefined){return undefined}if(IE){return b.getElementsByTagName(a)}if(a.indexOf(":")!=-1){a=a.split(":")[1]}return b.getElementsByTagNameNS("*",a)}function getFirstElementsValue(c,a){if(c==undefined){return undefined}var b=getElementsByTagName(c,a);if(b.length===0){return undefined}else{return getElementValue(b[0])}}function findDOMElement(d){var a=undefined;var c=window;while(a==undefined){try{a=c.document.getElementById(d)}catch(b){break}if(c===c.parent){break}c=c.parent}return a}function getElementValue(b){var a;var c="";for(a=0;a<b.childNodes.length;a++){if(b.childNodes[a].nodeValue!==null){c+=b.childNodes[a].nodeValue}}return c}function trim(a){if(a==undefined){return undefined}return a.replace(/^\s*([\s\S]*\S+)\s*$|^\s*$/,"$1")}function trimToLen(b,a){if(b==undefined){return undefined}if(b.length>a){b=b.substring(0,a)+"..."}return b}function getRootWindow(){var b=window;while(b!=undefined){try{if(b===b.parent){break}else{if(b.parent!=undefined&&b.parent.document.location.href.indexOf("/selenium-server/")!=-1){break}}b=b.parent}catch(a){b.permissionDenied=true;break}}return b}function getURLParams(){var d,f=[];var c=window.location.search;if(c==undefined||c.length===0){return undefined}c=c.substring(1);var a=c.replace(/\+/g," ").split("&");for(d=0;d<a.length;d++){var b,e;var g=a[d].indexOf("=");if(g!=-1){b=a[d].substring(0,g);e=unescape(a[d].substring(g+1))}else{b=a[d];e=undefined}f[b]=e}return f}function joinLists(b,e){var d;var c=0;var a=[];if(b!=undefined&&b.length>0){for(d=0;d<b.length;d++){a[d]=b[d]}c=b.length}if(e!=undefined&&e.length>0){for(d=0;d<e.length;d++){a[d+c]=e[d]}}return a}function setCookie(b,d,a){var c=(a==undefined)?"":("; expires="+a.toGMTString());document.cookie=b+"="+d+c}function getCookie(c){if(document.cookie==undefined||document.cookie.length===0){return undefined}var d=c+"=";var b=document.cookie.indexOf(d);if(b!=-1){b+=d.length;var a=document.cookie.indexOf(";",b);if(a==-1){a=document.cookie.length}return unescape(document.cookie.substring(b,a))}}function removeCookie(c){var b=new Date();var a=new Date();a.setTime(b.getTime()-1);setCookie(c,"",a)}function getMessage(a){if(MESSAGES[a]==undefined){return"("+a+")"}else{return MESSAGES[a]}}function localizeNodeAttribs(b){var a;if(b==undefined){return}if(b.alt!=undefined&&b.alt.indexOf("#")===0){b.alt=getMessage(b.alt.substring(1))}if(b.title!=undefined&&b.title.indexOf("#")===0){b.title=getMessage(b.title.substring(1))}if(b.childNodes!=undefined){for(a=0;a<b.childNodes.length;a++){localizeNodeAttribs(b.childNodes[a])}}}function padNumber(b,a){b=b+"";while(b.length<a){b="0"+b}return b}function isArray(a){if(a instanceof Array){return true}else{return false}}function simpleDateFormatter(a,c){var e=c;e=e.replace(/yyyy/g,a.getFullYear());e=e.replace(/yy/g,padNumber(a.getFullYear()%100,2));e=e.replace(/MM/g,padNumber(a.getMonth()+1,2));e=e.replace(/M/g,a.getMonth()+1);e=e.replace(/dd/g,padNumber(a.getDate(),2));e=e.replace(/d/g,a.getDate());e=e.replace(/HH/g,padNumber(a.getHours(),2));e=e.replace(/H/g,a.getHours());e=e.replace(/hh/g,padNumber(a.getHours()%12,2));e=e.replace(/h/g,a.getHours()%12);e=e.replace(/mm/g,padNumber(a.getMinutes(),2));e=e.replace(/m/g,a.getMinutes());e=e.replace(/ss/g,padNumber(a.getSeconds(),2));e=e.replace(/s/g,a.getSeconds());var b=(a.getHours()<12?"AM":"PM");e=e.replace(/a/g,b);return e}function formatDateTime(a){if(a==undefined){return undefined}return formatDate(a)+" "+formatTime(a)}function formatDate(b){var a=getMessage("format.date");return simpleDateFormatter(b,a)}function formatTime(b){var a=getMessage("format.time");return simpleDateFormatter(b,a)}function parseISOTime(b){if(b==undefined){return undefined}var a=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)(\.\d{3})?([Z+-])?(\d\d)?:?(\d\d)?$/;if(!a.test(b)){return undefined}else{return new Date(RegExp.$1,RegExp.$2-1,RegExp.$3,RegExp.$4,RegExp.$5,RegExp.$6)}}function setOpacity(b,a){if(IE){b.style.filter="alpha(opacity="+parseInt(a*100)+")"}b.style.KhtmlOpacity=a;b.style.opacity=a}function validCoordinates(a,b){if(Math.abs(a)>90||Math.abs(b)>180){return false}if(a===0&&b===0){return false}return true}function isHosted(){var a=document.location.host;if(a==undefined){a=""}return((a.indexOf("triptracker.net")==-1||a.indexOf("slideshow.triptracker.net")!=-1)&&a.indexOf("rtvslo.si")==-1&&!checkDomain())}function checkDomain(){try{if(_DOMAIN==undefined){return false}var d=document.location.protocol;if(d==undefined){d="http:"}var a=document.location.host;if(a==undefined){a=""}a=a.toLowerCase();if(d.toLowerCase().indexOf("file")===0){return true}var f=a.lastIndexOf(":");if(f!=-1){a=a.substring(0,f)}if(a.indexOf("www.")===0){a=a.substring(4)}if(a===""||a=="localhost"||a=="127.0.0.1"){return true}var b=_DOMAIN.toLowerCase();f=b.indexOf("://");if(f!=-1){b=b.substring(f+3)}f=b.indexOf("/");if(f!=-1){b=b.substring(0,f)}if(b.indexOf("www.")===0){b=b.substring(4)}if(a==b){return true}else{if(new RegExp(b).test(a)){return true}}return false}catch(c){return true}}function getWindowSize(c){var b=c.innerWidth;if(b==undefined||b===0||isNaN(b)){b=c.document.documentElement.clientWidth}if(b==undefined||b===0||isNaN(b)){b=c.document.body.clientWidth}var a=c.innerHeight;if(a==undefined||a===0||isNaN(a)){a=c.document.documentElement.clientHeight}if(a==undefined||a===0||isNaN(a)){a=c.document.body.clientHeight}return{w:b,h:a}}function getDocumentSize(d){var b=getWindowSize(d);var e=getScrollPos(d);var a=b.w+e.left;var c=b.h+e.top;a=Math.max(a,d.document.body.offsetWidth);c=Math.max(c,d.document.body.offsetHeight);a=Math.max(a,d.document.body.scrollWidth);c=Math.max(c,d.document.body.scrollHeight);return{w:a,h:c}}function getScrollPos(b){var a=b.pageYOffset;if(a==undefined||a===0){a=b.document.documentElement.scrollTop}if(a==undefined||a===0){a=b.document.body.scrollTop}var c=b.pageXOffset;if(c==undefined||c===0){c=b.document.documentElement.scrollLeft}if(c==undefined||c===0){c=b.document.body.scrollLeft}return{top:a,left:c}}var CLEAR_EVENTS=["onclick","ondblclick","onkeydown","onkeypress","onmousedown","onmouseup","onmousemove","onmouseover","onmouseout","onmousewheeldown","oncontextmenu"];function clearEvents(){var b,a;var d=0;if(document.all==undefined){return}for(b=0;b<document.all.length;b++){for(a=0;a<CLEAR_EVENTS.length;a++){var c=document.all[b][CLEAR_EVENTS[a]];if(c!=undefined){document.all[b][CLEAR_EVENTS[a]]=null;d++}}}}if(window.attachEvent){window.attachEvent("onunload",clearEvents)}function getGallery(){var a=undefined;var c=window;while(a==undefined){try{a=c.document.gallery}catch(b){break}var d=c;c=c.parent;if(d===c){break}}return a}function getMap(){if(this.map!=undefined){return this.map}try{if(document.map!=undefined){return document.map}}catch(a){}try{if(window.parent.document.map!=undefined){return window.parent.document.map}}catch(a){}return undefined}function viewerCloseCallback(e){var c,b,f=0;var a=getGallery();for(c=0;c<a.sets.length;c++){for(b=0;b<a.sets[c].photos.length;b++){var d=a.sets[c].photos[b];if(d==undefined||d.orig==undefined||d.orig.src==undefined){continue}if(f==e){a.setIndex=c;a.photoIndex=b;a.renderPhotos();a.win.focus();return}f++}}}var VIEWER_INDEX=0;var SLIDE_DURATION=4000;var SLIDE_OFFSET=50;var SLIDE_PHOTOS=true;var FADE_BORDER=false;var FADE_STEPS=10;var MOVE_STEP=1;var PRELOAD_TIMEOUT=60000;var BORDER_WIDTH=5;var FONT_SIZE=10;var LINE_HEIGHT="0.7em";var OFFSET_LEFT=0;var OFFSET_TOP=0;var REST_URL="/rest/";var P_IMG_ROOT="http://static.triptracker.net/jsmap/images/photoviewer";var TOOLBAR_IMG="toolbar.png";var TOOLBAR_IMG_RUNNING="toolbar2.png";var TOOLBAR_IMG_BACK="toolbar-back";var TOOLBAR_IMG_MASK="toolbar-mask.png";var TOOLBAR_IMG_LOADING="loading-anim.gif";var TOOLBAR_W=440;var TOOLBAR_H=75;var TOOLBAR_IMG_W=420;var TOOLBAR_IMG_H=44;var TOOLBAR_LINK="http://slideshow.triptracker.net";var TOOLBAR_OPACITY=0.7;var TOOLBAR_FONT_COLOR="#c0c0c0";var TOOLBAR_FONT_STYLE="tahoma, verdana, arial, helvetica, sans-serif";var BYLINE_FONT_COLOR=TOOLBAR_FONT_COLOR;var BYLINE_FONT_STYLE=TOOLBAR_FONT_STYLE;var BYLINE_POSITION_RIGHT=5;var BYLINE_POSITION_BOTTOM=5;var VIEWER_ID_PREFIX="PhotoViewer";var VIEWER_ID_BACK=VIEWER_ID_PREFIX+"Back";var VIEWER_ID_TOOLBAR=VIEWER_ID_PREFIX+"Toolbar";var VIEWER_ID_TOOLBAR_MAP=VIEWER_ID_PREFIX+"ToolbarMap";var VIEWER_ID_TOOLBAR_IMG=VIEWER_ID_PREFIX+"ToolbarImg";var VIEWER_ID_LOADING=VIEWER_ID_PREFIX+"Loading";var VIEWER_ID_TIME=VIEWER_ID_PREFIX+"Time";var VIEWER_ID_TITLE=VIEWER_ID_PREFIX+"Title";var VIEWER_ID_BYLINE=VIEWER_ID_PREFIX+"Byline";var VIEWER_ID_PHOTO=VIEWER_ID_PREFIX+"Photo";var TITLE_MAX_LENGTH=140;var TOOLBAR_IMG_LOADING_LEFT=273;var TOOLBAR_IMG_LOADING_TOP=24;function PhotoViewer(b,a){this.setImageRoot=setImageRoot;this.add=addPhoto;this.show=showPhoto;this.close=closePhoto;this.isShown=isPhotoShown;this.setBackground=setPhotoBackground;this.setShowToolbar=setShowToolbar;this.setToolbarImage=setToolbarImage;this.setShowCallback=setShowCallback;this.setCloseCallback=setCloseCallback;this.setEndCallback=setEndCallback;this.setLoading=setPhotoLoading;this.addBackShade=addBackShade;this.addToolbar=addToolbar;this.addCaptions=addCaptions;this.next=nextPhoto;this.prev=prevPhoto;this.first=firstPhoto;this.last=lastPhoto;this.slideShow=slideShow;this.slideShowStop=slideShowStop;this.startSlideShow=startSlideShow;this.handleKey=viewerHandleKey;this.checkStartFragmentIdentifier=checkStartFragmentIdentifier;this.checkStopFragmentIdentifier=checkStopFragmentIdentifier;this.setStartFragmentIdentifier=setStartFragmentIdentifier;this.setStopFragmentIdentifier=setStopFragmentIdentifier;this.email=emailPhoto;this.favorite=favoritePhoto;this.permalink=linkPhoto;this.setBackgroundColor=setBackgroundColor;this.setBorderWidth=setBorderWidth;this.setSlideDuration=setSlideDuration;this.disablePanning=disablePanning;this.enablePanning=enablePanning;this.disableFading=disableFading;this.enableFading=enableFading;this.disableShade=disableShade;this.enableShade=enableShade;this.setShadeColor=setShadeColor;this.setShadeOpacity=setShadeOpacity;this.setFontSize=setFontSize;this.setFont=setFont;this.enableAutoPlay=enableAutoPlay;this.disableAutoPlay=disableAutoPlay;this.enableEmailLink=enableEmailLink;this.disableEmailLink=disableEmailLink;this.enablePhotoLink=enablePhotoLink;this.disablePhotoLink=disablePhotoLink;this.setOnClickEvent=setOnClickEvent;this.enableLoop=enableLoop;this.disableLoop=disableLoop;this.enableToolbarAnimator=enableToolbarAnimator;this.disableToolbarAnimator=disableToolbarAnimator;this.enableToolbar=enableToolbar;this.disableToolbar=disableToolbar;this.setControlsImageMap=setControlsImageMap;this.setOverrideToolbarStyles=setOverrideToolbarStyles;this.setNoPadding=setNoPadding;this.hideOverlappingElements=hideOverlappingElements;this.showOverlappingElements=showOverlappingElements;this.id=VIEWER_ID_PREFIX+VIEWER_INDEX;VIEWER_INDEX++;this.photos=[];this.index=0;this.win=(b!=undefined?b:window);this.shown=false;this.showToolbar=true;this.backgroundColor="#000000";this.shadeColor="#000000";this.shadeOpacity=0.7;this.borderColor="#000000";this.shadeColor="#000000";this.shadeOpacity=0.7;this.borderWidth=BORDER_WIDTH;this.backgroundShade=true;this.fadePhotos=true;this.autoPlay=false;this.enableEmailLink=true;this.enablePhotoLink=true;this.slideDuration=SLIDE_DURATION;this.panPhotos=SLIDE_PHOTOS;this.fontSize=FONT_SIZE;this.font=undefined;if(a==undefined||a){if(this.win.addEventListener){this.win.addEventListener("keydown",viewerHandleKey,false)}else{this.win.document.attachEvent("onkeydown",viewerHandleKey)}}this.win.document.viewer=this;if(OPERA){this.disableFading()}}function PhotoImg(g,f,a,c,d,e,b){this.id=g;this.src=f;this.w=parseInt(a);this.h=parseInt(c);this.time=d;this.title=e;this.byline=b}function getViewer(){var c=undefined;var b=window;while(c==undefined){try{c=b.document.viewer}catch(a){break}if(b===b.parent){break}b=b.parent}return c}function setImageRoot(a){P_IMG_ROOT=a}function addPhoto(a,e,d,b){var c=typeof a;if(typeof a=="string"){a=new PhotoImg(undefined,a,undefined,undefined,d,e,b)}this.photos.push(a)}function setPhotoBackground(a,c,b){if(a!=undefined){this.backgroundColor=a}if(c!=undefined){this.borderColor=c}if(b!=undefined){this.backgroundShade=b}}function setPhotoLoading(a){this.isLoading=a;var b=this.win.document.getElementById(VIEWER_ID_LOADING);if(b==undefined){return}b.style.display=a?"":"none"}function setBackgroundColor(a){this.backgroundColor=a;this.borderColor=a}function setBorderWidth(a){this.borderWidth=a}function setSlideDuration(a){this.slideDuration=a}function disableShade(){this.backgroundShade=false}function enableShade(){this.backgroundShade=true}function setShadeColor(a){this.shadeColor=a}function setShadeOpacity(a){this.shadeOpacity=a}function disableFading(){this.fadePhotos=false}function enableFading(){this.fadePhotos=true}function disablePanning(){this.panPhotos=false}function enablePanning(){this.panPhotos=true}function setFontSize(a){this.fontSize=a}function setFont(a){this.font=a}function enableAutoPlay(){this.autoPlay=true}function disableAutoPlay(){this.autoPlay=false}function enableEmailLink(){this.enableEmailLink=true}function disableEmailLink(){this.enableEmailLink=false}function enablePhotoLink(){this.enablePhotoLink=true}function disablePhotoLink(){this.enablePhotoLink=false}function setOnClickEvent(a){this.customOnClickEvent=a}function enableLoop(){this.loop=true}function disableLoop(){this.loop=false}function enableToolbar(){this.showToolbar=true}function disableToolbar(){this.showToolbar=false}function enableToolbarAnimator(){this.toolbarAnimator=new ToolbarAnimator(this)}function disableToolbarAnimator(){if(this.toolbarAnimator!=undefined){this.toolbarAnimator.reset();this.toolbarAnimator=undefined}}function setControlsImageMap(a){this.customImageMap=a}function setOverrideToolbarStyles(a){this.overrideToolbarStyles=a}function setNoPadding(a){this.nopadding=a}function showPhoto(j,a,f){if(this.photos.length===0){return true}if(getRootWindow().permissionDenied&&this.badgeMode==undefined&&!getRootWindow().livemode){this.setStartFragmentIdentifier(j);return true}if(j!=undefined){this.index=j}if(this.index<0||this.index>=this.photos.length){log.error("Invalid photo index");return true}var A=this.win.document;var z=false;if(!this.shown){z=true;A.viewer=this;try{this.hideOverlappingElements()}catch(x){}}var r=16384;var l=getWindowSize(this.win);var b=l.w-(this.nopadding?this.borderWidth*2:20);var n=l.h-(this.nopadding?this.borderWidth*2:20);var w=getScrollPos(this.win);var s=w.left;var c=w.top;this.addBackShade(r);if(this.showToolbar){this.addToolbar(b,r);this.addCaptions()}var d=this.photos[this.index];if(isNaN(d.w)||isNaN(d.h)){if(d.preloadImage!=undefined){if(isNaN(d.w)&&d.preloadImage.width>0){d.w=d.preloadImage.width}if(isNaN(d.h)&&d.preloadImage.height>0){d.h=d.preloadImage.height}}else{this.index--;this.next();return false}}this.shown=true;var h=(this.nopadding?0:20);var q=-1;var y=-1;if(parseInt(d.w)>b||parseInt(d.h)>n){if(parseInt(d.w)/b>parseInt(d.h)/n){q=b-h;y=parseInt(q*d.h/d.w)}else{y=n-h;q=parseInt(y*d.w/d.h)}}else{q=parseInt(d.w);y=parseInt(d.h)}if(q<=0||y<=0){if(!this.showToolbar){throw"Missing photo dimension"}}if(a==undefined){a=0}var v=A.createElement("div");v.id=VIEWER_ID_PHOTO;v.style.visibility="hidden";v.style.position="absolute";v.style.zIndex=r;v.style.overflow="hidden";v.style.border=this.borderWidth+"px solid "+this.borderColor;v.style.textAlign="center";v.style.backgroundColor=this.backgroundColor;var m=A.createElement("img");m.style.visibility="hidden";m.style.position="relative";m.style.backgroundColor=this.backgroundColor;m.style.border="none";m.style.cursor="pointer";m.style.zIndex=(parseInt(v.style.zIndex)+1)+"";m.onclick=onClickEvent;if(f!=undefined&&this.fadePhotos){var o=(FADE_BORDER?v:m);setOpacity(o,f)}var g=parseInt((b-q)/2)+(this.nopadding?0:OFFSET_LEFT);v.style.left=(g+s+a/2)+"px";var p=parseInt((n-y)/2)+(this.nopadding?0:OFFSET_TOP);v.style.top=(p+c)+"px";m.style.visibility="hidden";v.style.width=(q-a)+"px";v.style.height=y+"px";m.style.width=q+"px";m.style.height=y+"px";m.src=d.src;v.style.visibility="visible";m.style.visibility="visible";v.appendChild(m);A.body.appendChild(v);if(this.photoDiv!=undefined){try{A.body.removeChild(this.photoDiv)}catch(x){}}this.photoDiv=v;this.photoImg=m;this.setLoading(false);if(this.showCallback!=undefined){this.showCallback(this.index)}if(z&&this.autoPlay){this.slideShow(true)}return false}function isPhotoShown(){return this.shown}function closeViewer(){getViewer().close()}function onPhotoLoad(a){var b=getViewer();if(b!=undefined){if(flickrHack(b,b.index)){b.setLoading(false);b.index--;b.next();return}b.show()}}function closePhoto(){var d=this.win;if(d==undefined){d=window}var c=d.document;var a=this.photoDiv;if(a!=undefined){c.body.removeChild(a)}a=c.getElementById(VIEWER_ID_BACK);if(a!=undefined){c.body.removeChild(a)}a=c.getElementById(VIEWER_ID_TOOLBAR);if(a!=undefined){c.body.removeChild(a)}a=c.getElementById(VIEWER_ID_BYLINE);if(a!=undefined){c.body.removeChild(a)}this.shown=false;this.slideShowRunning=false;this.slideShowPaused=false;try{this.showOverlappingElements()}catch(b){log.error(b)}if(this.toolbarAnimator!=undefined){this.toolbarAnimator.reset()}if(this.closeCallback!=undefined){this.closeCallback(this.index)}}function nextPhoto(c){if(this.isLoading){return}if(c==undefined){c=1}var b=this.index;if(this.index+c>=this.photos.length){if(this.loop&&c!=this.photos.length){this.index=0}else{this.index=this.photos.length-1}}else{if(this.index+c<0){if(c<-1){this.index=0}else{if(this.loop){this.index=this.photos.length-1}else{return}}}else{this.index+=c}}if(this.index==b){return}this.slideShowStop();var a=new Image();this.photos[this.index].preloadImage=a;this.setLoading(true);a.onload=onPhotoLoad;a.onerror=onPhotoLoad;if(this.photos[this.index].src!=undefined){a.src=this.photos[this.index].src}else{onPhotoLoad()}}function prevPhoto(a){if(a==undefined){a=1}this.next(-a)}function firstPhoto(){this.prev(this.photos.length)}function lastPhoto(){this.next(this.photos.length)}function startSlideShow(){getViewer().slideShow(true)}var slideTimeout;var slidePreloadImageLoaded=false;var slidePreloadTime=undefined;function slideShow(b){if(this.toolbarAnimator!=undefined){this.toolbarAnimator.slideshowAction()}var g=this.index+1;if(g>=this.photos.length){if(this.loop){g=0}else{if(!this.slideShowPaused&&!this.slideShowRunning){this.setToolbarImage(P_IMG_ROOT+"/"+TOOLBAR_IMG);return}}}var j=this.win.document;var e=this;var h=this.photoImg;if(h==undefined){return}var f=this.photoDiv;var d=(FADE_BORDER?f:h);if(b!=undefined&&b===true){if(this.slideShowPaused){this.slideShowPaused=false;this.setToolbarImage(P_IMG_ROOT+"/"+TOOLBAR_IMG_RUNNING);return}else{if(this.slideShowRunning){this.slideShowPaused=true;this.setToolbarImage(P_IMG_ROOT+"/"+TOOLBAR_IMG);return}else{this.slideShowRunning=true;this.slideShowPaused=false;this.slideFirstPhoto=true;this.setToolbarImage(P_IMG_ROOT+"/"+TOOLBAR_IMG_RUNNING)}}if(this.isLoading||this.index>this.photos.length-1){return}}else{if(this.slideShowPaused){window.setTimeout(function(){e.slideShow(false)},200);return}else{if(!this.slideShowRunning){this.setToolbarImage(P_IMG_ROOT+"/"+TOOLBAR_IMG);return}}}var c=0;if(h.leftOffset!=undefined){c=parseFloat(h.leftOffset)}if(c===0){if(g<this.photos.length){slidePreloadImageLoaded=false;var a=new Image();this.photos[g].preloadImage=a;slidePreloadTime=getTimeMillis();a.onload=onSlideLoad;a.onerror=onSlideLoad;a.src=this.photos[g].src}}if(c>-SLIDE_OFFSET){c-=MOVE_STEP;if(-c<=FADE_STEPS){if(d.style.opacity!=undefined&&parseFloat(d.style.opacity)<1){if(this.fadePhotos&&this.photos[this.index].src!=undefined){setOpacity(d,-c/FADE_STEPS)}}}else{if(c+SLIDE_OFFSET<FADE_STEPS){if(g<this.photos.length&&!slidePreloadImageLoaded){if(slidePreloadTime!=undefined&&getTimeMillis()-slidePreloadTime>PRELOAD_TIMEOUT){slidePreloadImageLoaded=true}c++;this.setLoading(true)}else{if(g<this.photos.length&&this.fadePhotos&&this.photos[this.index].src!=undefined){setOpacity(d,(c+SLIDE_OFFSET)/FADE_STEPS)}}}}h.leftOffset=c;if(this.panPhotos&&!this.slideFirstPhoto){h.style.left=c+"px"}}else{if(g>=this.photos.length){this.slideShowRunning=false;this.slideShowPaused=false;this.setToolbarImage(P_IMG_ROOT+"/"+TOOLBAR_IMG);if(this.toolbarAnimator!=undefined){this.toolbarAnimator.reset()}if(this.endCallback!=undefined){this.endCallback()}return}this.index=g;this.slideFirstPhoto=false;this.show(undefined,(this.panPhotos?SLIDE_OFFSET:0),0);d=(FADE_BORDER?this.photoDiv:this.photoImg);if(this.fadePhotos){setOpacity(d,0)}this.photoImg.leftOffset=0;if(this.panPhotos){this.photoImg.style.left="0px"}}var l=this.slideDuration/SLIDE_OFFSET;if(this.slideFirstPhoto){l/=2}slideTimeout=window.setTimeout(function(){e.slideShow(false)},l)}function onSlideLoad(b){var c=getViewer();if(c!=undefined){if(flickrHack(c,c.index+1)){var a=c.photos[c.index+1].preloadImage;a.src=c.photos[c.index+1].src;slidePreloadTime=getTimeMillis();return}slidePreloadImageLoaded=true;c.setLoading(false)}}function slideShowStop(){this.slideShowRunning=false;this.slideShowPaused=false;var b=this.win.document;var c=this.photoImg;if(c!=undefined){if(this.fadePhotos){var a=(FADE_BORDER?this.photoDiv:c);setOpacity(a,1)}c.style.left="0px"}}function addBackShade(d){var b=this.win.document;if(b.getElementById(VIEWER_ID_BACK)!=undefined){return}var a=b.createElement("div");a.id=VIEWER_ID_BACK;a.style.top="0px";a.style.left="0px";a.style.bottom="0px";a.style.right="0px";a.style.margin="0";a.style.padding="0";a.style.border="none";a.style.cursor="pointer";if(IE&&!(IE7&&STRICT_MODE)){a.style.position="absolute";var c=getDocumentSize(this.win);a.style.width=(c.w-21)+"px";a.style.height=(c.h-4)+"px"}else{a.style.position="fixed";a.style.width="100%";a.style.height="100%"}a.style.zIndex=d-1;a.style.backgroundColor=this.shadeColor;if(this.backgroundShade){setOpacity(a,this.shadeOpacity)}else{setOpacity(a,0)}a.onclick=onClickEvent;b.body.appendChild(a)}function addToolbar(a,j){var s=this.win.document;var n;if(s.getElementById(VIEWER_ID_TOOLBAR)!=undefined){return}var q=s.createElement("div");q.id=VIEWER_ID_TOOLBAR;setOpacity(q,TOOLBAR_OPACITY);q.style.zIndex=j+1;var h=TOOLBAR_IMG_BACK;if(!isHosted()){h+="-nologo"}if(IE&&!IE7){h+="-indexed"}h+=".png";if(!this.overrideToolbarStyles){var e=10;if(IE&&!(IE7&&STRICT_MODE)){q.style.position="absolute";if(IE7){var g=getWindowSize(this.win).h+getScrollPos(this.win).top;q.style.top=(g-TOOLBAR_H-10)+"px"}else{q.style.bottom=e+"px"}}else{q.style.position="fixed";q.style.bottom=e+"px"}q.style.left=(a-TOOLBAR_W+10)/2+"px";q.style.width=TOOLBAR_W+"px";q.style.height=TOOLBAR_H+"px";q.style.textAlign="center";q.style.backgroundImage="url('"+P_IMG_ROOT+"/"+h+"')";q.style.backgroundPosition="50% 0%";q.style.backgroundRepeat="no-repeat";q.style.lineHeight=LINE_HEIGHT}var o=undefined;if(!this.enableEmailLink&&TOOLBAR_IMG_MASK!=undefined){o=s.createElement("img");o.style.position="absolute";o.style.width=44;o.style.height=44;o.style.left="289px";o.style.top="0px";o.src=P_IMG_ROOT+"/"+TOOLBAR_IMG_MASK;q.appendChild(o)}if(!this.enablePhotoLink&&TOOLBAR_IMG_MASK!=undefined){o=s.createElement("img");o.style.position="absolute";o.style.width=44;o.style.height=44;o.style.left="339px";o.style.top="0px";o.src=P_IMG_ROOT+"/"+TOOLBAR_IMG_MASK;q.appendChild(o)}var m=this.customImageMap;if(m===undefined){m=s.createElement("map");var d=[];d.push(["getViewer().first()","17",getMessage("photoviewer.toolbar.first")]);d.push(["getViewer().prev()","68",getMessage("photoviewer.toolbar.prev")]);d.push(["getViewer().slideShow(true)","122",getMessage("photoviewer.toolbar.slideShow")]);d.push(["getViewer().next()","175",getMessage("photoviewer.toolbar.next")]);d.push(["getViewer().last()","227",getMessage("photoviewer.toolbar.last")]);if(this.enableEmailLink){d.push(["getViewer().email()","300",getMessage("photoviewer.toolbar.email")])}if(this.enablePhotoLink){d.push(["getViewer().permalink()","350",getMessage("photoviewer.toolbar.permalink")])}d.push(["getViewer().close()","402",getMessage("photoviewer.toolbar.close")]);for(n=0;n<d.length;n++){var p=s.createElement("area");p.href="javascript:void(0)";p.alt=d[n][2];p.title=p.alt;p.shape="circle";p.coords=d[n][1]+", 21, 22";p.onclick=buildAreaMapClosure(d[n][0]);m.appendChild(p)}}m.name=VIEWER_ID_TOOLBAR_MAP;m.id=VIEWER_ID_TOOLBAR_MAP;var v=s.createElement("img");v.id=VIEWER_ID_TOOLBAR_IMG;v.src=P_IMG_ROOT+"/"+TOOLBAR_IMG;v.width=TOOLBAR_IMG_W;v.height=TOOLBAR_IMG_H;v.style.border="none";v.style.background="none";if(STRICT_MODE){v.style.margin="4px 0px 0px 0px"}else{v.style.margin="4px"}v.useMap="#"+VIEWER_ID_TOOLBAR_MAP;q.appendChild(m);q.appendChild(v);if(isHosted()){var f=s.createElement("a");f.style.position="absolute";f.style.bottom="0px";f.style.right="0px";f.style.width="25px";f.style.height="25px";f.style.background="none";f.alt="TripTracker.net";f.title=f.alt;f.cursor=f.alt;f.href=TOOLBAR_LINK;f.target="_new";f.alt="TripTracker Slideshow";f.title=f.alt;q.appendChild(f)}var l=s.createElement("img");l.id=VIEWER_ID_LOADING;l.width=16;l.height=16;l.style.display="none";l.style.position="absolute";l.style.left=(TOOLBAR_IMG_LOADING_LEFT-8)+"px";l.style.top=(TOOLBAR_IMG_LOADING_TOP-8)+"px";l.src=P_IMG_ROOT+"/"+TOOLBAR_IMG_LOADING;l.style.border="none";l.style.background="none";q.appendChild(l);q.appendChild(s.createElement("br"));var r=s.createElement("span");r.id=VIEWER_ID_TIME;if(!this.overrideToolbarStyles){r.position="relative";r.style.color=TOOLBAR_FONT_COLOR;r.style.fontFamily=TOOLBAR_FONT_STYLE;r.style.fontSize=this.fontSize+"px";if(STRICT_MODE){r.style.lineHeight=this.fontSize+"px"}if(this.font!=undefined){r.style.font=this.font}r.style.cssFloat="none";r.style.textAlign="right";r.style.padding="0px 10px"}r.appendChild(s.createTextNode(" "));q.appendChild(r);var b=s.createElement("span");b.id=VIEWER_ID_TITLE;if(!this.overrideToolbarStyles){b.position="relative";b.style.color=TOOLBAR_FONT_COLOR;b.style.fontFamily=TOOLBAR_FONT_STYLE;b.style.fontSize=this.fontSize+"px";if(STRICT_MODE){b.style.lineHeight=this.fontSize+"px"}if(this.font!=undefined){b.style.font=this.font}b.style.cssFloat="none";b.style.textAlign="left";b.style.paddingRight="20px"}b.appendChild(s.createTextNode(" "));q.appendChild(b);s.body.appendChild(q);var c=s.createElement("div");c.appendChild(s.createTextNode(""));c.style.color=BYLINE_FONT_COLOR;c.style.fontFamily=BYLINE_FONT_STYLE;c.style.fontSize=this.fontSize+"px";if(this.font!=undefined){c.style.font=this.font}c.id=VIEWER_ID_BYLINE;c.style.position="absolute";c.style.right=BYLINE_POSITION_RIGHT+"px";c.style.bottom=BYLINE_POSITION_BOTTOM+"px";c.style.zIndex=j+1;c.appendChild(s.createTextNode(" "));s.body.appendChild(c)}function buildAreaMapClosure(func){return function(event){eval(func);blurElement(event);return false}}function blurElement(a){var b=getEventTarget(getEvent(a));if(b!=undefined){b.blur()}}function setToolbarImage(a){var c=this.win.document;var b=c.getElementById(VIEWER_ID_TOOLBAR_IMG);if(b!=undefined){b.src=a}}function setShowToolbar(a){this.showToolbar=a}function addCaptions(){var b=this.photos[this.index];var f=this.win.document;var d=f.getElementById(VIEWER_ID_TIME);var a=f.getElementById(VIEWER_ID_TITLE);var c=f.getElementById(VIEWER_ID_BYLINE);var e=(this.index+1)+"/"+this.photos.length;if(b.time!=undefined){e+=" ["+b.time+"]"}d.firstChild.nodeValue=e;var g=(b.title!=undefined?b.title:"");a.title="";a.alt="";if(g.length>TITLE_MAX_LENGTH){a.title=g;a.alt=g;g=g.substring(0,TITLE_MAX_LENGTH)+" ..."}if(g.indexOf("\n")!==0){g=g.replace("\n","<br />");a.innerHTML=g}else{a.nodeValue=g}if(b.byline!=undefined&&b.byline.length>0){c.firstChild.nodeValue=b.byline}else{c.firstChild.nodeValue=""}}function setCloseCallback(a){this.closeCallback=a}function setShowCallback(a){this.showCallback=a}function setEndCallback(a){this.endCallback=a}function emailPhoto(){var a=this.photos[this.index];var c=this.win.document;var d=(a.title!=undefined?a.title:getMessage("photoviewer.email.subject.photo"));var b="mailto:?subject="+d+"&body="+getPhotoURL(a.src);c.location.href=b}function getPhotoURL(a){var c=document.location;if(/\w+:\/\/.+/.test(a)){return a}else{if(a.indexOf("/")===0){return c.protocol+"//"+c.host+a}else{var b=c.pathname;var d=b.lastIndexOf("/");if(d!=-1){b=b.substring(0,d)}return c.protocol+"//"+c.host+b+"/"+a}}}function linkPhoto(){var a=this.photos[this.index];window.open(a.src)}function favoritePhoto(){var a=this.photos[this.index];var f=this.win.document;var c=REST_URL+"markfeatured?id"+a.id;try{var b=getResponse(c,false,true)}catch(d){return}}function hideOverlappingElements(b){if(b==undefined){b=this.win.document.body;this.hideOverlappingElements(b);return}if(b.style!=undefined&&b.style.visibility!="hidden"){var c=b.nodeName.toLowerCase();if((b.className!=undefined&&b.className.indexOf("SlideshowDoHide")!=-1)||(IE&&(c=="select"||c=="object"||c=="embed"))){b.style.visibility="hidden";if(this.hiddenElements==undefined){this.hiddenElements=[]}this.hiddenElements.push(b)}}if(b.childNodes!=undefined){var a;for(a=0;a<b.childNodes.length;a++){this.hideOverlappingElements(b.childNodes[a])}}}function showOverlappingElements(){var a;if(this.hiddenElements!=undefined){for(a=0;a<this.hiddenElements.length;a++){this.hiddenElements[a].style.visibility="visible"}this.hiddenElements=[]}}function viewerHandleKey(a){if(typeof getViewer=="undefined"||!getViewer){return true}var c=getViewer();if(c==undefined||!c.shown){return true}a=getEvent(a);if(a.ctrlKey||a.altKey){return true}var b=a.keyCode;switch(b){case 37:case 38:c.prev();break;case 39:case 40:c.next();break;case 33:c.prev(10);break;case 34:c.next(10);break;case 36:c.first();break;case 35:c.last();break;case 32:case 13:c.slideShow(true);break;case 27:c.close();break;default:return true}preventDefault(a);return false}function flickrHack(d,b){if(d.photos[b]!=undefined){var a=d.photos[b].preloadImage;if(a!=undefined&&a.width==500&&a.height==375){var c=/.+static\.flickr\.com.+_b\.jpg/;if(c.test(a.src)){d.photos[b].src=d.photos[b].src.replace(/_b\.jpg/,"_o.jpg");return true}}}return false}function findPhotosTT(f,c){var e;if(c.nodeName.toLowerCase()=="a"){var l=c.getAttribute("onclick");if(l==undefined){l=c.onclick}if(l!=undefined&&new String(l).indexOf("popupImg")!=-1){var d=/.*popupImg\((.+?),(.+?),(.+?)\).*/;if(d.test(l)){var b,j,g;if(c.photoUrl!=undefined){b=c.photoUrl;j=c.photoW;g=c.photoH}else{b=RegExp.$1;if(b.charAt(0)=="'"&&b.charAt(b.length-1)=="'"){b=b.substring(1,b.length-1)}j=parseInt(RegExp.$2);g=parseInt(RegExp.$3)}var a=new PhotoImg(undefined,b,j,g);var m=false;for(e=0;e<f.photos.length;e++){if(f.photos[e].src==a.src){m=true;break}}if(!m){f.add(a)}}}}if(c.childNodes!=undefined){for(e=0;e<c.childNodes.length;e++){findPhotosTT(f,c.childNodes[e])}}}var defaultViewer=undefined;function popupImg(c,a,e,b,f){var d;if(defaultViewer==undefined){defaultViewer=new PhotoViewer()}else{defaultViewer.photos=[];defaultViewer.index=0}if(b!=undefined){defaultViewer.setBackground(b,b,false)}if(f==undefined||f){findPhotosTT(defaultViewer,window.document.body);for(d=0;d<defaultViewer.photos.length;d++){if(defaultViewer.photos[d].src==c){defaultViewer.show(d)}}}if(defaultViewer.photos===undefined||defaultViewer.photos.length===0){defaultViewer.setShowToolbar(false);defaultViewer.add(new PhotoImg(undefined,c,a,e));defaultViewer.show()}return false}function onClickEvent(){var a=getViewer();if(a.toolbarAnimator!=undefined){a.toolbarAnimator.reset()}if(a.customOnClickEvent!=undefined){a.customOnClickEvent()}else{closeViewer()}}function setupFragmentIdentifierModePhotoViewer(e,a,c){var d=new PhotoViewer();d.origRootLocation=document.location.href;d.origIFrameLocation=e;d.iframename=a;d.setCloseCallback(d.setStopFragmentIdentifier);for(var b=0;b<c.length;b++){d.add(c[b].url,c[b].title,c[b].date,c[b].byline)}window.frames[d.iframename].location=d.origIFrameLocation+"#"+d.origRootLocation;d.checkStartFragmentIdentifier()}function checkStartFragmentIdentifier(){var a=document.location.href;if(a.indexOf("#startphoto=")==-1){window.setTimeout(checkStartFragmentIdentifier,500)}else{var c=parseInt(a.substring(a.lastIndexOf("=")+1));var b=getViewer();if(b.origRootLocation.indexOf("#")==-1){b.origRootLocation+="#"}if(FIREFOX){window.history.back()}else{document.location.href=b.origRootLocation}b.show(c)}}function setStopFragmentIdentifier(a){window.frames[getViewer().iframename].location=this.origIFrameLocation+"#stopphoto="+a;checkStartFragmentIdentifier()}function setStartFragmentIdentifier(a){var c=getRootWindow();if(this.origIFrameLocation==undefined){this.origIFrameLocation=c.location.href.substring(0,c.location.href.indexOf("#"))}if(this.origRootLocation==undefined){this.origRootLocation=c.location.href.substring(c.location.href.indexOf("#")+1)}this.checkStopFragmentIdentifier();var b="#startphoto="+a;c.parent.location=this.origRootLocation+b}function checkStopFragmentIdentifier(){var a=getRootWindow().location.href;if(a.indexOf("#stopphoto")==-1){window.setTimeout(checkStopFragmentIdentifier,500)}else{var c=getViewer();var b=a.substring(a.lastIndexOf("=")+1);if(c.origIFrameLocation.indexOf("#")==-1){c.origIFrameLocation+="#"}if(FIREFOX){window.history.back()}else{getRootWindow().location.href=c.origIFrameLocation}viewerCloseCallback(b)}}function ToolbarAnimator(a){this.viewer=a}ToolbarAnimator.prototype.initialize=function(){var e=this;var d=findDOMElement(VIEWER_ID_BACK);var c=findDOMElement(VIEWER_ID_PHOTO);var b=findDOMElement(VIEWER_ID_TOOLBAR);if(d!=undefined&&c!=undefined&&b!=undefined){var a=function(){e.mouseAction()};d.onmousemove=a;c.onmousemove=a;b.onmousemove=a;b.onclick=a;this.initialized=true}};ToolbarAnimator.prototype.reset=function(){this.stop();var c=findDOMElement(VIEWER_ID_BACK);var b=findDOMElement(VIEWER_ID_PHOTO);var a=findDOMElement(VIEWER_ID_TOOLBAR);if(c!=undefined&&b!=undefined&&a!=undefined){c.onmousemove=null;b.onmousemove=null;a.onmousemove=null;a.onclick=null}this.initialized=false};ToolbarAnimator.prototype.stop=function(){var a=this;if(this.hiderID!=undefined){window.clearTimeout(this.hiderID);this.hiderID=undefined}if(this.hidden){this.showToolbar()}};ToolbarAnimator.prototype.mouseAction=function(){this.stop()};ToolbarAnimator.prototype.slideshowAction=function(){var a=this;if(this.viewer.slideShowRunning&&!this.viewer.slideShowPaused&&this.hiderID==undefined){if(!this.initialized){this.initialize()}this.hiderID=window.setTimeout(function(){a.hideToolbar()},5000)}else{if(this.viewer.slideShowPaused){this.reset()}}};ToolbarAnimator.prototype.hideToolbar=function(){var c=this;var b=findDOMElement(VIEWER_ID_TOOLBAR);if(b==undefined){return}var a=b.style.KhtmlOpacity;if(a==undefined){a=b.style.opacity}if(a===0){b.style.display="none";return}a=a-0.05;setOpacity(b,a>0?a:0);this.hidden=true;this.hiderID=window.setTimeout(function(){c.hideToolbar()},100)};ToolbarAnimator.prototype.showToolbar=function(){var a=findDOMElement(VIEWER_ID_TOOLBAR);if(a!=undefined){a.style.display="block";setOpacity(a,TOOLBAR_OPACITY)}this.hidden=false};