var EventListener={listeners:[],bSafari:/safari/i.test(navigator.userAgent),addEvents:function(B,D,E,C){for(var A=0;
A<B.length;
A++){this.addEvent(B[A],D,E,C)
}},addEvent:function(D,C,F,B){var A=this.delegate(F,B||D);
try{D.addEventListener(C,A,false)
}catch(G){D.attachEvent("on"+C,A)
}var E={element:D,type:C,handler:A};
this.listeners.push(E);
return E
},removeEvents:function(D,C){var B=D?this.getEvents(D,C):this.listeners;
for(var A=0;
A<B.length;
A++){this.removeEvent(B[A])
}},removeEvent:function(B){try{B.element.removeEventListener(B.type,B.handler,false)
}catch(C){B.element.detachEvent("on"+B.type,B.handler)
}for(var A=0;
A<this.listeners.length;
A++){if(this.listeners[A]==B){this.listeners.splice(A,1);
break
}}},getTarget:function(C,D){var B=C.target||C.srcElement;
if(D){var A=new RegExp("^"+D+"$","i");
while(B&&!A.test(B.nodeName)){B=B.parentNode
}return B
}else{return(B.nodeType>1)?B.parentNode:B
}},getEvents:function(D,C){var A=[];
for(var E,B=0;
(E=this.listeners[B++]);
){if(E.element==D&&(!C||C==E.type)){A.push(E)
}}return A
},cancelEvent:function(A){this.preventDefault(A);
this.stopPropagation(A);
return false
},preventDefault:function(C){try{C.preventDefault()
}catch(A){C.returnValue=false
}if(this.bSafari){var B=this.getTarget(C);
if(/^a$/i.test(B.nodeName)){B.onclick=function(){return false
}
}}return false
},stopPropagation:function(B){try{B.stopPropagation()
}catch(A){B.cancelBubble=true
}return false
},delegate:function(B,A){return function(){B.apply(A,arguments)
}
}};
/*@cc_on
try { document.execCommand('BackgroundImageCache', false, true); } catch (e) {}
@*/
function getElementsByAttributeValue(B,J,I){var C=new Array;
var H=(document.all&&B.toLowerCase()=="class")?"className":B;
var A=I?I:document;
var E=(A.all?A.all:A.getElementsByTagName("*"));
var G=new RegExp("(^|\\s)"+J+"($|\\s)");
var D;
for(var F=E.length-1;
F>=0;
F--){D=E[F].getAttribute(H);
if(D&&(!J||G.test(D))){C[C.length]=E[F]
}}return C.reverse()
}var ClassName={add:function(B,A){if(!this.contains(B,A)){B.className+=B.className?(" "+A):A
}},remove:function(B,A){if(B.className){B.className=B.className.replace(new RegExp("(^|\\s)"+A+"(\\s|$)","g")," ")
}},contains:function(B,A){return new RegExp("(^|\\s)"+A+"(\\s|$)").test(B.className)
},swap:function(C,A,B){C.className=this.contains(C,A)?C.className.replace(new RegExp("(^|\\s)"+A+"(\\s|$)","g"),"$1"+B+"$2"):C.className.replace(new RegExp("(^|\\s)"+B+"(\\s|$)","g"),"$1"+A+"$2")
},toggle:function(B,A){if(!this.contains(B,A)){this.add(B,A)
}else{this.remove(B,A)
}}};
var Class={extend:function(C,D,B){var A=function(){C.apply(this,arguments);
D.apply(this,arguments)
};
this.implement(A,C.prototype);
if(B){this.implement(A,B)
}return A
},implement:function(A,C){for(var B in C){A.prototype[B]=C[B]
}}};
var LinkListener={init:function(){this.relations=[];
EventListener.addEvent(document,"click",this.scope(this.handleClicks))
},addRelation:function(A,B){if(!this.relations){this.init()
}this.relations.push({type:A,handler:B})
},handleClicks:function(D){if(D.shiftKey||D.ctrlKey||D.altKey){return 
}var C=EventListener.getTarget(D,"a");
var A=C?C.getAttribute("rel"):null;
var B=A?this.searchHandler(A):null;
if(B&&B(C,A)){EventListener.cancelEvent(D)
}},searchHandler:function(A){for(var C,B=0;
B<this.relations.length;
B++){C=this.relations[B];
if(C.type.test(A)){return C.handler
}}},scope:function(B){var A=this;
return function(){return B.apply(A,arguments)
}
}};
LinkListener.addRelation(/popup$/,function(C,A){var B=window.open(C.getAttribute("href"),"NuonPopup","width=475,height=570,resizable=0,scrollbars=0");
if(!B){return false
}if(B.focus){B.focus()
}return true
});
var FormElementHelper={init:function(){var B=document.getElementsByTagName("INPUT"),A=document.getElementsByTagName("TEXTAREA");
for(var C=0;
C<B.length;
C++){if((B[C].type=="text"||B[C].type=="password")&&B[C].title!=""){FormElementHelper.handleInputTitles(B[C])
}}for(var C=0;
C<A.length;
C++){if(A[C].title!=""){FormElementHelper.handleTextareaTitles(A[C])
}}},handleInputTitles:function(A){if(!A.value||A.value==""){A.value=A.title
}EventListener.addEvent(A,"focus",function(){if(this.value==this.title){this.value=""
}ClassName.add(this,"focus")
});
EventListener.addEvent(A,"blur",function(B){if(this.value==""){this.value=this.title
}})
},handleTextareaTitles:function(A){if(!A.value||A.value==""){A.innerHTML=A.title
}EventListener.addEvent(A,"focus",function(){if(this.innerHTML==this.title){this.innerHTML="";
this.value=""
}ClassName.add(this,"focus")
});
EventListener.addEvent(A,"blur",function(B){if(this.value==""||this.value==null){this.innerHTML=this.value=this.title
}})
}};
EventListener.addEvent(window,"load",FormElementHelper.init);
function compareForms(){var C=false;
for(var B,A=0;
A<document.forms.length;
A++){B=document.forms[A];
if(ClassName.contains(B,"form-compare")){C=true;
EventListener.addEvent(B,"submit",this.scope(this.handleSubmit))
}}if(C){this.dialog=new FormDialog(document.getElementById("dialog-compare"))
}}compareForms.prototype={handleSubmit:function(B){var A=EventListener.getTarget(B,"form");
if(!this.validate(A)){this.dialog.toggle(true);
EventListener.cancelEvent(B)
}},validate:function(D){for(var A,C=0,B=0;
B<D.elements.length;
B++){A=D.elements[B];
if(A.type=="checkbox"&&A.checked==true){C++
}}if(C>=2&&C<=3){return true
}return false
},scope:function(B){var A=this;
return function(){return B.apply(A,arguments)
}
}};
EventListener.addEvent(window,"load",function(A){new compareForms()
});
var selectAll={init:function(){for(var C=0;
C<document.forms.length;
C++){var B=document.forms[C].elements["select-all-products"];
if(B){var E=document.forms[C];
E.masters=new Array();
for(var D=0;
D<B.length;
D++){EventListener.addEvent(B[D],"click",this.toggleAll,this);
E.masters[E.masters.length]=B[D]
}var A=document.forms[C].getElementsByTagName("ul")[0].getElementsByTagName("input");
E.slaves=new Array();
for(var D=0;
D<A.length;
D++){if(A[D].type=="checkbox"){EventListener.addEvent(A[D],"click",this.toggleMasters,this);
E.slaves[E.slaves.length]=A[D]
}}}}},toggleAll:function(F){var E=EventListener.getTarget(F,"input");
var C=E.checked;
var D=E.form;
for(var A in D.masters){D.masters[A].checked=C;
if(D.masters[A].DC){D.masters[A].DC.updateGUI()
}}for(var B in D.slaves){D.slaves[B].checked=C;
if(D.slaves[B].DC){D.slaves[B].DC.updateGUI()
}}},toggleMasters:function(E){var D=EventListener.getTarget(E,"input");
var C=D.form;
for(var B in C.slaves){if(C.slaves[B].checked==false){for(var A in C.masters){C.masters[A].checked=false;
if(C.masters[A].DC){C.masters[A].DC.updateGUI()
}}return 
}}for(var A in C.masters){C.masters[A].checked=true;
if(C.masters[A].DC){C.masters[A].DC.updateGUI()
}}}};
EventListener.addEvent(window,"load",function(A){selectAll.init()
});
function CostCalculator(A){this.container=A;
this.form=A.getElementsByTagName("form")[0];
var B=this;
this.form.onsubmit=function(C){return B.submit(C)
}
}CostCalculator.prototype={submit:function(E){var D="xml=true";
var C=this.container.getElementsByTagName("select");
for(var B=0;
B<C.length;
B++){D+="&"+C[B].name+"="+C[B].value
}var A=this;
XMLHttp.sendAndLoad(D,this.form.action,function(F){A.displayValues(F)
});
return false
},displayValues:function(A){var C=A.getElementsByTagName("usage-electricity")[0].firstChild.nodeValue;
var B=A.getElementsByTagName("usage-gas")[0].firstChild.nodeValue;
document.getElementById("usage-electricity").value=C;
document.getElementById("usage-gas").value=B
}};
EventListener.addEvent(window,"load",function(){var A=document.getElementById("costcalculator");
if(A){new CostCalculator(A)
}});
var Utils={getParentByNodeName:function(A,D){var C=A.parentNode;
var B=new RegExp("^"+D+"$","i");
while(C){if(B.test(C.nodeName)){return C
}C=C.parentNode
}return null
},calculateLeft:function(A,C){var B=0;
while(A&&(!C||A!=C)){B+=A.offsetLeft;
A=A.offsetParent
}return B
},calculateTop:function(A,C){var B=0;
while(A&&(!C||A!=C)){B+=A.offsetTop;
A=A.offsetParent
}return B
},setCookie:function(C,D,A){var B=new Date();
B.setTime(B.getTime()+(this.expires*24*3600*1000));
document.cookie=C+"="+escape(D)+(A?"; expires="+B:"")
},getCookie:function(A){try{var B=new RegExp(A+"=([^;$]+)","i");
return B.exec(document.cookie)[1]
}catch(C){return null
}},setSelectValue:function(A,D){var B=A.options;
for(var C=0;
C<B.length;
C++){if(B[C].value==D){A.selectedIndex=C;
try{A.DC.updateGUI()
}catch(E){}break
}}}};
var w=null;
function log(A){if(!w){w=window.open()
}w.document.write(A+"<br />")
}var DOMContent={init:function(){this.handlers=[];
var onload=function(){DOMContent.onload()
};
try{window.addEventListener("load",onload,false);
document.addEventListener("DOMContentLoaded",onload,false)
}catch(e){window.attachEvent("onload",onload);
/*@cc_on @*/
/*@if (@_win32)
				document.write('<script id="_ie_onload" defer src="javascript:void(0);"><\/script>');
				var script = document.getElementById('_ie_onload');
				script.onreadystatechange = function() {
					if(this.readyState == "complete") onload();
				};
			/*@end @*/
}if(/webkit/i.test(navigator.userAgent)){this.timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){onload()
}},10)
}},onload:function(){clearInterval(this.timer);
if(!document.getElementsByTagName("body")[0]){return 
}for(var B,A=0;
A<this.handlers.length;
A++){try{B=this.handlers[A];
if(!B.executed){B.executed=true;
B()
}}catch(C){B.executed=false
}}},addListener:function(A){if(!this.handlers){this.init()
}this.handlers[this.handlers.length]=A
}};
function disableTownWarmth(){var B=document.getElementById("year-usage-gas");
var A=document.getElementById("year-usage-town-warmth");
if(B.checked){A.disabled=true
}else{A.disabled=false
}A.DC.setDisabledState(A,A.DC.GUI)
}function disableGas(){var B=document.getElementById("year-usage-gas");
var A=document.getElementById("year-usage-town-warmth");
if(A.checked){B.disabled=true
}else{B.disabled=false
}B.DC.setDisabledState(B,B.DC.GUI)
};
var _hbEC=0,_hbE=new Array;
function _hbEvent(B,A){A=_hbE[_hbEC++]=new Object();
A._N=B;
A._C=0;
return A
}var hbx=_hbEvent("pv");
hbx.vpc="HBX0200u";
hbx.gn="ehg-adversitement.hitbox.com";
hbx.acct="DM561111G2VD19EN3";
hbx.mlc="";
hbx.pndef="title";
hbx.ctdef="full";
hbx.lc="y";
hbx.lt="auto";
hbx.dlf="";
hbx.dft="y";
hbx.elf="energiebesparen.nl,nuon.com,nuon.local";
var hbxTitle="";
function makeStringHbxProof(A){var C="[\\s!\"#$%&'*/:;<>\\^|~]";
var B=new RegExp(C,"g");
return A.replace(B,"+")
};
EventListener.addEvent(window,"load",function(B){var A=new CostCalculator(document.getElementById("houseType"),document.getElementById("persons"),document.getElementById("price1"),"houseType","persons",document.getElementById("selectedProduct"))
});
EventListener.addEvent(window,"load",function(B){var A=new CostCalculator(document.getElementById("electricityConsumption"),document.getElementById("gasConsumption"),document.getElementById("price2"),"electricityConsumption","gasConsumption",document.getElementById("selectedProduct"))
});
var app;
CostCalculator=function(A,G,D,B,F,C){if(!A||!G||!D||!B||!F||!C){return 
}this.field1=A;
this.field2=G;
this.price=D;
this.field1Name=B;
this.field2Name=F;
this.selectedProduct=C;
this.field1.onchange=this.scope(this.getPrice);
this.field2.onchange=this.scope(this.getPrice);
if(window.XMLHttpRequest){this.xmlhttp=new XMLHttpRequest()
}else{if(window.ActiveXObject){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
}catch(E){this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}}}this.getPrice()
};
CostCalculator.prototype.readstateChange=function(){if(this.xmlhttp.readyState==4&&this.xmlhttp.status==200){this.fillPrice(this.xmlhttp.responseXML)
}};
CostCalculator.prototype.getPrice=function(){try{this.xmlhttp.open("GET",window.location.protocol+"//"+window.location.host+"/system/productresponder.jsp?"+this.field1Name+"="+this.field1.value+"&"+this.field2Name+"="+this.field2.value+"&selectedProducts="+this.selectedProduct.value,true);
this.resetPrice();
this.xmlhttp.onreadystatechange=this.scope(this.readstateChange);
this.xmlhttp.send(null)
}catch(A){alert(A)
}};
CostCalculator.prototype.fillPrice=function(C){if(C!=null){var E=C.getElementsByTagName("label");
var D=C.getElementsByTagName("price");
if((E!=null)&&(D!=null)&&(E.length>0)&&(D.length>0)){var B=E[0];
var A=D[0];
if((B!=null)&&(A!=null)){this.setPrice(this.getValue(B),this.getValue(A))
}else{this.setMessage("Uw maandlasten kunnen niet berekend worden.")
}}else{this.setMessage("Uw maandlasten kunnen niet berekend worden.")
}}else{this.setMessage("Algemene foutmelding: geen geldige XML gevonden. Geen response")
}};
CostCalculator.prototype.resetPrice=function(){this.price.innerHTML='<p class="price"><em>Uw maandlasten worden bepaald.</em></p>'
};
CostCalculator.prototype.setMessage=function(A){this.price.innerHTML='<p class="price"><em>'+A+"</em></p>"
};
CostCalculator.prototype.setPrice=function(A,B){this.price.innerHTML='<p class="price">'+A+"&nbsp;<strong>"+B+"</strong></p>"
};
CostCalculator.prototype.getValue=function(A){var B=(A.firstChild)?A.firstChild.nodeValue:A.nodeValue;
B=B.replace(/^\s+/g,"");
B=B.replace(/\s+$/g,"");
return B
};
CostCalculator.prototype.scope=function(B){var A=this;
return function(){return B.apply(A,arguments)
}
};
function showKTO(){var B=Utils.getCookie("ktocookie");
if(!B){var D=Math.round(100*Math.random());
if(D<50){var A="dialog-popup-kto";
var E=A?LinkListener.searchHandler(A):null;
if(E){E(document.getElementById("h1container"),A)
}var C=new Date();
C.setTime(C.getTime()+(60*24*3600*1000));
document.cookie="ktocookie=ktocookie; expires="+C
}}};
