
function submitForm(value){$('form_value').value=value;$('form').submit();}
function fail(code){location.href="/msh/browser/problem?code="+encodeURIComponent((code==null?"null":(Object.isString(code)?code:(!Object.isUndefined(code.status)?code.status:"unknown"))));}
function request(url,options){new Ajax.Request(url,$H(options).update({requestHeaders:{'If-Modified-Since':'Sat, 1 Jan 2000 00:00:00 GMT'},onTimeout:fail,onFailure:fail}).toObject());}
function submitAndStartRanking(value){if(value)$('form_value').value=value;$('overlay').setStyle({display:'block'});request($('form').action,{parameters:$('form').serialize(true),onSuccess:processRankingStart});Overtimer.start();}
function processRankingStart(transport){if(transport.responseText!="ok"){fail("Unexpected ranking start response: "+transport.responseText);return;}
requestRankingState();}
function requestRankingState(){Overtimer.clear();request("/berater/ranking_state",{method:"get",onSuccess:processRankingState});Overtimer.start();}
function processRankingState(transport){var response=transport.responseText;if(response=="error"){fail("Ranking state problem");return;}
var i=100;if(response!="complete"){i=parseInt(response);if(isNaN(i)){fail("Illegal ranking state response");return;}}
$('progress').setStyle({width:i+'%'});if(response=="complete")
location.href="/berater/tarife";else
requestRankingState.delay(1);$('search_progress').select('h3').first().toggleClassName('alt');}
var Overtimer={timer:null,time:0,report:function(){Overtimer.time+=10;request("/system/overtime",{parameters:{time:Overtimer.time},onSuccess:function(){}});Overtimer.timer=Overtimer.report.delay(10);},start:function(){Overtimer.timer=Overtimer.report.delay(10);},clear:function(){clearTimeout(Overtimer.timer);Overtimer.time=0;}};var Images={preload:function(base,imgSources){Images.preloaded=imgSources.map(function(imgSrc){var img=new Image();img.src=base+imgSrc;return img;});}};Event.observe(window,'load',function()
{$('glass').setOpacity(0.7);if(typeof(onLoad)!='undefined')onLoad();if(isTerminal){setTimeout(function(){if(!$('Home'))location.href="/";},300000);$('page').select('a').each(function(a){a.observe('mousedown',function(ev){this.url=this.href;if(this.url.startsWith("javascript:"))
eval(this.url.substr(11));else
location.href=this.url;});a.observe('click',function(ev){if(this.url)
if(ev.preventDefault)ev.preventDefault();else ev.returnValue=false;});});}});var MshSlider=Class.create();MshSlider.prototype={initialize:function(sliderDiv,options){var block=sliderDiv.up();this.input=block.down('.slider_value input');this.onChange=this.onChangeHandler.bindAsEventListener(this);options=Object.extend({handleImage:'/img/msh/slider_handle.png',onSlide:this.onChange,onChange:this.onChange},options);this.slider=new Control.Slider(sliderDiv.down('.handle'),sliderDiv,options);this.value=options.sliderValue||0;this.values=options.values;if(typeof(options.sliderValue)!='undefined')this.onChangeHandler(options.sliderValue);block.down('.slider_minus').observe('click',this.onMinusHandler.bindAsEventListener(this));block.down('.slider_plus').observe('click',this.onPlusHandler.bindAsEventListener(this));},onChangeHandler:function(val){this.value=!isFinite(val)?val=0:Math.round(val);this.input.value=this.value;if(typeof(this.onValueChanged)=='function')this.onValueChanged(this.value);},onMinusHandler:function(event){if(this.values){var ix=this.values.indexOf(this.value);if(ix>0)this.slider.setValue(this.values[ix-1]);}else{this.slider.setValue(this.value-1);}},onPlusHandler:function(event){if(this.values){var ix=this.values.indexOf(this.value);if(ix!=-1&&ix<this.values.length-1)this.slider.setValue(this.values[ix+1]);}else{this.slider.setValue(this.value+1);}},setValue:function(val){this.slider.setValue(val);}};var RadioGroup=Class.create();RadioGroup.prototype={initialize:function(group,defaultValue,selectionListener){this.defaultValue=defaultValue;this.onSelectionChanged=selectionListener;$(group).select('label').each(this.initLabel.bindAsEventListener(this));},initLabel:function(label){var input=label.down('input');if(input.value==this.defaultValue){this.selected=label;label.addClassName('selected');input.checked=true;if(typeof(this.onSelectionChanged)=='function')this.onSelectionChanged(label);}else input.checked=false;label.observe('click',this.onClickHandler.bindAsEventListener(this));},onClickHandler:function(event){var el=event.element();if(el.tagName!='LABEL')el=el.up('label');if(el&&el!=this.selected){this.selected.removeClassName('selected');el.addClassName('selected');el.down('input').checked=true;if(typeof(this.onSelectionChanged)=='function')this.onSelectionChanged(el,this.selected);this.selected=el;}}};var CheckBox=Class.create();CheckBox.prototype={initialize:function(label,checked,onClickListener){this.onClickListener=onClickListener;this.label=$(label);this.input=this.label.down('input');if(checked){this.label.addClassName('checked');this.input.checked=true;if(typeof(this.onClickListener)=='function')this.onClickListener(this);}else this.input.checked=false;this.label.observe('click',this.onClickHandler.bindAsEventListener(this));},onClickHandler:function(event){var el=event.element();if(el==this.label){this.label.toggleClassName('checked');setTimeout(function(){this.input.checked=this.label.hasClassName('checked');if(typeof(this.onClickListener)=='function')this.onClickListener(this);}.bind(this),10);}}};(function(){this.timeout=false;this._request=this.request;this.request=function(url){this._request(url);if(this.options.timeout&&this.options.onTimeout)this.startTimer(this.options.timeout);}
this._respondToReadyState=this.respondToReadyState;this.respondToReadyState=function(readyState){this._respondToReadyState(readyState);var state=Ajax.Request.Events[readyState];if(state=='Complete')this.clearTimeout();}
this.onStateChange=function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete)&&!this.timeout)this.respondToReadyState(this.transport.readyState);}
this.success=function(){var status=this.getStatus();return(status>=200&&status<300);}
this.startTimer=function(sec){this.timer=setTimeout(this.handleTimeout.bind(this),(1000*sec));}
this.clearTimeout=function(){clearTimeout(this.timer);}
this.handleTimeout=function(){try{this.timeout=true;this.transport.abort();this.options.onTimeout(new Ajax.Response(this));}
catch(e){this.dispatchException(e);}}}).call(Ajax.Request.prototype);
