var Prototype={Version:"1.6.1",Browser:(function(){var b=navigator.userAgent;var a=Object.prototype.toString.call(window.opera)=="[object Opera]";return{IE:!!window.attachEvent&&!a,Opera:a,WebKit:b.indexOf("AppleWebKit/")>-1,Gecko:b.indexOf("Gecko")>-1&&b.indexOf("KHTML")===-1,MobileSafari:/Apple.*Mobile.*Safari/.test(b)}})(),BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:(function(){var a=window.Element||window.HTMLElement;return !!(a&&a.prototype)})(),SpecificElementExtensions:(function(){if(typeof window.HTMLDivElement!=="undefined"){return true}var c=document.createElement("div");var b=document.createElement("form");var a=false;if(c.__proto__&&(c.__proto__!==b.__proto__)){a=true}c=b=null;return a})()},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 Abstract={};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}};var Class=(function(){function a(){}function b(){var g=null,f=$A(arguments);if(Object.isFunction(f[0])){g=f.shift()}function d(){this.initialize.apply(this,arguments)}Object.extend(d,Class.Methods);d.superclass=g;d.subclasses=[];if(g){a.prototype=g.prototype;d.prototype=new a;g.subclasses.push(d)}for(var e=0;e<f.length;e++){d.addMethods(f[e])}if(!d.prototype.initialize){d.prototype.initialize=Prototype.emptyFunction}d.prototype.constructor=d;return d}function c(k){var f=this.superclass&&this.superclass.prototype;var e=Object.keys(k);if(!Object.keys({toString:true}).length){if(k.toString!=Object.prototype.toString){e.push("toString")}if(k.valueOf!=Object.prototype.valueOf){e.push("valueOf")}}for(var d=0,g=e.length;d<g;d++){var j=e[d],h=k[j];if(f&&Object.isFunction(h)&&h.argumentNames().first()=="$super"){var l=h;h=(function(i){return function(){return f[i].apply(this,arguments)}})(j).wrap(l);h.valueOf=l.valueOf.bind(l);h.toString=l.toString.bind(l)}this.prototype[j]=h}return this}return{create:b,Methods:{addMethods:c}}})();(function(){var d=Object.prototype.toString;function i(q,s){for(var r in s){q[r]=s[r]}return q}function l(q){try{if(e(q)){return"undefined"}if(q===null){return"null"}return q.inspect?q.inspect():String(q)}catch(r){if(r instanceof RangeError){return"..."}throw r}}function k(q){var s=typeof q;switch(s){case"undefined":case"function":case"unknown":return;case"boolean":return q.toString()}if(q===null){return"null"}if(q.toJSON){return q.toJSON()}if(h(q)){return}var r=[];for(var u in q){var t=k(q[u]);if(!e(t)){r.push(u.toJSON()+": "+t)}}return"{"+r.join(", ")+"}"}function c(q){return $H(q).toQueryString()}function f(q){return q&&q.toHTML?q.toHTML():String.interpret(q)}function o(q){var r=[];for(var s in q){r.push(s)}return r}function m(q){var r=[];for(var s in q){r.push(q[s])}return r}function j(q){return i({},q)}function h(q){return !!(q&&q.nodeType==1)}function g(q){return d.call(q)=="[object Array]"}function p(q){return q instanceof Hash}function b(q){return typeof q==="function"}function a(q){return d.call(q)=="[object String]"}function n(q){return d.call(q)=="[object Number]"}function e(q){return typeof q==="undefined"}i(Object,{extend:i,inspect:l,toJSON:k,toQueryString:c,toHTML:f,keys:o,values:m,clone:j,isElement:h,isArray:g,isHash:p,isFunction:b,isString:a,isNumber:n,isUndefined:e})})();Object.extend(Function.prototype,(function(){var k=Array.prototype.slice;function d(o,l){var n=o.length,m=l.length;while(m--){o[n+m]=l[m]}return o}function i(m,l){m=k.call(m,0);return d(m,l)}function g(){var l=this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return l.length==1&&!l[0]?[]:l}function h(n){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var l=this,m=k.call(arguments,1);return function(){var o=i(m,arguments);return l.apply(n,o)}}function f(n){var l=this,m=k.call(arguments,1);return function(p){var o=d([p||window.event],m);return l.apply(n,o)}}function j(){if(!arguments.length){return this}var l=this,m=k.call(arguments,0);return function(){var n=i(m,arguments);return l.apply(this,n)}}function e(n){var l=this,m=k.call(arguments,1);n=n*1000;return window.setTimeout(function(){return l.apply(l,m)},n)}function a(){var l=d([0.01],arguments);return this.delay.apply(this,l)}function c(m){var l=this;return function(){var n=d([l.bind(this)],arguments);return m.apply(this,n)}}function b(){if(this._methodized){return this._methodized}var l=this;return this._methodized=function(){var m=d([this],arguments);return l.apply(null,m)}}return{argumentNames:g,bind:h,bindAsEventListener:f,curry:j,delay:e,defer:a,wrap:c,methodize:b}})());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"'};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();this.currentlyExecuting=false}catch(a){this.currentlyExecuting=false;throw a}}}});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,(function(){function prepareReplacement(replacement){if(Object.isFunction(replacement)){return replacement}var template=new Template(replacement);return function(match){return template.evaluate(match)}}function gsub(pattern,replacement){var result="",source=this,match;replacement=prepareReplacement(replacement);if(Object.isString(pattern)){pattern=RegExp.escape(pattern)}if(!(pattern.length||pattern.source)){replacement=replacement("");return replacement+source.split("").join(replacement)+replacement}while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length)}else{result+=source,source=""}}return result}function sub(pattern,replacement,count){replacement=prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0){return match[0]}return replacement(match)})}function scan(pattern,iterator){this.gsub(pattern,iterator);return String(this)}function truncate(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?"...":truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this)}function strip(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}function stripTags(){return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi,"")}function stripScripts(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")}function extractScripts(){var matchAll=new RegExp(Prototype.ScriptFragment,"img");var matchOne=new RegExp(Prototype.ScriptFragment,"im");return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||["",""])[1]})}function evalScripts(){return this.extractScripts().map(function(script){return eval(script)})}function escapeHTML(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function unescapeHTML(){return this.stripTags().replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function toQueryParams(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match){return{}}return match[1].split(separator||"&").inject({},function(hash,pair){if((pair=pair.split("="))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join("="):pair[0];if(value!=undefined){value=decodeURIComponent(value)}if(key in hash){if(!Object.isArray(hash[key])){hash[key]=[hash[key]]}hash[key].push(value)}else{hash[key]=value}}return hash})}function toArray(){return this.split("")}function succ(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)}function times(count){return count<1?"":new Array(count+1).join(this)}function camelize(){var parts=this.split("-"),len=parts.length;if(len==1){return parts[0]}var camelized=this.charAt(0)=="-"?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++){camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1)}return camelized}function capitalize(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()}function underscore(){return this.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()}function dasherize(){return this.replace(/_/g,"-")}function inspect(useDoubleQuotes){var escapedString=this.replace(/[\x00-\x1f\\]/g,function(character){if(character in String.specialChar){return String.specialChar[character]}return"\\u00"+character.charCodeAt().toPaddedString(2,16)});if(useDoubleQuotes){return'"'+escapedString.replace(/"/g,'\\"')+'"'}return"'"+escapedString.replace(/'/g,"\\'")+"'"}function toJSON(){return this.inspect(true)}function unfilterJSON(filter){return this.replace(filter||Prototype.JSONFilter,"$1")}function isJSON(){var str=this;if(str.blank()){return false}str=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str)}function evalJSON(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())}function include(pattern){return this.indexOf(pattern)>-1}function startsWith(pattern){return this.indexOf(pattern)===0}function endsWith(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d}function empty(){return this==""}function blank(){return/^\s*$/.test(this)}function interpolate(object,pattern){return new Template(this,pattern).evaluate(object)}return{gsub:gsub,sub:sub,scan:scan,truncate:truncate,strip:String.prototype.trim?String.prototype.trim:strip,stripTags:stripTags,stripScripts:stripScripts,extractScripts:extractScripts,evalScripts:evalScripts,escapeHTML:escapeHTML,unescapeHTML:unescapeHTML,toQueryParams:toQueryParams,parseQuery:toQueryParams,toArray:toArray,succ:succ,times:times,camelize:camelize,capitalize:capitalize,underscore:underscore,dasherize:dasherize,inspect:inspect,toJSON:toJSON,unfilterJSON:unfilterJSON,isJSON:isJSON,evalJSON:evalJSON,include:include,startsWith:startsWith,endsWith:endsWith,empty:empty,blank:blank,interpolate:interpolate}})());var Template=Class.create({initialize:function(a,b){this.template=a.toString();this.pattern=b||Template.Pattern},evaluate:function(a){if(a&&Object.isFunction(a.toTemplateReplacements)){a=a.toTemplateReplacements()}return this.template.gsub(this.pattern,function(d){if(a==null){return(d[1]+"")}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].replace(/\\\\]/g,"]"):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=(function(){function c(y,x){var w=0;try{this._each(function(A){y.call(x,A,w++)})}catch(z){if(z!=$break){throw z}}return this}function r(z,y,x){var w=-z,A=[],B=this.toArray();if(z<1){return B}while((w+=z)<B.length){A.push(B.slice(w,w+z))}return A.collect(y,x)}function b(y,x){y=y||Prototype.K;var w=true;this.each(function(A,z){w=w&&!!y.call(x,A,z);if(!w){throw $break}});return w}function i(y,x){y=y||Prototype.K;var w=false;this.each(function(A,z){if(w=!!y.call(x,A,z)){throw $break}});return w}function j(y,x){y=y||Prototype.K;var w=[];this.each(function(A,z){w.push(y.call(x,A,z))});return w}function t(y,x){var w;this.each(function(A,z){if(y.call(x,A,z)){w=A;throw $break}});return w}function h(y,x){var w=[];this.each(function(A,z){if(y.call(x,A,z)){w.push(A)}});return w}function g(z,y,x){y=y||Prototype.K;var w=[];if(Object.isString(z)){z=new RegExp(RegExp.escape(z))}this.each(function(B,A){if(z.match(B)){w.push(y.call(x,B,A))}});return w}function a(w){if(Object.isFunction(this.indexOf)){if(this.indexOf(w)!=-1){return true}}var x=false;this.each(function(y){if(y==w){x=true;throw $break}});return x}function q(x,w){w=Object.isUndefined(w)?null:w;return this.eachSlice(x,function(y){while(y.length<x){y.push(w)}return y})}function l(w,y,x){this.each(function(A,z){w=y.call(x,w,A,z)});return w}function v(x){var w=$A(arguments).slice(1);return this.map(function(y){return y[x].apply(y,w)})}function p(y,x){y=y||Prototype.K;var w;this.each(function(A,z){A=y.call(x,A,z);if(w==null||A>=w){w=A}});return w}function n(y,x){y=y||Prototype.K;var w;this.each(function(A,z){A=y.call(x,A,z);if(w==null||A<w){w=A}});return w}function e(z,x){z=z||Prototype.K;var y=[],w=[];this.each(function(B,A){(z.call(x,B,A)?y:w).push(B)});return[y,w]}function f(x){var w=[];this.each(function(y){w.push(y[x])});return w}function d(y,x){var w=[];this.each(function(A,z){if(!y.call(x,A,z)){w.push(A)}});return w}function m(x,w){return this.map(function(z,y){return{value:z,criteria:x.call(w,z,y)}}).sort(function(B,A){var z=B.criteria,y=A.criteria;return z<y?-1:z>y?1:0}).pluck("value")}function o(){return this.map()}function s(){var x=Prototype.K,w=$A(arguments);if(Object.isFunction(w.last())){x=w.pop()}var y=[this].concat(w).map($A);return this.map(function(A,z){return x(y.pluck(z))})}function k(){return this.toArray().length}function u(){return"#<Enumerable:"+this.toArray().inspect()+">"}return{each:c,eachSlice:r,all:b,every:b,any:i,some:i,collect:j,map:j,detect:t,findAll:h,select:h,filter:h,grep:g,include:a,member:a,inGroupsOf:q,inject:l,invoke:v,max:p,min:n,partition:e,pluck:f,reject:d,sortBy:m,toArray:o,entries:o,zip:s,size:k,inspect:u,find:t}})();function $A(c){if(!c){return[]}if("toArray" in Object(c)){return c.toArray()}var b=c.length||0,a=new Array(b);while(b--){a[b]=c[b]}return a}function $w(a){if(!Object.isString(a)){return[]}a=a.strip();return a?a.split(/\s+/):[]}Array.from=$A;(function(){var s=Array.prototype,m=s.slice,o=s.forEach;function b(w){for(var v=0,x=this.length;v<x;v++){w(this[v])}}if(!o){o=b}function l(){this.length=0;return this}function d(){return this[0]}function g(){return this[this.length-1]}function i(){return this.select(function(v){return v!=null})}function u(){return this.inject([],function(w,v){if(Object.isArray(v)){return w.concat(v.flatten())}w.push(v);return w})}function h(){var v=m.call(arguments,0);return this.select(function(w){return !v.include(w)})}function f(v){return(v!==false?this:this.toArray())._reverse()}function k(v){return this.inject([],function(y,x,w){if(0==w||(v?y.last()!=x:!y.include(x))){y.push(x)}return y})}function p(v){return this.uniq().findAll(function(w){return v.detect(function(x){return w===x})})}function q(){return m.call(this,0)}function j(){return this.length}function t(){return"["+this.map(Object.inspect).join(", ")+"]"}function r(){var v=[];this.each(function(w){var x=Object.toJSON(w);if(!Object.isUndefined(x)){v.push(x)}});return"["+v.join(", ")+"]"}function a(x,v){v||(v=0);var w=this.length;if(v<0){v=w+v}for(;v<w;v++){if(this[v]===x){return v}}return -1}function n(w,v){v=isNaN(v)?this.length:(v<0?this.length+v:v)+1;var x=this.slice(0,v).reverse().indexOf(w);return(x<0)?x:v-x-1}function c(){var A=m.call(this,0),y;for(var w=0,x=arguments.length;w<x;w++){y=arguments[w];if(Object.isArray(y)&&!("callee" in y)){for(var v=0,z=y.length;v<z;v++){A.push(y[v])}}else{A.push(y)}}return A}Object.extend(s,Enumerable);if(!s._reverse){s._reverse=s.reverse}Object.extend(s,{_each:o,clear:l,first:d,last:g,compact:i,flatten:u,without:h,reverse:f,uniq:k,intersect:p,clone:q,toArray:q,size:j,inspect:t,toJSON:r});var e=(function(){return[].concat(arguments)[0][0]!==1})(1,2);if(e){s.concat=c}if(!s.indexOf){s.indexOf=a}if(!s.lastIndexOf){s.lastIndexOf=n}})();function $H(a){return new Hash(a)}var Hash=Class.create(Enumerable,(function(){function e(q){this._object=Object.isHash(q)?q.toObject():Object.clone(q)}function f(r){for(var q in this._object){var s=this._object[q],t=[q,s];t.key=q;t.value=s;r(t)}}function k(q,r){return this._object[q]=r}function c(q){if(this._object[q]!==Object.prototype[q]){return this._object[q]}}function n(q){var r=this._object[q];delete this._object[q];return r}function p(){return Object.clone(this._object)}function o(){return this.pluck("key")}function m(){return this.pluck("value")}function g(r){var q=this.detect(function(s){return s.value===r});return q&&q.key}function i(q){return this.clone().update(q)}function d(q){return new Hash(q).inject(this,function(r,s){r.set(s.key,s.value);return r})}function b(q,r){if(Object.isUndefined(r)){return q}return q+"="+encodeURIComponent(String.interpret(r))}function a(){return this.inject([],function(s,t){var r=encodeURIComponent(t.key),q=t.value;if(q&&typeof q=="object"){if(Object.isArray(q)){return s.concat(q.map(b.curry(r)))}}else{s.push(b(r,q))}return s}).join("&")}function l(){return"#<Hash:{"+this.map(function(q){return q.map(Object.inspect).join(": ")}).join(", ")+"}>"}function j(){return Object.toJSON(this.toObject())}function h(){return new Hash(this)}return{initialize:e,_each:f,set:k,get:c,unset:n,toObject:p,toTemplateReplacements:p,keys:o,values:m,index:g,merge:i,update:d,toQueryString:a,inspect:l,toJSON:j,clone:h}})());Hash.from=$H;Object.extend(Number.prototype,(function(){function d(){return this.toPaddedString(2,16)}function e(){return this+1}function a(k,j){$R(0,this,true).each(k,j);return this}function b(l,k){var j=this.toString(k||10);return"0".times(l-j.length)+j}function f(){return isFinite(this)?this.toString():"null"}function i(){return Math.abs(this)}function h(){return Math.round(this)}function g(){return Math.ceil(this)}function c(){return Math.floor(this)}return{toColorPart:d,succ:e,times:a,toPaddedString:b,toJSON:f,abs:i,round:h,ceil:g,floor:c}})());function $R(c,a,b){return new ObjectRange(c,a,b)}var ObjectRange=Class.create(Enumerable,(function(){function b(f,d,e){this.start=f;this.end=d;this.exclusive=e}function c(d){var e=this.start;while(this.include(e)){d(e);e=e.succ()}}function a(d){if(d<this.start){return false}if(this.exclusive){return d<this.end}return d<=this.end}return{initialize:b,_each:c,include:a}})());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(c){var b=(function(){var f=document.createElement("form");var e=document.createElement("input");var d=document.documentElement;e.setAttribute("name","test");f.appendChild(e);d.appendChild(f);var g=f.elements?(typeof f.elements.test=="undefined"):null;d.removeChild(f);f=e=null;return g})();var a=c.Element;c.Element=function(f,e){e=e||{};f=f.toLowerCase();var d=Element.cache;if(b&&e.name){f="<"+f+' name="'+e.name+'">';delete e.name;return Element.writeAttribute(document.createElement(f),e)}if(!d[f]){d[f]=Element.extend(document.createElement(f))}return Element.writeAttribute(d[f].cloneNode(false),e)};Object.extend(c.Element,a||{});if(a){c.Element.prototype=a.prototype}})(this);Element.cache={};Element.idCounter=1;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=$(a);a.style.display="none";return a},show:function(a){a=$(a);a.style.display="";return a},remove:function(a){a=$(a);a.parentNode.removeChild(a);return a},update:(function(){var b=(function(){var e=document.createElement("select"),f=true;e.innerHTML='<option value="test">test</option>';if(e.options&&e.options[0]){f=e.options[0].nodeName.toUpperCase()!=="OPTION"}e=null;return f})();var a=(function(){try{var f=document.createElement("table");if(f&&f.tBodies){f.innerHTML="<tbody><tr><td>test</td></tr></tbody>";var h=typeof f.tBodies[0]=="undefined";f=null;return h}}catch(g){return true}})();var d=(function(){var f=document.createElement("script"),h=false;try{f.appendChild(document.createTextNode(""));h=!f.firstChild||f.firstChild&&f.firstChild.nodeType!==3}catch(g){h=true}f=null;return h})();function c(f,g){f=$(f);if(g&&g.toElement){g=g.toElement()}if(Object.isElement(g)){return f.update().insert(g)}g=Object.toHTML(g);var e=f.tagName.toUpperCase();if(e==="SCRIPT"&&d){f.text=g;return f}if(b||a){if(e in Element._insertionTranslations.tags){while(f.firstChild){f.removeChild(f.firstChild)}Element._getContentFromAnonymousElement(e,g.stripScripts()).each(function(h){f.appendChild(h)})}else{f.innerHTML=g.stripScripts()}}else{f.innerHTML=g.stripScripts()}g.evalScripts.bind(g).defer();return f}return c})(),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 Element.recursivelyCollect(a,"parentNode")},descendants:function(a){return Element.select(a,"*")},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 Element.recursivelyCollect(a,"previousSibling")},nextSiblings:function(a){return Element.recursivelyCollect(a,"nextSibling")},siblings:function(a){a=$(a);return Element.previousSiblings(a).reverse().concat(Element.nextSiblings(a))},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=Element.ancestors(b);return Object.isNumber(d)?c[d]:Selector.findElement(c,d,a)},down:function(b,c,a){b=$(b);if(arguments.length==1){return Element.firstDescendant(b)}return Object.isNumber(c)?Element.descendants(b)[c]:Element.select(b,c)[a||0]},previous:function(b,d,a){b=$(b);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(b))}var c=Element.previousSiblings(b);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=Element.nextSiblings(c);return Object.isNumber(d)?a[d]:Selector.findElement(a,d,b)},select:function(b){var a=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(b,a)},adjacent:function(b){var a=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(b.parentNode,a).without(b)},identify:function(a){a=$(a);var b=Element.readAttribute(a,"id");if(b){return b}do{b="anonymous_element_"+Element.idCounter++}while($(b));Element.writeAttribute(a,"id",b);return b},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 Element.getDimensions(a).height},getWidth:function(a){return Element.getDimensions(a).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(!Element.hasClassName(a,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 Element[Element.hasClassName(a,b)?"removeClassName":"addClassName"](a,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(b,a){b=$(b),a=$(a);if(b.compareDocumentPosition){return(b.compareDocumentPosition(a)&8)===8}if(a.contains){return a.contains(b)&&a!==b}while(b=b.parentNode){if(b==a){return true}}return false},scrollTo:function(a){a=$(a);var b=Element.cumulativeOffset(a);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||d=="auto"){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=Element.getStyle(c,"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";if(d!="fixed"){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(Prototype.Browser.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.toUpperCase()=="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(Element.getStyle(b,"position")=="absolute"){return b}var d=Element.positionedOffset(b);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(Element.getStyle(a,"position")=="relative"){return a}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&&Element.visible(a)){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&&(b.tagName.toUpperCase()=="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=Element.viewportOffset(d);b=$(b);var f=[0,0];var c=null;if(Element.getStyle(b,"position")=="absolute"){c=Element.getOffsetParent(b);f=Element.viewportOffset(c)}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}};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);try{b.offsetParent}catch(f){return $(document.body)}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(f,c){c=$(c);try{c.offsetParent}catch(h){return Element._returnOffset(0,0)}var b=c.getStyle("position");if(b!=="static"){return f(c)}var d=c.getOffsetParent();if(d&&d.getStyle("position")==="fixed"){d.setStyle({zoom:1})}c.setStyle({position:"relative"});var g=f(c);c.setStyle({position:b});return g})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(b,a){try{a.offsetParent}catch(c){return Element._returnOffset(0,0)}return b(a)});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=(function(){var b="className";var a="for";var c=document.createElement("div");c.setAttribute(b,"x");if(c.className!=="x"){c.setAttribute("class","x");if(c.className==="x"){b="class"}}c=null;c=document.createElement("label");c.setAttribute(a,"x");if(c.htmlFor!=="x"){c.setAttribute("htmlFor","x");if(c.htmlFor==="x"){a="htmlFor"}}c=null;return{read:{names:{"class":b,className:b,"for":a,htmlFor:a},values:{_getAttr:function(d,e){return d.getAttribute(e)},_getAttr2:function(d,e){return d.getAttribute(e,2)},_getAttrNode:function(d,f){var e=d.getAttributeNode(f);return e?e.value:""},_getEv:(function(){var d=document.createElement("div");d.onclick=Prototype.emptyFunction;var g=d.getAttribute("onclick");var e;if(String(g).indexOf("{")>-1){e=function(f,h){h=f.getAttribute(h);if(!h){return null}h=h.toString();h=h.split("{")[1];h=h.split("}")[0];return h.strip()}}else{if(g===""){e=function(f,h){h=f.getAttribute(h);if(!h){return null}return h.strip()}}}d=null;return e})(),_flag:function(d,e){return $(d).hasAttribute(e)?e:null},style:function(d){return d.style.cssText.toLowerCase()},title:function(d){return d.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 frameBorder").each(function(a){Element._attributeTranslations.write.names[a.toLowerCase()]=a;Element._attributeTranslations.has[a.toLowerCase()]=a});(function(a){Object.extend(a,{href:a._getAttr2,src:a._getAttr2,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);if(Prototype.BrowserFeatures.ElementExtensions){(function(){function a(e){var b=e.getElementsByTagName("*"),d=[];for(var c=0,f;f=b[c];c++){if(f.tagName!=="!"){d.push(f)}}return d}Element.Methods.down=function(c,d,b){c=$(c);if(arguments.length==1){return c.firstDescendant()}return Object.isNumber(d)?a(c)[d]:Element.select(c,d)[b||0]}})()}}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.toUpperCase()=="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("outerHTML" in document.documentElement){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(){var a=Element._insertionTranslations.tags;Object.extend(a,{THEAD:a.TBODY,TFOOT:a.TBODY,TH:a.TD})})();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);(function(a){if(!Prototype.BrowserFeatures.ElementExtensions&&a.__proto__){window.HTMLElement={};window.HTMLElement.prototype=a.__proto__;Prototype.BrowserFeatures.ElementExtensions=true}a=null})(document.createElement("div"));Element.extend=(function(){function c(g){if(typeof window.Element!="undefined"){var i=window.Element.prototype;if(i){var k="_"+(Math.random()+"").slice(2);var h=document.createElement(g);i[k]="x";var j=(h[k]!=="x");delete i[k];h=null;return j}}return false}function b(h,g){for(var j in g){var i=g[j];if(Object.isFunction(i)&&!(j in h)){h[j]=i.methodize()}}}var d=c("object");if(Prototype.BrowserFeatures.SpecificElementExtensions){if(d){return function(h){if(h&&typeof h._extendedByPrototype=="undefined"){var g=h.tagName;if(g&&(/^(?:object|applet|embed)$/i.test(g))){b(h,Element.Methods);b(h,Element.Methods.Simulated);b(h,Element.Methods.ByTag[g.toUpperCase()])}}return h}}return Prototype.K}var a={},e=Element.Methods.ByTag;var f=Object.extend(function(i){if(!i||typeof i._extendedByPrototype!="undefined"||i.nodeType!=1||i==window){return i}var g=Object.clone(a),h=i.tagName.toUpperCase();if(e[h]){Object.extend(g,e[h])}b(i,g);i._extendedByPrototype=Prototype.emptyFunction;return i},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(a,Element.Methods);Object.extend(a,Element.Methods.Simulated)}}});f.refresh();return f})();Element.hasAttribute=function(a,b){if(a.hasAttribute){return a.hasAttribute(b)}return Element.Methods.Simulated.hasAttribute(a,b)};Element.addMethods=function(c){var i=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(k){k=k.toUpperCase();if(!Element.Methods.ByTag[k]){Element.Methods.ByTag[k]={}}Object.extend(Element.Methods.ByTag[k],c)}function a(m,l,k){k=k||false;for(var o in m){var n=m[o];if(!Object.isFunction(n)){continue}if(!k||!(o in l)){l[o]=n.methodize()}}}function e(n){var k;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]){k="HTML"+m[n]+"Element"}if(window[k]){return window[k]}k="HTML"+n+"Element";if(window[k]){return window[k]}k="HTML"+n.capitalize()+"Element";if(window[k]){return window[k]}var l=document.createElement(n);var o=l.__proto__||l.constructor.prototype;l=null;return o}var h=window.HTMLElement?HTMLElement.prototype:Element.prototype;if(i.ElementExtensions){a(Element.Methods,h);a(Element.Methods.Simulated,h,true)}if(i.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(){return{width:this.getWidth(),height:this.getHeight()}},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};(function(b){var g=Prototype.Browser,e=document,c,d={};function a(){if(g.WebKit&&!e.evaluate){return document}if(g.Opera&&window.parseFloat(window.opera.version())<9.5){return document.body}return document.documentElement}function f(h){if(!c){c=a()}d[h]="client"+h;b["get"+h]=function(){return c[d[h]]};return b["get"+h]()}b.getWidth=f.curry("Width");b.getHeight=f.curry("Height")})(document.viewport);Element.Storage={UID:1};Element.addMethods({getStorage:function(b){if(!(b=$(b))){return}var a;if(b===window){a=0}else{if(typeof b._prototypeUID==="undefined"){b._prototypeUID=[Element.Storage.UID++]}a=b._prototypeUID[0]}if(!Element.Storage[a]){Element.Storage[a]=$H()}return Element.Storage[a]},store:function(b,a,c){if(!(b=$(b))){return}if(arguments.length===2){Element.getStorage(b).update(a)}else{Element.getStorage(b).set(a,c)}return b},retrieve:function(c,b,a){if(!(c=$(c))){return}var e=Element.getStorage(c),d=e.get(b);if(Object.isUndefined(d)){e.set(b,a);d=a}return d},clone:function(c,a){if(!(c=$(c))){return}var e=c.cloneNode(a);e._prototypeUID=void 0;if(a){var d=Element.select(e,"*"),b=d.length;while(b--){d[b]._prototypeUID=void 0}}return Element.extend(e)}});var Selector=Class.create({initialize:function(a){this.expression=a.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI"}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher()}else{this.mode="normal";this.compileMatcher()}}},shouldUseXPath:(function(){var a=(function(){var e=false;if(document.evaluate&&window.XPathResult){var d=document.createElement("div");d.innerHTML="<ul><li></li></ul><div><ul><li></li></ul></div>";var c=".//*[local-name()='ul' or local-name()='UL']//*[local-name()='li' or local-name()='LI']";var b=document.evaluate(c,d,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);e=(b.snapshotLength!==2);d=null}return e})();return function(){if(!Prototype.BrowserFeatures.XPath){return false}var b=this.expression;if(Prototype.Browser.WebKit&&(b.include("-of-type")||b.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(b)){return false}if(a){return false}return true}})(),shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false}if(Selector.CASE_INSENSITIVE_CLASS_NAMES){return false}if(!Selector._div){Selector._div=new Element("div")}try{Selector._div.querySelector(this.expression)}catch(a){return false}return true},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m,len=ps.length,name;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=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){this.matcher.push(Object.isFunction(c[name])?c[name](m):new Template(c[name]).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 h=this.expression,j=Selector.patterns,c=Selector.xpath,g,b,a=j.length,d;if(Selector._cache[h]){this.xpath=Selector._cache[h];return}this.matcher=[".//*"];while(h&&g!=h&&(/\S/).test(h)){g=h;for(var f=0;f<a;f++){d=j[f].name;if(b=h.match(j[f].re)){this.matcher.push(Object.isFunction(c[d])?c[d](b):new Template(c[d]).evaluate(b));h=h.replace(b[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(a){a=a||document;var c=this.expression,b;switch(this.mode){case"selectorsAPI":if(a!==document){var d=a.id,f=$(a).identify();f=f.replace(/([\.:])/g,"\\$1");c="#"+f+" "+c}b=$A(a.querySelectorAll(c)).map(Element.extend);a.id=d;return b;case"xpath":return document._getElementsByXPath(this.xpath,a);default:return this.matcher(a)}},match:function(k){this.tokens=[];var q=this.expression,a=Selector.patterns,f=Selector.assertions;var b,d,g,o=a.length,c;while(q&&b!==q&&(/\S/).test(q)){b=q;for(var j=0;j<o;j++){d=a[j].re;c=a[j].name;if(g=q.match(d)){if(f[c]){this.tokens.push([c,Object.clone(g)]);q=q.replace(g[0],"")}else{return this.findElements(document).include(k)}}}}var n=true,c,l;for(var j=0,h;h=this.tokens[j];j++){c=h[0],l=h[1];if(!Selector.assertions[c](k,l)){n=false;break}}return n},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});if(Prototype.BrowserFeatures.SelectorsAPI&&document.compatMode==="BackCompat"){Selector.CASE_INSENSITIVE_CLASS_NAMES=(function(){var c=document.createElement("div"),a=document.createElement("span");c.id="prototype_test_id";a.className="Test";c.appendChild(a);var b=(c.querySelector("#prototype_test_id .test")!==null);c=a=null;return b})()}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)]",checked:"[@checked]",disabled:"[(@disabled) and (@type!='hidden')]",enabled:"[not(@disabled) and (@type!='hidden')]",not:function(f){var j=f[6],c=Selector.patterns,k=Selector.xpath,a,l,h=c.length,b;var d=[];while(j&&a!=j&&(/\S/).test(j)){a=j;for(var g=0;g<h;g++){b=c[g].name;if(f=j.match(c[g].re)){l=Object.isFunction(k[b])?k[b](f):new Template(k[b]).evaluate(f);d.push("("+l.substring(1,l.length-1)+")");j=j.replace(f[0],"");break}}}return"[not("+d.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,i=e[6],d;if(i=="even"){i="2n+0"}if(i=="odd"){i="2n+1"}if(h=i.match(/^(\d+)$/)){return"["+g+"= "+h[1]+"]"}if(h=i.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:[{name:"laterSibling",re:/^\s*~\s*/},{name:"child",re:/^\s*>\s*/},{name:"adjacent",re:/^\s*\+\s*/},{name:"descendant",re:/^\s/},{name:"tagName",re:/^\s*(\*|[\w\-]+)(\b|$)?/},{name:"id",re:/^#([\w\-\*]+)(\b|$)/},{name:"className",re:/^\.([\w\-\*]+)(\b|$)/},{name:"pseudo",re:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/},{name:"attrPresence",re:/^\[((?:[\w-]+:)?[\w-]+)\]/},{name:"attr",re:/\[((?:[\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(){var a=(function(){var b=document.createElement("div"),e=false,d="_countedByPrototype",c="x";b[d]=c;e=(b.getAttribute(d)===c);b=null;return e})();return a?function(b){for(var c=0,d;d=b[c];c++){d.removeAttribute("_countedByPrototype")}return b}:function(b){for(var c=0,d;d=b[c];c++){d._countedByPrototype=void 0}return b}})(),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(typeof(e=b[c])._countedByPrototype=="undefined"){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 k=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()===k){e.push(d)}}return e}else{return j.getElementsByTagName(c)}},id:function(a,l,b,c){var k=$(b),g=Selector.handlers;if(l==document){if(!k){return[]}if(!a){return[k]}}else{if(!l.sourceIndex||l.sourceIndex<1){var a=l.getElementsByTagName("*");for(var e=0,d;d=a[e];e++){if(d.id===b){return[d]}}}}if(a){if(c){if(c=="child"){for(var f=0,d;d=a[f];f++){if(k.parentNode==d){return[k]}}}else{if(c=="descendant"){for(var f=0,d;d=a[f];f++){if(Element.descendantOf(k,d)){return[k]}}}else{if(c=="adjacent"){for(var f=0,d;d=a[f];f++){if(Selector.handlers.previousElementSibling(k)==d){return[k]}}}else{a=g[c](a)}}}}for(var f=0,d;d=a[f];f++){if(d==k){return[k]}}return[]}return(k&&Element.descendantOf(k,l))?[k]:[]},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,k,c,b){if(!a){a=j.getElementsByTagName("*")}if(a&&b){a=this[b](a)}var l=Selector.operators[c],f=[];for(var e=0,d;d=a[e];e++){var g=Element.readAttribute(d,h);if(g===null){continue}if(l(g,k)){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,s,u,r,e){if(c.length==0){return[]}if(s=="even"){s="2n+0"}if(s=="odd"){s="2n+1"}var q=Selector.handlers,p=[],d=[],g;q.mark(c);for(var o=0,f;f=c[o];o++){if(!f.parentNode._countedByPrototype){q.index(f.parentNode,r,e);d.push(f.parentNode)}}if(s.match(/^\d+$/)){s=Number(s);for(var o=0,f;f=c[o];o++){if(f.nodeIndex==s){p.push(f)}}}else{if(g=s.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(g[1]=="-"){g[1]=-1}var v=g[1]?Number(g[1]):1;var t=g[2]?Number(g[2]):0;var w=Selector.pseudos.getIndices(v,t,c.length);for(var o=0,f,k=w.length;f=c[o];o++){for(var n=0;n<k;n++){if(f.nodeIndex==w[n]){p.push(f)}}}}}q.unmark(c);q.unmark(d);return p},empty:function(b,f,a){for(var d=0,c=[],e;e=b[d];d++){if(e.tagName=="!"||e.firstChild){continue}c.push(e)}return c},not:function(a,d,k){var g=Selector.handlers,l,c;var j=new Selector(d).findElements(k);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&&(!e.type||e.type!=="hidden")){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==a||b&&b.startsWith(a)},"$=":function(b,a){return b==a||b&&b.endsWith(a)},"*=":function(b,a){return b==a||b&&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}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(a){a=$(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,i){if(!i.disabled&&i.name){c=i.name;f=$(i).getValue();if(f!=null&&i.type!="file"&&(i.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(e){var f=$(e).getElementsByTagName("*"),d,a=[],c=Form.Element.Serializers;for(var b=0;d=f[b];b++){a.push(d)}return a.inject([],function(g,h){if(c[h.tagName.toLowerCase()]){g.push(Element.extend(h))}return g})},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)$/i.test(d.tagName)})},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)$/i.test(a.type)))){a.select()}}catch(b){}return a},disable:function(a){a=$(a);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(c,f){if(Object.isUndefined(f)){return this[c.type=="select-one"?"selectOne":"selectMany"](c)}else{var b,d,g=!Object.isArray(f);for(var a=0,e=c.length;a<e;a++){b=c.options[a];d=this.optionValue(b);if(g){if(d==f){b.selected=true;return}}else{b.selected=f.include(d)}}}},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)}});(function(){var v={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:{}};var e=document.documentElement;var w="onmouseenter" in e&&"onmouseleave" in e;var o;if(Prototype.Browser.IE){var h={0:1,1:4,2:2};o=function(y,x){return y.button===h[x]}}else{if(Prototype.Browser.WebKit){o=function(y,x){switch(x){case 0:return y.which==1&&!y.metaKey;case 1:return y.which==1&&y.metaKey;default:return false}}}else{o=function(y,x){return y.which?(y.which===x+1):(y.button===x)}}}function r(x){return o(x,0)}function q(x){return o(x,1)}function k(x){return o(x,2)}function c(z){z=v.extend(z);var y=z.target,x=z.type,A=z.currentTarget;if(A&&A.tagName){if(x==="load"||x==="error"||(x==="click"&&A.tagName.toLowerCase()==="input"&&A.type==="radio")){y=A}}if(y.nodeType==Node.TEXT_NODE){y=y.parentNode}return Element.extend(y)}function m(y,A){var x=v.element(y);if(!A){return x}var z=[x].concat(x.ancestors());return Selector.findElement(z,A,0)}function p(x){return{x:b(x),y:a(x)}}function b(z){var y=document.documentElement,x=document.body||{scrollLeft:0};return z.pageX||(z.clientX+(y.scrollLeft||x.scrollLeft)-(y.clientLeft||0))}function a(z){var y=document.documentElement,x=document.body||{scrollTop:0};return z.pageY||(z.clientY+(y.scrollTop||x.scrollTop)-(y.clientTop||0))}function n(x){v.extend(x);x.preventDefault();x.stopPropagation();x.stopped=true}v.Methods={isLeftClick:r,isMiddleClick:q,isRightClick:k,element:c,findElement:m,pointer:p,pointerX:b,pointerY:a,stop:n};var t=Object.keys(v.Methods).inject({},function(x,y){x[y]=v.Methods[y].methodize();return x});if(Prototype.Browser.IE){function g(y){var x;switch(y.type){case"mouseover":x=y.fromElement;break;case"mouseout":x=y.toElement;break;default:return null}return Element.extend(x)}Object.extend(t,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});v.extend=function(y,x){if(!y){return false}if(y._extendedByPrototype){return y}y._extendedByPrototype=Prototype.emptyFunction;var z=v.pointer(y);Object.extend(y,{target:y.srcElement||x,relatedTarget:g(y),pageX:z.x,pageY:z.y});return Object.extend(y,t)}}else{v.prototype=window.Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(v.prototype,t);v.extend=Prototype.K}function l(B,A,C){var z=Element.retrieve(B,"prototype_event_registry");if(Object.isUndefined(z)){d.push(B);z=Element.retrieve(B,"prototype_event_registry",$H())}var x=z.get(A);if(Object.isUndefined(x)){x=[];z.set(A,x)}if(x.pluck("handler").include(C)){return false}var y;if(A.include(":")){y=function(D){if(Object.isUndefined(D.eventName)){return false}if(D.eventName!==A){return false}v.extend(D,B);C.call(B,D)}}else{if(!w&&(A==="mouseenter"||A==="mouseleave")){if(A==="mouseenter"||A==="mouseleave"){y=function(E){v.extend(E,B);var D=E.relatedTarget;while(D&&D!==B){try{D=D.parentNode}catch(F){D=B}}if(D===B){return}C.call(B,E)}}}else{y=function(D){v.extend(D,B);C.call(B,D)}}}y.handler=C;x.push(y);return y}function f(){for(var x=0,y=d.length;x<y;x++){v.stopObserving(d[x]);d[x]=null}}var d=[];if(Prototype.Browser.IE){window.attachEvent("onunload",f)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}var j=Prototype.K;if(!w){j=function(y){var x={mouseenter:"mouseover",mouseleave:"mouseout"};return y in x?x[y]:y}}function s(A,z,B){A=$(A);var y=l(A,z,B);if(!y){return A}if(z.include(":")){if(A.addEventListener){A.addEventListener("dataavailable",y,false)}else{A.attachEvent("ondataavailable",y);A.attachEvent("onfilterchange",y)}}else{var x=j(z);if(A.addEventListener){A.addEventListener(x,y,false)}else{A.attachEvent("on"+x,y)}}return A}function i(C,A,D){C=$(C);var z=Element.retrieve(C,"prototype_event_registry");if(Object.isUndefined(z)){return C}if(A&&!D){var B=z.get(A);if(Object.isUndefined(B)){return C}B.each(function(E){Element.stopObserving(C,A,E.handler)});return C}else{if(!A){z.each(function(G){var E=G.key,F=G.value;F.each(function(H){Element.stopObserving(C,E,H.handler)})});return C}}var B=z.get(A);if(!B){return}var y=B.find(function(E){return E.handler===D});if(!y){return C}var x=j(A);if(A.include(":")){if(C.removeEventListener){C.removeEventListener("dataavailable",y,false)}else{C.detachEvent("ondataavailable",y);C.detachEvent("onfilterchange",y)}}else{if(C.removeEventListener){C.removeEventListener(x,y,false)}else{C.detachEvent("on"+x,y)}}z.set(A,B.without(y));return C}function u(A,z,y,x){A=$(A);if(Object.isUndefined(x)){x=true}if(A==document&&document.createEvent&&!A.dispatchEvent){A=document.documentElement}var B;if(document.createEvent){B=document.createEvent("HTMLEvents");B.initEvent("dataavailable",true,true)}else{B=document.createEventObject();B.eventType=x?"ondataavailable":"onfilterchange"}B.eventName=z;B.memo=y||{};if(document.createEvent){A.dispatchEvent(B)}else{A.fireEvent(B.eventType,B)}return v.extend(B)}Object.extend(v,v.Methods);Object.extend(v,{fire:u,observe:s,stopObserving:i});Element.addMethods({fire:u,observe:s,stopObserving:i});Object.extend(document,{fire:u.methodize(),observe:s.methodize(),stopObserving:i.methodize(),loaded:false});if(window.Event){Object.extend(window.Event,v)}else{window.Event=v}})();(function(){var d;function a(){if(document.loaded){return}if(d){window.clearTimeout(d)}document.loaded=true;document.fire("dom:loaded")}function c(){if(document.readyState==="complete"){document.stopObserving("readystatechange",c);a()}}function b(){try{document.documentElement.doScroll("left")}catch(f){d=b.defer();return}a()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",a,false)}else{document.observe("readystatechange",c);if(window==top){d=b.defer()}}Event.observe(window,"load",a)})();Element.addMethods();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,k,j;k=c[d];d++){if(k.className&&(j=" "+k.className+" ")&&(j.include(f)||(h&&h.all(function(i){return !i.toString().blank()&&j.include(" "+i+" ")})))){g.push(Element.extend(k))}}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);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){return(-Math.cos((b*((a||5)-0.5)*2)*Math.PI)/2)+0.5},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,a){b=$(b);c=(c||"appear").toLowerCase();return Effect[Effect.PAIRS[c][b.visible()?1:0]](b,Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},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(a){if(a&&a.transition===false){a.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});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;this.render=(function(){function b(d,c){if(d.options[c+"Internal"]){d.options[c+"Internal"](d)}if(d.options[c]){d.options[c](d)}}return function(c){if(this.state==="idle"){this.state="running";b(this,"beforeSetup");if(this.setup){this.setup()}b(this,"afterSetup")}if(this.state==="running"){c=(this.options.transition(c)*this.fromToDelta)+this.options.from;this.position=c;b(this,"beforeUpdate");if(this.update){this.update(c)}b(this,"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(c){var b=arguments[1]||{},a=document.viewport.getScrollOffsets(),d=$(c).cumulativeOffset();if(b.offset){d[1]+=b.offset}return new Effect.Tween(null,a.top,d[1],b,function(e){scrollTo(a.left,e.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(i){new Effect.Move(i.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(j){new Effect.Move(j.element,{x:-e,y:0,duration:c,afterFinishInternal:function(k){k.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(i){i.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(i){new Effect.Parallel([new Effect.Opacity(i.element,{sync:true,to:1,from:0,transition:b.opacityTransition}),new Effect.Move(i.element,{x:e,y:d,sync:true,transition:b.moveTransition}),new Effect.Scale(i.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(j){j.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(j){j.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]||{},a=c.getInlineOpacity(),e=b.transition||Effect.Transitions.linear,d=function(f){return 1-e((-Math.cos((f*(b.pulses||5)*2)*Math.PI)/2)+0.5)};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=this.element.cumulativeOffset();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._originallyAbsolute=(this.element.getStyle("position")=="absolute");if(!this._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._originallyAbsolute){Position.relativize(this.element)}delete this._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=this.element.cumulativeOffset();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){a=$(a);var b=Sortable.sortables[a.id];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.identify()]=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=b.cumulativeOffset();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.unescapeHTML()},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))}});function auto_complete_on_select(c,e){var a=e.id.split("::");var d=a[0];var b=a[1];document.getElementById(d).value=b}function getInternetExplorerVersion(){var c=-1;if(navigator.appName=="Microsoft Internet Explorer"){var a=navigator.userAgent;var b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!=null){c=parseFloat(RegExp.$1)}}return c}function loadpartialeffects(){if(getInternetExplorerVersion()>=8){return}Nifty("div.DetailsBoxTop","top,small");Nifty("div.DetailsBoxBot","bottom,small")}function geomeObjectSetVals(c,b){if(c&&b){for(var a in b){if(b.hasOwnProperty(a)){if(c[a]&&typeof b[a]==="object"){c[a]=geomeObjectSetVals(c[a],b[a])}else{c[a]=b[a]}}}}return c}function geomeCreateDomElement(a,b,f,d,c){var e=f;if(!f||(f&&typeof f==="string")){e=document.createElement(a);e.innerHTML=f||""}if(d){geomeObjectSetVals(e.style,d)}if(b){geomeObjectSetVals(e,b)}if(c){c.appendChild(e)}return e}Ajax.InPlaceEditor.prototype.__initialize=Ajax.InPlaceEditor.prototype.initialize;Ajax.InPlaceEditor.prototype.__getText=Ajax.InPlaceEditor.prototype.getText;Ajax.InPlaceEditor.prototype.__onComplete=Ajax.InPlaceEditor.prototype.onComplete;Ajax.InPlaceEditor.prototype=Object.extend(Ajax.InPlaceEditor.prototype,{initialize:function(c,b,a){this.__initialize(c,b,a);this.setOptions(a);this._checkEmpty()},setOptions:function(a){this.options=Object.extend(Object.extend(this.options,{emptyText:"click to edit...",emptyClassName:"inplaceeditor-empty"}),a||{})},_checkEmpty:function(){if(this.element.innerHTML.length==0){this.element.appendChild(Builder.node("span",{className:this.options.emptyClassName},this.options.emptyText))}},onComplete:function(a){this._checkEmpty();this.__onComplete(a)}});if(typeof Effect=="undefined"){throw ("accordion.js requires including script.aculo.us' effects.js library!")}var accordion=Class.create();accordion.prototype={showAccordion:null,currentAccordion:null,duration:null,effects:[],animating:false,initialize:function(b,c){if(!$(b)){throw (b+" doesn't exist!");return false}this.options=Object.extend({resizeSpeed:8,classNames:{toggle:"accordion_toggle",toggleActive:"accordion_toggle_active",content:"accordion_content"},defaultSize:{height:null,width:null},direction:"vertical",onEvent:"click"},c||{});this.duration=((11-this.options.resizeSpeed)*0.15);var a=$$("#"+b+" ."+this.options.classNames.toggle);a.each(function(d){Event.observe(d,this.options.onEvent,this.activate.bind(this,d),false);if(this.options.onEvent=="click"){d.onclick=function(){return false}}if(this.options.direction=="horizontal"){var e={width:"0px",display:"none"}}else{var e={height:"0px",display:"none"}}this.currentAccordion=$(d.next(0)).setStyle(e)}.bind(this))},activate:function(a){if(this.animating){return false}this.effects=[];this.currentAccordion=$(a.next(0));this.currentAccordion.setStyle({display:"block"});this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);if(this.options.direction=="horizontal"){this.scaling=$H({scaleX:true,scaleY:false})}else{this.scaling=$H({scaleX:false,scaleY:true})}if(this.currentAccordion==this.showAccordion){this.deactivate()}else{this._handleAccordion()}},deactivate:function(){var a=$H({duration:this.duration,scaleContent:false,transition:Effect.Transitions.sinoidal,queue:{position:"end",scope:"accordionAnimation"},scaleMode:{originalHeight:this.options.defaultSize.height?this.options.defaultSize.height:this.currentAccordion.scrollHeight,originalWidth:this.options.defaultSize.width?this.options.defaultSize.width:this.currentAccordion.scrollWidth},afterFinish:function(){this.showAccordion.setStyle({height:"auto",display:"none"});this.showAccordion=null;this.animating=false}.bind(this)});this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);new Effect.Scale(this.showAccordion,0,a.update(this.scaling).toObject())},_handleAccordion:function(){var a=$H({sync:true,scaleFrom:0,scaleContent:false,transition:Effect.Transitions.sinoidal,scaleMode:{originalHeight:this.options.defaultSize.height?this.options.defaultSize.height:this.currentAccordion.scrollHeight,originalWidth:this.options.defaultSize.width?this.options.defaultSize.width:this.currentAccordion.scrollWidth}});a.merge(this.scaling);this.effects.push(new Effect.Scale(this.currentAccordion,100,a.update(this.scaling).toObject()));if(this.showAccordion){this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);a=$H({sync:true,scaleContent:false,transition:Effect.Transitions.sinoidal});a.merge(this.scaling);this.effects.push(new Effect.Scale(this.showAccordion,0,a.update(this.scaling).toObject()))}new Effect.Parallel(this.effects,{duration:this.duration,queue:{position:"end",scope:"accordionAnimation"},beforeStart:function(){this.animating=true}.bind(this),afterFinish:function(){if(this.showAccordion){this.showAccordion.setStyle({display:"none"})}$(this.currentAccordion).setStyle({height:"auto"});this.showAccordion=this.currentAccordion;this.animating=false}.bind(this)})}};var TINY={};function T$(i){return document.getElementById(i)}function T$$(e,p){return p.getElementsByTagName(e)}TINY.accordion=function(){function slider(n){this.n=n;this.a=[]}slider.prototype.init=function(t,e,m,o,k){var a=T$(t),i=s=0,n=a.childNodes,l=n.length;this.s=k||0;this.m=m||0;for(i;i<l;i++){var v=n[i];if(v.nodeType!=3){this.a[s]={};this.a[s].h=h=T$$(e,v)[0];this.a[s].c=c=T$$('div',v)[0];h.onclick=new Function(this.n+'.pr(0,'+s+')');if(o==s){h.className=this.s;c.style.height='auto';c.d=1}else{c.style.height=0;c.d=-1}s++}}this.l=s};slider.prototype.pr=function(f,d){for(var i=0;i<this.l;i++){var h=this.a[i].h,c=this.a[i].c,k=c.style.height;k=k=='auto'?1:parseInt(k);clearInterval(c.t);if((k!=1&&c.d==-1)&&(f==1||i==d)){c.style.height='';c.m=c.offsetHeight;c.style.height=k+'px';c.d=1;h.className=this.s;su(c,1)}else if(k>0&&(f==-1||this.m||i==d)){c.d=-1;h.className='';su(c,-1)}}};function su(c){c.t=setInterval(function(){sl(c)},20)};function sl(c){var h=c.offsetHeight,d=c.d==1?c.m-h:h;c.style.height=h+(Math.ceil(d/5)*c.d)+'px';c.style.opacity=h/c.m;c.style.filter='alpha(opacity='+h*100/c.m+')';if((c.d==1&&h>=c.m)||(c.d!=1&&h==1)){if(c.d==1){c.style.height='auto'}clearInterval(c.t)}};return{slider:slider}}();function LatLonGraticule(a){this.sex_=a||false}LatLonGraticule.prototype=new google.maps.Overlay();LatLonGraticule.prototype.initialize=function(a){this.map_=a;this.divs_=new Array()};LatLonGraticule.prototype.remove=function(){try{var a=0;var c=this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);for(a=0;a<this.divs_.length;a++){c.removeChild(this.divs_[a])}}catch(b){}};LatLonGraticule.prototype.copy=function(){return new LatLonGraticule(this.sex_)};LatLonGraticule.prototype.redraw=function(f){this.remove();this.color_=this.map_.getCurrentMapType().getTextColor();var e=this.map_.getBounds();var z=e.getSouthWest().lng();var F=e.getSouthWest().lat();var u=e.getNorthEast().lat();var v=e.getNorthEast().lng();if(F<-90){F=-90}if(u>90){u=90}if(z<-180){z=-180}if(v>180){v=180}if(z==v){z=-180;v=180}if(u==F){F=-90;u=90}var s=this.gridIntervalMins(u-F);var g;if(v>z){g=this.gridIntervalMins(v-z)}else{g=this.gridIntervalMins((180-z)+(v+180))}z=Math.floor(z*60/g)*g/60;F=Math.floor(F*60/s)*s/60;u=Math.ceil(u*60/s)*s/60;v=Math.ceil(v*60/g)*g/60;if(F<=-90){F=-90}if(u>=90){u=90}if(z<-180){z=-180}if(v>180){v=180}s/=60;g/=60;var A=this.gridPrecision(s);var h=this.gridPrecision(g);this.divs_=new Array();var D=0;var a=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(F,z));var c=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(u,v));this.maxX=c.x;this.maxY=a.y;this.minX=a.x;this.minY=c.y;var q;var o=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(F+s+s,z)).y+2;var C=this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);var n=z;if(v<n){v+=360}while(n<=v){var w=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(F,n));this.divs_[D]=this.createVLine(w.x);C.insertBefore(this.divs_[D],null);D++;var E=document.createElement("DIV");q=w.x+3;E.style.position="absolute";E.style.left=q.toString()+"px";E.style.top=o.toString()+"px";E.style.color=this.color_;E.style.fontFamily="Arial";E.style.fontSize="x-small";if(this.sex_){var m=Math.floor(Math.abs(n));var k=((Math.abs(n)-m)*60).toFixed(2);if(k=="60.00"){m+=1;k="0.00"}E.innerHTML=m+":"+k}else{E.innerHTML=(Math.abs(n)).toFixed(h)}if(n<0){E.title="West (WGS84)"}else{E.title="East (WGS84)"}C.insertBefore(E,null);this.divs_[D]=E;D++;n+=g;if(n>180){v-=360;n-=360}}var B=0;q=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(F,z+g+g)).x+3;while(F<=u){var w=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(F,z));if(v<z){this.divs_[D]=this.createHLine3(F);C.insertBefore(this.divs_[D],null);D++}else{if(v==z){this.divs_[D]=this.createHLine3(F);C.insertBefore(this.divs_[D],null);D++}else{this.divs_[D]=this.createHLine(w.y);C.insertBefore(this.divs_[D],null);D++}}var E=document.createElement("DIV");o=w.y+2;E.style.position="absolute";E.style.left=q.toString()+"px";E.style.top=o.toString()+"px";E.style.color=this.color_;E.style.fontFamily="Arial";E.style.fontSize="x-small";if(this.sex_){var m=Math.floor(Math.abs(F));var k=((Math.abs(F)-m)*60).toFixed(2);if(k=="60.00"){m+=1;k="0.00"}E.innerHTML=m+":"+k}else{E.innerHTML=(Math.abs(F)).toFixed(A)}if(F<0){E.title="South (WGS84)"}else{E.title="North (WGS84)"}if(B!=2){C.insertBefore(E,null);this.divs_[D]=E;D++}B++;F+=s}};LatLonGraticule.prototype.gridIntervalMins=function(a){if(this.sex_){return this.gridIntervalSexMins(a)}else{return this.gridIntervalDecMins(a)}};LatLonGraticule.prototype.gridIntervalDecMins=function(a){var a=a/10;a*=6000;a=Math.ceil(a)/100;if(a<=0.06){a=0.06}else{if(a<=0.12){a=0.12}else{if(a<=0.3){a=0.3}else{if(a<=0.6){a=0.6}else{if(a<=1.2){a=1.2}else{if(a<=3){a=3}else{if(a<=6){a=6}else{if(a<=12){a=12}else{if(a<=30){a=30}else{if(a<=60){a=60}else{if(a<=(60*2)){a=60*2}else{if(a<=(60*5)){a=60*5}else{if(a<=(60*10)){a=60*10}else{if(a<=(60*20)){a=60*20}else{if(a<=(60*30)){a=60*30}else{a=60*45}}}}}}}}}}}}}}}return a};LatLonGraticule.prototype.gridIntervalSexMins=function(a){var a=a/10;a*=6000;a=Math.ceil(a)/100;if(a<=0.01){a=0.01}else{if(a<=0.02){a=0.02}else{if(a<=0.05){a=0.05}else{if(a<=0.1){a=0.1}else{if(a<=0.2){a=0.2}else{if(a<=0.5){a=0.5}else{if(a<=1){a=1}else{if(a<=3){a=3}else{if(a<=6){a=6}else{if(a<=12){a=12}else{if(a<=30){a=30}else{if(a<=60){a=60}else{if(a<=(60*2)){a=60*2}else{if(a<=(60*5)){a=60*5}else{if(a<=(60*10)){a=60*10}else{if(a<=(60*20)){a=60*20}else{if(a<=(60*30)){a=60*30}else{a=60*45}}}}}}}}}}}}}}}}}return a};LatLonGraticule.prototype.gridPrecision=function(a){if(a<0.01){return 3}else{if(a<0.1){return 2}else{if(a<1){return 1}else{return 0}}}};LatLonGraticule.prototype.createVLine=function(a){var b=document.createElement("DIV");b.style.position="absolute";b.style.overflow="hidden";b.style.backgroundColor=this.color_;b.style.left=a+"px";b.style.top=this.minY+"px";b.style.width="1px";b.style.height=(this.maxY-this.minY)+"px";return b};LatLonGraticule.prototype.createHLine=function(b){var a=document.createElement("DIV");a.style.position="absolute";a.style.overflow="hidden";a.style.backgroundColor=this.color_;a.style.left=this.minX+"px";a.style.top=b+"px";a.style.width=(this.maxX-this.minX)+"px";a.style.height="1px";return a};LatLonGraticule.prototype.createHLine3=function(e){var d=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(e,0));var c=this.map_.fromLatLngToDivPixel(new google.maps.LatLng(e,180));var g=document.createElement("DIV");g.style.position="absolute";g.style.overflow="hidden";g.style.backgroundColor=this.color_;var b=d.x;var a=c.x;if(a<b){a=d.x;b=c.x}g.style.left=(b-(a-b))+"px";g.style.top=d.y+"px";g.style.width=((a-b)*3)+"px";g.style.height="1px";return g};function fixedLatLonString(b,j){var l="N";var k="E";if(b<0){b=-b;l="S"}if(j<0){j=-j;k="W"}var a=Math.floor(b);var d=Math.round((b-a)*1000000);var e=a.toString();while(e.length<2){e="0"+e}var h=d.toString();while(h.length<6){h="0"+h}var c=Math.floor(j);var g=Math.round((j-c)*1000000);var f=c.toString();while(f.length<3){f="0"+f}var i=g.toString();while(i.length<6){i="0"+i}return e+"."+h+l+", "+f+"."+i+k}function MapCursorControl(){}MapCursorControl.prototype=new google.maps.Control();MapCursorControl.prototype.initialize=function(b){var a=document.createElement("div");a.style.fontFamily="Arial";a.style.fontSize="XX-Small";var c=document.createElement("input");c.style.width="258px";c.type="Text";c.readOnly=true;c.id="txtPtr";a.appendChild(c);sensorLocationCrosshair=google.maps.Event.addListener(b,"mousemove",function(d){var f=fixedLatLonString(d.lat(),d.lng());var e=f+" (zoom level "+b.getZoom()+")";var g=document.getElementById("txtPtr");g.value=e});b.getContainer().appendChild(a);return a};MapCursorControl.prototype.getDefaultPosition=function(){return new google.maps.ControlPosition(G_ANCHOR_TOP_LEFT,new google.maps.Size(60,27))};function OGBLatLng(a,b){this.lat=a;this.lon=b}function WGS84LatLng(a,b){this.lat=a;this.lon=b}function OGBNorthEast(a,b){this.north=b;this.east=a}function OGBRect(a,b){this.bl=a;this.tr=b}function WGS84ToOGB(D,t,E){var k=Math.PI/180;var G=180/Math.PI;var w=D*k;var l=t*k;var P=6378137;var O=0.00669438037928458;var J=E;var Q=6377563.396;var j=0.0066705397616;var u=-446.448;var L=125.157;var f=-542.06;var q=-0.1502;var I=-0.247;var c=-0.8421;var C=20.4894;var R=C*0.000001;var A=P/(Math.sqrt(1-(O*(Math.sin(w)*Math.sin(w)))));var r=(A+J)*Math.cos(w)*Math.cos(l);var o=(A+J)*Math.cos(w)*Math.sin(l);var n=((1-O)*A+J)*Math.sin(w);var i=(q/3600)*k;var m=(I/3600)*k;var B=(c/3600)*k;var N=r+(r*R)-(o*B)+(n*m)+u;var M=(r*B)+o+(o*R)-(n*i)+L;var K=(-1*r*m)+(o*i)+n+(n*R)+f;var b=Math.atan(M/N);var F=Math.sqrt((N*N)+(M*M));var d=Math.atan(K/(F*(1-j)));A=Q/(Math.sqrt(1-j*(Math.sin(d)*Math.sin(d))));var H=1;var g=0;while(H>0.001){g=Math.atan((K+j*A*Math.sin(d))/F);H=Math.abs(g-d);d=g}d=d*G;b=b*G;return new OGBLatLng(d,b)}function OGBToWGS84(F,w,D){var k=Math.PI/180;var G=180/Math.PI;var A=F*k;var o=w*k;var Q=6378137;var j=0.00669438037928458;var J=D;var P=6377563.396;var O=0.0066705397616;var t=446.448;var L=-125.157;var f=542.06;var q=0.1502;var I=0.247;var c=0.8421;var C=-20.4894;var R=C*0.000001;var u=P/(Math.sqrt(1-(O*(Math.sin(A)*Math.sin(A)))));var r=(u+J)*Math.cos(A)*Math.cos(o);var n=(u+J)*Math.cos(A)*Math.sin(o);var m=((1-O)*u+J)*Math.sin(A);var i=(q/3600)*k;var l=(I/3600)*k;var B=(c/3600)*k;var N=r+(r*R)-(n*B)+(m*l)+t;var M=(r*B)+n+(n*R)-(m*i)+L;var K=(-1*r*l)+(n*i)+m+(m*R)+f;var b=Math.atan(M/N);var E=Math.sqrt((N*N)+(M*M));var d=Math.atan(K/(E*(1-j)));u=Q/(Math.sqrt(1-j*(Math.sin(d)*Math.sin(d))));var H=1;var g=0;while(H>0.001){g=Math.atan((K+j*u*Math.sin(d))/E);H=Math.abs(g-d);d=g}d=d*G;b=b*G;return new WGS84LatLng(d,b)}function LLtoNE(w,f){var A=Math.PI/180;var G=180/Math.PI;var P=w*A;var y=f*A;var L=6377563.396;var K=6356256.91;var t=400000;var u=-100000;var j=0.9996012717;var s=0.0066705397616;var d=-0.03490658503988659;var g=0.8552113334772214;var O=L*j;var E=K*j;var l=Math.sin(P)*Math.sin(P);var F=O/(Math.sqrt(1-(s*(l))));var z=(F*(1-s))/(1-(s*l));var D=(F/z)-1;var B=y-d;var m=F*Math.cos(P);var x=Math.pow(Math.cos(P),3);var N=Math.tan(P)*Math.tan(P);var e=(F/6)*x*((F/z)-N);var v=Math.pow(Math.cos(P),5);var H=Math.pow(Math.tan(P),4);var h=(F/120)*v*((5-(18*N))+H+(14*D)-(58*N*D));var r=t+(B*m)+(Math.pow(B,3)*e)+(Math.pow(B,5)*h);var C=(O-E)/(O+E);var i=Marc(E,C,g,P);var k=i+(u);var q=(F/2)*Math.sin(P)*Math.cos(P);var J=((F/24)*Math.sin(P)*Math.pow(Math.cos(P),3))*(5-Math.pow(Math.tan(P),2)+(9*D));var c=((F/720)*Math.sin(P)*v)*(61-(58*N)+H);var o=k+((B*B)*q)+(Math.pow(B,4)*J)+(Math.pow(B,6)*c);r=Math.round(r);o=Math.round(o);return new OGBNorthEast(r,o)}function NE2NGR(g,d){g=Math.round(g);d=Math.round(d);var a=g/500000;var i=d/500000;var f=Math.floor(a)-5*Math.floor(i)+17;i=5*(i-Math.floor(i));a=20-5*Math.floor(i)+Math.floor(5*(a-Math.floor(a)));if(a>7.5){a=a+1}if(f>7.5){f=f+1}var h=g-(Math.floor(g/100000)*100000);var e=d-(Math.floor(d/100000)*100000);var c=h.toString();var j=e.toString();while(c.length<5){c="0"+c}while(j.length<5){j="0"+j}var b=String.fromCharCode(f+65)+String.fromCharCode(a+65)+" "+c+" "+j;return b}function NE2NGR10K(a){var d="";var c="";var b="";d+=a[0].toLowerCase()+a[1].toLowerCase()+a[3]+a[9];if(parseInt(a[10])<5){c="s"}else{c="n"}if(parseInt(a[4])<5){b="w"}else{b="e"}return d+c+b}function Marc(b,d,a,c){return b*(((1+d+((5/4)*(d*d))+((5/4)*(d*d*d)))*(c-a))-(((3*d)+(3*(d*d))+((21/8)*(d*d*d)))*(Math.sin(c-a))*(Math.cos(c+a)))+((((15/8)*(d*d))+((15/8)*(d*d*d)))*(Math.sin(2*(c-a)))*(Math.cos(2*(c+a))))-(((35/24)*(d*d*d))*(Math.sin(3*(c-a)))*(Math.cos(3*(c+a)))))}function NEtoLL(n,E){var v=0.9996012717;var x=49;var A=-2;var h=400000;var f=-100000;var L=6377563.396;var K=6356256.91;var l;var G;var q;var o;var m;var u;L=L*v;K=K*v;q=(L-K)/(L+K);o=q*q;m=o*q;k=x*Math.PI/180;l=(L*L-K*K)/(L*L);G=(L*L-K*K)/(K*K);u=K*k+K*(q*(1+5*q*(1+q)/4)*k-3*q*(1+q*(1+7*q/8))*Math.sin(k)*Math.cos(k)+(15*q*(q+o)/8)*Math.sin(2*k)*Math.cos(2*k)-(35*m/24)*Math.sin(3*k)*Math.cos(3*k));var x=49;var A=-2;var h=400000;var f=-100000;var k;var i;var C=E-f;var H=n-h;var M,F,B,r,w,p,I,y,D,J;var z,d,j,e,g;C+=u;F=C/(K*(1+q+5*(o+m)/4))-1;B=F+1;while(Math.abs(B-F)>0.000001){F=B;D=K*F+K*(q*(1+5*q*(1+q)/4)*F-3*q*(1+q*(1+7*q/8))*Math.sin(F)*Math.cos(F)+(15*q*(q+o)/8)*Math.sin(2*F)*Math.cos(2*F)-(35*m/24)*Math.sin(3*F)*Math.cos(3*F));J=K*((1+q+5*(o+m)/4)-3*(q+o+7*m/8)*Math.cos(2*F)+(15*(o+m)/4)*Math.cos(4*F)-(35*m/8)*Math.cos(6*F));B=F-(D-C)/J}I=Math.cos(F);y=Math.sin(F);w=Math.tan(F);r=w*w;p=H*H;z=(L*L)/(1-l*y*y);M=Math.sqrt(z);d=L*L*I*I/(K*K)-I*I+1;g=d-1;e=M/d;j=((1-l*y*y)*(1-l*y*y))/(L*L*(1-l));k=F-w*p*j/2+(p*p*(w/(24*e*z*M)*(5+(3*r)+g-(9*r*g))));i=(H/(I*M))-(H*p*((d+2*r)/(6*z))/(I*M))+(p*p*H*(5+(28*r)+(24*r*r))/(120*z*z*M*I));return new OGBLatLng(k*180/Math.PI,(i*180/Math.PI)+A)}function enclosingOsgbRect(o,q,h,i){var p=WGS84ToOGB(q,o,0);var j=WGS84ToOGB(h,i,0);var d=WGS84ToOGB(q,i,0);var c=WGS84ToOGB(h,o,0);var f=LLtoNE(p.lat,p.lon);var a=LLtoNE(j.lat,j.lon);var m=LLtoNE(d.lat,d.lon);var l=LLtoNE(c.lat,c.lon);var g=Math.min(f.east,l.east);var k=Math.max(m.east,a.east);var r=Math.min(f.north,m.north);var b=Math.max(a.north,l.north);return new OGBRect(new OGBNorthEast(g,r),new OGBNorthEast(k,b))}function OsgbConvergence(j,d){var m=0.9996012717;var l=6377563.396;var k=6356256.91;var f=-2;l=l*m;k=k*m;var h=j*Math.PI/180;var i=Math.cos(h);var q=Math.sin(h);var o=Math.tan(h);var g=o*o;var e=(d-f)*Math.PI/180;var n=l*l*i*i/(k*k)-i*i;return((e*q)+(e*e*e*q*i*i*(1+(3*n)+(2*n*n))/3)+(e*e*e*e*e*q*i*i*i*i*(2-g)/15))*180/Math.PI}function NGR2NE(a){var h;var k;a=a.toUpperCase(a);var g=a.split(" ");a="";for(var d=0;d<g.length;d++){a+=g[d]}var j=a.charAt(0);if(j=="S"){h=0;k=0}else{if(j=="T"){h=500000;k=0}else{if(j=="N"){k=500000;h=0}else{if(j=="O"){k=500000;h=500000}else{if(j=="H"){k=1000000;h=0}else{return null}}}}}j=a.charAt(1);if(j=="I"){return null}j=a.charCodeAt(1)-65;if(j>8){j-=1}h+=(j%5)*100000;k+=(4-Math.floor(j/5))*100000;j=a.substr(2);if((j.length%2)==1){return null}if(j.length>10){return null}try{var f=j.substr(0,j.length/2);while(f.length<5){f+="0"}h+=parseInt(f,10);if(isNaN(h)){return null}f=j.substr(j.length/2);while(f.length<5){f+="0"}k+=parseInt(f,10);if(isNaN(k)){return null}return new OGBNorthEast(h,k)}catch(b){return null}};function OGBGraticule(){}OGBGraticule.prototype=new GOverlay();OGBGraticule.prototype.initialize=function(a){this.map_=a;this.lines_=new Array();this.divs_=new Array();this.drawFirst_=true;this.lstnMove_=null;this.lstnStart_=null;this.lstnType_=null};OGBGraticule.prototype.remove=function(){this.unDraw();if(this.lstnMove_!=null){GEvent.removeListener(this.lstnMove_)}if(this.lstnStart_!=null){GEvent.removeListener(this.lstnStart_)}if(this.lstnType_!=null){GEvent.removeListener(this.lstnType_)}};OGBGraticule.prototype.unDraw=function(){try{var a=0;for(a=0;a<this.lines_.length;a++){this.map_.removeOverlay(this.lines_[a])}var c=this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);for(a=0;a<this.divs_.length;a++){c.removeChild(this.divs_[a])}}catch(b){}};OGBGraticule.prototype.copy=function(){return new OGBGraticule()};OGBGraticule.prototype.redraw=function(c){if(this.drawFirst_){this.safeRedraw();var a=GEvent.callback(this,this.safeRedraw);this.lstnMove_=GEvent.addListener(this.map_,"moveend",function(){a()});this.lstnType_=GEvent.addListener(this.map_,"maptypechanged",function(){a()});var b=GEvent.callback(this,this.unDraw);this.lstnStart_=GEvent.addListener(this.map_,"movestart",function(){b()});this.drawFirst_=false}};OGBGraticule.prototype.safeRedraw=function(){this.unDraw();this.color_=this.map_.getCurrentMapType().getTextColor();if(this.color_=="white"){this.color_="#FFFFFF"}if(this.color_=="black"){this.color_="#000000"}var a=this.map_.getBounds();var B=a.getSouthWest().lng();var J=a.getSouthWest().lat();var o=a.getNorthEast().lat();var v=a.getNorthEast().lng();if(o<49){return}if(J>61){return}if(v<-8){return}if(B>2){return}var I=100;switch(this.map_.getZoom()){case 5:I=100;break;case 6:I=100;break;case 7:I=50;break;case 8:I=20;break;case 9:I=20;break;case 10:I=10;break;case 11:I=5;break;case 12:I=2;break;case 13:I=1;break;case 14:I=0.5;break;case 15:I=0.2;break;case 16:I=0.1;break;case 17:I=0.05;break;case 18:I=0.02;break;case 19:I=0.01;break;case 20:I=0.01;break;case 21:I=0.01;break;default:return}var A=enclosingOsgbRect(B,J,o,v);var f=A.bl.east/1000;var m=A.bl.north/1000;var g=A.tr.east/1000;var D=A.tr.north/1000;g=Math.ceil(g/I)*I;f=Math.floor(f/I)*I;D=Math.ceil(D/I)*I;m=Math.floor(m/I)*I;if(f<=0){f=0}if(g>=700){g=700}if(m<0){m=0}if(D>1300){D=1300}this.lines_=new Array();this.divs_=new Array();var F=0;var E=0;var C=this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);var u=m;while(u<=D){var L=new Array();if(I<10){L[0]=this.GLatLngFromEN(g,u);L[1]=this.GLatLngFromEN(f,u)}else{var H=f;var w=0;while(H<=g){L[w]=this.GLatLngFromEN(H,u);w++;H+=I}}if(L.length>0){this.lines_[F]=new GPolyline(L,this.color_,1,1,{clickable:0});this.map_.addOverlay(this.lines_[F]);F++}try{var z=this.map_.fromLatLngToDivPixel(this.GLatLngFromEN(f+I+I,u));var n=document.createElement("DIV");var k=z.x+3;n.style.position="absolute";n.style.left=k.toString()+"px";n.style.top=z.y.toString()+"px";n.style.color=this.color_;n.style.fontFamily="Arial";n.style.fontSize="x-small";n.style.cursor="help";n.title=NE2NGR((Math.floor(f+0.04)+I+I+0.4)*1000,(Math.floor(u+0.04)+0.4)*1000).substr(0,2)+" ("+Math.floor(u+0.04).toString()+" km North)";var c=(Math.round(u)%100).toString();if(c.length<2){c="0"+c}if(I<0.1){c=(Math.round(u*100)%10000).toString();if(c.length<4){c="0"+c}if(c.length<4){c="0"+c}if(c.length<4){c="0"+c}c=c.substr(0,2)+"."+c.substr(2,2)}else{if(I<1){c=(Math.round(u*10)%1000).toString();if(c.length<3){c="0"+c}if(c.length<3){c="0"+c}c=c.substr(0,2)+"."+c.substr(2,1)}}if(I>=100){c=n.title.substr(0,2)}n.innerHTML=c;C.insertBefore(n,null);this.divs_[E]=n;E++}catch(G){}u+=I}var H=f;while(H<=g){var K=new Array();if(I<10){K[0]=this.GLatLngFromEN(H,D);K[1]=this.GLatLngFromEN(H,m)}else{var u=m;var w=0;while(u<=D){K[w]=this.GLatLngFromEN(H,u);w++;u+=I}}if(K.length>0){this.lines_[F]=new GPolyline(K,this.color_,1,1,{clickable:0});this.map_.addOverlay(this.lines_[F]);F++}try{var z=this.map_.fromLatLngToDivPixel(this.GLatLngFromEN(H,m+I+I));var n=document.createElement("DIV");var h=z.y+3;n.style.position="absolute";n.style.left=z.x.toString()+"px";n.style.top=h.toString()+"px";n.style.color=this.color_;n.style.fontFamily="Arial";n.style.fontSize="x-small";n.style.cursor="help";n.title=NE2NGR((Math.floor(H+0.04)+0.4)*1000,(Math.floor(m+0.04)+I+I+0.4)*1000).substr(0,2)+" ("+Math.floor(H+0.04).toString()+" km East)";var c=(Math.round(H)%100).toString();if(c.length<2){c="0"+c}if(I<0.1){c=(Math.round(H*100)%10000).toString();if(c.length<4){c="0"+c}if(c.length<4){c="0"+c}if(c.length<4){c="0"+c}c=c.substr(0,2)+"."+c.substr(2,2)}else{if(I<1){c=(Math.round(H*10)%1000).toString();if(c.length<3){c="0"+c}if(c.length<3){c="0"+c}c=c.substr(0,2)+"."+c.substr(2,1)}}if(I>=100){c=n.title.substr(0,2)}if(H!=(f+I+I)){n.innerHTML=c;C.insertBefore(n,null);this.divs_[E]=n;E++}}catch(G){}H+=I}};OGBGraticule.prototype.GLatLngFromEN=function(a,d){var b=NEtoLL(a*1000,d*1000);var c=OGBToWGS84(b.lat,b.lon,0);return new GLatLng(c.lat,c.lon)};var gbRect=new google.maps.LatLngBounds(new GLatLng(49,-7),new GLatLng(61,2));function MapOSGBCursorControl(){}MapOSGBCursorControl.prototype=new google.maps.Control();MapOSGBCursorControl.prototype.initialize=function(b){var a=document.createElement("div");a.style.fontFamily="Arial";a.style.fontSize="XX-Small";var c=document.createElement("input");c.style.width="420px";c.type="Text";c.readOnly=true;c.id="txtPtr";a.appendChild(c);sensorLocationCrosshair=google.maps.Event.addListener(b,"mousemove",function(d){var g;if(gbRect.contains(d)){var f=WGS84ToOGB(d.lat(),d.lng(),0);var i=LLtoNE(f.lat,f.lon);g="E="+i.east+"m, N="+i.north+"m  ";var h=NE2NGR(i.east,i.north);var e=NE2NGR10K(h);g+="["+h+" / "+e+"] (zoom level "+b.getZoom()+")"}else{g="Outside of OSGB grid area"}var j=document.getElementById("txtPtr");j.value=g});b.getContainer().appendChild(a);return a};MapOSGBCursorControl.prototype.getDefaultPosition=function(){return new google.maps.ControlPosition(G_ANCHOR_TOP_LEFT,new google.maps.Size(60,27))};var BDCCCircleId;var BDCCCircleSvgRoot;function BDCCCircle(g,b,j,c,d,h,a,e,i){this.point_=g;this.radiusKm_=b;this.lineColour_=j||"#888888";this.lineWidth_=c||3;this.lineOpacity_=d||0.5;this.fill_=h||false;this.fillColour_=a||"#444444";if(this.fillColour_.constructor.toString().indexOf("Array")==-1){this.fillColour1_=this.fillColour_;this.fillColour2_=null}else{if(this.fillColour_.length==2){this.fillColour1_=this.fillColour_[0]||"#222222";this.fillColour2_=this.fillColour_[1]||"#888888"}else{this.fillColour1_=this.fillColour_[0]||"#444444";this.fillColour2_=null}}this.fillOpacity_=e||0.3;if(this.fillOpacity_.constructor.toString().indexOf("Array")==-1){this.fillOpacity1_=this.fillOpacity_;this.fillOpacity2_=null}else{if(this.fillOpacity_.length==2){this.fillOpacity1_=this.fillOpacity_[0]||0.1;this.fillOpacity2_=this.fillOpacity_[1]||0.9}else{this.fillOpacity1_=this.fillOpacity_[0]||0.5;this.fillOpacity2_=null}}this.tooltip_=i;this.usesVml_=(navigator.userAgent.indexOf("MSIE")!=-1);if(BDCCCircleId==null){BDCCCircleId=0}else{BDCCCircleId+=1}this.gradId_="BDCCCircleGradient"+BDCCCircleId.toString()}BDCCCircle.prototype=new google.maps.Overlay();BDCCCircle.prototype.getPoint=function(){return this.point_};BDCCCircle.prototype.setPoint=function(a){this.point_=a;this.redraw(false)};BDCCCircle.prototype.getRadiusKm=function(){return this.radiusKm_};BDCCCircle.prototype.setRadiusKm=function(a){this.radiusKm_=a;this.redraw(false)};BDCCCircle.prototype.setStrokeColor=function(a){this.lineColour_=a;if(this.usesVml_){this.vmlCircle_.stroke.color=this.lineColour_}else{this.svgNode_.setAttribute("stroke",this.lineColour_)}};BDCCCircle.prototype.getStrokeColor=function(){return this.lineColour_};BDCCCircle.prototype.setStrokeWeight=function(a){this.lineWidth_=a;if(this.usesVml_){this.vmlCircle_.stroke.weight=this.lineWidth_.toString()+"px"}else{this.svgNode_.setAttribute("stroke-width",this.lineWidth_.toString()+"px")}};BDCCCircle.prototype.getStrokeWeight=function(){return this.lineWidth_};BDCCCircle.prototype.setStrokeOpacity=function(a){this.lineOpacity_=a;if(this.usesVml_){this.vmlCircle_.stroke.opacity=this.lineOpacity_}else{this.svgNode_.setAttribute("stroke-opacity",this.lineOpacity_)}};BDCCCircle.prototype.getStrokeOpacity=function(){return this.lineOpacity_};BDCCCircle.prototype.setFillColor=function(a){this.fillColour_=a||"#444444";if(this.fillColour_.constructor.toString().indexOf("Array")==-1){this.fillColour1_=this.fillColour_;this.fillColour2_=null}else{if(this.fillColour_.length==2){this.fillColour1_=this.fillColour_[0]||"#222222";this.fillColour2_=this.fillColour_[1]||"#888888"}else{this.fillColour1_=this.fillColour_[0]||"#444444";this.fillColour2_=null}}if(this.usesVml_){this.vmlFillHelper()}else{this.svgFillHelper()}};BDCCCircle.prototype.getFillColor=function(){return this.fillColour_};BDCCCircle.prototype.vmlFillHelper=function(){this.vmlCircle_.removeChild(this.vmlCircle_.children[1]);f="<v:fill";if(!this.fill_){f+=" type='none'"}else{if((this.fillOpacity2_!=null)||(this.fillColour2_!=null)){f+=" type='gradientradial' focusposition='0.5,0.5' focussize='0,0' method='linear'"}else{f+=" type='solid'"}}f+=" opacity="+this.fillOpacity1_;if(this.fillOpacity2_!=null){f+=" o:opacity2="+this.fillOpacity2_}else{if(this.fillColour2_!=null){f+=" o:opacity2="+this.fillOpacity1_}}f+=" color="+this.fillColour1_;if(this.fillColour2_!=null){f+=" color2="+this.fillColour2_}else{if(this.fillOpacity2_!=null){f+=" color2="+this.fillColour1_}}f+="/>";this.vmlCircle_.appendChild(document.createElement(f))};BDCCCircle.prototype.svgFillHelper=function(){if(!this.fill_){this.svgNode_.setAttribute("fill-opacity","0.0");this.svgNode_.setAttribute("pointer-events","visibleStroke")}else{if((this.fillOpacity2_==null)&&(this.fillColour2_==null)){this.svgNode_.setAttribute("fill",this.fillColour1_);this.svgNode_.setAttribute("fill-opacity",this.fillOpacity1_);this.svgNode_.setAttribute("pointer-events","visibleFill")}else{this.svgNode_.setAttribute("fill","url(#"+this.gradId_+")");this.svgStop2_.setAttribute("stop-opacity",this.fillOpacity1_);if(this.fillOpacity2_!=null){this.svgStop1_.setAttribute("stop-opacity",this.fillOpacity2_)}else{if(this.fillColour2_!=null){this.svgStop1_.setAttribute("stop-opacity",this.fillOpacity1_)}}this.svgStop2_.setAttribute("stop-color",this.fillColour1_);if(this.fillColour2_!=null){this.svgStop1_.setAttribute("stop-color",this.fillColour2_)}else{if(this.fillOpacity2_!=null){this.svgStop1_.setAttribute("stop-color",this.fillColour1_)}}this.svgNode_.setAttribute("pointer-events","visibleFill")}}};BDCCCircle.prototype.setFillOpacity=function(a){this.fillOpacity_=a||0.3;if(this.fillOpacity_.constructor.toString().indexOf("Array")==-1){this.fillOpacity1_=this.fillOpacity_;this.fillOpacity2_=null}else{if(this.fillOpacity_.length==2){this.fillOpacity1_=this.fillOpacity_[0]||0.1;this.fillOpacity2_=this.fillOpacity_[1]||0.9}else{this.fillOpacity1_=this.fillOpacity_[0]||0.5;this.fillOpacity2_=null}}if(this.usesVml_){if(this.fill_){this.vmlCircle_.filled=true;this.vmlFillHelper()}else{this.vmlCircle_.filled=false}}else{this.svgFillHelper()}};BDCCCircle.prototype.getFillOpacity=function(){return this.fillOpacity_};BDCCCircle.prototype.setFill=function(a){this.fill_=a;this.setFillOpacity(this.fillOpacity_)};BDCCCircle.prototype.getFillOpacity=function(){return this.fill_};BDCCCircle.prototype.onClick=function(){google.maps.Event.trigger(this,"click")};BDCCCircle.prototype.onOver=function(){google.maps.Event.trigger(this,"mouseover")};BDCCCircle.prototype.onOut=function(){google.maps.Event.trigger(this,"mouseout")};BDCCCircle.prototype.initialize=function(a){this.map_=a;var k=google.maps.Event.callback(this,this.onClick);var d=google.maps.Event.callback(this,this.onOver);var b=google.maps.Event.callback(this,this.onOut);if(this.usesVml_){try{var j=document.createElement("v:oval");j.style.position="absolute";var p=document.createElement("v:stroke");j.insertBefore(p,null);var h=document.createElement("v:fill");j.insertBefore(h,null);if(this.tooltip_){j.title=this.tooltip_;j.style.cursor="default"}a.getPane(G_MAP_MAP_PANE).appendChild(j);google.maps.Event.clearInstanceListeners(j);google.maps.Event.addDomListener(j,"click",function(c){k()});google.maps.Event.addDomListener(j,"mouseover",function(){d()});google.maps.Event.addDomListener(j,"mouseout",function(){b()});this.vmlCircle_=j}catch(i){alert("The designer of this Google Maps web page has attempted to use VML graphics without including the necessary header material.")}}else{var n="http://www.w3.org/2000/svg";if(BDCCCircleSvgRoot==null){BDCCCircleSvgRoot=document.createElementNS(n,"svg");a.getPane(G_MAP_MAP_PANE).appendChild(BDCCCircleSvgRoot)}var g=document.createElementNS(n,"defs");BDCCCircleSvgRoot.appendChild(g);var o=document.createElementNS(n,"radialGradient");g.appendChild(o);o.setAttribute("id",this.gradId_);var m=document.createElementNS(n,"stop");m.setAttribute("offset","0.0");var l=document.createElementNS(n,"stop");l.setAttribute("offset","1.0");o.appendChild(m);o.appendChild(l);var e=document.createElementNS(n,"circle");if(this.tooltip_!=null){e.setAttribute("title",this.tooltip_)}BDCCCircleSvgRoot.appendChild(e);google.maps.Event.clearInstanceListeners(e);google.maps.Event.addDomListener(e,"click",function(c){k()});google.maps.Event.addDomListener(e,"mouseover",function(){d()});google.maps.Event.addDomListener(e,"mouseout",function(){b()});this.svgNode_=e;this.svgGrad_=o;this.svgStop1_=m;this.svgStop2_=l}this.setStrokeColor(this.lineColour_);this.setStrokeOpacity(this.lineOpacity_);this.setStrokeWeight(this.lineWidth_);this.setFillColor(this.fillColour_);this.setFillOpacity(this.fillOpacity_)};BDCCCircle.prototype.remove=function(){if(this.svgNode_!=null){google.maps.Event.clearInstanceListeners(this.svgNode_);BDCCCircleSvgRoot.removeChild(this.svgNode_);this.svgNode_=null}if(this.vmlCircle_!=null){google.maps.Event.clearInstanceListeners(this.vmlCircle_);this.map_.getPane(G_MAP_MAP_PANE).removeChild(this.vmlCircle_);this.vmlCircle_=null}};BDCCCircle.prototype.copy=function(){return new BDCCCircle(this.point_,this.radiusKm_,this.lineColour_,this.lineWidth_,this.lineOpacity_,this.fill_,this.fillColour_,this.fillOpacity_,this.tooltip_)};BDCCCircle.prototype.redraw=function(c){var o=this.map_.fromLatLngToDivPixel(this.point_);var m=this.map_.getSize();var b=this.map_.getBounds();var s=Math.sqrt((m.width*m.width)+(m.height*m.height));var a=b.getNorthEast().distanceFrom(b.getSouthWest())/1000;var g=s/a;var j=this.lineWidth_/2;var r=Math.round((this.radiusKm_*g)-j);if(this.usesVml_){this.vmlCircle_.style.display="none";if(r>0){var u=r*2;var x=Math.round(u/2);var k=o.y-x;var q=o.x-x;this.vmlCircle_.style.width=u;this.vmlCircle_.style.height=u;this.vmlCircle_.style.left=q;this.vmlCircle_.style.top=k;this.vmlCircle_.style.display=""}}else{var v=BDCCCircleSvgRoot.suspendRedraw(10000);this.svgNode_.setAttribute("visibility","hidden");if((r>0)&&(r<3000)){var h=this.map_.fromLatLngToDivPixel(b.getNorthEast());var n=this.map_.fromLatLngToDivPixel(b.getSouthWest());var i=h.x-n.x;var w=n.y-h.y;var q=n.x;var k=h.y;BDCCCircleSvgRoot.setAttribute("width",i);BDCCCircleSvgRoot.setAttribute("height",w);BDCCCircleSvgRoot.setAttribute("style","position:absolute; top:"+k+"px; left:"+q+"px");var e=o.x-q;var d=o.y-k;this.svgNode_.setAttribute("overflow","hidden");this.svgNode_.setAttribute("r",r);this.svgNode_.setAttribute("cx",e);this.svgNode_.setAttribute("cy",d);this.svgNode_.setAttribute("visibility","visible")}BDCCCircleSvgRoot.unsuspendRedraw(v);BDCCCircleSvgRoot.forceRedraw()}};var mapMapnik=null;var mapOsmarender=null;var mapOSMCycle=null;var mapCMWeb=null;var mapCMMobile=null;var mapCMPaledawn=null;var mapCMFresh=null;var mapCMRailway=null;var mapCMMetroRail=null;function addOpenStreetmapMapLayers(m){var g=new google.maps.CopyrightCollection('<a href="http://www.openstreetmap.org/">OpenStreetMap</a>');g.addCopyright(new google.maps.Copyright(1,new google.maps.LatLngBounds(new google.maps.LatLng(-90,-180),new google.maps.LatLng(90,180)),0," "));var k=new Date();var l=k.getFullYear();var p="&copy; "+l+" <a href='http://www.cloudmade.com'>CloudMade</a> - Map data <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CCBYSA</a> "+l+' <a href="http://www.openstreetmap.org/">OpenStreetMap.org</a> contributors';var a=new google.maps.CopyrightCollection(p);a.addCopyright(new google.maps.Copyright(1,new google.maps.LatLngBounds(new google.maps.LatLng(-90,-180),new google.maps.LatLng(90,180)),0," "));var f=new google.maps.TileLayer(g,1,18,{tileUrlTemplate:"http://tile.openstreetmap.org/{Z}/{X}/{Y}.png"});var i=new google.maps.TileLayer(g,1,17,{tileUrlTemplate:"http://tah.openstreetmap.org/Tiles/tile/{Z}/{X}/{Y}.png"});var o=new google.maps.TileLayer(g,1,18,{tileUrlTemplate:"http://andy.sandbox.cloudmade.com/tiles/cycle/{Z}/{X}/{Y}.png"});var c=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/1/256/{Z}/{X}/{Y}.png"});var e=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/2/256/{Z}/{X}/{Y}.png"});var h=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/998/256/{Z}/{X}/{Y}.png"});var b=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/997/256/{Z}/{X}/{Y}.png"});var j=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/1467/256/{Z}/{X}/{Y}.png"});var n=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/4267/256/{Z}/{X}/{Y}.png"});mapMapnik=new google.maps.MapType([f],G_NORMAL_MAP.getProjection(),"OSM Mapnik");mapOsmarender=new google.maps.MapType([i],G_NORMAL_MAP.getProjection(),"OSM Osmarender");mapOSMCycle=new google.maps.MapType([o],G_NORMAL_MAP.getProjection(),"OSM Cycle Map");mapCMWeb=new google.maps.MapType([c],G_NORMAL_MAP.getProjection(),"Cloudmade Web");mapCMMobile=new google.maps.MapType([e],G_NORMAL_MAP.getProjection(),"Cloudmade Mobile");mapCMPaledawn=new google.maps.MapType([h],G_NORMAL_MAP.getProjection(),"Cloudmade Pale Dawn");mapCMFresh=new google.maps.MapType([b],G_NORMAL_MAP.getProjection(),"Cloudmade Fresh");mapCMRailway=new google.maps.MapType([j],G_NORMAL_MAP.getProjection(),"Cloudmade Railway");mapCMMetroRail=new google.maps.MapType([n],G_NORMAL_MAP.getProjection(),"Cloudmade Metro");m.addMapType(mapMapnik);m.addMapType(mapOsmarender);m.addMapType(mapOSMCycle);m.addMapType(mapCMWeb);m.addMapType(mapCMMobile);m.addMapType(mapCMPaledawn);m.addMapType(mapCMFresh);m.addMapType(mapCMRailway);m.addMapType(mapCMMetroRail)}function extendTileLayerZoom(c,i){var d=function(n,m){return(i.getTileLayers())[0].getTileUrl(n,m-1)};var g=new GTileLayer(new google.maps.CopyrightCollection(""),1,i.getMaximumResolution()+3);g.getTileUrl=d;g.getCopyright=function(n,m){return"Magnification - zoom out for copyright details"};var h=new GMapType([g],i.getProjection(),"Satellite x 2");h.getTileSize=function(){return 512};h.getErrorMessage=function(){return i.getErrorMessage()};h.getTextColor=function(){return i.getTextColor()};h.getLinkColor=function(){return i.getLinkColor()};c.addMapType(h);i.getErrorMessage=function(){if(c.getCurrentMapType()==f){c.setMapType(b)}else{if(c.getCurrentMapType()==h){c.setMapType(f)}else{c.setMapType(h)}}return"No further magnification"};var l=function(n,m){return(i.getTileLayers())[0].getTileUrl(n,m-2)};var e=new GTileLayer(new google.maps.CopyrightCollection(""),1,i.getMaximumResolution()+3);e.getTileUrl=l;e.getCopyright=function(n,m){return"Magnification - zoom out for copyright details"};var f=new GMapType([e],i.getProjection(),"Satellite x 4");f.getTileSize=function(){return 1024};f.getErrorMessage=function(){return i.getErrorMessage()};f.getTextColor=function(){return i.getTextColor()};f.getLinkColor=function(){return i.getLinkColor()};c.addMapType(f);h.getErrorMessage=function(){c.setMapType(f);return"No further magnification"};var k=function(n,m){return(i.getTileLayers())[0].getTileUrl(n,m-3)};var a=new GTileLayer(new google.maps.CopyrightCollection(""),1,i.getMaximumResolution()+3);a.getTileUrl=k;a.getCopyright=function(n,m){return"Magnification - zoom out for copyright details"};var b=new GMapType([a],i.getProjection(),"Satellite x 8");b.getTileSize=function(){return 2048};b.getErrorMessage=function(){return i.getErrorMessage()};b.getTextColor=function(){return i.getTextColor()};b.getLinkColor=function(){return i.getLinkColor()};c.addMapType(b);f.getErrorMessage=function(){c.setMapType(b);return"No further magnification"};var j=i.getMaximumResolution();i.getMaximumResolution=function(){return j+3};GEvent.addListener(c,"zoomend",function(n,m){if((m<n)&&(c.getCurrentMapType()==h)){c.setMapType(i)}});GEvent.addListener(c,"zoomend",function(n,m){if((m<n)&&(c.getCurrentMapType()==f)){c.setMapType(h)}});GEvent.addListener(c,"zoomend",function(n,m){if((m<n)&&(c.getCurrentMapType()==b)){c.setMapType(f)}});G_SATELLITE_MAP.getMaximumResolution=function(m){return j+3};G_NORMAL_MAP.getMaximumResolution=function(m){return j+3}}function MapCustomTypePulldownControl(){}MapCustomTypePulldownControl.prototype=new google.maps.Control();MapCustomTypePulldownControl.prototype.initialize=function(d){var a=document.createElement("div");a.style.fontFamily="Arial";a.style.fontSize="x-small";var c=document.createElement("select");c.id="pulldownMapType";availableMapTypes=d.getMapTypes();for(var b=0;b<availableMapTypes.length;b++){var e=document.createElement("option");e.text=availableMapTypes[b].getName();e.value=b;c.options.add(e)}c.selectedIndex=0;c.title="Select the background map type";a.appendChild(c);google.maps.Event.addDomListener(c,"change",function(){var f=document.getElementById("pulldownMapType");var g=d.getMapTypes()[f.options[f.selectedIndex].value];d.setMapType(g)});d.getContainer().appendChild(a);return a};MapCustomTypePulldownControl.prototype.getDefaultPosition=function(){return new google.maps.ControlPosition(G_ANCHOR_TOP_RIGHT,new google.maps.Size(7,7))};/*
	ClusterMarker Version 1.3.2
	
	A marker manager for the Google Maps API
	http://googlemapsapi.martinpearman.co.uk/clustermarker
	
	Copyright Martin Pearman 2008
	Last updated 29th September 2008

	This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

	This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

	You should have received a copy of the GNU General Public License along with this program.  If not, see <http://www.gnu.org/licenses/>.
	
*/
function ClusterMarker(b,a){this._map=b;this._mapMarkers=[];this._iconBounds=[];this._clusterMarkers=[];this._eventListeners=[];if(typeof(a)==="undefined"){a={}}this.borderPadding=(a.borderPadding)?a.borderPadding:256;this.clusteringEnabled=(a.clusteringEnabled===false)?false:true;if(a.clusterMarkerClick){this.clusterMarkerClick=a.clusterMarkerClick}if(a.clusterMarkerIcon){this.clusterMarkerIcon=a.clusterMarkerIcon}else{this.clusterMarkerIcon=new GIcon();this.clusterMarkerIcon.image="http://maps.google.com/mapfiles/arrow.png";this.clusterMarkerIcon.iconSize=new GSize(39,34);this.clusterMarkerIcon.iconAnchor=new GPoint(9,31);this.clusterMarkerIcon.infoWindowAnchor=new GPoint(9,31);this.clusterMarkerIcon.shadow="http://www.google.com/intl/en_us/mapfiles/arrowshadow.png";this.clusterMarkerIcon.shadowSize=new GSize(39,34)}this.clusterMarkerTitle=(a.clusterMarkerTitle)?a.clusterMarkerTitle:"Click to zoom in and see %count markers";if(a.fitMapMaxZoom){this.fitMapMaxZoom=a.fitMapMaxZoom}this.intersectPadding=(a.intersectPadding)?a.intersectPadding:0;if(a.markers){this.addMarkers(a.markers)}GEvent.bind(this._map,"moveend",this,this._moveEnd);GEvent.bind(this._map,"zoomend",this,this._zoomEnd);GEvent.bind(this._map,"maptypechanged",this,this._mapTypeChanged)}ClusterMarker.prototype.addMarkers=function(b){var a;if(!b[0]){var c=[];for(a in b){c.push(b[a])}b=c}for(a=b.length-1;a>=0;a--){b[a]._isVisible=false;b[a]._isActive=false;b[a]._makeVisible=false}this._mapMarkers=this._mapMarkers.concat(b)};ClusterMarker.prototype._clusterMarker=function(b){function a(l,i,k){return new GMarker(l,{icon:i,title:k})}var h=new GLatLngBounds(),d,e,g=[],j,f=this,c=this._mapMarkers;for(d=b.length-1;d>=0;d--){j=c[b[d]];j.index=b[d];h.extend(j.getLatLng());g.push(j)}e=a(h.getCenter(),this.clusterMarkerIcon,this.clusterMarkerTitle.replace(/%count/gi,b.length));e.clusterGroupBounds=h;this._eventListeners.push(GEvent.addListener(e,"click",function(){f.clusterMarkerClick({clusterMarker:e,clusteredMarkers:g})}));e._childIndexes=b;for(d=b.length-1;d>=0;d--){c[b[d]]._parentCluster=e}return e};ClusterMarker.prototype.clusterMarkerClick=function(a){this._map.setCenter(a.clusterMarker.getLatLng(),this._map.getBoundsZoomLevel(a.clusterMarker.clusterGroupBounds))};ClusterMarker.prototype._filterActiveMapMarkers=function(){var k=this.borderPadding,j=this._map.getZoom(),q=this._map.getCurrentMapType().getProjection(),o,c,m,h,n,d,b=this._map.getBounds(),f,p,e=[],l,a=this._mapMarkers,g=this._iconBounds;if(k){o=q.fromLatLngToPixel(b.getSouthWest(),j);c=new GPoint(o.x-k,o.y+k);m=q.fromPixelToLatLng(c,j);h=q.fromLatLngToPixel(b.getNorthEast(),j);n=new GPoint(h.x+k,h.y-k);d=q.fromPixelToLatLng(n,j);b.extend(m);b.extend(d)}this._activeMarkersChanged=false;if(typeof(g[j])==="undefined"){this._iconBounds[j]=[];this._activeMarkersChanged=true;for(f=a.length-1;f>=0;f--){p=a[f];p._isActive=b.containsLatLng(p.getLatLng())?true:false;p._makeVisible=p._isActive;if(p._isActive){e.push(f)}}}else{for(f=a.length-1;f>=0;f--){p=a[f];l=p._isActive;p._isActive=b.containsLatLng(p.getLatLng())?true:false;p._makeVisible=p._isActive;if(!this._activeMarkersChanged&&l!==p._isActive){this._activeMarkersChanged=true}if(p._isActive&&typeof(g[j][f])==="undefined"){e.push(f)}}}return e};ClusterMarker.prototype._filterIntersectingMapMarkers=function(){var e,d,b,a=this._map.getZoom(),f=this._mapMarkers,c=this._iconBounds;for(d=f.length-1;d>0;d--){if(f[d]._makeVisible){e=[];for(b=d-1;b>=0;b--){if(f[b]._makeVisible&&c[a][d].intersects(c[a][b])){e.push(b)}}if(e.length!==0){e.push(d);for(b=e.length-1;b>=0;b--){f[e[b]]._makeVisible=false}this._clusterMarkers.push(this._clusterMarker(e))}}}};ClusterMarker.prototype.fitMapToMarkers=function(){var d=this._mapMarkers,c=new GLatLngBounds(),b;for(b=d.length-1;b>=0;b--){c.extend(d[b].getLatLng())}var a=this._map.getBoundsZoomLevel(c);if(this.fitMapMaxZoom&&a>this.fitMapMaxZoom){a=this.fitMapMaxZoom}this._map.setCenter(c.getCenter(),a);this.refresh()};ClusterMarker.prototype._mapTypeChanged=function(){this.refresh(true)};ClusterMarker.prototype._moveEnd=function(){if(!this._cancelMoveEnd){this.refresh()}else{this._cancelMoveEnd=false}};ClusterMarker.prototype._preCacheIconBounds=function(c,h){var n=this._map.getCurrentMapType().getProjection(),g,o,e,a,j,l,f,k,d,m=this.intersectPadding,b=this._mapMarkers;for(g=c.length-1;g>=0;g--){o=b[c[g]];e=o.getIcon().iconSize;a=n.fromLatLngToPixel(o.getLatLng(),h);j=o.getIcon().iconAnchor;l=new GPoint(a.x-j.x-m,a.y-j.y+e.height+m);f=new GPoint(a.x-j.x+e.width+m,a.y-j.y-m);k=n.fromPixelToLatLng(l,h);d=n.fromPixelToLatLng(f,h);this._iconBounds[h][c[g]]=new GLatLngBounds(k,d)}};ClusterMarker.prototype.refresh=function(d){var c,b,e=this._map.getZoom(),a=this._filterActiveMapMarkers();if(this._activeMarkersChanged||d){this._removeClusterMarkers();if(this.clusteringEnabled&&e<this._map.getCurrentMapType().getMaximumResolution()){if(a.length>0){this._preCacheIconBounds(a,e)}this._filterIntersectingMapMarkers()}for(c=this._clusterMarkers.length-1;c>=0;c--){this._map.addOverlay(this._clusterMarkers[c])}for(c=this._mapMarkers.length-1;c>=0;c--){b=this._mapMarkers[c];if(!b._isVisible&&b._makeVisible){this._map.addOverlay(b);b._isVisible=true}if(b._isVisible&&!b._makeVisible){this._map.removeOverlay(b);b._isVisible=false}}}};ClusterMarker.prototype._removeClusterMarkers=function(){var d,b,g=this._map,a=this._eventListeners,f=this._clusterMarkers,c,e=this._mapMarkers;for(d=f.length-1;d>=0;d--){c=f[d]._childIndexes;for(b=c.length-1;b>=0;b--){delete e[c[b]]._parentCluster}g.removeOverlay(f[d])}for(d=a.length-1;d>=0;d--){GEvent.removeListener(a[d])}this._clusterMarkers=[];this._eventListeners=[]};ClusterMarker.prototype.removeMarkers=function(){var a,b=this._mapMarkers,c=this._map;for(a=b.length-1;a>=0;a--){if(b[a]._isVisible){c.removeOverlay(b[a])}delete b[a]._isVisible;delete b[a]._isActive;delete b[a]._makeVisible}this._removeClusterMarkers();this._mapMarkers=[];this._iconBounds=[]};ClusterMarker.prototype.triggerClick=function(h){var k=this._mapMarkers[h];if(k._isVisible){GEvent.trigger(k,"click")}else{if(k._isActive){var f=k._parentCluster._childIndexes,b=true,c,d,g=this._map.getZoom(),j,e=this._iconBounds,a=this._map.getCurrentMapType().getMaximumResolution();while(b&&g<a){b=false;g++;if(typeof(e[g])==="undefined"){e[g]=[];this._preCacheIconBounds(f,g)}else{c=[];for(d=f.length-1;d>=0;d--){if(typeof(e[g][f[d]])==="undefined"){c.push(f[d])}}if(c.length>=1){this._preCacheIconBounds(c,g)}}for(d=f.length-1;d>=0;d--){j=f[d];if(j!==h&&e[g][j].intersects(e[g][h])){b=true;break}}}this._map.setCenter(k.getLatLng(),g);this.triggerClick(h)}else{this._map.setCenter(k.getLatLng());this.triggerClick(h)}}};ClusterMarker.prototype._zoomEnd=function(){this._cancelMoveEnd=true;this.refresh(true)};function ToolTip(c,d,f,b,a,e){this.html_=d;this.width_=(e?e+"px":"auto");this.marker_=c;this.style_=f;this.offsetx_=(b?b:0);this.offsety_=(a?a:0)}ToolTip.prototype=new google.maps.Overlay();ToolTip.prototype.initialize=function(a){var b=document.createElement("div");b.className="IconCustomTooltip";b.style.display="none";b.innerHTML=this.html_;b.style.width=this.width_;a.getPane(G_MAP_FLOAT_PANE).appendChild(b);this.map_=a;this.container_=b};ToolTip.prototype.remove=function(){this.container_.parentNode.removeChild(this.container_)};ToolTip.prototype.copy=function(){return new ToolTip(this.html_)};ToolTip.prototype.redraw=function(b){if(!b){return}var c=parseInt(this.container_.style.height);var a=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());this.container_.style.position="absolute";this.container_.style.left=(a.x-this.offsetx_)+"px";this.container_.style.top=(a.y-this.offsety_)+"px";this.container_.style.whiteSpace="nowrap";if(this.width_!="auto"){this.container_.style.overflow="hidden"}this.container_.style.display="block"};google.maps.Marker.prototype.ToolTipInstance=null;google.maps.Marker.prototype.openToolTip=function(d,c,b,a){if(this.ToolTipInstance==null){this.ToolTipInstance=new ToolTip(this,d,c,b,a);geoGoogleMap.addOverlay(this.ToolTipInstance)}};google.maps.Marker.prototype.closeToolTip=function(){if(this.ToolTipInstance!=null){geoGoogleMap.removeOverlay(this.ToolTipInstance);this.ToolTipInstance=null}};function LabeledMarker(b,a){this.opts_=a;this.labelText_=a.labelText||"";this.labelClass_=a.labelClass||"LabeledMarker_markerLabel";this.labelOffset_=a.labelOffset||new GSize(0,0);this.clickable_=(a.clickable==false)?false:true;this.title_=a.title||"";this.labelVisibility_=true;this.ownVisibility_=true;if(a.draggable){a.draggable=false}GMarker.apply(this,arguments)}LabeledMarker.prototype=new GMarker(new GLatLng(0,0));LabeledMarker.prototype.initialize=function(c){GMarker.prototype.initialize.apply(this,arguments);this.map_=c;this.div_=document.createElement("div");this.div_.className=this.labelClass_;this.div_.innerHTML=this.labelText_;this.div_.style.position="absolute";if(this.clickable_){this.div_.style.cursor="pointer"}this.div_.title=this.title_;if(!this.ownVisibility_){this.hide()}this.applyLabelVisibility_();c.getPane(G_MAP_MARKER_PANE).appendChild(this.div_);if(this.clickable_){var d=["click","dblclick","mousedown","mouseup","mouseover","mouseout"];for(var b=0;b<d.length;b++){var a=d[b];GEvent.addDomListener(this.div_,a,GEvent.callback(GEvent,GEvent.trigger,this,a,this.getLatLng()))}}};LabeledMarker.prototype.redraw=function(a){GMarker.prototype.redraw.apply(this,arguments);this.redrawLabel_()};LabeledMarker.prototype.redrawLabel_=function(){var a=this.map_.fromLatLngToDivPixel(this.getLatLng());var b=GOverlay.getZIndex(this.getLatLng().lat());this.div_.style.left=(a.x+this.labelOffset_.width)+"px";this.div_.style.top=(a.y+this.labelOffset_.height)+"px";this.div_.style.zIndex=b};LabeledMarker.prototype.remove=function(){GEvent.clearInstanceListeners(this.div_);if(this.div_.outerHTML){this.div_.outerHTML=""}if(this.div_.parentNode){this.div_.parentNode.removeChild(this.div_)}this.div_=null;GMarker.prototype.remove.apply(this,arguments)};LabeledMarker.prototype.copy=function(){var a=new LabeledMarker(this.getLatLng(),this.opts_);a.labelVisibility_=this.labelVisibility_;a.ownVisibility_=this.ownVisibility_;return a};LabeledMarker.prototype.show=function(){GMarker.prototype.show.apply(this,arguments);this.ownVisibility_=true;this.applyLabelVisibility_()};LabeledMarker.prototype.hide=function(){GMarker.prototype.hide.apply(this,arguments);this.ownVisibility_=false;this.applyLabelVisibility_()};LabeledMarker.prototype.setLabelVisibility=function(a){this.labelVisibility_=a;this.applyLabelVisibility_()};LabeledMarker.prototype.getLabelVisibility=function(){return this.labelVisibility_};LabeledMarker.prototype.applyLabelVisibility_=function(){if(this.div_){if((!this.isHidden())&&this.labelVisibility_){this.div_.style.display="block"}else{this.div_.style.display="none"}}};LabeledMarker.prototype.setLabelText=function(a){this.labelText_=a;this.div_.innerHTML=a;this.opts_.labelText=a};var baseReusableIcon=null;var icon_button_aqua=false;var icon_button_blue=false;var icon_button_green=false;var icon_button_purple=false;var icon_button_red=false;var icon_button_yellow=false;var icon_cluster_aqua=false;var icon_cluster_blue=false;var icon_cluster_green=false;var icon_cluster_purple=false;var icon_cluster_red=false;var icon_cluster_yellow=false;var icon_glass=false;var icon_panel_medium_blue=false;var icon_panel_small_blue=false;var icon_panel_wide_blue=false;var icon_panel_wide_orange=false;var icon_panel_wide_red=false;var icon_player=false;var icon_tabs_aqua=false;var icon_tabs_black=false;var icon_tabs_black_airport=false;var icon_tabs_black_bar=false;var icon_tabs_black_beer=false;var icon_tabs_black_bus=false;var icon_tabs_black_cafe=false;var icon_tabs_black_company=false;var icon_tabs_black_data=false;var icon_tabs_black_disabled=false;var icon_tabs_black_entertainment=false;var icon_tabs_black_film=false;var icon_tabs_black_foodanddrink=false;var icon_tabs_black_headquarters=false;var icon_tabs_black_hospital=false;var icon_tabs_black_hotel=false;var icon_tabs_black_information=false;var icon_tabs_black_leisure=false;var icon_tabs_black_metro=false;var icon_tabs_black_music=false;var icon_tabs_black_office=false;var icon_tabs_black_outdoor=false;var icon_tabs_black_reception=false;var icon_tabs_black_recycle=false;var icon_tabs_black_restaurant=false;var icon_tabs_black_sport=false;var icon_tabs_black_taxi=false;var icon_tabs_black_train=false;var icon_tabs_black_transport=false;var icon_tabs_blue=false;var icon_tabs_blue_airport=false;var icon_tabs_blue_bar=false;var icon_tabs_blue_beer=false;var icon_tabs_blue_bus=false;var icon_tabs_blue_cafe=false;var icon_tabs_blue_company=false;var icon_tabs_blue_data=false;var icon_tabs_blue_disabled=false;var icon_tabs_blue_entertainment=false;var icon_tabs_blue_film=false;var icon_tabs_blue_foodanddrink=false;var icon_tabs_blue_headquarters=false;var icon_tabs_blue_hospital=false;var icon_tabs_blue_hotel=false;var icon_tabs_blue_information=false;var icon_tabs_blue_leisure=false;var icon_tabs_blue_metro=false;var icon_tabs_blue_music=false;var icon_tabs_blue_office=false;var icon_tabs_blue_outdoor=false;var icon_tabs_blue_reception=false;var icon_tabs_blue_recycle=false;var icon_tabs_blue_restaurant=false;var icon_tabs_blue_sport=false;var icon_tabs_blue_taxi=false;var icon_tabs_blue_train=false;var icon_tabs_blue_transport=false;var icon_tabs_green=false;var icon_tabs_purple=false;var icon_tabs_red=false;var icon_tabs_red_airport=false;var icon_tabs_red_bar=false;var icon_tabs_red_beer=false;var icon_tabs_red_bus=false;var icon_tabs_red_cafe=false;var icon_tabs_red_company=false;var icon_tabs_red_data=false;var icon_tabs_red_disabled=false;var icon_tabs_red_entertainment=false;var icon_tabs_red_film=false;var icon_tabs_red_foodanddrink=false;var icon_tabs_red_headquarters=false;var icon_tabs_red_hospital=false;var icon_tabs_red_hotel=false;var icon_tabs_red_information=false;var icon_tabs_red_leisure=false;var icon_tabs_red_metro=false;var icon_tabs_red_music=false;var icon_tabs_red_office=false;var icon_tabs_red_outdoor=false;var icon_tabs_red_reception=false;var icon_tabs_red_recycle=false;var icon_tabs_red_restaurant=false;var icon_tabs_red_sport=false;var icon_tabs_red_taxi=false;var icon_tabs_red_train=false;var icon_tabs_red_transport=false;var icon_tabs_yellow=false;function setupMarkerIconsFE(h){var j=h;var b=new GIcon();b.iconSize=new google.maps.Size(32*j,32*j);b.shadowSize=new google.maps.Size(56*j,32*j);b.iconAnchor=new GPoint(16*j,32*j);b.infoWindowAnchor=new GPoint(16*j,0*j);var e=new GIcon();e.iconSize=new google.maps.Size(32*j,32*j);e.shadowSize=new google.maps.Size(49*j,32*j);e.iconAnchor=new GPoint(16*j,32*j);e.infoWindowAnchor=new GPoint(16*j,0*j);baseReusableIcon=e;var i=new GIcon();i.iconSize=new google.maps.Size(30*j,34*j);i.shadowSize=new google.maps.Size(49*j,32*j);i.iconAnchor=new GPoint(15*j,34*j);i.infoWindowAnchor=new GPoint(15*j,0*j);var f=new GIcon();f.iconSize=new google.maps.Size(32,32);f.shadowSize=new google.maps.Size(56,32);f.iconAnchor=new GPoint(16,16);f.infoWindowAnchor=new GPoint(16,0);var a=new GIcon();a.iconSize=new google.maps.Size(44,32);a.shadowSize=new google.maps.Size(61,32);a.iconAnchor=new GPoint(22,32);a.infoWindowAnchor=new GPoint(22,0);var c=new GIcon();c.iconSize=new google.maps.Size(64,32);c.shadowSize=new google.maps.Size(81,32);c.iconAnchor=new GPoint(32,32);c.infoWindowAnchor=new GPoint(32,0);var d=new GIcon();d.iconSize=new google.maps.Size(52,52);d.shadowSize=new google.maps.Size(73,52);d.iconAnchor=new GPoint(26,26);d.infoWindowAnchor=new GPoint(26,0);var k=new GIcon();k.iconSize=new google.maps.Size(72,72);k.shadowSize=new google.maps.Size(101,72);k.iconAnchor=new GPoint(36,36);k.infoWindowAnchor=new GPoint(36,0);var g=new GIcon();g.iconSize=new google.maps.Size(92,92);g.shadowSize=new google.maps.Size(170,92);g.iconAnchor=new GPoint(46,46);g.infoWindowAnchor=new GPoint(46,0);if(icon_glass){icon_glass=new GIcon(b,"/images/maps/icon_glass.png",null,null);icon_glass_1=new GIcon(f,"/images/maps/icon_glass32.png",null,null);icon_glass_2=new GIcon(d,"/images/maps/icon_glass52.png",null,null);icon_glass_3=new GIcon(k,"/images/maps/icon_glass72.png",null,null);icon_glass_4=new GIcon(g,"/images/maps/icon_glass92.png",null,null)}if(icon_button_aqua){icon_button_aqua=new GIcon(b,"/images/maps/icon_button_aqua.png",null,"/images/maps/zoom_add32s.png");icon_button_aqua_1=new GIcon(f,"/images/maps/icon_button_aqua32.png",null,"/images/maps/zoom_add32s.png");icon_button_aqua_2=new GIcon(d,"/images/maps/icon_button_aqua52.png",null,"/images/maps/zoom_add52s.png");icon_button_aqua_3=new GIcon(k,"/images/maps/icon_button_aqua72.png",null,"/images/maps/zoom_add72s.png");icon_button_aqua_4=new GIcon(g,"/images/maps/icon_button_aqua92.png",null,"/images/maps/zoom_add92s.png")}if(icon_button_blue){icon_button_blue=new GIcon(b,"/images/maps/icon_button_blue.png",null,"/images/maps/zoom_add32s.png");icon_button_blue_1=new GIcon(f,"/images/maps/icon_button_blue32.png",null,"/images/maps/zoom_add32s.png");icon_button_blue_2=new GIcon(d,"/images/maps/icon_button_blue52.png",null,"/images/maps/zoom_add52s.png");icon_button_blue_3=new GIcon(k,"/images/maps/icon_button_blue72.png",null,"/images/maps/zoom_add72s.png");icon_button_blue_4=new GIcon(g,"/images/maps/icon_button_blue92.png",null,"/images/maps/zoom_add92s.png")}if(icon_button_green){icon_button_green=new GIcon(b,"/images/maps/icon_button_green.png",null,"/images/maps/zoom_add32s.png");icon_button_green_1=new GIcon(f,"/images/maps/icon_button_green32.png",null,"/images/maps/zoom_add32s.png");icon_button_green_2=new GIcon(d,"/images/maps/icon_button_green52.png",null,"/images/maps/zoom_add52s.png");icon_button_green_3=new GIcon(k,"/images/maps/icon_button_green72.png",null,"/images/maps/zoom_add72s.png");icon_button_green_4=new GIcon(g,"/images/maps/icon_button_green92.png",null,"/images/maps/zoom_add92s.png")}if(icon_button_purple){icon_button_purple=new GIcon(b,"/images/maps/icon_button_purple.png",null,"/images/maps/zoom_add32s.png");icon_button_purple_1=new GIcon(f,"/images/maps/icon_button_purple32.png",null,"/images/maps/zoom_add32s.png");icon_button_purple_2=new GIcon(d,"/images/maps/icon_button_purple52.png",null,"/images/maps/zoom_add52s.png");icon_button_purple_3=new GIcon(k,"/images/maps/icon_button_purple72.png",null,"/images/maps/zoom_add72s.png");icon_button_purple_4=new GIcon(g,"/images/maps/icon_button_purple92.png",null,"/images/maps/zoom_add92s.png")}if(icon_button_red){icon_button_red=new GIcon(b,"/images/maps/icon_button_red.png",null,"/images/maps/zoom_add32s.png");icon_button_red_1=new GIcon(f,"/images/maps/icon_button_red32.png",null,"/images/maps/zoom_add32s.png");icon_button_red_2=new GIcon(d,"/images/maps/icon_button_red52.png",null,"/images/maps/zoom_add52s.png");icon_button_red_3=new GIcon(k,"/images/maps/icon_button_red72.png",null,"/images/maps/zoom_add72s.png");icon_button_red_4=new GIcon(g,"/images/maps/icon_button_red92.png",null,"/images/maps/zoom_add92s.png")}if(icon_button_yellow){icon_button_yellow=new GIcon(b,"/images/maps/icon_button_yellow.png",null,"/images/maps/zoom_add32s.png");icon_button_yellow_1=new GIcon(f,"/images/maps/icon_button_yellow32.png",null,"/images/maps/zoom_add32s.png");icon_button_yellow_2=new GIcon(d,"/images/maps/icon_button_yellow52.png",null,"/images/maps/zoom_add52s.png");icon_button_yellow_3=new GIcon(k,"/images/maps/icon_button_yellow72.png",null,"/images/maps/zoom_add72s.png");icon_button_yellow_4=new GIcon(g,"/images/maps/icon_button_yellow92.png",null,"/images/maps/zoom_add92s.png")}if(icon_cluster_aqua){icon_cluster_aqua=new GIcon(b,"/images/maps/icon_cluster_aqua.png",null,null);icon_cluster_aqua_1=new GIcon(f,"/images/maps/icon_cluster_aqua32.png",null,null);icon_cluster_aqua_2=new GIcon(d,"/images/maps/icon_cluster_aqua52.png",null,null);icon_cluster_aqua_3=new GIcon(k,"/images/maps/icon_cluster_aqua72.png",null,null);icon_cluster_aqua_4=new GIcon(g,"/images/maps/icon_cluster_aqua92.png",null,null)}if(icon_cluster_blue){icon_cluster_blue=new GIcon(b,"/images/maps/icon_cluster_blue.png",null,null);icon_cluster_blue_1=new GIcon(f,"/images/maps/icon_cluster_blue32.png",null,null);icon_cluster_blue_2=new GIcon(d,"/images/maps/icon_cluster_blue52.png",null,null);icon_cluster_blue_3=new GIcon(k,"/images/maps/icon_cluster_blue72.png",null,null);icon_cluster_blue_4=new GIcon(g,"/images/maps/icon_cluster_blue92.png",null,null)}if(icon_cluster_green){icon_cluster_green=new GIcon(b,"/images/maps/icon_cluster_green.png",null,null);icon_cluster_green_1=new GIcon(f,"/images/maps/icon_cluster_green32.png",null,null);icon_cluster_green_2=new GIcon(d,"/images/maps/icon_cluster_green52.png",null,null);icon_cluster_green_3=new GIcon(k,"/images/maps/icon_cluster_green72.png",null,null);icon_cluster_green_4=new GIcon(g,"/images/maps/icon_cluster_green92.png",null,null)}if(icon_cluster_purple){icon_cluster_purple=new GIcon(b,"/images/maps/icon_cluster_purple.png",null,null);icon_cluster_purple_1=new GIcon(f,"/images/maps/icon_cluster_purple32.png",null,null);icon_cluster_purple_2=new GIcon(d,"/images/maps/icon_cluster_purple52.png",null,null);icon_cluster_purple_3=new GIcon(k,"/images/maps/icon_cluster_purple72.png",null,null);icon_cluster_purple_4=new GIcon(g,"/images/maps/icon_cluster_purple92.png",null,null)}if(icon_cluster_red){icon_cluster_red=new GIcon(b,"/images/maps/icon_cluster_red.png",null,null);icon_cluster_red_1=new GIcon(f,"/images/maps/icon_cluster_red32.png",null,null);icon_cluster_red_2=new GIcon(d,"/images/maps/icon_cluster_red52.png",null,null);icon_cluster_red_3=new GIcon(k,"/images/maps/icon_cluster_red72.png",null,null);icon_cluster_red_4=new GIcon(g,"/images/maps/icon_cluster_red92.png",null,null)}if(icon_cluster_yellow){icon_cluster_yellow=new GIcon(b,"/images/maps/icon_cluster_yellow.png",null,null);icon_cluster_yellow_1=new GIcon(f,"/images/maps/icon_cluster_yellow32.png",null,null);icon_cluster_yellow_2=new GIcon(d,"/images/maps/icon_cluster_yellow52.png",null,null);icon_cluster_yellow_3=new GIcon(k,"/images/maps/icon_cluster_yellow72.png",null,null);icon_cluster_yellow_4=new GIcon(g,"/images/maps/icon_cluster_yellow92.png",null,null)}if(icon_panel_medium_blue){icon_panel_medium_blue=new GIcon(a,"/images/maps/icon_panel_medium_blue.png",null,"/images/maps/icon_panel_medium_shadow.png")}if(icon_panel_small_blue){icon_panel_small_blue=new GIcon(e,"/images/maps/icon_panel_small_blue.png",null,"/images/maps/icon_panel_small_shadow.png")}if(icon_panel_wide_blue){icon_panel_wide_blue=new GIcon(c,"/images/maps/icon_panel_wide_blue.png",null,"/images/maps/icon_panel_wide_shadow.png")}if(icon_panel_wide_orange){icon_panel_wide_orange=new GIcon(c,"/images/maps/icon_panel_wide_orange.png",null,"/images/maps/icon_panel_wide_shadow.png")}if(icon_panel_wide_red){icon_panel_wide_red=new GIcon(c,"/images/maps/icon_panel_wide_red.png",null,"/images/maps/icon_panel_wide_shadow.png")}if(icon_player){icon_player=new GIcon(e,"/images/maps/icon_player.png",null,"/images/maps/icon_player_shadow.png")}if(icon_tabs_aqua){icon_tabs_aqua=new GIcon(e,"/images/maps/icon_tabs_aqua.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black){icon_tabs_black=new GIcon(e,"/images/maps/icon_tabs_black.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_airport){icon_tabs_black_airport=new GIcon(i,"/images/maps/icon_tabs_black_airport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_bar){icon_tabs_black_bar=new GIcon(i,"/images/maps/icon_tabs_black_bar.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_beer){icon_tabs_black_beer=new GIcon(i,"/images/maps/icon_tabs_black_beer.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_bus){icon_tabs_black_bus=new GIcon(i,"/images/maps/icon_tabs_black_bus.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_cafe){icon_tabs_black_cafe=new GIcon(i,"/images/maps/icon_tabs_black_cafe.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_company){icon_tabs_black_company=new GIcon(i,"/images/maps/icon_tabs_black_company.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_data){icon_tabs_black_data=new GIcon(i,"/images/maps/icon_tabs_black_data.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_disabled){icon_tabs_black_disabled=new GIcon(i,"/images/maps/icon_tabs_black_disabled.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_entertainment){icon_tabs_black_entertainment=new GIcon(i,"/images/maps/icon_tabs_black_entertainment.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_film){icon_tabs_black_film=new GIcon(i,"/images/maps/icon_tabs_black_film.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_foodanddrink){icon_tabs_black_foodanddrink=new GIcon(i,"/images/maps/icon_tabs_black_foodanddrink.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_headquarters){icon_tabs_black_headquarters=new GIcon(i,"/images/maps/icon_tabs_black_headquarters.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_hospital){icon_tabs_black_hospital=new GIcon(i,"/images/maps/icon_tabs_black_hospital.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_hotel){icon_tabs_black_hotel=new GIcon(i,"/images/maps/icon_tabs_black_hotel.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_information){icon_tabs_black_information=new GIcon(i,"/images/maps/icon_tabs_black_information.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_leisure){icon_tabs_black_leisure=new GIcon(i,"/images/maps/icon_tabs_black_leisure.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_metro){icon_tabs_black_metro=new GIcon(i,"/images/maps/icon_tabs_black_metro.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_music){icon_tabs_black_music=new GIcon(i,"/images/maps/icon_tabs_black_music.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_office){icon_tabs_black_office=new GIcon(i,"/images/maps/icon_tabs_black_office.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_outdoor){icon_tabs_black_outdoor=new GIcon(i,"/images/maps/icon_tabs_black_outdoor.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_reception){icon_tabs_black_reception=new GIcon(i,"/images/maps/icon_tabs_black_reception.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_recycle){icon_tabs_black_recycle=new GIcon(i,"/images/maps/icon_tabs_black_recycle.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_restaurant){icon_tabs_black_restaurant=new GIcon(i,"/images/maps/icon_tabs_black_restaurant.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_sport){icon_tabs_black_sport=new GIcon(i,"/images/maps/icon_tabs_black_sport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_taxi){icon_tabs_black_taxi=new GIcon(i,"/images/maps/icon_tabs_black_taxi.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_train){icon_tabs_black_train=new GIcon(i,"/images/maps/icon_tabs_black_train.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_black_transport){icon_tabs_black_transport=new GIcon(i,"/images/maps/icon_tabs_black_transport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue){icon_tabs_blue=new GIcon(e,"/images/maps/icon_tabs_blue.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_airport){icon_tabs_blue_airport=new GIcon(i,"/images/maps/icon_tabs_blue_airport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_bar){icon_tabs_blue_bar=new GIcon(i,"/images/maps/icon_tabs_blue_bar.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_beer){icon_tabs_blue_beer=new GIcon(i,"/images/maps/icon_tabs_blue_beer.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_bus){icon_tabs_blue_bus=new GIcon(i,"/images/maps/icon_tabs_blue_bus.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_cafe){icon_tabs_blue_cafe=new GIcon(i,"/images/maps/icon_tabs_blue_cafe.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_company){icon_tabs_blue_company=new GIcon(i,"/images/maps/icon_tabs_blue_company.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_data){icon_tabs_blue_data=new GIcon(i,"/images/maps/icon_tabs_blue_data.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_disabled){icon_tabs_blue_disabled=new GIcon(i,"/images/maps/icon_tabs_blue_disabled.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_entertainment){icon_tabs_blue_entertainment=new GIcon(i,"/images/maps/icon_tabs_blue_entertainment.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_film){icon_tabs_blue_film=new GIcon(i,"/images/maps/icon_tabs_blue_film.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_foodanddrink){icon_tabs_blue_foodanddrink=new GIcon(i,"/images/maps/icon_tabs_blue_foodanddrink.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_headquarters){icon_tabs_blue_headquarters=new GIcon(i,"/images/maps/icon_tabs_blue_headquarters.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_hospital){icon_tabs_blue_hospital=new GIcon(i,"/images/maps/icon_tabs_blue_hospital.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_hotel){icon_tabs_blue_hotel=new GIcon(i,"/images/maps/icon_tabs_blue_hotel.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_information){icon_tabs_blue_information=new GIcon(i,"/images/maps/icon_tabs_blue_information.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_leisure){icon_tabs_blue_leisure=new GIcon(i,"/images/maps/icon_tabs_blue_leisure.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_metro){icon_tabs_blue_metro=new GIcon(i,"/images/maps/icon_tabs_blue_metro.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_music){icon_tabs_blue_music=new GIcon(i,"/images/maps/icon_tabs_blue_music.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_office){icon_tabs_blue_office=new GIcon(i,"/images/maps/icon_tabs_blue_office.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_outdoor){icon_tabs_blue_outdoor=new GIcon(i,"/images/maps/icon_tabs_blue_outdoor.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_reception){icon_tabs_blue_reception=new GIcon(i,"/images/maps/icon_tabs_blue_reception.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_recycle){icon_tabs_blue_recycle=new GIcon(i,"/images/maps/icon_tabs_blue_recycle.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_restaurant){icon_tabs_blue_restaurant=new GIcon(i,"/images/maps/icon_tabs_blue_restaurant.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_sport){icon_tabs_blue_sport=new GIcon(i,"/images/maps/icon_tabs_blue_sport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_taxi){icon_tabs_blue_taxi=new GIcon(i,"/images/maps/icon_tabs_blue_taxi.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_train){icon_tabs_blue_train=new GIcon(i,"/images/maps/icon_tabs_blue_train.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_blue_transport){icon_tabs_blue_transport=new GIcon(i,"/images/maps/icon_tabs_blue_transport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_green){icon_tabs_green=new GIcon(e,"/images/maps/icon_tabs_green.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_purple){icon_tabs_purple=new GIcon(e,"/images/maps/icon_tabs_purple.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red){icon_tabs_red=new GIcon(e,"/images/maps/icon_tabs_red.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_airport){icon_tabs_red_airport=new GIcon(i,"/images/maps/icon_tabs_red_airport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_bar){icon_tabs_red_bar=new GIcon(i,"/images/maps/icon_tabs_red_bar.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_beer){icon_tabs_red_beer=new GIcon(i,"/images/maps/icon_tabs_red_beer.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_bus){icon_tabs_red_bus=new GIcon(i,"/images/maps/icon_tabs_red_bus.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_cafe){icon_tabs_red_cafe=new GIcon(i,"/images/maps/icon_tabs_red_cafe.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_company){icon_tabs_red_company=new GIcon(i,"/images/maps/icon_tabs_red_company.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_data){icon_tabs_red_data=new GIcon(i,"/images/maps/icon_tabs_red_data.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_disabled){icon_tabs_red_disabled=new GIcon(i,"/images/maps/icon_tabs_red_disabled.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_entertainment){icon_tabs_red_entertainment=new GIcon(i,"/images/maps/icon_tabs_red_entertainment.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_film){icon_tabs_red_film=new GIcon(i,"/images/maps/icon_tabs_red_film.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_foodanddrink){icon_tabs_red_foodanddrink=new GIcon(i,"/images/maps/icon_tabs_red_foodanddrink.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_headquarters){icon_tabs_red_headquarters=new GIcon(i,"/images/maps/icon_tabs_red_headquarters.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_hospital){icon_tabs_red_hospital=new GIcon(i,"/images/maps/icon_tabs_red_hospital.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_hotel){icon_tabs_red_hotel=new GIcon(i,"/images/maps/icon_tabs_red_hotel.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_information){icon_tabs_red_information=new GIcon(i,"/images/maps/icon_tabs_red_information.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_leisure){icon_tabs_red_leisure=new GIcon(i,"/images/maps/icon_tabs_red_leisure.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_metro){icon_tabs_red_metro=new GIcon(i,"/images/maps/icon_tabs_red_metro.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_music){icon_tabs_red_music=new GIcon(i,"/images/maps/icon_tabs_red_music.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_office){icon_tabs_red_office=new GIcon(i,"/images/maps/icon_tabs_red_office.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_outdoor){icon_tabs_red_outdoor=new GIcon(i,"/images/maps/icon_tabs_red_outdoor.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_reception){icon_tabs_red_reception=new GIcon(i,"/images/maps/icon_tabs_red_reception.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_recycle){icon_tabs_red_recycle=new GIcon(i,"/images/maps/icon_tabs_red_recycle.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_restaurant){icon_tabs_red_restaurant=new GIcon(i,"/images/maps/icon_tabs_red_restaurant.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_sport){icon_tabs_red_sport=new GIcon(i,"/images/maps/icon_tabs_red_sport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_taxi){icon_tabs_red_taxi=new GIcon(i,"/images/maps/icon_tabs_red_taxi.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_train){icon_tabs_red_train=new GIcon(i,"/images/maps/icon_tabs_red_train.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_red_transport){icon_tabs_red_transport=new GIcon(i,"/images/maps/icon_tabs_red_transport.png",null,"/images/maps/icon_tabs_shadow.png")}if(icon_tabs_yellow){icon_tabs_yellow=new GIcon(e,"/images/maps/icon_tabs_yellow.png",null,"/images/maps/icon_tabs_shadow.png")}icon_ge_info=new GIcon(b,"/images/maps/pal3/icon43.png",null,"/images/maps/pal3/icon43s.png");icon_ge_info_fill=new GIcon(b,"/images/maps/pal3/icon35.png",null,"/images/maps/pal3/icon35s.png");icon_ge_star=new GIcon(b,"/images/maps/pal4/icon47.png",null,"/images/maps/pal4/icon47s.png");icon_ge_star_fill=new GIcon(b,"/images/maps/pal4/icon39.png",null,"/images/maps/pal4/icon39s.png")};function ExtInfoWindow(a,b,c,d){this.html_=c;this.marker_=a;this.infoWindowId_=b;this.options_=d===null?{}:d;this.ajaxUrl_=this.options_.ajaxUrl==null?null:this.options_.ajaxUrl;this.callback_=this.options_.ajaxCallback==null?null:this.options_.ajaxCallback;this.maxContent_=this.options_.maxContent==null?null:this.options_.maxContent;this.maximizeEnabled_=this.maxContent_==null?false:true;this.isMaximized_=false;this.borderSize_=this.options_.beakOffset==null?0:this.options_.beakOffset;this.paddingX_=this.options_.paddingX==null?0+this.borderSize_:this.options_.paddingX+this.borderSize_;this.paddingY_=this.options_.paddingY==null?0+this.borderSize_:this.options_.paddingY+this.borderSize_;this.maxPanning_=this.options_.maxPanning==null?500:this.options_.maxPanning;this.map_=null;this.container_=document.createElement("div");this.container_.style.position="relative";this.container_.style.display="none";this.isIE6_=navigator.userAgent.toLowerCase().indexOf("msie 6")!=-1;this.applyShadow_=!this.isIE6_;this.shadowContainer_=document.createElement("div");this.shadowContainer_.style.position="relative";this.shadowContainer_.style.display="none";this.shadowContainer_.style.margin="0";this.shadowContainer_.style.padding="0";this.contentDiv_=document.createElement("div");this.contentDiv_.id=this.infoWindowId_+"_contents";this.contentDiv_.innerHTML=this.html_;this.contentDiv_.style.display="block";this.contentDiv_.style.visibility="hidden";this.wrapperDiv_=document.createElement("div")}ExtInfoWindow.prototype=new GOverlay();ExtInfoWindow.prototype.initialize=function(g){this.map_=g;if(typeof geoGoogleMap!=="undefined"){if(this.map_!=geoGoogleMap){return}}if(this.maximizeEnabled_){this.maxWidth_=this.map_.getSize().width*0.9;this.maxHeight_=this.map_.getSize().height*0.9}this.defaultStyles={containerWidth:this.map_.getSize().width/2,borderSize:1};this.wrapperParts={tl:{t:0,l:0,w:0,h:0,domElement:null},t:{t:0,l:0,w:0,h:0,domElement:null},tr:{t:0,l:0,w:0,h:0,domElement:null},l:{t:0,l:0,w:0,h:0,domElement:null},r:{t:0,l:0,w:0,h:0,domElement:null},bl:{t:0,l:0,w:0,h:0,domElement:null},b:{t:0,l:0,w:0,h:0,domElement:null},br:{t:0,l:0,w:0,h:0,domElement:null},beak:{t:0,l:0,w:0,h:0,domElement:null},close:{t:0,l:0,w:0,h:0,domElement:null}};if(this.maximizeEnabled_){this.wrapperParts.max={t:0,l:0,w:0,h:0,domElement:null};this.wrapperParts.min={t:0,l:0,w:0,h:0,domElement:null}}for(var d in this.wrapperParts){var a=document.createElement("div");a.id=this.infoWindowId_+"_"+d;a.style.visibility="hidden";document.body.appendChild(a);a=document.getElementById(this.infoWindowId_+"_"+d);var c=this.wrapperParts[d];c.w=parseInt(this.getStyle_(a,"width"),10);c.h=parseInt(this.getStyle_(a,"height"),10);document.body.removeChild(a)}for(var d in this.wrapperParts){if(d=="close"){this.wrapperDiv_.appendChild(this.contentDiv_)}var b=null;if(this.wrapperParts[d].domElement==null){b=document.createElement("div");this.wrapperDiv_.appendChild(b)}else{b=this.wrapperParts[d].domElement}b.id=this.infoWindowId_+"_"+d;b.style.position="absolute";b.style.width=this.wrapperParts[d].w+"px";b.style.height=this.wrapperParts[d].h+"px";b.style.top=this.wrapperParts[d].t+"px";b.style.left=this.wrapperParts[d].l+"px";this.wrapperParts[d].domElement=b}this.map_.getPane(G_MAP_FLOAT_PANE).appendChild(this.container_);this.container_.id=this.infoWindowId_;var e=this.getStyle_(document.getElementById(this.infoWindowId_),"width");this.container_.style.width=(e==null?this.defaultStyles.containerWidth:e);if(this.applyShadow_){g.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(this.shadowContainer_)}this.map_.getContainer().appendChild(this.contentDiv_);this.contentWidth=this.getDimensions_(this.container_).width;this.contentDiv_.style.width=this.contentWidth+"px";this.contentDiv_.style.position="absolute";this.container_.appendChild(this.wrapperDiv_);if(this.maximizeEnabled_){this.minWidth_=this.getDimensions_(this.container_).width;console.log(this.minWidth_)}if(this.maximizeEnabled_){thisMap=this.map_;thisMaxWidth=this.maxWidth_;thisMaxHeight=this.maxHeight_;thisContainer=this.container_;thisMaxContent=this.maxContent_;if(this.marker_){GEvent.trigger(this.marker_,"extinfowindowbeforeclose")}thisMinWidth=this.container_.style.width;thisMinHeight=this.container_.style.height;GEvent.addDomListener(this.wrapperParts.max.domElement,"click",function(){var h=thisMap.getExtInfoWindow();h.container_.style.width=thisMaxWidth+"px";h.ajaxRequest_(thisMaxContent);if(this.marker_){GEvent.trigger(this.marker_,"extinfowindowclose")}h.isMaximized_=true;h.redraw(true);h.toggleMaxMin_()});GEvent.addDomListener(this.wrapperParts.min.domElement,"click",function(){var h=thisMap.getExtInfoWindow();h.container_.style.width=thisMinWidth;h.container_.style.height=thisMinHeight;if(h.ajaxUrl_!=null){h.ajaxRequest_(this.ajaxUrl_)}else{h.contentDiv_.innerHTML=h.html_}h.isMaximized_=false;h.redraw(true);h.resize();h.toggleMaxMin_()});this.toggleMaxMin_()}var f=["mousedown","dblclick","DOMMouseScroll"];for(d=0;d<f.length;d++){GEvent.bindDom(this.container_,f[d],this,this.onClick_)}GEvent.trigger(this.map_,"extinfowindowopen");if(this.ajaxUrl_!=null){this.ajaxRequest_(this.ajaxUrl_)}};ExtInfoWindow.prototype.onClick_=function(a){if(navigator.userAgent.toLowerCase().indexOf("msie")!=-1&&document.all){window.event.cancelBubble=true;window.event.returnValue=false}else{a.stopPropagation()}};ExtInfoWindow.prototype.remove=function(){if(this.map_.getExtInfoWindow()!=null){GEvent.trigger(this.map_,"extinfowindowbeforeclose");GEvent.clearInstanceListeners(this.container_);if(this.container_.outerHTML){this.container_.outerHTML=""}if(this.container_.parentNode){this.container_.parentNode.removeChild(this.container_)}this.container_=null;if(this.applyShadow_){if(this.shadowContainer_.parentNode){this.shadowContainer_.parentNode.removeChild(this.shadowContainer_)}this.shadowContainer_=null}GEvent.trigger(this.map_,"extinfowindowclose");this.map_.setExtInfoWindow_(null)}};ExtInfoWindow.prototype.copy=function(){return new ExtInfoWindow(this.marker_,this.infoWindowId_,this.html_,this.options_)};ExtInfoWindow.prototype.redraw=function(b){if(typeof geoGoogleMap!=="undefined"){if(this.map_!=geoGoogleMap){return}}if(!b||this.container_==null){return}var m=this.contentDiv_.offsetHeight;this.contentDiv_.style.height=m+"px";this.contentWidth=this.getDimensions_(this.container_).width;this.contentDiv_.style.width=this.container_.style.width;this.contentDiv_.style.left=this.wrapperParts.l.w+"px";this.contentDiv_.style.top=this.wrapperParts.tl.h+"px";this.contentDiv_.style.visibility="visible";this.wrapperParts.tl.t=0;this.wrapperParts.tl.l=0;this.wrapperParts.t.l=this.wrapperParts.tl.w;this.wrapperParts.t.w=(this.wrapperParts.l.w+this.contentWidth+this.wrapperParts.r.w)-this.wrapperParts.tl.w-this.wrapperParts.tr.w;this.wrapperParts.t.h=this.wrapperParts.tl.h;this.wrapperParts.tr.l=this.wrapperParts.t.w+this.wrapperParts.tl.w;this.wrapperParts.l.t=this.wrapperParts.tl.h;this.wrapperParts.l.h=m;this.wrapperParts.r.l=this.contentWidth+this.wrapperParts.l.w;this.wrapperParts.r.t=this.wrapperParts.tr.h;this.wrapperParts.r.h=m;this.wrapperParts.bl.t=m+this.wrapperParts.tl.h;this.wrapperParts.b.l=this.wrapperParts.bl.w;this.wrapperParts.b.t=m+this.wrapperParts.tl.h;this.wrapperParts.b.w=(this.wrapperParts.l.w+this.contentWidth+this.wrapperParts.r.w)-this.wrapperParts.bl.w-this.wrapperParts.br.w;this.wrapperParts.b.h=this.wrapperParts.bl.h;this.wrapperParts.br.l=this.wrapperParts.b.w+this.wrapperParts.bl.w;this.wrapperParts.br.t=m+this.wrapperParts.tr.h;this.wrapperParts.beak.l=this.borderSize_+(this.contentWidth/2)-(this.wrapperParts.beak.w/2);this.wrapperParts.beak.t=this.wrapperParts.bl.t+this.wrapperParts.bl.h-this.borderSize_;this.wrapperParts.close.l=this.wrapperParts.tr.l+this.wrapperParts.tr.w-this.wrapperParts.close.w-this.borderSize_;this.wrapperParts.close.t=this.borderSize_;if(this.maximizeEnabled_){this.wrapperParts.max.l=this.wrapperParts.close.l-this.wrapperParts.max.w-5;this.wrapperParts.max.t=this.wrapperParts.close.t;this.wrapperParts.min.l=this.wrapperParts.max.l;this.wrapperParts.min.t=this.wrapperParts.max.t}for(var f in this.wrapperParts){if(f=="close"){this.wrapperDiv_.insertBefore(this.contentDiv_,this.wrapperParts[f].domElement)}var h=null;if(this.wrapperParts[f].domElement==null){h=document.createElement("div");this.wrapperDiv_.appendChild(h)}else{h=this.wrapperParts[f].domElement}h.id=this.infoWindowId_+"_"+f;h.style.position="absolute";h.style.width=this.wrapperParts[f].w+"px";h.style.height=this.wrapperParts[f].h+"px";h.style.top=this.wrapperParts[f].t+"px";h.style.left=this.wrapperParts[f].l+"px";this.wrapperParts[f].domElement=h}var l=this.marker_;var n=this.map_;GEvent.addDomListener(this.wrapperParts.close.domElement,"click",function(){n.closeExtInfoWindow()});var a=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());this.container_.style.position="absolute";var j=this.marker_.getIcon();this.container_.style.left=(a.x-(this.contentWidth/2)-j.iconAnchor.x+j.infoWindowAnchor.x)+"px";this.container_.style.top=(a.y-this.wrapperParts.bl.h-m-this.wrapperParts.tl.h-this.wrapperParts.beak.h-j.iconAnchor.y+j.infoWindowAnchor.y+this.borderSize_)+"px";this.container_.style.display="block";if(this.applyShadow_){var j=this.marker_.getIcon();var d=this.contentWidth;var k=m;var g=0.5;var e=1.3;this.shadowContainer_.style.position="absolute";this.shadowContainer_.style.left=((a.x+(this.marker_.getIcon().shadowSize.width*1/3))-(d/2))+"px";this.shadowContainer_.style.top=(a.y-(k*g))-(this.marker_.getIcon().shadowSize.height*5/8)+"px";this.shadowContainer_.style.display="block";this.shadowContainer_.innerHTML="";var c=document.createElement("img");c.id="extIwShadowImg";c.src="/images/iw_geome/shadow.png";c.style.position="absolute";c.style.top="0px";c.style.left="0px";c.style.width=(d*e)+"px";c.style.height=(k*g)+"px";this.shadowContainer_.appendChild(c)}if(this.map_.getExtInfoWindow()!=null){this.repositionMap_()}};ExtInfoWindow.prototype.toggleMaxMin_=function(){if(this.wrapperParts.max.domElement!=null&&this.wrapperParts.min.domElement!=null){if(this.isMaximized_){this.wrapperParts.max.domElement.style.display="none";this.wrapperParts.min.domElement.style.display="block"}else{this.wrapperParts.max.domElement.style.display="block";this.wrapperParts.min.domElement.style.display="none"}}};ExtInfoWindow.prototype.resize=function(){var d=this.contentDiv_.cloneNode(true);d.id=this.infoWindowId_+"_tempContents";d.style.visibility="hidden";d.style.height="auto";document.body.appendChild(d);d=document.getElementById(this.infoWindowId_+"_tempContents");var m=Math.max(d.offsetHeight,this.contentDiv_.offsetHeight);document.body.removeChild(d);this.contentDiv_.style.height=m+"px";var b=this.container_.offsetWidth;var a=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());var j=this.wrapperParts.t.domElement.offsetHeight+this.wrapperParts.l.domElement.offsetHeight+this.wrapperParts.b.domElement.offsetHeight;var c=this.wrapperParts.t.domElement.offsetTop;this.wrapperParts.l.domElement.style.height=m+"px";this.wrapperParts.r.domElement.style.height=m+"px";var k=this.wrapperParts.b.domElement.offsetTop-m;this.wrapperParts.l.domElement.style.top=k+"px";this.wrapperParts.r.domElement.style.top=k+"px";this.contentDiv_.style.top=k+"px";windowTHeight=parseInt(this.wrapperParts.t.domElement.style.height,10);k-=windowTHeight;this.wrapperParts.close.domElement.style.top=k+this.borderSize_+"px";this.wrapperParts.tl.domElement.style.top=k+"px";this.wrapperParts.t.domElement.style.top=k+"px";this.wrapperParts.tr.domElement.style.top=k+"px";if(this.applyShadow_){var i=this.marker_.getIcon();var f=this.contentWidth;var l=m;var h=0.5;var g=1.3;this.shadowContainer_.style.position="absolute";this.shadowContainer_.style.left=((a.x+(this.marker_.getIcon().shadowSize.width*1/3))-(f/2))+"px";this.shadowContainer_.style.top=(a.y-(l*h))-(this.marker_.getIcon().shadowSize.height*5/8)+"px";this.shadowContainer_.style.display="block";var e=document.getElementById("extIwShadowImg");if(e!==null){e.style.top="0px";e.style.left="0px";e.style.width=(f*g)+"px";e.style.height=(l*h)+"px"}}this.repositionMap_()};ExtInfoWindow.prototype.repositionMap_=function(){var j=this.map_.fromLatLngToDivPixel(this.map_.getBounds().getNorthEast());var a=this.map_.fromLatLngToDivPixel(this.map_.getBounds().getSouthWest());var h=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());var p=0;var n=0;var l=this.paddingX_;var k=this.paddingY_;var d=this.marker_.getIcon().infoWindowAnchor;var c=this.marker_.getIcon().iconAnchor;var f=this.wrapperParts.t.domElement;var i=this.wrapperParts.l.domElement;var q=this.wrapperParts.b.domElement;var g=this.wrapperParts.r.domElement;var b=this.wrapperParts.beak.domElement;var m=h.y-(-d.y+c.y+this.getDimensions_(b).height+this.getDimensions_(q).height+this.getDimensions_(i).height+this.getDimensions_(f).height+this.paddingY_);if(m<j.y){n=j.y-m}else{var r=h.y+this.paddingY_;if(r>=a.y){n=-(r-a.y)}}var o=Math.round(h.x+this.getDimensions_(this.container_).width/2+this.getDimensions_(g).width+this.paddingX_+d.x-c.x);if(o>j.x){p=-(o-j.x)}else{var e=-(Math.round((this.getDimensions_(this.container_).width/2-this.marker_.getIcon().iconSize.width/2)+this.getDimensions_(i).width+this.borderSize_+this.paddingX_)-h.x-d.x+c.x);if(e<a.x){p=a.x-e}}if(p!=0||n!=0&&this.map_.getExtInfoWindow()!=null){if((n<0-this.maxPanning_||n>this.maxPanning_)&&(p<0-this.maxPanning_||p>this.maxPanning_)){this.map_.setCenter(this.marker_.getPoint())}else{this.map_.panBy(new GSize(p,n))}}};ExtInfoWindow.prototype.ajaxRequest_=function(a){var c=this.map_;var b=this.callback_;GDownloadUrl(a,function(e,d){if(c.getExtInfoWindow()!==null){var f=document.getElementById(c.getExtInfoWindow().infoWindowId_+"_contents");if(e==null||d==-1){f.innerHTML='<span class="error">ERROR: The Ajax request failed to get HTML content from "'+a+'"</span>'}else{f.innerHTML=e}if(b!=null){b()}c.getExtInfoWindow().resize()}GEvent.trigger(c,"extinfowindowupdate")})};ExtInfoWindow.prototype.getDimensions_=function(c){var g=this.getStyle_(c,"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}};ExtInfoWindow.prototype.getStyle_=function(b,c){var e=false;c=this.camelize_(c);if(b.id==this.infoWindowId_&&c=="width"&&b.style.display=="none"){b.style.visibility="hidden";b.style.display=""}var d=b.style[c];if(!d){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);d=a?a[c]:null}else{if(b.currentStyle){d=b.currentStyle[c]}}}if((d=="auto")&&(c=="width"||c=="height")&&(this.getStyle_(b,"display")!="none")){if(c=="width"){d=b.offsetWidth}else{d=b.offsetHeight}}if(b.id==this.infoWindowId_&&c=="width"&&b.style.display!="none"){b.style.display="none";b.style.visibility="visible"}return(d=="auto")?null:d};ExtInfoWindow.prototype.camelize_=function(c){var e=c.split("-"),a=e.length;if(a==1){return e[0]}var d=c.charAt(0)=="-"?e[0].charAt(0).toUpperCase()+e[0].substring(1):e[0];for(var b=1;b<a;b++){d+=e[b].charAt(0).toUpperCase()+e[b].substring(1)}return d};GMap.prototype.ExtInfoWindowInstance_=null;GMap.prototype.ClickListener_=null;GMap.prototype.InfoWindowListener_=null;GMarker.prototype.openExtInfoWindow=function(b,d,a,c){if(b==null){throw"Error in GMarker.openExtInfoWindow: map cannot be null";return false}if(d==null||d==""){throw"Error in GMarker.openExtInfoWindow: must specify a cssId";return false}b.closeInfoWindow();if(b.getExtInfoWindow()!=null){b.closeExtInfoWindow()}if(b.getExtInfoWindow()==null){b.setExtInfoWindow_(new ExtInfoWindow(this,d,a,c));if(b.ClickListener_==null){b.ClickListener_=GEvent.addListener(b,"click",function(e){if(!e&&b.getExtInfoWindow()!=null){b.closeExtInfoWindow()}})}if(b.InfoWindowListener_==null){b.InfoWindowListener_=GEvent.addListener(b,"infowindowopen",function(e){if(b.getExtInfoWindow()!=null){b.closeExtInfoWindow()}})}b.addOverlay(b.getExtInfoWindow())}};GMarker.prototype.closeExtInfoWindow=function(a){if(a.getExtInfoWindow()!=null){a.closeExtInfoWindow()}};GMap2.prototype.getExtInfoWindow=function(){return this.ExtInfoWindowInstance_};GMap2.prototype.setExtInfoWindow_=function(a){this.ExtInfoWindowInstance_=a};GMap2.prototype.closeExtInfoWindow=function(){if(this.getExtInfoWindow()!=null){this.ExtInfoWindowInstance_.remove()}};var config_ABSOLUTE_ZOOM_LIMIT=3;var config_COORD_PRECISION=6;var config_MARKER_CLOSEUP_ZOOM=14;var config_MARKER_NAVIGATOR_ZOOM=12;var config_INFO_WINDOW_ITEM_WIDTH="605px";var config_INFO_WINDOW_ACCORDION_WIDTH="603px";var config_INFO_WINDOW_ITEM_HEIGHT="250px";var config_mapType=G_NORMAL_MAP;var mapCMMidnightcommander=null;var config_smallControl=true;var config_largeControl=false;var config_scaleControl=false;var config_clusterOption="NONE";var config_trafficOption="OFF";var config_youtubeOption="ON";var config_panoramioOption="OFF";var config_wikipediaOption="FORCED";var config_webcamsOption="NONE";var config_gridOption="NONE";var config_gridOptionOSGB="NONE";var config_reverseGeocodeOption="OFF";var config_overviewMapOption="NONE";var config_adSenseOption="OFF";var config_streetViewOption="OFF";var config_adSenseUnit=false;var config_constrain_window=false;var config_constrain_window_ne_lat=60;var config_constrain_window_ne_lng=100;var config_constrain_window_sw_lat=-60;var config_constrain_window_sw_lng=-100;var config_constrain_window_zoom=3;var config_constrain_window_inner_zoom=30;var config_default_geolocated_view=false;var config_client_marker_threshold=1500;var config_client_max_markers=200;var config_client_max_clusters=100;var config_useClientSideClusterMgr=null;var clientSideClusterMgrActive=false;var config_useScaledClusterMarkers=null;var config_useLabeledClusterMarkers=null;var config_useLabeledLocationMarkers=null;var config_useCustomTooltip=null;var config_marker_individual_name=null;var config_marker_cluster_name=null;var config_overrideLocationMarkersCategory=true;var config_overrideLocationMarkersBespoke=true;var config_svgMarkerBaseRadiusKm=0.5;var config_svgMarkerStrokeColour="#FFFFFF";var config_svgMarkerStrokeWeight=1;var config_svgMarkerStrokeOpacity=0.01;var config_svgMarkerFillBoolean=true;var config_svgMarkerFillColour="#FF0000";var config_svgMarkerFillOpacity=[0.01,0.2];var config_info_window_id="custom_info_window_geome";var config_info_window_padX=60;var config_info_window_padY=60;var config_info_window_default_tab=0;var config_info_window_show_tab_directions=true;var config_info_window_show_tab_weather=true;var config_info_window_show_tab_streetview=true;var config_info_window_show_tab_aerialview=true;var config_info_window_show_tab_mapnearby=false;var config_info_window_show_tab_rss=false;var config_info_window_show_tab_feedback=false;var config_info_window_show_tab_salesgraph=false;var config_info_window_show_tab_salesgraph_title="Annotated Timeline";var config_info_window_show_tab_weather_id=null;var config_info_window_show_tab_salesgraph_id=null;var config_info_window_show_tab_streetview_id=null;var config_info_window_show_tab_aerialview_id=null;var config_info_window_show_tab_mapnearby_id=null;var config_googleMapSearchOption="OFF";var config_googleMapSearchOption_PosC=G_ANCHOR_BOTTOM_LEFT;var config_googleMapSearchOption_PosX=203;var config_googleMapSearchOption_PosY=7;var config_mapTypePulldown="ON";var config_mapTypePulldown_PosC=G_ANCHOR_TOP_RIGHT;var config_mapTypePulldown_PosX=7;var config_mapTypePulldown_PosY=7;var config_mapTypePulldownExtended=true;var config_mapcrumbsControl="NONE";var config_mapcrumbsControl_PosC=G_ANCHOR_TOP_LEFT;var config_mapcrumbsControl_PosX=60;var config_mapcrumbsControl_PosY=6;var config_searchAutoCompleteControl="NONE";var config_searchAutoCompleteControl_PosC=G_ANCHOR_TOP_RIGHT;var config_searchAutoCompleteControl_PosX=97;var config_searchAutoCompleteControl_PosY=7;var config_searchDynamicFilterControl="ON";var config_searchDynamicFilterControl_PosC=G_ANCHOR_TOP_RIGHT;var config_searchDynamicFilterControl_PosX=97;var config_searchDynamicFilterControl_PosY=7;var config_navAutoCompleteControl="NONE";var config_navAutoCompleteControl_PosC=G_ANCHOR_TOP_RIGHT;var config_navAutoCompleteControl_PosX=97;var config_navAutoCompleteControl_PosY=7;var config_navDynamicFilterControl="NONE";var config_navDynamicFilterControl_PosC=G_ANCHOR_TOP_RIGHT;var config_navDynamicFilterControl_PosX=97;var config_navDynamicFilterControl_PosY=7;var config_resultsFilterControl="OFF";var config_resultsFilterControl_PosC=G_ANCHOR_TOP_LEFT;var config_resultsFilterControl_PosX=0;var config_resultsFilterControl_PosY=0;var config_categoryOneControl="OFF";var config_categoryOneControl_PosC=G_ANCHOR_TOP_LEFT;var config_categoryOneControl_PosX=0;var config_categoryOneControl_PosY=0;var config_categoryTwoControl="OFF";var config_categoryTwoControl_PosC=G_ANCHOR_TOP_LEFT;var config_categoryTwoControl_PosX=0;var config_categoryTwoControl_PosY=0;var config_categoryHighlightControl="OFF";var config_categoryHighlightControl_PosC=G_ANCHOR_TOP_LEFT;var config_categoryHighlightControl_PosX=0;var config_categoryHighlightControl_PosY=0;var config_mapStyleControl="OFF";var config_mapStyleControl_PosC=G_ANCHOR_TOP_RIGHT;var config_mapStyleControl_PosX=10;var config_mapStyleControl_PosY=65;var config_mapToolsControl="OFF";var config_mapToolsControl_PosC=G_ANCHOR_TOP_RIGHT;var config_mapToolsControl_PosX=10;var config_mapToolsControl_PosY=120;var config_mapHelpControl="OFF";var config_mapHelpControl_PosC=G_ANCHOR_BOTTOM_RIGHT;var config_mapHelpControl_PosX=10;var config_mapHelpControl_PosY=20;var config_mapDownloadControl="OFF";var config_mapDownloadControl_PosC=G_ANCHOR_BOTTOM_RIGHT;var config_mapDownloadControl_PosX=10;var config_mapDownloadControl_PosY=75;var config_contentPanelOneControl="OFF";var config_contentPanelOneControl_PosC=G_ANCHOR_BOTTOM_LEFT;var config_contentPanelOneControl_PosX=0;var config_contentPanelOneControl_PosY=-400;var config_contentPanelTwoControl="OFF";var config_contentPanelTwoControl_PosC=G_ANCHOR_BOTTOM_RIGHT;var config_contentPanelTwoControl_PosX=0;var config_contentPanelTwoControl_PosY=-400;var config_directionsContainer_PosC=G_ANCHOR_BOTTOM_LEFT;var config_directionsContainer_PosX=2;var config_directionsContainer_PosY=46;var config_adsense_for_content_id="ca-pub-3852855079689813";var config_adsense_for_search_id="partner-pub-3852855079689813";var config_adsense_channel_id=9130520631;var config_adsense_max_ads=10;var config_adsense_min_zoom=6;var dataRetrieveURL=null;var dataNearbyPlaceURL=null;var dataExternalFeedURL=null;var dataUpdateURL=null;var infoWindowContentURL=null;var geoGoogleMap=null;var availableMapTypes=null;var miniGeoGoogleMap=null;var geoDirections=null;var lastOpenedInfoWindow=null;var lastOpenedMarkerData=null;var mapReportingMarker=null;var geoOverviewMapControl=null;var mapBreadcrumb=null;var mapLocalSearch=null;var overlayTraffic=null;var overlayYouTube=null;var overlayPanoramio=null;var overlayWikipedia=null;var overlayWebcams=null;var overlayAdSense=null;var overlayAdSenseEnabled=false;var overlayMapGrid=null;var overlayMapGridOSGB=null;var overlayMapSensor=null;var overlayMapSensorOSGB=null;var sensorLocationCrosshair=null;var sensorLocationClicker=null;var sensorLocationClickerActive=false;var overlayPolylines=new Array();var overlayPolygons=new Array();var streetViewActivated=false;var streetViewForceActivated=true;var showStreetViewTab=false;var overlayStreetViewActive=null;var overlayStreetViewMarker=null;var panoStreetView=null;var panoMarkerStreetView=null;var locationHasStreetView=false;var streetViewErrorListener=null;var streetViewMarkerErrorListener=null;var streetViewClickListener=null;var streetViewChangeListener=null;var adminMarkerHasStreetView=false;var adminMarkerStreetViewYaw=0;var adminMarkerStreetViewPitch=5;var adminMarkerStreetViewZoom=0;var showMapMarkers=true;var launchWithoutMarkers=false;var restoreMapMarkers=true;var markerArray=new Array();var markerIdHash=new Hash();var clientSideClusterMgr=null;var current_location_class=null;var current_calling_class=null;var current_footprint_size=0;var current_visible_footprint=0;var current_visible_clusters=0;var required_marker_icon=null;var required_marker_icon_scaling=1;var required_cluster_icon=null;var required_cluster_icon_scales=false;var required_marker_svg=false;var required_cluster_svg=false;var current_marker_filter=null;var current_extended_bounds=null;var stored_zoom_level=null;var iw_isIE6=navigator.userAgent.toLowerCase().indexOf("msie 6")!=-1;function setStandardMapListeners(){}function clearSSMarkers(a){for(marker in a){geoGoogleMap.removeOverlay(a[marker])}a.clear();markerIdHash.each(function(b){markerIdHash.unset(b.key)})}function bringMarkerToFront(c,a){return google.maps.Overlay.getZIndex(c.getPoint().lat())+c.importance*1000000}function windowHeight(){if(self.innerHeight){return self.innerHeight}if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight}if(document.body){return document.body.clientHeight}return 0}function handleNoFlash(a){if(a==google.maps.StreetviewPanorama.ErrorValues.FLASH_UNAVAILABLE){alert("Note: Flash is required to use Google StreetView. This feature will not appear in your browser.");return}}function addslashes(a){a=a.replace(/\\/g,"\\\\");a=a.replace(/\'/g,"\\'");a=a.replace(/\"/g,'\\"');return a}function geome_element_hide(a){a.style.display="none";a.style.position="absolute"}function geome_element_show(a){a.style.display="block";a.style.position="relative"}function pauseJsExecution(c){var b=new Date();var a=null;do{a=new Date()}while(a-b<c)}function markGeocodedAddress(c){if(!c||c.Status.code!==200){}else{var b=c.Placemark[0];var a=new GLatLng(b.Point.coordinates[1],b.Point.coordinates[0]);var d=new GIcon();d.image="/images/maps/mm_20_red.png";d.shadow="/images/maps/mm_20_shadow.png";d.iconSize=new GSize(12,20);d.shadowSize=new GSize(22,20);d.iconAnchor=new GPoint(6,20);d.infoWindowAnchor=new GPoint(5,1);var e=new google.maps.Marker(a,{icon:d,title:"For reference: Google Geocoder result"});google.maps.Event.addListener(e,"click",function(){var g="<b>Geocoding</b>: Google geocodes<br /><i>"+c.Placemark[0].address+"</i><br /> to this point.";e.openInfoWindowHtml(g);var h=google.maps.Event.addListener(e,"zoomstart",function(){e.closeInfoWindow();google.maps.Event.removeListener(h)});var f=google.maps.Event.addListener(e,"zoomend",function(){e.closeInfoWindow();google.maps.Event.removeListener(f)})});geoGoogleMap.addOverlay(e)}}function geocodeNearestAddress(b,d,a){if(b===null){var c=new GClientGeocoder();if(d!==null){c.getLocations(d,showGeocodedAddress)}}else{if(geoGoogleMap.getInfoWindow().isHidden()&&!b.isHidden()){var c=new GClientGeocoder();if(a!==null){c.getLocations(a,showGeocodedAddress)}}}}function geocodeAddress(b){var a=new GClientGeocoder();if(b!==null){a.getLocations(b,markGeocodedAddress)}}function miniMapDrawRectangle(c){if(miniGeoGoogleMap){geoGoogleMap.removeOverlay(miniGeoGoogleMap)}var b=c.getBounds();var a=[b.getSouthWest(),new google.maps.LatLng(b.getSouthWest().lat(),b.getNorthEast().lng()),b.getNorthEast(),new google.maps.LatLng(b.getNorthEast().lat(),b.getSouthWest().lng()),b.getSouthWest()];miniGeoGoogleMap=new google.maps.Polygon(a,"#7C7F82",1,0.8,"#7C7F82",0.1);geoGoogleMap.addOverlay(miniGeoGoogleMap)}function miniMapMoveEnd(){miniMapDrawRectangle(this)}function miniMapCloseInfoWindow(){if(miniGeoGoogleMap){geoGoogleMap.removeOverlay(miniGeoGoogleMap)}}function miniMapZoomEnd(a,b){miniMapDrawRectangle(this)}function loadTransportAccordions(){var b=$$(".accordion_toggle");b.each(function(c){$(c.next(0)).setStyle({height:"0px"})});var a=new accordion("accordion_container");a.activate($$("#accordion_container .accordion_toggle")[0])}function infoWindowFailedHtml(d){var b='<div class="geome_iw_tab_title">Content could not be loaded</div>';var c='<p class="geome_iw_tab_p">We apologise, but the contents of this tab could not be loaded from their source. The system returned the following error message: <i>'+d+"</i></p>";var a=b+c;return a}function infoWindowNoStreetViewHtml(){var b='<div class="geome_iw_tab_title">StreetView</div>';var c='<p class="geome_iw_tab_p">Google StreetView is not available at the point you have clicked. There may be a temporary problem connecting to Google, or else the location is not yet covered. You can learn more about StreetView from Google\'s help pages <a href="http://maps.google.com/help/maps/streetview/" target="_blank">here</a>.</p>';var a=b+c;return a}function infoWindowBuildAerialView(h,c){var g=document.getElementById(c);var f=new google.maps.Map2(g);f.setCenter(h,geoGoogleMap.getZoom()+2);f.setMapType(G_HYBRID_MAP);f.addControl(new google.maps.SmallZoomControl3D());google.maps.Event.addListener(f,"zoomend",miniMapZoomEnd);google.maps.Event.addListener(f,"moveend",miniMapMoveEnd);var a=g.firstChild.nextSibling;var d=g.firstChild.nextSibling.nextSibling;a.style.cssText="display:none";d.style.cssText="display:none";miniMapDrawRectangle(f);var e=new GIcon();e.image="/images/maps/mm_20_red.png";e.shadow="/images/maps/mm_20_shadow.png";e.iconSize=new GSize(12,20);e.shadowSize=new GSize(22,20);e.iconAnchor=new GPoint(6,20);e.infoWindowAnchor=new GPoint(5,1);var b=new google.maps.Marker(h,{icon:e,title:"Your selected location"});f.addOverlay(b)}function infoWindowBuildStreetView(f,c,b){var d=document.getElementById(c);var e=document.getElementById(c+"Wrapper");var a=new google.maps.StreetviewClient();a.getNearestPanoramaLatLng(f,function(g){d.innerHTML="";if(g!==null){locationHasStreetView=true;panoMarkerStreetView=new google.maps.StreetviewPanorama(d);streetViewMarkerErrorListener=google.maps.Event.addListener(panoMarkerStreetView,"error",handleNoFlash);panoMarkerStreetView.setLocationAndPOV(g,b)}else{locationHasStreetView=false;e.style.cssText="width:"+config_INFO_WINDOW_ITEM_WIDTH+";";e.innerHTML=infoWindowNoStreetViewHtml()}})}function infoWindowBuildWeatherView(latlng,container){var lat=latlng.lat().toFixed(config_COORD_PRECISION);var lng=latlng.lng().toFixed(config_COORD_PRECISION);var getVars="?lat="+lat+"&lng="+lng;var requestURL=dataExternalFeedURL+getVars;var dataTabContent=document.getElementById(container);while(dataTabContent.firstChild){dataTabContent.removeChild(dataTabContent.firstChild)}dataTabContent.innerHTML='<div style="text-align:center;"><br /><br /><img src="/images/ajax-loader-large.gif" /></div>';google.maps.DownloadUrl(requestURL,function(data,responseCode){if(responseCode==200){var success=false;newdata=data.replace(/\"new Date/g,"new Date");data=newdata.replace(/\)\"/g,")");try{returneddata=eval("("+data+")");success=(returneddata!==null)}catch(e){success=false}if(!success){dataTabContent.innerHTML=infoWindowFailedHtml("Error: failed to retrieve weather feed")}else{var atldatafeed=returneddata.chartdata;atldataset=new google.visualization.DataTable(atldatafeed,0.5);atlchartdata=new google.visualization.DataView(atldataset);atlchartdata.setColumns([0,2,1]);atlchart=new google.visualization.ColumnChart(dataTabContent);dataTabContent.innerHTML="";atlchart.draw(atlchartdata,{is3D:true,title:"Current Forecast",legend:"bottom",min:0,max:0})}}else{dataTabContent.innerHTML=infoWindowFailedHtml("Error: failed to request weather feed")}})}function infoWindowBuildSalesView(latlng,container,markerdata){var lat=latlng.lat().toFixed(config_COORD_PRECISION);var lng=latlng.lng().toFixed(config_COORD_PRECISION);var checkresult=eval("typeof(markerdata.location_id1)");if(checkresult==="undefined"){var location_id1=1033}else{var location_id1=markerdata.location_id1}var getVars="?lat="+lat+"&lng="+lng+"&location_id="+location_id1;var requestURL;if(current_calling_class==="GeoFootprintClimateStation"){requestURL="/geo_footprint_climate_stations/smart_climate_feed"+getVars}else{requestURL="/front_end/smart_salesforecast_feed"+getVars}var dataTabContent=document.getElementById(container);while(dataTabContent.firstChild){dataTabContent.removeChild(dataTabContent.firstChild)}dataTabContent.innerHTML='<div style="text-align:center;"><br /><br /><img src="/images/ajax-loader-large.gif" /></div>';google.maps.DownloadUrl(requestURL,function(data,responseCode){if(responseCode==200){var success=false;newdata=data.replace(/\"new Date/g,"new Date");data=newdata.replace(/\)\"/g,")");try{returneddata=eval("("+data+")");success=(returneddata!==null)}catch(e){success=false}if(!success){dataTabContent.innerHTML=infoWindowFailedHtml("Error: failed to retrieve forecast data feed")}else{var atldatafeed=returneddata.chartdata;atldataset=new google.visualization.DataTable(atldatafeed,0.5);atlchartdata=new google.visualization.DataView(atldataset);if(current_calling_class==="GeoFootprintClimateStation"){atlchartdata.setColumns([0,1,2,3,4,5,6,7,8,9,10,11,12]);atlchart=new google.visualization.AnnotatedTimeLine(dataTabContent);dataTabContent.innerHTML="";atlchart.draw(atlchartdata,{displayZoomButtons:false,displayAnnotations:true,thickness:2,displayRangeSelector:true,legendPosition:"newRow"})}else{atlchartdata.setColumns([0,2,1]);atlchart=new google.visualization.ColumnChart(dataTabContent);dataTabContent.innerHTML="";atlchart.draw(atlchartdata,{is3D:true,title:config_info_window_show_tab_salesgraph_title,legend:"none"})}}}else{dataTabContent.innerHTML=infoWindowFailedHtml("Error: failed to request forecast data feed")}})}function directionsClearDirections(){var b=new Effect.Fade(document.getElementById("module_mapdirections_container"),{duration:0.1});var a=new Effect.Fade(document.getElementById("module_mapdirections_button"),{duration:0.1});geoDirections.clear()}function directionsShowNewDirections(){geoGoogleMap.zoomOut(null,false);var a=new Effect.Appear(document.getElementById("module_mapdirections_container"),{duration:1.5});document.getElementById("module_mapdirections_container").style.zIndex=10+morph_count}function directionsGetNearbyDirections(f,g){var b=document.getElementById("directionsNearbyMarkerAddr").value;var l=document.getElementById("directionsNearbyOtherAddr").value;if(document.getElementById("directionsNearbyOtherAddr").value.indexOf(",")<0){var c=null;if(google.loader.ClientLocation!==null){c=google.loader.ClientLocation.address.country_code}if(c!==null){var e=new google.maps.LatLng(f,g);var k=new google.maps.LatLng(google.loader.ClientLocation.latitude,google.loader.ClientLocation.longitude);var j=k.distanceFrom(e);if(j<1000000){l=l+", "+google.loader.ClientLocation.address.country_code}}}var a={};if(document.getElementById("directionsNearbyWalkOption").checked){a.travelMode=G_TRAVEL_MODE_WALKING}if(document.getElementById("directionsNearbyHighwayOption").checked){a.avoidHighways=true}var d=document.getElementById("directionsNearbySourceIsMarker").value;if(d=="true"){var h=b;var m=l}else{m=b;h=l}geoGoogleMap.closeInfoWindow();geoGoogleMap.closeExtInfoWindow();geoDirections.load("from: "+h+" to: "+m,a);directionsShowNewDirections()}function returnToLastInfoWindow(){google.maps.Event.trigger(lastOpenedInfoWindow,"click")}function reportingWindowBuildStreetViewBE(c,g,d,e,f,b){var a=new google.maps.StreetviewClient();a.getNearestPanoramaLatLng(g,function(h){if(h!==null){if(panoMarkerStreetView!==null){panoMarkerStreetView.remove()}panoMarkerStreetView=new google.maps.StreetviewPanorama(e);panoMarkerStreetView.setLocationAndPOV(h,d);var j=panoMarkerStreetView.getPOV();adminMarkerHasStreetView=true;adminMarkerStreetViewYaw=0;adminMarkerStreetViewPitch=5;adminMarkerStreetViewZoom=0;f.innerHTML="<span id='admin_streetview_data_yaw'>yaw: , </span><span id='admin_streetview_data_pitch'>pitch: , </span><span id='admin_streetview_data_zoom'>zoom: </span>";google.maps.Event.addListener(panoMarkerStreetView,"yawchanged",function(k){document.getElementById("admin_streetview_data_yaw").innerHTML="yaw: "+Math.round(k)+", ";adminMarkerStreetViewYaw=Math.round(k)});google.maps.Event.addListener(panoMarkerStreetView,"pitchchanged",function(k){document.getElementById("admin_streetview_data_pitch").innerHTML="pitch: "+Math.round(k)+", ";adminMarkerStreetViewPitch=Math.round(k)});google.maps.Event.addListener(panoMarkerStreetView,"zoomchanged",function(k){document.getElementById("admin_streetview_data_zoom").innerHTML="zoom: "+k;adminMarkerStreetViewZoom=k});google.maps.Event.addListener(panoMarkerStreetView,"initialized",function(m){var q=m.latlng;var p=m.latlng.lat();var l=m.latlng.lng();var n=geoGoogleMap.getInfoWindow();var k=parseInt(n.getContentContainers()[0].style.width);var o=parseInt(n.getContentContainers()[0].style.height);var r=n.getPixelOffset();n.reset(q,null,new google.maps.Size(k,o),r);c.setLatLng(q)})}else{if(panoMarkerStreetView!==null){panoMarkerStreetView.remove()}e.innerHTML=infoWindowNoStreetViewHtml();adminMarkerHasStreetView=false;adminMarkerStreetViewYaw=0;adminMarkerStreetViewPitch=5;adminMarkerStreetViewZoom=0}})}function showGeocodedAddress(a){if(!a||a.Status.code!==200){alert("Error: Geocoder Status Code:"+a.Status.code)}else{var m=a.Placemark[0];var r=new GLatLng(m.Point.coordinates[1],m.Point.coordinates[0]);var n=a.name.split(",");var u=new GLatLng(parseFloat(n[0]),parseFloat(n[1]));var g=r.distanceFrom(u).toFixed(0);var v="DUMMY";var j=u.lat;var w=u.lng;var e={yaw:0,pitch:5,zoom:0};var b=[];var o=document.createElement("div");o.style.cssText="width:400px;max-height:400px;";var k=document.createElement("div");k.style.cssText="width:400px;height:170px;";k.innerHTML="";var d=document.createElement("div");d.style.cssText="width:400px;height:225px;";var t=document.createElement("div");t.style.cssText="width:400px;height:200px;";var c=document.createElement("div");c.className="InfoWindowBoxBotInfo";c.innerHTML="";d.appendChild(t);d.appendChild(c);o.appendChild(k);o.appendChild(d);var f=new google.maps.InfoWindowTab("Location",o);b.push(f);if(j&&w){var l=new google.maps.LatLng(parseFloat(j),parseFloat(w));var p='<div class="InfoWindowBoxTopBorder"></div><div class="InfoWindowTableContent"><table border="0" cellpadding="2" cellspacing="0" class="InfoWindowTable"><tr class="RowLight" style="text-align:center;"><td>You clicked close to: <b>'+m.address+"</b> which is <b>"+g+' metres</b> away.</td></tr><tr class="RowDark" style="text-align:center;"><td id="infowindowupdatedrow">';var h='<textarea cols="44" id="feedback_form_test" name="feedback_form_test" rows="5" onfocus="this.value=\'\'; return false;">Type here to submit a report about this location. If a StreetView is shown below, you can also move and position this as part of your report. Click \'Submit Report\' when you are ready.</textarea><input type="button" value="Submit Report" onClick="alert(\'Demonstration purposes only\');"/><br /><input type="hidden" id="adminnewlat" name="p[lat]" value="'+j+'"/><input type="hidden" id="adminnewlng" name="p[lng]" value="'+w+'"/><input type="hidden" id="adminupdateurl" name="updateurl" value="'+v+'"/>';var s='</td></tr><tr class="RowLight" style="text-align:center;"></tr></table></div><div class="InfoWindowBoxBot"></div>';if(mapReportingMarker!==null){geoGoogleMap.removeOverlay(mapReportingMarker)}mapReportingMarker=new google.maps.Marker(r,{title:"Drag to reposition or click for details",draggable:true});geoGoogleMap.addOverlay(mapReportingMarker);var q=p+h+s;k.innerHTML=q;mapReportingMarker.openInfoWindowTabs(b,{selectedTab:0});reportingWindowBuildStreetViewBE(mapReportingMarker,r,e,t,c,v);google.maps.Event.addListener(mapReportingMarker,"click",function(A){var z=A;var y=z.lat().toFixed(config_COORD_PRECISION);var x=z.lng().toFixed(config_COORD_PRECISION);mapReportingMarker.openInfoWindowTabs(b,{selectedTab:0});reportingWindowBuildStreetViewBE(mapReportingMarker,z,e,t,c,v)});google.maps.Event.addListener(mapReportingMarker,"dragstart",function(x){mapReportingMarker.closeInfoWindow()});google.maps.Event.addListener(mapReportingMarker,"dragend",function(A){var z=A;var y=z.lat().toFixed(config_COORD_PRECISION);var x=z.lng().toFixed(config_COORD_PRECISION);mapReportingMarker.openInfoWindowTabs(b,{selectedTab:0});reportingWindowBuildStreetViewBE(mapReportingMarker,z,e,t,c,v)});return mapReportingMarker}}}function configSetupMapLogo(){var b=document.createElement("div");b.id="maplogo";b.innerHTML='<a href="http://www.geo.me" target="_blank" title="Mapping application by Geo.me Solutions" class="imagelink"><img alt="Mapping application by Geo.me Solutions" src="/images/logos/geome-map-trans.png" class="geomap_png" /></a>';var c=new google.maps.ControlPosition(G_ANCHOR_BOTTOM_LEFT,new google.maps.Size(70,6));var a=b;c.apply(a);geoGoogleMap.getContainer().appendChild(a)}function configSetupLoadingOverlay(){var a=document.createElement("div");a.id="progressoverlay";a.innerHTML='<div style="#position:absolute; #top:50%; display:table-cell; vertical-align:middle;"><div style="#position:relative; #top:-50%;"><img src="/images/ajax-loader-map.gif" /></div></div>';var b=new google.maps.ControlPosition(G_ANCHOR_TOP_LEFT,new google.maps.Size(0,0));b.apply(a);geoGoogleMap.getContainer().appendChild(a)}function configToggleClustering(){if(clientSideClusterMgr){clientSideClusterMgr.clusteringEnabled=!clientSideClusterMgr.clusteringEnabled;clientSideClusterMgr.refresh(true)}}function configToggleTraffic(){if(overlayTraffic){geoGoogleMap.removeOverlay(overlayTraffic);overlayTraffic=null}else{overlayTraffic=new google.maps.TrafficOverlay({incidents:true});geoGoogleMap.addOverlay(overlayTraffic)}}function configToggleYoutube(){if(overlayYouTube){geoGoogleMap.removeOverlay(overlayYouTube);overlayYouTube=null}else{overlayYouTube=new google.maps.Layer("com.youtube.all");geoGoogleMap.addOverlay(overlayYouTube)}}function configTogglePanoramio(){if(overlayPanoramio){geoGoogleMap.removeOverlay(overlayPanoramio);overlayPanoramio=null}else{overlayPanoramio=new google.maps.Layer("com.panoramio.all");geoGoogleMap.addOverlay(overlayPanoramio)}}function configToggleWikipedia(){if(overlayWikipedia){geoGoogleMap.removeOverlay(overlayWikipedia);overlayWikipedia=null}else{overlayWikipedia=new google.maps.Layer("org.wikipedia.en");geoGoogleMap.addOverlay(overlayWikipedia)}}function configToggleWebcams(){if(overlayWebcams){geoGoogleMap.removeOverlay(overlayWebcams);overlayWebcams=null}else{overlayWebcams=new google.maps.Layer("com.google.webcams");geoGoogleMap.addOverlay(overlayWebcams)}}function configToggleAdSense(){if(overlayAdSenseEnabled){if(overlayAdSense){overlayAdSense.disable()}overlayAdSenseEnabled=false}else{if(overlayAdSense){overlayAdSense.enable()}overlayAdSenseEnabled=true}}function configAddOverviewMap(a){geoOverviewMapControl=new google.maps.OverviewMapControl();geoGoogleMap.addControl(geoOverviewMapControl)}function extendLocalSearchMarker(b,c,a){ourStuff=document.createElement("div");ourStuff.innerHTML="<img src='/images/logos/geome-map.png'></img>";c.appendChild(ourStuff);return c}function configToggleLocalSearch(){if(mapLocalSearch){geoGoogleMap.removeControl(mapLocalSearch);mapLocalSearch=null}else{var a={linkTarget:google.search.LINK_TARGET_BLANK,searchFormHint:"Find places and businesses",onGenerateMarkerHtmlCallback:extendLocalSearchMarker,suppressInitialResultSelection:true};mapLocalSearch=new google.maps.LocalSearch(a);if((config_googleMapSearchOption_PosC==G_ANCHOR_TOP_LEFT)||(config_googleMapSearchOption_PosC==G_ANCHOR_BOTTOM_LEFT)){geoGoogleMap.addControl(mapLocalSearch,new google.maps.ControlPosition(config_googleMapSearchOption_PosC,new google.maps.Size(config_googleMapSearchOption_PosX+12,config_googleMapSearchOption_PosY+3)))}else{geoGoogleMap.addControl(mapLocalSearch,new google.maps.ControlPosition(config_googleMapSearchOption_PosC,new google.maps.Size(config_googleMapSearchOption_PosX+18,config_googleMapSearchOption_PosY+3)))}}}function configToggleLocalSearchBE(){if(mapLocalSearch){geoGoogleMap.removeControl(mapLocalSearch);mapLocalSearch=null}else{var a={resultList:google.maps.LocalSearch.RESULT_LIST_SUPPRESS,linkTarget:google.search.LINK_TARGET_BLANK,searchFormHint:"Find places and addresses",onGenerateMarkerHtmlCallback:extendLocalSearchMarker,suppressInitialResultSelection:true};mapLocalSearch=new google.maps.LocalSearch(a);geoGoogleMap.addControl(mapLocalSearch,new google.maps.ControlPosition(G_ANCHOR_BOTTOM_LEFT,new google.maps.Size(3,40)))}}function configToggleMapBreadcrumbs(){if(mapBreadcrumb){geoGoogleMap.removeControl(mapBreadcrumb);mapBreadcrumb=null}else{mapBreadcrumb=new google.maps.NavLabelControl();geoGoogleMap.addControl(mapBreadcrumb,new google.maps.ControlPosition(config_mapcrumbsControl_PosC,new google.maps.Size(config_mapcrumbsControl_PosX,config_mapcrumbsControl_PosY)))}}function configToggleStreetView(){if(streetViewActivated){geoGoogleMap.removeOverlay(overlayStreetViewActive);if(panoStreetView){panoStreetView.remove()}geoGoogleMap.closeInfoWindow();if(streetViewErrorListener){google.maps.Event.removeListener(streetViewErrorListener)}if(streetViewClickListener){google.maps.Event.removeListener(streetViewClickListener)}if(streetViewChangeListener){google.maps.Event.removeListener(streetViewChangeListener)}streetViewActivated=false}else{if(!overlayStreetViewActive){overlayStreetViewActive=new google.maps.StreetviewOverlay()}geoGoogleMap.addOverlay(overlayStreetViewActive);streetViewClickListener=google.maps.Event.addListener(geoGoogleMap,"click",function(c,d){if(c===null){var a=new google.maps.StreetviewClient();var b=document.createElement("div");b.style.cssText="width:100%;height:100%;";a.getNearestPanoramaLatLng(d,function(e){if(e!==null){locationHasStreetView=true;var f=document.createElement("div");f.style.cssText="width:"+config_INFO_WINDOW_ITEM_WIDTH+";height:"+config_INFO_WINDOW_ITEM_HEIGHT+";border:3px solid #c1c1c1;";panoStreetView=new google.maps.StreetviewPanorama(f);streetViewErrorListener=google.maps.Event.addListener(panoStreetView,"error",handleNoFlash);panoStreetView.setLocationAndPOV(d);b.appendChild(f);geoGoogleMap.openInfoWindow(d,b)}else{locationHasStreetView=false;b.style.cssText="width:"+config_INFO_WINDOW_ITEM_WIDTH+";";b.innerHTML=infoWindowNoStreetViewHtml();geoGoogleMap.openInfoWindow(d,b,{onCloseFn:function(){}})}})}});streetViewActivated=true}}function configToggleStreetViewSimple(){if(streetViewActivated){geoGoogleMap.removeOverlay(overlayStreetViewActive);streetViewActivated=false}else{if(!overlayStreetViewActive){overlayStreetViewActive=new google.maps.StreetviewOverlay()}geoGoogleMap.addOverlay(overlayStreetViewActive);streetViewActivated=true}}function configToggleMapGrid(){if(overlayMapGrid||overlayMapSensor){geoGoogleMap.removeOverlay(overlayMapGrid);google.maps.Event.removeListener(sensorLocationCrosshair);geoGoogleMap.removeControl(overlayMapSensor);overlayMapGrid=null;overlayMapSensor=null}else{overlayMapGrid=new LatLonGraticule();geoGoogleMap.addOverlay(overlayMapGrid);overlayMapSensor=new MapCursorControl();geoGoogleMap.addControl(overlayMapSensor)}}function configToggleMapGridOSGB(){if(overlayMapGridOSGB||overlayMapSensorOSGB){geoGoogleMap.removeOverlay(overlayMapGridOSGB);google.maps.Event.removeListener(sensorLocationCrosshair);geoGoogleMap.removeControl(overlayMapSensorOSGB);overlayMapGridOSGB=null;overlayMapSensorOSGB=null}else{overlayMapGridOSGB=new OGBGraticule();geoGoogleMap.addOverlay(overlayMapGridOSGB);overlayMapSensorOSGB=new MapOSGBCursorControl();geoGoogleMap.addControl(overlayMapSensorOSGB)}}function configToggleMapReverseGeocoder(){if(sensorLocationClickerActive){if(sensorLocationClicker){google.maps.Event.removeListener(sensorLocationClicker)}sensorLocationClickerActive=false}else{sensorLocationClicker=google.maps.Event.addListener(geoGoogleMap,"click",geocodeNearestAddress);sensorLocationClickerActive=true}}function setupMapControllers(){geoGoogleMap.addMapType(G_PHYSICAL_MAP);if(config_mapTypePulldownExtended){var g=new Date();var b=g.getFullYear();var c="&copy; "+b+" <a href='http://www.cloudmade.com'>CloudMade</a> - Map data <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CCBYSA</a> "+b+' <a href="http://www.openstreetmap.org/">OpenStreetMap.org</a> contributors';var a=new google.maps.CopyrightCollection(c);a.addCopyright(new google.maps.Copyright(1,new google.maps.LatLngBounds(new google.maps.LatLng(-90,-180),new google.maps.LatLng(90,180)),0," "));var f=new google.maps.TileLayer(a,1,18,{tileUrlTemplate:"http://tile.cloudmade.com/3644817594b9546c8b03362d7d08dc18/999/256/{Z}/{X}/{Y}.png"});mapCMMidnightcommander=new google.maps.MapType([f],G_NORMAL_MAP.getProjection(),"Cloudmade Night Vision");geoGoogleMap.addMapType(mapCMMidnightcommander)}geoGoogleMap.setMapType(config_mapType);if(config_smallControl){geoGoogleMap.addControl(new google.maps.SmallZoomControl3D())}if(config_largeControl){var e=new google.maps.LargeMapControl3D();geoGoogleMap.addControl(e)}if(config_scaleControl){geoGoogleMap.addControl(new google.maps.ScaleControl())}if(config_mapTypePulldown==="ON"){if(config_mapTypePulldownExtended){addOpenStreetmapMapLayers(geoGoogleMap)}geoGoogleMap.addControl(new MapCustomTypePulldownControl(geoGoogleMap),new google.maps.ControlPosition(config_mapTypePulldown_PosC,new google.maps.Size(config_mapTypePulldown_PosX,config_mapTypePulldown_PosY)));if(config_mapTypePulldownExtended){extendTileLayerZoom(geoGoogleMap,mapCMMetroRail)}}switch(config_overviewMapOption){case"ON":configAddOverviewMap(true);break;case"OFF":configAddOverviewMap(false);break;default:break}geoGoogleMap.enableContinuousZoom();geoGoogleMap.enableDoubleClickZoom();geoGoogleMap.enableScrollWheelZoom()}function constrainMapZoom(c){var a=geoGoogleMap.getMapTypes();for(var b=0;b<a.length;b++){a[b].getMinimumResolution=function(){return c}}}function constrainPanZoom(h,d,k,e,c,j){var b=geoGoogleMap.getMapTypes();for(var f=0;f<b.length;f++){b[f].getMinimumResolution=function(){return c};if(b[f].getMaximumResolution()>j){b[f].getMaximumResolution=function(){return j}}}google.maps.Event.addListener(geoGoogleMap,"move",function(){a()});var g=new google.maps.LatLngBounds(new google.maps.LatLng(h,d),new google.maps.LatLng(k,e));function a(){if(g.contains(geoGoogleMap.getCenter())){return}var q=geoGoogleMap.getCenter();var r=q.lng();var p=q.lat();var m=g.getNorthEast().lng();var l=g.getNorthEast().lat();var o=g.getSouthWest().lng();var n=g.getSouthWest().lat();if(r<o){r=o}if(r>m){r=m}if(p<n){p=n}if(p>l){p=l}geoGoogleMap.setCenter(new google.maps.LatLng(p,r))}}function initAutoCompleteControl(e){var d=new google.maps.ControlPosition(config_searchAutoCompleteControl_PosC,new google.maps.Size(config_searchAutoCompleteControl_PosX,config_searchAutoCompleteControl_PosY));var a=document.getElementById("module_mapautocomplete_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_searchAutoCompleteControl_PosC,new google.maps.Size(config_searchAutoCompleteControl_PosX,config_searchAutoCompleteControl_PosY));var b=document.getElementById("module_mapautocomplete_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleAutoCompleteSearchOpen()}}function initDynamicFilterControl(e){var d=new google.maps.ControlPosition(config_searchDynamicFilterControl_PosC,new google.maps.Size(config_searchDynamicFilterControl_PosX,config_searchDynamicFilterControl_PosY));var a=document.getElementById("module_mapdynamicfilter_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_searchDynamicFilterControl_PosC,new google.maps.Size(config_searchDynamicFilterControl_PosX,config_searchDynamicFilterControl_PosY));var b=document.getElementById("module_mapdynamicfilter_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleDynamicFilterSearchOpen()}}function initNavAutoCompleteControl(e){var d=new google.maps.ControlPosition(config_navAutoCompleteControl_PosC,new google.maps.Size(config_navAutoCompleteControl_PosX,config_navAutoCompleteControl_PosY));var a=document.getElementById("module_navautocomplete_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_navAutoCompleteControl_PosC,new google.maps.Size(config_navAutoCompleteControl_PosX,config_navAutoCompleteControl_PosY));var b=document.getElementById("module_navautocomplete_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleAutoCompleteNavOpen()}}function initNavDynamicFilterControl(e){var d=new google.maps.ControlPosition(config_navDynamicFilterControl_PosC,new google.maps.Size(config_navDynamicFilterControl_PosX,config_navDynamicFilterControl_PosY));var a=document.getElementById("module_navdynamicfilter_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_navDynamicFilterControl_PosC,new google.maps.Size(config_navDynamicFilterControl_PosX,config_navDynamicFilterControl_PosY));var b=document.getElementById("module_navdynamicfilter_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleDynamicFilterNavOpen()}}function initLocalSearchControl(e){var d=new google.maps.ControlPosition(config_googleMapSearchOption_PosC,new google.maps.Size(config_googleMapSearchOption_PosX,config_googleMapSearchOption_PosY));var a=document.getElementById("module_mapsearch_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_googleMapSearchOption_PosC,new google.maps.Size(config_googleMapSearchOption_PosX,config_googleMapSearchOption_PosY));var b=document.getElementById("module_mapsearch_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleLocalSearchOpen()}}function initMapStyleControl(e){var d=new google.maps.ControlPosition(config_mapStyleControl_PosC,new google.maps.Size(config_mapStyleControl_PosX,config_mapStyleControl_PosY));var a=document.getElementById("module_mapstyle_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_mapStyleControl_PosC,new google.maps.Size(config_mapStyleControl_PosX,config_mapStyleControl_PosY));var b=document.getElementById("module_mapstyle_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_mapstyle","o","all")}}function initMapToolsControl(e){var d=new google.maps.ControlPosition(config_mapToolsControl_PosC,new google.maps.Size(config_mapToolsControl_PosX,config_mapToolsControl_PosY));var a=document.getElementById("module_maptools_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_mapToolsControl_PosC,new google.maps.Size(config_mapToolsControl_PosX,config_mapToolsControl_PosY));var b=document.getElementById("module_maptools_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_maptools","o","all")}}function initMapHelpControl(e){var d=new google.maps.ControlPosition(config_mapHelpControl_PosC,new google.maps.Size(config_mapHelpControl_PosX,config_mapHelpControl_PosY));var a=document.getElementById("module_maphelp_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_mapHelpControl_PosC,new google.maps.Size(config_mapHelpControl_PosX,config_mapHelpControl_PosY));var b=document.getElementById("module_maphelp_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_maphelp","o","all")}}function initMapDownloadControl(e){var d=new google.maps.ControlPosition(config_mapDownloadControl_PosC,new google.maps.Size(config_mapDownloadControl_PosX,config_mapDownloadControl_PosY));var a=document.getElementById("module_mapdownload_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_mapDownloadControl_PosC,new google.maps.Size(config_mapDownloadControl_PosX,config_mapDownloadControl_PosY));var b=document.getElementById("module_mapdownload_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_mapdownload","o","all")}}function initPanelOneControl(e){var d=new google.maps.ControlPosition(config_contentPanelOneControl_PosC,new google.maps.Size(config_contentPanelOneControl_PosX,config_contentPanelOneControl_PosY));var a=document.getElementById("module_contentpanelone_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_contentPanelOneControl_PosC,new google.maps.Size(config_contentPanelOneControl_PosX,config_contentPanelOneControl_PosY));var b=document.getElementById("module_contentpanelone_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_contentpanelone","o","all")}}function initPanelTwoControl(e){var d=new google.maps.ControlPosition(config_contentPanelTwoControl_PosC,new google.maps.Size(config_contentPanelTwoControl_PosX,config_contentPanelTwoControl_PosY));var a=document.getElementById("module_contentpaneltwo_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_contentPanelTwoControl_PosC,new google.maps.Size(config_contentPanelTwoControl_PosX,config_contentPanelTwoControl_PosY));var b=document.getElementById("module_contentpaneltwo_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_contentpaneltwo","o","all")}}function initResultsFilterControl(e){var d=new google.maps.ControlPosition(config_resultsFilterControl_PosC,new google.maps.Size(config_resultsFilterControl_PosX,config_resultsFilterControl_PosY));var a=document.getElementById("module_mapfilter_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_resultsFilterControl_PosC,new google.maps.Size(config_resultsFilterControl_PosX,config_resultsFilterControl_PosY));var b=document.getElementById("module_mapfilter_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_mapfilter","o","all")}}function initCategoryOneControl(e){var d=new google.maps.ControlPosition(config_categoryOneControl_PosC,new google.maps.Size(config_categoryOneControl_PosX,config_categoryOneControl_PosY));var a=document.getElementById("module_categoryonecontrol_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_categoryOneControl_PosC,new google.maps.Size(config_categoryOneControl_PosX,config_categoryOneControl_PosY));var b=document.getElementById("module_categoryonecontrol_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";prepareCategoryOneControl();if((e==="ON")||(e==="FORCED")){moduleToggle("module_categoryonecontrol","o","all")}}function initCategoryTwoControl(e){var d=new google.maps.ControlPosition(config_categoryTwoControl_PosC,new google.maps.Size(config_categoryTwoControl_PosX,config_categoryTwoControl_PosY));var a=document.getElementById("module_categorytwocontrol_container");d.apply(a);geoGoogleMap.getContainer().appendChild(a);a.style.display="inline";var c=new google.maps.ControlPosition(config_categoryTwoControl_PosC,new google.maps.Size(config_categoryTwoControl_PosX,config_categoryTwoControl_PosY));var b=document.getElementById("module_categorytwocontrol_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);b.style.display="inline";if((e==="ON")||(e==="FORCED")){moduleToggle("module_categorytwocontrol","o","all")}}function initCategoryHighlightControl(a){}function initSetupMapDirections(){var f=new google.maps.ControlPosition(config_directionsContainer_PosC,new google.maps.Size(config_directionsContainer_PosX,config_directionsContainer_PosY));var a=document.getElementById("module_mapdirections_container");f.apply(a);geoGoogleMap.getContainer().appendChild(a);var c=new google.maps.ControlPosition(config_directionsContainer_PosC,new google.maps.Size(config_directionsContainer_PosX,config_directionsContainer_PosY));var b=document.getElementById("module_mapdirections_button");c.apply(b);geoGoogleMap.getContainer().appendChild(b);var d=document.getElementById("module_mapdirections_newcontent");geoDirections=new google.maps.Directions(geoGoogleMap,d);var e=[];e[G_GEO_SUCCESS]="Success";e[G_GEO_MISSING_ADDRESS]="Missing Address: The address was either missing or had no value.";e[G_GEO_UNKNOWN_ADDRESS]="Google could not work out the location of the address you gave. If you entered a postcode, please add the name of the country and re-try.";e[G_GEO_UNAVAILABLE_ADDRESS]="Unavailable Address: Sorry, but the geocode for the given address cannot be returned by Google due to legal or contractual reasons.";e[G_GEO_BAD_KEY]="Bad Key: The Google API key is either invalid or does not match the domain for which it was given";e[G_GEO_TOO_MANY_QUERIES]="Too many queries: Google's daily quota for this website has been exceeded.";e[G_GEO_SERVER_ERROR]="Server error: Sorry, but the request for directions could not be processedby Google. Please try again later.";e[G_GEO_BAD_REQUEST]="The information provided could not be used by Google to produce directions. Please try another name for the place you are looking for.";e[G_GEO_MISSING_QUERY]="No place was specified. Please enter the name of the place you are looking for.";e[G_GEO_UNKNOWN_DIRECTIONS]="Sorry, but Google could not work out directions between these points.";google.maps.Event.addListener(geoDirections,"error",function(){var g=geoDirections.getStatus().code;var h="Code "+g;if(e[g]){h=e[g]}alert("Unable to obtain directions. "+h);directionsClearDirections();returnToLastInfoWindow()})}function configBuildMapModules(){switch(config_searchAutoCompleteControl){case"ON":initAutoCompleteControl(config_searchAutoCompleteControl);break;case"FORCED":initAutoCompleteControl(config_searchAutoCompleteControl);break;case"OFF":initAutoCompleteControl(config_searchAutoCompleteControl);break;default:break}switch(config_searchDynamicFilterControl){case"ON":initDynamicFilterControl(config_searchDynamicFilterControl);break;case"FORCED":initDynamicFilterControl(config_searchDynamicFilterControl);break;case"OFF":initDynamicFilterControl(config_searchDynamicFilterControl);break;default:break}switch(config_navAutoCompleteControl){case"ON":initNavAutoCompleteControl(config_navAutoCompleteControl);break;case"FORCED":initNavAutoCompleteControl(config_navAutoCompleteControl);break;case"OFF":initNavAutoCompleteControl(config_navAutoCompleteControl);break;default:break}switch(config_navDynamicFilterControl){case"ON":initNavDynamicFilterControl(config_navDynamicFilterControl);break;case"FORCED":initNavDynamicFilterControl(config_navDynamicFilterControl);break;case"OFF":initNavDynamicFilterControl(config_navDynamicFilterControl);break;default:break}switch(config_googleMapSearchOption){case"ON":initLocalSearchControl(config_googleMapSearchOption);break;case"FORCED":initLocalSearchControl(config_googleMapSearchOption);break;case"OFF":initLocalSearchControl(config_googleMapSearchOption);break;default:break}switch(config_trafficOption){case"ON":if(document.getElementById("config_checkbox_traffic")!==null){document.getElementById("config_checkbox_traffic").checked=true}configToggleTraffic();break;case"FORCED":if(document.getElementById("config_checkbox_traffic")!==null){document.getElementById("config_traffic").style.display="none"}configToggleTraffic();break;case"OFF":break;default:if(document.getElementById("config_checkbox_traffic")!==null){document.getElementById("config_traffic").style.display="none"}break}switch(config_youtubeOption){case"ON":if(document.getElementById("config_checkbox_youtube")!==null){document.getElementById("config_checkbox_youtube").checked=true}configToggleYoutube();break;case"FORCED":if(document.getElementById("config_checkbox_youtube")!==null){document.getElementById("config_youtube").style.display="none"}configToggleYoutube();break;case"OFF":break;default:if(document.getElementById("config_checkbox_youtube")!==null){document.getElementById("config_youtube").style.display="none"}break}switch(config_panoramioOption){case"ON":if(document.getElementById("config_checkbox_panoramio")!==null){document.getElementById("config_checkbox_panoramio").checked=true}configTogglePanoramio();break;case"FORCED":if(document.getElementById("config_checkbox_panoramio")!==null){document.getElementById("config_panoramio").style.display="none"}configTogglePanoramio();break;case"OFF":break;default:if(document.getElementById("config_checkbox_panoramio")!==null){document.getElementById("config_panoramio").style.display="none"}break}switch(config_wikipediaOption){case"ON":if(document.getElementById("config_checkbox_wikipedia")!==null){document.getElementById("config_checkbox_wikipedia").checked=true}configToggleWikipedia();break;case"FORCED":if(document.getElementById("config_checkbox_wikipedia")!==null){document.getElementById("config_wikipedia").style.display="none"}configToggleWikipedia();break;case"OFF":break;default:if(document.getElementById("config_checkbox_wikipedia")!==null){document.getElementById("config_wikipedia").style.display="none"}break}switch(config_webcamsOption){case"ON":if(document.getElementById("config_checkbox_webcams")!==null){document.getElementById("config_checkbox_webcams").checked=true}configToggleWebcams();break;case"FORCED":if(document.getElementById("config_checkbox_webcams")!==null){document.getElementById("config_webcams").style.display="none"}configToggleWebcams();break;case"OFF":break;default:if(document.getElementById("config_checkbox_webcams")!==null){document.getElementById("config_webcams").style.display="none"}break}switch(config_streetViewOption){case"ON":if(document.getElementById("config_checkbox_streetview")!==null){document.getElementById("config_checkbox_streetview").checked=true}configToggleStreetView();break;case"FORCED":if(document.getElementById("config_checkbox_streetview")!==null){document.getElementById("config_streetview").style.display="none"}configToggleStreetView();break;case"OFF":break;default:if(document.getElementById("config_checkbox_streetview")!==null){document.getElementById("config_streetview").style.display="none"}break}switch(config_mapStyleControl){case"ON":initMapStyleControl(config_mapStyleControl);break;case"FORCED":initMapStyleControl(config_mapStyleControl);break;case"OFF":initMapStyleControl(config_mapStyleControl);break;default:break}switch(config_clusterOption){case"ON":if((document.getElementById("config_checkbox_clustering")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_checkbox_clustering").checked=true}configToggleClustering();break;case"FORCED":if((document.getElementById("config_clustering")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_clustering").style.display="none"}configToggleClustering();break;case"OFF":break;default:if((document.getElementById("config_clustering")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_clustering").style.display="none"}break}switch(config_gridOption){case"ON":if((document.getElementById("config_checkbox_grid")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_checkbox_grid").checked=true}configToggleMapGrid();break;case"FORCED":if((document.getElementById("config_grid")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_grid").style.display="none"}configToggleMapGrid();break;case"OFF":break;default:if((document.getElementById("config_grid")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_grid").style.display="none"}break}switch(config_gridOptionOSGB){case"ON":if((document.getElementById("config_checkbox_grid_osgb")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_checkbox_grid_osgb").checked=true}configToggleMapGridOSGB();break;case"FORCED":if((document.getElementById("config_grid_osgb")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_grid_osgb").style.display="none"}configToggleMapGridOSGB();break;case"OFF":break;default:if((document.getElementById("config_grid_osgb")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_grid_osgb").style.display="none"}break}switch(config_mapcrumbsControl){case"ON":if((document.getElementById("config_checkbox_mapcrumbs")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_checkbox_mapcrumbs").checked=true}configToggleMapBreadcrumbs();break;case"FORCED":if((document.getElementById("config_mapcrumbs")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_mapcrumbs").style.display="none"}configToggleMapBreadcrumbs();break;case"OFF":break;default:if((document.getElementById("config_mapcrumbs")!==null)&&(config_mapToolsControl!=="NONE")){document.getElementById("config_mapcrumbs").style.display="none"}break}switch(config_adSenseOption){case"ON":if(config_adSenseUnit){overlayAdSense=new google.maps.AdsManager(geoGoogleMap,config_adsense_for_content_id,{maxAdsOnMap:config_adsense_max_ads,minZoomLevel:config_adsense_min_zoom,style:"adunit",channel:config_adsense_channel_id})}else{overlayAdSense=new google.maps.AdsManager(geoGoogleMap,config_adsense_for_content_id,{maxAdsOnMap:config_adsense_max_ads,minZoomLevel:config_adsense_min_zoom,channel:config_adsense_channel_id})}if((document.getElementById("config_checkbox_adsense")!==null)&&(config_adSenseOption!=="NONE")){document.getElementById("config_checkbox_adsense").checked=true}configToggleAdSense();break;case"FORCED":if(config_adSenseUnit){overlayAdSense=new google.maps.AdsManager(geoGoogleMap,config_adsense_for_content_id,{maxAdsOnMap:config_adsense_max_ads,minZoomLevel:config_adsense_min_zoom,style:"adunit",channel:config_adsense_channel_id})}else{overlayAdSense=new google.maps.AdsManager(geoGoogleMap,config_adsense_for_content_id,{maxAdsOnMap:config_adsense_max_ads,minZoomLevel:config_adsense_min_zoom,channel:config_adsense_channel_id})}if(config_mapToolsControl!=="NONE"){document.getElementById("config_adsense").style.display="none"}configToggleAdSense();break;case"OFF":if(config_adSenseUnit){overlayAdSense=new google.maps.AdsManager(geoGoogleMap,config_adsense_for_content_id,{maxAdsOnMap:config_adsense_max_ads,minZoomLevel:config_adsense_min_zoom,style:"adunit",channel:config_adsense_channel_id})}else{overlayAdSense=new google.maps.AdsManager(geoGoogleMap,config_adsense_for_content_id,{maxAdsOnMap:config_adsense_max_ads,minZoomLevel:config_adsense_min_zoom,channel:config_adsense_channel_id})}overlayAdSenseEnabled=false;break;default:if(config_mapToolsControl!=="NONE"){document.getElementById("config_adsense").style.display="none"}break}switch(config_reverseGeocodeOption){case"ON":if((document.getElementById("config_checkbox_reversegeocode")!==null)&&(config_reverseGeocodeOption!=="NONE")){document.getElementById("config_checkbox_reversegeocode").checked=true}configToggleMapReverseGeocoder();break;case"FORCED":if(config_mapToolsControl!=="NONE"){document.getElementById("config_reversegeocode").style.display="none"}configToggleMapReverseGeocoder();break;case"OFF":break;default:if(config_mapToolsControl!=="NONE"){document.getElementById("config_reversegeocode").style.display="none"}break}switch(config_mapToolsControl){case"ON":initMapToolsControl(config_mapToolsControl);break;case"FORCED":initMapToolsControl(config_mapToolsControl);break;case"OFF":initMapToolsControl(config_mapToolsControl);break;default:break}switch(config_mapHelpControl){case"ON":initMapHelpControl(config_mapHelpControl);break;case"FORCED":initMapHelpControl(config_mapHelpControl);break;case"OFF":initMapHelpControl(config_mapHelpControl);break;default:break}switch(config_mapDownloadControl){case"ON":initMapDownloadControl(config_mapDownloadControl);break;case"FORCED":initMapDownloadControl(config_mapDownloadControl);break;case"OFF":initMapDownloadControl(config_mapDownloadControl);break;default:break}switch(config_contentPanelOneControl){case"ON":initPanelOneControl(config_contentPanelOneControl);break;case"FORCED":initPanelOneControl(config_contentPanelOneControl);break;case"OFF":initPanelOneControl(config_contentPanelOneControl);break;default:break}switch(config_contentPanelTwoControl){case"ON":initPanelTwoControl(config_contentPanelTwoControl);break;case"FORCED":initPanelTwoControl(config_contentPanelTwoControl);break;case"OFF":initPanelTwoControl(config_contentPanelTwoControl);break;default:break}switch(config_resultsFilterControl){case"ON":initResultsFilterControl(config_resultsFilterControl);break;case"FORCED":initResultsFilterControl(config_resultsFilterControl);break;case"OFF":initResultsFilterControl(config_resultsFilterControl);break;default:break}switch(config_categoryOneControl){case"ON":initCategoryOneControl(config_categoryOneControl);break;case"FORCED":initCategoryOneControl(config_categoryOneControl);break;case"OFF":initCategoryOneControl(config_categoryOneControl);break;default:break}switch(config_categoryTwoControl){case"ON":initCategoryTwoControl(config_categoryTwoControl);break;case"FORCED":initCategoryTwoControl(config_categoryTwoControl);break;case"OFF":initCategoryTwoControl(config_categoryTwoControl);break;default:break}switch(config_categoryHighlightControl){case"ON":initCategoryHighlightControl(config_categoryHighlightControl);break;case"FORCED":initCategoryHighlightControl(config_categoryHighlightControl);break;case"OFF":initCategoryHighlightControl(config_categoryHighlightControl);break;default:break}}function renderRequiredPolylines(){for(var a=0;a<overlayPolylines.length;a++){geoGoogleMap.addOverlay(overlayPolylines[a])}}function renderRequiredPolygons(){for(var a=0;a<overlayPolygons.length;a++){geoGoogleMap.addOverlay(overlayPolygons[a])}}function openSmartMapInfoWindow(m,b){var j=b.lat();var k=b.lng();geoGoogleMap.closeExtInfoWindow();geoGoogleMap.setCenter(b,config_MARKER_NAVIGATOR_ZOOM);renderSmartMarkers(null);var g=new GIcon();g.image="/images/maps/mm_20_red.png";g.shadow="/images/maps/mm_20_shadow.png";g.iconSize=new GSize(12,20);g.shadowSize=new GSize(22,20);g.iconAnchor=new GPoint(6,20);g.infoWindowAnchor=new GPoint(5,1);var l=new google.maps.Marker(b,{title:m+": click to remove this navigation marker",icon:g,draggable:false});geoGoogleMap.addOverlay(l);var f=google.maps.Event.addListener(l,"click",function(n){geoGoogleMap.removeOverlay(l);google.maps.Event.removeListener(f)});var h="lat="+j+"&lng="+k+"&source="+encodeURI(m);var d=unescape(dataNearbyPlaceURL).replace(/&amp;/g,"&");var a="?";if(d.indexOf(a)!=-1){a="&"}var c=d+a+h;var e='<div style="margin:0;padding:0;text-align:center;">Loading Information...<br /><img src="/images/ajax-loader-horizontal.gif" /></div>';l.openExtInfoWindow(geoGoogleMap,config_info_window_id,e,{paddingX:config_info_window_padX,paddingY:config_info_window_padY,beakOffset:3,ajaxUrl:c,ajaxCallback:smartInfoWindowInitialiseNocontent})}function geocodePointFromSearchterm(b,a){var c=new google.search.LocalSearch();c.setCenterPoint(geoGoogleMap.getCenter());c.setSearchCompleteCallback(null,function(){if(c.results[0]){var e=c.results[0].lat;var f=c.results[0].lng;var d=new google.maps.LatLng(e,f);a(b,d)}else{alert("Sorry, this location could not be identified. Please try an alternative")}});c.execute(b)}function openSmartMapLocation(c,d,b,a){if(d==="null"||b==="null"){var e=typeof(a);if(e!=="undefined"&&a!==""){c+=", "+a}geocodePointFromSearchterm(c,openSmartMapInfoWindow)}else{latlng=new google.maps.LatLng(d,b);openSmartMapInfoWindow(c,latlng)}}function smartMarkerFilterCategories(){if(current_marker_filter!=="clustered"){for(var a=0;a<markerFilterCheckboxes.length;++a){if(!document.getElementById(""+markerFilterCheckboxes[a]+"").checked){var b=markerFilterCheckboxes[a].replace("checkbox_","");smartMarkerHideCategory(b)}}}}function smartMarkerRestoreCategories(){for(var a=0;a<markerFilterCheckboxes.length;++a){document.getElementById(""+markerFilterCheckboxes[a]+"").checked=true}}function smartMarkerShowCategory(category){if(!showMapMarkers){alert("This action disabled while all markers are hidden");if(document.getElementById("checkbox_"+category+"")!==null){document.getElementById("checkbox_"+category+"").checked=false}}else{if(current_marker_filter!=="clustered"){var isGoogleMarker=true;var checkresult=eval("typeof(markerArray[0].bindInfoWindow)");if(checkresult==="undefined"){isGoogleMarker=false}for(var i=0;i<markerArray.length;i++){if(markerArray[i].marker_category==category){if(isGoogleMarker){markerArray[i].show()}else{geoGoogleMap.addOverlay(markerArray[i])}}}if(document.getElementById("checkbox_"+category+"")!==null){document.getElementById("checkbox_"+category+"").checked=true}}else{alert("Zoom the map closer to filter individual location categories")}}}function smartMarkerShowSubcategory(category,subcategory){if(!showMapMarkers){alert("This action disabled while all markers are hidden")}else{if(current_marker_filter!=="clustered"){var isGoogleMarker=true;var checkresult=eval("typeof(markerArray[0].bindInfoWindow)");if(checkresult==="undefined"){isGoogleMarker=false}for(var i=0;i<markerArray.length;i++){if((markerArray[i].marker_category==category)&&(markerArray[i].marker_subcategory==subcategory)){if(isGoogleMarker){markerArray[i].show()}else{geoGoogleMap.addOverlay(markerArray[i])}}}}else{alert("Zoom the map closer to show and hide individual location categories")}}}function smartMarkerHideCategory(category){if(!showMapMarkers){alert("This action disabled while all markers are hidden");if(document.getElementById("checkbox_"+category+"")!==null){document.getElementById("checkbox_"+category+"").checked=false}}else{if(current_marker_filter!=="clustered"){var isGoogleMarker=true;var checkresult=eval("typeof(markerArray[0].bindInfoWindow)");if(checkresult==="undefined"){isGoogleMarker=false}for(var i=0;i<markerArray.length;i++){if(markerArray[i].marker_category==category){if(isGoogleMarker){markerArray[i].hide()}else{geoGoogleMap.removeOverlay(markerArray[i])}}}if(document.getElementById("checkbox_"+category+"")!==null){document.getElementById("checkbox_"+category+"").checked=false}}else{if(document.getElementById("checkbox_"+category+"")!==null){document.getElementById("checkbox_"+category+"").checked=true}alert("Zoom the map closer to filter individual location categories")}}}function toggleMarkerSubcategory(category,subcategory){if(!showMapMarkers){alert("This action disabled while all markers are hidden")}else{if(current_marker_filter!=="clustered"){var isGoogleMarker=true;var checkresult=eval("typeof(markerArray[0].bindInfoWindow)");if(checkresult==="undefined"){isGoogleMarker=false}for(var i=0;i<markerArray.length;i++){if((markerArray[i].marker_category==category)&&(markerArray[i].marker_subcategory==subcategory)){if(isGoogleMarker){if(!markerArray[i].isHidden()){markerArray[i].hide();geoGoogleMap.closeExtInfoWindow()}else{markerArray[i].show()}}else{geoGoogleMap.removeOverlay(markerArray[i])}}}}else{alert("Zoom the map closer to show and hide individual location categories")}}}function smartCheckboxClick(b,a){if(b.checked){smartMarkerShowCategory(a)}else{smartMarkerHideCategory(a)}}function smartInfoWindowInitialiseContent(){smartInfoWindowInitialise(true);if(config_info_window_show_tab_directions){loadTransportAccordions()}if(iw_isIE6){setTimeout("if (geoGoogleMap.getExtInfoWindow() !== null) geoGoogleMap.getExtInfoWindow().resize()",1000);setTimeout("if (geoGoogleMap.getExtInfoWindow() !== null) geoGoogleMap.getExtInfoWindow().resize()",3000);setTimeout("if (geoGoogleMap.getExtInfoWindow() !== null) geoGoogleMap.getExtInfoWindow().resize()",5000);setTimeout("if (geoGoogleMap.getExtInfoWindow() !== null) geoGoogleMap.getExtInfoWindow().resize()",10000);iw_isIE6=false}}function smartInfoWindowInitialiseNocontent(){smartInfoWindowInitialise(false)}function smartInfoWindowInitialiseTab(b){var d=lastOpenedInfoWindow.getLatLng();var c=lastOpenedMarkerData;if(b===config_info_window_show_tab_weather_id){infoWindowBuildWeatherView(d,"weatherViewChartContainer",c)}if(b===config_info_window_show_tab_salesgraph_id){infoWindowBuildSalesView(d,"salesChartContainer",c)}if(b===config_info_window_show_tab_aerialview_id){infoWindowBuildAerialView(d,"aerialViewContainer")}else{miniMapCloseInfoWindow()}if(b===config_info_window_show_tab_streetview_id){var a={yaw:0,pitch:5,zoom:0};if(c.streetview_yaw!==undefined){a={yaw:c.streetview_yaw,pitch:c.streetview_pitch,zoom:c.streetview_zoom}}infoWindowBuildStreetView(d,"streetViewContainer",a)}else{if(overlayStreetViewMarker!==null){geoGoogleMap.removeOverlay(overlayStreetViewMarker)}if(panoMarkerStreetView!==null){panoMarkerStreetView.remove()}if(streetViewMarkerErrorListener!==null){google.maps.Event.removeListener(streetViewMarkerErrorListener)}}geoGoogleMap.getExtInfoWindow().resize()}function smartInfoWindowInitialise(c){var b=new Array();for(i=0;;i++){if(document.getElementById("geome_iw_tab"+i)!==null){b.push(document.getElementById("geome_iw_tab"+i))}else{break}}if(b.length>0){if(b.length>1){var a=new Array(b.length);for(i=0;i<b.length;i++){a[i]=document.getElementById("geome_iw_tab"+i+"_content");if(i!==config_info_window_default_tab){geome_element_hide(a[i])}else{geome_element_show(a[i]);document.getElementById("geome_iw_tab"+i).className="geome_iw_tab_active";smartInfoWindowInitialiseTab("geome_iw_tab"+i)}b[i].setAttribute("name",i.toString());GEvent.addDomListener(b[i],"click",function(){var d=this.getAttribute("name");for(tabContentIndex=0;tabContentIndex<b.length;tabContentIndex++){if(tabContentIndex==d){geome_element_show(a[tabContentIndex]);document.getElementById("geome_iw_tab"+tabContentIndex).className="geome_iw_tab_active";smartInfoWindowInitialiseTab("geome_iw_tab"+tabContentIndex)}else{geome_element_hide(a[tabContentIndex]);document.getElementById("geome_iw_tab"+tabContentIndex).className="geome_iw_tab_inactive"}}})}}else{geome_element_hide(b[0]);if(c){smartInfoWindowInitialiseTab("geome_iw_tab0")}}}}function createSmartMarker(markerdata){var lat=markerdata.lat.toFixed(config_COORD_PRECISION);var lng=markerdata.lng.toFixed(config_COORD_PRECISION);var marker=null,markericon=null,markerlabel=null,tooltip=null,infowintitle=null;var newMapCentre=null,newZoomLevel=null,thisClusterBounds=null;if(lat&&lng){var latlng=new google.maps.LatLng(parseFloat(lat),parseFloat(lng));if(current_marker_filter!=="clustered"){markericon=required_marker_icon;if(config_overrideLocationMarkersCategory){var checkresult=typeof(markerdata.imagepath1);if(checkresult!=="undefined"){if((markerdata.imagepath1!=="")&&(markerdata.imagepath1!==null)){if(markerdata.imagepath1.search("png")==-1){var checkresult3=eval("typeof("+markerdata.imagepath1+")");if(checkresult3!=="undefined"){eval("markericon = "+markerdata.imagepath1)}}else{markericon=new GIcon(baseReusableIcon,markerdata.imagepath1,null,"/images/maps/icon_tabs_shadow.png")}}}}if(config_overrideLocationMarkersBespoke){var checkresult=typeof(markerdata.imagepath1);if(checkresult!=="undefined"){markericon=new GIcon(baseReusableIcon,markerdata.imagepath1,null,"/images/maps/icon_tabs_shadow.png")}}}else{if(config_useScaledClusterMarkers){var scale=markerdata.markersize;if((scale!==null)&&required_cluster_icon_scales){eval("required_cluster_icon = "+config_marker_cluster_name+"_"+scale)}}markericon=required_cluster_icon}switch(current_location_class){case"footprint":if(current_marker_filter!=="clustered"){infowintitle=markerdata.location;markerlabel=markerdata.location;markerLabelClass="LabeledMarker_smallmarkerLabel";tooltip=markerdata.location+" - click for details"}else{markerlabel=markerdata.markertitle;markerLabelClass="LabeledMarker_clusterLabel";tooltip="There are "+markerdata.markertitle+" locations in this area - click to zoom closer"}break;case"station":if(current_marker_filter!=="clustered"){infowintitle=markerdata.station_name;markerlabel=markerdata.station_code;markerLabelClass="LabeledMarker_markerLabel";tooltip=markerdata.station_name+" - click for details"}else{markerlabel=markerdata.markertitle;markerLabelClass="LabeledMarker_clusterLabel";tooltip="There are "+markerdata.markertitle+" stations in this area - click to zoom closer"}break;case"airport":if(current_marker_filter!=="clustered"){infowintitle=markerdata.airport_name;markerlabel=markerdata.iata_code;markerLabelClass="LabeledMarker_markerLabel";tooltip=markerdata.airport_name+" - click for details"}else{markerlabel=markerdata.markertitle;markerLabelClass="LabeledMarker_clusterLabel";tooltip="There are "+markerdata.markertitle+" airports in this area - click to zoom closer"}break;case"postcode":if(current_marker_filter!=="clustered"){infowintitle=markerdata.postcode;markerlabel=markerdata.postcode;markerLabelClass="LabeledMarker_smallmarkerLabel";tooltip=markerdata.postcode+" - click for details"}else{markerlabel=markerdata.markertitle;markerLabelClass="LabeledMarker_clusterLabel";tooltip="There are "+markerdata.markertitle+" postcodes in this area - click to zoom closer"}break;case"postdistrict":if(current_marker_filter!=="clustered"){infowintitle=markerdata.outcode;markerlabel=markerdata.outcode;markerLabelClass="LabeledMarker_smallmarkerLabel";tooltip=markerdata.outcode+" - click for details"}else{markerlabel=markerdata.markertitle;markerLabelClass="LabeledMarker_clusterLabel";tooltip="There are "+markerdata.markertitle+" postal districts in this area - click to zoom closer"}break;case"namedplace":if(current_marker_filter!=="clustered"){infowintitle=markerdata.name;markerlabel=markerdata.name;markerLabelClass="LabeledMarker_smallmarkerLabel";tooltip=markerdata.name+" - click for details"}else{markerlabel=markerdata.markertitle;markerLabelClass="LabeledMarker_clusterLabel";tooltip="There are "+markerdata.markertitle+" places in this area - click to zoom closer"}break;default:alert("Alert - location class has not been set");break}if(markericon!==null){if(current_marker_filter=="clustered"){if((!config_useLabeledClusterMarkers)||(markerlabel==null)){marker=new google.maps.Marker(latlng,{icon:markericon,title:tooltip})}else{var verticalOffset=10*parseInt(markerdata.markersize);var markerOpts={icon:markericon,title:tooltip,labelText:markerlabel,labelClass:markerLabelClass,labelOffset:new google.maps.Size(-16,-8)};marker=new LabeledMarker(latlng,markerOpts)}}else{if((!config_useLabeledLocationMarkers)||(markerlabel==null)){if(config_useCustomTooltip){marker=new google.maps.Marker(latlng,{icon:markericon})}else{marker=new google.maps.Marker(latlng,{icon:markericon,title:tooltip})}}else{var verticalOffset=10;var markerOpts={icon:markericon,labelText:markerlabel,labelClass:markerLabelClass,labelOffset:new google.maps.Size(-16*required_marker_icon_scaling,((-14-verticalOffset)*required_marker_icon_scaling))};if(!config_useCustomTooltip){markerOpts.title=tooltip}marker=new LabeledMarker(latlng,markerOpts)}}}else{var currentMapZoom=geoGoogleMap.getZoom();marker=new BDCCCircle(latlng,config_svgMarkerBaseRadiusKm,config_svgMarkerStrokeColour,config_svgMarkerStrokeWeight,config_svgMarkerStrokeOpacity,config_svgMarkerFillBoolean,config_svgMarkerFillColour,config_svgMarkerFillOpacity,tooltip)}if(current_marker_filter!=="clustered"){if(config_useCustomTooltip){google.maps.Event.addListener(marker,"mouseover",function(){marker.openToolTip(tooltip,"",0,0)});google.maps.Event.addListener(marker,"mouseout",function(){marker.closeToolTip()});google.maps.Event.addListener(marker,"remove",function(){marker.closeToolTip()})}google.maps.Event.addListener(marker,"click",function(){lastOpenedInfoWindow=marker;lastOpenedMarkerData=markerdata;var markerCoords=marker.getLatLng();var markerZoom=geoGoogleMap.getZoom();if(markerZoom<config_MARKER_CLOSEUP_ZOOM){markerZoom=config_MARKER_CLOSEUP_ZOOM}geoGoogleMap.setCenter(markerCoords,markerZoom);var getVars="location_id="+markerdata.id;var loadingHTML='<div style="margin:0;padding:0;text-align:center;">Loading Information...<br /><img src="/images/ajax-loader-horizontal.gif" /></div>';var cleanURL=unescape(infoWindowContentURL).replace(/&amp;/g,"&");var ch="?";if(cleanURL.indexOf(ch)!=-1){ch="&"}var requestURL=cleanURL+ch+getVars;marker.openExtInfoWindow(geoGoogleMap,config_info_window_id,loadingHTML,{paddingX:config_info_window_padX,paddingY:config_info_window_padY,beakOffset:3,ajaxUrl:requestURL,ajaxCallback:smartInfoWindowInitialiseContent});var li_extiwc=google.maps.Event.addListener(geoGoogleMap,"extinfowindowclose",function(){miniMapCloseInfoWindow();if(overlayStreetViewMarker!==null){geoGoogleMap.removeOverlay(overlayStreetViewMarker)}if(panoMarkerStreetView!==null){panoMarkerStreetView.remove()}if(streetViewMarkerErrorListener!==null){google.maps.Event.removeListener(streetViewMarkerErrorListener)}google.maps.Event.removeListener(li_extiwc)})})}else{newMapCentre=latlng;var newClusterSize=parseInt(markerdata.clustersize);var liClusterClick=null;if(newClusterSize<=1){liClusterClick=google.maps.Event.addListener(marker,"click",function(){var clusterZoom=geoGoogleMap.getZoom();if(clusterZoom<config_MARKER_CLOSEUP_ZOOM){clusterZoom=config_MARKER_CLOSEUP_ZOOM}else{clusterZoom+=1}geoGoogleMap.setCenter(newMapCentre,clusterZoom);google.maps.Event.removeListener(liClusterClick)})}else{var clusterSw=new google.maps.LatLng(markerdata.southlat,markerdata.westlng);var clusterNe=new google.maps.LatLng(markerdata.northlat,markerdata.eastlng);thisClusterBounds=new google.maps.LatLngBounds(clusterSw,clusterNe);newZoomLevel=geoGoogleMap.getBoundsZoomLevel(thisClusterBounds);liClusterClick=google.maps.Event.addListener(marker,"click",function(){var currentZoom=geoGoogleMap.getZoom();if(newZoomLevel<=currentZoom){newZoomLevel=currentZoom+1}geoGoogleMap.setCenter(newMapCentre,newZoomLevel);google.maps.Event.removeListener(liClusterClick)})}}marker.marker_category="Other";var checkforcategory=typeof(markerdata.category1);if(checkforcategory!=="undefined"){if((markerdata.category1!=="")&&(markerdata.category1!==null)){marker.marker_category=markerdata.category1.replace(/\W/g,"_")}checkforcategory=typeof(markerdata.category2);if(checkforcategory!=="undefined"){if((markerdata.category2!=="")&&(markerdata.category2!==null)){marker.marker_subcategory=markerdata.category2.replace(/\W/g,"_")}}}}return marker}function preRenderSmartMarkers(){return}function postRenderSmartMarkers(){return}function renderSmartMarkers(requiredMarkerId){preRenderSmartMarkers();if(!showMapMarkers){clearSSMarkers(markerArray);return}var bounds=geoGoogleMap.getBounds();var northEast=bounds.getNorthEast();var southWest=bounds.getSouthWest();var curZoomLevel=geoGoogleMap.getZoom();if((current_marker_filter!=="none")&&(requiredMarkerId===null)){if(!restoreMapMarkers){if((current_extended_bounds!==null)){if(current_marker_filter=="inview"){if(current_extended_bounds.containsBounds(bounds)){return}}else{if(current_marker_filter=="clustered"){if((stored_zoom_level==curZoomLevel)&&(current_extended_bounds.containsBounds(bounds))){return}}}}}else{restoreMapMarkers=false}if(curZoomLevel!==config_MARKER_CLOSEUP_ZOOM){geoGoogleMap.closeExtInfoWindow()}var neLat=northEast.lat();var neLng=northEast.lng();var swLat=southWest.lat();var swLng=southWest.lng();var latDiff=neLat-swLat;var lngDiff=null;if(neLng>swLng){lngDiff=neLng-swLng}else{lngDiff=(180-Math.abs(neLng))+(180-Math.abs(swLng))}if(curZoomLevel<config_MARKER_CLOSEUP_ZOOM){extNeLat=neLat+(latDiff/3);extSwLat=swLat-(latDiff/6);extNeLng=Math.min(180,(neLng+(lngDiff/6)));extSwLng=Math.max(-180,(swLng-(lngDiff/6)))}else{extNeLat=neLat+(latDiff/1);extSwLat=swLat-(latDiff/1);extNeLng=Math.min(180,(neLng+(lngDiff/1)));extSwLng=Math.max(-180,(swLng-(lngDiff/1)))}if(extNeLat>90){extNeLat=90}if(extSwLat<-90){extSwLat=-90}if(neLng>swLng){if(extNeLng<extSwLng){extNeLng=neLng;extSwLng=swLng}}else{if(extNeLng>extSwLng){extNeLng=neLng;extSwLng=swLng}}var extNE=new google.maps.LatLng(parseFloat(extNeLat),parseFloat(extNeLng));var extSW=new google.maps.LatLng(parseFloat(extSwLat),parseFloat(extSwLng));current_extended_bounds=new google.maps.LatLngBounds(extSW,extNE);stored_zoom_level=curZoomLevel;northEast=current_extended_bounds.getNorthEast();southWest=current_extended_bounds.getSouthWest()}clearSSMarkers(markerArray);document.getElementById("progressoverlay").style.zIndex="100";var request=google.maps.XmlHttp.create();var cleanURL=unescape(dataRetrieveURL).replace(/&amp;/g,"&");var ch="?";if(cleanURL.indexOf(ch)!=-1){ch="&"}var dataurl=null;if(requiredMarkerId===null){dataurl=cleanURL+ch+"ne="+northEast.toUrlValue()+ch+"sw="+southWest.toUrlValue()}else{dataurl=cleanURL+ch+"required_location_id="+requiredMarkerId}request.open("GET",dataurl,true);request.onreadystatechange=function(){if(request.readyState==4){var dataset=eval("("+request.responseText+")");var header=dataset.header;var allmarkers=dataset.data;current_location_class=header.location_class;current_calling_class=header.calling_class;current_marker_filter=header.filtertype;current_footprint_size=header.footprintsize;switch(current_marker_filter){case"none":current_visible_footprint=0;current_visible_clusters=0;if(current_footprint_size<=config_client_max_markers||!config_useClientSideClusterMgr){for(var i=0;i<allmarkers.length;i++){newmapmarker=createSmartMarker(allmarkers[i]);if(newmapmarker!==null){geoGoogleMap.addOverlay(newmapmarker);if(launchWithoutMarkers){newmapmarker.hide()}markerArray.push(newmapmarker);markerIdHash.set(allmarkers[i].id,i)}}launchWithoutMarkers=false}else{for(i=0;i<allmarkers.length;i++){newmapmarker=createSmartMarker(allmarkers[i]);if(newmapmarker!==null){markerArray.push(newmapmarker);markerIdHash.set(allmarkers[i].id,i)}}if(required_marker_svg||required_cluster_svg){alert("Warning - SVG markers not compatible with client-side clustering and will not render. Please modify configuration")}var mgrOptions={markers:markerArray,clusterMarkerIcon:required_cluster_icon,borderPadding:512,clusterMarkerTitle:"%count locations in this area - click for details",fitMapMaxZoom:12,intersectPadding:8};clientSideClusterMgr=new ClusterMarker(geoGoogleMap,mgrOptions);clientSideClusterMgr.refresh();clientSideClusterMgrActive=true}break;case"inview":current_visible_footprint=header.visiblesize;current_visible_clusters=0;for(i=0;i<allmarkers.length;i++){newmapmarker=createSmartMarker(allmarkers[i]);if(newmapmarker!==null){geoGoogleMap.addOverlay(newmapmarker);if(launchWithoutMarkers){newmapmarker.hide()}markerArray.push(newmapmarker);markerIdHash.set(allmarkers[i].id,i)}launchWithoutMarkers=false}break;case"clustered":current_visible_footprint=header.visiblesize;current_visible_clusters=header.clusteredsize;for(i=0;i<allmarkers.length;i++){newmapmarker=createSmartMarker(allmarkers[i]);if(newmapmarker!==null){geoGoogleMap.addOverlay(newmapmarker);markerArray.push(newmapmarker)}}break;default:alert("Alert - marker filter has not been set");break}if(requiredMarkerId!==null){var targetMarkerIndex=markerIdHash.get(requiredMarkerId);current_extended_bounds=null;streetViewForceActivated=true;google.maps.Event.trigger(markerArray[targetMarkerIndex],"click");streetViewForceActivated=false}if(current_marker_filter!=="clustered"){smartMarkerFilterCategories()}else{smartMarkerRestoreCategories()}document.getElementById("progressoverlay").style.zIndex="-1";postRenderSmartMarkers()}};request.send(null)}function renderSmartMarkerDirect(a){var b=markerIdHash.get(a);if((current_marker_filter!=="clustered")&&(b!==undefined)){if(!clientSideClusterMgrActive){geoGoogleMap.closeExtInfoWindow();google.maps.Event.trigger(markerArray[b],"click")}else{clientSideClusterMgr.triggerClick(b)}}else{geoGoogleMap.closeExtInfoWindow();renderSmartMarkers(a)}}function initializeGeomapperFrontEnd(mapTarget,centreLat,centreLon,startZoom,retrieveURL,nearbyPlaceURL,externalFeedURL,updateURL,startLocation,infoWindowURL){if(google.maps.BrowserIsCompatible()){geoGoogleMap=new google.maps.Map2(document.getElementById(mapTarget));var centreLatLng=new google.maps.LatLng(centreLat,centreLon);if(config_default_geolocated_view){if(google.loader.ClientLocation){centreLatLng=new google.maps.LatLng(google.loader.ClientLocation.latitude,google.loader.ClientLocation.longitude)}}geoGoogleMap.setCenter(centreLatLng,startZoom);geoGoogleMap.getInfoWindow().show();geoGoogleMap.getInfoWindow().hide();document.getElementById(mapTarget).style.backgroundImage="url(/images/logos/geome-apps-large-semi.png)";configSetupMapLogo();configSetupLoadingOverlay();setupMapControllers();configBuildMapModules();constructPolylineOverlays();constructPolygonOverlays();renderRequiredPolylines();renderRequiredPolygons();if(config_info_window_show_tab_directions){initSetupMapDirections()}if(config_constrain_window){constrainPanZoom(config_constrain_window_sw_lat,config_constrain_window_sw_lng,config_constrain_window_ne_lat,config_constrain_window_ne_lng,config_constrain_window_zoom,config_constrain_window_inner_zoom)}else{constrainMapZoom(config_ABSOLUTE_ZOOM_LIMIT)}var checkresult=eval("typeof("+config_marker_individual_name+")");if(checkresult!=="undefined"){required_marker_icon=true;eval(config_marker_individual_name+"=true")}else{required_marker_icon=null;required_marker_svg=true}checkresult=eval("typeof("+config_marker_cluster_name+")");if(checkresult!=="undefined"){required_cluster_icon=true;eval(config_marker_cluster_name+"=true")}else{required_cluster_icon=null;required_cluster_svg=true}setupMarkerIconsFE(required_marker_icon_scaling);if(required_marker_icon){eval("required_marker_icon = "+config_marker_individual_name)}if(required_cluster_icon){checkresult=eval("typeof("+config_marker_cluster_name+"_1)");if(checkresult!=="undefined"){required_cluster_icon_scales=true}if(required_cluster_icon_scales){eval("required_cluster_icon = "+config_marker_cluster_name+"_1")}else{eval("required_cluster_icon = "+config_marker_cluster_name)}}dataRetrieveURL=retrieveURL;dataNearbyPlaceURL=nearbyPlaceURL;dataExternalFeedURL=externalFeedURL;dataUpdateURL=updateURL;infoWindowContentURL=infoWindowURL;if(startLocation){setTimeout("renderSmartMarkerDirect("+startLocation+");",1000)}else{renderSmartMarkers(null)}google.maps.Event.addListener(geoGoogleMap,"moveend",function(){if(current_marker_filter!=="none"){renderSmartMarkers(null)}})}else{alert("Google Maps API not compatible with this browser")}};