if(typeof(Vx)=="undefined"){var Vx={}}if(!Vx.Calculator){Vx.Calculator={}}Vx.Calculator.SelectionCounter=new Class({initialize:function(d,a,b,c){this.selectedTariffs=$splat(b);if(c){this.lightbox=c.lightbox;this.comparisonItems=$splat(c.params)}if(Browser.Engine.presto){this.setup.delay(500,this,[a,d])}else{this.setup(a,d)}},setup:function(a,b){this.setupSubjects($splat(a));this.setupLabels($splat(b));this.updateLabelValue(null,this.selectedTariffs.length)},setupLabels:function(d){this.labels=[];
for(var b=0,a=d.length,c;b<a;++b){c=$(d[b]);if(c){this.labels.push(c);if(c.nodeName.toLowerCase()==="input"){c.addEvent("click",this.checkSubmit.bindWithEvent(this))}}}},setupSubjects:function(b){var c,a,d,e;for(c=0,a=b.length;c<a;++c){d=$(b[c]);if(d){d.addEvent("click",this.subjectClicked.bind(this,d));e=d.value.toInt();if(!d.checked){this.selectedTariffs.erase(e)}else{if(!this.selectedTariffs.contains(e)){this.selectedTariffs.push(e)}}}}},subjectClicked:function(a){var b=a.value.toInt();this.updateLabelValue(a.checked?1:-1);
if(!a.checked){this.selectedTariffs.erase(b)}else{if(!this.selectedTariffs.contains(b)){this.selectedTariffs.push(b)}}},updateLabelValue:function(d,b){for(var c=0,a=this.labels.length;c<a;++c){this.labels[c].value=this.labels[c].value.replace(/\((\d+)\)/,function(e,f){var g=$chk(b)?b:(parseInt(f,10)+d);return"("+g+")"})}},checkSubmit:function(a){if(this.selectedTariffs.length===0||this.openLightbox(a)){a.stop();return false}return true},openLightbox:function(d){if(!this.lightbox){return false}if(!this.isFormValid(d.target)){return true
}var a=this.lightbox.options.url,c=-1,b;if(!a){return false}if(a.indexOf("?")===-1){a+="?"}else{if(a.length>0&&a.charAt[a.length-1]!=="&"){a+="&"}}this.comparisonItems.each(function(f){var e=$(f.id),g;if(e&&f.param){if((e.type==="radio"||e.type==="checkbox")&&!e.checked){return}g=f.val||$chk(e.value)?e.value:"";a+=encodeURIComponent(f.param)+"="+encodeURIComponent(g)+"&";if(f.param==="comp"){c=g.toInt()}}});a+="cta="+this.selectedTariffs.map(function(e){return encodeURIComponent(e)}).join(",");b=this.selectedTariffs.length*160+(c!==-1&&!this.selectedTariffs.contains(c)?160:0);
b+=Browser.Engine.trident4?140:125;this.lightbox.options.size.x=b;return this.lightbox.open(a)},isFormValid:function(a){if(!a||!a.form){return true}var c=$(a.form),b=c.retrieve("validator"),d={canceled:false,preventDefault:function(){this.stop()},stop:function(){this.canceled=true}};if(b){c.store("validation",true);b.onSubmit(d);return !d.canceled}return true}});Vx.Calculator.ComparisonTariff=new Class({Implements:[Options],options:{service:{url:"",method:"get",encoding:"utf-8",timeoutPeriod:5000},carrierId:0,tariffId:0,defaultItemText:"",waitingText:"Bitte haben Sie ein wenig Geduld...",dependencies:[]},initialize:function(a,c,b){this.setOptions(b);
this.carrierList=$(a);this.tariffList=$(c);this.update={};this.carrierId=this.options.carrierId;this.tariffId=this.options.tariffId;this.carrierList.addEvent("change",this.updateTariffs.bind(this));$(this.carrierList.form).addEvent("submit",this.checkSubmit.bind(this));this.setupSubjects()},setupSubjects:function(){this.subjects=[];var e,b,d,c,a;for(e=0,b=this.options.dependencies.length;e<b;++e){d=this.options.dependencies[e];d.elem=$(d.id);if(!d.elem){continue}delete d.id;c=d.event||"change";delete d.event;
a={bind:this};if($type(d.delay)=="number"){a.delay=Math.max(d.delay,0);delete d.delay}if($type(d.beforeUpdate)=="function"){a.arguments=[d.beforeUpdate,d.elem,!d.checkChange];d.elem.addEvent(c,function(g,h,f){if(g(h)){this.updateCarriers(f)}}.create(a))}else{a.arguments=[!d.checkChange];d.elem.addEvent(c,this.updateCarriers.create(a))}delete d.beforeUpdate;if(d.checkChange){d.previousValue=""}if($type(d.getValue)!="function"){d.getValue=this.getElementValue}this.subjects.push(d)}delete this.options.dependencies
},updateTariffs:function(){this.carrierId=this.carrierList.value;this.tariffId=0;this.tariffList.options.length=0;if(!this.update.result){this.updateCarriers(true)}else{this.fillTariffList(this.update.result[this.carrierId].tariffs)}},updateCarriers:function(a){if(!a){this.carrierId=0;this.tariffId=0}this.startRequest()},startRequest:function(){this.stopRequest();this.resetLists();this.disableList(this.carrierList,true,this.options.waitingText);this.disableList(this.tariffList,true,this.options.waitingText);
if(!this.update.request){this.update.request=new Request.JSON({link:"cancel",method:this.options.service.method,encoding:this.options.service.encoding,url:this.options.service.url,onSuccess:this.updateLists.bind(this),onFailure:this.stopRequest.bind(this)})}var a={};a.data=this.getServiceData();this.update.request.send(a);if(this.options.service.timeoutPeriod>0){this.update.timeout=this.stopRequest.delay(this.options.service.timeoutPeriod,this)}},stopRequest:function(){if(this.update.timeout){this.update.timeout=$clear(this.update.timeout)
}if(this.update.request){this.update.request.cancel()}},resetLists:function(){this.carrierList.options.length=0;this.tariffList.options.length=0},getServiceData:function(){var c,a,e={},b,d;for(c=0,a=this.subjects.length;c<a;++c){b=this.subjects[c];d=b.getValue(b.elem);if(b.checkChange){b.previousValue=d}if($defined(d)&&d!==""){e[b.param]=d}}return e},updateLists:function(c){this.stopRequest();if(!c||!c.result||!c.result.carriers){return}this.resetLists();this.update.result={};var d=$splat(c.result.carriers),f=false,b,a,e;
for(b=0,a=d.length;b<a;++b){e=d[b];this.update.result[e.iD]=e;this.carrierList.options[b]=new Option(e.name,e.iD);if((b===0&&this.carrierId===0)||this.carrierId==e.iD){f=true;this.carrierId=e.iD;this.carrierList.options[b].selected=true;this.fillTariffList(e.tariffs)}}if(!f&&d.length>0){this.tariffId=0;this.carrierList.selectedIndex=0;this.fillTariffList(d[0].tariffs)}this.disableList(this.carrierList,this.carrierList.options.length===0);this.disableList(this.tariffList,this.tariffList.options.length===0)
},fillTariffList:function(c){if(!c){return}for(var b=0,a=c.length;b<a;++b){this.tariffList.options[b]=new Option(c[b].name,c[b].iD);if((b===0&&this.tariffId===0)||this.tariffId==c[b].iD){this.tariffList.options[b].selected=true;this.tariffId=c[b].iD}}},disableList:function(b,a,c){b.disabled=a;c=c||this.options.defaultItemText;if(a&&c){b.options[0]=new Option(c,"")}},checkSubmit:function(){for(var b=0,a=this.subjects.length;b<a;++b){if(this.subjects[b].checkChange&&this.subjects[b].previousValue!==""&&this.subjects[b].previousValue!==this.subjects[b].getValue(this.subjects[b].elem)){this.tariffList.selectedIndex=-1;
break}}return true},getElementValue:function(a){return a.value}});Vx.Calculator.setupSlider=function(b,a){a=$(a);b=$(b);var c=new Fx.Slide(a,{link:"cancel",duration:"short",noDisplayOnHide:true});if(b.checked){c.show()}else{c.hide()}b.addEvent("click",function(){c.toggle()})};Vx.Calculator.GasUsageToPower=new Class({initialize:function(d,b,c,f,a,e){this.usage=$(d);this.power=$(b);this.minValue=c;this.maxValue=f;if(!d||!b){return}this.factor=a||1;this.separator=e;this.setWatch()},setWatch:function(){this.callbacks={usage:this.calculate.bind(this),power:this.detach.bind(this)};
this.usage.addEvent("change",this.callbacks.usage);this.power.addEvent("change",this.callbacks.power)},calculate:function(){var b=(this.usage.value===""||isNaN(this.usage.value))?0:this.usage.value.toFloat(),a=Math.max(this.minValue,Math.round(b/this.factor*100)/100);if(a>this.maxValue){a=this.maxValue}if(this.separator){a=(""+a).replace(".",this.separator)}this.power.value=a},detach:function(){this.usage.removeEvent("change",this.callbacks.usage);this.power.removeEvent("change",this.callbacks.power);
delete this.callbacks}});Vx.Calculator.DirectComparison={close:function(f){var c,e,d,a,b,g;while(f&&f.nodeName&&f.nodeName.toLowerCase()!="td"){f=f.parentNode}if(!f||f==window){return false}e=f.parentNode.parentNode;while(e&&e.nodeName.toLowerCase()!="table"){e=e.parentNode}g=e.nextSibling;b=e.parentNode;b.removeChild(e);c=f.cellIndex;for(d=0,a=e.rows.length;d<a;++d){e.rows[d].deleteCell(c)}if(e.rows.length>0){b.insertBefore(e,g)}else{b.parentNode.removeChild(b)}return false}};Vx.Calculator.Mobile=new Class({Implements:[Options],options:{leftover:{id:"percentageLeftIndicator",label:"Noch {0} Prozent zu vergeben"}},initialize:function(a,b,d,c){this.selector=$(a);
if(!this.selector||!Vx.UI||!Vx.UI.Slider){return}this.setOptions(c);this.presets=b||[];this.sliders=$extend({normal:[],grouped:[]},d);if(this.sliders.grouped.length>0){this.leftover=$(this.options.leftover.id)}this.addWatch()},addWatch:function(){this.selector.addEvent("change",this.selectPreset.bind(this));this.sliders.normal.each(function(a){var b=$(a);if(b){b.addEvent("change",this.userChange.bind(this))}},this);this.sliders.grouped.each(function(a){var b=$(a);if(b){b.addEvent("change",this.groupChange.bind(this))
}},this)}.protect(),selectPreset:function(){var b=this.selector.value,a=Vx.UI.Slider.sliders,d,c;if(b!==""){this.lock=true;this.sliders.grouped.each(function(e){a[e].set(0)});d=this.presets[parseInt(b,10)];c=function(e){a[e].set(d[e])};this.sliders.normal.each(c,this);this.sliders.grouped.each(c,this);this.lock=false}},userChange:function(){if(!this.lock){this.selector.value=""}},groupChange:function(){this.userChange();if(!this.leftover){return}var c=100,b,a;for(b=0,a=this.sliders.grouped.length;
b<a;++b){c-=parseInt(Vx.UI.Slider.sliders[this.sliders.grouped[b]].step,10)}if(c<=0){this.leftover.setStyle("visibility","hidden")}else{this.leftover.innerHTML=this.options.leftover.label.replace("{0}",c.toString(10));this.leftover.setStyle("visibility","visible")}}});Vx.Calculator.MobileSpeech=new Class({initialize:function(a,b,d,c){this.selector=$(a);if(!this.selector||!Vx.UI||!Vx.UI.AssociatedSlider){return}this.presets=b||[];this.sliders=d;this.addWatch()},addWatch:function(){this.selector.addEvent("change",this.selectPreset.bind(this));
this.sliders.normal.each(function(a){var b=$(a);if(b){b.addEvent("change",this.userChange.bind(this))}},this);this.sliders.grouped.each(function(a){var b=$(a);if(b){b.addEvent("change",this.groupChange.bind(this))}},this)}.protect(),selectPreset:function(){var b=this.selector.value,a=this.sliders,d,c;if(b!==""){this.lock=true;d=this.presets[parseInt(b,10)];c=function(f){var e=$(f);e.set("value",d[f]);e.fireEvent("change",{target:e});if(f.substring(0,2)=="hz"&&d[f]>0){$("hz").checked=true;$("hz").fireEvent("click",{target:$("hz")})
}if(f==="dtvol"&&d[f]>0){$("DataUsageVolumen").checked=true;$("DataUsageVolumen").fireEvent("click",{target:$("DataUsageVolumen")})}if(f==="dttime"&&d[f]>1){$("DataUsageTime").checked=true;$("DataUsageTime").fireEvent("click",{target:$("DataUsageTime")})}};this.sliders.normal.each(c,this);this.lock=false}},userChange:function(){if(!this.lock){this.selector.value=""}}});(function(){var a=[38,38,40,40,37,39,37,39,66,65];Vx.konamiCode=function(d){if($type(d)!=="function"){return}var c=0,b=function(f){if(f.code!==16){if(f.code===a[c]){if(++c>=a.length){$(document).removeEvent("keyup",b);
c=0;d()}}else{if(f.code!==a[0]){c=0}else{if(c!==2){c=1}}}}return true};$(document).addEvent("keyup",b)}})();