if(!Control)var Control={};Control.Slider=Class.create();Control.Slider.prototype={initialize:function(handle,track,options){var slider=this;if(handle instanceof Array){this.handles=handle.collect(function(e){return $(e)});}else{this.handles=[$(handle)];}
this.track=$(track);this.options=options||{};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(s){return $(s)}):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(h,i){i=slider.handles.length-1-i;slider.setValue(parseFloat((slider.options.sliderValue instanceof Array?slider.options.sliderValue[i]:slider.options.sliderValue)||slider.range.start),i);Element.makePositioned(h);Event.observe(h,"mousedown",slider.eventMouseDown);});Event.observe(this.track,"mousedown",this.eventMouseDown);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);this.initialized=true;},dispose:function(){var slider=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(h){Event.stopObserving(h,"mousedown",slider.eventMouseDown);});},setDisabled:function(){this.disabled=true;},setEnabled:function(){this.disabled=false;},getNearestValue:function(value){if(this.allowedValues){if(value>=this.allowedValues.max())return(this.allowedValues.max());if(value<=this.allowedValues.min())return(this.allowedValues.min());var offset=Math.abs(this.allowedValues[0]-value);var newValue=this.allowedValues[0];this.allowedValues.each(function(v){var currentOffset=Math.abs(v-value);if(currentOffset<=offset){newValue=v;offset=currentOffset;}});return newValue;}
if(value>this.range.end)return this.range.end;if(value<this.range.start)return this.range.start;return value;},setValue:function(sliderValue,handleIdx){if(!this.active){this.activeHandleIdx=handleIdx||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles();}
handleIdx=handleIdx||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((handleIdx>0)&&(sliderValue<this.values[handleIdx-1]))
sliderValue=this.values[handleIdx-1];if((handleIdx<(this.handles.length-1))&&(sliderValue>this.values[handleIdx+1]))
sliderValue=this.values[handleIdx+1];}
sliderValue=this.getNearestValue(sliderValue);this.values[handleIdx]=sliderValue;this.value=this.values[0];this.handles[handleIdx].style[this.isVertical()?'top':'left']=this.translateToPx(sliderValue);this.drawSpans();if(!this.dragging||!this.event)this.updateFinished();},setValueBy:function(delta,handleIdx){this.setValue(this.values[handleIdx||this.activeHandleIdx||0]+delta,handleIdx||this.activeHandleIdx||0);},translateToPx:function(value){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(value-this.range.start))+"px";},translateToValue:function(offset){return((offset/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start);},getRange:function(range){var v=this.values.sortBy(Prototype.K);range=range||0;return $R(v[range],v[range+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.alignY);},isVertical:function(){return(this.axis=='vertical');},drawSpans:function(){var slider=this;if(this.spans)
$R(0,this.spans.length-1).each(function(r){slider.setSpan(slider.spans[r],slider.getRange(r))});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(span,range){if(this.isVertical()){span.style.top=this.translateToPx(range.start);span.style.height=this.translateToPx(range.end-range.start+this.range.start);}else{span.style.left=this.translateToPx(range.start);span.style.width=this.translateToPx(range.end-range.start+this.range.start);}},updateStyles:function(){this.handles.each(function(h){Element.removeClassName(h,'selected')});Element.addClassName(this.activeHandle,'selected');},startDrag:function(event){if(Event.isLeftClick(event)){if(!this.disabled){this.active=true;var handle=Event.element(event);var pointer=[Event.pointerX(event),Event.pointerY(event)];var track=handle;if(track==this.track){var offsets=Position.cumulativeOffset(this.track);this.event=event;this.setValue(this.translateToValue((this.isVertical()?pointer[1]-offsets[1]:pointer[0]-offsets[0])-(this.handleLength/2)));var offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}else{while((this.handles.indexOf(handle)==-1)&&handle.parentNode)
handle=handle.parentNode;if(this.handles.indexOf(handle)!=-1){this.activeHandle=handle;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}}}
Event.stop(event);}},update:function(event){if(this.active){if(!this.dragging)this.dragging=true;this.draw(event);if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(event);}},draw:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var offsets=Position.cumulativeOffset(this.track);pointer[0]-=this.offsetX+offsets[0];pointer[1]-=this.offsetY+offsets[1];this.event=event;this.setValue(this.translateToValue(this.isVertical()?pointer[1]:pointer[0]));if(this.initialized&&this.options.onSlide)
this.options.onSlide(this.values.length>1?this.values:this.value,this);},endDrag:function(event){if(this.active&&this.dragging){this.finishDrag(event,true);Event.stop(event);}
this.active=false;this.dragging=false;},finishDrag:function(event,success){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;}}
String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));}
Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');}
Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');}
Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);return element;}
Element.getOpacity=function(element){return $(element).getStyle('opacity');}
Element.setOpacity=function(element,value){return $(element).setStyle({opacity:value});}
Element.getInlineOpacity=function(element){return $(element).style.opacity||'';}
Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};Array.prototype.call=function(){var args=arguments;this.each(function(f){f.apply(this,args)});}
var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(element){if(typeof Builder=='undefined')
throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var tagifyStyle='position:relative';if(/MSIE/.test(navigator.userAgent)&&!window.opera)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(Builder.node('span',{style:tagifyStyle},character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||(typeof element=='function'))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){return((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;},pulse:function(pos,pulses){pulses=pulses||5;return(Math.round((pos%(1/pulses))*pulses)==0?((pos*pulses*2)-Math.floor(pos*pulses*2)):1-((pos*pulses*2)-Math.floor(pos*pulses*2)));},none:function(pos){return 0;},full:function(pos){return 1;}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=(typeof effect.options.queue=='string')?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
if(this.effects[i])this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(typeof queueName!='string')return queueName;if(!this.instances[queueName])
this.instances[queueName]=new Effect.ScopedQueue();return this.instances[queueName];}}
Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:60.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'}
Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){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.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/(this.finishOn-this.startOn);var frame=Math.round(pos*this.options.fps*this.options.duration);if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},render:function(pos){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup');}
if(this.state=='running'){if(this.options.transition)pos=this.options.transition(pos);pos*=(this.options.to-this.options.from);pos+=this.options.from;this.position=pos;this.event('beforeUpdate');if(this.update)this.update(pos);this.event('afterUpdate');}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
if(typeof this[property]!='function')data[property]=this[property];return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}}
Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var options=Object.extend({duration:0},arguments[0]||{});this.start(options);},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},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(position){this.element.setStyle({left:Math.round(this.options.x*position+this.originalLeft)+'px',top:Math.round(this.options.y*position+this.originalTop)+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.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(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=Math.round(width)+'px';if(this.options.scaleY)d.height=Math.round(height)+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
this.element.setStyle(d);}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},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(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);this.start(arguments[1]||{});},setup:function(){Position.prepare();var offsets=Position.cumulativeOffset(this.element);if(this.options.offset)offsets[1]+=this.options.offset;var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-
(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart;},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta));}});Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element)},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));}
Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));}
Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));}
Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}})}},arguments[1]||{}));}
Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));}
Effect.Shake=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:20,y:0,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}})}})}})}})}})}});}
Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));}
Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({bottom:oldInnerBottom});effect.element.down().undoPositioned();}},arguments[1]||{}));}
Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});}
Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options))}});}
Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));}
Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{};var oldOpacity=element.getInlineOpacity();var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos,options.pulses))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));}
Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(typeof options.style=='string'){if(options.style.indexOf(':')==-1){var cssText='',selector='.'+options.style;$A(document.styleSheets).reverse().each(function(styleSheet){if(styleSheet.cssRules)cssRules=styleSheet.cssRules;else if(styleSheet.rules)cssRules=styleSheet.rules;$A(cssRules).reverse().each(function(rule){if(selector==rule.selectorText){cssText=rule.style.cssText;throw $break;}});if(cssText)throw $break;});this.style=cssText.parseStyle();options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){if(transform.style!='opacity')
effect.element.style[transform.style.camelize()]='';});}}else this.style=options.style.parseStyle();}else this.style=$H(options.style)
this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16)});}
this.transforms=this.style.map(function(pair){var property=pair[0].underscore().dasherize(),value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value))
var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/),value=parseFloat(components[1]),unit=(components.length==3)?components[2]:null;var originalValue=this.element.getStyle(property);return $H({style:property,originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit});}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))))});},update:function(position){var style=$H(),value=null;this.transforms.each(function(transform){value=transform.unit=='color'?$R(0,2).inject('#',function(m,v,i){return m+(Math.round(transform.originalValue[i]+
(transform.targetValue[i]-transform.originalValue[i])*position)).toColorPart()}):transform.originalValue+Math.round(((transform.targetValue-transform.originalValue)*position)*1000)/1000+transform.unit;style[transform.style]=value;});this.element.setStyle(style);}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){var data=$H(track).values().first();this.tracks.push($H({ids:$H(track).keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var elements=[$(track.ids)||$$(track.ids)].flatten();return elements.map(function(e){return new track.effect(e,Object.extend({sync:true},track.options))});}).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.prototype.parseStyle=function(){var element=Element.extend(document.createElement('div'));element.innerHTML='<div style="'+this+'"></div>';var style=element.down().style,styleRules=$H();Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules[property]=style[property];});if(/MSIE/.test(navigator.userAgent)&&!window.opera&&this.indexOf('opacity')>-1){styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];}
return styleRules;};Element.morph=function(element,style){new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f];});Element.Methods.visualEffect=function(element,effect,options){s=effect.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](element,options);return $(element);};Element.addMethods();(function(){var mouseEvt;if(typeof document.createEvent!=='undefined'){mouseEvt=document.createEvent('MouseEvents');}
if(mouseEvt&&mouseEvt.__proto__&&mouseEvt.__proto__.__defineGetter__){mouseEvt.__proto__.__defineGetter__('pageX',function(){return this.clientX+window.pageXOffset;});mouseEvt.__proto__.__defineGetter__('pageY',function(){return this.clientY+window.pageYOffset;});}})();var areamapMode={Expose:"expose",Preview:"preview",Print:"print",Search:"search",View:"view",Standalone:"standalone"}
var areamapZiplevelScale={SingleCity:1,MultipleCity:2}
var areamap={map:null,positionOrigin:null,startPositionBirdseyeId:null,zoomlevelOrigin:17,zoomlevelZipSingleCity:12,zoomlevelZipMultipleCity:11,zoomlevelZipFallback:11,mapStyle:"r",polyId:1,mandant:null,enableObjectSearch:false,birdseyeBanned:false,fixed:false,streetlevel:false,URL_OBJECT_ICON:"/de/areamap/images/ico_haus_karte.gif",birdseyePromoted:false,onChangeViewCounter:0,initialMapMode:null,isInitializationFinished:false,isInitializationZiplevelFinished:false,URL_META:"/areamap/meta.do",getMapExpose:function(mandantName,elementId,objectId,latitude,longitude,streetlevel,zip,stateIso,birdseyeBannedForPlz,ziplevelScale){areamap.mandant=mandantName;areamap.birdseyeBanned=birdseyeBannedForPlz;areamap.streetlevel=streetlevel;var positionCenter=new VELatLong(latitude,longitude);areamap.zoomlevelOrigin=areamap.determineZoomLevel(streetlevel,ziplevelScale,stateIso);areamap.setupMapDelegate(areamapMode.Expose,elementId,positionCenter,null,false,areamap.zoomlevelOrigin,false);areamap.setupImmoobject(objectId,streetlevel,zip,positionCenter,stateIso);areamap.initializationFinished();},getMapExposePreview:function(mandantName,elementId,objectId,latitude,longitude,streetlevel,zip,stateIso){areamap.mandant=mandantName;areamap.birdseyeBanned=false;areamap.streetlevel=streetlevel;var positionCenter=new VELatLong(latitude,longitude);areamap.zoomlevelOrigin=11;areamap.setupMapDelegate(areamapMode.Preview,elementId,positionCenter,null,true,areamap.zoomlevelOrigin,false);areamap.setupImmoobject(objectId,streetlevel,zip,positionCenter,stateIso);areamap.beautifyPreviewCopyright();areamap.initializationFinished();},getMapPrint:function(mandantName,elementId,objectId,latitude,longitude,streetlevel,zip,stateIso){areamap.mandant=mandantName;areamap.streetlevel=streetlevel;var positionCenter=new VELatLong(latitude,longitude);areamap.setupMapDelegate(areamapMode.Print,elementId,positionCenter,null,true,areamap.zoomlevelOrigin,false);areamap.setupImmoobject(objectId,streetlevel,zip,positionCenter,stateIso);areamap.initializationFinished();},getMapSearch:function(elementId,latitude,longitude){areamap.mandant="search";var positionStart=new VELatLong(latitude,longitude);areamap.setupMapDelegate(areamapMode.Search,elementId,positionStart,null,false,17,true);areamap.initializationFinished();},getMapView:function(mandantName,elementId,latitude,longitude,birdseyeId){areamap.mandant=mandantName;var positionStart=new VELatLong(latitude,longitude);areamap.setupMapDelegate(areamapMode.View,elementId,positionStart,birdseyeId,false,2,false);areamap.map.SetBirdseyeScene(birdseyeId);areamap.map.ZoomOut();areamap.initializationFinished();},getMapStandalone:function(mandantName,elementId,latitude,longitude){areamap.mandant=mandantName;var positionStart=new VELatLong(latitude,longitude);areamap.zoomlevelOrigin=15;areamap.setupMapDelegate(areamapMode.Standalone,elementId,positionStart,null,false,areamap.zoomlevelOrigin,false);areamap.switchViewToAerial();areamap.initializationFinished();},determineZoomLevel:function(streetlevel,ziplevelScale,stateIso){var result=areamap.zoomlevelOrigin;if(!streetlevel){if(!stateIso=="DEU"){result=areamap.zoomlevelZipFallback;}
else{if(ziplevelScale==areamapZiplevelScale.SingleCity){result=areamap.zoomlevelZipSingleCity;}
else if(ziplevelScale==areamapZiplevelScale.MultipleCity){result=areamap.zoomlevelZipMultipleCity;}
else{result=areamap.zoomlevelZipFallback;}}}
return result;},setupMapDelegate:function(initialMapMode,elementId,startLatLong,startBirdseyeId,fixed,zoomlevel,enableObjectSearch){areamap.initialMapMode=initialMapMode;areamap.enableObjectSearch=enableObjectSearch;areamap.map=new VEMap(elementId);areamap.positionOrigin=startLatLong;areamap.startPositionBirdseyeId=startBirdseyeId;areamap.fixed=fixed;try{if(areamap.startPositionBirdseyeId){areamap.mapStyle=VEMapStyle.Birdseye;}
areamap.map.LoadMap(areamap.positionOrigin,zoomlevel,areamap.mapStyle,fixed,VEMapMode.Mode2D,false);}
catch(e){}
areamap.map.HideDashboard();areamap.map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);areamap.map.ShowDisambiguationDialog(false);areamap.map.AttachEvent("onchangeview",areamap.onChangeView);areamap.map.AttachEvent("onmousewheel",areamap.onMouseWheel);areamap.map.AttachEvent("onmouseover",areamap.shapeHandler);areamap.map.AttachEvent("onmouseout",areamap.shapeHandler);if(!areamap.fixed){areamap.map.ShowMiniMap();$("MSVE_minimap_resize").style.display="none";$("MSVE_minimap_transparency").style.cursor="default";$("MSVE_minimap_r_style_button").innerHTML="K";$("MSVE_minimap_r_style_button").title="Zur Kartenansicht wechseln";$("MSVE_minimap_h_style_button").innerHTML="H";$("MSVE_minimap_h_style_button").title="Zur Hybridansicht wechseln";$("MSVE_minimap").appendChild($("divMinimapSizerHide"));$("divMinimapSizerShow").style.display="none";}
areamap.onChangeView(null);window.onunload=areamap.onWindowUnload;},setupImmoobject:function(objectId,streetlevel,zip,positionCenter,stateIso){if(streetlevel){var shape=areamap.addImmoPushpin(objectId,positionCenter,areamap.URL_OBJECT_ICON);}
else if(areamap.initialMapMode!=areamapMode.Preview){}},findLocation:function(zip,stateIso){if((stateIso=="DEU")&&!Prototype.Browser.WebKit){var place=areamap.map.Find(null,zip+", Germany",null,null,0,1,false,false,false,true,areamap.onFoundResults);}
else{areamap.setOriginLocation(areamap.map.GetCenter(),areamap.zoomlevelZipFallback);areamap.map.SetZoomLevel(areamap.zoomlevelOrigin);}},onFoundResults:function(results){if(results==null||results.length==1){}
else{areamap.map.SetCenterAndZoom(areamap.positionOrigin,areamap.zoomlevelZipFallback);}
areamap.setOriginLocation(areamap.map.GetCenter(),areamap.map.GetZoomLevel());areamap.initializationZiplevelFinished();},initializationZiplevelFinished:function(){areamap.isInitializationZiplevelFinished=true;},setOriginLocation:function(center,zoomlevel){areamap.positionOrigin=center;areamap.zoomlevelOrigin=zoomlevel;},beautifyPreviewCopyright:function(){var copyrightFore=$("mapImmonet").getElementsByClassName("MSVE_Copyright MSVE_CopyrightForeground");$A(copyrightFore).each(function(element){element.innerHTML="Â© 2007 Microsoft Corporation<br/>Â© 2006 NAVTEQ Â© AND";element.setStyle({bottom:"129px"});});var copyrightBack=$("mapImmonet").getElementsByClassName("MSVE_Copyright MSVE_CopyrightBackground");$A(copyrightBack).each(function(element){element.innerHTML="Â© 2007 Microsoft Corporation<br/>Â© 2006 NAVTEQ Â© AND";element.setStyle({bottom:"128px"});});var copyrightMs=$("mapImmonet").getElementsByClassName("MSVE_PoweredByLogo");$A(copyrightMs).each(function(element){element.setStyle({bottom:"2px",left:"2px"});});},initializationFinished:function(){areamap.isInitializationFinished=true;},isMapStyleBirdseye:function(){return areamap.map.GetMapStyle()==VEMapStyle.Birdseye;},isMapStyleRoad:function(){return areamap.map.GetMapStyle()==VEMapStyle.Road;},onChangeView:function(event){areamap.onChangeViewCounter++;if(areamap.enableObjectSearch&&!areamap.isMapStyleBirdseye()){areamap.requestAreamapMeta(true,true,true,null);}
if(areamap.isMapStyleBirdseye()){if(areamap.map.GetZoomLevel()==1){areamap.zoomBirdseyeOut();}
else{areamap.zoomBirdseyeIn();}}
if(!areamap.fixed){areamapSlider.setSlidervalue(areamap.map.GetZoomLevel(),true);if(areamap.startPositionBirdseyeId){areamap.incrementEtracker(true,"veviewer");}
else{areamap.incrementEtracker(false);}
if(!(areamap.birdseyeBanned&&!areamap.streetlevel)){if(!areamap.isMapStyleBirdseye()){window.setTimeout(areamap.promoteBirdseye,1000);window.setTimeout(areamap.promoteBirdseye,2000);window.setTimeout(areamap.promoteBirdseye,5000);}}}
areamap.promotePrintLink();areamap.switchButtonsToStyle(areamap.map.GetMapStyle());},requestAreamapMeta:function(includeCount,includeImmoobjects,includeZips,dedicatedZip){var query=areamap.constructQueryMapDivRectangle();if(includeCount){query=query+"&count=true";}
if(includeImmoobjects){query=query+"&objects=true";}
if(includeZips){query=query+"&zips=true";}
if(dedicatedZip){query=query+"&zip="+dedicatedZip;}
var myAjax=new Ajax.Request(areamap.URL_META,{method:"get",parameters:query,onSuccess:areamap.responseAreamapMeta});},responseAreamapMeta:function(originalRequest){var response=eval("("+originalRequest.responseText+")");if(response.objs){areamap.map.DeleteAllPushpins();for(var iObject=0;iObject<response.objs.length;iObject++){var obj=response.objs[iObject];areamap.addImmoPushpin(obj.id,new VELatLong(obj.lat,obj.lon),areamap.URL_OBJECT_ICON);}}
if(response.zips){areamap.map.DeleteAllPolygons();for(var iZip=0;iZip<response.zips.length;iZip++){areamap.evaluateZipDelegate(response.zips[iZip]);}}
if(response.zip){areamap.evaluateZipDelegate(response.zip);}
if(response.count){}},constructQueryMapDivRectangle:function(){var rect=areamap.getMapDivRectangle();var mapTopLatitude=rect.TopLeftLatLong.Latitude;var mapLeftLongitude=rect.TopLeftLatLong.Longitude;var mapBottomLatitude=rect.BottomRightLatLong.Latitude;var mapRightLongitude=rect.BottomRightLatLong.Longitude;return"mapTopLatitude="+mapTopLatitude+"&mapLeftLongitude="+mapLeftLongitude+"&mapBottomLatitude="+mapBottomLatitude+"&mapRightLongitude="+mapRightLongitude;},onMapMouseDown:function(e){areamap.positionSelectionStartLatLon=e.view.LatLong;areamap.positionSelectionStartPixel=areamap.map.LatLongToPixel(areamap.positionSelectionStartLatLon);if((areamap.x++%2)==0){areamap.map.AttachEvent("onmousemove",areamap.onMapMouseMove);areamap.setMapFixed(true);areamap.resetSelection();areamap.showSelection(true);areamap.selectingArea=true;}},onMapMouseUp:function(e){if(areamap.selectingArea){areamap.showSelection(false);areamap.map.DetachEvent("onmousemove",areamap.onMapMouseMove);areamap.setMapFixed(false);areamap.drawSelectionRectangle();areamap.selectingArea=false;}},onMapMouseMove:function(e){var mousePixel=areamap.map.LatLongToPixel(e.view.LatLong);var cornerWidth=null;var cornerHeight=null;if(mousePixel.x>areamap.getMapDivWidth()){cornerWidth=areamap.getMapDivWidth();}
else{cornerWidth=mousePixel.x;}
if(mousePixel.y>areamap.getMapDivHeight()){cornerHeight=areamap.getMapDivHeight();}
else{cornerHeight=mousePixel.y;}
var cornerPixelX=Math.ceil(cornerWidth-areamap.positionSelectionStartPixel.x);var cornerPixelY=Math.ceil(cornerHeight-areamap.positionSelectionStartPixel.y);$("mapSelection").style.height=cornerPixelY;$("mapSelection").style.width=cornerPixelX;areamap.positionSelectionEndPixel=mousePixel;areamap.positionSelectionEndPixel.x=cornerPixelX+areamap.positionSelectionStartPixel.x;areamap.positionSelectionEndPixel.y=cornerPixelY+areamap.positionSelectionStartPixel.y;},getMapDivWidth:function(){return $("mapImmonet")["clientWidth"];},getMapDivHeight:function(){return $("mapImmonet")["clientHeight"];},getMapDivRectangle:function(){if(areamap.map.GetMapStyle()!=VEMapStyle.Birdseye){var pixel=new VEPixel(areamap.getMapDivWidth(),areamap.getMapDivHeight());var latlonBottomRight=areamap.map.PixelToLatLong(pixel);var rect=areamap.map.GetMapView();rect.BottomRightLatLong=latlonBottomRight;return rect;}
else{return rect;}},setMapFixed:function(fixed){areamap.map.vemapcontrol.EnableGeoCommunity(fixed);},showLoadingCountImmoobjects:function(){$("counterImmoobjects").innerHTML="Lade ..";},showLoadingQueryImmoobjects:function(){$("queryImmoobjects").innerHTML="Lade ..";},showZip:function(originalRequest){var response=eval("("+originalRequest.responseText+")");areamap.evaluateZipDelegate(response);},evaluateZipDelegate:function(zipObject){var zip=zipObject.zip;var loc=zipObject.loc;var listPoints=new Array();for(var c=0;c<loc.length;c++){listPoints[c]=new VELatLong(loc[c].lat,loc[c].lon);}
var r=Math.floor(Math.random()*255);var g=Math.floor(Math.random()*255);var b=Math.floor(Math.random()*255);areamap.drawZipDelegate(listPoints,r,g,b);},drawZipDelegate:function(points,r,g,b){var polygon=new VEPolygon("zip"+areamap.polyId++,points);polygon.SetFillColor(new VEColor(r,g,b,0.30));polygon.SetOutlineColor(new VEColor(r,g,b,0.7));polygon.SetOutlineWidth(1);areamap.map.AddPolygon(polygon);},constructLatLongRectangleArray:function(topLeftLatLong,bottomRightLatLong){return new Array(new VELatLong(topLeftLatLong.Latitude,topLeftLatLong.Longitude),new VELatLong(bottomRightLatLong.Latitude,topLeftLatLong.Longitude),new VELatLong(bottomRightLatLong.Latitude,bottomRightLatLong.Longitude),new VELatLong(topLeftLatLong.Latitude,bottomRightLatLong.Longitude),new VELatLong(topLeftLatLong.Latitude,topLeftLatLong.Longitude));},addPinDelegate:function(pushpinId,positionLatLong,iconUrl,title,description){var newPin=new VEShape(VEShapeType.Pushpin,positionLatLong);newPin.SetTitle(title);newPin.SetDescription(description);newPin.SetCustomIcon(iconUrl);areamap.map.AddShape(newPin);return newPin;},addImmoPushpin:function(objectId,positionLatLong,iconUrl){var htmlDescription="<div id=\""+objectId+"_description_div\">Lade Expos&eacute; fÃŒr Objekt "+objectId+"<br/><br/><div align=\"center\"><img src=\"/de/img/ajax/indicator_big_black.gif\" border=\"0\"/></div></div>";var htmlTitle="<div style=\"visibility:hidden;height:0px;display:none;\" id=\""+objectId+"_title_div\">["+objectId+"]</div>";return areamap.addPinDelegate(objectId,positionLatLong,iconUrl,htmlTitle,htmlDescription);},onMouseWheel:function(mapEvent){if((mapEvent.zoomLevel>=17)&&(mapEvent.mouseWheelChange>0)){return true;}
return false;},shapeHandler:function(e){if(!immo.isEmpty(e)&&e.elementID&&!areamap.fixed){if(e.eventName=="onmouseover"){var shape=areamap.map.GetShapeByID(e.elementID);areamap.onPushpinCallback(shape);}
return false;}
else{return true;}},onPushpinCallback:function(shape){var title=shape.GetTitle()
var description=shape.GetDescription();if(title&&title!="[loaded]"){var objectId=title.substring(title.indexOf("[")+1,title.lastIndexOf("]"));if(objectId){new Ajax.Updater(objectId+"_description_div","/areamap/picopose.do?objectId="+objectId,{asynchronous:true,onSuccess:onPushpinUpdateSuccess});areamap.incrementEtracker(false,"picopose");}}
function onPushpinUpdateSuccess(transport){}},incrementEtracker:function(mandantOnly,subsystem){var viewer=(areamap.initialMapMode==areamapMode.View);var phaseTwoFinished=(areamap.streetlevel||areamap.isInitializationZiplevelFinished);if(areamap.isInitializationFinished&&(phaseTwoFinished||viewer)){var bereich="";if(!mandantOnly){bereich+="/expose/lageplan/aktion";}
if(subsystem){bereich+="/"+subsystem;}
firstTracker._trackPageview(areamap.mandant+bereich);secondTracker._trackPageview(areamap.mandant+bereich);}},onWindowUnload:function(){if(!immo.isEmpty(areamap)){if(!immo.isEmpty(areamap.map)&&!immo.isEmpty(areamap.map.vemapcontrol)){areamap.map.Dispose();}
areamap.map=null;areamap=null;}},switchButtonsToStyle:function(mapStyle){if(!areamap.fixed){var birdseyeButtonStyle=null;if(areamap.birdseyePromoted){birdseyeButtonStyle="styleButton styleButtonBirdseyeNormal";}
else{birdseyeButtonStyle="styleButton styleButtonBirdseyeDisabled";}
if(mapStyle==VEMapStyle.Road){$("styleButtonRoad").className="styleButton styleButtonRoadActive";$("styleButtonAerial").className="styleButton styleButtonAerialNormal";$("styleButtonHybrid").className="styleButton styleButtonHybridNormal";$("styleButtonBirdseye").className=birdseyeButtonStyle;}
else if(mapStyle==VEMapStyle.Aerial){$("styleButtonRoad").className="styleButton styleButtonRoadNormal";$("styleButtonAerial").className="styleButton styleButtonAerialActive";$("styleButtonHybrid").className="styleButton styleButtonHybridNormal";$("styleButtonBirdseye").className=birdseyeButtonStyle;}
else if(mapStyle==VEMapStyle.Hybrid){$("styleButtonRoad").className="styleButton styleButtonRoadNormal";$("styleButtonAerial").className="styleButton styleButtonAerialNormal";$("styleButtonHybrid").className="styleButton styleButtonHybridActive";$("styleButtonBirdseye").className=birdseyeButtonStyle;}
else if(mapStyle==VEMapStyle.Birdseye){$("styleButtonRoad").className="styleButton styleButtonRoadNormal";$("styleButtonAerial").className="styleButton styleButtonAerialNormal";$("styleButtonHybrid").className="styleButton styleButtonHybridNormal";$("styleButtonBirdseye").className="styleButton styleButtonBirdseyeActive";}
if(mapStyle==VEMapStyle.Birdseye){$('mapControlZoom').style.visibility='hidden';$('mapControlBirdseye').style.visibility='visible';if(areamap.map.GetZoomLevel()==1){$('divBirdseyeZoomOut').style.visibility='hidden';$('divBirdseyeZoomIn').style.visibility='visible';}
else{$('divBirdseyeZoomOut').style.visibility='visible';$('divBirdseyeZoomIn').style.visibility='hidden';}}
else{$('mapControlZoom').style.visibility='visible';$('mapControlBirdseye').style.visibility='hidden';$('divBirdseyeZoomIn').style.visibility='hidden';$('divBirdseyeZoomOut').style.visibility='hidden';}}},hoverStyleButton:function(element,hovering){if(!areamap.endsWith(element.className,"Active")&&!areamap.endsWith(element.className,"Disabled")){var hoverSuffix="Mandant";if(areamap.mandant=="immonet"){hoverSuffix="Immonet";}
var elementStyle=null;if(element.id=="styleButtonRoad"){elementStyle="Road";}
else if(element.id=="styleButtonAerial"){elementStyle="Aerial";}
else if(element.id=="styleButtonHybrid"){elementStyle="Hybrid";}
else if(element.id=="styleButtonBirdseye"){elementStyle="Birdseye";}
if(hovering){element.className="styleButton styleButton"+elementStyle+"Hover"+hoverSuffix;}
else{element.className="styleButton styleButton"+elementStyle+"Normal";}}},promoteBirdseye:function(){if(areamap.map.IsBirdseyeAvailable()){if(!areamap.birdseyePromoted){$("styleButtonBirdseye").className="styleButton styleButtonBirdseyeNormal";areamap.birdseyePromoted=true;}}
else{if(areamap.birdseyePromoted){$("styleButtonBirdseye").className="styleButton styleButtonBirdseyeDisabled";areamap.birdseyePromoted=false;}}},promotePrintLink:function(){if(areamap.isMapStyleRoad()){if($("printLink")){$("printLink").style.visibility="visible";}}
else{if($("printLink")){$("printLink").style.visibility="hidden";}}},endsWith:function(string,substring){var index=string.lastIndexOf(substring);return index>=0&&index==string.length-substring.length;},resetOriginview:function(){if(areamap.isMapStyleBirdseye()){areamap.map.SetCenter(areamap.positionOrigin);}
else{areamap.map.SetCenterAndZoom(areamap.positionOrigin,areamap.zoomlevelOrigin);}},switchViewToBirdseye:function(){if(areamap.map.IsBirdseyeAvailable()&&!areamap.isMapStyleBirdseye()&&(areamap.streetlevel||!areamap.birdseyeBanned)){var be=areamap.map.GetBirdseyeScene();areamap.map.SetBirdseyeScene(be);areamap.zoomBirdseyeOut();}},switchViewToRoad:function(){areamap.map.SetMapStyle(VEMapStyle.Road);},switchViewToAerial:function(){areamap.map.SetMapStyle(VEMapStyle.Aerial);},switchViewToHybrid:function(){areamap.map.SetMapStyle(VEMapStyle.Hybrid);},setZoomlevel:function(newZoomlevel){areamap.map.SetZoomLevel(newZoomlevel);areamapSlider.setSlidervalue(newZoomlevel,true);},zoomBirdseyeIn:function(){areamap.map.SetZoomLevel(2);$('divBirdseyeZoomIn').style.visibility='hidden';$('divBirdseyeZoomOut').style.visibility='visible';},zoomBirdseyeOut:function(){areamap.map.SetZoomLevel(1);$('divBirdseyeZoomIn').style.visibility='visible';$('divBirdseyeZoomOut').style.visibility='hidden';},moveUp:function(){var center=areamap.map.LatLongToPixel(areamap.map.GetCenter());center.y=center.y-Math.round(areamap.getMapDivHeight()*0.45);areamap.map.PanToLatLong(areamap.map.PixelToLatLong(center));},moveDown:function(){var center=areamap.map.LatLongToPixel(areamap.map.GetCenter());center.y=center.y+Math.round(areamap.getMapDivHeight()*0.45);areamap.map.PanToLatLong(areamap.map.PixelToLatLong(center));},moveLeft:function(){var center=areamap.map.LatLongToPixel(areamap.map.GetCenter());center.x=center.x-Math.round(areamap.getMapDivWidth()*0.45);areamap.map.PanToLatLong(areamap.map.PixelToLatLong(center));},moveRight:function(){var center=areamap.map.LatLongToPixel(areamap.map.GetCenter());center.x=center.x+Math.round(areamap.getMapDivWidth()*0.45);areamap.map.PanToLatLong(areamap.map.PixelToLatLong(center));},rotateCounterClockwise:function(){var be=areamap.map.GetBirdseyeScene();var orientation=be.GetOrientation();if(orientation==VEOrientation.North){areamap.map.SetBirdseyeOrientation(VEOrientation.West);}
else if(orientation==VEOrientation.West){areamap.map.SetBirdseyeOrientation(VEOrientation.South);}
else if(orientation==VEOrientation.South){areamap.map.SetBirdseyeOrientation(VEOrientation.East);}
else if(orientation==VEOrientation.East){areamap.map.SetBirdseyeOrientation(VEOrientation.North);}},minimapHide:function(){$("MSVE_minimap").hide();$("divMinimapSizerShow").show();},minimapShow:function(){$("divMinimapSizerShow").hide();$("MSVE_minimap").show();}}