var Prototype={Version:"1.7",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/.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"),b=document.createElement("form"),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(){var d=(function(){for(var e in {toString:1}){if(e==="toString"){return false}}return true})();function a(){}function b(){var h=null,g=$A(arguments);if(Object.isFunction(g[0])){h=g.shift()}function e(){this.initialize.apply(this,arguments)}Object.extend(e,Class.Methods);e.superclass=h;e.subclasses=[];if(h){a.prototype=h.prototype;e.prototype=new a;h.subclasses.push(e)}for(var f=0,j=g.length;f<j;f++){e.addMethods(g[f])}if(!e.prototype.initialize){e.prototype.initialize=Prototype.emptyFunction}e.prototype.constructor=e;return e}function c(l){var g=this.superclass&&this.superclass.prototype,f=Object.keys(l);if(d){if(l.toString!=Object.prototype.toString){f.push("toString")}if(l.valueOf!=Object.prototype.valueOf){f.push("valueOf")}}for(var e=0,h=f.length;e<h;e++){var k=f[e],j=l[k];if(g&&Object.isFunction(j)&&j.argumentNames()[0]=="$super"){var m=j;j=(function(n){return function(){return g[n].apply(this,arguments)}})(k).wrap(m);j.valueOf=m.valueOf.bind(m);j.toString=m.toString.bind(m)}this.prototype[k]=j}return this}return{create:b,Methods:{addMethods:c}}})();(function(){var G=Object.prototype.toString,F="Null",p="Undefined",z="Boolean",f="Number",u="String",L="Object",v="[object Function]",C="[object Boolean]",g="[object Number]",m="[object String]",h="[object Array]",B="[object Date]",j=window.JSON&&typeof JSON.stringify==="function"&&JSON.stringify(0)==="0"&&typeof JSON.stringify(Prototype.K)==="undefined";function l(N){switch(N){case null:return F;case (void 0):return p}var M=typeof N;switch(M){case"boolean":return z;case"number":return f;case"string":return u}return L}function D(M,O){for(var N in O){M[N]=O[N]}return M}function K(M){try{if(c(M)){return"undefined"}if(M===null){return"null"}return M.inspect?M.inspect():String(M)}catch(N){if(N instanceof RangeError){return"..."}throw N}}function H(M){return J("",{"":M},[])}function J(V,S,T){var U=S[V],R=typeof U;if(l(U)===L&&typeof U.toJSON==="function"){U=U.toJSON(V)}var O=G.call(U);switch(O){case g:case C:case m:U=U.valueOf()}switch(U){case null:return"null";case true:return"true";case false:return"false"}R=typeof U;switch(R){case"string":return U.inspect(true);case"number":return isFinite(U)?String(U):"null";case"object":for(var N=0,M=T.length;N<M;N++){if(T[N]===U){throw new TypeError()}}T.push(U);var Q=[];if(O===h){for(var N=0,M=U.length;N<M;N++){var P=J(N,U,T);Q.push(typeof P==="undefined"?"null":P)}Q="["+Q.join(",")+"]"}else{var W=Object.keys(U);for(var N=0,M=W.length;N<M;N++){var V=W[N],P=J(V,U,T);if(typeof P!=="undefined"){Q.push(V.inspect(true)+":"+P)}}Q="{"+Q.join(",")+"}"}T.pop();return Q}}function A(M){return JSON.stringify(M)}function k(M){return $H(M).toQueryString()}function q(M){return M&&M.toHTML?M.toHTML():String.interpret(M)}function t(M){if(l(M)!==L){throw new TypeError()}var N=[];for(var O in M){if(M.hasOwnProperty(O)){N.push(O)}}return N}function d(M){var N=[];for(var O in M){N.push(M[O])}return N}function E(M){return D({},M)}function w(M){return !!(M&&M.nodeType==1)}function n(M){return G.call(M)===h}var b=(typeof Array.isArray=="function")&&Array.isArray([])&&!Array.isArray({});if(b){n=Array.isArray}function e(M){return M instanceof Hash}function a(M){return G.call(M)===v}function o(M){return G.call(M)===m}function s(M){return G.call(M)===g}function I(M){return G.call(M)===B}function c(M){return typeof M==="undefined"}D(Object,{extend:D,inspect:K,toJSON:j?A:H,toQueryString:k,toHTML:q,keys:Object.keys||t,values:d,clone:E,isElement:w,isArray:n,isHash:e,isFunction:a,isString:o,isNumber:s,isDate:I,isUndefined:c})})();Object.extend(Function.prototype,(function(){var l=Array.prototype.slice;function d(p,m){var o=p.length,n=m.length;while(n--){p[o+n]=m[n]}return p}function j(n,m){n=l.call(n,0);return d(n,m)}function g(){var m=this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return m.length==1&&!m[0]?[]:m}function h(o){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var m=this,n=l.call(arguments,1);return function(){var p=j(n,arguments);return m.apply(o,p)}}function f(o){var m=this,n=l.call(arguments,1);return function(q){var p=d([q||window.event],n);return m.apply(o,p)}}function k(){if(!arguments.length){return this}var m=this,n=l.call(arguments,0);return function(){var o=j(n,arguments);return m.apply(this,o)}}function e(o){var m=this,n=l.call(arguments,1);o=o*1000;return window.setTimeout(function(){return m.apply(m,n)},o)}function a(){var m=d([0.01],arguments);return this.delay.apply(this,m)}function c(n){var m=this;return function(){var o=d([m.bind(this)],arguments);return n.apply(this,o)}}function b(){if(this._methodized){return this._methodized}var m=this;return this._methodized=function(){var n=d([this],arguments);return m.apply(null,n)}}return{argumentNames:g,bind:h,bindAsEventListener:f,curry:k,delay:e,defer:a,wrap:c,methodize:b}})());(function(c){function b(){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"}function a(){return this.toISOString()}if(!c.toISOString){c.toISOString=b}if(!c.toJSON){c.toJSON=a}})(Date.prototype);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(){var NATIVE_JSON_PARSE_SUPPORT=window.JSON&&typeof JSON.parse==="function"&&JSON.parse('{"test": true}').test;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"),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()),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(){return this.replace(/-+(.)?/g,function(match,chr){return chr?chr.toUpperCase():""})}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 unfilterJSON(filter){return this.replace(filter||Prototype.JSONFilter,"$1")}function isJSON(){var str=this;if(str.blank()){return false}str=str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@");str=str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");str=str.replace(/(?:^|:|,)(?:\s*\[)+/g,"");return(/^[\],:{}\s]*$/).test(str)}function evalJSON(sanitize){var json=this.unfilterJSON(),cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;if(cx.test(json)){json=json.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())}function parseJSON(){var json=this.unfilterJSON();return JSON.parse(json)}function include(pattern){return this.indexOf(pattern)>-1}function startsWith(pattern){return this.lastIndexOf(pattern,0)===0}function endsWith(pattern){var d=this.length-pattern.length;return d>=0&&this.indexOf(pattern,d)===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||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,unfilterJSON:unfilterJSON,isJSON:isJSON,evalJSON:NATIVE_JSON_PARSE_SUPPORT?parseJSON: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],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(C,B){var A=0;try{this._each(function(E){C.call(B,E,A++)})}catch(D){if(D!=$break){throw D}}return this}function t(D,C,B){var A=-D,E=[],F=this.toArray();if(D<1){return F}while((A+=D)<F.length){E.push(F.slice(A,A+D))}return E.collect(C,B)}function b(C,B){C=C||Prototype.K;var A=true;this.each(function(E,D){A=A&&!!C.call(B,E,D);if(!A){throw $break}});return A}function j(C,B){C=C||Prototype.K;var A=false;this.each(function(E,D){if(A=!!C.call(B,E,D)){throw $break}});return A}function k(C,B){C=C||Prototype.K;var A=[];this.each(function(E,D){A.push(C.call(B,E,D))});return A}function v(C,B){var A;this.each(function(E,D){if(C.call(B,E,D)){A=E;throw $break}});return A}function h(C,B){var A=[];this.each(function(E,D){if(C.call(B,E,D)){A.push(E)}});return A}function g(D,C,B){C=C||Prototype.K;var A=[];if(Object.isString(D)){D=new RegExp(RegExp.escape(D))}this.each(function(F,E){if(D.match(F)){A.push(C.call(B,F,E))}});return A}function a(A){if(Object.isFunction(this.indexOf)){if(this.indexOf(A)!=-1){return true}}var B=false;this.each(function(C){if(C==A){B=true;throw $break}});return B}function s(B,A){A=Object.isUndefined(A)?null:A;return this.eachSlice(B,function(C){while(C.length<B){C.push(A)}return C})}function m(A,C,B){this.each(function(E,D){A=C.call(B,A,E,D)});return A}function z(B){var A=$A(arguments).slice(1);return this.map(function(C){return C[B].apply(C,A)})}function q(C,B){C=C||Prototype.K;var A;this.each(function(E,D){E=C.call(B,E,D);if(A==null||E>=A){A=E}});return A}function o(C,B){C=C||Prototype.K;var A;this.each(function(E,D){E=C.call(B,E,D);if(A==null||E<A){A=E}});return A}function e(D,B){D=D||Prototype.K;var C=[],A=[];this.each(function(F,E){(D.call(B,F,E)?C:A).push(F)});return[C,A]}function f(B){var A=[];this.each(function(C){A.push(C[B])});return A}function d(C,B){var A=[];this.each(function(E,D){if(!C.call(B,E,D)){A.push(E)}});return A}function n(B,A){return this.map(function(D,C){return{value:D,criteria:B.call(A,D,C)}}).sort(function(F,E){var D=F.criteria,C=E.criteria;return D<C?-1:D>C?1:0}).pluck("value")}function p(){return this.map()}function u(){var B=Prototype.K,A=$A(arguments);if(Object.isFunction(A.last())){B=A.pop()}var C=[this].concat(A).map($A);return this.map(function(E,D){return B(C.pluck(D))})}function l(){return this.toArray().length}function w(){return"#<Enumerable:"+this.toArray().inspect()+">"}return{each:c,eachSlice:t,all:b,every:b,any:j,some:j,collect:k,map:k,detect:v,findAll:h,select:h,filter:h,grep:g,include:a,member:a,inGroupsOf:s,inject:m,invoke:z,max:q,min:o,partition:e,pluck:f,reject:d,sortBy:n,toArray:p,entries:p,zip:u,size:l,inspect:w,find:v}})();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 t=Array.prototype,n=t.slice,p=t.forEach;function b(A,z){for(var w=0,B=this.length>>>0;w<B;w++){if(w in this){A.call(z,this[w],w,this)}}}if(!p){p=b}function m(){this.length=0;return this}function d(){return this[0]}function g(){return this[this.length-1]}function j(){return this.select(function(w){return w!=null})}function v(){return this.inject([],function(z,w){if(Object.isArray(w)){return z.concat(w.flatten())}z.push(w);return z})}function h(){var w=n.call(arguments,0);return this.select(function(z){return !w.include(z)})}function f(w){return(w===false?this.toArray():this)._reverse()}function l(w){return this.inject([],function(B,A,z){if(0==z||(w?B.last()!=A:!B.include(A))){B.push(A)}return B})}function q(w){return this.uniq().findAll(function(z){return w.detect(function(A){return z===A})})}function s(){return n.call(this,0)}function k(){return this.length}function u(){return"["+this.map(Object.inspect).join(", ")+"]"}function a(A,w){w||(w=0);var z=this.length;if(w<0){w=z+w}for(;w<z;w++){if(this[w]===A){return w}}return -1}function o(z,w){w=isNaN(w)?this.length:(w<0?this.length+w:w)+1;var A=this.slice(0,w).reverse().indexOf(z);return(A<0)?A:w-A-1}function c(){var D=n.call(this,0),B;for(var z=0,A=arguments.length;z<A;z++){B=arguments[z];if(Object.isArray(B)&&!("callee" in B)){for(var w=0,C=B.length;w<C;w++){D.push(B[w])}}else{D.push(B)}}return D}Object.extend(t,Enumerable);if(!t._reverse){t._reverse=t.reverse}Object.extend(t,{_each:p,clear:m,first:d,last:g,compact:j,flatten:v,without:h,reverse:f,uniq:l,intersect:q,clone:s,toArray:s,size:k,inspect:u});var e=(function(){return[].concat(arguments)[0][0]!==1})(1,2);if(e){t.concat=c}if(!t.indexOf){t.indexOf=a}if(!t.lastIndexOf){t.lastIndexOf=o}})();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(s){for(var q in this._object){var t=this._object[q],u=[q,t];u.key=q;u.value=t;s(u)}}function k(q,s){return this._object[q]=s}function c(q){if(this._object[q]!==Object.prototype[q]){return this._object[q]}}function n(q){var s=this._object[q];delete this._object[q];return s}function p(){return Object.clone(this._object)}function o(){return this.pluck("key")}function m(){return this.pluck("value")}function g(s){var q=this.detect(function(t){return t.value===s});return q&&q.key}function j(q){return this.clone().update(q)}function d(q){return new Hash(q).inject(this,function(s,t){s.set(t.key,t.value);return s})}function b(q,s){if(Object.isUndefined(s)){return q}return q+"="+encodeURIComponent(String.interpret(s))}function a(){return this.inject([],function(v,A){var u=encodeURIComponent(A.key),s=A.value;if(s&&typeof s=="object"){if(Object.isArray(s)){var z=[];for(var t=0,q=s.length,w;t<q;t++){w=s[t];z.push(b(u,w))}return v.concat(z)}}else{v.push(b(u,s))}return v}).join("&")}function l(){return"#<Hash:{"+this.map(function(q){return q.map(Object.inspect).join(": ")}).join(", ")+"}>"}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:j,update:d,toQueryString:a,inspect:l,toJSON:p,clone:h}})());Hash.from=$H;Object.extend(Number.prototype,(function(){function d(){return this.toPaddedString(2,16)}function b(){return this+1}function h(k,j){$R(0,this,true).each(k,j);return this}function g(l,k){var j=this.toString(k||10);return"0".times(l-j.length)+j}function a(){return Math.abs(this)}function c(){return Math.round(this)}function e(){return Math.ceil(this)}function f(){return Math.floor(this)}return{toColorPart:d,succ:b,times:h,toPaddedString:g,abs:a,round:c,ceil:e,floor:f}})());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.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.isString(this.options.parameters)?this.options.parameters:Object.toQueryString(this.options.parameters);if(!["get","post"].include(this.method)){d+=(d?"&":"")+"_method="+this.method;this.method="post"}if(d&&this.method==="get"){this.url+=(this.url.include("?")?"&":"?")+d}this.parameters=d.toQueryParams();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)||a==304},getStatus:function(){try{if(this.transport.status===1223){return 204}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(!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){function d(f,e){if(f==="select"){return false}if("type" in e){return false}return true}var b=(function(){try{var e=document.createElement('<input name="x">');return e.tagName.toLowerCase()==="input"&&e.name==="x"}catch(f){return false}})();var a=c.Element;c.Element=function(g,f){f=f||{};g=g.toLowerCase();var e=Element.cache;if(b&&f.name){g="<"+g+' name="'+f.name+'">';delete f.name;return Element.writeAttribute(document.createElement(g),f)}if(!e[g]){e[g]=Element.extend(document.createElement(g))}var h=d(g,f)?e[g].cloneNode(false):document.createElement(g);return Element.writeAttribute(h,f)};Object.extend(c.Element,a||{});if(a){c.Element.prototype=a.prototype}})(this);Element.idCounter=1;Element.cache={};Element._purgeElement=function(b){var a=b._prototypeUID;if(a){Element.stopObserving(b);b._prototypeUID=void 0;delete Element.Storage[a]}};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 d=(function(){var g=document.createElement("select"),h=true;g.innerHTML='<option value="test">test</option>';if(g.options&&g.options[0]){h=g.options[0].nodeName.toUpperCase()!=="OPTION"}g=null;return h})();var b=(function(){try{var g=document.createElement("table");if(g&&g.tBodies){g.innerHTML="<tbody><tr><td>test</td></tr></tbody>";var j=typeof g.tBodies[0]=="undefined";g=null;return j}}catch(h){return true}})();var a=(function(){try{var g=document.createElement("div");g.innerHTML="<link>";var j=(g.childNodes.length===0);g=null;return j}catch(h){return true}})();var c=d||b||a;var f=(function(){var g=document.createElement("script"),j=false;try{g.appendChild(document.createTextNode(""));j=!g.firstChild||g.firstChild&&g.firstChild.nodeType!==3}catch(h){j=true}g=null;return j})();function e(l,m){l=$(l);var g=Element._purgeElement;var n=l.getElementsByTagName("*"),k=n.length;while(k--){g(n[k])}if(m&&m.toElement){m=m.toElement()}if(Object.isElement(m)){return l.update().insert(m)}m=Object.toHTML(m);var j=l.tagName.toUpperCase();if(j==="SCRIPT"&&f){l.text=m;return l}if(c){if(j in Element._insertionTranslations.tags){while(l.firstChild){l.removeChild(l.firstChild)}Element._getContentFromAnonymousElement(j,m.stripScripts()).each(function(o){l.appendChild(o)})}else{if(a&&Object.isString(m)&&m.indexOf("<link")>-1){while(l.firstChild){l.removeChild(l.firstChild)}var h=Element._getContentFromAnonymousElement(j,m.stripScripts(),true);h.each(function(o){l.appendChild(o)})}else{l.innerHTML=m.stripScripts()}}}else{l.innerHTML=m.stripScripts()}m.evalScripts.bind(m).defer();return l}return e})(),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(),d=(b[e]||"").toString();if(d){a+=" "+c+"="+d.inspect(true)}});return a+">"},recursivelyCollect:function(a,c,d){a=$(a);d=d||-1;var b=[];while(a=a[c]){if(a.nodeType==1){b.push(Element.extend(a))}if(b.length==d){break}}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(b){var a=[],c=$(b).firstChild;while(c){if(c.nodeType===1){a.push(Element.extend(c))}c=c.nextSibling}return a},previousSiblings:function(a,b){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){b=$(b);if(Object.isString(a)){return Prototype.Selector.match(b,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]:Prototype.Selector.find(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,c,a){b=$(b);if(Object.isNumber(c)){a=c,c=false}if(!Object.isNumber(a)){a=0}if(c){return Prototype.Selector.find(b.previousSiblings(),c,a)}else{return b.recursivelyCollect("previousSibling",a+1)[a]}},next:function(b,d,a){b=$(b);if(Object.isNumber(d)){a=d,d=false}if(!Object.isNumber(a)){a=0}if(d){return Prototype.Selector.find(b.nextSiblings(),d,a)}else{var c=Object.isNumber(a)?a+1:1;return b.recursivelyCollect("nextSibling",a+1)[a]}},select:function(a){a=$(a);var b=Array.prototype.slice.call(arguments,1).join(", ");return Prototype.Selector.select(b,a)},adjacent:function(a){a=$(a);var b=Array.prototype.slice.call(arguments,1).join(", ");return Prototype.Selector.select(b,a.parentNode).without(a)},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},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},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),f=[0,0],c=null;b=$(b);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"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.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",a="for",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"),g;d.onclick=Prototype.emptyFunction;var e=d.getAttribute("onclick");if(String(e).indexOf("{")>-1){g=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(e===""){g=function(f,h){h=f.getAttribute(h);if(!h){return null}return h.strip()}}}d=null;return g})(),_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}}}}}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(),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(e,d,f){var g=new Element("div"),c=Element._insertionTranslations.tags[e];var a=false;if(c){a=true}else{if(f){a=true;c=["","",0]}}if(a){g.innerHTML="&nbsp;"+c[0]+d+c[1];g.removeChild(g.firstChild);for(var b=c[2];b--;){g=g.firstChild}}else{g.innerHTML=d}return $A(g.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 j=window.Element.prototype;if(j){var l="_"+(Math.random()+"").slice(2),h=document.createElement(g);j[l]="x";var k=(h[l]!=="x");delete j[l];h=null;return k}}return false}function b(h,g){for(var k in g){var j=g[k];if(Object.isFunction(j)&&!(k in h)){h[k]=j.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(j){if(!j||typeof j._extendedByPrototype!="undefined"||j.nodeType!=1||j==window){return j}var g=Object.clone(a),h=j.tagName.toUpperCase();if(e[h]){Object.extend(g,e[h])}b(j,g);j._extendedByPrototype=Prototype.emptyFunction;return j},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(a,Element.Methods);Object.extend(a,Element.Methods.Simulated)}}});f.refresh();return f})();if(document.documentElement.hasAttribute){Element.hasAttribute=function(a,b){return a.hasAttribute(b)}}else{Element.hasAttribute=Element.Methods.Simulated.hasAttribute}Element.addMethods=function(c){var j=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),BUTTON:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var b=c;c=arguments[1]}if(!b){Object.extend(Element.Methods,c||{})}else{if(Object.isArray(b)){b.each(g)}else{g(b)}}function g(l){l=l.toUpperCase();if(!Element.Methods.ByTag[l]){Element.Methods.ByTag[l]={}}Object.extend(Element.Methods.ByTag[l],c)}function a(n,m,l){l=l||false;for(var p in n){var o=n[p];if(!Object.isFunction(o)){continue}if(!l||!(p in m)){m[p]=o.methodize()}}}function e(o){var l;var n={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(n[o]){l="HTML"+n[o]+"Element"}if(window[l]){return window[l]}l="HTML"+o+"Element";if(window[l]){return window[l]}l="HTML"+o.capitalize()+"Element";if(window[l]){return window[l]}var m=document.createElement(o),p=m.__proto__||m.constructor.prototype;m=null;return p}var h=window.HTMLElement?HTMLElement.prototype:Element.prototype;if(j.ElementExtensions){a(Element.Methods,h);a(Element.Methods.Simulated,h,true)}if(j.SpecificElementExtensions){for(var k in Element.Methods.ByTag){var f=e(k);if(Object.isUndefined(f)){continue}a(d[k],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}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)},purge:function(c){if(!(c=$(c))){return}var a=Element._purgeElement;a(c);var d=c.getElementsByTagName("*"),b=d.length;while(b--){a(d[b])}return null}});(function(){function h(z){var w=z.match(/^(\d+)%?$/i);if(!w){return null}return(Number(w[1])/100)}function p(J,K,z){var C=null;if(Object.isElement(J)){C=J;J=C.getStyle(K)}if(J===null){return null}if((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(J)){return window.parseFloat(J)}var E=J.include("%"),A=(z===document.viewport);if(/\d/.test(J)&&C&&C.runtimeStyle&&!(E&&A)){var w=C.style.left,I=C.runtimeStyle.left;C.runtimeStyle.left=C.currentStyle.left;C.style.left=J||0;J=C.style.pixelLeft;C.style.left=w;C.runtimeStyle.left=I;return J}if(C&&E){z=z||C.parentNode;var B=h(J);var F=null;var D=C.getStyle("position");var H=K.include("left")||K.include("right")||K.include("width");var G=K.include("top")||K.include("bottom")||K.include("height");if(z===document.viewport){if(H){F=document.viewport.getWidth()}else{if(G){F=document.viewport.getHeight()}}}else{if(H){F=$(z).measure("width")}else{if(G){F=$(z).measure("height")}}}return(F===null)?0:F*B}return 0}function g(w){if(Object.isString(w)&&w.endsWith("px")){return w}return w+"px"}function k(z){var w=z;while(z&&z.parentNode){var A=z.getStyle("display");if(A==="none"){return false}z=$(z.parentNode)}return true}var d=Prototype.K;if("currentStyle" in document.documentElement){d=function(w){if(!w.currentStyle.hasLayout){w.style.zoom=1}return w}}function f(w){if(w.include("border")){w=w+"-width"}return w.camelize()}Element.Layout=Class.create(Hash,{initialize:function($super,z,w){$super();this.element=$(z);Element.Layout.PROPERTIES.each(function(A){this._set(A,null)},this);if(w){this._preComputing=true;this._begin();Element.Layout.PROPERTIES.each(this._compute,this);this._end();this._preComputing=false}},_set:function(z,w){return Hash.prototype.set.call(this,z,w)},set:function(z,w){throw"Properties of Element.Layout are read-only."},get:function($super,z){var w=$super(z);return w===null?this._compute(z):w},_begin:function(){if(this._prepared){return}var C=this.element;if(k(C)){this._prepared=true;return}var E={position:C.style.position||"",width:C.style.width||"",visibility:C.style.visibility||"",display:C.style.display||""};C.store("prototype_original_styles",E);var F=C.getStyle("position"),w=C.getStyle("width");if(w==="0px"||w===null){C.style.display="block";w=C.getStyle("width")}var z=(F==="fixed")?document.viewport:C.parentNode;C.setStyle({position:"absolute",visibility:"hidden",display:"block"});var A=C.getStyle("width");var B;if(w&&(A===w)){B=p(C,"width",z)}else{if(F==="absolute"||F==="fixed"){B=p(C,"width",z)}else{var G=C.parentNode,D=$(G).getLayout();B=D.get("width")-this.get("margin-left")-this.get("border-left")-this.get("padding-left")-this.get("padding-right")-this.get("border-right")-this.get("margin-right")}}C.setStyle({width:B+"px"});this._prepared=true},_end:function(){var z=this.element;var w=z.retrieve("prototype_original_styles");z.store("prototype_original_styles",null);z.setStyle(w);this._prepared=false},_compute:function(z){var w=Element.Layout.COMPUTATIONS;if(!(z in w)){throw"Property not found."}return this._set(z,w[z].call(this,this.element))},toObject:function(){var w=$A(arguments);var z=(w.length===0)?Element.Layout.PROPERTIES:w.join(" ").split(" ");var A={};z.each(function(B){if(!Element.Layout.PROPERTIES.include(B)){return}var C=this.get(B);if(C!=null){A[B]=C}},this);return A},toHash:function(){var w=this.toObject.apply(this,arguments);return new Hash(w)},toCSS:function(){var w=$A(arguments);var A=(w.length===0)?Element.Layout.PROPERTIES:w.join(" ").split(" ");var z={};A.each(function(B){if(!Element.Layout.PROPERTIES.include(B)){return}if(Element.Layout.COMPOSITE_PROPERTIES.include(B)){return}var C=this.get(B);if(C!=null){z[f(B)]=C+"px"}},this);return z},inspect:function(){return"#<Element.Layout>"}});Object.extend(Element.Layout,{PROPERTIES:$w("height width top left right bottom border-left border-right border-top border-bottom padding-left padding-right padding-top padding-bottom margin-top margin-bottom margin-left margin-right padding-box-width padding-box-height border-box-width border-box-height margin-box-width margin-box-height"),COMPOSITE_PROPERTIES:$w("padding-box-width padding-box-height margin-box-width margin-box-height border-box-width border-box-height"),COMPUTATIONS:{height:function(A){if(!this._preComputing){this._begin()}var w=this.get("border-box-height");if(w<=0){if(!this._preComputing){this._end()}return 0}var B=this.get("border-top"),z=this.get("border-bottom");var D=this.get("padding-top"),C=this.get("padding-bottom");if(!this._preComputing){this._end()}return w-B-z-D-C},width:function(A){if(!this._preComputing){this._begin()}var z=this.get("border-box-width");if(z<=0){if(!this._preComputing){this._end()}return 0}var D=this.get("border-left"),w=this.get("border-right");var B=this.get("padding-left"),C=this.get("padding-right");if(!this._preComputing){this._end()}return z-D-w-B-C},"padding-box-height":function(z){var w=this.get("height"),B=this.get("padding-top"),A=this.get("padding-bottom");return w+B+A},"padding-box-width":function(w){var z=this.get("width"),A=this.get("padding-left"),B=this.get("padding-right");return z+A+B},"border-box-height":function(z){if(!this._preComputing){this._begin()}var w=z.offsetHeight;if(!this._preComputing){this._end()}return w},"border-box-width":function(w){if(!this._preComputing){this._begin()}var z=w.offsetWidth;if(!this._preComputing){this._end()}return z},"margin-box-height":function(z){var w=this.get("border-box-height"),A=this.get("margin-top"),B=this.get("margin-bottom");if(w<=0){return 0}return w+A+B},"margin-box-width":function(A){var z=this.get("border-box-width"),B=this.get("margin-left"),w=this.get("margin-right");if(z<=0){return 0}return z+B+w},top:function(w){var z=w.positionedOffset();return z.top},bottom:function(w){var B=w.positionedOffset(),z=w.getOffsetParent(),A=z.measure("height");var C=this.get("border-box-height");return A-C-B.top},left:function(w){var z=w.positionedOffset();return z.left},right:function(A){var C=A.positionedOffset(),B=A.getOffsetParent(),w=B.measure("width");var z=this.get("border-box-width");return w-z-C.left},"padding-top":function(w){return p(w,"paddingTop")},"padding-bottom":function(w){return p(w,"paddingBottom")},"padding-left":function(w){return p(w,"paddingLeft")},"padding-right":function(w){return p(w,"paddingRight")},"border-top":function(w){return p(w,"borderTopWidth")},"border-bottom":function(w){return p(w,"borderBottomWidth")},"border-left":function(w){return p(w,"borderLeftWidth")},"border-right":function(w){return p(w,"borderRightWidth")},"margin-top":function(w){return p(w,"marginTop")},"margin-bottom":function(w){return p(w,"marginBottom")},"margin-left":function(w){return p(w,"marginLeft")},"margin-right":function(w){return p(w,"marginRight")}}});if("getBoundingClientRect" in document.documentElement){Object.extend(Element.Layout.COMPUTATIONS,{right:function(z){var A=d(z.getOffsetParent());var B=z.getBoundingClientRect(),w=A.getBoundingClientRect();return(w.right-B.right).round()},bottom:function(z){var A=d(z.getOffsetParent());var B=z.getBoundingClientRect(),w=A.getBoundingClientRect();return(w.bottom-B.bottom).round()}})}Element.Offset=Class.create({initialize:function(z,w){this.left=z.round();this.top=w.round();this[0]=this.left;this[1]=this.top},relativeTo:function(w){return new Element.Offset(this.left-w.left,this.top-w.top)},inspect:function(){return"#<Element.Offset left: #{left} top: #{top}>".interpolate(this)},toString:function(){return"[#{left}, #{top}]".interpolate(this)},toArray:function(){return[this.left,this.top]}});function t(z,w){return new Element.Layout(z,w)}function b(w,z){return $(w).getLayout().get(z)}function o(z){z=$(z);var D=Element.getStyle(z,"display");if(D&&D!=="none"){return{width:z.offsetWidth,height:z.offsetHeight}}var A=z.style;var w={visibility:A.visibility,position:A.position,display:A.display};var C={visibility:"hidden",display:"block"};if(w.position!=="fixed"){C.position="absolute"}Element.setStyle(z,C);var B={width:z.offsetWidth,height:z.offsetHeight};Element.setStyle(z,w);return B}function m(w){w=$(w);if(e(w)||c(w)||n(w)||l(w)){return $(document.body)}var z=(Element.getStyle(w,"display")==="inline");if(!z&&w.offsetParent){return $(w.offsetParent)}while((w=w.parentNode)&&w!==document.body){if(Element.getStyle(w,"position")!=="static"){return l(w)?$(document.body):$(w)}}return $(document.body)}function v(z){z=$(z);var w=0,A=0;if(z.parentNode){do{w+=z.offsetTop||0;A+=z.offsetLeft||0;z=z.offsetParent}while(z)}return new Element.Offset(A,w)}function q(z){z=$(z);var A=z.getLayout();var w=0,C=0;do{w+=z.offsetTop||0;C+=z.offsetLeft||0;z=z.offsetParent;if(z){if(n(z)){break}var B=Element.getStyle(z,"position");if(B!=="static"){break}}}while(z);C-=A.get("margin-top");w-=A.get("margin-left");return new Element.Offset(C,w)}function a(z){var w=0,A=0;do{w+=z.scrollTop||0;A+=z.scrollLeft||0;z=z.parentNode}while(z);return new Element.Offset(A,w)}function u(C){z=$(z);var w=0,B=0,A=document.body;var z=C;do{w+=z.offsetTop||0;B+=z.offsetLeft||0;if(z.offsetParent==A&&Element.getStyle(z,"position")=="absolute"){break}}while(z=z.offsetParent);z=C;do{if(z!=A){w-=z.scrollTop||0;B-=z.scrollLeft||0}}while(z=z.parentNode);return new Element.Offset(B,w)}function s(w){w=$(w);if(Element.getStyle(w,"position")==="absolute"){return w}var C=m(w);var B=w.viewportOffset(),z=C.viewportOffset();var D=B.relativeTo(z);var A=w.getLayout();w.store("prototype_absolutize_original_styles",{left:w.getStyle("left"),top:w.getStyle("top"),width:w.getStyle("width"),height:w.getStyle("height")});w.setStyle({position:"absolute",top:D.top+"px",left:D.left+"px",width:A.get("width")+"px",height:A.get("height")+"px"});return w}function j(z){z=$(z);if(Element.getStyle(z,"position")==="relative"){return z}var w=z.retrieve("prototype_absolutize_original_styles");if(w){z.setStyle(w)}return z}if(Prototype.Browser.IE){m=m.wrap(function(A,z){z=$(z);if(e(z)||c(z)||n(z)||l(z)){return $(document.body)}var w=z.getStyle("position");if(w!=="static"){return A(z)}z.setStyle({position:"relative"});var B=A(z);z.setStyle({position:w});return B});q=q.wrap(function(B,z){z=$(z);if(!z.parentNode){return new Element.Offset(0,0)}var w=z.getStyle("position");if(w!=="static"){return B(z)}var A=z.getOffsetParent();if(A&&A.getStyle("position")==="fixed"){d(A)}z.setStyle({position:"relative"});var C=B(z);z.setStyle({position:w});return C})}else{if(Prototype.Browser.Webkit){v=function(z){z=$(z);var w=0,A=0;do{w+=z.offsetTop||0;A+=z.offsetLeft||0;if(z.offsetParent==document.body){if(Element.getStyle(z,"position")=="absolute"){break}}z=z.offsetParent}while(z);return new Element.Offset(A,w)}}}Element.addMethods({getLayout:t,measure:b,getDimensions:o,getOffsetParent:m,cumulativeOffset:v,positionedOffset:q,cumulativeScrollOffset:a,viewportOffset:u,absolutize:s,relativize:j});function n(w){return w.nodeName.toUpperCase()==="BODY"}function l(w){return w.nodeName.toUpperCase()==="HTML"}function e(w){return w.nodeType===Node.DOCUMENT_NODE}function c(w){return w!==document.body&&!Element.descendantOf(w,document.body)}if("getBoundingClientRect" in document.documentElement){Element.addMethods({viewportOffset:function(w){w=$(w);if(c(w)){return new Element.Offset(0,0)}var z=w.getBoundingClientRect(),A=document.documentElement;return new Element.Offset(z.left-A.clientLeft,z.top-A.clientTop)}})}})();window.$$=function(){var a=$A(arguments).join(", ");return Prototype.Selector.select(a,document)};Prototype.Selector=(function(){function a(){throw new Error('Method "Prototype.Selector.select" must be defined.')}function c(){throw new Error('Method "Prototype.Selector.match" must be defined.')}function d(l,m,h){h=h||0;var g=Prototype.Selector.match,k=l.length,f=0,j;for(j=0;j<k;j++){if(g(l[j],m)&&h==f++){return Element.extend(l[j])}}}function e(h){for(var f=0,g=h.length;f<g;f++){Element.extend(h[f])}return h}var b=Prototype.K;return{select:a,match:c,find:d,extendElements:(Element.extend===b)?b:e,extendElement:Element.extend}})();Prototype._original_property=window.Sizzle;
/*
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var s=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,k=0,d=Object.prototype.toString,p=false,j=true;[0,0].sort(function(){j=false;return 0});var b=function(I,w,F,A){F=F||[];var e=w=w||document;if(w.nodeType!==1&&w.nodeType!==9){return[]}if(!I||typeof I!=="string"){return F}var G=[],H,D,M,L,E,v,u=true,B=q(w),K=I;while((s.exec(""),H=s.exec(K))!==null){K=H[3];G.push(H[1]);if(H[2]){v=H[3];break}}if(G.length>1&&l.exec(I)){if(G.length===2&&f.relative[G[0]]){D=g(G[0]+G[1],w)}else{D=f.relative[G[0]]?[w]:b(G.shift(),w);while(G.length){I=G.shift();if(f.relative[I]){I+=G.shift()}D=g(I,D)}}}else{if(!A&&G.length>1&&w.nodeType===9&&!B&&f.match.ID.test(G[0])&&!f.match.ID.test(G[G.length-1])){var N=b.find(G.shift(),w,B);w=N.expr?b.filter(N.expr,N.set)[0]:N.set[0]}if(w){var N=A?{expr:G.pop(),set:a(A)}:b.find(G.pop(),G.length===1&&(G[0]==="~"||G[0]==="+")&&w.parentNode?w.parentNode:w,B);D=N.expr?b.filter(N.expr,N.set):N.set;if(G.length>0){M=a(D)}else{u=false}while(G.length){var z=G.pop(),C=z;if(!f.relative[z]){z=""}else{C=G.pop()}if(C==null){C=w}f.relative[z](M,C,B)}}else{M=G=[]}}if(!M){M=D}if(!M){throw"Syntax error, unrecognized expression: "+(z||I)}if(d.call(M)==="[object Array]"){if(!u){F.push.apply(F,M)}else{if(w&&w.nodeType===1){for(var J=0;M[J]!=null;J++){if(M[J]&&(M[J]===true||M[J].nodeType===1&&h(w,M[J]))){F.push(D[J])}}}else{for(var J=0;M[J]!=null;J++){if(M[J]&&M[J].nodeType===1){F.push(D[J])}}}}}else{a(M,F)}if(v){b(v,e,F,A);b.uniqueSort(F)}return F};b.uniqueSort=function(u){if(c){p=j;u.sort(c);if(p){for(var e=1;e<u.length;e++){if(u[e]===u[e-1]){u.splice(e--,1)}}}}return u};b.matches=function(e,u){return b(e,null,null,u)};b.find=function(C,e,D){var B,z;if(!C){return[]}for(var w=0,v=f.order.length;w<v;w++){var A=f.order[w],z;if((z=f.leftMatch[A].exec(C))){var u=z[1];z.splice(1,1);if(u.substr(u.length-1)!=="\\"){z[1]=(z[1]||"").replace(/\\/g,"");B=f.find[A](z,e,D);if(B!=null){C=C.replace(f.match[A],"");break}}}}if(!B){B=e.getElementsByTagName("*")}return{set:B,expr:C}};b.filter=function(F,E,I,w){var v=F,K=[],C=E,A,e,B=E&&E[0]&&q(E[0]);while(F&&E.length){for(var D in f.filter){if((A=f.match[D].exec(F))!=null){var u=f.filter[D],J,H;e=false;if(C==K){K=[]}if(f.preFilter[D]){A=f.preFilter[D](A,C,I,K,w,B);if(!A){e=J=true}else{if(A===true){continue}}}if(A){for(var z=0;(H=C[z])!=null;z++){if(H){J=u(H,A,z,C);var G=w^!!J;if(I&&J!=null){if(G){e=true}else{C[z]=false}}else{if(G){K.push(H);e=true}}}}}if(J!==undefined){if(!I){C=K}F=F.replace(f.match[D],"");if(!e){return[]}break}}}if(F==v){if(e==null){throw"Syntax error, unrecognized expression: "+F}else{break}}v=F}return C};var f=b.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(C,e,B){var z=typeof e==="string",D=z&&!/\W/.test(e),A=z&&!D;if(D&&!B){e=e.toUpperCase()}for(var w=0,v=C.length,u;w<v;w++){if((u=C[w])){while((u=u.previousSibling)&&u.nodeType!==1){}C[w]=A||u&&u.nodeName===e?u||false:u===e}}if(A){b.filter(e,C,true)}},">":function(B,u,C){var z=typeof u==="string";if(z&&!/\W/.test(u)){u=C?u:u.toUpperCase();for(var v=0,e=B.length;v<e;v++){var A=B[v];if(A){var w=A.parentNode;B[v]=w.nodeName===u?w:false}}}else{for(var v=0,e=B.length;v<e;v++){var A=B[v];if(A){B[v]=z?A.parentNode:A.parentNode===u}}if(z){b.filter(u,B,true)}}},"":function(w,u,A){var v=k++,e=t;if(!/\W/.test(u)){var z=u=A?u:u.toUpperCase();e=o}e("parentNode",u,v,w,z,A)},"~":function(w,u,A){var v=k++,e=t;if(typeof u==="string"&&!/\W/.test(u)){var z=u=A?u:u.toUpperCase();e=o}e("previousSibling",u,v,w,z,A)}},find:{ID:function(u,v,w){if(typeof v.getElementById!=="undefined"&&!w){var e=v.getElementById(u[1]);return e?[e]:[]}},NAME:function(v,A,B){if(typeof A.getElementsByName!=="undefined"){var u=[],z=A.getElementsByName(v[1]);for(var w=0,e=z.length;w<e;w++){if(z[w].getAttribute("name")===v[1]){u.push(z[w])}}return u.length===0?null:u}},TAG:function(e,u){return u.getElementsByTagName(e[1])}},preFilter:{CLASS:function(w,u,v,e,B,C){w=" "+w[1].replace(/\\/g,"")+" ";if(C){return w}for(var z=0,A;(A=u[z])!=null;z++){if(A){if(B^(A.className&&(" "+A.className+" ").indexOf(w)>=0)){if(!v){e.push(A)}}else{if(v){u[z]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(u,e){for(var v=0;e[v]===false;v++){}return e[v]&&q(e[v])?u[1]:u[1].toUpperCase()},CHILD:function(e){if(e[1]=="nth"){var u=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]=="even"&&"2n"||e[2]=="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(u[1]+(u[2]||1))-0;e[3]=u[3]-0}e[0]=k++;return e},ATTR:function(z,u,v,e,A,B){var w=z[1].replace(/\\/g,"");if(!B&&f.attrMap[w]){z[1]=f.attrMap[w]}if(z[2]==="~="){z[4]=" "+z[4]+" "}return z},PSEUDO:function(z,u,v,e,A){if(z[1]==="not"){if((s.exec(z[3])||"").length>1||/^\w/.test(z[3])){z[3]=b(z[3],null,null,u)}else{var w=b.filter(z[3],u,v,true^A);if(!v){e.push.apply(e,w)}return false}}else{if(f.match.POS.test(z[0])||f.match.CHILD.test(z[0])){return true}}return z},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(v,u,e){return !!b(e[3],v).length},header:function(e){return/h\d/i.test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toUpperCase()==="BUTTON"},input:function(e){return/input|select|textarea|button/i.test(e.nodeName)}},setFilters:{first:function(u,e){return e===0},last:function(v,u,e,w){return u===w.length-1},even:function(u,e){return e%2===0},odd:function(u,e){return e%2===1},lt:function(v,u,e){return u<e[3]-0},gt:function(v,u,e){return u>e[3]-0},nth:function(v,u,e){return e[3]-0==u},eq:function(v,u,e){return e[3]-0==u}},filter:{PSEUDO:function(B,v,w,C){var u=v[1],z=f.filters[u];if(z){return z(B,w,v,C)}else{if(u==="contains"){return(B.textContent||B.innerText||"").indexOf(v[3])>=0}else{if(u==="not"){var A=v[3];for(var w=0,e=A.length;w<e;w++){if(A[w]===B){return false}}return true}}}},CHILD:function(e,w){var B=w[1],u=e;switch(B){case"only":case"first":while((u=u.previousSibling)){if(u.nodeType===1){return false}}if(B=="first"){return true}u=e;case"last":while((u=u.nextSibling)){if(u.nodeType===1){return false}}return true;case"nth":var v=w[2],E=w[3];if(v==1&&E==0){return true}var A=w[0],D=e.parentNode;if(D&&(D.sizcache!==A||!e.nodeIndex)){var z=0;for(u=D.firstChild;u;u=u.nextSibling){if(u.nodeType===1){u.nodeIndex=++z}}D.sizcache=A}var C=e.nodeIndex-E;if(v==0){return C==0}else{return(C%v==0&&C/v>=0)}}},ID:function(u,e){return u.nodeType===1&&u.getAttribute("id")===e},TAG:function(u,e){return(e==="*"&&u.nodeType===1)||u.nodeName===e},CLASS:function(u,e){return(" "+(u.className||u.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(A,w){var v=w[1],e=f.attrHandle[v]?f.attrHandle[v](A):A[v]!=null?A[v]:A.getAttribute(v),B=e+"",z=w[2],u=w[4];return e==null?z==="!=":z==="="?B===u:z==="*="?B.indexOf(u)>=0:z==="~="?(" "+B+" ").indexOf(u)>=0:!u?B&&e!==false:z==="!="?B!=u:z==="^="?B.indexOf(u)===0:z==="$="?B.substr(B.length-u.length)===u:z==="|="?B===u||B.substr(0,u.length+1)===u+"-":false},POS:function(z,u,v,A){var e=u[2],w=f.setFilters[e];if(w){return w(z,v,u,A)}}}};var l=f.match.POS;for(var n in f.match){f.match[n]=new RegExp(f.match[n].source+/(?![^\[]*\])(?![^\(]*\))/.source);f.leftMatch[n]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[n].source)}var a=function(u,e){u=Array.prototype.slice.call(u,0);if(e){e.push.apply(e,u);return e}return u};try{Array.prototype.slice.call(document.documentElement.childNodes,0)}catch(m){a=function(z,w){var u=w||[];if(d.call(z)==="[object Array]"){Array.prototype.push.apply(u,z)}else{if(typeof z.length==="number"){for(var v=0,e=z.length;v<e;v++){u.push(z[v])}}else{for(var v=0;z[v];v++){u.push(z[v])}}}return u}}var c;if(document.documentElement.compareDocumentPosition){c=function(u,e){if(!u.compareDocumentPosition||!e.compareDocumentPosition){if(u==e){p=true}return 0}var v=u.compareDocumentPosition(e)&4?-1:u===e?0:1;if(v===0){p=true}return v}}else{if("sourceIndex" in document.documentElement){c=function(u,e){if(!u.sourceIndex||!e.sourceIndex){if(u==e){p=true}return 0}var v=u.sourceIndex-e.sourceIndex;if(v===0){p=true}return v}}else{if(document.createRange){c=function(w,u){if(!w.ownerDocument||!u.ownerDocument){if(w==u){p=true}return 0}var v=w.ownerDocument.createRange(),e=u.ownerDocument.createRange();v.setStart(w,0);v.setEnd(w,0);e.setStart(u,0);e.setEnd(u,0);var z=v.compareBoundaryPoints(Range.START_TO_END,e);if(z===0){p=true}return z}}}}(function(){var u=document.createElement("div"),v="script"+(new Date).getTime();u.innerHTML="<a name='"+v+"'/>";var e=document.documentElement;e.insertBefore(u,e.firstChild);if(!!document.getElementById(v)){f.find.ID=function(z,A,B){if(typeof A.getElementById!=="undefined"&&!B){var w=A.getElementById(z[1]);return w?w.id===z[1]||typeof w.getAttributeNode!=="undefined"&&w.getAttributeNode("id").nodeValue===z[1]?[w]:undefined:[]}};f.filter.ID=function(A,w){var z=typeof A.getAttributeNode!=="undefined"&&A.getAttributeNode("id");return A.nodeType===1&&z&&z.nodeValue===w}}e.removeChild(u);e=u=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(u,A){var z=A.getElementsByTagName(u[1]);if(u[1]==="*"){var w=[];for(var v=0;z[v];v++){if(z[v].nodeType===1){w.push(z[v])}}z=w}return z}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(u){return u.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,v=document.createElement("div");v.innerHTML="<p class='TEST'></p>";if(v.querySelectorAll&&v.querySelectorAll(".TEST").length===0){return}b=function(B,A,w,z){A=A||document;if(!z&&A.nodeType===9&&!q(A)){try{return a(A.querySelectorAll(B),w)}catch(C){}}return e(B,A,w,z)};for(var u in e){b[u]=e[u]}v=null})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(u,v,w){if(typeof v.getElementsByClassName!=="undefined"&&!w){return v.getElementsByClassName(u[1])}};e=null})()}function o(u,B,A,F,C,E){var D=u=="previousSibling"&&!E;for(var w=0,v=F.length;w<v;w++){var e=F[w];if(e){if(D&&e.nodeType===1){e.sizcache=A;e.sizset=w}e=e[u];var z=false;while(e){if(e.sizcache===A){z=F[e.sizset];break}if(e.nodeType===1&&!E){e.sizcache=A;e.sizset=w}if(e.nodeName===B){z=e;break}e=e[u]}F[w]=z}}}function t(u,B,A,F,C,E){var D=u=="previousSibling"&&!E;for(var w=0,v=F.length;w<v;w++){var e=F[w];if(e){if(D&&e.nodeType===1){e.sizcache=A;e.sizset=w}e=e[u];var z=false;while(e){if(e.sizcache===A){z=F[e.sizset];break}if(e.nodeType===1){if(!E){e.sizcache=A;e.sizset=w}if(typeof B!=="string"){if(e===B){z=true;break}}else{if(b.filter(B,[e]).length>0){z=e;break}}}e=e[u]}F[w]=z}}}var h=document.compareDocumentPosition?function(u,e){return u.compareDocumentPosition(e)&16}:function(u,e){return u!==e&&(u.contains?u.contains(e):true)};var q=function(e){return e.nodeType===9&&e.documentElement.nodeName!=="HTML"||!!e.ownerDocument&&e.ownerDocument.documentElement.nodeName!=="HTML"};var g=function(e,C){var w=[],z="",A,v=C.nodeType?[C]:C;while((A=f.match.PSEUDO.exec(e))){z+=A[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var B=0,u=v.length;B<u;B++){b(e,v[B],w)}return b.filter(z,w)};window.Sizzle=b})();(function(c){var d=Prototype.Selector.extendElements;function a(e,f){return d(c(e,f||document))}function b(f,e){return c.matches(e,[f]).length==1}Prototype.Selector.engine=c;Prototype.Selector.select=a;Prototype.Selector.match=b})(Sizzle);window.Sizzle=Prototype._original_property;delete Prototype._original_property;var Form={reset:function(a){a=$(a);a.reset();return a},serializeElements:function(h,d){if(typeof d!="object"){d={hash:!!d}}else{if(Object.isUndefined(d.hash)){d.hash=true}}var e,g,a=false,f=d.submit,b,c;if(d.hash){c={};b=function(j,k,l){if(k in j){if(!Object.isArray(j[k])){j[k]=[j[k]]}j[k].push(l)}else{j[k]=l}return j}}else{c="";b=function(j,k,l){return j+(j?"&":"")+encodeURIComponent(k)+"="+encodeURIComponent(l)}}return h.inject(c,function(j,k){if(!k.disabled&&k.name){e=k.name;g=$(k).getValue();if(g!=null&&k.type!="file"&&(k.type!="submit"||(!a&&f!==false&&(!f||e==f)&&(a=true)))){j=b(j,e,g)}}return j})}};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(b){b=$(b);var a=b.findFirstElement();if(a){a.activate()}return b},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=(function(){function b(h,j){switch(h.type.toLowerCase()){case"checkbox":case"radio":return f(h,j);default:return e(h,j)}}function f(h,j){if(Object.isUndefined(j)){return h.checked?h.value:null}else{h.checked=!!j}}function e(h,j){if(Object.isUndefined(j)){return h.value}else{h.value=j}}function a(k,n){if(Object.isUndefined(n)){return(k.type==="select-one"?c:d)(k)}var j,l,o=!Object.isArray(n);for(var h=0,m=k.length;h<m;h++){j=k.options[h];l=this.optionValue(j);if(o){if(l==n){j.selected=true;return}}else{j.selected=n.include(l)}}}function c(j){var h=j.selectedIndex;return h>=0?g(j.options[h]):null}function d(l){var h,m=l.length;if(!m){return null}for(var k=0,h=[];k<m;k++){var j=l.options[k];if(j.selected){h.push(g(j))}}return h}function g(h){return Element.hasAttribute(h,"value")?h.value:h.text}return{input:b,inputSelector:f,textarea:e,select:a,selectOne:c,selectMany:d,optionValue:g,button:e}})();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 G={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 f=document.documentElement;var H="onmouseenter" in f&&"onmouseleave" in f;var a=function(I){return false};if(window.attachEvent){if(window.addEventListener){a=function(I){return !(I instanceof window.Event)}}else{a=function(I){return true}}}var t;function E(J,I){return J.which?(J.which===I+1):(J.button===I)}var p={0:1,1:4,2:2};function C(J,I){return J.button===p[I]}function F(J,I){switch(I){case 0:return J.which==1&&!J.metaKey;case 1:return J.which==2||(J.which==1&&J.metaKey);case 2:return J.which==3;default:return false}}if(window.attachEvent){if(!window.addEventListener){t=C}else{t=function(J,I){return a(J)?C(J,I):E(J,I)}}}else{if(Prototype.Browser.WebKit){t=F}else{t=E}}function z(I){return t(I,0)}function v(I){return t(I,1)}function o(I){return t(I,2)}function d(K){K=G.extend(K);var J=K.target,I=K.type,L=K.currentTarget;if(L&&L.tagName){if(I==="load"||I==="error"||(I==="click"&&L.tagName.toLowerCase()==="input"&&L.type==="radio")){J=L}}if(J.nodeType==Node.TEXT_NODE){J=J.parentNode}return Element.extend(J)}function q(J,K){var I=G.element(J);if(!K){return I}while(I){if(Object.isElement(I)&&Prototype.Selector.match(I,K)){return Element.extend(I)}I=I.parentNode}}function u(I){return{x:c(I),y:b(I)}}function c(K){var J=document.documentElement,I=document.body||{scrollLeft:0};return K.pageX||(K.clientX+(J.scrollLeft||I.scrollLeft)-(J.clientLeft||0))}function b(K){var J=document.documentElement,I=document.body||{scrollTop:0};return K.pageY||(K.clientY+(J.scrollTop||I.scrollTop)-(J.clientTop||0))}function s(I){G.extend(I);I.preventDefault();I.stopPropagation();I.stopped=true}G.Methods={isLeftClick:z,isMiddleClick:v,isRightClick:o,element:d,findElement:q,pointer:u,pointerX:c,pointerY:b,stop:s};var B=Object.keys(G.Methods).inject({},function(I,J){I[J]=G.Methods[J].methodize();return I});if(window.attachEvent){function j(J){var I;switch(J.type){case"mouseover":case"mouseenter":I=J.fromElement;break;case"mouseout":case"mouseleave":I=J.toElement;break;default:return null}return Element.extend(I)}var w={stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}};G.extend=function(J,I){if(!J){return false}if(!a(J)){return J}if(J._extendedByPrototype){return J}J._extendedByPrototype=Prototype.emptyFunction;var K=G.pointer(J);Object.extend(J,{target:J.srcElement||I,relatedTarget:j(J),pageX:K.x,pageY:K.y});Object.extend(J,B);Object.extend(J,w);return J}}else{G.extend=Prototype.K}if(window.addEventListener){G.prototype=window.Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(G.prototype,B)}function n(M,L,N){var K=Element.retrieve(M,"prototype_event_registry");if(Object.isUndefined(K)){e.push(M);K=Element.retrieve(M,"prototype_event_registry",$H())}var I=K.get(L);if(Object.isUndefined(I)){I=[];K.set(L,I)}if(I.pluck("handler").include(N)){return false}var J;if(L.include(":")){J=function(O){if(Object.isUndefined(O.eventName)){return false}if(O.eventName!==L){return false}G.extend(O,M);N.call(M,O)}}else{if(!H&&(L==="mouseenter"||L==="mouseleave")){if(L==="mouseenter"||L==="mouseleave"){J=function(P){G.extend(P,M);var O=P.relatedTarget;while(O&&O!==M){try{O=O.parentNode}catch(Q){O=M}}if(O===M){return}N.call(M,P)}}}else{J=function(O){G.extend(O,M);N.call(M,O)}}}J.handler=N;I.push(J);return J}function h(){for(var I=0,J=e.length;I<J;I++){G.stopObserving(e[I]);e[I]=null}}var e=[];if(Prototype.Browser.IE){window.attachEvent("onunload",h)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}var m=Prototype.K,g={mouseenter:"mouseover",mouseleave:"mouseout"};if(!H){m=function(I){return(g[I]||I)}}function A(L,K,M){L=$(L);var J=n(L,K,M);if(!J){return L}if(K.include(":")){if(L.addEventListener){L.addEventListener("dataavailable",J,false)}else{L.attachEvent("ondataavailable",J);L.attachEvent("onlosecapture",J)}}else{var I=m(K);if(L.addEventListener){L.addEventListener(I,J,false)}else{L.attachEvent("on"+I,J)}}return L}function l(O,L,P){O=$(O);var K=Element.retrieve(O,"prototype_event_registry");if(!K){return O}if(!L){K.each(function(R){var Q=R.key;l(O,Q)});return O}var M=K.get(L);if(!M){return O}if(!P){M.each(function(Q){l(O,L,Q.handler)});return O}var N=M.length,J;while(N--){if(M[N].handler===P){J=M[N];break}}if(!J){return O}if(L.include(":")){if(O.removeEventListener){O.removeEventListener("dataavailable",J,false)}else{O.detachEvent("ondataavailable",J);O.detachEvent("onlosecapture",J)}}else{var I=m(L);if(O.removeEventListener){O.removeEventListener(I,J,false)}else{O.detachEvent("on"+I,J)}}K.set(L,M.without(J));return O}function D(L,K,J,I){L=$(L);if(Object.isUndefined(I)){I=true}if(L==document&&document.createEvent&&!L.dispatchEvent){L=document.documentElement}var M;if(document.createEvent){M=document.createEvent("HTMLEvents");M.initEvent("dataavailable",I,true)}else{M=document.createEventObject();M.eventType=I?"ondataavailable":"onlosecapture"}M.eventName=K;M.memo=J||{};if(document.createEvent){L.dispatchEvent(M)}else{L.fireEvent(M.eventType,M)}return G.extend(M)}G.Handler=Class.create({initialize:function(K,J,I,L){this.element=$(K);this.eventName=J;this.selector=I;this.callback=L;this.handler=this.handleEvent.bind(this)},start:function(){G.observe(this.element,this.eventName,this.handler);return this},stop:function(){G.stopObserving(this.element,this.eventName,this.handler);return this},handleEvent:function(J){var I=G.findElement(J,this.selector);if(I){this.callback.call(this.element,J,I)}}});function k(K,J,I,L){K=$(K);if(Object.isFunction(I)&&Object.isUndefined(L)){L=I,I=null}return new G.Handler(K,J,I,L).start()}Object.extend(G,G.Methods);Object.extend(G,{fire:D,observe:A,stopObserving:l,on:k});Element.addMethods({fire:D,observe:A,stopObserving:l,on:k});Object.extend(document,{fire:D.methodize(),observe:A.methodize(),stopObserving:l.methodize(),on:k.methodize(),loaded:false});if(window.Event){Object.extend(window.Event,G)}else{window.Event=G}})();(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(l){return !l.toString().blank()&&j.include(" "+l+" ")})))){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);(function(){window.Selector=Class.create({initialize:function(a){this.expression=a.strip()},findElements:function(a){return Prototype.Selector.select(this.expression,a)},match:function(a){return Prototype.Selector.match(a,this.expression)},toString:function(){return this.expression},inspect:function(){return"#<Selector: "+this.expression+">"}});Object.extend(Selector,{matchElements:function(f,g){var a=Prototype.Selector.match,d=[];for(var c=0,e=f.length;c<e;c++){var b=f[c];if(a(b,g)){d.push(Element.extend(b))}}return d},findElement:function(f,g,b){b=b||0;var a=0,d;for(var c=0,e=f.length;c<e;c++){d=f[c];if(Prototype.Selector.match(d,g)&&b===a++){return Element.extend(d)}}},findChildElements:function(b,c){var a=c.toArray().join(", ");return Prototype.Selector.select(a,b||document)}})})();String.prototype.parseColor=function(){var a="#";if(this.slice(0,4)=="rgb("){var c=this.slice(4,this.length-1).split(",");var b=0;do{a+=parseInt(c[b]).toColorPart()}while(++b<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var b=1;b<4;b++){a+=(this.charAt(b)+this.charAt(b)).toLowerCase()}}if(this.length==7){a=this.toLowerCase()}}}return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return(b.nodeType==3?b.nodeValue:(b.hasChildNodes()?Element.collectTextNodes(b):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(a,b){return $A($(a).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:((c.hasChildNodes()&&!Element.hasClassName(c,b))?Element.collectTextNodesIgnoreClass(c,b):""))}).flatten().join("")};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return a};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var c=document.createTextNode(" ");a.appendChild(c);a.removeChild(c)}catch(b){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){var a=((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;return a>1?1:a},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(b,a){a=a||5;return(((b%(1/a))*a).round()==0?((b*a*2)-(b*a*2).floor()):1-((b*a*2)-(b*a*2).floor()))},spring:function(a){return 1-(Math.cos(a*4.5*Math.PI)*Math.exp(-a*6))},none:function(a){return 0},full:function(a){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(a){var b="position:relative";if(Prototype.Browser.IE){b+=";zoom:1"}a=$(a);$A(a.childNodes).each(function(c){if(c.nodeType==3){c.nodeValue.toArray().each(function(d){a.insertBefore(new Element("span",{style:b}).update(d==" "?String.fromCharCode(160):d),c)});Element.remove(c)}})},multiple:function(b,c){var e;if(((typeof b=="object")||Object.isFunction(b))&&(b.length)){e=b}else{e=$(b).childNodes}var a=Object.extend({speed:0.1,delay:0},arguments[2]||{});var d=a.delay;$A(e).each(function(g,f){new c(g,Object.extend(a,{delay:f*a.speed+d}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(b,c){b=$(b);c=(c||"appear").toLowerCase();var a=Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},arguments[2]||{});Effect[b.visible()?Effect.PAIRS[c][1]:Effect.PAIRS[c][0]](b,a)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=Object.isString(b.options.queue)?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"with-last":c=this.effects.pluck("startOn").max()||c;break;case"end":c=this.effects.pluck("finishOn").max()||c;break}b.startOn+=c;b.finishOn+=c;if(!b.options.queue.limit||(this.effects.length<b.options.queue.limit)){this.effects.push(b)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var c=new Date().getTime();for(var b=0,a=this.effects.length;b<a;b++){this.effects[b]&&this.effects[b].loop(c)}}});Effect.Queues={instances:$H(),get:function(a){if(!Object.isString(a)){return a}return this.instances.get(a)||this.instances.set(a,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+"Internal"]?"this.options."+eventName+"Internal(this);":"")+(options[eventName]?"this.options."+eventName+"(this);":""))}if(options&&options.transition===false){options.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if (this.state=="idle"){this.state="running";'+codeForEvent(this.options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(this.options,"afterSetup")+'};if (this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+codeForEvent(this.options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(this.options,"afterUpdate")+"}}");this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(c){if(c>=this.startOn){if(c>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var b=(c-this.startOn)/this.totalTime,a=(b*this.totalFrames).round();if(a>this.currentFrame){this.render(b);this.currentFrame=a}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}if(this.options[a]){this.options[a](this)}},inspect:function(){var a=$H();for(property in this){if(!Object.isFunction(this[property])){a.set(property,this[property])}}return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}b.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(c,f,e){c=Object.isString(c)?$(c):c;var b=$A(arguments),d=b.last(),a=b.length==5?b[3]:null;this.method=Object.isFunction(d)?d.bind(c):Object.isFunction(c[d])?c[d].bind(c):function(g){c[d]=g};this.start(Object.extend({from:f,to:e},a||{}))},update:function(a){this.method(a)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var a=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(a)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(a)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:(this.options.x*a+this.originalLeft).round()+"px",top:(this.options.y*a+this.originalTop).round()+"px"})}});Effect.MoveBy=function(b,a,c){return new Effect.Move(b,Object.extend({x:c,y:a},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(b,c){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:c},arguments[2]||{});this.start(a)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType})}this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(a,e){var f={};if(this.options.scaleX){f.width=e.round()+"px"}if(this.options.scaleY){f.height=a.round()+"px"}if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var b=(e-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){f.top=this.originalTop-c+"px"}if(this.options.scaleX){f.left=this.originalLeft-b+"px"}}else{if(this.options.scaleY){f.top=-c+"px"}if(this.options.scaleX){f.left=-b+"px"}}}this.element.setStyle(f)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(a)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,c,d){return b+((this._base[d]+(this._delta[d]*a)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(d){var c=arguments[1]||{},b=document.viewport.getScrollOffsets(),e=$(d).cumulativeOffset(),a=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(c.offset){e[1]+=c.offset}return new Effect.Tween(null,b.top,e[1]>a?a:e[1],c,function(f){scrollTo(b.left,f.round())})};Effect.Fade=function(c){c=$(c);var a=c.getInlineOpacity();var b=Object.extend({from:c.getOpacity()||1,to:0,afterFinishInternal:function(d){if(d.options.to!=0){return}d.element.hide().setStyle({opacity:a})}},arguments[1]||{});return new Effect.Opacity(c,b)};Effect.Appear=function(b){b=$(b);var a=Object.extend({from:(b.getStyle("display")=="none"?0:b.getOpacity()||0),to:1,afterFinishInternal:function(c){c.element.forceRerendering()},beforeSetup:function(c){c.element.setOpacity(c.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,a)};Effect.Puff=function(b){b=$(b);var a={opacity:b.getInlineOpacity(),position:b.getStyle("position"),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(c){Position.absolutize(c.effects[0].element)},afterFinishInternal:function(c){c.effects[0].element.hide().setStyle(a)}},arguments[1]||{}))};Effect.BlindUp=function(a){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(b){b.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(c){c.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(c){c.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(b){b=$(b);var a=b.getInlineOpacity();return new Effect.Appear(b,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(c){new Effect.Scale(c.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(d){d.element.makePositioned().makeClipping()},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned().setStyle({opacity:a})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left"),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(c){c.effects[0].element.makePositioned()},afterFinishInternal:function(c){c.effects[0].element.hide().undoPositioned().setStyle(a)}},arguments[1]||{}))};Effect.Shake=function(d){d=$(d);var b=Object.extend({distance:20,duration:0.5},arguments[1]||{});var e=parseFloat(b.distance);var c=parseFloat(b.duration)/10;var a={top:d.getStyle("top"),left:d.getStyle("left")};return new Effect.Move(d,{x:e,y:0,duration:c,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(g){new Effect.Move(g.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(h){new Effect.Move(h.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(j){new Effect.Move(j.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(k){new Effect.Move(k.element,{x:-e,y:0,duration:c,afterFinishInternal:function(l){l.element.undoPositioned().setStyle(a)}})}})}})}})}})}})};Effect.SlideDown=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.SlideUp=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var g=c.getDimensions();var h,f;var e,d;switch(b.direction){case"top-left":h=f=e=d=0;break;case"top-right":h=g.width;f=d=0;e=-g.width;break;case"bottom-left":h=e=0;f=g.height;d=-g.height;break;case"bottom-right":h=g.width;f=g.height;e=-g.width;d=-g.height;break;case"center":h=g.width/2;f=g.height/2;e=-g.width/2;d=-g.height/2;break}return new Effect.Move(c,{x:h,y:f,duration:0.01,beforeSetup:function(j){j.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(j){new Effect.Parallel([new Effect.Opacity(j.element,{sync:true,to:1,from:0,transition:b.opacityTransition}),new Effect.Move(j.element,{x:e,y:d,sync:true,transition:b.moveTransition}),new Effect.Scale(j.element,100,{scaleMode:{originalHeight:g.height,originalWidth:g.width},sync:true,scaleFrom:window.opera?1:0,transition:b.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(k){k.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(k){k.effects[0].element.undoClipping().undoPositioned().setStyle(a)}},b))}})};Effect.Shrink=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var e,d;switch(b.direction){case"top-left":e=d=0;break;case"top-right":e=f.width;d=0;break;case"bottom-left":e=0;d=f.height;break;case"bottom-right":e=f.width;d=f.height;break;case"center":e=f.width/2;d=f.height/2;break}return new Effect.Parallel([new Effect.Opacity(c,{sync:true,to:0,from:1,transition:b.opacityTransition}),new Effect.Scale(c,window.opera?1:0,{sync:true,transition:b.scaleTransition,restoreAfterFinish:true}),new Effect.Move(c,{x:e,y:d,sync:true,transition:b.moveTransition})],Object.extend({beforeStartInternal:function(g){g.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(g){g.effects[0].element.hide().undoClipping().undoPositioned().setStyle(a)}},b))};Effect.Pulsate=function(c){c=$(c);var b=arguments[1]||{};var a=c.getInlineOpacity();var e=b.transition||Effect.Transitions.sinoidal;var d=function(f){return e(1-Effect.Transitions.pulse(f,b.pulses))};d.bind(e);return new Effect.Opacity(c,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(f){f.element.setStyle({opacity:a})}},b),{transition:d}))};Effect.Fold=function(b){b=$(b);var a={top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};b.makeClipping();return new Effect.Scale(b,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(c){new Effect.Scale(b,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(d){d.element.hide().undoClipping().setStyle(a)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(a.style)){this.style=$H(a.style)}else{if(a.style.include(":")){this.style=a.style.parseStyle()}else{this.element.addClassName(a.style);this.style=$H(this.element.getStyles());this.element.removeClassName(a.style);var b=this.element.getStyles();this.style=this.style.reject(function(d){return d.value==b[d.key]});a.afterFinishInternal=function(d){d.element.addClassName(d.options.style);d.transforms.each(function(e){d.element.style[e.style]=""})}}}this.start(a)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b)){b="#ffffff"}b=b.parseColor();return $R(0,2).map(function(c){return parseInt(b.slice(c*2+1,c*2+3),16)})}this.transforms=this.style.map(function(g){var f=g[0],e=g[1],d=null;if(e.parseColor("#zzzzzz")!="#zzzzzz"){e=e.parseColor();d="color"}else{if(f=="opacity"){e=parseFloat(e);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(e)){var c=e.match(/^([\+\-]?[0-9\.]+)(.*)$/);e=parseFloat(c[1]);d=(c.length==3)?c[2]:null}}}var b=this.element.getStyle(f);return{style:f.camelize(),originalValue:d=="color"?a(b):parseFloat(b||0),targetValue:d=="color"?a(e):e,unit:d}}.bind(this)).reject(function(b){return((b.originalValue==b.targetValue)||(b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))))})},update:function(a){var d={},b,c=this.transforms.length;while(c--){d[(b=this.transforms[c]).style]=b.unit=="color"?"#"+(Math.round(b.originalValue[0]+(b.targetValue[0]-b.originalValue[0])*a)).toColorPart()+(Math.round(b.originalValue[1]+(b.targetValue[1]-b.originalValue[1])*a)).toColorPart()+(Math.round(b.originalValue[2]+(b.targetValue[2]-b.originalValue[2])*a)).toColorPart():(b.originalValue+(b.targetValue-b.originalValue)*a).toFixed(3)+(b.unit===null?"":b.unit)}this.element.setStyle(d,true)}});Effect.Transform=Class.create({initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){b=$H(b);var c=b.values().first();this.tracks.push($H({ids:b.keys().first(),effect:Effect.Morph,options:{style:c}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var d=a.get("ids"),c=a.get("effect"),b=a.get("options");var e=[$(d)||$$(d)].flatten();return e.map(function(f){return new c(f,Object.extend({sync:true},b))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");String.prototype.parseStyle=function(){var b,a=$H();if(Prototype.Browser.WebKit){b=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';b=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(c){if(b[c]){a.set(c,b[c])}});if(Prototype.Browser.IE&&this.include("opacity")){a.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return a};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(b){var a=document.defaultView.getComputedStyle($(b),null);return Element.CSS_PROPERTIES.inject({},function(c,d){c[d]=a[d];return c})}}else{Element.getStyles=function(b){b=$(b);var a=b.currentStyle,c;c=Element.CSS_PROPERTIES.inject({},function(d,e){d[e]=a[e];return d});if(!c.opacity){c.opacity=b.getOpacity()}return c}}Effect.Methods={morph:function(a,b){a=$(a);new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a},visualEffect:function(c,e,b){c=$(c);var d=e.dasherize().camelize(),a=d.charAt(0).toUpperCase()+d.substring(1);new Effect[a](c,b);return c},highlight:function(b,a){b=$(b);new Effect.Highlight(b,a);return b}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(a){Effect.Methods[a]=function(c,b){c=$(c);Effect[a.charAt(0).toUpperCase()+a.substring(1)](c,b);return c}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(a){Effect.Methods[a]=Element[a]});Element.addMethods(Effect.Methods);if(typeof Effect=="undefined"){throw ("controls.js requires including script.aculo.us' effects.js library")}var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(b,c,a){b=$(b);this.element=b;this.update=$(c);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(a)}else{this.options=a||{}}this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(d,e){if(!e.style.position||e.style.position=="absolute"){e.style.position="absolute";Position.clone(d,e,{setHeight:false,offsetTop:d.offsetHeight})}Effect.Appear(e,{duration:0.15})};this.options.onHide=this.options.onHide||function(d,e){new Effect.Fade(e,{duration:0.15})};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+"_iefix")}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)}if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(a){if(this.active){switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(a);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}}else{if(a.keyCode==Event.KEY_TAB||a.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&a.keyCode==0)){return}}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(b){var a=Event.findElement(b,"LI");if(this.index!=a.autocompleteIndex){this.index=a.autocompleteIndex;this.render()}Event.stop(b)},onClick:function(b){var a=Event.findElement(b,"LI");this.index=a.autocompleteIndex;this.selectEntry();this.hide()},onBlur:function(a){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false},render:function(){if(this.entryCount>0){for(var a=0;a<this.entryCount;a++){this.index==a?Element.addClassName(this.getEntry(a),"selected"):Element.removeClassName(this.getEntry(a),"selected")}if(this.hasFocus){this.show();this.active=true}}else{this.active=false;this.hide()}},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1}this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0}this.getEntry(this.index).scrollIntoView(false)},getEntry:function(a){return this.update.firstChild.childNodes[a]},getCurrentEntry:function(){return this.getEntry(this.index)},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry())},updateElement:function(f){if(this.options.updateElement){this.options.updateElement(f);return}var d="";if(this.options.select){var a=$(f).select("."+this.options.select)||[];if(a.length>0){d=Element.collectTextNodes(a[0],this.options.select)}}else{d=Element.collectTextNodesIgnoreClass(f,"informal")}var c=this.getTokenBounds();if(c[0]!=-1){var e=this.element.value.substr(0,c[0]);var b=this.element.value.substr(c[0]).match(/^\s+/);if(b){e+=b[0]}this.element.value=e+d+this.element.value.substr(c[1])}else{this.element.value=d}this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,f)}},updateChoices:function(c){if(!this.changed&&this.hasFocus){this.update.innerHTML=c;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var a=0;a<this.entryCount;a++){var b=this.getEntry(a);b.autocompleteIndex=a;this.addObservers(b)}}else{this.entryCount=0}this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()}}},addObservers:function(a){Event.observe(a,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(a,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices()}else{this.active=false;this.hide()}this.oldElementValue=this.element.value},getToken:function(){var a=this.getTokenBounds();return this.element.value.substring(a[0],a[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds}var e=this.element.value;if(e.strip().empty()){return[-1,0]}var f=arguments.callee.getFirstDifferencePos(e,this.oldElementValue);var h=(f==this.oldElementValue.length?1:0);var d=-1,c=e.length;var g;for(var b=0,a=this.options.tokens.length;b<a;++b){g=e.lastIndexOf(this.options.tokens[b],f+h-1);if(g>d){d=g}g=e.indexOf(this.options.tokens[b],f+h);if(-1!=g&&g<c){c=g}}return(this.tokenBounds=[d+1,c])}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(c,a){var d=Math.min(c.length,a.length);for(var b=0;b<d;++b){if(c[b]!=a[b]){return b}}return d};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(c,d,b,a){this.baseInitialize(c,d,a);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=b},getUpdatedChoices:function(){this.startIndicator();var a=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,a):a;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams}new Ajax.Request(this.url,this.options)},onComplete:function(a){this.updateChoices(a.responseText)}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(b,d,c,a){this.baseInitialize(b,d,a);this.options.array=c},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(a){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(b){var d=[];var c=[];var h=b.getToken();var g=0;for(var e=0;e<b.options.array.length&&d.length<b.options.choices;e++){var f=b.options.array[e];var j=b.options.ignoreCase?f.toLowerCase().indexOf(h.toLowerCase()):f.indexOf(h);while(j!=-1){if(j==0&&f.length!=h.length){d.push("<li><strong>"+f.substr(0,h.length)+"</strong>"+f.substr(h.length)+"</li>");break}else{if(h.length>=b.options.partialChars&&b.options.partialSearch&&j!=-1){if(b.options.fullSearch||/\s/.test(f.substr(j-1,1))){c.push("<li>"+f.substr(0,j)+"<strong>"+f.substr(j,h.length)+"</strong>"+f.substr(j+h.length)+"</li>");break}}}j=b.options.ignoreCase?f.toLowerCase().indexOf(h.toLowerCase(),j+1):f.indexOf(h,j+1)}}if(c.length){d=d.concat(c.slice(0,b.options.choices-d.length))}return"<ul>"+d.join("")+"</ul>"}},a||{})}});Field.scrollFreeActivate=function(a){setTimeout(function(){Field.activate(a)},1)};Ajax.InPlaceEditor=Class.create({initialize:function(c,b,a){this.url=b;this.element=c=$(c);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(a);Object.extend(this.options,a||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=""}}if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl)}if(!this.options.externalControl){this.options.externalControlOnly=false}this._originalBackground=this.element.getStyle("background-color")||"transparent";this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(a){if(!this._editing||a.ctrlKey||a.altKey||a.shiftKey){return}if(Event.KEY_ESC==a.keyCode){this.handleFormCancellation(a)}else{if(Event.KEY_RETURN==a.keyCode){this.handleFormSubmission(a)}}},createControl:function(g,c,b){var e=this.options[g+"Control"];var f=this.options[g+"Text"];if("button"==e){var a=document.createElement("input");a.type="submit";a.value=f;a.className="editor_"+g+"_button";if("cancel"==g){a.onclick=this._boundCancelHandler}this._form.appendChild(a);this._controls[g]=a}else{if("link"==e){var d=document.createElement("a");d.href="#";d.appendChild(document.createTextNode(f));d.onclick="cancel"==g?this._boundCancelHandler:this._boundSubmitHandler;d.className="editor_"+g+"_link";if(b){d.className+=" "+b}this._form.appendChild(d);this._controls[g]=d}}},createEditField:function(){var c=(this.options.loadTextURL?this.options.loadingText:this.getText());var b;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){b=document.createElement("input");b.type="text";var a=this.options.size||this.options.cols||0;if(0<a){b.size=a}}else{b=document.createElement("textarea");b.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);b.cols=this.options.cols||40}b.name=this.options.paramName;b.value=c;b.className="editor_field";if(this.options.submitOnBlur){b.onblur=this._boundSubmitHandler}this._controls.editor=b;if(this.options.loadTextURL){this.loadExternalText()}this._form.appendChild(this._controls.editor)},createForm:function(){var b=this;function a(d,e){var c=b.options["text"+d+"Controls"];if(!c||e===false){return}b._form.appendChild(document.createTextNode(c))}this._form=$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"))}if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form)}a("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);a("Between",this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");a("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML}this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(a){if(this._saving||this._editing){return}this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide()}this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField()}if(a){Event.stop(a)}},enterHover:function(a){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName)}if(this._saving){return}this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML},handleAJAXFailure:function(a){this.triggerCallback("onFailure",a);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null}},handleFormCancellation:function(a){this.wrapUp();if(a){Event.stop(a)}},handleFormSubmission:function(d){var b=this._form;var c=$F(this._controls.editor);this.prepareSubmission();var f=this.options.callback(b,c)||"";if(Object.isString(f)){f=f.toQueryParams()}f.editorId=this.element.id;if(this.options.htmlResponse){var a=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,a)}else{var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,a)}if(d){Event.stop(d)}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show()}this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")},leaveHover:function(a){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName)}if(this._saving){return}this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(c){this._form.removeClassName(this.options.loadingClassName);var b=c.responseText;if(this.options.stripLoadedTextTags){b=b.stripTags()}this._controls.editor.value=b;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,a)},postProcessEditField:function(){var a=this.options.fieldPostCreation;if(a){$(this._controls.editor)["focus"==a?"focus":"activate"]()}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(a){Object.extend(this.options,a)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};var a;$H(Ajax.InPlaceEditor.Listeners).each(function(b){a=this[b.value].bind(this);this._listeners[b.key]=a;if(!this.options.externalControlOnly){this.element.observe(b.key,a)}if(this.options.externalControl){this.options.externalControl.observe(b.key,a)}}.bind(this))},removeForm:function(){if(!this._form){return}this._form.remove();this._form=null;this._controls={}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(b,a){if("function"==typeof this.options[b]){this.options[b](this,a)}},unregisterListeners:function(){$H(this._listeners).each(function(a){if(!this.options.externalControlOnly){this.element.stopObserving(a.key,a.value)}if(this.options.externalControl){this.options.externalControl.stopObserving(a.key,a.value)}}.bind(this))},wrapUp:function(a){this.leaveEditMode();this._boundComplete(a,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,c,b,a){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(c,b,a)},createEditField:function(){var a=document.createElement("select");a.name=this.options.paramName;a.size=1;this._controls.editor=a;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection()}else{this.checkForExternalText()}this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw"Server returned an invalid collection representation."}this._collection=eval(js);this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options)},showLoadingText:function(b){this._controls.editor.disabled=true;var a=this._controls.editor.firstChild;if(!a){a=document.createElement("option");a.value="";this._controls.editor.appendChild(a);a.selected=true}a.update((b||"").stripScripts().stripTags())},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText()}else{this.buildOptionList()}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){this._text=b.responseText.strip();this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,a)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(d){return 2===d.length?d:[d,d].flatten()});var b=("value" in this.options)?this.options.value:this._text;var a=this._collection.any(function(d){return d[0]==b}.bind(this));this._controls.editor.update("");var c;this._collection.each(function(e,d){c=document.createElement("option");c.value=e[0];c.selected=a?e[0]==b:0==d;c.appendChild(document.createTextNode(e[1]));this._controls.editor.appendChild(c)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(a){if(!a){return}function b(c,d){if(c in a||d===undefined){return}a[c]=d}b("cancelControl",(a.cancelLink?"link":(a.cancelButton?"button":a.cancelLink==a.cancelButton==false?false:undefined)));b("okControl",(a.okLink?"link":(a.okButton?"button":a.okLink==a.okButton==false?false:undefined)));b("highlightColor",a.highlightcolor);b("highlightEndColor",a.highlightendcolor)};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(a){return Form.serialize(a)},onComplete:function(b,a){new Effect.Highlight(a,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(a){a.element.style.backgroundColor=a.options.highlightColor;if(a._effect){a._effect.cancel()}},onFailure:function(b,a){alert("Error communication with the server: "+b.responseText.stripTags())},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(a){a._effect=new Effect.Highlight(a.element,{startcolor:a.options.highlightColor,endcolor:a.options.highlightEndColor,restorecolor:a._originalBackground,keepBackgroundImage:true})}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};Form.Element.DelayedObserver=Class.create({initialize:function(b,a,c){this.delay=a||0.5;this.element=$(b);this.callback=c;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))},delayedListener:function(a){if(this.lastValue==$F(this.element)){return}if(this.timer){clearTimeout(this.timer)}this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element)},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element))}});if(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)}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(this.options.dragHandle&&!Position.within(this.options.dragHandle,Event.pointerX(a),Event.pointerY(a))){return}if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]){return}if(Event.isLeftClick(a)){var c=Event.element(a);if((tag_name=c.tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA")){return}var b=[Event.pointerX(a),Event.pointerY(a)];var d=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(e){return(b[e]-d[e])});Draggables.activate(this);Event.stop(a)}},startDrag:function(b){this.dragging=true;if(!this.delta){this.delta=this.currentDelta()}if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._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)}if(Prototype.Browser.IE){document.selection.clear()}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=Position.cumulativeOffset(this.element);if(this.options.ghosting){var c=Position.realOffset(this.element);g[0]+=c[0]-Position.deltaX;g[1]+=c[1]-Position.deltaY}var f=this.currentDelta();g[0]-=f[0];g[1]-=f[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){g[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;g[1]-=this.options.scroll.scrollTop-this.originalScrollTop}var e=[0,1].map(function(d){return(a[d]-g[d]-this.offset[d])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){e=this.options.snap(e[0],e[1],this)}else{if(Object.isArray(this.options.snap)){e=e.map(function(d,h){return(d/this.options.snap[h]).round()*this.options.snap[h]}.bind(this))}else{e=e.map(function(d){return(d/this.options.snap).round()*this.options.snap}.bind(this))}}}var b=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){b.left=e[0]+"px"}if((!this.options.constraint)||(this.options.constraint=="vertical")){b.top=e[1]+"px"}if(b.visibility=="hidden"){b.visibility=""}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1])){return}this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0){Draggables._lastScrollPointer[0]=0}if(Draggables._lastScrollPointer[1]<0){Draggables._lastScrollPointer[1]=0}this.draw(Draggables._lastScrollPointer)}if(this.options.change){this.options.change(this)}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}return{top:T,left:L,width:W,height:H}}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(b,a){this.element=$(b);this.observer=a;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element)){this.observer(this.element)}}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id]){return a}a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a){return}return Sortable.sortables[a.id]},destroy:function(a){var b=Sortable.options(a);if(b){Draggables.removeObserver(b.element);b.droppables.each(function(c){Droppables.remove(c)});b.draggables.invoke("destroy");delete Sortable.sortables[b.element.id]}},create:function(c){c=$(c);var b=Object.extend({element:c,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:c,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(c);var a={revert:true,quiet:b.quiet,scroll:b.scroll,scrollSpeed:b.scrollSpeed,scrollSensitivity:b.scrollSensitivity,delay:b.delay,ghosting:b.ghosting,constraint:b.constraint,handle:b.handle};if(b.starteffect){a.starteffect=b.starteffect}if(b.reverteffect){a.reverteffect=b.reverteffect}else{if(b.ghosting){a.reverteffect=function(f){f.style.top=0;f.style.left=0}}}if(b.endeffect){a.endeffect=b.endeffect}if(b.zindex){a.zindex=b.zindex}var d={overlap:b.overlap,containment:b.containment,tree:b.tree,hoverclass:b.hoverclass,onHover:Sortable.onHover};var e={onHover:Sortable.onEmptyHover,overlap:b.overlap,containment:b.containment,hoverclass:b.hoverclass};Element.cleanWhitespace(c);b.draggables=[];b.droppables=[];if(b.dropOnEmpty||b.tree){Droppables.add(c,e);b.droppables.push(c)}(b.elements||this.findElements(c,b)||[]).each(function(h,f){var g=b.handles?$(b.handles[f]):(b.handle?$(h).select("."+b.handle)[0]:h);b.draggables.push(new Draggable(h,Object.extend(a,{handle:g})));Droppables.add(h,d);if(b.tree){h.treeNode=c}b.droppables.push(h)});if(b.tree){(Sortable.findTreeElements(c,b)||[]).each(function(f){Droppables.add(f,e);f.treeNode=c;b.droppables.push(f)})}this.sortables[c.id]=b;Draggables.addObserver(new SortableObserver(c,b.onUpdate))},findElements:function(b,a){return Element.findChildren(b,a.only,a.tree?true:false,a.tag)},findTreeElements:function(b,a){return Element.findChildren(b,a.only,a.tree?true:false,a.treeTag)},onHover:function(e,d,a){if(Element.isParent(d,e)){return}if(a>0.33&&a<0.66&&Sortable.options(d).tree){return}else{if(a>0.5){Sortable.mark(d,"before");if(d.previousSibling!=e){var b=e.parentNode;e.style.visibility="hidden";d.parentNode.insertBefore(e,d);if(d.parentNode!=b){Sortable.options(b).onChange(e)}Sortable.options(d.parentNode).onChange(e)}}else{Sortable.mark(d,"after");var c=d.nextSibling||null;if(c!=e){var b=e.parentNode;e.style.visibility="hidden";d.parentNode.insertBefore(e,c);if(d.parentNode!=b){Sortable.options(b).onChange(e)}Sortable.options(d.parentNode).onChange(e)}}}},onEmptyHover:function(e,g,h){var j=e.parentNode;var a=Sortable.options(g);if(!Element.isParent(g,e)){var f;var c=Sortable.findElements(g,{tag:a.tag,only:a.only});var b=null;if(c){var d=Element.offsetSize(g,a.overlap)*(1-h);for(f=0;f<c.length;f+=1){if(d-Element.offsetSize(c[f],a.overlap)>=0){d-=Element.offsetSize(c[f],a.overlap)}else{if(d-(Element.offsetSize(c[f],a.overlap)/2)>=0){b=f+1<c.length?c[f+1]:null;break}else{b=c[f];break}}}}g.insertBefore(e,b);Sortable.options(j).onChange(e);a.onChange(e)}},unmark:function(){if(Sortable._marker){Sortable._marker.hide()}},mark:function(b,a){var d=Sortable.options(b.parentNode);if(d&&!d.ghosting){return}if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)}var c=Position.cumulativeOffset(b);Sortable._marker.setStyle({left:c[0]+"px",top:c[1]+"px"});if(a=="after"){if(d.overlap=="horizontal"){Sortable._marker.setStyle({left:(c[0]+b.clientWidth)+"px"})}else{Sortable._marker.setStyle({top:(c[1]+b.clientHeight)+"px"})}}Sortable._marker.show()},_tree:function(e,b,f){var d=Sortable.findElements(e,b)||[];for(var c=0;c<d.length;++c){var a=d[c].id.match(b.format);if(!a){continue}var g={id:encodeURIComponent(a?a[1]:null),element:e,parent:f,children:[],position:f.children.length,container:$(d[c]).down(b.treeTag)};if(g.container){this._tree(g.container,b,g)}f.children.push(g)}return f},tree:function(d){d=$(d);var c=this.options(d);var b=Object.extend({tag:c.tag,treeTag:c.treeTag,only:c.only,name:d.id,format:c.format},arguments[1]||{});var a={id:null,parent:null,children:[],container:d,position:0};return Sortable._tree(d,b,a)},_constructIndex:function(b){var a="";do{if(b.id){a="["+b.position+"]"+a}}while((b=b.parent)!=null);return a},sequence:function(b){b=$(b);var a=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,a)||[]).map(function(c){return c.id.match(a.format)?c.id.match(a.format)[1]:""})},setSequence:function(b,c){b=$(b);var a=Object.extend(this.options(b),arguments[2]||{});var d={};this.findElements(b,a).each(function(e){if(e.id.match(a.format)){d[e.id.match(a.format)[1]]=[e,e.parentNode]}e.parentNode.removeChild(e)});c.each(function(e){var f=d[e];if(f){f[1].appendChild(f[0]);delete d[e]}})},serialize:function(c){c=$(c);var b=Object.extend(Sortable.options(c),arguments[1]||{});var a=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:c.id);if(b.tree){return Sortable.tree(c,arguments[1]).children.map(function(d){return[a+Sortable._constructIndex(d)+"[id]="+encodeURIComponent(d.id)].concat(d.children.map(arguments.callee))}).flatten().join("&")}else{return Sortable.sequence(c,arguments[1]).map(function(d){return a+"[]="+encodeURIComponent(d)}).join("&")}}};Element.isParent=function(b,a){if(!b.parentNode||b==a){return false}if(b.parentNode==a){return true}return Element.isParent(b.parentNode,a)};Element.findChildren=function(d,b,a,c){if(!d.hasChildNodes()){return null}c=c.toUpperCase();if(b){b=[b].flatten()}var e=[];$A(d.childNodes).each(function(g){if(g.tagName&&g.tagName.toUpperCase()==c&&(!b||(Element.classNames(g).detect(function(h){return b.include(h)})))){e.push(g)}if(a){var f=Element.findChildren(g,b,a,c);if(f){e.push(f)}}});return(e.length>0?e.flatten():[])};Element.offsetSize=function(a,b){return a["offset"+((b=="vertical"||b=="height")?"Height":"Width")]};LowPro={};LowPro.Version="0.6";LowPro.CompatibleWithPrototype="1.7";if(Prototype.Version.indexOf(LowPro.CompatibleWithPrototype)!=0&&window.console&&window.console.warn){console.warn("This version of Low Pro is tested with Prototype "+LowPro.CompatibleWithPrototype+" it may not work as expected with this version ("+Prototype.Version+")")}if(!Element.addMethods){Element.addMethods=function(a){Object.extend(Element.Methods,a)}}DOM={};DOM.Builder={tagFunc:function(a){return function(){var b,c;if(arguments.length>0){if(arguments[0].constructor==Object){b=arguments[0];c=Array.prototype.slice.call(arguments,1)}else{c=arguments}c=$A(c).flatten()}return DOM.Builder.create(a,b,c)}},create:function(a,b,d){b=b||{};d=d||[];a=a.toLowerCase();var e=new Element(a,b);for(var c=0;c<d.length;c++){if(typeof d[c]=="string"){d[c]=document.createTextNode(d[c])}e.appendChild(d[c])}return $(e)}};(function(){var b=("p|div|span|strong|em|img|table|tr|td|th|thead|tbody|tfoot|pre|code|h1|h2|h3|h4|h5|h6|ul|ol|li|form|input|textarea|legend|fieldset|select|option|blockquote|cite|br|hr|dd|dl|dt|address|a|button|abbr|acronym|script|link|style|bdo|ins|del|object|param|col|colgroup|optgroup|caption|label|dfn|kbd|samp|var").split("|");var c,a=0;while(c=b[a++]){window["$"+c]=DOM.Builder.tagFunc(c)}})();DOM.Builder.fromHTML=function(b){var a;if(!(a=arguments.callee._root)){a=arguments.callee._root=document.createElement("div")}a.innerHTML=b;return a.childNodes[0]};Object.extend(Event,{onReady:function(a){if(document.body){a()}else{document.observe("dom:loaded",a)}}});Event.addBehavior=function(b){var a=this.addBehavior;Object.extend(a.rules,b);if(!a.responderApplied){Ajax.Responders.register({onComplete:function(){if(Event.addBehavior.reassignAfterAjax){setTimeout(function(){a.reload()},10)}}});a.responderApplied=true}if(a.autoTrigger){this.onReady(a.load.bind(a,b))}};Event.delegate=function(a){return function(c){for(var b in a){if(c.findElement(b)){return a[b].apply(this,$A(arguments))}}}};Object.extend(Event.addBehavior,{rules:{},cache:[],reassignAfterAjax:false,autoTrigger:true,load:function(d){for(var b in d){var c=d[b];var a=b.split(",");a.each(function(g){var h=g.split(/:(?=[a-z]+$)/),e=h[0],f=h[1];$$(e).each(function(l){if(f){var k=l.on(f,Event.addBehavior._wrapObserver(c));Event.addBehavior.cache.push(k)}else{var j=l.retrieve("_lowpro_assigned_observers_")||[];if(!j.include(c)){if(c.attach){c.attach(l)}else{c.call(l)}j.push(c);l.store("_lowpro_assigned_observers_",j)}}})})}},unload:function(){this.cache.each(function(a){a.stop()});this.cache=[]},reload:function(){var a=Event.addBehavior;a.unload();a.load(a.rules)},_wrapObserver:function(a){return function(b){if(a.call(this,b)===false){b.stop()}}}});Event.observe(window,"unload",Event.addBehavior.unload.bind(Event.addBehavior));$$$=Event.addBehavior.bind(Event);var Behavior={create:function(){var d=null,c=$A(arguments);if(Object.isFunction(c[0])){d=c.shift()}var e=function(){if(!this.initialize){var f=$A(arguments);var g=function(){var h=[this].concat(f);return e.attach.apply(e,h)};g.prototype=e.prototype;return g}else{var f=(arguments.length==2&&arguments[1] instanceof Array)?arguments[1]:Array.prototype.slice.call(arguments,1);this.element=$(arguments[0]);this.initialize.apply(this,f);e._bindEvents(this);e.instances.push(this)}};Object.extend(e,Class.Methods);Object.extend(e,Behavior.Methods);e.superclass=d;e.subclasses=[];e.instances=[];if(d){var a=function(){};a.prototype=d.prototype;e.prototype=new a;d.subclasses.push(e)}for(var b=0;b<c.length;b++){e.addMethods(c[b])}if(!e.prototype.initialize){e.prototype.initialize=Prototype.emptyFunction}e.prototype.constructor=e;return e},Methods:{attach:function(a){return new this(a,Array.prototype.slice.call(arguments,1))},_bindEvents:function(a){for(var c in a){var b=c.match(/^on(.+)/);if(b&&typeof a[c]=="function"){a.element.on(b[1],Event.addBehavior._wrapObserver(a[c].bindAsEventListener(a)))}}}}};Event.delegateBehaviors=Behavior.create({initialize:function(e){var b=new Hash;for(var a in e){var c=e[a];for(var f in c.prototype){var d=f.match(/^on(.+)/);if(d&&typeof c.prototype[f]=="function"){if(!b.get(d[1])){b.set(d[1],{})}b.get(d[1])[a]=c}}}b.each(function(g){this.element.on(g.key,Event.addBehavior._wrapObserver(this._invokeEvent.bindAsEventListener(this,g.value)))}.bind(this))},_invokeEvent:function(f,g){var d;for(var b in g){if(d=f.findElement(b)){var c=g[b],a=d.retrieve("_lowpro_assigned_observers_")||[];if(!a.include(c)){var e=c.attach?c.attach(d):c.call(d);a.push(c);d.store("_lowpro_assigned_observers_",a);return c.prototype["on"+f.type].call(e,f)}}}}});Remote=Behavior.create({initialize:function(a){if(this.element.nodeName=="FORM"){new Remote.Form(this.element,a)}else{new Remote.Link(this.element,a)}}});Remote.Base={initialize:function(a){this.options=Object.extend({evalScripts:true},a||{});this._bindCallbacks()},_makeRequest:function(a){if(!a.confirm||confirm(a.confirm)){if(a.update){new Ajax.Updater(a.update,a.url,a)}else{new Ajax.Request(a.url,a)}}return false},_bindCallbacks:function(){$w("onCreate onComplete onException onFailure onInteractive onLoading onLoaded onSuccess").each(function(a){if(Object.isFunction(this.options[a])){this.options[a]=this.options[a].bind(this)}}.bind(this))}};Remote.Link=Behavior.create(Remote.Base,{onclick:function(){var a=Object.extend({url:this.element.href,method:"get"},this.options);return this._makeRequest(a)}});Remote.Form=Behavior.create(Remote.Base,{onclick:function(b){var a=b.element();if(["input","button"].include(a.nodeName.toLowerCase())&&["submit","image"].include(a.type)){this._submitButton=a}},onsubmit:function(){var a=Object.extend({url:this.element.action,method:this.element.method||"get",parameters:this.element.serialize({submit:this._submitButton?this._submitButton.name:null})},this.options);this._submitButton=null;return this._makeRequest(a)}});Observed=Behavior.create({initialize:function(b,a){this.callback=b.bind(this);this.options=a||{};this.observer=(this.element.nodeName=="FORM")?this._observeForm():this._observeField()},stop:function(){this.observer.stop()},_observeForm:function(){return(this.options.frequency)?new Form.Observer(this.element,this.options.frequency,this.callback):new Form.EventObserver(this.element,this.callback)},_observeField:function(){return(this.options.frequency)?new Form.Element.Observer(this.element,this.options.frequency,this.callback):new Form.Element.EventObserver(this.element,this.callback)}});if(!Control){var Control={}}Control.Slider=Class.create({initialize:function(d,a,b){var c=this;if(Object.isArray(d)){this.handles=d.collect(function(f){return $(f)})}else{this.handles=[$(d)]}this.track=$(a);this.options=b||{};this.axis=this.options.axis||"horizontal";this.increment=this.options.increment||1;this.step=parseInt(this.options.step||"1");this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(e){return $(e)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled){this.setDisabled()}this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max()}this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(f,e){e=c.handles.length-1-e;c.setValue(parseFloat((Object.isArray(c.options.sliderValue)?c.options.sliderValue[e]:c.options.sliderValue)||c.range.start),e);f.makePositioned().observe("mousedown",c.eventMouseDown)});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true},dispose:function(){var a=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(b){Event.stopObserving(b,"mousedown",a.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(a){if(this.allowedValues){if(a>=this.allowedValues.max()){return(this.allowedValues.max())}if(a<=this.allowedValues.min()){return(this.allowedValues.min())}var c=Math.abs(this.allowedValues[0]-a);var b=this.allowedValues[0];this.allowedValues.each(function(d){var e=Math.abs(d-a);if(e<=c){b=d;c=e}});return b}if(a>this.range.end){return this.range.end}if(a<this.range.start){return this.range.start}return a},setValue:function(b,a){if(!this.active){this.activeHandleIdx=a||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles()}a=a||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((a>0)&&(b<this.values[a-1])){b=this.values[a-1]}if((a<(this.handles.length-1))&&(b>this.values[a+1])){b=this.values[a+1]}}b=this.getNearestValue(b);this.values[a]=b;this.value=this.values[0];this.handles[a].style[this.isVertical()?"top":"left"]=this.translateToPx(b);this.drawSpans();if(!this.dragging||!this.event){this.updateFinished()}},setValueBy:function(b,a){this.setValue(this.values[a||this.activeHandleIdx||0]+b,a||this.activeHandleIdx||0)},translateToPx:function(a){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(a-this.range.start))+"px"},translateToValue:function(a){return((a/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start)},getRange:function(b){var a=this.values.sortBy(Prototype.K);b=b||0;return $R(a[b],a[b+1])},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX)},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX)},isVertical:function(){return(this.axis=="vertical")},drawSpans:function(){var a=this;if(this.spans){$R(0,this.spans.length-1).each(function(b){a.setSpan(a.spans[b],a.getRange(b))})}if(this.options.startSpan){this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value))}if(this.options.endSpan){this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum))}},setSpan:function(b,a){if(this.isVertical()){b.style.top=this.translateToPx(a.start);b.style.height=this.translateToPx(a.end-a.start+this.range.start)}else{b.style.left=this.translateToPx(a.start);b.style.width=this.translateToPx(a.end-a.start+this.range.start)}},updateStyles:function(){this.handles.each(function(a){Element.removeClassName(a,"selected")});Element.addClassName(this.activeHandle,"selected")},startDrag:function(c){if(Event.isLeftClick(c)){if(!this.disabled){this.active=true;var d=Event.element(c);var e=[Event.pointerX(c),Event.pointerY(c)];var a=d;if(a==this.track){var b=Position.cumulativeOffset(this.track);this.event=c;this.setValue(this.translateToValue((this.isVertical()?e[1]-b[1]:e[0]-b[0])-(this.handleLength/2)));var b=Position.cumulativeOffset(this.activeHandle);this.offsetX=(e[0]-b[0]);this.offsetY=(e[1]-b[1])}else{while((this.handles.indexOf(d)==-1)&&d.parentNode){d=d.parentNode}if(this.handles.indexOf(d)!=-1){this.activeHandle=d;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var b=Position.cumulativeOffset(this.activeHandle);this.offsetX=(e[0]-b[0]);this.offsetY=(e[1]-b[1])}}}Event.stop(c)}},update:function(a){if(this.active){if(!this.dragging){this.dragging=true}this.draw(a);if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(a)}},draw:function(b){var c=[Event.pointerX(b),Event.pointerY(b)];var a=Position.cumulativeOffset(this.track);c[0]-=this.offsetX+a[0];c[1]-=this.offsetY+a[1];this.event=b;this.setValue(this.translateToValue(this.isVertical()?c[1]:c[0]));if(this.initialized&&this.options.onSlide){this.options.onSlide(this.values.length>1?this.values:this.value,this)}},endDrag:function(a){if(this.active&&this.dragging){this.finishDrag(a,true);Event.stop(a)}this.active=false;this.dragging=false},finishDrag:function(a,b){this.active=false;this.dragging=false;this.updateFinished()},updateFinished:function(){if(this.initialized&&this.options.onChange){this.options.onChange(this.values.length>1?this.values:this.value,this)}this.event=null}});Glider=Class.create();Object.extend(Object.extend(Glider.prototype,Abstract.prototype),{initialize:function(b,a){this.scrolling=false;this.wrapper=$(b);this.scroller=this.wrapper.down("div.scroller");this.sections=this.wrapper.select("li.section");this.options=Object.extend({controlsEvent:"click",duration:0.5,frequency:3},a||{});this.direction="next";this.sections.each(function(d,c){d._index=c});this.events={click:this.click.bind(this)};this.addObservers();if(this.options.initialSection){this.moveTo(this.options.initialSection,this.scroller,{duration:this.options.duration})}if(this.options.autoGlide){this.start()}},addObservers:function(){this.controls=this.wrapper.select(".controls a");this.controls.invoke("observe",this.options.controlsEvent,this.events.click)},click:function(b){this.stop();var a=Event.findElement(b,"a");if(this.scrolling){this.scrolling.cancel()}moveTo=this.wrapper.down("#"+a.href.split("#")[1]);this.moveTo(moveTo,this.scroller,{duration:this.options.duration});Event.stop(b);this.controls.each(function(c){if(c==a){c.addClassName("active")}else{c.removeClassName("active")}})},moveTo:function(d,a,c){this.current=$(d);if(!a){a=this.scroller}if(!c){c={duration:this.options.duration}}Position.prepare();var e=Position.cumulativeOffset(a);elementOffset=Position.cumulativeOffset(this.current);var b=this;this.scrolling=new Effect.SmoothScroll(a,{duration:c.duration,x:(elementOffset[0]-e[0])-(4*$(d).getWidth()),y:(elementOffset[1]-e[1]),afterFinish:function(){new Effect.Pulsate(d,{duration:0.5,from:0.5,pulses:1})}});return false},moveToMiddle:function(){this.moveTo(this.sections[Math.floor(this.sections.size()/2)])},next:function(){var a=1;if(this.current&&this.current._index){var b=this.current._index;a=(this.sections.length-1==b)?0:b+1}this.moveTo(this.sections[a],this.scroller,{duration:this.options.duration})},previous:function(){var b=this.sections.length-1;if(this.current&&this.current._index){var a=this.current._index;b=(a==0)?this.sections.length-1:a-1}this.moveTo(this.sections[b],this.scroller,{duration:this.options.duration})},stop:function(){clearTimeout(this.timer)},start:function(a){this.direction=a;this.periodicallyUpdate()},periodicallyUpdate:function(){if(this.timer!=null){clearTimeout(this.timer);if(this.direction=="next"){this.next()}else{this.previous()}}this.timer=setTimeout(this.periodicallyUpdate.bind(this),this.options.frequency*200)}});Effect.SmoothScroll=Class.create();Object.extend(Object.extend(Effect.SmoothScroll.prototype,Effect.Base.prototype),{initialize:function(b){this.element=$(b);var a=Object.extend({x:0,y:0,mode:"absolute"},arguments[1]||{});this.start(a)},setup:function(){if(this.options.continuous&&!this.element._ext){this.element.cleanWhitespace();this.element._ext=true;this.element.appendChild(this.element.firstChild)}this.originalLeft=this.element.scrollLeft;this.originalTop=this.element.scrollTop;if(this.options.mode=="absolute"){this.options.x-=this.originalLeft;this.options.y-=this.originalTop}},update:function(a){this.element.scrollLeft=this.options.x*a+this.originalLeft;this.element.scrollTop=this.options.y*a+this.originalTop}});Control.Scroller=Class.create();Control.Scroller.scrollers=[];Control.Scroller.prototype={initialize:function(d,e,a,c){this.id="scroller";this.content=$(d);this.handle=$(e);this.track=$(a);this.currentValue=0;this.options=Object.extend({axis:"vertical",onChange:function(f){b.updateView(f)},onSlide:function(f){b.updateView(f)}},c);var b=this;this.options=Object.extend({scrollOnHover:false,visibleHeight:this.isVertical()?300:this.content.offsetHeight,visibleWidth:this.isVertical()?this.content.offsetWidth:300,delta:20,autoHide:true,interval:100},this.options);this.maxValue=this.isVertical()?this.content.offsetHeight-this.options.visibleHeight-this.handle.offsetHeight:this.content.offsetWidth-this.options.visibleWidth-this.handle.offsetWidth;this.options.range=$R(0,this.maxValue);this.buttons={up:$(this.options.up),down:$(this.options.down)};if((this.isVertical()&&this.content.offsetHeight<=this.options.visibleHeight)||(!this.isVertical()&&this.content.offsetWidth<=this.options.visibleWidth)){if(this.options.autoHide){[this.track,this.handle,this.buttons.up,this.buttons.down].invoke("hide")}return}this.content.style.height=this.options.visibleHeight+"px";this.eventMouseAction=this.buttonAction.bindAsEventListener(this);$H(this.buttons).values().each(function(f){if(b.options.scrollOnHover){Event.observe(f,"mouseover",b.eventMouseAction);Event.observe(f,"mouseout",b.eventMouseAction)}else{Event.observe(f,"mousedown",b.eventMouseAction);document.observe("mouseup",b.eventMouseAction)}});this.slider=new Control.Slider(this.handle,this.track,this.options)},isVertical:function(){return this.options.axis=="vertical"},buttonAction:function(b){this.multiplier=Event.element(b)==this.buttons.up?-1:1;switch(b.type){case"mouseover":case"mousedown":this.scroll();var a=this;this.timer=setInterval(function(){a.scroll()},a.options.interval);break;case"mouseout":case"mouseup":clearTimeout(this.timer);break}},scroll:function(){this.slider.setValue(this.currentValue+this.options.delta*this.multiplier,0)},updateView:function(a){this.currentValue=a;if(this.options.axis=="vertical"){this.content.style.marginTop=(-this.currentValue)+"px";this.content.style.height=(this.options.visibleHeight+this.currentValue)+"px";this.content.style.clip="rect("+a+"px "+this.options.visibleWidth+"px "+(this.options.visibleHeight+this.currentValue)+"px 0px)"}else{this.content.style.marginLeft=(-this.currentValue)+"px";this.content.style.clip="rect(0 "+(this.options.visibleHeight+this.currentValue)+"px "+this.options.visibleHeight+"px "+a+"px)"}(this.options.onScroll||Prototype.emptyFunction)(a,this)}};var Cookie={set:function(e,f,c){var b="";if(!c){c=365}var j=new Date();j.setTime(j.getTime()+(86400000*parseFloat(c)));b="expires="+j.toGMTString();var h="; path=/; "+b+";";var a=escape(f||"");if(a!=""){a+="&rack_cookie_params="+escape(h)}var g=escape(e)+"="+a+h;return document.cookie=g},get:function(b){var c=document.cookie.match(new RegExp("(^|;)\\s*"+escape(b)+"=([^;\\s]+)"));var a=(c?unescape(c[2]).gsub(/\+/," ").gsub(/\&rack_cookie_params=.*$/,""):null);return a},erase:function(a){var b=Cookie.get(a)||true;Cookie.set(a,"",-1);return b},eraseAll:function(){var e=""+document.cookie;var b=e.split("; ");for(var d=0;d<b.length;++d){var a=b[d].split("=");if(a.length!=2){continue}var c=unescape(a[0]);Cookie.erase(c)}},accept:function(){if(typeof navigator.cookieEnabled=="boolean"){return navigator.cookieEnabled}Cookie.set("_test","1");return(Cookie.erase("_test")==="1")},exists:function(b){var a=Cookie.get(b);if(!a){return false}return a.toString()!=""}};var Flash=new Object();Flash.data={};Flash.transferFromCookies=function(){var a=JSON.parse(unescape(Cookie.get("flash")));if(!a){a={}}Flash.data=a;Cookie.erase("flash")};Flash.writeDataTo=function(a,b){b=$(b);var c="";if(Flash.data[a]){c=Flash.data[a].toString().gsub(/\+/," ")}b.innerHTML=unescape(c)};var Dialogs={Lang:{close:"&nbsp;&times;&nbsp;",prev:"&laquo; Zurück",next:"Weiter &raquo;",loading:'<img src="/images/spinner.gif" style="float:right"/>Lade...',ok:"OK",yes:"Ja",no:"Nein"},Default:{handle:null,autoOpen:false,background:["#000","#fff"],width:"auto",height:"auto",minWidth:null,minHeight:null,innerScroll:true,opacity:0.75,margin:10,padding:10,title:null,className:null,content:null,iframe:null,target:{id:null,auto:true},ajax:{url:null,jsonTemplate:null,options:{}},close:{link:true,esc:true,overlay:true},showTitleBar:true,afterOpen:Prototype.emptyFunction,afterClose:Prototype.emptyFunction,afterClick:Prototype.emptyFunction,afterIframeLoad:Prototype.emptyFunction},Browser:{IE6:(Prototype.Browser.IE&&parseInt(navigator.appVersion)==4&&navigator.userAgent.toLowerCase().indexOf("msie 6.")!=-1)}};Object.extend(Dialogs,{_exec:false,_open:false,_elements:{overlay:["div","dialog-overlay","fixed"],container:["div","dialog-container","fixed"],content:["div","dialog-content"],loading:["div","dialog-loading"],top:["div","dialog-top"],bottom:["div","dialog-bottom"],title:["span","dialog-title"],close:["a","dialog-close"],next:["a",null,"next"],prev:["a",null,"prev"],curr:["span",null,"curr"]},fix:{scroll:Dialogs.Browser.IE6,select:Dialogs.Browser.IE6},view:function(){var b=document.viewport,d=b.getDimensions(),c={width:d.width,height:d.height};if(Dialogs.fix.scroll){var a=b.getScrollOffsets();c.top=a.top;c.left=a.left}return c},elm:function(a){return Dialogs._elements[a]},load:function(){if(!!Dialogs._exec){return}Dialogs._exec=true;var g=Dialogs._elements;for(var b in g){var h=g[b],c={style:"display:none"};if(h[1]){c.id=h[1]}if(h[2]){c.className=h[2]}switch(h[0]){case"a":c.href="javascript:;";break}var f=new Element(h[0],c);if(Dialogs.Lang[b]){f.update(Dialogs.Lang[b])}Dialogs._elements[b]=f}document.observe("dom:loaded",function(){var a=Dialogs._elements;$(document.body).insert(a.overlay).insert(a.container.insert(a.top.insert(a.title).insert(a.close)).insert(a.content).insert(a.bottom.insert(a.prev).insert(a.curr).insert(a.next)));if(Dialogs.Browser.IE6){a.top.insert(new Element("div",{style:"clear:both"}))}})},close:function(){[Dialogs.elm("title"),Dialogs.elm("content"),Dialogs.elm("curr")].invoke("update","");for(var a in Dialogs._elements){Dialogs._elements[a].writeAttribute("style","display:none")}Dialogs.elm("container").setStyle("left:-99999px;top:-99999px");if(Dialogs.fix.select){$$("select.dialog-hideselect").invoke("show").invoke("removeClassName","dialog-hideselect")}Dialogs._open=false},alert:function(c){var d=new Element("input",{value:Dialogs.Lang.ok,type:"button"}),b=new Dialog({className:"alert",close:{link:false,esc:true},padding:20,content:function(){d.observe("click",Dialogs.close);return[c,"<br /><br />",d]},afterOpen:function(){d.focus()}});b.open()},confirm:function(d,b,a){var g=new Element("input",{value:Dialogs.Lang.yes,type:"button"}),f=new Element("input",{value:Dialogs.Lang.no,type:"button"}),e=new Dialog({className:"confirm",close:{link:false},padding:20,content:function(){g.observe("click",function(){if(Object.isFunction(b)){b()}else{Dialogs.close()}});f.observe("click",function(){if(Object.isFunction(a)){a()}else{Dialogs.close()}});return[d,"<br /><br />",g,f]},afterOpen:function(){g.focus()}});e.open()}});Dialogs.load();var Dialog=Class.create();Dialog.prototype={initialize:function(f){this.opt=Object.extend(Object.clone(Dialogs.Default),f||{});var g=this.opt.content;if(Object.isFunction(g)){Object.extend(this.opt,{content:g()})}g=this.opt.content;if(Object.isString(this.opt.target.id)||Object.isElement(this.opt.target.id)){var d=$(this.opt.target.id);Object.extend(this.opt,{content:d.innerHTML});if(this.opt.target.auto){var e=/#(.+)$/.exec(window.location);if(Object.isArray(e)&&Object.isString(e[1])){e=e[1].split(",").last();if(e==d.identify()){this.open.bind(this).delay(1)}}}}else{if(Object.isHash(g)){this.steps={i:0,k:g.keys(),v:g.values(),m:g.size()}}}this.attachEvents();if(this.opt.autoOpen){this.open()}},exec:function(a){return Dialogs._open==this._open&&Dialogs.elm("overlay").visible()&&a},attachEvents:function(){Event.observe(window,"resize",this.setDimensions.bindAsEventListener(this));if(Dialogs.fix.scroll){Event.observe(window,"scroll",this.setScroll.bindAsEventListener(this))}var a=[];if(Object.isElement(this.opt.handle)){a.push($(this.opt.handle))}else{if(Object.isArray(this.opt.handle)){this.opt.handle.each(function(b){a.push($(b))})}else{if(Object.isString(this.opt.handle)){a=$$(this.opt.handle)}}}a.invoke("show").invoke("observe","click",function(b){b.stop();if(Object.isFunction(this.opt.afterClick)){if(this.opt.afterClick(b)){this.open()}}else{this.open()}}.bindAsEventListener(this));Dialogs.elm("close").observe("click",function(){if(this.exec(this.opt.close.link)){this.close()}}.bindAsEventListener(this));Dialogs.elm("overlay").observe("click",function(){if(this.exec(this.opt.close.overlay)){this.close()}}.bindAsEventListener(this));document.observe("keyup",function(b){if(this.exec(this.opt.close.esc&&(b.which||b.keyCode)==Event.KEY_ESC)){this.close()}}.bindAsEventListener(this));if(this.steps){[Dialogs.elm("prev"),Dialogs.elm("next")].invoke("observe","click",this.setSteps.bindAsEventListener(this));document.observe("keydown",function(b){var d=b.which||b.keyCode;if(this.exec((d==Event.KEY_LEFT)||(d==Event.KEY_RIGHT))){this.setSteps(b)}}.bindAsEventListener(this))}},setAuto:function(){this.auto={max:0};var a=Dialogs.elm("title"),b=Dialogs.elm("close");[a,b].invoke("setStyle","float:none");$w("top content bottom").each(function(c){var d=Dialogs.elm(c);if(!d.visible()){this.auto[c]={width:0,height:0}}else{d.writeAttribute("style","display:inline;float:left;overflow:visible;white-space:nowrap");this.auto[c]=d.getDimensions();d.writeAttribute("style","overflow:hidden");if(c=="content"){this.auto[c].width+=(parseInt(this.opt.padding)||0)*2}if(this.auto[c].width>this.auto.max){this.auto.max=this.auto[c].width}}}.bind(this));a.setStyle("float:left");b.setStyle("float:right")},setDimensions:function(){if(!this.exec(true)){return}this.setAuto();var l=this.auto,g=Dialogs.view(),p=Dialogs.elm("content"),j=Dialogs.elm("container"),b={m:((parseInt(this.opt.margin)||0)*2),p:((parseInt(this.opt.padding)||0)*2),t:l.top.height,b:l.bottom.height},e={width:(g.width-b.m),height:(g.height-b.m-b.t-b.b)},f=this.opt.height,n=this.opt.width,k=y=false;if(Object.isNumber(n)){n+=b.p}if(n=="max"){n=e.width}if(!Object.isNumber(n)){n=l.max}if(n<(this.opt.minWidth||0)){n=this.opt.minWidth||0}if(n>e.width){n=e.width;k=true}p.setStyle("width:"+(n-b.p)+"px;height:auto");if(Object.isNumber(f)){f+=b.p}if(f=="max"){f=e.height}if(!Object.isNumber(f)){f=p.getHeight()+b.p}if(f<(this.opt.minHeight||0)){n=this.opt.minHeight||0}if(f>e.height){f=e.height;y=true}p.setStyle("height:"+(f-b.p)+"px;padding:"+(b.p/2)+"px");if(this.opt.innerScroll){p.setStyle("overflow:auto")}var q={w:n,h:(f+b.t+b.b)};j.setStyle("width:"+q.w+"px;height:"+q.h+"px;top:50%;left:50%;margin:-"+parseInt(q.h/2)+"px 0 0 -"+parseInt(q.w/2)+"px");if(Dialogs.fix.scroll){Dialogs.elm("overlay").setStyle("width:"+g.width+"px;height:"+g.height+"px");this.setScroll()}},setScroll:function(){if(!this.exec(true)){return}var b=Dialogs.view(),g=Dialogs.elm("container"),f=g.getDimensions(),e=b.top+parseInt((b.height-f.height)/2),a=b.left+parseInt((b.width-f.width)/2);g.setStyle("margin:0;top:"+e+"px;left:"+a+"px");Dialogs.elm("overlay").setStyle("margin:"+b.top+"px 0 0 "+b.left+"px")},setLoad:function(){var c=Dialogs.elm("loading").show(),d=Dialogs.elm("content"),a=d.down("#"+c.identify());if(!Object.isElement(a)){d.insert(c)}},setAjax:function(){this.setLoad();var d=this.opt.ajax.options||{},e=(d.onComplete&&Object.isFunction(d.onComplete)?d.onComplete:null),b=function(c){var a=this.opt.ajax.jsonTemplate;if(c.responseJSON&&Object.isString(a)){Dialogs.elm("content").update(a.interpolate(c.responseJSON))}else{Dialogs.elm("content").update(c.responseText||"")}this.setImages();this.setDimensions();if(Object.isFunction(e)){e(c)}}.bind(this);Object.extend(d,{onComplete:b});new Ajax.Request(this.opt.ajax.url,d)},setIframe:function(){this.setLoad();var a=new Element("iframe",{src:this.opt.iframe,frameborder:0,id:"dialog-iframe"});Dialogs.elm("content").insert(a);a.observe("load",function(){Dialogs.elm("loading").hide();a.setStyle("width:100%;height:100%");this.setDimensions();if(Object.isFunction(this.opt.afterIframeLoad)){this.opt.afterIframeLoad()}}.bindAsEventListener(this))},setSteps:function(c){if(!this.exec(true)){return}var a=this.steps.m,b=false,e=Dialogs.elm("next"),d=Dialogs.elm("prev");if((c.which||c.keyCode)==Event.KEY_RIGHT||c.element().hasClassName("next")){if(this.steps.i<(a-1)){b=true}if(b){++this.steps.i}if(((this.steps.i+1)>=a)&&e.visible()){e.hide()}if(((this.steps.i-1)>=0)&&!d.visible()){d.show()}}else{if(this.steps.i>0){b=true}if(b){--this.steps.i}if(((this.steps.i-1)<0)&&d.visible()){d.hide()}if(((this.steps.i+1)<=a)&&!e.visible()){e.show()}}if(b){this.setContent()}},setContent:function(){var e=this.opt.content,d=Dialogs.elm("content");d.update("");if(Object.isString(e)||Object.isElement(e)){d.insert(e)}else{if(Object.isArray(e)){e.each(function(c){d.insert(c)})}else{if(Object.isHash(e)){var a=Dialogs.elm("bottom");d.update("").insert(this.steps.v[this.steps.i]);Dialogs.elm("curr").update(this.steps.k[this.steps.i]);if(!a.visible()){a.show().childElements().invoke("show")}if(this.steps.i<=0){Dialogs.elm("prev").hide()}if(this.steps.i>=(this.steps.m-1)){Dialogs.elm("next").hide()}}else{if(Object.isString(this.opt.ajax.url)){this.setAjax()}else{if(Object.isString(this.opt.iframe)){this.setIframe()}}}}}this.setImages();this.setDimensions.bind(this).defer()},setImages:function(){Dialogs.elm("content").select("img").each(function(a){a.onload=function(){this.setDimensions()}.bind(this)}.bind(this))},open:function(){if(Dialogs.fix.select){$$("select").select(function(c){return c.visible()}).invoke("hide").invoke("addClassName","dialog-hideselect")}if((Object.isString(this.opt.title)||this.opt.close.link)&&this.opt.showTitleBar){if(Object.isString(this.opt.title)){Dialogs.elm("title").show().update(this.opt.title)}if(this.opt.close.link){Dialogs.elm("close").show()}else{Dialogs.elm("close").hide()}Dialogs.elm("top").show()}else{Dialogs.elm("top").hide()}var b=Dialogs.elm("overlay"),d=Dialogs.elm("container"),a=Dialogs.elm("content");[b,d,a].invoke("show");b.setOpacity(this.opt.opacity||1).setStyle({background:this.opt.background[0]||"#000"});d.writeAttribute("style","left:-99999px;top:-99999px;background:"+(this.opt.background[1]||"#fff"));a.writeAttribute("class",this.opt.className||"");Dialogs._open=new Date().getTime();this._open=Dialogs._open;this.setContent();if(Object.isFunction(this.opt.afterOpen)){this.opt.afterOpen()}},close:function(){Dialogs.close();if(Object.isFunction(this.opt.afterClose)){this.opt.afterClose()}}};var Prototip={Version:"2.0.4"};var Tips={options:{images:"/",zIndex:6000}};Prototip.Styles={"default":{border:6,borderColor:"#c7c7c7",className:"default",closeButton:false,hideAfter:false,hideOn:"mouseleave",hook:false,radius:6,showOn:"mousemove",stem:{height:12,width:15}},bilderbuch:{className:"bilderbuch",images:"prototip",border:6,borderColor:"#fff",radius:6,stem:{height:12,width:15}},bilderbuch_huge:{className:"bilderbuch_huge",images:"prototip",border:8,borderColor:"#ff0000",radius:8,stem:{height:18,width:20}},bilderbuch_tip:{className:"bilderbuch_tip",images:"prototip",border:8,borderColor:"#ff0000",radius:8,stem:{height:18,width:20}},protoblue:{className:"protoblue",border:6,borderColor:"#116497",radius:6,stem:{height:12,width:15}},darkgrey:{className:"darkgrey",border:6,borderColor:"#363636",radius:6,stem:{height:12,width:15}},creamy:{className:"creamy",border:6,borderColor:"#ebe4b4",radius:6,stem:{height:12,width:15}},protogrey:{className:"protogrey",border:6,borderColor:"#606060",radius:6,stem:{height:12,width:15}}};Object.extend(Prototip,{REQUIRED_Prototype:"1.6.0.2",start:function(){this.require("Prototype");if(/^(https?:\/\/|\/)/.test(Tips.options.images)){Tips.images=Tips.options.images}else{var a=/prototip(?:-[\w\d.]+)?\.js(.*)/;Tips.images=(($$("head script[src]").find(function(b){return b.src.match(a)})||{}).src||"").replace(a,"")+Tips.options.images}if(Prototype.Browser.IE&&!document.namespaces.v){document.namespaces.add("v","urn:schemas-microsoft-com:vml");document.observe("dom:loaded",function(){try{document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);")}catch(b){}})}Tips.initialize();Element.observe(window,"unload",this.unload)},require:function(a){if((typeof window[a]=="undefined")||(this.convertVersionString(window[a].Version)<this.convertVersionString(this["REQUIRED_"+a]))){throw ("Prototip requires "+a+" >= "+this["REQUIRED_"+a])}},convertVersionString:function(a){var b=a.replace(/_.*|\./g,"");b=parseInt(b+"0".times(4-b.length));return a.indexOf("_")>-1?b-1:b},_captureTroubleElements:$w("input textarea"),capture:function(a){if(Prototype.Browser.IE){return a}a=a.wrap(function(c,d){var e=Object.isElement(this)?this:this.element,h=d.relatedTarget;try{var f=e.tagName,g=h.tagName}catch(b){return}if(Prototip._captureTroubleElements.member(e.tagName.toLowerCase())){if(h!=e&&!h.descendantOf(e)){c(d)}}else{if(h!=e&&!$A(e.select("*")).member(h)){c(d)}}});return a},toggleInt:function(a){return(a>0)?(-1*a):(a).abs()},unload:function(){Tips.removeAll()}});Object.extend(Tips,{tips:[],visible:[],initialize:function(){this.zIndexTop=this.zIndex},useEvent:(function(a){return{mouseover:(a?"mouseenter":"mouseover"),mouseout:(a?"mouseleave":"mouseout"),mouseenter:(a?"mouseenter":"mouseover"),mouseleave:(a?"mouseleave":"mouseout")}})(Prototype.Browser.IE),specialEvent:{mouseover:"mouseover",mouseout:"mouseout",mouseenter:"mouseover",mouseleave:"mouseout"},_inverse:{left:"right",right:"left",top:"bottom",bottom:"top",middle:"middle",horizontal:"vertical",vertical:"horizontal"},_stemTranslation:{width:"horizontal",height:"vertical"},inverseStem:function(a){return !!arguments[1]?this._inverse[a]:a},fixIE:(function(b){var a=new RegExp("MSIE ([\\d.]+)").exec(b);return a?(parseFloat(a[1])<7):false})(navigator.userAgent),WebKit419:(Prototype.Browser.WebKit&&!document.evaluate),add:function(a){this.tips.push(a)},remove:function(a){var b=this.tips.find(function(c){return c.element==$(a)});if(b){b.deactivate();if(b.tooltip){b.wrapper.remove();if(Tips.fixIE){b.iframeShim.remove()}}this.tips=this.tips.without(b)}a.prototip=null},removeAll:function(){this.tips.each(function(a){this.remove(a.element)}.bind(this))},raise:function(b){if(b==this._highest){return}if(this.visible.length===0){this.zIndexTop=this.options.zIndex;for(var c=0,a=this.tips.length;c<a;c++){this.tips[c].wrapper.setStyle({zIndex:this.options.zIndex})}}b.wrapper.setStyle({zIndex:this.zIndexTop++});if(b.loader){b.loader.setStyle({zIndex:this.zIndexTop})}this._highest=b},addVisibile:function(a){this.removeVisible(a);this.visible.push(a)},removeVisible:function(a){this.visible=this.visible.without(a)},hideAll:function(){Tips.visible.invoke("hide")},hook:function(c,k){c=$(c),k=$(k);var e=Object.extend({offset:{x:0,y:0},position:false},arguments[2]||{});var a=e.mouse||k.cumulativeOffset();a.left+=e.offset.x;a.top+=e.offset.y;var b=e.mouse?[0,0]:k.cumulativeScrollOffset(),d=document.viewport.getScrollOffsets(),j=e.mouse?"mouseHook":"target";a.left+=(-1*(b[0]-d[0]));a.top+=(-1*(b[1]-d[1]));if(e.mouse){var l=[0,0];l.width=0;l.height=0}var g={element:c.getDimensions()},f={element:Object.clone(a)};g[j]=e.mouse?l:k.getDimensions();f[j]=Object.clone(a);for(var h in f){switch(e[h]){case"topRight":case"rightTop":f[h].left+=g[h].width;break;case"topMiddle":f[h].left+=(g[h].width/2);break;case"rightMiddle":f[h].left+=g[h].width;f[h].top+=(g[h].height/2);break;case"bottomLeft":case"leftBottom":f[h].top+=g[h].height;break;case"bottomRight":case"rightBottom":f[h].left+=g[h].width;f[h].top+=g[h].height;break;case"bottomMiddle":f[h].left+=(g[h].width/2);f[h].top+=g[h].height;break;case"leftMiddle":f[h].top+=(g[h].height/2);break}}a.left+=-1*(f.element.left-f[j].left);a.top+=-1*(f.element.top-f[j].top);if(e.position){c.setStyle({left:a.left+"px",top:a.top+"px"})}return a}});Tips.initialize();var Tip=Class.create({initialize:function(f,o){this.element=$(f);if(!this.element){throw ("Prototip: Element not available, cannot create a tooltip.");return}Tips.remove(this.element);var j=(Object.isString(o)||Object.isElement(o)),h=j?arguments[2]||[]:o;this.content=j?o:null;if(h.style){h=Object.extend(Object.clone(Prototip.Styles[h.style]),h)}this.options=Object.extend(Object.extend({ajax:false,border:0,borderColor:"#000000",radius:0,className:Tips.options.className,closeButton:Tips.options.closeButtons,delay:!(h.showOn&&h.showOn=="click")?0.14:false,hideAfter:false,hideOn:"mouseleave",hideOthers:false,hook:h.hook,offset:h.hook?{x:0,y:0}:{x:16,y:16},fixed:(h.hook&&!h.hook.mouse)?true:false,showOn:"mousemove",stem:false,style:"default",target:this.element,title:false,viewport:(h.hook&&!h.hook.mouse)?false:true,width:false},Prototip.Styles["default"]),h);this.target=$(this.options.target);this.radius=this.options.radius;this.border=(this.radius>this.options.border)?this.radius:this.options.border;if(this.options.images){this.images=this.options.images.include("://")?this.options.images:Tips.images+this.options.images}else{this.images=Tips.images+"styles/"+(this.options.style||"")+"/"}if(!this.images.endsWith("/")){this.images+="/"}var l=$("prototip_border_color").getStyle("color");this.options.borderColor=l;var e=0,k=0,m=0;if(l.indexOf("#")==0){e=parseInt(l.substring(1,3),16);k=parseInt(l.substring(3,5),16);m=parseInt(l.substring(5,7),16)}else{var n=l.split(",");e=parseInt(n[0].gsub(/[^0-9]+/,""));k=parseInt(n[1].gsub(/[^0-9]+/,""));m=parseInt(n[2].gsub(/[^0-9]+/,""))}this.images="/prototip_stems/"+e+"_"+k+"_"+m+"/";if(Object.isString(this.options.stem)){this.options.stem={position:this.options.stem}}if(this.options.stem.position){this.options.stem=Object.extend(Object.clone(Prototip.Styles[this.options.style].stem)||{},this.options.stem);this.options.stem.position=[this.options.stem.position.match(/[a-z]+/)[0].toLowerCase(),this.options.stem.position.match(/[A-Z][a-z]+/)[0].toLowerCase()];this.options.stem.orientation=["left","right"].member(this.options.stem.position[0])?"horizontal":"vertical";this.stemInverse={horizontal:false,vertical:false}}if(this.options.ajax){this.options.ajax.options=Object.extend({onComplete:Prototype.emptyFunction},this.options.ajax.options||{})}this.useEvent=$w("area input").member(this.element.tagName.toLowerCase())?Tips.specialEvent:Tips.useEvent;if(this.options.hook.mouse){var d=this.options.hook.tip.match(/[a-z]+/)[0].toLowerCase();this.mouseHook=Tips._inverse[d]+Tips._inverse[this.options.hook.tip.match(/[A-Z][a-z]+/)[0].toLowerCase()].capitalize()}this.fixSafari2=(Tips.WebKit419&&this.radius);this.setup();Tips.add(this);this.activate();Prototip.extend(this)},setup:function(){this.wrapper=new Element("div",{className:"prototip"}).setStyle({zIndex:Tips.options.zIndex});if(this.fixSafari2){this.wrapper.hide=function(){this.setStyle("left:-9500px;top:-9500px;visibility:hidden;");return this};this.wrapper.show=function(){this.setStyle("visibility:visible");return this};this.wrapper.visible=function(){return(this.getStyle("visibility")=="visible"&&parseFloat(this.getStyle("top").replace("px",""))>-9500)}}this.wrapper.hide();if(Tips.fixIE){this.iframeShim=new Element("iframe",{className:"iframeShim",src:"javascript:false;",frameBorder:0}).setStyle({display:"none",zIndex:Tips.options.zIndex-1,opacity:0})}if(this.options.ajax){this.showDelayed=this.showDelayed.wrap(this.ajaxShow)}this.tip=new Element("div",{className:"content"});this.title=new Element("div",{className:"title"}).hide();if(this.options.closeButton||(this.options.hideOn.element&&this.options.hideOn.element=="closeButton")){this.closeButton=new Element("div",{className:"close"}).setPngBackground(this.images+"close.png")}},build:function(){if(document.loaded){this._build();this._isBuilding=true;return true}else{if(!this._isBuilding){document.observe("dom:loaded",this._build);return false}}},_build:function(){$(document.body).insert(this.wrapper);if(Tips.fixIE){$(document.body).insert(this.iframeShim)}if(this.options.ajax){$(document.body).insert(this.loader=new Element("div",{className:"prototipLoader"}).setPngBackground(this.images+"loader.gif").hide())}var b="wrapper";if(this.options.stem.position){this.stem=new Element("div",{className:"prototip_Stem"}).setStyle({height:this.options.stem[this.options.stem.orientation=="vertical"?"height":"width"]+"px"});var g=this.options.stem.orientation=="horizontal";this[b].insert(this.stemWrapper=new Element("div",{className:"prototip_StemWrapper clearfix"}).insert(this.stemBox=new Element("div",{className:"prototip_StemBox clearfix"})));this.stem.insert(this.stemImage=new Element("div",{className:"prototip_StemImage"}).setStyle({height:this.options.stem[g?"width":"height"]+"px",width:this.options.stem[g?"height":"width"]+"px"}));if(Tips.fixIE&&!this.options.stem.position[1].toUpperCase().include("MIDDLE")){this.stemImage.setStyle({display:"inline"})}b="stemBox"}if(this.border){var e=this.border,c;this[b].insert(this.borderFrame=new Element("ul",{className:"borderFrame"}).insert(this.borderTop=new Element("li",{className:"borderTop borderRow"}).setStyle("height: "+e+"px").insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperTopLeft"}).insert(new Element("div",{className:"prototip_Corner"}))).insert(c=new Element("div",{className:"prototip_BetweenCorners"}).setStyle({height:e+"px"}).insert(new Element("div",{className:"prototip_Between"}).setStyle({margin:"0 "+e+"px",height:e+"px"}))).insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperTopRight"}).insert(new Element("div",{className:"prototip_Corner"})))).insert(this.borderMiddle=new Element("li",{className:"borderMiddle borderRow"}).insert(this.borderCenter=new Element("div",{className:"borderCenter"}).setStyle("padding: 0 "+e+"px"))).insert(this.borderBottom=new Element("li",{className:"borderBottom borderRow"}).setStyle("height: "+e+"px").insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperBottomLeft"}).insert(new Element("div",{className:"prototip_Corner"}))).insert(c.cloneNode(true)).insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperBottomRight"}).insert(new Element("div",{className:"prototip_Corner"})))));b="borderCenter";var f=this.borderFrame.select(".prototip_Corner");$w("tl tr bl br").each(function(h,j){if(this.radius>0){Prototip.createCorner(f[j],h,{backgroundColor:this.options.borderColor,border:e,radius:this.options.radius})}else{f[j].addClassName("prototip_Fill")}f[j].setStyle({width:e+"px",height:e+"px"}).addClassName("prototip_Corner"+h.capitalize())}.bind(this));this.borderFrame.select(".prototip_Between",".borderMiddle",".prototip_Fill").invoke("setStyle",{backgroundColor:this.options.borderColor})}this[b].insert(this.tooltip=new Element("div",{className:"tooltip "+this.options.className}).insert(this.toolbar=new Element("div",{className:"toolbar"}).insert(this.title)));if(this.options.width){var d=this.options.width;if(Object.isNumber(d)){d+="px"}this.tooltip.setStyle("width:"+d+" !important")}if(this.stem){var a={};a[this.options.stem.orientation=="horizontal"?"top":"bottom"]=this.stem;this.wrapper.insert(a);this.positionStem()}this.tooltip.insert(this.tip);if(!this.options.ajax){this._update({title:this.options.title,content:this.content})}},_update:function(b){var a=this.wrapper.getStyle("visibility");this.wrapper.setStyle("height:auto;width:auto;visibility:hidden").show();if(this.border){this.borderTop.setStyle("height:0");this.borderTop.setStyle("height:0")}if(b.title){this.title.show().update(b.title);this.toolbar.show()}else{if(!this.closeButton){this.title.hide();this.toolbar.hide()}}if(Object.isElement(b.content)){b.content.show()}if(Object.isString(b.content)||Object.isElement(b.content)){this.tip.update(b.content)}this.tooltip.setStyle({width:this.tooltip.getWidth()+"px"});this.wrapper.setStyle("visibility:visible").show();this.tooltip.show();var d=this.tooltip.getDimensions(),e={width:d.width+"px"},c=[this.wrapper];if(Tips.fixIE){c.push(this.iframeShim)}if(this.closeButton){this.title.show().insert({top:this.closeButton});this.toolbar.show()}if(b.title||this.closeButton){this.toolbar.setStyle("width: 100%")}e.height=null;this.wrapper.setStyle({visibility:a});this.tip.addClassName("clearfix");if(b.title||this.closeButton){this.title.addClassName("clearfix")}if(this.border){this.borderTop.setStyle("height:"+this.border+"px");this.borderTop.setStyle("height:"+this.border+"px");e="width: "+(d.width+2*this.border)+"px";c.push(this.borderFrame)}c.invoke("setStyle",e);if(this.stem){this.positionStem();if(this.options.stem.orientation=="horizontal"){this.wrapper.setStyle({width:this.wrapper.getWidth()+this.options.stem.height+"px"})}}this.wrapper.hide()},activate:function(){this.eventShow=this.showDelayed.bindAsEventListener(this);this.eventHide=this.hide.bindAsEventListener(this);if(this.options.fixed&&this.options.showOn=="mousemove"){this.options.showOn="mouseover"}if(this.options.showOn==this.options.hideOn){this.eventToggle=this.toggle.bindAsEventListener(this);this.element.observe(this.options.showOn,this.eventToggle)}if(this.closeButton){this.closeButton.observe("mouseover",function(e){e.setPngBackground(this.images+"close_hover.png")}.bind(this,this.closeButton)).observe("mouseout",function(e){e.setPngBackground(this.images+"close.png")}.bind(this,this.closeButton))}var c={element:this.eventToggle?[]:[this.element],target:this.eventToggle?[]:[this.target],tip:this.eventToggle?[]:[this.wrapper],closeButton:[],none:[]},a=this.options.hideOn.element;this.hideElement=a||(!this.options.hideOn?"none":"element");this.hideTargets=c[this.hideElement];if(!this.hideTargets&&a&&Object.isString(a)){this.hideTargets=this.tip.select(a)}var b={mouseenter:"mouseover",mouseleave:"mouseout"};$w("show hide").each(function(e){var f=e.capitalize(),g=(this.options[e+"On"].event||this.options[e+"On"]);this[e+"Action"]=g;if(["mouseenter","mouseleave","mouseover","mouseout"].include(g)){this[e+"Action"]=(this.useEvent[g]||g);this["event"+f]=Prototip.capture(this["event"+f])}}.bind(this));if(!this.eventToggle){this.element.observe(this.options.showOn,this.eventShow)}if(this.hideTargets){this.hideTargets.invoke("observe",this.hideAction,this.eventHide)}if(!this.options.fixed&&this.options.showOn=="click"){this.eventPosition=this.position.bindAsEventListener(this);this.element.observe("mousemove",this.eventPosition)}this.buttonEvent=this.hide.wrap(function(e,f){var g=f.findElement(".close");if(g){g.blur();f.stop();e(f)}}).bindAsEventListener(this);if(this.closeButton){this.wrapper.observe("click",this.buttonEvent)}if(this.options.showOn!="click"&&(this.hideElement!="element")){this.eventCheckDelay=Prototip.capture(function(){this.clearTimer("show")}).bindAsEventListener(this);this.element.observe(this.useEvent.mouseout,this.eventCheckDelay)}var d=[this.element,this.wrapper];this.activityEnter=Prototip.capture(function(){Tips.raise(this);this.cancelHideAfter()}).bindAsEventListener(this);this.activityLeave=Prototip.capture(this.hideAfter).bindAsEventListener(this);d.invoke("observe",this.useEvent.mouseover,this.activityEnter).invoke("observe",this.useEvent.mouseout,this.activityLeave);if(this.options.ajax&&this.options.showOn!="click"){this.ajaxHideEvent=Prototip.capture(this.ajaxHide).bindAsEventListener(this);this.element.observe(this.useEvent.mouseout,this.ajaxHideEvent)}},deactivate:function(){if(this.options.showOn==this.options.hideOn){this.element.stopObserving(this.options.showOn,this.eventToggle)}else{this.element.stopObserving(this.options.showOn,this.eventShow);if(this.hideTargets){this.hideTargets.invoke("stopObserving")}}if(this.eventPosition){this.element.stopObserving("mousemove",this.eventPosition)}if(this.eventCheckDelay){this.element.stopObserving("mouseout",this.eventCheckDelay)}this.wrapper.stopObserving();this.element.stopObserving(this.useEvent.mouseover,this.activityEnter).stopObserving(this.useEvent.mouseout,this.activityLeave);if(this.ajaxHideEvent){this.element.stopObserving(this.useEvent.mouseout,this.ajaxHideEvent)}},ajaxShow:function(c,d){if(!this.tooltip){if(!this.build()){return}}this.position(d);if(this.ajaxContentLoading){return}else{if(this.ajaxContentLoaded){c(d);return}}this.ajaxContentLoading=true;var b={fakePointer:{pointerX:Event.pointerX(d),pointerY:Event.pointerY(d)}};var a=Object.clone(this.options.ajax.options);a.onComplete=a.onComplete.wrap(function(e,f){this._update({title:this.options.title,content:f.responseText});this.position(b);(function(){e(f);var g=(this.loader&&this.loader.visible());if(this.loader){this.clearTimer("loader");this.loader.remove();this.loader=null}if(g){this.show()}this.ajaxContentLoaded=true;this.ajaxContentLoading=null}.bind(this)).delay(0.6)}.bind(this));this.loaderTimer=Element.show.delay(this.options.delay,this.loader);this.wrapper.hide();this.ajaxContentLoading=true;this.loader.show();this.ajaxTimer=(function(){new Ajax.Request(this.options.ajax.url,a)}.bind(this)).delay(this.options.delay);return false},ajaxHide:function(){this.clearTimer("loader")},showDelayed:function(a){if(!this.tooltip){if(!this.build()){return}}this.position(a);if(this.wrapper.visible()){return}this.clearTimer("show");this.showTimer=this.show.bind(this).delay(this.options.delay)},clearTimer:function(a){if(this[a+"Timer"]){clearTimeout(this[a+"Timer"])}},show:function(){if(this.wrapper.visible()){return}if(Tips.fixIE){this.iframeShim.show()}if(this.options.hideOthers){Tips.hideAll()}Tips.addVisibile(this);this.tooltip.show();this.wrapper.show();if(this.stem){this.stem.show()}this.element.fire("prototip:shown")},showNow:function(){this._build();this.position();this.show()},hideAfter:function(a){if(this.options.ajax){if(this.loader&&this.options.showOn!="click"){this.loader.hide()}}if(!this.options.hideAfter){return}this.cancelHideAfter();this.hideAfterTimer=this.hide.bind(this).delay(this.options.hideAfter)},cancelHideAfter:function(){if(this.options.hideAfter){this.clearTimer("hideAfter")}},hide:function(){this.clearTimer("show");this.clearTimer("loader");if(!this.wrapper.visible()){return}this.afterHide()},afterHide:function(){if(Tips.fixIE){this.iframeShim.hide()}if(this.loader){this.loader.hide()}this.wrapper.hide();(this.borderFrame||this.tooltip).show();Tips.removeVisible(this);this.element.fire("prototip:hidden")},toggle:function(a){if(this.wrapper&&this.wrapper.visible()){this.hide(a)}else{this.showDelayed(a)}},positionStem:function(){var e=this.options.stem,f=arguments[0]||this.stemInverse,d=Tips.inverseStem(e.position[0],f[e.orientation]),b=Tips.inverseStem(e.position[1],f[Tips._inverse[e.orientation]]),a=this.radius||0;this.stemImage.setPngBackground(this.images+d+b+".png");if(e.orientation=="horizontal"){var c=(d=="left")?e.height:0;this.stemWrapper.setStyle("left: "+c+"px;");this.stemImage.setStyle({"float":d});this.stem.setStyle({left:0,top:(b=="bottom"?"100%":b=="middle"?"50%":0),marginTop:(b=="bottom"?-1*e.width:b=="middle"?-0.5*e.width:0)+(b=="bottom"?-1*a:b=="top"?a:0)+"px"})}else{this.stemWrapper.setStyle(d=="top"?"margin: 0; padding: "+e.height+"px 0 0 0;":"padding: 0; margin: 0 0 "+e.height+"px 0;");this.stem.setStyle(d=="top"?"top: 0; bottom: auto;":"top: auto; bottom: 0;");this.stemImage.setStyle({margin:0,"float":b!="middle"?b:"none"});if(b=="middle"){this.stemImage.setStyle("margin: 0 auto;")}else{this.stemImage.setStyle("margin-"+b+": "+a+"px;")}if(Tips.WebKit419){if(d=="bottom"){this.stem.setStyle({position:"relative",clear:"both",top:"auto",bottom:"auto","float":"left",width:"100%",margin:(-1*e.height)+"px 0 0 0"});this.stem.style.display="block"}else{this.stem.setStyle({position:"absolute","float":"none",margin:0})}}}this.stemInverse=f},position:function(c){if(!this.tooltip){if(!this.build()){return}}Tips.raise(this);if(Tips.fixIE){var d=this.wrapper.getDimensions();if(!this.iframeShimDimensions||this.iframeShimDimensions.height!=d.height||this.iframeShimDimensions.width!=d.width){this.iframeShim.setStyle({width:d.width+"px",height:d.height+"px"})}this.iframeShimDimensions=d}if(this.options.hook){var h,k;if(this.mouseHook){var g=document.viewport.getScrollOffsets(),b=c.fakePointer||{};var l,j=2;switch(this.mouseHook.toUpperCase()){case"LEFTTOP":case"TOPLEFT":l={x:0-j,y:0-j};break;case"TOPMIDDLE":l={x:0,y:0-j};break;case"TOPRIGHT":case"RIGHTTOP":l={x:j,y:0-j};break;case"RIGHTMIDDLE":l={x:j,y:0};break;case"RIGHTBOTTOM":case"BOTTOMRIGHT":l={x:j,y:j};break;case"BOTTOMMIDDLE":l={x:0,y:j};break;case"BOTTOMLEFT":case"LEFTBOTTOM":l={x:0-j,y:j};break;case"LEFTMIDDLE":l={x:0-j,y:0};break}l.x+=this.options.offset.x;l.y+=this.options.offset.y;h=Object.extend({offset:l},{element:this.options.hook.tip,mouseHook:this.mouseHook,mouse:{top:b.pointerY||Event.pointerY(c)-g.top,left:b.pointerX||Event.pointerX(c)-g.left}});k=Tips.hook(this.wrapper,this.target,h);if(this.options.viewport){var e=this.getPositionWithinViewport(k),f=e.stemInverse;k=e.position;k.left+=f.vertical?2*Prototip.toggleInt(l.x-this.options.offset.x):0;k.top+=f.vertical?2*Prototip.toggleInt(l.y-this.options.offset.y):0;if(this.stem&&(this.stemInverse.horizontal!=f.horizontal||this.stemInverse.vertical!=f.vertical)){this.positionStem(f)}}k={left:k.left+"px",top:k.top+"px"};this.wrapper.setStyle(k)}else{h=Object.extend({offset:this.options.offset},{element:this.options.hook.tip,target:this.options.hook.target});k=Tips.hook(this.wrapper,this.target,Object.extend({position:true},h));k={left:k.left+"px",top:k.top+"px"}}if(this.loader){var n=Tips.hook(this.loader,this.target,Object.extend({position:true},h))}if(Tips.fixIE){this.iframeShim.setStyle(k)}}else{var m=this.target.cumulativeOffset(),b=c.fakePointer||{},k={left:((this.options.fixed)?m[0]:b.pointerX||Event.pointerX(c))+this.options.offset.x,top:((this.options.fixed)?m[1]:b.pointerY||Event.pointerY(c))+this.options.offset.y};if(!this.options.fixed&&this.element!==this.target){var a=this.element.cumulativeOffset();k.left+=-1*(a[0]-m[0]);k.top+=-1*(a[1]-m[1])}if(!this.options.fixed&&this.options.viewport){var e=this.getPositionWithinViewport(k),f=e.stemInverse;k=e.position;if(this.stem&&(this.stemInverse.horizontal!=f.horizontal||this.stemInverse.vertical!=f.vertical)){this.positionStem(f)}}k={left:k.left+"px",top:k.top+"px"};this.wrapper.setStyle(k);if(this.loader){this.loader.setStyle(k)}if(Tips.fixIE){this.iframeShim.setStyle(k)}}},getPositionWithinViewport:function(f){var d={horizontal:false,vertical:false},e=this.wrapper.getDimensions(),g=document.viewport.getScrollOffsets(),a=document.viewport.getDimensions(),b={left:"width",top:"height"};for(var c in b){if((f[c]+e[b[c]]-g[c])>a[b[c]]){f[c]=f[c]-(e[b[c]]+(2*this.options.offset[c=="left"?"x":"y"]));if(this.stem){d[Tips._stemTranslation[b[c]]]=true}}}return{position:f,stemInverse:d}}});Object.extend(Prototip,{createCorner:function(c,b){var d=arguments[2]||this.options,h=d.radius,e=d.border,f=new Element("canvas",{className:"cornerCanvas"+b.capitalize(),width:e+"px",height:e+"px"}),a={top:(b.charAt(0)=="t"),left:(b.charAt(1)=="l")};if(f&&f.getContext&&f.getContext("2d")){c.insert(f);var g=f.getContext("2d");g.fillStyle=d.backgroundColor;g.arc((a.left?h:e-h),(a.top?h:e-h),h,0,Math.PI*2,true);g.fill();g.fillRect((a.left?h:0),0,e-h,e);g.fillRect(0,(a.top?h:0),e,e-h)}else{c.insert(new Element("div").setStyle({width:e+"px",height:e+"px",margin:0,padding:0,display:"block",position:"relative",overflow:"hidden"}).insert(new Element("v:roundrect",{fillcolor:d.backgroundColor,strokeWeight:"1px",strokeColor:d.backgroundColor,arcSize:(h/e*0.5).toFixed(2)}).setStyle({width:2*e-1+"px",height:2*e-1+"px",position:"absolute",left:(a.left?0:(-1*e))+"px",top:(a.top?0:(-1*e))+"px"})))}}});Element.addMethods({setPngBackground:function(b,c){b=$(b);var a=Object.extend({align:"top left",repeat:"no-repeat",sizingMethod:"scale",backgroundColor:""},arguments[2]||{});b.setStyle(Tips.fixIE?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+c+"'', sizingMethod='"+a.sizingMethod+"')"}:{background:a.backgroundColor+" url("+c+") "+a.align+" "+a.repeat});return b}});Prototip.Methods={show:function(){Tips.raise(this);this.cancelHideAfter();var b={};if(this.options.hook){b.fakePointer={pointerX:0,pointerY:0}}else{var a=this.target.cumulativeOffset(),c=this.target.cumulativeScrollOffset(),d=document.viewport.getScrollOffsets();a.left+=(-1*(c[0]-d[0]));a.top+=(-1*(c[1]-d[1]));b.fakePointer={pointerX:a.left,pointerY:a.top}}if(this.options.ajax){this.ajaxShow(b)}else{this.showDelayed(b)}this.hideAfter()}};Prototip.extend=function(a){a.element.prototip={};Object.extend(a.element.prototip,{show:Prototip.Methods.show.bind(a),hide:a.hide.bind(a),remove:Tips.remove.bind(Tips,a.element)})};Prototip.start();ProtoCheck=Class.create({initialize:function(a){this.options={checkClass:"pc_checkbox",radioClass:"pc_radiobutton",checkOnClass:"pc_check_checked",checkOffClass:"pc_check_unchecked",radioOnClass:"pc_radio_checked",radioOffClass:"pc_radio_unchecked",checkOnDisabledClass:"pc_check_checked_disabled",checkOffDisabledClass:"pc_check_unchecked_disabled",radioOnDisabledClass:"pc_radio_checked_disabled",radioOffDisabledClass:"pc_radio_unchecked_disabled",focusClass:"pc_focus"};Object.extend(this.options,a||{});this.classez=[];this.disClassez=[];this.classez.checkbox={on:this.options.checkOnClass,off:this.options.checkOffClass};this.disClassez.checkbox={on:this.options.checkOnDisabledClass,off:this.options.checkOffDisabledClass};this.classez.radio={on:this.options.radioOnClass,off:this.options.radioOffClass};this.disClassez.radio={on:this.options.radioOnDisabledClass,off:this.options.radioOffDisabledClass};var b=$$("label."+this.options.checkClass).concat($$("label."+this.options.radioClass));b.each(function(c){var d=c.down();if(d.type=="hidden"){c.insert({before:d});d=c.down()}d.setStyle({position:"absolute",left:"-9999px"});if(d.checked){this.check(d,c)}else{this.uncheck(d,c)}if(!d.disabled){d.observe("click",function(e){this.click(e)}.bind(this));d.observe("focus",function(e){this.focus(e)}.bind(this));d.observe("blur",function(e){this.blur(e)}.bind(this));if(this.fixIE){c.observe("click",function(e){this.clickIE6(e)}.bind(this))}}}.bind(this))},fixIE:(function(b){var a=new RegExp("MSIE ([\\d.]+)").exec(b);return a?(parseFloat(a[1])<=6):false})(navigator.userAgent),check:function(c,a){var b=c.disabled?this.disClassez[c.type]:this.classez[c.type];a.addClassName(b.on).removeClassName(b.off)},uncheck:function(c,a){var b=c.disabled?this.disClassez[c.type]:this.classez[c.type];a.addClassName(b.off).removeClassName(b.on)},focus:function(b){var a=b.element().up();a.addClassName(this.options.focusClass)},blur:function(b){var a=b.element().up();a.removeClassName(this.options.focusClass)},click:function(c){var b=c.element();var a=b.up();this.update(c,b,a)},clickIE6:function(c){var a=c.element();if(a.nodeName=="LABEL"){var b=a.down();b.click()}},update:function(c,b,a){if(a.hasClassName(this.options.checkClass)){if(b.checked){this.check(b,a)}else{this.uncheck(b,a)}}if(a.hasClassName(this.options.radioClass)){$$("input[name="+b.name+"]").each(function(d){if(b!=d){this.uncheck(d,d.up())}}.bind(this));this.check(b,a)}b.focus()}});var BrowserStorage=Class.create({initialize:function(){this.reset_storage()},set:function(a,b){var c=this.get_storage();c[a]=b;this.persist_storage(c)},get:function(a){var b=this.get_storage();return b[a]||null},remove:function(a){var b=this.get_storage();delete b[a];this.persist_storage(b)},get_storage:function(){var a=null;try{a=top.window.name.evalJSON(true)}catch(b){a={}}return a},persist_storage:function(a){top.window.name=Object.toJSON(a)},reset_storage:function(){if(!top.window.name.isJSON()){this.persist_storage({})}}});var BilderbuchRoles={editor:"1",Editor:"1","1":"1",role_1:"1",admin:"2",Administrator:"2","2":"2",role_2:"2",user:"3",Benutzer:"3","3":"3",role_3:"3",paid_user:"4","Bezahlter Fotograf":"4","4":"4",role_4:"4",patron:"8",Strassenpate:"8","8":"8",role_8:"8",jury:"16",Jury:"16","16":"16",role_16:"16",partner:"32",Vermittler:"32","32":"32",role_32:"32",archive:"64",Archiv:"64","64":"64",role_64:"64",advertiser:"128",Werbekunde:"128","128":"128",role_128:"128",shopper:"256",Kunde:"256","256":"256",role_256:"256",writer:"512",Redakteur:"512","512":"512",role_512:"512",memorial_conservator:"1024",Denkmalpfleger:"1024","1024":"1024",role_1024:"1024",sales_force:"2048",Vertriebsmitarbeiter:"2048","2048":"2048",role_2048:"2048",sales_force_manager:"4096",Vertriebsleiter:"4096","4096":"4096",role_4096:"4096",store_shopper:"8192",Ladenkunde:"8192","8192":"8192",role_8192:"8192",photo_seller:"8193",Fotoverkaeufer:"8193","8193":"8193",role_8193:"8193",affiliate:"8194",Affiliate:"8194","8194":"8194",role_8194:"8194",reseller:"8195","Weiterverk\u00e4ufer":"8195","8195":"8195",role_8195:"8195",sales_agent:"8196",Vermittlungspartner:"8196","8196":"8196",role_8196:"8196",potential_photo_seller:"8197","potentielle Fotoverkaeufer":"8197","8197":"8197",role_8197:"8197",competition_user:"8198",Wettbewerbsteilnehmer:"8198","8198":"8198",role_8198:"8198",order_processor:"8199","Bestellungen Bearbeiter":"8199","8199":"8199",role_8199:"8199",tenants_admin:"8200","Admin Mandanten":"8200","8200":"8200",role_8200:"8200",photo_publisher:"8201",Fotograf:"8201","8201":"8201",role_8201:"8201",picturebook_partner:"8202","Bilderbuch Partner":"8202","8202":"8202",role_8202:"8202"};var UserPrefs=Class.create({initialize:function(a){this.accepts_cookie=Cookie.accept();this.read_from_browser();this.browser_storage=a},store_hide_hint:function(hint,callback){var ths=this;this.user.hide_hints.push(hint.id);if(this.user.registered){new Ajax.Request("/users/hide_hint/"+hint.id,{method:"post",onComplete:function(transport){ths.user=eval("("+transport.responseText+")");ths.save_to_browser();callback.call(hint)}})}else{this.save_to_browser();callback.call(hint)}},hide_hint:function(a){return this.user.hide_hints.include(a)},setPref:function(name,value){if(this.user.registered){var ths=this;new Ajax.Request("/users/change_pref",{parameters:{name:name,value:value},onSuccess:function(transport){ths.user=eval("("+transport.responseText+")");ths.save_to_browser()}})}else{this.user[name]=value;this.save_to_browser()}},getPref:function(a,c){var b=this.user[a];if(b){return b}if(c){return c}return null},save_to_browser:function(){var a=Object.toJSON(this.user);if(this.accepts_cookie){Cookie.set("user_prefs",a,365)}else{this.browser_storage.set("u_p",a)}},read_from_browser:function(){var a=(this.accepts_cookie?Cookie.get("user_prefs"):this.browser_storage.get("u_p"));try{this.user=a.evalJSON(true)}catch(b){this.user={registered:false}}if(!this.user.hide_hints){this.user.hide_hints=new Array()}},has_role:function(a){if(!this.roles){this.roles=this.getPref("roles"," ").split(",")}return this.roles.include(Number(BilderbuchRoles[a]))}});if(top.location.href.match(/#\d+$/)){top.location.href=top.location.href.replace(/^(.*\/)([0-9]+)([^#]*)?#([0-9]+)$/,"$1$4$3")}var _bb_images=new Hash();var _bb_related_images=null;var _bb_city_maps=new Hash();var _bb_map=null;var _bb_page_tracker=null;var _bb_scroller=null;var _bb_hint_manager=null;var _bb_path="";var _bb_action="";var _bb_controller="";var _bb_image_id=null;var _bb_current_env="";var _bb_query=null;var _bb_typelist_collection=null;var _bb_typelist=null;var _bilderbuch_streets=null;var _bilderbuch_streets_idx=0;var gaJsHost=null;var my_glider=null;var _bb_browser_storage=new BrowserStorage();var _bb_user_prefs=new UserPrefs(_bb_browser_storage);var _bb_admin=_bb_user_prefs.has_role("admin");var _bb_editor=_bb_user_prefs.has_role("editor");var _bb_redakteur=_bb_user_prefs.has_role("writer");var _bb_archive=_bb_user_prefs.has_role("archive");var _bb_memorial_conservator=_bb_user_prefs.has_role("memorial_conservator");var _bb_sales_force=_bb_user_prefs.has_role("sales_force");var _is_local_file_request=null;var Bilderbuch={Browser:{IE6:(Prototype.Browser.IE&&navigator.userAgent.match("MSIE [56]")),IE5:(Prototype.Browser.IE&&navigator.userAgent.match("MSIE 5"))}};Element.addMethods({insertAsFirstChild:function(a,b){a=$(a);b=$(b);var c=a.firstDescendant();if(c){c.insert({before:b})}else{a.appendChild(b)}}});function is_local_file_request(){if(_is_local_file_request==null){_is_local_file_request=(top.location.href.indexOf("file:")==0)}return _is_local_file_request}if(typeof(GControl)!="undefined"){var GmapBilderbuch={map_target_small_many:(Bilderbuch.Browser.IE6?"/images/plus.gif":"/images/plus.png"),map_target_small_hit:(Bilderbuch.Browser.IE6?"/images/hit.gif":"/images/hit.png"),dragmarker_icon_set_format:(Bilderbuch.Browser.IE6?"gif":"png"),add_png_hack:function(){if(Bilderbuch.Browser.IE6&&document.all&&document.styleSheets&&document.styleSheets[0]&&document.styleSheets[0].addRule){document.styleSheets[0].addRule("div#map img","behavior: url(/javascripts/iepngfix.htc)")}}};function CityZoomControl(){}CityZoomControl.prototype=new GControl();CityZoomControl.prototype.initialize=function(b){var a=document.createElement("div");this.city_zoom_div=document.createElement("div");this.city_zoom_div.setAttribute("id","city_coomer_link");this.city_zoom_div.style.textDecoration="none";this.city_zoom_div.style.color="#000";this.city_zoom_div.style.backgroundColor="#FFEFF0";this.city_zoom_div.style.font="0.9em Arial";this.city_zoom_div.style.border="0px";this.city_zoom_div.style.padding="2px";this.city_zoom_div.style.marginBottom="3px";this.city_zoom_div.style.textAlign="center";this.city_zoom_div.style.width="11em";if(!Bilderbuch.Browser.IE5){this.city_zoom_div.style.cursor="pointer"}a.appendChild(this.city_zoom_div);this.text=document.createTextNode("4 Klicks zum Ziel");this.city_zoom_div.appendChild(this.text);b.getContainer().appendChild(a);return a};CityZoomControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(7,7))};function BilderbuchZoomControl(){}BilderbuchZoomControl.prototype=new GControl();BilderbuchZoomControl.prototype.initialize=function(d){var b=new Element("div");var e=document.createElement("img");e.setAttribute("class","map_layout_png");e.src="/images/map_plus.png";e.width=31;e.height=31;GEvent.addDomListener(e,"click",function(){d.zoomIn();d.bilderbuch_context.options.zoom=d.getZoom();if(d.bilderbuch_context.options.onMapZoomChange){d.bilderbuch_context.options.onMapZoomChange.call(d.bilderbuch_context,d.getZoom())}});var a=document.createElement("img");a.setAttribute("class","map_layout_png");a.src="/images/map_minus.png";a.width=31;a.height=31;GEvent.addDomListener(a,"click",function(){d.zoomOut();d.bilderbuch_context.options.zoom=d.getZoom();if(d.bilderbuch_context.options.onMapZoomChange){d.bilderbuch_context.options.onMapZoomChange.call(d.bilderbuch_context,d.getZoom())}});d.bilderbuch_context.type_image=document.createElement("img");var c=d.bilderbuch_context.type_image;c.setAttribute("class","map_layout_png");c.width=93;c.height=31;d.bilderbuch_context.initMapType();GEvent.addDomListener(c,"click",function(){d.bilderbuch_context.toggleMapType()});b.appendChild(c);b.appendChild(a);b.appendChild(e);b.setStyle({width:"178px",height:"31px","float":"left"});e.style.display="inline";a.style.display="inline";c.style.display="inline";e.style.margin="0 0 0 5px";a.style.margin="0 0 0 5px";if(!Bilderbuch.Browser.IE5){b.style.cursor="pointer"}d.getContainer().appendChild(b);return b};BilderbuchZoomControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(10,7))}}var CityMap=Class.create({initialize:function(a){if(typeof(GControl)!="undefined"&&GBrowserIsCompatible()){var b={country:"Deutschland",city:$("current_city").getAttribute("content"),zip:$("current_city_zip").getAttribute("content"),zoom:$("current_city_zoom").getAttribute("content"),map_type:$("current_city_type").getAttribute("content"),lat:$("current_city_lat").getAttribute("content"),lng:$("current_city_lng").getAttribute("content"),deg:360,exact_address:true,removeMapDataString:true,addCustomZoomControl:true,addCityZoomControl:false,onMapTypeChange:null,onMapZoomChange:null,onCurrentPointChange:null,onRotationChange:null,onMoveEnd:null,onMouseOut:null,addPolygon:false,polygon:new Array(),addDragMarker:false,addRotationMarker:false,addHitMarker:false,addRelatedMarkers:true,addRelatedPopups:true,relatedImagesClass:".show_on_map",relatedImagesArray:null,onRelatedOver:null,onRelatedOut:null,onRelatedCreate:null,onRelatedClick:null};this.map_element=$(a);this.options=Object.extend(b,arguments[1]||{});this.options.zoom=Number(this.options.zoom);if($$("body")[0]){Event.observe($$("body")[0],"unload",GUnload)}this.geocoder=new GClientGeocoder();this.update_current_point();this.map=new GMap2($(a));this.map.setCenter(this.current_point,this.options.zoom,this.mapTypeStringToConstant());this.fixMapTypeZoom();this.map.bilderbuch_context=this;if(this.options.addCustomZoomControl){this.map.addControl(new BilderbuchZoomControl())}else{this.map.addControl(new GSmallZoomControl())}if(this.options.addCityZoomControl){this.ccontrol=new CityZoomControl();this.map.addControl(this.ccontrol);GEvent.addDomListener(this.ccontrol.city_zoom_div,"click",this.city_zoomer_click.bindAsEventListener(this));this.zoom_in_click_listener=null}if(this.options.removeMapDataString){this.remove_count=0;this.bind_usage=this.add_usage_hints.bind(this);setTimeout(this.bind_usage,500)}this.dragmarker_create();this.rotatemarker_create();this.hitmarker_create();if(this.options.addRelatedMarkers){this.relatedmarkers_create()}if(this.options.addPolygon){this.polygon_create()}if(this.options.onMouseOut){GEvent.addListener(this.map,"mouseout",this.options.onMouseOut.bindAsEventListener(this))}GEvent.addListener(this.map,"moveend",this.on_moveend.bindAsEventListener(this));GmapBilderbuch.add_png_hack();GEvent.addListener(this.map,"mousemove",this.map_mouse_move.bindAsEventListener(this))}},add_usage_hints:function(){var a=false;this.map_element.select("span").each(function(b){var c=b.innerHTML;if(c.indexOf("Grafiken")!=-1){b.hide();a=true}});if(!a&&this.remove_count<12){this.remove_count++;setTimeout(this.bind_usage,500)}},hitmarker_create:function(){if(this.options.addHitMarker){var a=new GIcon();if(this.options.hitMarkerSrc&&this.options.hitMarkerAnchor&&this.options.hitMarkerSize){a.image=this.options.hitMarkerSrc;a.iconAnchor=this.options.hitMarkerAnchor;a.iconSize=this.options.hitMarkerSize}else{a.image=GmapBilderbuch.map_target_small_hit;a.iconAnchor=new GPoint(15,15);a.iconSize=new GSize(30,30)}this.hit_marker=new GMarker(this.current_point,{icon:a,zIndexProcess:function(){return -900000000}});this.map.addOverlay(this.hit_marker)}},hitmarker_update:function(){if(this.options.addHitMarker){this.hit_marker.setLatLng(this.current_point)}},hitmarker_destroy:function(){if(this.options.addHitMarker&&this.hit_marker){this.map.removeOverlay(this.hit_marker);this.hit_marker=null}},dragmarker_getIcon:function(b){var c=(b?b:this.options.deg);var a=new GIcon();if(String(c).match(/^\d+$/)){a.image="/images/deg/"+c+"."+GmapBilderbuch.dragmarker_icon_set_format}else{a.image="/images/deg/360."+GmapBilderbuch.dragmarker_icon_set_format}a.shadow=null;a.iconAnchor=new GPoint(12,12);a.iconSize=new GSize(25,25);a.shadowSize=null;return a},dragmarker_create:function(){if(this.options.addDragMarker){if(this.options.addRotationMarker){this.dragmarker=new GMarker(this.current_point,{draggable:true,icon:this.dragmarker_getIcon(),zIndexProcess:function(){return +900000000}})}else{this.dragmarker=new GMarker(this.current_point,{draggable:true,zIndexProcess:function(){return +900000000}})}this.map.addOverlay(this.dragmarker);GEvent.addListener(this.dragmarker,"dragend",this.dragmarker_dragend.bindAsEventListener(this));GEvent.addListener(this.dragmarker,"dragstart",this.dragmarker_dragstart.bindAsEventListener(this))}},dragmarker_dragstart:function(){this.backup_addRelatedPopups=this.options.addRelatedPopups;this.options.addRelatedPopups=false},dragmarker_dragend:function(){this.current_point=this.dragmarker.getPoint();this.center_map();if(this.rotatemarker){this.rotatemarker.setLatLng(this.rotatemarker_getLatLng())}this.options.addRelatedPopups=this.backup_addRelatedPopups;this.on_currentpoint_change()},dragmarker_destroy:function(){if(this.options.addDragMarker&&this.dragmarker){this.map.removeOverlay(this.dragmarker);this.dragmarker=null}},rotatemarker_getIcon:function(){var a=new GIcon();a.image="/images/hand."+GmapBilderbuch.dragmarker_icon_set_format;a.shadow=null;a.iconAnchor=new GPoint(12,12);a.iconSize=new GSize(25,25);a.shadowSize=null;return a},rotatemarker_getLatLng:function(b){var e=(b?b:this.options.deg);var a=((e-90)/180)*Math.PI;var c=this.map.fromLatLngToContainerPixel(this.current_point);c.x+=30*Math.cos(a);c.y+=30*Math.sin(a);return this.map.fromContainerPixelToLatLng(c)},rotatemarker_create:function(){if(this.options.addRotationMarker){this.rotatemarker=new GMarker(this.rotatemarker_getLatLng(),{draggable:true,icon:this.rotatemarker_getIcon(),zIndexProcess:function(){return +900000000}});this.map.addOverlay(this.rotatemarker);GEvent.addListener(this.rotatemarker,"dragstart",this.rotatemarker_dragstart.bindAsEventListener(this));GEvent.addListener(this.rotatemarker,"dragend",this.rotatemarker_dragend.bindAsEventListener(this));GEvent.addListener(this.rotatemarker,"drag",this.rotatemarker_dragging.bindAsEventListener(this))}},rotatemarker_dragging:function(){var c=this.map.fromLatLngToContainerPixel(this.dragmarker.getPoint());var a=this.map.fromLatLngToContainerPixel(this.rotatemarker.getPoint());this.options.deg=Math.abs(Math.floor(Math.atan2(c.x-a.x,a.y-c.y)*180/Math.PI))+180;if(a.x>c.x){this.options.deg=360-this.options.deg}if(this.options.deg==360){this.options.deg=0}var b=Math.abs(Math.floor((a.x-c.x)*(a.x-c.x)+(a.y-c.y)*(a.y-c.y)));if(b<220){this.options.deg=360}this.dragmarker.setImage("/images/deg/"+this.options.deg+"."+GmapBilderbuch.dragmarker_icon_set_format)},rotatemarker_dragstart:function(){this.backup_addRelatedPopups=this.options.addRelatedPopups;this.options.addRelatedPopups=false},rotatemarker_dragend:function(){if(this.options.onRotationChange){this.options.onRotationChange.call(this,this.options.deg,this.rotatemarker.getLatLng().lat(),this.rotatemarker.getLatLng().lng())}this.options.addRelatedPopups=this.backup_addRelatedPopups},rotatemarker_destroy:function(){if(this.options.addRotationMarker&&this.rotatemarker){this.map.removeOverlay(this.rotatemarker);this.rotatemarker=null}},relatedmarkers_create:function(){var a=this;var c=new GIcon();c.image=GmapBilderbuch.map_target_small_many;c.iconAnchor=new GPoint(-4,-4);c.iconSize=new GSize(5,5);var b=null;this.hitmarker_update();if(this.options.relatedImagesArray){this.options.relatedImagesArray.each(function(f){var d=new GLatLng(f.lat,f.lng);var e=new GMarker(d,{icon:this.dragmarker_getIcon(f.deg)});if(this.options.onRelatedCreate){this.options.onRelatedCreate.call(this,e,f)}this.map.addOverlay(e);e.related_image=f;e.related_image_id=f.id;if(a.options.onRelatedClick){GEvent.addListener(e,"click",function(){a.options.onRelatedClick.call(a,e)})}GEvent.addListener(e,"mouseover",function(g){a.related_marker_popup_show(this,g)});GEvent.addListener(e,"mouseout",function(g){a.related_marker_mouse_out(this,g)})},this)}else{$$(this.options.relatedImagesClass).each(function(f){var d=new GLatLng(f.getAttribute("lat"),f.getAttribute("lng"));if(!(this.dragmarker&&d.equals(this.dragmarker.getLatLng()))){var e=new GMarker(d,{icon:this.dragmarker_getIcon(f.getAttribute("deg"))});if(this.options.onRelatedCreate){this.options.onRelatedCreate.call(this,e,f)}this.map.addOverlay(e);e.related_image=f;e.related_image_id=e.related_image.up("a").getAttribute("bb_id");if(a.options.onRelatedClick){GEvent.addListener(e,"click",function(){a.options.onRelatedClick.call(a,e)})}GEvent.addListener(e,"mouseover",function(g){a.related_marker_popup_show(this,g)});GEvent.addListener(e,"mouseout",function(g){a.related_marker_mouse_out(this,g)})}},this)}},map_mouse_move:function(a){this.current_mouse_point=a},related_marker_mouse_out:function(c,a){if(c.dom_popup){var d=this.map.fromLatLngToContainerPixel(this.current_mouse_point);var g=c.dom_popup.positionedOffset();var b=c.dom_popup.getWidth();var e=c.dom_popup.getHeight();var f=new GBounds([new GPoint(g[0],g[1]),new GPoint(g[0]+b,g[1]+e)]);if(!f.containsPoint(d)){c.dom_popup.remove()}}if(this.options.onRelatedOut){this.options.onRelatedOut.call(ths,c)}},related_marker_popup_show:function(c,b){if(this.options.addRelatedPopups){var f=this.map.fromLatLngToContainerPixel(b);var g=new Element("img",{src:c.related_image.src});var h=g.width;var a=g.height;var j=new Element("div",{style:"position:absolute;top:"+(f.y-(a+1))+"px;left:"+(f.x-(h+1))+"px;z-index:10000;border:1px solid white","class":"related_marker_popups"});j.appendChild(g);c.dom_popup=j;c.dom_popup.observe("mouseout",function(d){if(!Position.within(this,Event.pointerX(d),Event.pointerY(d))){if(this.parentNode){this.remove()}}});c.dom_popup.observe("mouseover",function(d){});this.map_element.appendChild(j);var e=this;if(this.options.onRelatedClick){c.dom_popup.observe("click",function(d){e.options.onRelatedClick.call(e,c,d)})}}if(this.options.onRelatedOver){this.options.onRelatedOver.call(this,c)}},on_currentpoint_change:function(){if(this.options.onCurrentPointChange){this.options.onCurrentPointChange.call(this,this.current_point.lat(),this.current_point.lng())}},on_moveend:function(){this.update_region();if(this.options.onMoveEnd){this.options.onMoveEnd.call(this)}},city_zoomer_click:function(){var a=this;this.dragmarker_destroy();this.rotatemarker_destroy();this.hitmarker_destroy();this.hit_marker;this.geocoder.getLatLng(this.options.city+", "+this.options.country,function(b){a.map.setZoom(12);a.current_point=b;a.center_map()});if(this.zoom_in_click_listener){GEvent.removeListener(this.zoom_in_click_listener)}this.zoom_in_click_listener=GEvent.addListener(this.map,"click",this.city_zoom_click.bind(this))},city_zoom_click:function(b,a){this.current_point=a;var c=this.map.getZoom();if(c<13){c=13}else{if(c<15){c=15}else{if(c<17){c=17}else{c=18}}}this.map.setCenter(this.current_point,c,this.mapTypeStringToConstant());if(this.map.getZoom()>=17&&!this.dragmarker){this.dragmarker_create();if(this.options.addRotationMarker){this.rotatemarker_create()}this.hitmarker_create()}},polygon_create:function(){var b=this.options.polygon.collect(function(c){coords=c.split(",");return new GLatLng(coords[0],coords[1])});var a=new GPolygon(b,"#FF0000",3,1,"#FF0000",0.2);this.map.addOverlay(a)},center_map:function(){this.map.panTo(this.current_point);if(this.options.addDragMarker&&this.dragmarker){this.dragmarker.setPoint(this.current_point)}if(this.options.addRotationMarker&&this.rotatemarker){this.rotatemarker.setPoint(this.rotatemarker_getLatLng())}this.hitmarker_update()},reposition:function(d,b,c,a){if(d!=0&&b!=0){this.current_point=new GLatLng(d,b);if(c){this.options.deg=c}if(a){this.geocoder.getLocations(this.current_point,function(e){if(e.Status.code==200){a.call(e.Placemark[0])}})}this.map.panTo(this.current_point)}},update_region:function(){var a=this.map.getBounds();var c=a.getSouthWest().lat()+"x"+a.getSouthWest().lng()+"x"+a.getNorthEast().lat()+"x"+a.getNorthEast().lng();this.map_element.setAttribute("region",c)},overlays_refresh:function(){this.map.clearOverlays();if(this.options.addRelatedMarkers){this.relatedmarkers_create();$$(".related_marker_popups").invoke("remove")}if(this.options.addPolygon){this.polygon_create()}if(this.options.addDragMarker){this.dragmarker_create()}if(this.options.addRotationMarker){this.rotatemarker_create()}this.hitmarker_create()},toggleMapType:function(){switch(this.map.getCurrentMapType()){case G_HYBRID_MAP:this.map.setMapType(G_NORMAL_MAP);this.type_image.src="/images/map_type_satellit.png";break;case G_NORMAL_MAP:this.map.setMapType(G_SATELLITE_MAP);this.type_image.src="/images/map_type_hybrid.png";break;case G_SATELLITE_MAP:this.map.setMapType(G_HYBRID_MAP);this.type_image.src="/images/map_type_karte.png";break}if(this.options.onMapTypeChange){this.options.onMapTypeChange.call(this,this.map.getCurrentMapType().getName())}this.map.setZoom(this.options.zoom);this.fixMapTypeZoom()},initMapType:function(){switch(this.map.getCurrentMapType()){case G_HYBRID_MAP:this.type_image.src="/images/map_type_karte.png";break;case G_NORMAL_MAP:this.type_image.src="/images/map_type_satellit.png";break;case G_SATELLITE_MAP:this.type_image.src="/images/map_type_hybrid.png";break}},mapTypeStringToConstant:function(){switch(this.options.map_type){case"Hybrid":return G_HYBRID_MAP;case"Satellit":return G_SATELLITE_MAP;case"Karte":return G_NORMAL_MAP;default:return G_HYBRID_MAP}},fixMapTypeZoom:function(){},update_current_point:function(){this.current_point=new GLatLng(this.options.lat,this.options.lng)},finder:function(h,b,f){if(b){var d=$F(b);if((!d||d.length==0)&&!this.options.zip){d=""}}else{d=""}var c=$F(h);var e=null;if(c){var g=c.match(/\(([^\)]+)\)/);if(g){e=g[1]}c=c.gsub(/\([^\)]+\)/,"");if(c=="Neven-DuMont-Str."){c="Neven-Du-Mont-Str."}}else{if(this.options.zip){c=""}else{c="Roncalliplatz"}}var k=c;if(!k.include(d)){k+=" "+d}if(k.length>1){k+=", "}var j=this.options.city;if(!this.options.zip&&this.options.city_part){j+=" - "+this.options.city_part}if(!this.options.zip&&!this.options.city_part&&e){j+=" - "+e}if(this.options.zip===null){this.options.zip=""}k+=this.options.zip+" "+j+", "+this.options.country;var a=this;this.geocoder.getLatLng(k,function(l){if(l){a.current_point=l;a.center_map();if(f){a.on_currentpoint_change()}}})}});var ImageTag=Class.create({default_width:92,default_height:69,default_relative_zoom:0.14375,initialize:function(b){var a=Object.extend({direction:null,onMouseDown:Prototype.emptyFunction,thumbnail:null,onUpdate:Prototype.emptyFunction,onDestroy:Prototype.emptyFunction,image_tag_id:null,tagging_image_id:null,edit:false},arguments[1]||{});this.resize_handle=null;this.options=a;this.element=$(b);this.set_image_width();this.make_absolute();this.image_id=this.element.getAttribute("image_id");this.use_direction=this.options.direction.indexOf("zoom")!=0;this.default_background_image="/images/arrow_"+this.options.direction.split(/_/)[0]+".png";this.add_tag();this.deactivate();this.spinner=new Element("img",{src:"/images/spinner_small.gif","class":"small_spinner"});this.bind_mousedown=this.on_mouse_down.bindAsEventListener(this);this.tag.observe("mousedown",this.bind_mousedown);this.bind_show=this.show_thumbnail.bindAsEventListener(this);this.tag.observe("mouseover",this.bind_show);this.bind_default=this.show_default_background.bindAsEventListener(this);this.tag.observe("mouseout",this.bind_default)},on_mouse_down:function(a){if(this.options.onMouseDown){this.options.onMouseDown.call(this,this.options.direction);a.stop()}},calculate_defaults:function(){if(this.options.direction.indexOf("zoom")==0){if(!this.options.width){this.options.width=this.default_relative_zoom}if(!this.options.height){this.options.height=this.default_relative_zoom}}else{if(!this.options.width){this.options.width=this.default_width/this.image_width}if(!this.options.height){this.options.height=this.default_height/this.image_height}}this.options.left=0.5-(this.options.width/2);this.options.top=0.5-(this.options.height/2);switch(this.options.direction){case"north":this.options.top=0.03;break;case"south":this.options.top=0.97-this.options.height;break;case"west":this.options.left=0.03;break;case"east":this.options.left=0.97-this.options.width;break}},make_absolute:function(){if(!this.options.left){this.calculate_defaults()}this.absolute_left=Math.floor(this.options.left*this.image_width);this.absolute_top=Math.floor(this.options.top*this.image_height);var a=this.options.direction;if(a.indexOf("zoom")==0){this.absolute_width=Math.floor(this.options.width*this.image_width);this.absolute_height=Math.floor(this.options.height*this.image_height)}else{this.absolute_width=this.default_width;this.absolute_height=this.default_height}},set_image_width:function(){this.image_width=this.element.getWidth();this.image_height=this.element.getHeight()},reposition:function(){this.set_image_width();this.make_absolute();this.tag_style()},add_tag:function(){this.tag=new Element("div",{id:"image_"+this.options.image_tag_id,"class":"image_tag",style:"display:none"});this.tag_style();this.element.insert({after:this.tag});this.tag.makePositioned();this.tag.object=this;if(this.options.edit){var a=this;this.set_tag_draggable();var b=this.element;var a=this;if(!Droppables.drops.detect(function(c){return c.element==b})){Droppables.add(this.element,{onDrop:function(c){if(c.object){c.object.absolute_left=c.positionedOffset().left;c.object.absolute_top=c.positionedOffset().top;c.object.update_position()}}})}if(!this.use_direction){this.add_resize_handle()}}},destroy:function(){if(this.is_saved()){this.unlink()}this.destroy_visible()},destroy_visible:function(){var a=this.element;this.image_tag_id=null;this.direction=null;if(this.options.edit&&Droppables.drops.detect(function(b){return b.element==a})){Droppables.remove(a)}if(this.tag_draggable){this.tag_draggable.destroy()}if(this.resize_draggable){this.resize_draggable.destroy()}if(this.resize_handle){this.resize_handle.remove()}if(this.tag){if(this.tag.up("*")){this.tag.remove()}else{this.tag=null}}},tag_style:function(){var a={width:this.absolute_width+"px",height:this.absolute_height+"px",left:this.absolute_left+"px",top:this.absolute_top+"px"};this.tag.setStyle(a);this.set_background_image(this.default_background_image);this.update_state()},set_tag_draggable:function(){var a=this;this.tag_draggable=new Draggable(this.tag,{snap:function(b,c){if(b>a.image_width-a.absolute_width){b=a.image_width-a.absolute_width}if(c>a.image_height-a.absolute_height){c=a.image_height-a.absolute_height}if(b<0){b=0}if(c<0){c=0}return[b,c]},change:function(b){a.absolute_top=b.element.positionedOffset().top;a.absolute_left=b.element.positionedOffset().left;if(!a.use_direction){a.resize_handle.style.top=(a.absolute_top+a.absolute_height-10)+"px";a.resize_handle.style.left=(a.absolute_left+a.absolute_width-10)+"px"}}})},add_resize_handle:function(){var a=this;this.position_handle_left=this.absolute_left+this.absolute_width-10;this.position_handle_top=this.absolute_top+this.absolute_height-10;this.resize_handle=new Element("img",{src:"/images/blank.gif",style:"z-index:1001;border: 2px solid black;cursor:move;display:block;width:10px;height:10px;position:absolute;top:"+this.position_handle_top+"px;left:"+this.position_handle_left+"px"});this.element.insert({before:this.resize_handle});this.resize_handle.makePositioned();this.resize_draggable=new Draggable(this.resize_handle,{snap:function(b,c){if(b>a.image_width-10){b=a.image_width-10}if(c>a.image_height-10){c=a.image_height-10}if(b<0){b=0}if(c<0){c=0}return[b,c]},change:function(b){var d=b.element.positionedOffset().left+10;var c=b.element.positionedOffset().top+10;if(d>a.absolute_left&&c>a.absolute_top){a.absolute_width=d-a.absolute_left;a.absolute_height=c-a.absolute_top;a.tag_style();a.activate()}}})},show:function(){if(this.tag){this.tag.show()}},hide:function(){if(this.tag){this.tag.hide()}},activate:function(){this.active=true;this.update_state()},deactivate:function(){this.active=false;this.update_state()},toggle_activation:function(){return this.active?this.deactivate():this.activate()},is_active:function(){return this.active},is_saved:function(){return(this.options.image_tag_id!=null&&this.options.tagging_image_id!=null)},show_thumbnail:function(a){if(this.options.thumbnail){this.set_background_image(this.options.thumbnail)}if(!this.options.edit){this.activate()}},assign_thumbnail:function(image_id){var add_backlink=confirm("Soll die Verknüpfung auch für die andere Richtung gelten, d.h. auf dem Zielfoto in die andere Richtung angezeigt werden?");var ths=this;var method=this.is_saved()?"put":"post";var add_id=this.is_saved()?"/"+this.options.image_tag_id:"";var add_dims="?width="+this.image_width+"&height="+this.image_height;this.tag.insert(this.spinner);new Ajax.Request("/image_tags"+add_id+add_dims,{method:method,parameters:Object.extend({add_backlink:add_backlink,"image_tag[image_id]":this.image_id,"image_tag[tagging_image_id]":image_id,"image_tag[direction]":this.options.direction},this.get_position_params()),onSuccess:function(transport){var ret=eval("("+transport.responseText+")");ths.options.onUpdate.call(ths,ret)},onComplete:function(){ths.tag.down(".small_spinner").remove()}})},update_position:function(){if(this.is_saved()){var ths=this;this.tag.insert(this.spinner);var add_dims="?width="+this.image_width+"&height="+this.image_height;new Ajax.Request("/image_tags/"+this.options.image_tag_id+add_dims,{method:"put",parameters:Object.extend({"image_tag[image_id]":ths.image_id,"image_tag[tagging_image_id]":ths.options.tagging_image_id},ths.get_position_params()),onComplete:function(){ths.tag.down(".small_spinner").remove()},onSuccess:function(transport){var ret=eval("("+transport.responseText+")");ths.options.width=ret.width;ths.options.height=ret.height;ths.options.top=ret.y;ths.options.left=ret.x}})}},get_position_params:function(b){var a=(b?b:this);return{"image_tag[abs_width]":this.image_width,"image_tag[abs_height]":this.image_height,"image_tag[width]":a.absolute_width,"image_tag[height]":a.absolute_height,"image_tag[x]":a.absolute_left,"image_tag[y]":a.absolute_top}},update_state:function(){var a=(this.active?"4":"2");if(this.options.edit){if(this.is_saved()){this.tag.setStyle("border: "+a+"px solid green;")}else{this.tag.setStyle("border: "+a+"px solid red;")}}else{if(!this.use_direction){this.tag.setStyle("border: 1px solid white;")}else{this.tag.setStyle("border: 0px solid white;")}}},show_default_background:function(){this.set_background_image(this.default_background_image);if(!this.options.edit){this.deactivate()}},set_background_image:function(a){if(Bilderbuch.Browser.IE6){this.tag.setStyle({background:"transparent"});this.tag.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a+"', sizingMethod='image');"}else{this.tag.setStyle({background:'transparent url("'+a+'") no-repeat center center'})}},unlink:function(){if(this.options.image_tag_id){var a=this;var b=this.options.image_tag_id;new Ajax.Request("/image_tags/"+b,{method:"delete",onSuccess:function(c){a.options.onDestroy.call(a,{id:b})}})}}});var ImageTags=Class.create({initialize:function(b){var a=Object.extend({edit:false,onMouseDown:Prototype.emptyFunction,onActivationChange:Prototype.emptyFunction},arguments[1]||{});this.options=a;this.image_tags=[];this.image=$(b);this.show_after_loading=false;this.ready=false;this.assignment_links_visible=false;this.bind_assignment_links()},bind_assignment_links:function(){if(this.options.edit){var a=this;$$(".tag_image").invoke("observe","click",function(b){a.assign_image.call(a,b)})}},show_loading:function(){var a=this.image.up("*");this._loading=new Element("div",{style:"position:absolute;top:10px;left:10px;background:black;opacity:0.8;color:white;padding:4px"}).update("Verknüpfungen werden geladen");a.insert(this._loading)},hide_loading:function(){if(this._loading){this._loading.remove()}},load:function(){var b=this;this.image_tags=[];this.load_image_tag_ids();this.loading=true;if(this.image_tag_ids.length==0){return}this.show_loading();var a="?width="+this.image.getWidth()+"&height="+this.image.getHeight();new Ajax.Request("/image_tags"+a,{method:"get",parameters:{"tag_ids[]":this.image_tag_ids},onSuccess:function(e){var d=e.responseJSON;d.each(function(g){var f={direction:g.direction,left:g.x,top:g.y,width:g.width,height:g.height,image_tag_id:g.id,thumbnail:g.thumbnail,tagging_image_id:g.tagging_image_id,edit:b.options.edit,onMouseDown:function(j){b.on_mouse_down.call(b,j)},onUpdate:function(j){b.add_and_refresh_tag_display.call(b,j)},onDestroy:function(j){b.unlink_and_refresh_tag_display.call(b,j)}};var h=new ImageTag(b.image,f);b.image_tags.push(h);b.ready=true;if(b.show_after_loading){b.show()}});b.dump_image_tags();var c=b.find_active();b.options.onActivationChange.call(b,(c?c.options.tagging_image_id:null))},onComplete:function(){b.hide_loading()}})},on_mouse_down:function(b){var a=this.find_by_direction(b);if(this.options.edit){a.show_default_background();this.activate_image_tag(a.options.direction)}else{this.options.onMouseDown.call(this,a.options.tagging_image_id);this.remove(a.options.direction)}},show:function(){if(this.ready){this.image_tags.invoke("show")}else{this.show_after_loading=true}},hide:function(){this.image_tags.each(function(a){if(a.is_saved()){a.hide()}})},fade_out:function(){this.image_tags.each(function(a){Effect.Fade(a.tag,{duration:1.3})})},find_by_direction:function(a){return this.image_tags.find(function(b){return b.options.direction==a})},find_active:function(){return this.image_tags.find(function(b){return b.is_active()})},size:function(){return this.image_tags.size()},navigate:function(c){var b=this.find_by_direction(c);if(!b&&c=="north"){var a=this.image_tags.find(function(e){return e.split(/_/)[0]=="zoom"});if(a){return this.image_tags.navigate(a)}}if(b){this.remove(c);return b.options.tagging_image_id}else{return null}},remove:function(a){this.image_tags.each(function(c){if(a&&c.options.direction==a){c.show();var b=a.split(/_/)[0];switch(b){case"east":new Effect.Move(c.tag,{x:+20,y:0,mode:"relative",duration:0.5});break;case"west":new Effect.Move(c.tag,{x:-20,y:0,mode:"relative",duration:0.5});break;case"north":new Effect.Move(c.tag,{x:0,y:-20,mode:"relative",duration:0.5});break;case"south":new Effect.Move(c.tag,{x:-0,y:+20,mode:"relative",duration:0.5});break;case"zoom":new Effect.Scale(c.tag,200,{scaleFromCenter:true,duration:0.5});break}}else{c.hide();c.destroy_visible()}})},destroy:function(a){if(!a.is_saved()){this.image_tags=this.image_tags.collect(function(b){return(String(b.options.direction)==String(a.options.direction)?null:b)}).compact();this.hide_assignment_links()}a.destroy()},add_image_tag:function(c){if(c=="zoom"){c+="_"+Math.floor(Math.random()*100000)}if(!this.find_by_direction(c)){var a=this;var b=new ImageTag(this.image,{direction:c,edit:true,onUpdate:function(d){a.add_and_refresh_tag_display.call(a,d)},onDestroy:function(d){a.unlink_and_refresh_tag_display.call(a,d)},onMouseDown:function(){a.activate_image_tag.call(a,c)}});this.image_tags.push(b);b.show();this.activate_image_tag(c)}else{this.activate_image_tag(c)}},activate_image_tag:function(b){this.image_tags.each(function(c){b==c.options.direction?c.toggle_activation():c.deactivate()});var a=this.find_active();if(a){this.show_assignment_links()}else{this.hide_assignment_links()}this.options.onActivationChange.call(this,(a?a.options.tagging_image_id:null))},assign_image:function(a){var b=this.find_active();b.assign_thumbnail(a.element().getAttribute("data-id"));a.stop()},add_and_refresh_tag_display:function(a){var b=this.find_active();b.options.image_tag_id=a.id;this.refresh_tag_display()},unlink_and_refresh_tag_display:function(a){this.image_tags=this.image_tags.collect(function(b){return(Number(b.options.image_tag_id)==Number(a.id)?null:b)}).compact();this.refresh_tag_display()},refresh_tag_display:function(){this.dump_image_tags();this.write_image_tag_ids();this.hide_assignment_links();this.remove();this.show_after_loading=true;this.load()},show_assignment_links:function(){var a=this;if(arguments[0]||!this.assignment_links_visible){$$(".tag_image").invoke("removeClassName","hidden");this.assignment_links_visible=true}},hide_assignment_links:function(){$$(".tag_image").invoke("addClassName","hidden");this.assignment_links_visible=false},load_image_tag_ids:function(){var str=this.image.getAttribute("data-image-tags");if(str&&str.match(/^\[[\d\,\s\]]*$/)){this.image_tag_ids=eval("("+str+")")}else{this.image_tag_ids=[]}},write_image_tag_ids:function(){var a="["+this.image_tags.collect(function(b){return(b.options.direction?b.options.image_tag_id:null)}).compact().uniq().join(",")+"]";this.image.setAttribute("data-image-tags",a)},reposition:function(){this.image_tags.invoke("reposition")},dump_image_tags:function(){this.image_tags.each(function(a){})}});var HintManager=Class.create({initialize:function(a,c,d){var b=this;this.controller=a;this.action=c;this.hints=null;this.bind_start=this.start.bind(this);this.auto_tips=new Array();this.tips=new Array();this.current_auto_tip=0;this.admin=_bb_user_prefs.has_role("admin");if(this.admin){this.hint={body:"",title:"",width:300,tip_position:"topLeft",target_position:"bottomMiddle",stem_position:"topLeft",offset_x:0,offset_y:0,auto_tip:false,effect:false,c_name:this.controller,a_name:this.action,selector:null};this.hint_global=false;this.c_name_backup=null;this.a_name_backup=null;this.new_tip=true;this.hook=null;this.edit_element=null;this.edit_mode=false;this.hook_selector=null;this.hint.target_position="bottomMiddle";this.show_edit_mode()}this.last_opened_tip=null;this.bind_tip_appears=this.tip_appears.bindAsEventListener(this);this.bind_tip_hides=this.tip_hides.bindAsEventListener(this);this.bind_keypress=this.key_action.bindAsEventListener(this);this.start()},hint_url:function(a){if(!a){a=""}else{a="&mode="+a}return"/Hinweise.js?c_name="+this.controller+"&a_name="+this.action+a},start:function(){this.load()},load:function(){var ths=this;new Ajax.Request(this.hint_url(),{method:"get",onSuccess:function(transport){ths.hints=eval("("+transport.responseText+")");ths.prepare();document.observe("prototip:hidden",ths.bind_tip_hides);document.observe("prototip:shown",ths.bind_tip_appears);ths.auto_tips_start()}})},tip_appears:function(c){var a=this;this.last_opened_tip=c.element();var b=this.tips.find(function(d){return d.element==a.last_opened_tip&&d.wrapper.visible()&&d.options.effect});if(b){b.wrapper.shake()}document.observe("keydown",this.bind_keypress);document.observe("keypress",this.bind_keypress)},tip_hides:function(a){this.last_opened_tip=null;Event.stopObserving(document,"keydown",this.bind_keypress);Event.stopObserving(document,"keypress",this.bind_keypress)},key_action:function(e){if(this.edit_mode){return}var a=e.element().tagName.toLowerCase();var d=e.keyCode;if(d==78||d==69||d==88){var b=this;var c=this.tips.find(function(f){return f.element==b.last_opened_tip&&f.wrapper.visible()});if(d==88){b.hide_tip(c);e.stop()}else{if(d==69&&this.admin){if(a=="textarea"||(a=="input"&&e.element().getAttribute("type")=="text")){return}e.stop();top.location.href="/Administration/Hinweise/"+c.id+"/bearbeiten"}else{if(d==78){b.auto_tips_next()}}}}},prepare:function(){if(this.hints){var a=this;this.hints.each(function(d){d.global=(!d.c_name&&!d.a_name);var c=a.select_element(d.selector?d.selector:"#htoplogo");if(c&&!_bb_user_prefs.hide_hint(d.id)){var b=c.cumulativeOffset();if(b&&b.left&&b.left>0&&b.top>0){var e=a.tip_creation(c,d);e.id=d.id;a.tips.push(e);if(d.auto_tip){a.auto_tips.push(e)}}}})}},auto_tips_start:function(){this.current_auto_tip=0;if(this.auto_tips.length>0){var a=this;setTimeout(function(){a.auto_tips_next()},4000)}},auto_tips_next:function(){Tips.hideAll();var a=this.auto_tips[this.current_auto_tip];if(a&&!a.dont_show){this.auto_tips[this.current_auto_tip].showNow()}this.current_auto_tip++;if(this.current_auto_tip>=this.auto_tips.length){this.current_auto_tip=0}},store_hide_tip:function(a){var c=Element.extend(a);var d=c.up(".prototip");var b=this.tips.find(function(e){return e.wrapper==d});this.hide_tip(b)},hide_tip:function(b){var a=this;_bb_user_prefs.store_hide_hint(b,function(){this.deactivate();this.hide();this.dont_show=true;a.auto_tips_next()})},tip_creation:function(d,c){var j="mouseout";var b="mousemove";var g=d.tagName.toLowerCase();var e=false;var h="";if(c.auto_tip){j={element:"closeButton",event:"click"}}else{if(g=="textarea"||(g=="input"&&d.getAttribute("type")=="text")){j={element:"closeButton",event:"click"};b="focus"}else{h+='<br/><a style="float:right; text-decoration:underline; font-weight:bold;" href="#" onclick="_bb_hint_manager.store_hide_tip(this);return false;">Taste [x] schließt Hinweis dauerhaft.</a>'}}var f=new Tip(d,'<span class="bilderbuch_tip">'+c.body+h+"</span>",{hideOn:j,showOn:b,offset:{x:c.offset_x,y:c.offset_y},stem:c.stem_position,title:c.title,closeButton:(j!="mouseout"),hook:{target:c.target_position,tip:c.tip_position},style:"bilderbuch",width:c.width,effect:c.effect});Object.extend(f,{showNow:function(){this.position();this.show()}});if(j!="mouseout"){var a=this;f.closeButton.observe("click",function(){a.hide_tip(f)})}if(b=="focus"){f.element.observe("blur",function(){setTimeout(function(){f.hide()},200)})}return f},show_edit_mode:function(){var d=this.edit_mode?"-Tipp":"+Tipp";var c=this.edit_mode?"_bb_hint_manager.edit_mode_off()":"_bb_hint_manager.edit_mode_on()";var b=this.edit_mode?'style="color:#0f0"':"";if($("_bb_hints_edit_switch")){$("_bb_hints_edit_switch").remove()}var a=$("htopnavmenu");if(!a){a=$("topnavedit")}if(a){a.insert({top:'<li id="_bb_hints_edit_switch"><a href="#" '+b+' onclick="'+c+';return true;">'+d+"</a></li>"})}},edit_mode_on:function(){$("body").descendants().each(function(a){var b=a.getAttribute("onclick");if(b){a.setAttribute("_bb_onclick",b);a.removeAttribute("onclick")}});if(Bilderbuch.image()){Bilderbuch.image().unregister_events()}if($("map")&&GEvent){GEvent.clearNode($("map"))}this.bind_add=this.add_hint.bindAsEventListener(this);this.edit_mode=true;this.show_edit_mode();Tips.hideAll();document.observe("click",this.bind_add)},edit_mode_off:function(){if(Bilderbuch.image()){Bilderbuch.image().register_events()}$("body").descendants().each(function(a){var b=a.getAttribute("_bb_onclick");if(b){a.setAttribute("onclick",b);a.removeAttribute("_bb_onclick")}});document.stopObserving("click",this.bind_add);this.edit_mode=false;this.show_edit_mode();this.reset_last()},select_element:function(a){var e=a?a:(this.hook_selector?this.hook_selector:this.hint.selector);var d=$$(e);var c=null;var b=null;if(d&&(b=e.match(/\[text\(\)="([^"]+)"\]/))){var f=b[1];c=d.find(function(g){return g.innerHTML==f})}else{c=(d?d[0]:null)}return c},reset_last:function(){if($(this.hook)){$(this.hook).remove()}if(this.hook_selector){Tips.remove(this.select_element())}this.hook_selector=null;this.reset_markers()},activate:function(a){this.hook=new Element("div",{id:"_hook_shader"});this.hook.style.position="absolute";this.hook.style.backgroundColor="#000";this.hook.style.zIndex=5000;this.hook.style.opacity=0.4;this.hook.clonePosition(a);if($(document.body)){$(document.body).insert(this.hook)}},find_hook_element:function(c){while(c&&c.tagName!="BODY"){var g=c.identify();if(g&&(g.indexOf("anonymous")!=-1||g.match(/_\d+$/))){g=null}if(g){this.hook_selector="#"+g;break}var a=c.tagName.toLowerCase();if(a=="img"){var f=c.getAttribute("src");if(f&&f.indexOf("/images/")!=-1){var e='img[src$="'+f.gsub(/\?.*/,"").gsub(/^.*\/images\//,"/images/")+'"]';var b=this.select_element(e);if(b&&b==c){this.hook_selector=e;break}}}if(a=="a"){var f=c.getAttribute("href");if(f&&f.indexOf("/")!=-1){var e='a[href$="'+f.gsub(/\?.*/,"").gsub(/^https?:\/\/[^\/]+\//,"/")+'"]';var b=this.select_element(e);if(b&&b==c){this.hook_selector=e;break}}}var d=c.innerHTML;if(d.indexOf("<")==-1&&d.indexOf('"')==-1){var e="//"+a+'[text()="'+d+'"]';var b=this.select_element(e);if(b&&b==c){this.hook_selector=e;break}}c=c.up()}if(!c||c.identify()=="_bb_hints_edit_switch"){return null}return c},tip_img:function(a,c,d,e){var b=((!e||e=="left")?"float:left;margin-right:2px":"float:right;margin-left:2px");return'<img id="tip_wiz" alt="'+d+'"  title="'+d+'" src="/images/prototip/edit/'+a+'.png" width="19" height="15" onclick="_bb_hint_manager.'+c+'()" style="'+b+'">'},save_text:function(){var a=$("_tip_body");var b=$("_tip_title");this.hint.body=(a&&a.value?a.value:this.hint.body);this.hint.title=(b&&b.value?b.value:this.hint.title)},add_edit_tip:function(f){var e=Object.extend({preview:false},arguments[1]||{});this.save_text();Tips.hideAll();this.reset_markers();if(this.sizer){this.sizer.hide()}var b='<input id="_tip_title" style="width:80%;margin:0px;padding:0px" type="text" name="title" value="'+this.hint.title+'">';var d='<form><textarea id="_tip_body" style="width:100%">'+this.hint.body+"</textarea></form>";if(!e.preview){if(f){d+='<div style="float:left;margin-bottom:4px">'+f+'</div><br clear="left"/>'}d+=this.tip_img("hook","change_hook","Ankerpunkt festlegen");d+=this.tip_img("move","choose_exact_position","Feinpositionierung");d+=this.tip_img("stem","choose_stem_position","Pfeilposition festlegen");d+=this.tip_img("width","change_width","Breite ändern")}else{b=this.hint.title;d=this.hint.body;d+=this.tip_img("preview_selected","show_hint","Vorschau beenden","right")}if(!e.preview){d+=this.tip_img("save","save","Speichern","right");d+=this.tip_img("preview","preview","Vorschau","right");var c=this.hint.effect?"effect_selected":"effect";d+=this.tip_img(c,"effect","Tip mit Effekt zeigen","right");var a=this.hint.auto_tip?"auto_selected":"auto";d+=this.tip_img(a,"auto","Tip wird automatisch angezeigt","right");var g=this.hint_global?"global_selected":"global";d+=this.tip_img(g,"global","Tip wird auf jeder Seite angezeigt","right")}this.tip=new Tip(this.hook,d,{title:b,stem:this.hint.stem_position,hook:{target:this.hint.target_position,tip:this.hint.tip_position},offset:{x:this.hint.offset_x,y:this.hint.offset_y},hideOn:{element:"closeButton",event:"click"},closeButton:true,style:"bilderbuch",width:this.hint.width});Object.extend(this.tip,{showNow:function(){this._build();this.position();this.show()}});this.tip.showNow()},show_hint:function(){var a=this;this.add_edit_tip()},add_hint:function(b){var c=b.element().identify();if((this.tip&&this.tip.wrapper&&Position.within(this.tip.wrapper,Event.pointerX(b),Event.pointerY(b)))||c=="tip_wiz"||c=="_tip_sizer"||c.indexOf("pt_hook_")!=-1){return}this.reset_last();Tips.hideAll();var a=this.find_hook_element(b.element());if(!a){b.stop();return}this.hint.selector=this.hook_selector;this.edit_element=a;this.activate(this.edit_element);this.add_edit_tip("Die unten angegebenen Schalter ermöglichen die Positionierung und die Größe des Hinweises");b.stop()},change_hook:function(){var b=this;this.add_edit_tip("Ziehen Sie den Tip grob an die gewünschte Position des Elements. Die Ankerpunkte werden mit grün angezeit.");var a=this.edit_element.cumulativeOffset();this.insert_markers(this.hook,"target");this.target_center={y:a.top+Math.floor(this.edit_element.getHeight()/2),x:a.left+Math.floor(this.edit_element.getWidth()/2)};this.tip_draggable=new Draggable(this.tip.wrapper,{onEnd:function(c){if(!b.hint.stem_position_changed){b.hint.stem_position=b.hint.tip_position}b.hint.offset_y=0;b.hint.offset_x=0;b.change_hook()},change:function(c){b.insert_markers(c.element,"tip");b.match_markers()}})},choose_exact_position:function(){var a=this;this.add_edit_tip("Bewegen Sie bitte den Hinweis um die genaue Position festzulegen.");a.hint.offset_y=a.hint.offset_x=0;this.tip_draggable=new Draggable(this.tip.wrapper,{onStart:function(b){if(!a.tip.initial_offset){a.tip.initial_offset=b.element.cumulativeOffset()}},onEnd:function(b){var c=b.element.cumulativeOffset();a.hint.offset_y=a.tip.options.offset.y=c.top-a.tip.initial_offset.top;a.hint.offset_x=a.tip.options.offset.x=c.left-a.tip.initial_offset.left}})},choose_stem_position:function(){var b=this;this.add_edit_tip("Bitte clicken Sie auf ein grünes Quadrat um die Pfeilposition festzulegen");var b=this;b.insert_markers(b.tip.wrapper,"tip");var a=b.markers.get("tip");a.each(function(c){b.hint.stem_position==c.identify().split("_")[3]?c.setStyle("background-color:green"):c.setStyle("background-color:red")});$$(".pt_hook_tip").each(function(c){c.observe("click",function(e){var d=b.markers.get("tip");b.hint.stem_position=c.identify().split("_")[3];d.each(function(f){f==c?f.setStyle("background-color:green"):f.setStyle("background-color:red")});b.choose_stem_position()})})},change_width:function(){var b=this;this.add_edit_tip("Ziehen Sie den Tip bitte mit Hilfe des grünen Balkens in die gewünschte Breite. Die Höhe wird durch die Menge des Textes bestimmt.");this.sizer=$("on_sizer_tip_show"+this.sizer);if(!this.sizer){this.sizer=new Element("div",{id:"_tip_sizer"});if($(document.body)){$(document.body).insert(this.sizer)}}this.sizer.clonePosition(this.tip.wrapper);var c=parseFloat(this.tip.wrapper.style.left||0);var a=this.tip.wrapper.getWidth();this.sizer.style.width="10px";this.sizer.style.position="absolute";this.sizer.style.backgroundColor="green";this.sizer.style.zIndex=20001;this.sizer.show();var b=this;this.sizer_draggable=new Draggable(this.sizer,{onEnd:function(d){b.hint.width=c-parseFloat(d.element.style.left||0)+a;b.change_width()},change:function(d){}})},preview:function(){var a=this;this.add_edit_tip("",{preview:true})},auto:function(){this.hint.auto_tip=!this.hint.auto_tip;this.add_edit_tip()},effect:function(){this.hint.effect=!this.hint.effect;this.add_edit_tip()},global:function(){this.hint_global=!this.hint_global;if(this.hint_global){this.c_name_backup=this.hint.c_name;this.hint.c_name=null;this.a_name_backup=this.hint.a_name;this.hint.a_name=null}else{this.hint.c_name=this.c_name_backup;this.hint.a_name=this.a_name_backup}this.add_edit_tip()},save:function(){this.save_text();var method="post";var url="/Administration/Hinweise";var params=new Hash();var ths=this;Object.keys(this.hint).each(function(k){params.set("hint["+k+"]",eval("ths.hint."+k))});if(this.new_tip){url+=".js"}else{url+="/"+this.hint.id+".js";method="put"}new Ajax.Request(url,{method:method,parameters:params,onSuccess:function(){global_hint_show("Tip gespeichert");Tips.hideAll();ths.edit_mode_off();top.location.reload()},onFailure:function(transport){global_hint_show("Fehler: "+transport.responseText)}})},match_markers:function(){var b=this.markers.get("target");var a=this.markers.get("tip");var c=100000;var e=null;var d=null;b.each(function(h){var g=parseFloat(h.style.left||0);var f=parseFloat(h.style.top||0);a.each(function(l){var m=parseFloat(l.style.left||0);var k=parseFloat(l.style.top||0);var j=Math.sqrt(Math.pow((m-g),2)+Math.pow((k-f),2));if(j<c){c=j;e=h;d=l}})});this.hint.target_position=e.identify().split("_")[3];this.hint.tip_position=d.identify().split("_")[3];b.each(function(f){f==e?f.setStyle("background-color:green"):f.setStyle("background-color:red")});a.each(function(f){f==d?f.setStyle("background-color:green"):f.setStyle("background-color:red")})},reset_markers:function(){if(this.markers){if(this.markers.get("tip")){this.markers.get("tip").invoke("remove")}if(this.markers.get("target")){this.markers.get("target").invoke("remove")}}this.markers=new Hash();this.markers.set("tip",new Array());this.markers.set("target",new Array())},insert_markers:function(b,d){var g=b.cumulativeOffset();var a=b.getWidth();var c=b.getHeight();var f=this.get_marker(d,"topLeft");f.style.left=g.left+"px";f.style.top=g.top+"px";var f=this.get_marker(d,"topMiddle");f.style.left=(g.left+Math.ceil(a/2)-4)+"px";f.style.top=g.top+"px";f=this.get_marker(d,"topRight");f.style.left=(g.left+a-8)+"px";f.style.top=g.top+"px";f=this.get_marker(d,"rightMiddle");f.style.left=(g.left+a-8)+"px";f.style.top=(g.top+Math.ceil(c/2)-4)+"px";f=this.get_marker(d,"bottomRight");f.style.left=(g.left+a-8)+"px";f.style.top=(g.top+c-8)+"px";f=this.get_marker(d,"bottomMiddle");f.style.left=(g.left+Math.ceil(a/2)-4)+"px";f.style.top=(g.top+c-8)+"px";f=this.get_marker(d,"bottomLeft");f.style.left=(g.left)+"px";f.style.top=(g.top+c-8)+"px";f=this.get_marker(d,"leftMiddle");f.style.left=(g.left)+"px";f.style.top=(g.top+Math.ceil(c/2)-4)+"px"},get_marker:function(a,c){var b=$("pt_hook_"+a+"_"+c);if(!b){b=new Element("div",{"class":"pt_hook_"+a,id:"pt_hook_"+a+"_"+c});this.markers.get(a).push(b);if($(document.body)){$(document.body).insert(b)}}return b}});var RubberBand=Class.create({initialize:function(b){var a=Object.extend({onStart:Prototype.emptyFunction,onEnd:Prototype.emptyFunction},arguments[1]||{});this.options=a;this.element=$(b);this.is_active=false;this.rubber_band=this.add_rubber_div();this.element_point=this.element.cumulativeOffset();this.bind_start_rubber=this.start_rubber.bindAsEventListener(this);this.bind_stop_rubber=this.stop_rubber.bindAsEventListener(this);this.element.observe("mousedown",this.bind_start_rubber);this.element.observe("mouseup",this.bind_stop_rubber);this.element.observe("unload",this.onEnd)},start_rubber:function(a){this.is_active=false;this.start_x_pos=Event.pointerX(a)-this.element_point[0];this.start_y_pos=Event.pointerY(a)-this.element_point[1];this.bandid(this.start_x_pos,this.start_y_pos,0,0);this.rubber_band.setStyle({zIndex:"10",border:"1px solid red"});this.rubber_band.innerHTML="";this.rubber_band.style.background="none";this.rubber_band.show();this.bind_move_rubber=this.move_rubber.bindAsEventListener(this);Event.observe(this.element,"mousemove",this.bind_move_rubber);this.options.onStart.call(this,this.get_dimensions());a.stop()},stop_rubber:function(a){Event.stopObserving(this.element,"mousemove",this.bind_move_rubber);if(this.px2num("width")>3&&this.px2num("height")>3){this.is_active=true;this.options.onEnd.call(this,this.get_dimensions())}else{this.rubber_band.hide()}a.stop()},bandid:function(b,c,a,d){this.rubber_band.setStyle({left:b+"px",top:c+"px",width:a+"px",height:d+"px"})},move_rubber:function(b){var a=Event.pointerX(b)-this.element_point[0];var c=Event.pointerY(b)-this.element_point[1];if(a<this.start_x_pos&&c<this.start_y_pos){this.bandid(a,c,this.start_x_pos-a,this.start_y_pos-c)}else{if(a>this.start_x_pos&&c<this.start_y_pos){this.bandid(this.start_x_pos,c,a-this.start_x_pos,this.start_y_pos-c)}else{if(a<this.start_x_pos&&c>this.start_y_pos){this.bandid(a,this.start_y_pos,this.start_x_pos-a,c-this.start_y_pos)}else{if(a>this.start_x_pos&&c>this.start_y_pos){this.bandid(this.start_x_pos,this.start_y_pos,a-this.start_x_pos,c-this.start_y_pos)}}}}b.stop()},add_rubber_div:function(){var a=new Element("div",{id:"rubberband_id",style:"z-index:1000;width:0px;height:0px"});this.element.insertBefore(a,this.element.firstChild);a.hide();Position.absolutize(a);return a},px2num:function(a){return this.rubber_band.getStyle(a).gsub(/(.*)px/,"#{1}")},get_dimensions:function(){return{width:this.px2num("width"),height:this.px2num("height"),x:this.px2num("left"),y:this.px2num("top")}},hide:function(){this.is_active=false;this.rubber_band.hide()},cleanup:function(){if($("rubberband_id")){this.element.stopObserving("mousedown",this.bind_start_rubber);this.element.stopObserving("mouseup",this.bind_stop_rubber);$("rubberband_id").remove()}}});var InputFieldHints=Class.create({initialize:function(b,a){this.options={color:"#b0b0b0",attribute:"title",example_to_content:false};Object.extend(this.options,a||{});this.form=$(b);if(this.form.tagName.toUpperCase()=="FORM"){this.setup()}else{alert("InputFieldHints: "+this.form.inspect()+" is not a form")}},setup:function(){var a="input[type=text], textarea, input[type=password]";var b=this;this.form.observe("submit",function(c){b.form.select(a).each(function(d){var e=d.getAttribute(b.options.attribute);if(d.getAttribute("data")=="unmodify"){return null}if(e&&!e.blank()){if(b.equals(d.value,e)){b.hide_hint(d)}}return true})});this.form.select(a).each(function(c){var e=c.getAttribute(b.options.attribute);var d=c.getStyle("color");if(e&&!e.blank()){b.show_hint(c);c.observe("focus",function(f){var g=f.element();if(b.equals(g.value,e)){b.hide_hint(g,d)}if(b.options.example_to_content){g.observe("dblclick",function(j){var h=j.element();if(h.value==""){h.value=h.getAttribute(b.options.attribute).gsub(/^\s*z.B.?:?\s*/,"");h.setAttribute("data","unmodify");h.setStyle({color:d})}j.stop()})}});c.observe("blur",function(f){b.show_hint(f.element())})}})},show_hint:function(a){var b=a.getAttribute(this.options.attribute);if(a.getAttribute("data")=="unmodify"){return}if(a.value.blank()){a.value=b;a.setStyle({color:this.options.color})}},hide_hint:function(b,a){b.value="";if(a){b.setStyle({color:a})}},equals:function(b,a){return b.gsub(/\s+/,"")==a.gsub(/\s+/,"")}});if(typeof Widget=="undefined"){Widget={}}Widget.Fader=Class.create({initialize:function(a,c,b){this.img=$(a);this.list=c;this.options=Object.extend({id:this.img.id,fadeInDuration:2.5,fadeOutDuration:1.5,displayDuration:2.5,autoSize:false,autoStart:true,attributes:{},dir:"",beforeFade:null,startIndex:0,builder:Widget.Fader.imageBuilder},b||{});this.options.attributes.id=this.options.id;this.index=this.options.startIndex;this.container=$(this.img.parentNode);this.loadedObserver=this.loaded.bind(this);this.fadeInObserver=this.fadeIn.bind(this);this.nextObserver=this.next.bind(this);if(this.options.autoStart){setTimeout(this.start.bind(this),this.options.displayDuration*1000)}},start:function(){this.stopped=false;this.next()},stop:function(){this.stopped=true;try{clearTimeout(this.timeout)}catch(a){}try{Effect.Queues.get(this.options.id).each(function(b){b.cancel()})}catch(a){}if(this.oldImg){this.img=this.oldImg;--this.index}Element.setOpacity(this.img,1)},next:function(){this.oldImg=this.img;if(this.stopped||this.list.length==0){return}++this.index;if(this.index>=this.list.length){this.index=0}this.img=this.options.builder(this,this.list[this.index],this.loadedObserver)},loaded:function(){Event.stopObserving(this.img,"load",this.loadedObserver);if(typeof this.options.beforeFade=="function"){this.options.beforeFade(this.oldImg,false)}new Effect.Opacity(this.oldImg,{duration:this.options.fadeOutDuration,from:1,to:0,queue:{scope:this.options.id}});this.timeout=setTimeout(this.fadeInObserver,this.options.fadeOutDuration*1000)},fadeIn:function(){if(typeof this.options.beforeFade=="function"){this.options.beforeFade(this.img,true)}this.img.id=this.id;Element.setOpacity(this.img,0);if(this.options.autoSize){this.resize(this.img)}this.container.replaceChild(this.img,this.oldImg);this.oldImg=null;new Effect.Opacity(this.img,{duration:this.options.fadeInDuration,from:0,to:1,queue:{scope:this.options.id}});this.timeout=setTimeout(this.nextObserver,(this.options.fadeInDuration+this.options.displayDuration)*1000)},resize:function(b){var f=this.container.getDimensions();f.width-=parseInt(this.container.getStyle("padding-left"))+parseInt(this.container.getStyle("padding-right"))+parseInt(this.container.getStyle("border-left-width"))+parseInt(this.container.getStyle("border-right-width"));f.height-=parseInt(this.container.getStyle("padding-top"))+parseInt(this.container.getStyle("padding-bottom"))+parseInt(this.container.getStyle("border-top-width"))+parseInt(this.container.getStyle("border-bottom-width"));var c=f.width/b.width;var e=f.height/b.height;var a=b.width*e;var d=b.height*c;if(c>e){b.width=a;b.height=f.height}else{b.width=f.width;b.height=d}}});Widget.Fader.imageBuilder=function(d,c,b){var a=new Element("img",d.options.attributes);a.observe("load",b);a.src=d.options.dir+c;return a};Widget.Fader.textBuilder=function(c,b,a){var d=new Element("div",c.options.attributes).update(b);a.defer();return d};var Fader=Widget.Fader;var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(c){var a="";var k,h,f,j,g,e,d;var b=0;c=Base64._utf8_encode(c);while(b<c.length){k=c.charCodeAt(b++);h=c.charCodeAt(b++);f=c.charCodeAt(b++);j=k>>2;g=((k&3)<<4)|(h>>4);e=((h&15)<<2)|(f>>6);d=f&63;if(isNaN(h)){e=d=64}else{if(isNaN(f)){d=64}}a=a+this._keyStr.charAt(j)+this._keyStr.charAt(g)+this._keyStr.charAt(e)+this._keyStr.charAt(d)}return a},decode:function(c){var a="";var k,h,f;var j,g,e,d;var b=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(b<c.length){j=this._keyStr.indexOf(c.charAt(b++));g=this._keyStr.indexOf(c.charAt(b++));e=this._keyStr.indexOf(c.charAt(b++));d=this._keyStr.indexOf(c.charAt(b++));k=(j<<2)|(g>>4);h=((g&15)<<4)|(e>>2);f=((e&3)<<6)|d;a=a+String.fromCharCode(k);if(e!=64){a=a+String.fromCharCode(h)}if(d!=64){a=a+String.fromCharCode(f)}}a=Base64._utf8_decode(a);return a},_utf8_encode:function(b){b=b.replace(/\r\n/g,"\n");var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=String.fromCharCode(d)}else{if((d>127)&&(d<2048)){a+=String.fromCharCode((d>>6)|192);a+=String.fromCharCode((d&63)|128)}else{a+=String.fromCharCode((d>>12)|224);a+=String.fromCharCode(((d>>6)&63)|128);a+=String.fromCharCode((d&63)|128)}}}return a},_utf8_decode:function(a){var b="";var d=0;var e=c1=c2=0;while(d<a.length){e=a.charCodeAt(d);if(e<128){b+=String.fromCharCode(e);d++}else{if((e>191)&&(e<224)){c2=a.charCodeAt(d+1);b+=String.fromCharCode(((e&31)<<6)|(c2&63));d+=2}else{c2=a.charCodeAt(d+1);c3=a.charCodeAt(d+2);b+=String.fromCharCode(((e&15)<<12)|((c2&63)<<6)|(c3&63));d+=3}}}return b}};var protoSkim=Class.create({initialize:function(b,d){this.options=Object.extend({url:"json/data.json",parameters:"",randomize:false,limit:20,useResizer:false,resizer:"timthumb.php",callback:null,onClick:null,resetOnOut:true},d||{});this.container=$(b);this.images=this.container.select("img");this.image=this.images.first();this.first_src=this.image.src;var c=this;if(this.options.resetOnOut){this.container.observe("mouseleave",function(){c.image.src=c.first_src});this.images.push(this.image)}var a=new Image();a.onload=(function(){this.imageWidth=this.image.getWidth();this.imageHeight=this.image.getHeight();if(this.images.length>1){this.prepareData();this.buildSkim();this.container.setStyle({width:this.imageWidth+"px",height:this.imageHeight+"px",overflow:"hidden"})}else{this.getData()}}.bind(this));a.src=this.image.src},getData:function(){new Ajax.Request(this.options.url,{method:"GET",parameters:this.options.parameters,onSuccess:function(a){this.data=a.responseText.evalJSON();if(this.options.randomize){this.data=this.data.sortBy(Math.random)}this.buildSkim()}.bind(this)})},prepareData:function(){this.data=this.images.collect(function(a){return{title:a.getAttribute("title"),thumbnail:a.getAttribute("src"),href:a.getAttribute("href")}})},buildSkim:function(){this.map=new Element("map");this.map.identify();this.mapID=this.map.readAttribute("id");this.image.writeAttribute("useMap","#"+this.mapID);this.container.insert({bottom:this.map});this.map.writeAttribute("name",this.mapID);var a=this.data.length;this.sectionsLength=(this.options.limit<a)?this.options.limit:a;var c=Math.round(this.imageWidth/this.sectionsLength);var b=c-1;this.data.each(function(k,e){e=e+1;if(e>this.sectionsLength){throw $break}var j=(e*c)-c;var f=j+b;var h=(this.options.useResizer)?this.options.resizer+"?src="+k.href+"&w="+this.imageWidth+"&h="+this.imageHeight:k.thumbnail;var l=(k.href)?k.href:"#";var d=(k.title)?k.title:this.image.readAttribute("alt");var g=new Element("area",{href:l,rel:h,alt:d,title:d,shape:"rect",coords:j+",0,"+f+","+this.imageHeight});this.map.insert(g)}.bind(this));this.preloadSkim()},preloadSkim:function(){var a=0;this.sections=this.map.select("area");this.addresses=[];this.sections.each(function(c,b){this.addresses[b]=c.readAttribute("rel");var d=new Image();d.onload=(function(){a++;if(a==this.sectionsLength){this.enableSkim()}}.bind(this));d.src=this.addresses[b]}.bind(this))},enableSkim:function(){var a=this;this.sections.each(function(c,b){c.observe("mouseover",function(d){this.image.src=this.addresses[b]}.bind(this)).observe("click",function(d){if(this.options.onClick){this.options.onClick.call(a,c)}Event.stop(d)}.bind(this))}.bind(this));if(this.options.callback){this.options.callback()}}});document.zoom_is_active=false;var Bilderbuch={command_key_pressed:false,option_key_pressed:false,ctrl_key_pressed:false,shift_key_pressed:false,Browser:{IE6:(Prototype.Browser.IE&&parseInt(navigator.appVersion)==4&&navigator.userAgent.toLowerCase().indexOf("msie 6.")!=-1)},dom_loaded:function(event){Flash.transferFromCookies();Bilderbuch.checkForShoppingCart();var show_admin_options=$("show_admin_options");var show_store_browser=$("show_store_browser");if(show_admin_options&&Cookie.get("admin_options")=="1"){show_admin_options.setStyle({color:"yellow"})}if(show_store_browser&&Cookie.get("store_browser")&&Cookie.get("store_browser").match(/^\d+$/)){show_store_browser.setStyle({color:"yellow"})}Bilderbuch.change_css_for_print();if(Flash.data.notice){delayed_global_hint_show(Flash.data.notice,false,true)}_bb_current_env=$("current_env").getAttribute("content");_bb_path=$("_current_page").getAttribute("content");_bb_action=_bb_path.split(":")[1];_bb_controller=_bb_path.split(":")[0];save_viewport_dimensions();$$(".role_link_to").each(function(target){var _class=target.className;if(_class){var arr=_class.gsub(/role_link_to\s+/,"");if(arr&&arr.length>1){var roles=arr.strip().split(/\s+/);roles.each(function(r){if(_bb_user_prefs.has_role(r)){target.setAttribute("href",target.getAttribute("data-href"));target.removeClassName("role_link_to")}})}}});if(_bb_redakteur||_bb_admin){var loc=top.location.href.match(/^(.*)?\/(.*)$/);var hostport=loc[1];var uri=loc[2];var link=uri.match(/bb_memcache/)?"Javascript:top.location.reload()":(hostport+"/bb_memcache=refresh"+uri);Bilderbuch.insert_nav_top_link("Cache",link)}if(_bb_sales_force||_bb_admin){if(Bilderbuch.current_image_id()){Bilderbuch.show_role_link("Akquise","acquisition_link")}}if(_bb_user_prefs.user.registered){Bilderbuch.show_role_link("Sammlung","collection_link");if($("user_login_link")){var name=_bb_user_prefs.user.name;name=name.gsub(/\s+/," ");$("user_login_link").update(name).setAttribute("href","/"+$("current_city_group").getAttribute("content")+"/"+_bb_user_prefs.user.login);$("user_login_link").setAttribute("title",_bb_user_prefs.user.name)}if($("user_logout_link")){$("user_logout_link").show()}}switch(_bb_path){case"ad_package_orders:edit":case"ad_package_orders:update":Bilderbuch.setup_ad_observers();break;case"companies:edit":case"companies:update":Bilderbuch.setup_image_dragdrop("possible_company_images","company_images",Bilderbuch.update_company_image,Bilderbuch.trash_company_image);case"companies:create":case"companies:new":if($("company_description")){$("company_description").removeAttribute("title")}if($("company")){new InputFieldHints($("company").up("form"))}Bilderbuch.setup_zipcode_autocompletion({city:"company_address_attributes_city",street:"company_address_attributes_street",street_no:"company_address_attributes_street_no",zipcode:"company_address_attributes_zipcode",insert_spinner:"company",onAddressFound:function(){if($("google_address_link")){$("google_address_link").remove()}$("company_address_attributes_zipcode").insert({after:'<div style="float:left;display:block;margin-left:10px"><a target="_blank" id="google_address_link" href="'+Bilderbuch.generate_google_search_link($("company_name").value+" "+$("company_address_attributes_street").value.gsub(/\([^\)]+\)/,"")+" "+$("company_address_attributes_street_no").value+" "+$("company_address_attributes_city").value)+'">Google Suche nach dieser Firma</a></div>'})}});break;case"companies:show":Bilderbuch.setup_ajax_dialogs(".open_js_dialog");break;case"company_contacts:new":case"company_contacts:edit":case"company_contacts:create":case"company_contacts:update":Bilderbuch.setup_zipcode_autocompletion({city:"company_contact_address_attributes_city",street:"company_contact_address_attributes_street",street_no:"company_contact_address_attributes_street_no",zipcode:"company_contact_address_attributes_zipcode",insert_spinner:"spinnme"});break;case"search:index":Bilderbuch.observe_paginatable_results(".search_results a");break;case"home:index":Bilderbuch.observe_paginatable_results("#best_images_mini_list a");if($("recent_images_mini_list")&&!is_local_file_request()){new Ajax.Updater($("recent_images_mini_list"),"/home/recent_images",{method:"get",onComplete:function(){$$("#recent_images_mini_list img").each(function(i){i.observe("load",function(e){x=e.element();x.setAttribute("title",x.getAttribute("data-title"))})});Bilderbuch.observe_paginatable_results("#recent_images_mini_list a")}})}if(_bb_user_prefs.user.registered&&$("home_doit_text")){$("home_doit_text").update("Bleiben Sie dabei! Laden Sie neue Fotos hoch!").setAttribute("href","/Fotouploads/neu")}break;case"images:recent":case"images:best":case"competition_albums:index":Bilderbuch.observe_paginatable_results("#thumbnails a");break;case"competition_albums:rate":Bilderbuch.setup_competition_rating();break;case"streets:named":case"streets:show":Bilderbuch.observe_paginatable_results("#thumbnails a");if(_bb_current_env!="development_offline"){setup_street_map(false)}break;case"streets:edit":case"streets:new":case"streets:update":case"streets:create":if(_bb_current_env!="development_offline"){setup_street_map(true)}break;case"city_parts:index":case"city_parts:show":setup_city_part_map();break;case"histories:show":if(_bb_current_env!="development_offline"){setup_histories_map($("current_history_name").getAttribute("content"))}Bilderbuch.observe_paginatable_results("#thumbnails a");break;case"albums:index":resetup_album_dragdrop();setup_album_line_onlick();break;case"memorials:new":case"memorials:create":case"memorials:edit":case"memorials:update":Bilderbuch.setup_image_dragdrop("possible_memorial_images","memorial_images",Bilderbuch.update_memorial_image,Bilderbuch.trash_memorial_image);Bilderbuch.setup_memorial_map(true,".memorial_assigned_photos .show_on_map");Bilderbuch.setup_image_insert_link();Bilderbuch.setup_memorial_mapmarker_change();break;case"memorials:show":Bilderbuch.setup_memorial_map();break;case"sales:index":Bilderbuch.setup_ajax_dialogs(".open_js_dialog");Bilderbuch.setup_ajax_links(".js_link");break;case"shopping_orders:create":case"shopping_orders:new":case"shopping_orders:edit":case"shopping_orders:update":case"shopping_orders:confirm":Bilderbuch.selection_switcher("shopping_order_payment_type","shopping_orders_");Bilderbuch.selection_switcher("shopping_order_shipping_type","shopping_orders_");var _sw=$("shopping_order_delivery_address_eql_billing_address");var _sb=$("shopping_orders_billing_address");if(_sw&&_sb){var _sw_changer=function(){($F(_sw)=="1")?_sb.hide():_sb.show()};_sw_changer();_sw.observe("click",_sw_changer)}break;case"images:edit":Event.observe(document.onresize?document:window,"resize",function(){_bb_setup_image_edit_dimensions()});_bb_image_id=Bilderbuch.current_image_id(true);_bb_setup_image_edit();$("search_option").observe("change",function(){if($("search_fotographer")){$("search_fotographer").value=""}if($("search_selection")){$("search_selection").value=""}if($("search_user_id")){$("search_user_id").value=""}request_image_line()});if($("search_fotographer")){$("search_fotographer").observe("change",function(){top.location.href=$("search_fotographer").value})}if($("search_misc")){$("search_misc").observe("submit",function(){request_image_line();return false})}if($("search_text")){$("search_text").observe("focus",function(e){if(e.element().value=="Suche"){e.element().value=""}})}break;case"image_uploads:new":case"image_uploads:private_images":if(!navigator.javaEnabled()&&$("no_java_hint")){$("no_java_hint").show()}Bilderbuch.setup_image_upload_events();break}if($("my-glider-horizontal")){my_glider=new Glider("my-glider-horizontal");bilderbuch_move_to_related(_bb_image_id)}Comment.check();$$("._editor_album_map").each(function(m){var args=eval("("+m.getAttribute("alt")+")");var album_id=m.getAttribute("id").gsub(/\D+/,"");var nargs=Object.extend({onRelatedClick:function(marker){top.location.href="/Alben/"+album_id+"/Fotos/"+marker.related_image_id}},args);Bilderbuch.setup_custom_city_map(m,nargs)});Bilderbuch.display_search_navigation();if(_bb_path!="hint:edit"&&!is_local_file_request()){_bb_hint_manager=new HintManager(_bb_controller,_bb_action)}Bilderbuch.load_analytics($("ga_code").getAttribute("content"))},form_display_switch:function(c,a,b){if($(c)&&$(a)){$(c).value==b?$(a).show():$(a).hide()}},form_checkbox_display_switch:function(c,a,b){if($(c)&&$(a)){$(c).checked==b?$(a).show():$(a).hide()}},checkForShoppingCart:function(){var g=Cookie.get("shopping_cart");var a=40;if(g){var b=g.match(/^(\d+)\:(\d+)$/);if(b){var h=new Element("li",{id:"shopping_cart_icon",style:"width:"+a+"px"}).update(new Element("a",{id:"shopping_cart",href:"/Einkaufswagen/"+b[1],title:"Ihr Einkaufswagen enthält "+b[2]+" Artikel"}).update(new Element("span",{"class":"pictos"}).update("$")));var j=$("insert_shopping_cart_after");if(j){var c=$$(".shopping_cart_scale_me");var k=Number(c.inject(0,function(l,m){return l+(m.getWidth())}));var f=k-a;var d=0;var e=0;c.each(function(l){e+=1;if(e==c.length){l.select("li").invoke("setStyle",{width:(f-d-1)+"px"});l.setStyle({width:(f-d-1)+"px"})}else{var m=Math.ceil(Number(f/k)*l.getWidth());l.select("li").invoke("setStyle",{width:(m)+"px"});l.setStyle({width:(m)+"px"});d+=m}});j.insert({after:h})}}}},setup_tinymce_edits:function(){if(!Bilderbuch.tinymce_edits&&(_bb_admin||_bb_editor)){Bilderbuch.tinymce_edits=[];$$("textarea[class=tinymce]").each(function(a){Bilderbuch.tinymce_edits.push(a.getAttribute("id"))});Bilderbuch.edit_with_tinymce({textarea:Bilderbuch.tinymce_edits,with_dialog:false})}},change_css_for_print:function(){if(is_local_file_request()){$(document.body).setStyle({background:"none"});if($("newsfeed_logo")){$("newsfeed_logo").remove()}}},jpg_to_png:function(a){if(a){var b=a.getStyle("background-image").gsub(/\.jpg/,".png");a.setStyle({backgroundImage:b})}},selection_switcher:function(a,b){var c=$(a);if(c){onswitch=function(){c.select("option").each(function(f){var e=f.getAttribute("value");var d=$(b+e);if($F(c)==e){d.show();d.removeClassName("hidden")}else{d.hide();d.addClassName("hidden")}})};onswitch();c.observe("change",onswitch)}},generate_google_search_link:function(a){return"http://www.google.com/search?hl=de&q="+encodeURIComponent(a)+"&um=1&ie=UTF-8&sa=N&tab=lw"},local_spinner_show:function(a){var b=new Element("img",{src:"/images/spinner.gif",style:"position:absolute;bottom:20px;right:30px",id:"dialog-spinner"});$(a).insertAsFirstChild(b)},local_spinner_hide:function(){if($("dialog-spinner")){$("dialog-spinner").remove()}},setup_ajax_links:function(a){$$(a).each(function(b){var c=b.className.gsub(/.*update_(.*)$/,"#{1}");b.observe("click",function(d){global_spinner_show();new Ajax.Updater(c,b.getAttribute("href"),{method:"get",onSuccess:function(){new Effect.Highlight(c);global_spinner_hide()}});d.stop()})})},setup_ajax_dialogs:function(a){$$(a).each(function(b){var c=b.className.gsub(/.*update_(.*)$/,"#{1}");b.observe("click",function(d){new Dialog({title:b.getAttribute("title"),ajax:{url:b.getAttribute("href"),options:{method:"GET",onComplete:function(){var f=$$("div#dialog-content form");if(f.length==0){return}var g=f.first();g.focusFirstElement();var h=function(){$$('div#dialog-content form input[type="submit"]').each(function(j){j.observe("click",function(k){var m=k.element();var o=m.getAttribute("name");var l=new Element("input",{type:"hidden",name:o,value:m.getAttribute("value")});$$("div#dialog-content form").first().insertAsFirstChild(l);$$('div#dialog-content form input[type="submit"]').each(function(n){n.setAttribute("name","_removed")})})})};h.call();new InputFieldHints(g);var e=function(k){var j=$$("div#dialog-content form").first();var l=new Element("input",{type:"hidden",name:"js_dialog",value:"1"});j.insertAsFirstChild(l);new Ajax.Updater({success:c,failure:"dialog-content"},j.getAttribute("action"),{method:j.getAttribute("method")||"GET",parameters:j.serialize(),evalScripts:true,onCreate:function(){Bilderbuch.local_spinner_show("dialog-content")},onSuccess:function(){Dialogs.close();new Effect.Highlight(c);setTimeout(function(){Bilderbuch.setup_ajax_dialogs("#"+c+" .open_js_dialog")},1000)},onFailure:function(){setTimeout(function(){var m=$$("div#dialog-content form").first();m.focusFirstElement();m.insertAsFirstChild(l);new InputFieldHints(m);h.call();m.observe("submit",e)},1000)},onComplete:function(){Bilderbuch.local_spinner_hide()}});k.stop()};g.observe("submit",e)}}},width:600,innerScroll:true}).open();d.stop()})})},setup_image_insert_link:function(){if($("insert_it")){$("insert_it").observe("click",function(a){Bilderbuch.request_value("Fotonummer eingeben","",function(b){Bilderbuch.update_memorial_image.call(b)})})}},update_memorial_image:function(){var a=this;new Ajax.Updater("memorial_images","/images/memorial_add/"+a,{parameters:{memorial_id:$("bb_object").getAttribute("content")},method:"post",onComplete:function(){Bilderbuch.setup_image_dragdrop_draggables("memorial_images")},onFailure:function(b){Bilderbuch.global_hint_display(b.responseText)}})},trash_memorial_image:function(){var a=this;part=a.getAttribute("_bb")?"memorial_remove":"memorial_decline";new Ajax.Request("/images/"+part+"/"+a.getAttribute("bb_id"),{method:"post",onSuccess:function(){new Effect.Puff(a.up("li"))},onFailure:function(b){Bilderbuch.global_hint_display(b.responseText)}})},setup_memorial_mapmarker_change:function(){if($("photo_marker")){$("photo_marker").observe("change",function(a){Bilderbuch.setup_memorial_map(true,"."+a.element().value+" .show_on_map")})}},setup_memorial_map:function(a,b){if(!b){b=".show_on_map"}_bb_map=new CityMap("map",{city:$("current_city").getAttribute("content"),lat:$("current_memorial_lat").getAttribute("content"),lng:$("current_memorial_lng").getAttribute("content"),zoom:$("current_memorial_zoomlevel").getAttribute("content"),relatedImagesClass:b,addDragMarker:a,addHitMarker:true,hitMarkerSrc:$("current_memorial_img_src").getAttribute("content"),hitMarkerAnchor:new GPoint(15,16),hitMarkerSize:new GSize(32,32),map_type:$("current_memorial_maptype").getAttribute("content"),onMapTypeChange:function(c){if(a){$("memorial_maptype").value=c;$("current_memorial_maptype").setAttribute("content",c)}},onMapZoomChange:function(c){if(a){$("memorial_zoomlevel").value=c;$("current_memorial_zoomlevel").setAttribute("content",c)}},onCurrentPointChange:function(d,c){if(a){$("memorial_lat").value=d;$("memorial_lng").value=c;$("current_memorial_lat").setAttribute("content",d);$("current_memorial_lng").setAttribute("content",c)}},onRelatedClick:function(c){top.location.href="/Fotos/"+c.related_image_id}})},setup_image_dragdrop_draggables:function(a){$$("#"+a+" a").each(function(b){b.setAttribute("_bb","1");b.observe("click",function(c){c.stop()});new Draggable(b,{revert:false,ghosting:true})})},setup_image_dragdrop:function(a,d,b,c){$$("#"+a+" a").each(function(e){e.observe("click",function(f){f.stop()});new Draggable(e,{revert:true,ghosting:true})});Bilderbuch.setup_image_dragdrop_draggables(d);Droppables.add(d,{hoverclass:"image_dragdrop_hover",onDrop:function(e,f){$(d).down("ul").insert(e.up("li"));b.call(e.getAttribute("bb_id"))}});Droppables.add("trash_it",{hoverclass:"image_dragdrop_hover",onDrop:function(e,f){c.call(e)}});Droppables.add("zoom_it",{hoverclass:"image_dragdrop_hover",onDrop:function(e,f){window.open(e.getAttribute("href"))}})},update_company_image:function(){alert(this);var a=this;new Ajax.Updater("company_images","/images/company_add/"+a,{parameters:{company_id:$("bb_object").getAttribute("content")},method:"post",onComplete:function(){Bilderbuch.setup_image_dragdrop_draggables("company_images")},onFailure:function(b){Bilderbuch.global_hint_display(b.responseText)}})},trash_company_image:function(){var a=this;new Ajax.Request("/images/company_remove/"+a.getAttribute("bb_id"),{parameters:{company_id:$("bb_object").getAttribute("content")},method:"post",onSuccess:function(){new Effect.Puff(a.up("li"))},onFailure:function(b){Bilderbuch.global_hint_display(b.responseText)}})},company_preselection:function(b,a){if($("apackage_order")){global_hint_display("Lade Vorauswahl "+b.value);top.location.href=b.up("form").getAttribute("action")+"/bearbeiten?company_id="+a.id.gsub(/\D+/,"")}else{global_hint_display("Lade Bearbeitung zu "+b.value);top.location.href=b.up("form").getAttribute("action").gsub(/\/\d+/,"")+"/"+a.id.gsub(/\D+/,"")+"/bearbeiten"}},setup_competition_rating:function(){var c=function(e){var f=e.up("li.competition_rating");new Ajax.Updater(f,e.getAttribute("action"),{parameters:e.serialize(true),method:"POST",onCreate:function(){e.up("ol").insert('<li><img src="/images/spinner.gif"/></li>')},onSuccess:function(){if($$(".pagination")){var g=top.location.href.gsub(/seite=\d+\&?/,"");$$(".pagination").first().update('<a href="'+g+'">Weiter bewerten</a>')}},onComplete:function(){f.select("input").each(function(g){d(g)})}})};var d=function(e){e.observe("click",function(f){c.call(this,f.element().up("form"))})};var b=function(e){e.scrollTo();Bilderbuch.active_competition_image=e;Bilderbuch.competition_images.each(function(f){f.setStyle({borderBottom:"none"})});e.setStyle({borderBottom:"3px dotted white"})};$$(".competition_ratings_line input").each(function(e){d(e)});$$(".fullscreen_possible").each(function(e){e.observe("click",function(f){Bilderbuch.display_fullscreen_image(f.element().getAttribute("data-fullscreen-image"));f.stop()})});Bilderbuch.competition_images=$$(".competition_image");Bilderbuch.active_competition_image=Bilderbuch.competition_images.first();var a=function(h){if(h.keyCode==78){var e=false;if(Bilderbuch.active_competition_image){Bilderbuch.competition_images.each(function(j){if(e){b.call(this,j);e=false}else{if(j==Bilderbuch.active_competition_image){e=true}}})}if(!Bilderbuch.active_competition_image||e){var f=Bilderbuch.competition_images.first();b.call(this,f)}}else{if(h.keyCode==85){var f=Bilderbuch.competition_images.detect(function(j){return j.next("li.competition_rating").select("input").all(function(k){return k.getAttribute("checked")!="checked"})});b.call(this,f)}else{if(h.keyCode==86&&!document.zoom_is_active){if(Bilderbuch.active_competition_image){h.stop();Bilderbuch.display_fullscreen_image(Bilderbuch.active_competition_image.down("img").getAttribute("data-fullscreen-image"))}}else{if((h.keyCode>=96&&h.keyCode<=105)||(h.keyCode>=48&&h.keyCode<=57)){rate=h.keyCode-(h.keyCode>60?96:48);if(Bilderbuch.active_competition_image){var g=Bilderbuch.active_competition_image.next("li.competition_rating").down("form");g.down("#competition_rating_rating_"+rate).setAttribute("checked","checked");c.call(this,g)}}}}}};document.observe("keydown",function(e){a(e)})},album_competition_stop:function(a){},album_competition_start:function(a){},observe_paginatable_results:function(a){$$(a).each(function(b){b.observe("click",function(c){Bilderbuch.store_paginateable_results(a)})})},store_paginateable_results:function(c){var a=[null];var d=new Array();$$(c).each(function(g){var e=g.getAttribute("reference");var f=g.getAttribute("bb_id");if(e){a[0]=g.getAttribute("query");if(d.size()>0){a.push(d);d=new Array()}d.push(e);d.push(Number(g.getAttribute("hits")));d.push(Number(g.getAttribute("from")));d.push(Number(g.getAttribute("to")))}else{if(f){d.push(Number(f))}}});a.push(d.clone());var b=Object.toJSON(a).gsub(/\s*\,\s*/,",");_bb_browser_storage.set("bb_search_typelist",b);_bb_browser_storage.remove("bb_search")},get_real_type:function(b){var c=b;if(c=="images"){var a=$("photo_title");if(a){var d=a.getAttribute("year");if(d&&d.match(/^\d+$/)&&Number(d)<2000){c="historical_images"}}}return c},display_search_navigation:function(){var g=_bb_browser_storage.get("bb_search_typelist");if(g){var h=null;var b=null;var c=$("bb_object");var a=_bb_browser_storage.get("bb_search");if(!a&&!c){return}if(!a){a=c.getAttribute("name")+":"+c.getAttribute("content");if(a.match(/^images:/)){var k=$("bb_object_addon");if(k){a=a.gsub(/^images:/,k.getAttribute("content")+":")}}_bb_browser_storage.set("bb_search",a)}var h=a.split(":")[0];var b=Number(a.split(":")[1]);_bb_typelist_collection=g.evalJSON();_bb_query=_bb_typelist_collection.shift();_detect=Bilderbuch.get_real_type(h);_bb_typelist=_bb_typelist_collection.detect(function(m){return m[0]==_detect});if(_bb_typelist){var j=_bb_typelist.indexOf(b);if(j!=-1){if($("htopnav")){var d=new Element("a",{href:"#Suche",id:"search_go_back"}).update('&larr; <span style="font-weight:bolder;text-decoration:underline">z</span>urück').observe("click",function(m){m.stop();Bilderbuch.search_content("<")});var e=new Element("a",{href:"#Suche",id:"search_go_forward"}).update('<span style="font-weight:bolder;text-decoration:underline">w</span>eiter &rarr;').observe("click",function(m){m.stop();Bilderbuch.search_content(">")});var f=new Element("a",{href:"#Suche",id:"search_go_index"}).update("'"+decodeURIComponent(_bb_query)+"'").observe("click",function(m){m.stop();Bilderbuch.search_content()});var l=new Element("div",{id:"search_navigation"});l.insert(d);l.insert(f);l.insert(e);$("htopnav").insert({after:l})}}}}},search_content:function(l){var c=_bb_browser_storage.get("bb_search");if(!c){return}global_spinner_show();var j=c.split(":")[0];var d=Number(c.split(":")[1]);var k=_bb_typelist.indexOf(d);if(!l){if(!_bb_query){return}top.location.href="/search/redirect_to_index?q="+_bb_query+"&type="+Bilderbuch.get_real_type(j)+"&pos="+(_bb_typelist[2]+k-4)+"&id="+d;return}if(_bb_typelist){var g=null;var e=null;var m=null;var b=null;var f=null;if(l=="<"){g=k>4;e=k-1;m=_bb_typelist[2]>1;b=_bb_typelist_collection.indexOf(_bb_typelist)==0;f=_bb_typelist_collection.indexOf(_bb_typelist)-1}else{g=(k<_bb_typelist.length-1);e=k+1;m=_bb_typelist[3]<_bb_typelist[1];b=_bb_typelist_collection.indexOf(_bb_typelist)==_bb_typelist_collection.length-1;f=_bb_typelist_collection.indexOf(_bb_typelist)+1}if(g){var h=_bb_typelist[e];_bb_browser_storage.set("bb_search",j+":"+h);if((_bb_typelist[0]=="images"||_bb_typelist[0]=="historical_images"||_bb_typelist[0]=="dateless_images")&&Bilderbuch.image()){global_spinner_hide();Bilderbuch.image().load_new_image(h)}else{var a="/Home/redirector?on="+_bb_typelist[0]+"&id="+h;top.location.href=a}}else{if(m){Bilderbuch.get_typelist(l);global_spinner_hide()}else{if(b){global_hint_display("Keine weiteren Treffer");global_spinner_hide()}else{_bb_typelist=_bb_typelist_collection[f];var n=true;if(l=="<"){n=_bb_typelist[1]<=_bb_typelist[3]}if(n){j=_bb_typelist[0];var h=_bb_typelist[4];if(l=="<"){h=_bb_typelist.last()}_bb_browser_storage.set("bb_search",j+":"+h);var a="/Home/redirector?on="+j+"&id="+h;top.location.href=a;global_spinner_hide()}else{Bilderbuch.get_typelist(l);global_spinner_hide()}}}}}},get_typelist:function(direction){var s=_bb_browser_storage.get("bb_search");var old_type=s.split(":")[0];var old_id=Number(s.split(":")[1]);new Ajax.Request("/Search/typelist",{parameters:{q:_bb_query,direction:direction,type:_bb_typelist[0],hits:_bb_typelist[1],from:_bb_typelist[2],to:_bb_typelist[3]},method:"get",onSuccess:function(transport){var pos=_bb_typelist_collection.indexOf(_bb_typelist);_bb_typelist=eval("("+transport.responseText+")");_bb_typelist_collection[pos]=_bb_typelist;_bb_typelist_collection.unshift(_bb_query);var json=_bb_typelist_collection.toJSON().gsub(/\s*\,\s*/,",");_bb_browser_storage.set("bb_search_typelist",json);var new_id=null;var _typelist=_bb_typelist.clone();_typelist.shift();_typelist.shift();_typelist.shift();_typelist.shift();var pos=_typelist.indexOf(old_id);if(old_type==_bb_typelist[0]&&pos!=-1){new_id=_typelist[pos+(direction=="<"?-1:+1)]}else{if(direction=="<"){new_id=_bb_typelist.last()}else{new_id=_bb_typelist[4]}}_bb_browser_storage.set("bb_search",_bb_typelist[0]+":"+new_id);var url="/Home/redirector?on="+_bb_typelist[0]+"&id="+new_id;top.location.href=url},onFailure:function(transport){global_hint_display(transport.responseText)}})},setup_custom_city_map:function(elem){var element=$(elem);var map=_bb_city_maps.get[element.identify()];var no=element.identify().gsub(/\D+/,"");if(Number(no)==0){return}var args=arguments[1]||{};var g=null;if(!map){g=Bilderbuch.getSpinnerGif();element.insert(g);element.insert("<p>Lade Karte...</p>")}new Ajax.Request("/Alben/"+no+"/Fotos.json",{method:"get",onSuccess:function(transport){var images=eval("("+transport.responseText+")");if(map){map.relatedImagesArray=images;map.overlays_refresh()}else{_bb_city_maps.set[element.identify()]=new CityMap(element,Object.extend({relatedImagesArray:images,zoom:12},args))}}})},after_change_editor_map:function(){var b=$$("._editor_album_map")[0];var a=$("album_id");_edit_map_id="map_"+a.value;b.setAttribute("id",_edit_map_id);b.setStyle({width:$("map_width").value+"px",height:$("map_height").value+"px"});Bilderbuch.setup_custom_city_map(b,{lat:$("lat").value,lng:$("lng").value,zoom:$("zoom").value,type:$("type").value,addDragMarker:true,onMapZoomChange:function(c){$("zoom").setAttribute("value",c)},onMapTypeChange:function(c){$("type").setAttribute("value",c)},onCurrentPointChange:function(d,c){$("lat").setAttribute("value",d);$("lng").setAttribute("value",c)},onRelatedClick:function(c){top.location.href="/Alben/"+a+"/Fotos/"+c.related_image_id}})},setup_ad_observers:function(){var a=Bilderbuch.getSpinnerGif().setStyle({"float":"right"});$$(".wizzard_overview ._item_click").each(function(b){b.observe("click",function(c){var d=c.element().getAttribute("name");$$(".edit_ad_package_order")[0].insert(new Element("input",{type:"hidden",name:"step",value:d}));$$(".edit_ad_package_order")[0].submit()})});if($("apackage_items")){$$("#apackage_items input").each(function(b){if(b.type=="checkbox"){b.observe("click",function(c){new Ajax.Updater("apackage_total","/ad_packages/update/"+$("apackage_items").getAttribute("ad_package_id"),{method:"put",parameters:$$(".edit_ad_package_order")[0].serialize(true),onCreate:function(){$("apackage_total").insert(a)}})})}})}else{if($("company")){Bilderbuch.setup_zipcode_autocompletion({city:"company_address_attributes_city",street:"company_address_attributes_street",street_no:"company_address_attributes_street_no",zipcode:"company_address_attributes_zipcode",insert_spinner:"company_help"})}else{if($("image_upload")){if(navigator.javaEnabled()&&!top.location.search.match(/java=off/)){$("next_wizard_button").observe("click",function(c){var b=false;try{document.jupload.startUpload();b=true}catch(c){b=false}if(!b){global_hint_show("Java bzw. Javascripting konnte nicht richtig aktiviert werden! Schalte auf Hochladen ohne Java um.");top.location.href=top.location.href.gsub(/\?.*/,"")+"?java=off"}c.stop()})}else{$("no_java_hint").show()}Bilderbuch.setup_image_upload_events()}else{if($("aconfirmation")){$("next_wizard_button").observe("click",function(b){global_hint_show("Vorbereiten des Vertragsabschlusses")})}}}}new InputFieldHints($$(".edit_ad_package_order")[0])},setup_account_updater:function(b){var d=b.down("input[id$=bank_name]");var e=b.down("input[id$=bank_code]");var f=b.down("input[id$=account_number]");if(e&&f){var a=function(){new Ajax.Request("/accounts/check",{method:"post",parameters:{bank_code:e.value,account_number:f.value},onCreate:function(){e.addClassName("loading");d.addClassName("loading")},onSuccess:function(h){var g=h.responseJSON;d.value=g.bank_name;Bilderbuch.error_highlight(e,!g.bank_code_valid)},onComplete:function(){e.removeClassName("loading");d.removeClassName("loading")}})};var c=function(){new Ajax.Request("/accounts/check",{method:"post",parameters:{bank_code:e.value,account_number:f.value},onCreate:function(){f.addClassName("loading")},onSuccess:function(h){var g=h.responseJSON;Bilderbuch.error_highlight(f,!g.account_number_valid)},onComplete:function(){f.removeClassName("loading")}})};e.observe("change",a);f.observe("change",c)}},error_highlight:function(b,a){if(a){$(b).addClassName("fieldWithErrors")}else{$(b).removeClassName("fieldWithErrors");new Effect.Highlight(b,{startcolor:"#aaffaa"})}},setup_multiple_zipcode_autocompletion:function(container){if(!_bilderbuch_streets){_bilderbuch_streets=["Strassen werden geladen..."];new Ajax.Request("/Strassen.json",{method:"get",onSuccess:function(transport){_bilderbuch_streets=eval("("+transport.responseText+")");Bilderbuch.setup_multiple_autocompletion(container)}})}else{Bilderbuch.setup_multiple_autocompletion(container)}},setup_multiple_autocompletion:function(b){var a=b;Bilderbuch.setup_zipcode_autocompletion({city:a.down(".address_city"),street:a.down(".address_street"),street_no:a.down(".address_street_no"),zipcode:a.down(".address_zipcode"),insert_spinner:"company_help"})},setup_zipcode_autocompletion:function(options){if(!_bilderbuch_streets){_bilderbuch_streets=["Strassen werden geladen..."];new Ajax.Request("/Strassen.json",{method:"get",onSuccess:function(transport){_bilderbuch_streets=eval("("+transport.responseText+")");Bilderbuch.setup_autocompleter(options)}})}else{if(_bilderbuch_streets.length<20){_bilderbuch_streets.push("Strassen werden geladen...");setTimeout(function(){Bilderbuch.setup_zipcode_autocompletion(options)},1000)}else{Bilderbuch.setup_autocompleter(options)}}},setup_autocompleter:function(a){$(a.street_no).observe("change",function(){Bilderbuch.get_zipcodes(a)});if(!$("address_street_auto_complete")){$(document.body).insert(new Element("div",{"class":"auto_complete",id:"address_street_auto_complete"}))}new Autocompleter.Local(a.street,"address_street_auto_complete",_bilderbuch_streets,{frequency:0,minChars:1,afterUpdateElement:function(){Bilderbuch.get_zipcodes(a)}})},get_zipcodes:function(a){var b=Bilderbuch.getSpinnerGif();var c=$(a.insert_spinner);if(!c){c=$("autocompletion_spinner")}new Ajax.Request("/admin/addresses/zipcodes",{method:"post",parameters:{"address[city]":$(a.city).value,"address[street]":$(a.street).value,"address[street_no]":$(a.street_no).value},onCreate:function(){if(c){$(c).insert(b)}},onSuccess:function(e){var d=e.responseJSON;if(d.zipcodes){$(a.zipcode).update("");d.zipcodes.each(function(g){var f=new Element("option",{value:g[1]}).update(g[0]);if(d.zipcode&&Number(g[1])==Number(d.zipcode)){f.setAttribute("selected","selected")}$(a.zipcode).appendChild(f)});if(a.onAddressFound){a.onAddressFound.call()}}},onComplete:function(){if(c){$(b).remove()}}})},extend_upload:function(){var c=$$(".file_upload_input").max(function(e){return Number(e.getAttribute("name").gsub(/.*\[(\d+)\].*/,"#{1}"))});var d=new Element("p");var a=new Element("label",{"for":"file"}).update("Foto auswählen");var b=new Element("input",{type:"file",name:"image_upload[files]["+(c+1)+"]",size:"40","class":"file_upload_input",style:"width:540px"});d.appendChild(a);d.appendChild(b);$("upload_files").appendChild(d)},start_upload:function(){var a=false;if(document.jupload){try{document.jupload.startUpload();a=true}catch(b){a=false}}if(!a){global_hint_show("Java bzw. Javascripting konnte nicht richtig aktiviert werden! Schalte auf Hochladen ohne Java um.");top.location.href=top.location.href.gsub(/\?m=v/,"")}},after_upload:function(d,c,a,b){global_hint_display(a.gsub(/SUCCESS /,"")+" Foto(s) hochgeladen");top.location.href=b},after_ad_upload:function(c,b,a){new Ajax.Updater("image_uploads_total","/image_uploads/total/"+$("apackage_order").getAttribute("page_id"),{method:"get",onSuccess:function(){global_hint_display(a.gsub(/SUCCESS /,"")+" Foto(s) hochgeladen");var d=$$(".edit_ad_package_order")[0];d.insert(new Element("input",{type:"hidden",name:"commit",value:$("directions_next").value}));$$(".edit_ad_package_order")[0].submit()}})},upload_alert:function(a){global_hint_show(a);setTimeout("global_hint_hide()",8000)},setup_image_upload_events:function(){if($("upload_more_photos")){$("upload_more_photos").observe("click",function(a){a.stop();Bilderbuch.extend_upload()})}if($("simple_upload_button")){$("simple_upload_button").observe("click",function(a){if($F("album_name")=="Album auswählen..."){window.alert("Bitte wählen Sie ein Album aus");a.stop()}else{global_hint_show("Ihr(e) Foto(s) werden hochgeladen...",false,false)}return true})}},setup_album_scroller:function(b,c){var a=new Control.Scroller(b.down(".albums_images_table"),b.down(".handle"),b.down(".track"),{axis:"horizontal",up:b.down(".button-up"),down:b.down(".button-down")});if(c){a.currentValue=c;a.slider.setValue(c,0)}return a},load_analytics:function(c){if(_bb_current_env.match(/development/)){return}gaJsHost=(("https:"==document.location.protocol)?"https://ssl.":"http://www.");var a=new Element("script",{src:gaJsHost+"google-analytics.com/ga.js"});var b=function(){if(!a.readyState||/loaded|complete/.test(a.readyState)){_bb_page_tracker=_gat._getTracker(c);_bb_page_tracker._initData();_bb_page_tracker._trackPageview();a.onload=a.onreadystatechange=null;document.body.removeChild(a)}};a.observe("load",b);a.observe("readystatechange",b);document.body.appendChild(a)},request_value:function(f,a,g){var b=a?a:"";var c=new Element("input",{type:"text",name:"n",value:b});var e=new Dialog({title:f,afterOpen:function(){c.focus()},content:function(){var d=Bilderbuch.button("id","Festlegen").observe("click",function(){g.call(this,c.value);Dialogs.close()});var h=new Element("form").insert(c).insert(d);return h}}).open()},key_up:function(a){switch(a.keyCode){case 16:Bilderbuch.shift_key_pressed=false;break;case 17:Bilderbuch.ctrl_key_pressed=false;break;case 18:Bilderbuch.option_key_pressed=false;break;case 224:Bilderbuch.command_key_pressed=false;break}},key_down:function(c){var f=c.keyCode;if(f==113&&_bb_path=="images:edit"){var e=new Array();var m=null;var h=null;if(_bb_entries_focus){m=_bb_entries_focus.name+"="+encodeURIComponent(_bb_entries_focus.value)}var n=Bilderbuch.thumbnail_element(Bilderbuch.current_image_id()).getAttribute("status");switch(n){case"uploaded":case"was_changed":h=(_bb_user_prefs.getPref("review",false)?"present":"release");break;case"unfinished":h="revise";case"draft":case"revised":h=(_bb_admin?"accept":null);break}if(h){e.push("image[change_state]="+h)}if(m){e.push(m)}var k=Bilderbuch.shift_key_pressed;if(e.size==0){bilderbuch_scan_for_next_edit(k)}else{image_update(e.join("&"),function(){bilderbuch_scan_for_next_edit(k)})}return}switch(f){case 16:Bilderbuch.shift_key_pressed=true;return;case 17:Bilderbuch.ctrl_key_pressed=true;return;case 18:Bilderbuch.option_key_pressed=true;return;case 224:Bilderbuch.command_key_pressed=true;return}var l=c.element().tagName.toLowerCase();if($w("input select textarea").any(function(a){return a==l})){return}if((Bilderbuch.ctrl_key_pressed||Bilderbuch.command_key_pressed)&&f==80){Bilderbuch.print();c.stop();return}if(Bilderbuch.ctrl_key_pressed||Bilderbuch.option_key_pressed||Bilderbuch.command_key_pressed){return}var d=null;switch(f){case Event.KEY_LEFT:d=$$('a[id="page_back"]');break;case Event.KEY_RIGHT:d=$$('a[id="page_forward"]');break;case 83:case 87:var p=$("search_go_forward");if(p){Bilderbuch.search_content(">");c.stop()}else{var b=$("q");var g=$("_current_page").getAttribute("content");if(g!="search:index"&&b){b.select();c.stop()}else{if(g=="search:index"){var o=$$('ul[class^="search_results"]');if(o&&o[0]){var j=o[0].down("a");if($$('a[id="page_forward"]')){j=o[0].select("a")[1]}top.location.href=j.getAttribute("href");c.stop();break}}}}break;case 65:case 90:var p=$("search_go_back");if(p){Bilderbuch.search_content("<");c.stop()}break;case 84:if(Bilderbuch.image()){if(document.viewport.getScrollOffsets().top!=0){document.body.scrollTo()}else{$("my-glider-horizontal").scrollTo()}c.stop()}break;case 86:if(Bilderbuch.image()){if($$(".xfullscreen").size()>0){Bilderbuch.image().hide_fullscreen()}else{Bilderbuch.image().show_fullscreen()}c.stop()}break;case 27:if(Bilderbuch.image()&&$$(".xfullscreen").size()>0){Bilderbuch.image().hide_fullscreen();c.stop()}break;case 66:if(_bb_admin&&Bilderbuch.image()){Bilderbuch.image().toggle_is_sellable();c.stop()}break;case 81:if(_bb_admin&&Bilderbuch.image()){Bilderbuch.image().toggle_quality();c.stop()}break}if(d&&d[0]){global_spinner_show();c.stop();top.location.href=d[0].getAttribute("href")}},getSpinnerGif:function(){return new Element("img",{src:"/images/ajax-loader.gif",id:"spinner_gif"})},window:function(a,b){new Dialog({title:b,ajax:{url:a,options:{method:"GET"}},width:600,height:480,innerScroll:true}).open()},log:function(a){if($("current_env").getAttribute("content").indexOf("development")==0){if(window.console){console.log(a)}else{global_hint_show(a,false,true)}}},href_image_id:function(b){var c=$(b);if(!c){return false}var a=c.href.match(/.*\/Alben\/(\d+)\/Fotos\/.*/);if(a){Bilderbuch._href_album_id=a[1]}var a=c.href.match(/.*\/Fotos\/(\d+.)*/);return(a?a[1]:false)},change_href:function(a,b){if(a.href){a.href=a.href.replace(b,Bilderbuch.current_image_id())}return true},current_image_id:function(b){if(!b&&_bb_image_id){return _bb_image_id}var a=$("bb_object");if(a){_bb_image_id=a.getAttribute("content");return _bb_image_id}else{return null}},set_current_image_id:function(b){_bb_image_id=b;var a=$("bb_object");if(a){a.setAttribute("content",b)}},current_image:function(){return $("image_"+Bilderbuch.current_image_id())},image:function(){return _bb_images.get(Bilderbuch.current_image_id())},new_image:function(a){_bb_images.set(a,new BilderbuchImage("image_"+a,arguments[1]||{}))},album:function(a){Bilderbuch._album_id=a},album_id:function(){if(Bilderbuch._href_album_id){return Bilderbuch._href_album_id}return Bilderbuch._album_id},drop_image:function(a){if(_bb_images.get(a)){_bb_images.get(a).destroy();if(_bb_images.get(a).options.edit){Droppables.drops=[];Draggables.drags=[]}_bb_images.unset(a)}},zoom_image:function(b){var a=b?$(b):Bilderbuch.current_image();new Dialog({title:a.getAttribute?a.getAttribute("title"):"",ajax:{url:"/Fotos/"+(a.getAttribute?a.getAttribute("data-image-id"):b)+"/vergroessern",options:{method:"GET"}},width:600,height:480,innerScroll:false}).open();return false},selection:function(b){var a=$(b);if(a&&a.selectionStart!=undefined){return a.value.substring(a.selectionStart,a.selectionEnd)}else{if(window.getSelection){return window.getSelection()}else{if(document.getSelection){return document.getSelection()}else{if(document.selection){return document.selection.createRange().text}else{return""}}}}},selection_replace:function(d,c){var b=$(d);var e=b.value;var f=e.substring(0,b.selectionStart);var a=e.substring(b.selectionEnd,e.length);b.value=f+c+a},mail_center_tv:function(){new Ajax.Request("/images/mail/"+Bilderbuch.current_image_id()+"?rcpt=centertv",{onSuccess:function(a){global_hint_show("Email wurde verschickt")},onFailure:function(a){global_hint_show("Fehler: "+a.responseJSON.error)}})},show_role_link:function(c,b){if($("_bb_"+b)){return}var a=$("user_login_link");if(a){a=a.next("ul")}if(a){a.insert({bottom:'<li id="_bb_'+b+'"><a href="javascript: void(Bilderbuch.'+b+'())">'+c+"</a></li>"})}},insert_nav_top_link:function(c,b){if($("_bb_"+c)){return}var a=$("user_login_link");if(a){a=a.next("ul")}if(a){a.insert({bottom:'<li id="_bb_'+c+'"><a href="'+b+'">'+c+"</a></li>"})}},acquisition_link:function(){top.location.href="/Administration/Firmen?image_id="+Bilderbuch.current_image_id();return false},partner_link:function(){var a=Bilderbuch.current_image_id();top.location.href="/images/partner_link/"+a;return false},collection_link:function(){global_hint_show("Bitte wählen Sie nun ein Bild aus");Bilderbuch.edit_mode_on(function(b){var c=b.element();var d=c.getAttribute("image_id");if(!d){var a=c.getAttribute("href")?c:c.up("a");d=Bilderbuch.href_image_id(a)}if(d){new Dialog({title:"Foto Nr."+d+" in Sammlung aufnehmen",ajax:{url:"/images/add_to_collection/"+d,options:{method:"post"}},width:600,height:480}).open();global_hint_hide()}else{global_hint_show("Kein brauchbares Foto erkannt!",false,true)}b.stop();Bilderbuch.edit_mode_off()})},edit_mode_on:function(a){document.body.descendants().each(function(b){var c=b.getAttribute("onclick");if(c){b.setAttribute("_bb_onclick",c);b.removeAttribute("onclick")}});if(Bilderbuch.image()){Bilderbuch.image().unregister_events()}if($("map")&&GEvent){GEvent.clearNode($("map"))}document.observe("click",a)},edit_mode_off:function(){if(Bilderbuch.image()){Bilderbuch.image().register_events()}document.body.descendants().each(function(a){var b=a.getAttribute("_bb_onclick");if(b){a.setAttribute("onclick",b);a.removeAttribute("_bb_onclick")}});document.stopObserving("click")},button:function(b,a){return new Element("a",{"class":"button cs_button",id:b}).update(a)},thumbnail_element:function(a){return $$("div[data-image-id="+a+"]").first()},album_description_update:function(){},album_description:function(b){var c=Element.extend(b).up("li");var d=$("album_description_"+c.identify().split(/_/)[2]);var a="/albums/update/"+c.identify().split(/_/)[2]+".json";if(_bb_editor||_bb_admin){Bilderbuch.edit_with_tinymce({title:"Beschreibung des Albums",content:d.innerHTML.strip(),afterSave:function(){var e=this;new Ajax.Request(a,{method:"post",parameters:{"album[description]":String(e),commit:"OK"},onSuccess:function(f){d.update(f.responseJSON.description);new Effect.Highlight(d)}})}})}else{new Dialog({title:"Beschreibung des Albums",content:'<textarea id="_description_tinymce">'+d.innerHTML.strip()+"</textarea>",afterOpen:function(){var e=document.viewport.getScrollOffsets();window.scrollTo(0,0);$("_description_tinymce").setStyle({width:"590px",height:"400px"});var f=Bilderbuch.button("_description_tinymce_save","Speichern").observe("click",function(){var g=$("_description_tinymce").value;new Ajax.Request(a,{method:"post",parameters:{"album[description]":g,commit:"OK"},onSuccess:function(h){d.update(h.responseJSON.description);new Effect.Highlight(d)}});Dialogs.close();window.scrollTo(e.left,e.top)});$("_description_tinymce").insert({after:f})},width:600,height:480}).open()}return false},init_tiny_mce:function(){var a={language:"de",mode:"exact",theme:"advanced",elements:"textarea",convert_urls:false,relative_urls:true,handle_event_callback:"bilderbuchEvents",plugins:"safari,table,bbimage,bbstreet,bbmap,bbsearch,inlinepopups,media,contextmenu,fullscreen,tinyautosave",theme_advanced_buttons1:"bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontsizeselect,|,forecolor,backcolor,bullist,numlist,|,fullscreen",theme_advanced_buttons2:"undo,redo,|,outdent,indent,|,sub,sup,|,link,unlink,image,|,bbimage,bbsearch,bbstreet,bbmap,|,blockquote,hr,charmap,media,|,removeformat,cleanup,|,code",theme_advanced_buttons3:"tinyautosave,|,tablecontrols",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",theme_advanced_resizing:true,add_unload_trigger:1,content_css:$("standard_stylesheet").getAttribute("href").gsub("screen","tinymce")};tinyMCE.init(Object.extend(a,arguments[0]||{}))},edit_with_tinymce:function(){var a=Object.extend({afterSave:Prototype.emptyFunction,textarea:null,content:null,title:"Beschreibung",with_dialog:true},arguments[0]||{});window.tinyMCE_src_on_demand=function(){if(a.with_dialog){var b=a.textarea?$F(a.textarea):a.content;new Dialog({close:{link:true,esc:false,overlay:false},title:a.title,content:'<textarea id="_description_tinymce"></textarea>',afterOpen:function(){var c=document.viewport.getScrollOffsets();window.scrollTo(0,0);$("_description_tinymce").value=b;$("_description_tinymce").setStyle({width:"590px",height:"400px"});var d=Bilderbuch.button("_description_tinymce_save","Speichern").observe("click",function(){var e=tinyMCE.activeEditor.getContent();Dialogs.close();a.afterSave.call(e);window.scrollTo(c.left,c.top)});$("_description_tinymce").insert({after:d});$("_description_tinymce").insert({after:'<br clear="all">'});Bilderbuch.init_tiny_mce({elements:"_description_tinymce",add_unload_trigger:0})},width:600,height:480}).open()}else{if(_bb_editor||_bb_admin){Bilderbuch.init_tiny_mce({elements:Object.isArray(a.textarea)?a.textarea.join(","):a.textarea,add_unload_trigger:0})}}};$$('script[src^="/jscripts/tiny_mce/tiny_mce.js"]').invoke("remove");$$("head")[0].insert(new Element("script",{src:"/jscripts/tiny_mce/tiny_mce.js",type:"text/javascript"}))},display_fullscreen_image:function(e){var d=function(){if($$(".xfullscreen")){$$(".xfullscreen").invoke("remove");if($("overlay")){$("overlay").remove()}$$("select").invoke("show");$$("embed").invoke("show");$$("object").invoke("show")}if($("fullscreen_image")){$("fullscreen_image").remove()}};d();var c=new Element("img",{src:e,"class":"xfullscreen"});var b=new Element("div",{id:"fullscreen_image",style:"width:0px;height:0px;overflow:hidden"});b.insert(c);$(document.body).insert(b);var a=function(){var f=[document.body.getHeight(),document.viewport.getHeight(),c.getHeight()].max()+30;var h=[document.body.getWidth(),document.viewport.getWidth(),c.getWidth()].max()+10;var g=new Element("div",{id:"overlay",style:"display:none"});c.setStyle({display:"none"});$$("select").invoke("hide");$$("embed").invoke("hide");$$("object").invoke("hide");document.body.appendChild(c);document.body.appendChild(g);g.setStyle({position:"absolute",backgroundColor:"black",top:"0px",left:"0px",zIndex:"1000",width:h+"px",height:f+"px"});new Effect.Appear(g,{duration:0.2,from:0,to:0.9,afterFinish:function(){var l=(Math.abs(document.viewport.getWidth()/2)-Math.abs(c.getWidth()/2));var k=(Math.abs(document.viewport.getHeight()/2)-Math.abs(c.getHeight()/2));if(c.getWidth()>=document.viewport.getWidth()){l=5}if(l>10){l-=5}if(c.getHeight()>=document.viewport.getHeight()){k=5}if(k>10){k-=5}c.setStyle({position:"absolute",top:k+document.viewport.getScrollOffsets().top+"px",left:l+"px",zIndex:"1001",display:"block"});c.show();document.zoom_is_active=true;var j=function(m){Bilderbuch.log("hider e.element()"+m.element());c.stopObserving("mouseup",document.bhide);g.stopObserving("mouseup",document.bhide);document.stopObserving("keyup");d.call();document.zoom_is_active=false;m.stop()};document.bhide=j.bindAsEventListener();c.observe("mouseup",document.bhide);g.observe("mouseup",document.bhide);document.observe("keyup",document.bhide)}})};c.complete?a.call():c.observe("load",function(){a.call()})},show_active_image_tags:function(a){if(!a){a=Bilderbuch.current_image_id()}bilderbuch_scroll_to_image_thumbnail(a);thumbnail_highlight(a)},print:function(){_document=Base64.encode('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>'+document.documentElement.innerHTML+"</html>");$("print_stylesheet").setAttribute("media","screen, projection, print");Dialogs.confirm("Wollen Sie ein PDF herunterladen?",function(){var a=new Element("form",{action:"/PdfPrinter/"+encodeURIComponent(document.title)+".pdf",method:"POST"});a.update(new Element("input",{type:"hidden",name:"document",value:_document}));$(document.body).insert(a);a.submit();Dialogs.close()},function(){window.setTimeout(function(){top.window.print()},3000);Dialogs.close()})}};document.observe("keydown",Bilderbuch.key_down);document.observe("keyup",Bilderbuch.key_up);document.observe("dom:loaded",Bilderbuch.dom_loaded);document.observe("resize",save_viewport_dimensions);var BilderbuchImage=Class.create({initialize:function(e){this.image=$(e);var d=Object.extend({onClickRegion:Prototype.emptyFunction,image_id:this.image.getAttribute("image_id"),addTrashBin:false,edit:false},arguments[1]||{});var b=this.image.up("a");if(b){this.fullscreen_src=b.getAttribute("href");b.removeAttribute("href")}this.login=this.image.getAttribute("login");this.editor=(this.image.getAttribute("editor")=="true");this.options=d;this.cursor_navigation=(this.options.edit?false:true);this.bind_show=this.show_image_tags.bindAsEventListener(this);this.bind_hide=this.hide_image_tags.bindAsEventListener(this);this.bind_click=this.click_document.bindAsEventListener(this);this.bind_keypress=this.navigate.bindAsEventListener(this);this.bind_keyup=this.navigate_reset.bindAsEventListener(this);this.bind_foto_link_click=this.foto_link_click.bindAsEventListener(this);this.bind_on_new_image=this.on_new_image.bindAsEventListener(this);this.register_events();this.dist=2;this.maxidst=100;this.last_event=-1;this.loading=false;var c=this;this.image_tags=new ImageTags(this.image,{edit:this.options.edit,onMouseDown:function(a){c.load_new_image(a)},onActivationChange:function(a){Bilderbuch.show_active_image_tags(a)}});if(this.options.addTrashBin){Droppables.reset();Droppables.add("image_trash",{hoverclass:"image_trash_hover",onDrop:function(a,f){c.to_trash(a)}})}this.image_tags.load();this.image_tags.show();this.on_new_image();var c=this},destroy:function(){this.unregister_events();this.image_tags.remove();if(this.options.addTrashBin){Droppables.remove("image_trash")}},on_new_image:function(){var a=this;if(_bb_user_prefs.has_role("affiliate")){Bilderbuch.show_role_link("Partnerlink","partner_link")}if(this.user_is_owner()||_bb_admin){this.show_edit_controls()}if(this.image_tags.size()>0&&!this.options.edit){window.setTimeout(function(){a.image_tags.fade_out()},5000)}if($("album_next_image")){$("album_next_image").observe("click",this.bind_foto_link_click)}if($("album_previous_image")){$("album_previous_image").observe("click",this.bind_foto_link_click)}if($("ccolservice_button")){if(_bb_admin){if($("album_ofoto")){$("album_ofoto").remove()}$("ccolservice_button").insert(Bilderbuch.button("album_ofoto","Originalfoto").observe("click",function(){top.location.href="http://qnap.abracus.de:7000/image_locations/copies?image_id="+Bilderbuch.current_image_id()}));$("ccolservice_button").insert(Bilderbuch.button("album_ufoto","Als Benutzer an.").observe("click",function(){top.location.href="/admin/admins/switch_user/"+$$(".user_mini").first().down("a").getAttribute("href").gsub(/.*\//,"")}))}if(this.user_is_owner()||_bb_admin||_bb_memorial_conservator){if($("album_bfoto")){$("album_bfoto").remove()}$("ccolservice_button").insert(Bilderbuch.button("album_bfoto","Bearbeiten").observe("click",function(){top.location.href="/Fotos/"+Bilderbuch.current_image_id()+"/bearbeiten"}))}if(_bb_archive){if($("album_afoto")){$("album_afoto").remove()}$("ccolservice_button").insert(Bilderbuch.button("album_afoto","Archivnummer").observe("click",function(){a.show_archive_no()}))}if(_bb_memorial_conservator||_bb_admin){if($("image_change_street_no")){$("image_change_street_no").remove()}$("ccolservice_button").insert(Bilderbuch.button("image_change_street_no","Hausnummer").observe("click",function(){a.change_street_no()}))}}},change_street_no:function(){Bilderbuch.request_value("Hausnummer eingeben",$("image_street_no")?$("image_street_no").value:"",function(a){new Ajax.Request("/images/change_street_no/"+Bilderbuch.current_image_id(),{parameters:{street_no:a},onSuccess:function(b){top.location.reload()},onFailure:function(b){alert(b.responseJSON.message)}})})},show_archive_no:function(){new Ajax.Request("/images/archive_no/"+Bilderbuch.current_image_id(),{onSuccess:function(a){alert(a.responseJSON.archive_no)},onFailure:function(a){alert(a.responseJSON.message)}})},user_is_owner:function(){return _bb_user_prefs.getPref("login"," ")==this.login},get_editable_fields:function(a){return a.classNames().select(function(b){return b.indexOf("_")!=-1})},show_edit_controls:function(){var a=$$(".editable");var b=this;if(a){a.each(function(d){var e=b.get_editable_fields(d)[0];var c=new Element("img",{src:"/images/edit.png",style:"display:none;position:absolute;top:0px;left:0px"}).observe("click",function(){b.edit_image_field(d,e)});d.insert({bottom:c});d.makePositioned();d.observe("mouseover",function(f){c.show()});d.observe("mouseout",function(f){c.hide()})})}},edit_image_field:function(b,c){var a=this;new Ajax.Request("/Fotos/"+this.options.image_id+"/bearbeiten",{method:"get",parameters:{field:c.split(/_/)[1]},onSuccess:function(d){a.show_edit_field(b,c,d.responseJSON)}})},show_edit_field:function(element,field,image){var ths=this;var content=eval("image."+field.split(/_/)[1]);if(field=="images_title"||field=="images_keywords"){var edit_node=element.cloneNode(false).insert('<form onsubmit="return false;"><input class="_save" style="width:460px" type="text" name="'+field+'" value="'+content+'"></form><br clear="left"/>');var onsave=function(){ths.save_image_field(edit_node);return false};edit_node.down("form").observe("submit",onsave).insert(Bilderbuch.button("save","Speichern").observe("click",onsave));element.hide();element.insert({before:edit_node});var i=edit_node.down("input");setTimeout(function(){i.focus();i.select()},200)}else{if(field=="images_description"){if(_bb_admin||_bb_editor){Bilderbuch.edit_with_tinymce({content:content,afterSave:function(){image_update("image[description]="+encodeURIComponent(this),function(){top.location.reload()})}})}else{var edit_node=element.cloneNode(false).insert('<form><textarea class="_save markdown" rows="10" type="text" name="'+field+'">'+content+'</textarea></form><br clear="left"/>');edit_node.down("form").insert(Bilderbuch.button("save","Speichern").observe("click",function(){ths.save_image_field(edit_node)}));element.hide();element.insert({before:edit_node})}}}},save_image_field:function(b){var c=$F(b.down("._save"));var a=b.down("._save").getAttribute("name").split(/_/)[1];image_update("image["+a+"]="+encodeURIComponent(c),function(){top.location.reload()})},foto_link_click:function(a){this.load_new_image(Bilderbuch.href_image_id(a.element()));a.stop()},register_events:function(){Event.observe(this.image,"mouseover",this.bind_show);Event.observe(this.image,"mouseout",this.bind_hide);Event.observe(this.image,"mouseup",this.bind_click);Event.observe(document,"dom:loaded",this.bind_on_new_image);if(!this.options.edit){document.observe("keydown",this.bind_keypress);document.observe("keypress",this.bind_keypress);document.observe("keyup",this.bind_keyup)}},unregister_events:function(){Event.stopObserving(this.image,"mouseover",this.bind_show);Event.stopObserving(this.image,"mouseout",this.bind_hide);Event.stopObserving(this.image,"mouseup",this.bind_click);Event.stopObserving(document,"dom:loaded",this.bind_on_new_image);if($("album_next_image")){$("album_next_image").stopObserving("click",this.bind_foto_link_click)}if($("album_previous_image")){$("album_previous_image").stopObserving("click",this.bind_foto_link_click)}if(!this.options.edit){Event.stopObserving(document,"keydown",this.bind_keypress);Event.stopObserving(document,"keypress",this.bind_keypress);Event.stopObserving(document,"keyup",this.bind_keyup)}$$(".xfullscreen").invoke("remove")},reset_edit_controls:function(){if(this.rubberband){this.rubberband.cleanup();this.rubberband=null;if($("blur_image")){$("blur_image").src="/images/blur.png"}}},to_trash:function(a){Effect.Puff(a);this.image_tags.destroy(a.object)},show_image_tags:function(a){this.image_tags.show()},fade_out_image_tags:function(){this.image_tags.fade_out()},hide_image_tags:function(a){if(!Position.within(this.image,Event.pointerX(a),Event.pointerY(a))){if(!this.options.edit){this.image_tags.hide()}}},add_image_tag:function(a){this.reset_edit_controls();this.image_tags.add_image_tag(a)},toggle_quality:function(){this.toggle_type("quality")},toggle_on_startpage:function(){this.toggle_type("on_startpage")},toggle_on_street_list:function(){this.toggle_type("on_street_list")},toggle_on_search_index:function(){this.toggle_type("on_search_index")},toggle_is_sellable:function(){this.toggle_type("is_sellable")},toggle_type:function(b){this.reset_edit_controls();var a=this;var c=a.options.image_id;global_hint_show('Schalte "'+b+'" um',false,true);new Ajax.Request("/admin/images/toggle/"+c,{parameters:"type="+b,onSuccess:function(e){var d=e.responseJSON;$("toggle_"+b).src="/images/"+b+"_"+d.result+".png";global_hint_hide();global_hint_show('"'+b+'" ist jetzt "'+d.result+'"')}})},flipflop_image:function(c){var b=this.options.image_id;var a=this;global_hint_show("Spiegle Foto "+b+" "+(c=="flip"?"in vertikaler Richtung":"in horizontaler Richtung"),true);new Ajax.Request("/images/flipflop/"+b+"?what="+c,{onSuccess:function(d){a.refresh_images(d.responseJSON,true)}})},flip_image:function(){this.flipflop_image("flip")},flop_image:function(){this.flipflop_image("flop")},rotate_image:function(c){this.reset_edit_controls();var a=this;var b=a.options.image_id;global_hint_show("Rotiere Foto "+b+" nach "+(c=="right"?"rechts":"links"),true);new Ajax.Request("/images/rotate/"+b+"?what="+c,{onSuccess:function(d){a.refresh_images(d.responseJSON)}})},unblur_regions:function(){this.reset_edit_controls();var a=this;var b=a.options.image_id;global_hint_show("Entferne unscharfe Bereiche",true);new Ajax.Request("/images/manipulate/"+b+"?what=undo",{onSuccess:function(c){a.refresh_images(c.responseJSON);if($("blur_remove_image")){$("blur_remove_image").up("a").hide()}}})},blur_region:function(){var a=this;if(this.rubberband){var b=a.options.image_id;global_hint_show("Stelle Bereich unscharf",true);new Ajax.Request("/images/manipulate/"+b+"?what=blur",{parameters:{"blur[width]":a.rubberband_region.width,"blur[height]":a.rubberband_region.height,"blur[x]":a.rubberband_region.x,"blur[y]":a.rubberband_region.y,"image[width]":a.image.getWidth(),"image[height]":a.image.getHeight()},onSuccess:function(c){a.refresh_images(c.responseJSON);if(a.rubberband){a.rubberband.cleanup()}a.rubberband=null;if($("blur_image")){$("blur_image").src="/images/blur.png"}if($("blur_remove_image")){$("blur_remove_image").up("a").show()}Dialogs.close()}})}else{if($("blur_image")){$("blur_image").src="/images/blur_active.png"}global_hint_show("Markieren Sie den Fotobereich, der unscharf gestellt werden soll und klicken Sie dann nochmals auf diesen Schalter",false,true);this.rubberband=new RubberBand(this.image.up("a"),{onEnd:function(c){a.rubberband_region=c}})}},refresh_images:function(e,f){var g=(f?"?rand="+String(Math.random()):"");var d=this.options.image_id;var h="image_"+d;Bilderbuch.image().fullscreen_src=e.location.fullsrc+g;var a=$(h);var b=Bilderbuch.thumbnail_element(d);if(a){a.src=e.location.main+g}if(b){var c=new Image;c.src=e.location.thumbnail+g;if(c.complete){b.setStyle({background:"transparent url("+c.src+") no-repeat 0 0"});if(a.complete){setTimeout("global_hint_hide()",3000)}}else{c.observe("load",function(){b.setStyle({background:"transparent url("+c.src+") no-repeat 0 0"});if(c.complete&&a.complete){global_hint_hide()}})}if(!a.complete){a.observe("load",function(){if(c.complete&&a.complete){global_hint_hide()}})}}},navigate_reset:function(a){this.last_event=-1},navigate:function(g){var a=g.element().tagName.toLowerCase();if(!this.cursor_navigation||($w("input select textarea").any(function(d){return d==a}))){return}var f=null;if(this.last_event==g.keyCode){if(this.dist<this.maxidst){this.dist*=1.3}}else{this.dist=1}var h=Math.floor(this.dist);switch(g.keyCode){case Event.KEY_LEFT:var e=this.image.up("a").getWidth();var c=this.image.getWidth();var b=this.image.positionedOffset().left;if(e<c&&b<0){if(b+h>0){h=-b}this.image.setStyle({left:(b+h)+"px"});this.last_event=g.keyCode;break}if(this.last_event!=g.keyCode){var f=this.image_tags.navigate("west");if(f){this.load_new_image(f);g.stop()}else{if($("album_previous_image")){this.load_new_image(Bilderbuch.href_image_id("album_previous_image"))}else{this.related_navigation("west")}}}break;case Event.KEY_RIGHT:var e=this.image.up("a").getWidth();var c=this.image.getWidth();var b=this.image.positionedOffset().left;if(e<c&&b>e-c){if(b-h<e-c){h=b-(e-c)}this.image.setStyle({left:(b-h)+"px"});this.last_event=g.keyCode;break}if(this.last_event!=g.keyCode){var f=this.image_tags.navigate("east");if(f){this.load_new_image(f);g.stop()}else{if($("album_next_image")){this.load_new_image(Bilderbuch.href_image_id("album_next_image"))}else{this.related_navigation("east")}}}break;case Event.KEY_UP:var f=this.image_tags.navigate("north");if(f){this.load_new_image(f);g.stop()}break;case Event.KEY_DOWN:var f=this.image_tags.navigate("south");if(f){this.load_new_image(f);g.stop()}break}},related_navigation:function(c){var a=Bilderbuch.thumbnail_element(Bilderbuch.current_image_id());if(a){var b=null;if(c=="west"){b=a.up("li").previous("li").down("img").getAttribute("image_id")}else{b=a.up("li").next("li").down("img").getAttribute("image_id")}this.load_new_image(b)}},click_region:function(a){this.options.onClickRegion.call(this,a)},load_new_image:function(c,b){if(this.loading){return}else{this.loading=true;global_spinner_show()}this.unregister_events();if(_bb_path=="home:index"){top.location.href="/Fotos/"+c;return}this.new_image=$("tagging_image_"+c);var a=this;if(!this.new_image){new Ajax.Updater("image_direct_related","/images/medium/"+c,{method:"get",insertion:"bottom",onComplete:function(){a.new_image=$("tagging_image_"+c);a.wait_for_new_image()}})}else{this.wait_for_new_image()}return false},wait_for_new_image:function(){if(this.new_image.complete){this.switch_to_new_image()}else{var a=this;this.new_image.observe("load",function(){a.switch_to_new_image()})}},switch_to_new_image:function(){this.new_image.setStyle({opacity:0,zIndex:1});this.image.setStyle({display:"block",zIndex:2});Element.absolutize(this.image);var a=this.after_click.bind(this);this.image.up("a").setAttribute("href",this.new_image.up("a").getAttribute("href"));$("image_link").appendChild(this.new_image);new Effect.Appear(this.new_image,{duration:0.4,from:0,to:1,afterFinish:a});new Effect.Appear(this.image,{duration:0.4,from:1,to:0});return false},after_click:function(){var b=this;this.image_tags.remove();var d=this.options.image_id;var a=this.new_image.getAttribute("image_id");var c="image_"+a;this.new_image.setAttribute("id",c);this.new_image.setAttribute("class","medium_image");this.image.remove();this.image=this.new_image;if(_bb_page_tracker){_bb_page_tracker._trackPageview("/Fotos/"+a)}new Ajax.Request("/images/ashow/"+a,{method:"get",asynchronous:true,evalScripts:false,onSuccess:function(f){var e=f.responseJSON;$("drow").update(e.near_by);$("image_direct_related").update(e.direct);Bilderbuch.drop_image(d);Bilderbuch.set_current_image_id(a);Bilderbuch.new_image(a);$("ccol_heading").update(e.misc);if($("photo_title")){if($("photo_title").down("a")){document.title="Bilderbuch "+$("current_city").getAttribute("content")+" - "+$("photo_title").down("a").innerHTML}else{document.title="Bilderbuch "+$("current_city").getAttribute("content")+" - "+$("photo_title").innerHTML}}Comment.refresh_comment_button();bilderbuch_add_image_hash(a);global_spinner_hide();if(_bb_map){_bb_map.options.relatedImagesArray=e.map;_bb_map.overlays_refresh()}_bb_map.reposition(b.image.getAttribute("lat"),b.image.getAttribute("lng"),b.image.getAttribute("deg"));my_glider=new Glider("my-glider-horizontal");bilderbuch_move_to_related(a)}})},click_document:function(d){var c=d.element();if(c.identify){var b=c.identify();var a=Event.pointerX(d);var e=Event.pointerY(d);if(Position.within(this.image,a,e)){if(b.match(/^image_\d+$/)||b=="rubberband_id"){d.stop();this.show_fullscreen();return false}}}return null},show_fullscreen:function(){this.cursor_navigation=false;this.load_fullscreen_image();if(this.fullscreen_image.complete){this.display_fullscreen()}else{this.fullscreen_image.observe("load",this.display_fullscreen.bindAsEventListener(this))}return false},load_fullscreen_image:function(){global_hint_show("grosses Foto wird geladen und angezeigt - schliessen Sie mit Klick auf das Foto",true);var a=new Element("img",{src:this.fullscreen_src,"class":"xfullscreen"});this.fullscreen_image=a;$("image_link").insert(this.fullscreen_image)},display_fullscreen:function(){global_hint_hide();Tips.hideAll();var d=this;var a=[document.body.getHeight(),document.viewport.getHeight(),this.fullscreen_image.getHeight()].max()+30;var f=[document.body.getWidth(),document.viewport.getWidth(),this.fullscreen_image.getWidth()].max()+10;var e=new Element("div",{id:"overlay",style:"display:none"});this.fullscreen_image.setStyle({display:"none"});var c=(this.fullscreen_image.getWidth()<=document.viewport.getWidth()?"hidden":"auto");var b=(this.fullscreen_image.getHeight()<=document.viewport.getHeight()?"hidden":"auto");this.old_overflow=$$("html")[0].getStyle("overflow");$$("html")[0].setStyle({overflowX:c});$$("html")[0].setStyle({overflowY:b});$$("select").invoke("hide");$$("embed").invoke("hide");$$("object").invoke("hide");document.body.appendChild(this.fullscreen_image);document.body.appendChild(e);e.setStyle({position:"absolute",backgroundColor:"black",top:"0px",left:"0px",zIndex:"1000",width:f+"px",height:a+"px"});new Effect.Appear(e,{duration:0.2,from:0,to:0.9,afterFinish:function(){d.after_overlay()}})},after_overlay:function(){var b=(Math.abs(document.viewport.getWidth()/2)-Math.abs(this.fullscreen_image.getWidth()/2));if(this.fullscreen_image.getWidth()>=document.viewport.getWidth()){b=5}if(b>10){b-=5}var a=(Math.abs(document.viewport.getHeight()/2)-Math.abs(this.fullscreen_image.getHeight()/2));if(this.fullscreen_image.getHeight()>=document.viewport.getHeight()){a=5}if(a>10){a-=5}this.fullscreen_image.setStyle({position:"absolute",top:a+"px",left:b+"px",zIndex:"1001",display:"block"});this.fullscreen_image.show();this.bind_hide_fullscreen=this.hide_fullscreen.bindAsEventListener(this);Event.observe(this.fullscreen_image,"mouseup",this.bind_hide_fullscreen);Event.observe("overlay","mouseup",this.bind_hide_fullscreen);new Ajax.Request("/images/increment_fullscreen_views/"+this.options.image_id)},hide_fullscreen:function(a){if($$(".xfullscreen")){Event.stopObserving(this.fullscreen_image,"mouseup",this.bind_hide_fullscreen);Event.stopObserving("overlay","mouseup",this.bind_hide_fullscreen);if(a){Event.stop(a)}$$(".xfullscreen").invoke("remove");$("overlay").remove();$$("select").invoke("show");$$("embed").invoke("show");$$("object").invoke("show");$$("html")[0].setStyle({overflow:this.old_overflow})}this.cursor_navigation=true},load_related:function(id){new Ajax.Request("/images/map/"+id+".json?region="+$("map").getAttribute("region"),{method:"get",asynchronous:true,evalScripts:false,onComplete:function(transport){var images=eval("("+transport.responseText+")");if(_bb_map){_bb_map.options.relatedImagesArray=images;_bb_map.overlays_refresh()}}})}});function bilderbuch_move_to_related(b){if(my_glider){if(Object.isString(b)||Object.isNumber(b)){var a=my_glider.wrapper.down("li img[data-image-id="+b+"]");if(a){my_glider.moveTo(a.up("li"))}else{my_glider.moveToMiddle()}}else{my_glider.moveToMiddle()}}}function update_error(c,b,a){if(d=="error"){$(d).innerHTML=b;$(d).show()}else{var d="image_"+c;if($(d)&&$(d).value){new Effect.Highlight(d,{startcolor:"#ffffff",endcolor:"#ffcccc",duration:2,afterFinish:function(){$(d).value=a},beforeStart:function(){$(d).value=b}})}}}function highlight_change(a){if($(a)){$(a).setStyle({background:"#ffffcc"})}}function toggle_edit_detail(){if($("toggle_edit_detail_link").value.include("weitere")){edit_detail_show()}else{edit_detail_hide()}return false}function edit_detail_show(){if(!$("toggle_edit_detail_link").value.include("weniger")){var a=0;$$("tr.edit_detail").each(function(b){a+=1});new Effect.Move("image_detail",{x:0,y:-(a*23),duration:0.5,afterFinish:function(){$$("tr.edit_detail").each(function(b){b.show()})}});$("toggle_edit_detail_link").value="weniger Details"}}function edit_detail_hide(){var a=0;$$("tr.edit_detail").each(function(b){a+=1});if(!$("toggle_edit_detail_link").value.include("weitere")){$$("tr.edit_detail").each(function(b){b.hide()});$("toggle_edit_detail_link").value="weitere Details"}new Effect.Move("image_detail",{x:0,y:(a*23),duration:0.5})}function bilderbuch_scroll_to_image_thumbnail(e){var b=Bilderbuch.thumbnail_element(e);if(b&&_bb_scroller!=null){var d=b.up("td").cumulativeOffset();var a=_bb_scroller.currentValue;var c=Number(a)+Number(d[0]);if(c>=382){_bb_scroller.currentValue=c-382;_bb_scroller.slider.setValue(_bb_scroller.currentValue,0)}}}function bilderbuch_edit_image(c,a){global_hint_show("Foto "+c+" wird geladen ",true);var b=Bilderbuch.current_image_id();if(b){Bilderbuch.image().unregister_events();new Ajax.Updater("edit_image","/Fotos/"+c+"/bearbeiten",{asynchronous:true,method:"get",onComplete:function(d){bilderbuch_add_image_hash(c);Bilderbuch.drop_image(b);Bilderbuch.set_current_image_id(c);_bb_setup_image_edit();global_hint_hide();_bb_hint_manager.prepare();if(a){a.call(c)}},evalScripts:true})}else{top.location.href="/Fotos/"+c+"/bearbeiten/"}}function bilderbuch_add_image_hash(a){top.location.href=top.location.href.gsub(/#.*$/,"")+"#"+a}var bilderbuch_overwrite_address=null;function get_image_address_edit_fields(){return["image_address_string","image_street","image_street_no","image_lat","image_lng","image_deg","image_zip_city_part"].inject({},function(c,d,b){var a=$(d);c[d]=a?a.value.strip():null;return c})}function bilderbuch_scan_for_next_edit(b){var e=Bilderbuch.current_image_id();var d=false;var c=get_image_address_edit_fields();var a=_bb_admin;$$(".image_thumbnail_edit").each(function(h){var f=h.getAttribute("data-image-id");var g=h.getAttribute("status");if(d&&(g=="uploaded"||g=="was_changed"||g=="unfinished"||(a&&g=="draft"))){bilderbuch_edit_image(f,function(){if(b){var m=get_image_address_edit_fields();var k=Object.keys(m).findAll(function(n){return m[n]!=null});var j=k.any(function(n){return !(m[n]==""||m[n]==0)});if(bilderbuch_overwrite_address==null&&j){bilderbuch_overwrite_address=confirm("Einige Werte des neuen Fotos sind schon vorbelegt. Sollen diese überschrieben werden?")}var l=k.inject([],function(p,o,n){if(c[o]!=null&&m[o]!=null){if(m[o]==""||m[o]==0||bilderbuch_overwrite_address==true||(bilderbuch_overwrite_address==null&&j==false)){$(o).value=c[o];p.push(o.sub(/_/,"[")+"]="+c[o])}}return p});if(l.size()>0){image_update(l.join("&"))}if($("image_street_no")){$("image_street_no").select()}}});d=false}if(!d&&f==e){d=true}})}function bilderbuch_review_image(b,a){if(a){new Ajax.Request("/Administration/Fotos/"+b+"/do_review",{method:"post",parameters:{event:a,note:$("review_note").value},onSuccess:function(c){$("status_image").style.backgroundColor=c.responseJSON.color;$("note_for_"+b).setAttribute("notes_count",c.responseJSON.notes);Dialogs.close();$("note_for_"+b).src=(c.responseJSON.notes>0)?"/images/notes.png":"/images/notes_blank.png";bilderbuch_update_current_thumbnail()},onFailure:function(c){alert(c.responseJSON.error)}})}else{new Dialog({title:"Freigabe von Foto Nr."+b,ajax:{url:"/Administration/Fotos/"+b+"/review",options:{method:"post"}},afterClose:function(){var c=$("note_for_"+b);c.src=((c.getAttribute("notes_count")>0)?"/images/notes.png":"/images/notes_blank.png")},width:600,height:480}).open()}}function save_viewport_dimensions(){if(top.location==location){Cookie.set("resolution",top.document.viewport.getWidth()+"x"+top.document.viewport.getHeight())}}function delayed_global_hint_show(c,b,a){Event.observe(window,"load",function(){global_hint_show(c,b,a)})}function global_hint_display(a){global_hint_show(a,false,true)}function global_hint_show(d,m,j){if($("global_hint")){$("global_hint").remove()}var l=document.viewport.getWidth();var g=document.viewport.getHeight();var f=document.viewport.getScrollOffsets();var b=l-60;var c=f.top+g;var k=($(document.body).getHeight()>document.viewport.getHeight());var e=new Element("div",{id:"global_hint"}).update(new Element("div").update(d));if(m){var a=Bilderbuch.getSpinnerGif();a.setStyle({"float":"left",width:"32px",height:"32px",marginRight:"10px"});e.insertAsFirstChild(a)}e.setStyle({zIndex:"10000",width:b+"px",backgroundColor:"#000",opacity:0.75,color:"#fff",font:'bold 2.3em "Trebuchet MS", Arial, Helvetica, sans-serif',margin:"0px",padding:"40px 30px",display:"none",position:"absolute",border:"0px solid #c0c0c0",left:f.left+"px",top:c+"px"});if(document.body){$(document.body).insert(e);e.setStyle({top:c+"px",width:b+"px"});if(!k){$(document.body).setStyle({"overflow-y":"hidden"})}e.show();new Effect.Move(e,{x:0,y:-e.getHeight(),mode:"relative",duration:0.3});if(j){if(j==true){setTimeout("global_hint_hide()",3000)}else{setTimeout("global_hint_hide()",j)}}}}function global_hint_hide(a){if($("global_hint")){if(!a){new Effect.Move("global_hint",{x:0,y:$("global_hint").getHeight(),mode:"relative",duration:0.3,afterFinish:function(){if($("global_hint")){$("global_hint").remove()}$(document.body).setStyle({"overflow-y":"auto"})}})}else{$("global_hint").remove();$(document.body).setStyle({"overflow-y":"auto"})}}}function global_spinner_show(){var a=Bilderbuch.getSpinnerGif();if(!$("spinner_gif")&&$("htop")){$("htop").appendChild(a);a.setStyle({position:"absolute",right:"25px",top:"15px","z-index":"100"})}}function global_spinner_hide(){if($("spinner_gif")){$("spinner_gif").remove()}}var Comment={check:function(){$$("a.comment_button").each(function(a){a.observe("click",function(b){if(_bb_user_prefs.user.registered){Comment.toggle_show_new(b.element().getAttribute("href").gsub(/^https?:\/\/[^\/]+/,""))}else{global_hint_show("Nur angemeldete Benutzer können Kommantare abgeben",false,true)}b.stop()})})},toggle_show_new:function(c){var a=$$("div.comments_container").detect(function(d){return d.getAttribute("ref")==c});if(a){var b=a.down("form");if(b){new Effect.SlideUp(b,{duration:0.5,afterFinish:function(){b.up("div").remove()}})}else{global_spinner_show();new Ajax.Request(c,{method:"get",onSuccess:function(f){var e=new Element("div",{"class":"comment-form",style:"display:none"}).update(f.responseText);a.insertAsFirstChild(e);e.down("h1").remove();var d=e.down("input.comment_email_to");d.up("p").style.display="none";d.setAttribute("value",e.down("span.comment_email_to_token").innerHTML);global_spinner_hide();new Effect.SlideDown(e,{duration:0.5,afterFinish:function(){e.down("form").focusFirstElement();new Effect.ScrollTo(e,{duration:0.5,offset:-20})}});e.down("form").observe("submit",function(g){Comment.save(g.element().up("div.comments_container"));g.stop()})}})}}},save:function(b){var c=b.down("form");Comment.clear_errors(b);Comment.spinner_show(b);var a=new Element("div",{style:"display:none"});b.insertAsFirstChild(a);new Ajax.Updater(a,c.getAttribute("action"),{method:"post",parameters:c.serialize(true),onSuccess:function(){Form.reset(c);new Effect.SlideUp(c,{duration:0.5,afterFinish:function(){new Effect.SlideDown(a,{duration:0.5});c.up("div").remove()}})},onFailure:function(f){var d=b.down("label.error_label");var e=f.responseJSON;e.each(function(h){var g=new Element("div",{style:"color:#faa;float:left"}).update(h[1]);if(d.down("div")){d.select("div").each(function(j){j.remove()})}d.insert(g,{position:"after"})})},onComplete:function(){Comment.spinner_hide(b)}})},clear_errors:function(b){var a=b.down("p label div");while(a){a.remove();a=b.down("p label div")}},spinner_show:function(a){var b=Bilderbuch.getSpinnerGif();b.setStyle({"float":"right"});a.down(".button").insert({after:b})},spinner_hide:function(a){var b=$("spinner_gif");if(b){b.remove()}},refresh_comment_button:function(){var b=$$("div.comments_container");var a=$$("a.comment_button");if(b.size()==1&&a.size()==1){a.first().setAttribute("href",b.first().getAttribute("ref"))}}};function update_map(){if(_bb_map){_bb_map.finder("image_street","image_street_no",true)}}function thumbnail_highlight(){var a=null;if(arguments[0]){a=Bilderbuch.thumbnail_element(arguments[0])}else{a=Bilderbuch.thumbnail_element(Bilderbuch.current_image_id())}$$(".image_thumbnail_edit").invoke("removeClassName","highlight");if(a){a.addClassName("highlight")}}function image_save_entry(){_bb_entries_focus=this;_bb_entries.set(this.name,$F(this))}function image_update(b,a){var c=Bilderbuch.current_image_id();new Ajax.Request("/images/update/"+c,{parameters:b,onFailure:function(f){var e=f.responseJSON;var d=null;if(e.fields){Object.keys(e.fields).each(function(h,g){d=$("image_"+h);if(d){d.style.backgroundColor="#fcc"}})}if(d){d.focus()}if(e.error){Dialogs.alert(e.error.gsub(/\n/,"<br/>")).open()}},onSuccess:function(e){var d=e.responseJSON;if(d.status=="ok"){if(d.fields){$$(".image_edit_field").each(function(f){f.style.backgroundColor="#f7f7f7"});Object.keys(d.fields).each(function(g,f){var h=$("image_"+g);if(h){new Effect.Highlight(h);if(g=="status"){h.value=d.fields.status}if(g=="address_string"){h.value=d.fields.address_string}}});if(d.fields.zip_city_parts&&$("image_zip_city_part")){$("image_zip_city_part").update("");d.fields.zip_city_parts.each(function(g){var f=new Element("option",{value:g[1]}).update(g[0]);if(d.fields.zip_city_part&&g[1]==d.fields.zip_city_part){f.setAttribute("selected","selected")}$("image_zip_city_part").appendChild(f)})}if(d.fields.street_no&&$("image_street_no")){$("image_street_no").value=d.fields.street_no}if(d.fields.street&&$("image_street")){$("image_street").value=d.fields.street}if(_bb_map&&d.fields.lat&&d.fields.lng){if(!$("image_latlng2address")||$("image_latlng2address").checked==false){if(d.fields.deg){_bb_map.options.deg=d.fields.deg;if($("image_deg")){$("image_deg").value=d.fields.deg}}_bb_map.reposition(d.fields.lat,d.fields.lng);_bb_map.overlays_refresh()}}if(d.fields.title||d.fields.street_no||d.fields.street||d.fields.status){bilderbuch_update_current_thumbnail()}}if(a){a.call()}}else{Dialogs.alert("Unerwarteter Fehler - bitte wenden Sie sich an die Redaktion").open()}}})}function image_update_entry(b){var a=$F(this);if(this.name=="image[street]"&&$("image_street_auto_complete")&&$("image_street_auto_complete").style.display!="none"){return}if(_bb_entries.get(this.name)==a){return}if(this.name=="image[street_no]"){image_update(this.name+"="+encodeURIComponent(a)+"&image[street]="+encodeURIComponent($F("image_street")))}else{image_update(this.name+"="+encodeURIComponent(a))}}function bilderbuch_update_street(a,b){_bb_entries.set(a.getAttribute("name"),a.value);image_update(a.getAttribute("name")+"="+encodeURIComponent(a.value));$("image_street_no").focus()}function bilderbuch_update_current_thumbnail(){var b=Bilderbuch.thumbnail_element(Bilderbuch.current_image_id());if(b){var a=b.up("td");if(a){new Ajax.Updater(a,"/images/thumbnail/"+Bilderbuch.current_image_id(),{method:"post",onComplete:function(){thumbnail_highlight(a.down("div").getAttribute("data-image-id"))}})}}}function setup_street_map(a){var b=$("current_street_zoomlevel").getAttribute("content");if(b==""){b=Number(_bb_user_prefs.getPref("pref_google_map_street_zoom",14))}var d=$("current_street_city");if(!d){d=$("current_city")}_bb_map=new CityMap("map",{city:d.getAttribute("content"),lat:$("current_street_lat").getAttribute("content"),lng:$("current_street_lng").getAttribute("content"),zip:$("current_street_zip")?$("current_street_zip").getAttribute("content"):null,zoom:b,addDragMarker:a,map_type:_bb_user_prefs.getPref("pref_google_map_street_type","Hybrid"),onMapTypeChange:function(c){if(!a){_bb_user_prefs.setPref("pref_google_map_street_type",c)}},onMapZoomChange:function(c){if(a){$("street_zoomlevel").value=c;$("current_street_zoomlevel").setAttribute("content",c)}else{_bb_user_prefs.setPref("pref_google_map_street_zoom",c)}},onCurrentPointChange:function(e,c){if(a){$("street_lat").value=e;$("street_lng").value=c;$("current_street_lat").setAttribute("content",e);$("current_street_lng").setAttribute("content",c)}},onRelatedClick:function(c){top.location.href="/Fotos/"+c.related_image_id}})}function setup_city_map_related(e){var a=$("image_"+Bilderbuch.current_image_id());var b=a.getAttribute("exact_address");if(b=="true"){b=true}else{if(b=="false"){b=false}else{if(b==""){b=null}}}var d=(b?Number(_bb_user_prefs.getPref("pref_google_map_edit_zoom",18)):a.getAttribute("zoom"));if(!d){d=18}var c=($("image_deg")?$("image_deg").value:a.getAttribute("deg"));_bb_map=new CityMap("map",{city:a.getAttribute("city"),zip:a.getAttribute("zip"),lat:a.getAttribute("lat"),lng:a.getAttribute("lng"),relatedImagesArray:__bb_related_images,deg:(e&&c.blank()?"0":c),zoom:d,exact_address:b,map_type:_bb_user_prefs.getPref("pref_google_map_related_type","Hybrid"),onMapTypeChange:function(f){_bb_user_prefs.setPref("pref_google_map_related_type",f)},onMapZoomChange:function(f){_bb_user_prefs.setPref("pref_google_map_related_zoom",f);if(this.options.exact_address==false){image_update("image[map_zoom]="+f)}},addDragMarker:e,addRotationMarker:e,addHitMarker:true,onCurrentPointChange:function(g,f){image_update("image[lat]="+g+"&image[lng]="+f)},onRotationChange:function(h,g,f){image_update("image[deg]="+h+"&image[olat]="+g+"&image[olng]="+f)},onRelatedClick:function(f){this.last_marker_click=f;if(top.location.href.match(/\/(?:Fotos|image\/detail)\/\d+/)){this.map.panTo(f.getPoint())}else{top.location.href="/Fotos/"+this.last_marker_click.related_image_id}},onMoveEnd:function(){if(this.last_marker_click){var g=Bilderbuch.current_image_id();var f=this.last_marker_click.related_image_id;this.options.lat=this.last_marker_click.related_image.lat;this.options.lng=this.last_marker_click.related_image.lng;this.options.deg=this.last_marker_click.related_image.deg;this.update_current_point();this.last_marker_click=null;if(Bilderbuch.image()){Bilderbuch.image().load_new_image(f)}}else{Bilderbuch.image().load_related(Bilderbuch.current_image_id())}}})}function setup_city_map(){var a=$("image_"+Bilderbuch.current_image_id());var b=a.getAttribute("exact_address");if(b=="true"){b=true}else{if(b=="false"){b=false}else{if(b==""){b=null}}}var c=(b?Number(_bb_user_prefs.getPref("pref_google_map_edit_zoom",18)):a.getAttribute("zoom"));if(!c){c=18}_bb_map=new CityMap("map",{city:a.getAttribute("city"),zip:a.getAttribute("zip"),lat:a.getAttribute("lat"),lng:a.getAttribute("lng"),deg:($("image_deg")?$("image_deg").value:a.getAttribute("deg")),exact_address:b,zoom:c,map_type:_bb_user_prefs.getPref("pref_google_map_edit_type","Hybrid"),onMapTypeChange:function(d){_bb_user_prefs.setPref("pref_google_map_edit_type",d)},onMapZoomChange:function(d){_bb_user_prefs.setPref("pref_google_map_edit_zoom",d);if(this.options.exact_address==false){image_update("image[map_zoom]="+d)}},addDragMarker:true,addRotationMarker:true,addHitMarker:true,addCityZoomControl:b,onCurrentPointChange:function(e,d){if(ci_unknown_position){ci_unknown_position=false}$("image_lat").value=e;$("image_lng").value=d;var f="image[lat]="+e+"&image[lng]="+d;if($("image_latlng2address")){f+="&image[latlng2address]="+$("image_latlng2address").checked}image_update(f)},onRotationChange:function(f,e,d){image_update("image[deg]="+f+"&image[olat]="+e+"&image[olng]="+d)},onRelatedClick:function(d){Bilderbuch.zoom_image(d.related_image_id)}})}function setup_histories_map(a){_bb_map=new CityMap("map",{city:$("current_city").getAttribute("content"),lat:$("current_city_lat").getAttribute("content"),lng:$("current_city_lng").getAttribute("content"),zoom:Number(_bb_user_prefs.getPref("pref_google_map_histories_zoom",13)),map_type:_bb_user_prefs.getPref("pref_google_map_histories_type","Hybrid"),onMapTypeChange:function(b){_bb_user_prefs.setPref("pref_google_map_histories_type",b)},onMapZoomChange:function(b){_bb_user_prefs.setPref("pref_google_map_histories_zoom",b)},onRelatedClick:function(b){top.location.href="/Fotos/"+b.related_image_id}})}function setup_city_part_map(){_bb_map=new CityMap("map",{city:$("current_city").getAttribute("content"),zoom:$("city_part_zoomlevel").getAttribute("content"),map_type:null,lat:$("city_part_lat").getAttribute("content"),lng:$("city_part_lng").getAttribute("content"),onMoveEnd:function(map){var ths=this;new Ajax.Updater("thumbnails","/city_parts/related_images",{method:"post",parameters:{region:$("map").getAttribute("region"),city_part:$("city_part").getAttribute("content")},onComplete:function(){ths.overlays_refresh()}})},onRelatedClick:function(marker){top.location.href="/Fotos/"+marker.related_image_id},addPolygon:true,polygon:eval($("city_part_polygon").getAttribute("content"))})}function _bb_setup_image_edit(){_bb_entries=new Hash();Bilderbuch.new_image(_bb_image_id,{onClickRegion:function(a){Bilderbuch.zoom_image(a)},addTrashBin:true,edit:true});if(!_bb_scroller){_bb_scroller=Bilderbuch.setup_album_scroller($("image_line"))}bilderbuch_scroll_to_image_thumbnail(Bilderbuch.current_image_id());if($("image_street")){_bb_street_autocompleter=new Autocompleter.Local("image_street","image_street_auto_complete",_bilderbuch_streets,{frequency:0,minChars:1,afterUpdateElement:bilderbuch_update_street})}ci_unknown_position=(Bilderbuch.current_image().getAttribute("lat")=="0.0");_bb_setup_image_edit_dimensions();$$(".image_edit_field").each(function(a){if(a.tagName.toLowerCase()=="select"){a.observe("change",image_update_entry)}else{a.observe("focus",image_save_entry);a.observe("blur",image_update_entry)}});thumbnail_highlight();$("image_title").focus();$("image_title").select();setup_city_map();_bb_map.relatedmarkers_create();if(ci_unknown_position){update_map()}if(Prototype.Browser.IE){$("image_detail_container").makePositioned();$("map").makePositioned()}}function _bb_setup_image_edit_dimensions(){var j=document.viewport.getWidth();var e=document.viewport.getHeight();var g=$("image_line");var a=g.cumulativeOffset().top+g.getHeight();var f=e-a;var b=f-140;var d=Number((b/3)*4);if(d>10&&b>10){$("image_detail_container").setStyle({width:d+"px",height:b+"px"});$("block1").setStyle({width:d+"px"});$("image_link").setStyle({width:d+"px",height:b+"px"});var h=49;if(Prototype.Browser.IE){h=63}$("map").setStyle({width:(j-d-30)+"px",height:($("block1").getHeight()-h)+"px"})}var c=Bilderbuch.image();if(c&&c.image_tags){c.image_tags.reposition()}}function bilderbuchEvents(c){if(c.type=="mouseup"){var b=tinyMCE.activeEditor.selection.getNode();if(b.tagName=="IMG"){var a=b.src.match(/(.*\/img\/..\/..\/\d+\.)/);if(a!=null){setTimeout(function(){var d=a[1]+b.width+"x"+b.height+"xcr.jpeg";b.setAttribute("src",d);b.setAttribute("mce_src",d)},100)}}}}if(Prototype.Browser.IE&&document.all&&document.styleSheets&&document.styleSheets[0]&&document.styleSheets[0].addRule){document.styleSheets[0].addRule("#searchbg","behavior: url(/javascripts/iepngfix.htc)");document.styleSheets[0].addRule(".layout_png","behavior: url(/javascripts/iepngfix.htc)")}function request_image_line(a){if(!a){a=1}global_hint_show("Fotos werden geladen",true);new Ajax.Updater("image_line","/images/image_line/"+Bilderbuch.current_image_id()+"?mode=edit&page="+a,{parameters:$("search_misc").serialize(true),evalScripts:true,onComplete:function(){global_hint_hide();_bb_map.overlays_refresh();_bb_scroller=Bilderbuch.setup_album_scroller($("image_line"));var b=Bilderbuch.image();if(b.image_tags.find_active()){b.image_tags.show_assignment_links(true)}b.image_tags.bind_assignment_links()}})}function setup_album_line_onlick(){$$(".album_line_show_all").each(function(a){a.observe("click",function(f){var e=f.element();e.insert({bottom:new Element("img",{src:"/images/spinner.gif"})});var c=e.getAttribute("album_id");var d=$("album_line_"+c);var b=-Math.ceil(Number(d.down(".albums_images_table").style.marginLeft.gsub(/px/,"")));new Ajax.Updater("album_line_"+c,"/albums/album_line/"+c,{evalScripts:true,onComplete:function(){Bilderbuch.setup_album_scroller(d,b);setup_album_droppable(d);d.select(".dragging").each(function(g){setup_album_draggable(g)})}});f.stop()})})}function resetup_album_dragdrop(){Droppables.drops=[];Draggables.drags=[];$$(".album_line").each(function(a){setup_album_droppable(a)});$$(".dragging").each(function(a){setup_album_draggable(a)})}function setup_album_draggable(a){new Draggable(a,{revert:true,ghosting:true,onStart:function(b){b.element.up(".albums_images_container").style.position="static";if(Prototype.Browser.IE){b.element.up(".album_line").style.position="static"}else{b.element.setAttribute("dragged","1")}},onEnd:function(b){b.element.up(".albums_images_container").style.position="relative";if(Prototype.Browser.IE){b.element.up(".album_line").style.position="relative"}}})}function setup_album_droppable(a){Droppables.add(a,{hoverclass:"drag_hover_active",onDrop:function(b,c){var g=c.getAttribute("data-album-id");var f=b.getAttribute("data-image-id");var h=b.getAttribute("data-album-id");var e=a.getAttribute("data-album-class");var d=(e=="Collection"?"/albums/add_image/"+g:"/albums/move_image/"+h);new Ajax.Request(d,{parameters:{new_album_id:g,image_id:f},onFailure:function(k){var j=k.responseJSON;global_hint_show(j.message,false,true)},onSuccess:function(n){var k=n.responseJSON;if(k.status=="success"){var m=b.cloneNode(true);m.setAttribute("data-album-id",g);m.setStyle({position:"relative"});var l=new Element("td",{"class":"albums_images",id:"albums_"+g+"_images_"+f}).update(m);var j=c.down("tr");j.insert({top:l});if(e!="Collection"){b.up("td").remove()}}else{global_hint_show(k.message,false,true)}}})}})}var AlbumManager=Class.create({initialize:function(a,b){this.album_user_login=a;this.album_id=b;this.bind_show_admin_menu=this.show_admin_menu.bindAsEventListener(this);document.observe("dom:loaded",this.bind_show_admin_menu);this.bind_event_stopper=this.event_stopper.bindAsEventListener(this)},show_admin_menu:function(){this.element=$("album_menue");this.album_class=this.element.getAttribute("album_class");var d=this.album_id;if(_bb_user_prefs.getPref("login","")==this.album_user_login){this.bind_prepare_sort=this.prepare_sort.bindAsEventListener(this);var b=Bilderbuch.button("album_sort_link","Fotos&nbsp;sortieren");b.observe("click",this.bind_prepare_sort);var c=Bilderbuch.button("album_edit_link","Texte&nbsp;bearbeiten");c.observe("click",function(){top.location.href="/Alben/"+d+"/bearbeiten"});var a=Bilderbuch.button("album_iedit_link","Texte und Fotos bearbeiten");a.observe("click",function(){top.location.href="/Alben/"+d+"/mit_fotos_bearbeiten"});if(this.album_class=="Album"){this.element.insert(a)}this.element.insert(c);this.element.insert(b);this.element.show()}if(_bb_admin){this.element.insert(Bilderbuch.button("album_ofotos","Orginalfotos").observe("click",function(){top.location.href="http://qnap.abracus.de/foto.php?id="+$$("#thumbnails img").collect(function(e){return e.getAttribute("image_id")}).join(",")}))}},event_stopper:function(a){a.stop()},sortlink_save:function(a){new Ajax.Request("/Alben/"+this.album_id+"/update_order",{parameters:Sortable.serialize("thumbnails",{name:"images"}),onCreate:function(){global_hint_show("aktualisiere Reihenfolge",true)},onSuccess:function(){top.location.reload()},onFailure:function(){global_hint_show("Es gab einen Fehler bei der Aktualisierung")}})},prepare_sort:function(b){var a=this;$$("#thumbnails a").each(function(c){c.observe("click",a.bind_event_stopper);c.up("li").setAttribute("id","sort_"+c.down("img").getAttribute("data-image-id"))});if($("album_show")){$("album_show").update("Sortieren "+$("album_show").innerHTML)}if(this.element){this.element.update("Sie können nun Fotos mit der Maus anfassen und verschieben. Wenn Sie fertig sind klicken Sie bitte auf:");this.element.insert(Bilderbuch.button("sortlink_save","Sortierung&nbsp;speichern"));this.bind_sortlink_save=this.sortlink_save.bindAsEventListener(this);$("sortlink_save").observe("click",this.bind_sortlink_save)}Sortable.create("thumbnails",{ghosting:false,constraint:false})}});Event.addBehavior({".input_field_hints":function(){new InputFieldHints(this)},".input_field_hints_with_insert":function(){new InputFieldHints(this,{example_to_content:true})},".address_autocompletion":function(){Bilderbuch.setup_multiple_zipcode_autocompletion(this)},"#event_search_event_date_location_id":function(){this.observe("change",function(a){a.element().up("form").down("input[type=submit]").click()})},".focus_me":function(){this.focus()},".event_date":function(){var b=this;var a=b.select(".event_date_type input");a.each(function(c){c.observe("change",function(d){var f=d.element().value;a.each(function(e){b.down(".event_date_form_"+e.value).setStyle({display:(e.value==f?"block":"none")})})})})},".toggle_me_on_change":function(){var b=this;if(!b.value.empty()){var a=b.next("div.toggle_me");if(!a){a=b.up("*").next("div.toggle_me")}if(a){a.hide()}}b.observe("change",function(f){var d=f.element();var c=d.next("div.toggle_me");if(!c){c=d.up("*").next("div.toggle_me")}if(d.value.empty()){c.show()}else{c.hide()}})},".bilderbuch_image":function(){_bb_image_id=Bilderbuch.current_image_id(true);Bilderbuch.new_image(_bb_image_id)},"#current_album_id":function(){Bilderbuch._album_id=this.getAttribute("content")},".image_show_map":function(){setup_city_map_related(_bb_admin||_bb_memorial_conservator)},".album_line":function(){Bilderbuch.setup_album_scroller(this)},"#show_public":function(){if(_bb_admin){$("main").insert(Bilderbuch.button("switch_user","Als Benutzer an.").observe("click",function(){top.location.href="/admin/admins/switch_user/"+$("bb_object").getAttribute("content")}))}},".setup_account_updater":function(){Bilderbuch.setup_account_updater(this)},"textarea[class=tinymce]":function(){Bilderbuch.setup_tinymce_edits()},".delete_image":function(){this.observe("click",function(b){var a=b.element();var c=a.getAttribute("data-id");if(c&&confirm("Das Foto "+c+" wirklich löschen?")){new Ajax.Request(a.href,{method:"delete",onSuccess:function(){a.up("td").remove()},onFailure:function(d){alert(d.responseJSON.message)}})}b.stop()})},".remove_image":function(){this.observe("click",function(b){var a=b.element();var c=a.getAttribute("data-id");if(c&&confirm("Das Foto "+c+" entfernen?")){new Ajax.Request(a.href,{method:"post",onSuccess:function(){a.up("td").remove()},onFailure:function(d){alert(d.responseJSON.message)}})}b.stop()})},".dialog_open":function(){var a=this;a.observe("click",function(e){var d=a.getAttribute("data-width");if(!d){d=900}var f=a.getAttribute("title");if(f){var c=/\(([0-9]+)\)/;match=f.match(c);if(match&&match[1]){d=Number(match[1]);f=f.gsub(c,"")}}var b=a.getAttribute("href");if(b.indexOf("?")==-1){b+="?xhr"}else{b+="&xhr"}new Dialog({title:f,minWidth:300,width:d,ajax:{url:b,options:{method:"get"}}}).open();e.stop()})},".errorExplanation":function(){var a=$$("p input.fieldWithErrors").collect(function(d){return d.up("p")}).uniq();var c=$$("label input.fieldWithErrors").collect(function(d){return d.up("label")}).uniq();var b=a.concat(c);if(b.length>0){this.insert({before:'<p style="color:red">Hinweis: Bitte beachten Sie die folgenden <a href="javascript:void($$(\'.errorExplanation\').first().toggle())" style="color:red;text-decoration:underline">Meldungen</a></p>'});this.hide()}b.each(function(g){var f=g.down(".fieldWithErrors");var d=f.getAttribute("type");if(d=="hidden"){f=g.down("input.fieldWithErrors[type!=hidden]");d=f.getAttribute("type")}var e=f.getAttribute("data-error");if(d=="checkbox"){var h=new Element("div",{"class":"fieldWithErrors",style:"float:left;"});f.wrap(h)}g.insert('<br clear="left"/><span style="text-align:right;font-size:0.7em;color:#00000;text-decoration:none">'+e+"</span>");g.setStyle({lineHeight:"0.8em"})})},".position_fixed_vertical":function(){new PositionFixedVertical(this)},"body.edit .thumbnail_show_control.edit_image":function(){this.observe("click",function(a){Event.stop(a);bilderbuch_edit_image(a.element().up("div").getAttribute("data-image-id"));return false})},"#fader_me":function(){new Widget.Fader(this,this.up("a").getAttribute("data-images").split(","),{fadeInDuration:1,fadeOutDuration:0.5,displayDuration:2.5})},".role_header":function(){var b=function(c){$$(".role_header").each(function(e){if(c!=e){e.up("li").down(".role_content").hide();e.removeClassName("role_header_open");e.up("li").addClassName("use_hover")}});var d=c.up("li").down(".role_content");d.toggle();if(d.visible()){c.addClassName("role_header_open");c.up("li").removeClassName("use_hover")}else{c.removeClassName("role_header_open");c.up("li").addClassName("use_hover")}};var a=this;a.observe("click",function(c){b.call(this,a)})},".tooltip_titles":function(){this.select("*[title]").each(function(g){var f=g.getAttribute("title");var c=g.getAttribute("data-tooltip-width");Bilderbuch.log(c);if(!c){c=250}Bilderbuch.log(c);var h="";if(r=f.match(/^([\w\s]+):(.*)$/)){f=r[2];h=r[1]}var a=Number(g.positionedOffset().left-g.up().positionedOffset().left);var d="bottomMiddle";var b="bottomMiddle";if(a<150){d="bottomLeft";b="bottomLeft"}if(a>600){d="bottomRight";b="bottomRight"}new Tip(g,f.gsub(/\n/,"<br>"),{title:h,style:"bilderbuch_tip",stem:b,hook:{target:"topMiddle",tip:d},offset:{x:0,y:0},width:c});g.removeAttribute("title");g.setStyle({cursor:"pointer"})})},".admin_show":function(){if(_bb_admin){this.show()}},".skim_me":function(){new protoSkim(this,{onClick:function(a){new Dialog({title:a.title,content:'<img src="'+a.href+'"/>',innerScroll:false,showTitleBar:false,autoOpen:true,handle:"#dialog-container",afterClick:function(b){Dialogs.close();b.stop();return false}})}})},"#image_detail_container":function(){this.observe("mouseenter",function(a){if($("home_controls")){$("home_controls").show()}});this.observe("mouseleave",function(a){if($("home_controls")){$("home_controls").hide()}})},".check-data":function(){this.up("fieldset").hide();this.value=this.getAttribute("data-check")}});var PositionFixedVertical=Class.create({handleScroll:function(){this.scrollOffset=document.viewport.getScrollOffsets().top;if(this.scrollOffset>this.homePosn.y){this.fixable.setStyle({top:0,left:this.homePosn.x+"px",position:"fixed","float":"none"})}else{this.fixable.setStyle({top:null,left:null,position:"relative","float":this.homeFloat})}},handleResize:function(){if(this.homeFloat){this.fixable.setStyle({top:null,left:null,position:"relative","float":this.homeFloat})}this.homePosn={x:this.fixable.cumulativeOffset()[0],y:this.fixable.cumulativeOffset()[1]};this.homeFloat=this.fixable.getStyle("float")},initialize:function initialize(a){this.fixable=$(a);this.handleResize();Event.observe(window,"scroll",this.handleScroll.bind(this));Event.observe(window,"resize",this.handleResize.bind(this));this.handleScroll()}});Event.addBehavior.reassignAfterAjax=true;
