(function(a){a(document).ajaxError(function(b,d,c){a.disableLoaders();a.addNumericFormatting();a.displayGeneralError("Der opstod en ukendt fejl.");});a.fn.ajaxResultHandler=function(b){if(b.Valid){if(b.NextAction&&b.NextAction!=""){document.location=unescape(b.NextAction);}if(b.Script&&b.Script!=""){eval(b.Script);}return this;}a.disableLoaders();a.addNumericFormatting();if(b.ModelErrors&&b.ModelErrors!=null){a(this).each(function(){var c=a(this).attr("name");if(b.ModelErrors.hasOwnProperty(c)){a(this).showError(b.ModelErrors[c]);}});}else{if(b.ErrorMessage&&b.ErrorMessage!=""){a(this).showError(b.ErrorMessage);}else{if(b.NextAction&&b.NextAction!=""){document.location=unescape(b.NextAction);return;}else{if(b.GeneralError!=""){a.displayGeneralError(b.GeneralError);}}}}};a.fn.attachGeneralSubmitLogic=function(b){var c=this;a(this).attachSubmitLogic(function(){a.generalSubmitLogic(c,b);});};a.generalSubmitLogic=function(b,c){a.removeNumericFormatting();var d=a(b).serialize();a(b).showThrobber();a.post(c,{form:d},function(e){a("input, select",b).ajaxResultHandler(e);},"json");};a.fn.attachSubmitLogic=function(b){var c=a(this);a(this).each(function(){var d=a("[name='submit']",this);a(this).submit(function(){d.click();return false;});d.click(function(){b(c);return false;});});return this;};a.fn.attachClickRedirect=function(b){if(!b){return this;}this.click(function(){window.location.href=b;});return this;};a.fn.attachClickAction=function(b){if(!b){return this;}this.click(function(){a(this).parent().showThrobber();a.post(b,"",function(c){a("input, select",a(this).parent()).ajaxResultHandler(c);},"json");return false;});return this;};a.fn.showError=function(e){var d=a(this).get(0),c=d==null?"":d.id,b=a("label[for='"+c+"'][generated='true']");if(b.size()!=1){b=a("<label />").attr({"for":c,"generated":true}).addClass("error").html(e||"").insertAfter(d);}b.show();a(d).addClass("haserror").focus().select();};a.disableLoaders=function(){a.hideThrobber();a.toggleCalculatingDialog(false);};a.hideThrobber=function(){a.throbberHide();};a.fn.showThrobber=function(){a(this).each(function(){a.throbberShow({ajax:false,image:"/content/loading_icon.gif",parent:a(this)});});return this;};a.fn.hideErrors=function(){a(this).removeClass("haserror");a.generatedErrorsSelector().hide();return this;};a.generatedErrorsSelector=function(){return a("label[generated='true'][class='error']");};a.fn.disable=function(){a(this).attr("disabled","disabled");return this;};a.fn.reenable=function(){a(this).removeAttr("disabled");return this;};a.toggleCalculatingDialog=function(b){var d=a("#loadingdlg");if(!b){var c=d.overlay();if(typeof(c.close)!=typeof(undefined)){c.close();}}else{d.overlay({top:100,expose:{color:"#000",loadSpeed:0,opacity:0.5},closeOnClick:false,closeOnEsc:false,api:true}).load();}};a.displayGeneralError=function(b){var c=a("#warningdlg");a("span.msg",c).html(b);c.focus().overlay({top:100,expose:{color:"#000",loadSpeed:0,opacity:0.5},closeOnClick:false,api:true}).load();};a.removeNumericFormatting=function(){a.getFormattedInputSelector().each(function(){a(this).val(a(this).autoformatStrip());});};a.addNumericFormatting=function(){a.getFormattedInputSelector().each(function(){a(this).val(a(this).autoformatAdd());});};a.getFormattedInputSelector=function(){return a("input[class*='autoformatted']");};})(jQuery);
(function(f){f.fn.autoformat=function(){f(this).val(i(c(f(this).val())));return f(this).each(function(){var n="",l,m,j=0,k=-1;f(this).change(function(){f(this).val(i(c(f(this).val())));}).keydown(function(o){if(!o){o=window.event;}if(o.keyCode){n=o.keyCode;}else{if(o.which){n=o.which;}}var p=a(this);l=p.caretPos;m=p.selectLength;j=g(this.value,0,l);if(n==8&&m==0&&l>0&&l<this.value.length&&this.value.charAt(l-1)=="."){if(o.preventDefault){o.preventDefault();}else{o.returnValue=false;}this.value=this.value.substr(0,l-2)+this.value.substr(l-1);k=h(this.value,j-1);e(this,k);}if(n==46&&m==0&&l>0&&l<this.value.length&&this.value.charAt(l)=="."){if(o.preventDefault){o.preventDefault();}else{o.returnValue=false;}this.value=this.value.substr(0,l+1)+this.value.substr(l+2);k=h(this.value,j);e(this,k);}}).keypress(function(r){var s="",o="0123456789",q=f(this);if(r.keyCode){s=r.keyCode;}else{if(r.which){s=r.which;}}var p=String.fromCharCode(s);if((r.ctrlKey)&&(n==67||n==86||n==88)){return;}if(n==8||n==9||n==13||n==35||n==36||n==37||n==39||n==46){return;}if(p==","&&q.hasClass("float")){if(q.val().indexOf(",")>-1){if(r.preventDefault){r.preventDefault();}else{r.returnValue=false;}}}else{if(p=="-"&&q.hasClass("allowNegative")){if(a(this).caretPos!=0||q.val().indexOf("-")>-1){if(r.preventDefault){r.preventDefault();}else{r.returnValue=false;}}}else{if(o.indexOf(p)==-1){if(r.preventDefault){r.preventDefault();}else{r.returnValue=false;}}}}}).keyup(function(s){var o=a(this),p=this.value,q=i(c(p)),r=0;if(q!=p){f(this).val(q);}else{return;}r=g(p,0,o.caretPos);setCaret=h(this.value,r);e(this,setCaret);}).blur(function(t){var o=c(this.value),r=b(o),p="",u="",q="",v="";if(r==-1){return;}p=q=o.substr(0,r);u=v=o.substr(r);if(p==""){q=0;}if(u!=""){if(u.length>3){v=(Math.round(v*100)/100)+"";var s=v.substr(0,1);if(s=="1"){q=q*1+1+"";}else{v=v.substr(1);}}if(v.substr(1)==0){v="";}else{if(v.length>2&&v.substr(2)==0){v=v.substr(0,2);}}}if(v===u&&q===p){return;}f(this).val(i(q+v));});});};f.fn.autoformatStrip=function(){return c(f(this).val());};f.fn.autoformatAdd=function(){return i(c(f(this).val()));};function e(k,l){k.focus();if(document.selection){var j=k.createTextRange();j.collapse(true);j.moveStart("character",l);j.moveEnd("character",0);j.select();}else{if(k.selectionStart||k.selectionStart=="0"){k.selectionStart=l;k.selectionEnd=l;}}}function a(k){var j=new Object();if(document.selection){k.focus();var l=document.selection.createRange();j.selectLength=document.selection.createRange().text.length;l.moveStart("character",-k.value.length);j.caretPos=(l.text.length-j.selectLength)*1;}else{if(k.selectionStart||k.selectionStart=="0"){j.selectLength=k.selectionEnd*1-k.selectionStart*1;j.caretPos=k.selectionStart*1;}}return j;}function g(o,n,k){var p="",l=0,m;for(m=n;m<k;m++){p=o.charAt(m);if(p>="0"&&p<="9"||p==","){l++;}}return l;}function h(l,k){var n=0,j="",m;for(m=0;m<l.length;m++){if(n==k){return m;}j=l.charAt(m);if(j>="0"&&j<="9"||j==","){n++;}}return l.length;}function c(k){var j="";for(var l=0;l<k.length;l++){if(d(k.charAt(l))||k.charAt(l)=="-"){j+=k.charAt(l);}else{if(k.charAt(l)==","){j+=".";}else{continue;}}}return j;}function d(j){return(j>="0"&&j<="9");}function i(l){var p=b(l),m="",o="",n=0,j="";if(p==-1){m=l;o="";}else{m=l.substr(0,p);o=l.substr(p);}for(var k=m.length-1;k>=0;k--){if(n>0&&n%3==0){j="."+j;}j=m.charAt(k)+j;n++;}if(m.length>=2&&j.substr(0,2)=="-."){j="-"+j.substr(2);}if(o!=""){return j+o.replace(".",",");}else{return j;}}function b(j){for(var k=0;k<j.length;k++){if(j.charAt(k)=="."){return k;}}return -1;}})(jQuery);
(function(a){a(document).ready(function(){a("div.expandable h4").click(function(){a(this).parent().toggle_collapsable();});a("img[chart]").setupAsyncChartLoading();});a.fn.setupAsyncChartLoading=function(){a(this).each(function(){var b=this;a.setupAjaxImageLoadCycle(b);});return this;};a.setupAjaxImageLoadCycle=function(b){var c=a(b).attr("chart");a.ajax({url:"/resources/ready/"+c,type:"POST",dataType:"json",global:false,success:function(d){if(d==true){a(b).attr("src","/resources/chart/"+c);}else{setTimeout(function(){a.setupAjaxImageLoadCycle(b);},250);}},error:function(d,f,e){a(b).attr("src","");}});};a.setupCashflowTableToggle=function(){a("tr.annualcashflow").click(function(){var b=a(this).attr("rel");a("tr.monthlycashflow[rel='"+b+"']").show();a("tr.annualcashflow[rel='"+b+"']").hide();});a("tr.monthlycashflow").click(function(){var b=a(this).attr("rel");a("tr.monthlycashflow[rel='"+b+"']").hide();a("tr.annualcashflow[rel='"+b+"']").show();});a("#toggleall").click(function(){a("tr.monthlycashflow").show();a("tr.annualcashflow").hide();return false;});a("#toggleyear").click(function(){a("tr.monthlycashflow").hide();a("tr.annualcashflow").show();return false;});};a.setupToggleCustomizedAlternatives=function(){a("input[name='std']").click(function(){if(a("input[name='std']:checked").val()=="true"){a("#custalt").show();}else{a("#custalt").hide();a("div.tooltip").remove();}});};a.setupTogglePbsMode=function(){a("input[name='pbs']").click(function(){if(a("input[name='pbs']:checked").val()=="false"){a("#useremaining").hide();a("#usepbs").show();}else{a("#usepbs").hide();a("#useremaining").show();}});};a.fn.toggle_collapsable=function(){if(this.hasClass("collapsed")){this.children("div").slideDown("slow");this.removeClass("collapsed");}else{this.children("div").slideUp("slow");this.addClass("collapsed");}};a.fn.setupToggleRadios=function(){function b(c){var e=a(c).attr("name"),d=a("input[type='radio'][name='"+e+"']:checked").val();a("div[for='"+e+"']").hide().filter("[rel='"+d+"']").show();}this.click(function(){b(this);});this.each(function(){if(a(this).is(":checked")){b(this);}});return this;};a.fn.setupToggleCheckboxes=function(){function b(c){var e=a(c).attr("name"),d=a(c).is(":checked");if(d){a("div[for='"+e+"']").show();}else{a("div[for='"+e+"']").hide();}}this.click(function(){b(this);});this.each(function(){b(this);});return this;};a.fn.setupGeneralToggle=function(){function c(d){return a("[trigger='"+d+"']");}function b(e){var d=a(e).attr("name");c(d).each(function(){var f=a(this).attr("rel");if(f=="collapsed"){a(this).show().attr("rel","expanded");}else{a(this).hide().attr("rel","collapsed");}});}this.click(function(){b(this);});this.each(function(){var d=a(this).attr("name");c(d).each(function(){var e=a(this).attr("rel");if(e=="collapsed"){a(this).hide();}else{a(this).show();}});});return this;};a.fn.makeDisplayLink=function(){a(this).click(function(d){var f=a("#linkdlg"),c=a("#directlnk",f),b=a("#linkdlg_spinner");alternativId=0;if(c.size()==0){c=a("<input />").attr({"id":"directlnk","type":"text","generated":true});}f.overlay({top:100,expose:{color:"#000",loadSpeed:0,opacity:0.5},closeOnClick:false,api:true,onLoad:function(){c.focus().select();}}).load();if(c.is(":visible")){return false;}if(window.location.href.indexOf("/alternativ")>=0){alternativId=window.location.href.substr(window.location.href.length-1);}a.ajax({url:"/ajax/permalink/"+alternativId,type:"POST",dataType:"json",global:false,success:function(e){a("[generated='true']",f).remove();b.hide();c.val("http://"+window.location.host+e.Data).insertAfter(b).focus().select();},error:function(e,h,g){a("[generated='true']",f).remove();b.hide();a("<span />").attr("generated",true).html("Fejl: Linket kunne ikke hentes. Pr&oslash;v venligst igen.").addClass("error").insertAfter(b);}});return false;});return this;};a.setupCostToggle=function(){a("img.collapsablecost, span.collapsablecost").setupGeneralToggle();a("tr.expandedcost").hide();};})(jQuery);
var $=jQuery;function input(b,a){return $("input[rel='"+b+"'][name='"+a+"']");}function select(b,a){return $("select[rel='"+b+"'][name='"+a+"']");}function named_input(a,b){return $("input[name='"+a+"']",b);}(function(a){a.fn.attachAssumptionLogic=function(){var b=this;b.attachSubmitLogic(a.submitAssumptionForm);a("input[type='text']",b).change(function(){b.validateAssumptions();});a("input[type='checkbox'], input[type='radio']").click(function(){b.validateAssumptions();});return b;};a.fn.attachPbsLogic=function(){var b=a(this);b.attachSubmitLogic(a.fn.submitPbsForm);a("div.loanblock",b).attachBasicLoanEditor();a("div.pbsloaneditor",b).attachGenericValidation();a("div.restloaneditor",b).attachGenericValidation();a("div.remainingloaneditor",b).attachGenericValidation();a("input[name='pbsafdrag']",b).blur(function(){a(this).getFormParent().validateLoanForm();});return b;};a.fn.attachBasicLogic=function(){a(this).attachSubmitLogic(a.fn.submitBasicForm);a("div.loanblock",this).attachBasicLoanEditor();return this;};a.submitAssumptionForm=function(c){var b=a(c).validateAssumptions();dataRequest=null;if(b!=true){return false;}dataRequest=a(c).createAssumptionDataObject();a(c).showThrobber();a.ajax({async:true,url:"/ajax/assumptions",type:"POST",data:a.toJSON(dataRequest),contentType:"application/json; charset=utf-8",dataType:"json",success:function(d){a("input",c).ajaxResultHandler(d);}});};a.fn.submitBasicForm=function(d){var b=a("#stdtrue",d).is(":checked"),g=null,c=null,e=a("input, select",d);if(b==false){var f=a(d).validateAlternatives();if(f!=true){return false;}g=a("div.loanblock",d).createBasicDataObjectArray();}c={loans:g,usedefault:b};e.hideErrors();e.disable();a.toggleCalculatingDialog(true);a.ajax({async:true,url:"/ajax/alternatives",type:"POST",data:a.toJSON(c),contentType:"application/json; charset=utf-8",dataType:"json",success:function(h){if(!h.Valid){a.toggleCalculatingDialog(false);if(h.Data!=null){loanname=h.Data.toString();a("div.loanblock[rel='"+loanname+"'] input, div.loanblock[rel='"+loanname+"'] select").ajaxResultHandler(h);}else{a.submitBasicHandleResult(h,e);}return;}else{a.submitBasicHandleResult(h,e);}}});};a.submitBasicHandleResult=function(b,c){c.reenable();c.ajaxResultHandler(b);a.toggleCalculatingDialog(false);};a.fn.createAssumptionDataObject=function(){return({omlaeg:named_input("mode").filter(":checked").val()=="omlaeg",laanebehov:named_input("laanebehov",this).autoformatStrip(),kontantudbetaling:named_input("kontantudbetaling",this).autoformatStrip(),medtagejendomsvaerdi:named_input("usepropertyvalue").is(":checked"),ejendomspris:named_input("ejendomspris",this).autoformatStrip(),ejendomskategori:named_input("kategori",this).filter(":checked").val()});};a.fn.createBasicDataObjectArray=function(){var b=[],c=0;a(this).each(function(){b[c]=a(this).createBasicDataObject();c++;});return b;};a.fn.createPbsDataObject=function(){var c=a(this).attr("rel"),b={loanname:c,restgaeld:input(c,"pbsrestgaeld").autoformatStrip(),ydelsestart:input(c,"pbsydelsestart").val(),ydelsestop:input(c,"pbsydelseslut").val(),restaar:input(c,"pbsrestaar").val(),restmdr:input(c,"pbsrestmdr").val(),rente:input(c,"pbsrente").autoformatStrip(),afdrag:input(c,"pbsafdrag").autoformatStrip(),bidrag:input(c,"pbsbidrag").autoformatStrip(),bidragssats:input(c,"bidragssats").autoformatStrip(),betalingsfrekvens:select(c,"pbsfrekvens").val(),kontantlaansrente:input(c,"kontantlaansrente").val(),ispbs:a("#pbstrue").is(":checked")};return b;};a.fn.createBasicDataObject=function(){var c=a(this).attr("rel"),b={loanname:c,cashloan:input(c,"chkkontant").is(":checked"),loebetidaar:input(c,"loebetidaar").val(),loebetidmdr:input(c,"loebetidmdr").val(),afdragsfrihed:input(c,"chkafdragsfrihed").is(":checked"),afdragsfrihedaar:input(c,"afdragsfrihedaar").val()};return b;};a.fn.submitPbsForm=function(d){var b,f,g,e,c;b=d.validateOldLoans();if(b!=true){return false;}a(d).showThrobber();f=a("div.loanblock",d);g=f.createBasicDataObject();e=a("div.pbsloaneditor",d).createPbsDataObject();c={loan:g,pbs:e};a.ajax({async:true,url:"/ajax/pbs",type:"POST",data:a.toJSON(c),contentType:"application/json; charset=utf-8",dataType:"json",success:function(h){if(!h.Valid&&h.Data!=null&&a.trim(h.Data.toString())!=""){a.hideThrobber();var i=h.Data.toString();a("div.loanblock[rel='"+i+"'] input, div.loanblock[rel='"+i+"'] select").ajaxResultHandler(h);return;}else{f.ajaxResultHandler(h);}}});};a.fn.attachBasicLoanEditor=function(){this.each(function(c){var b=a(this);a("select[name='ddlloantype']",this).change(function(){a(this).submitBasicDdlChanged("/ajax/loantype","type");});a("select[name='ddlproductid']",this).change(function(){a(this).submitBasicDdlChanged("/ajax/product","productid");});a("select[name='ddlproductcategory']",this).change(function(){a(this).submitBasicDdlChanged("/ajax/productcategory","productcategory");});a("input[type='text']",this).change(function(){b.getFormParent().validateLoanForm();});a("input[type='radio'], input[type='checkbox']").click(function(){b.getFormParent().validateLoanForm();});a("#chkkontant").change(function(){if(a(this).attr("checked")){a("#kontantlaansrente").removeAttr("disabled");}else{a("#kontantlaansrente").attr("disabled",true);}});});return this;};a.fn.submitBasicDdlChanged=function(f,h){var c=a(this),g=c.attr("rel"),e=c.val(),d=a("select[rel='"+g+"'], input[rel='"+g+"']"),b=new Object();d.disable();c.parent().showThrobber();b.loanname=g;b[h]=e;a.post(f,b,function(i){c.submitBasicDdlHandleData(i,d,g);},"json");};a.fn.submitBasicDdlHandleData=function(c,b,d){b.reenable();if(!c.Valid){alert(c.GeneralError);}else{a.parseFormData(c.Data,d);}a(this).getFormParent().validateLoanForm();a.hideThrobber();};a.parseFormData=function(b,c){var d="",e=0;if(b.Products!=null){for(e=0;e<b.Products.length;e++){d+='<option value="'+b.Products[e]+'">'+b.Products[e]+"</option>";}select(c,"ddlproductid").html(d);}d="";if(b.ProductCategories!=null){for(e=0;e<b.ProductCategories.length;e++){if(b.ProductCategories[e]==b.SenesteProduktKategori){d+='<option value="'+b.ProductCategories[e]+'" selected>'+b.ProductCategories[e]+"</option>";}else{d+='<option value="'+b.ProductCategories[e]+'">'+b.ProductCategories[e]+"</option>";}}select(c,"ddlproductcategory").html(d);}input(c,"afdragsfrihedaar").attr("disabled",!b.TilladAfdragsfrihed);input(c,"afdragsfrihedaar").attr("min",b.Afdragsfrihed.Minimum);input(c,"afdragsfrihedaar").attr("max",b.Afdragsfrihed.Maximum);input(c,"loebetidaar").attr("min",b.Loebetid.Minimum);input(c,"loebetidaar").attr("max",b.Loebetid.Maximum);input(c,"pbsrestaar").attr("opendate",b.OpenDate);input(c,"pbsrestaar").attr("closingdate",b.ClosingDate);if(!b.TilladKontantLaan){input(c,"chkkontant").attr("checked",false);}if(!b.TilladOblLaan){input(c,"chkkontant").attr("checked",true);}input(c,"chkkontant").attr("disabled",((!b.TilladKontantLaan)||(!b.TilladOblLaan)));input(c,"kontantlaansrente").attr("disabled",!input(c,"chkkontant").is(":checked"));};})(jQuery);
(function(e){e.fn.attachTooltips=function(){e(this).each(function(g){var i=e(this),f=i.attr("ttc"),j=typeof(f)==typeof(undefined)?false:true,h="";if(i.hasClass("ignoretooltip")){return;}if(j==true){i.attachFixedBlockTooltip(g,f);}else{if(this.tagName=="TH"||this.tagName=="TD"){i.attachTableTooltip(g);}else{if(this.tagName=="LABEL"){i.attachBlockTooltip(g);}else{if(this.tagName=="DIV"){i.attachFixedBlockTooltip(g);}else{h=i.attr("title");}}}}i.attr("title",h);if(h==""){i.addClass("tooltipped");}});return this;};e.fn.attachTableTooltip=function(f){var g=e(this),h=g.attr("title");g.click(function(){var i=g.parent(),l=i.attr("trigger"),k=i.children("td, th").size(),m=i.parent(),j=m.children("tr.tooltiprow[tooltipfor='"+f+"']");if(j.size()>0){j.hideTooltip();}else{i.after(c(f,k,h,l,g.html()).showTooltip());}});return this;};e.fn.attachBlockTooltip=function(f){var g=e(this),h=g.attr("title");g.click(function(){var j=g.parent(),i=j.children("div.tooltip[tooltipfor='"+f+"']");if(i.size()>0){i.hideTooltip();}else{j.append(b(f,h,g.html()).showTooltip());}});return this;};e.fn.attachFixedBlockTooltip=function(g,h){var i=e(this),f=i.attr("title");if(h==null){h="#tooltipcontainer";}i.click(function(){var l=e(h),j=l.children("div.tooltip"),k="";if(j.size()>0){k=j.attr("tooltipfor");j.hideTooltip(true);}if(k!=g){l.append(b(g,f,i.html()).showTooltip());i.addClass("activetooltip");}});return this;};e.fn.hideTooltip=function(f){e(this).each(function(){var g=e(this);if(f){g.remove();}else{g.fadeOut("slow",function(){g.remove();});}});e(".activetooltip").removeClass("activetooltip");return this;};e.fn.showTooltip=function(){var f=e(this);f.fadeIn("slow");return this;};function c(j,i,g,h,k){var f=e("<tr>").attr("display","none").attr("tooltipfor",j).addClass("tooltiprow");if(typeof(h)!=typeof(undefined)){f.attr("trigger",h);}f.append(e("<td>").addClass("tooltipcell").attr("colspan",i).append(b(j,g,k)));return f;}function a(f){var h=e(f),i=h.parent(),j=i.parent(),g=j.parent();if(h.hasClass("tooltip")){i=h;g=i.parent().parent();if(g.hasClass("tooltiprow")){g.hideTooltip();}else{h.hideTooltip();}}else{if(g.hasClass("tooltiprow")){g.hideTooltip();}else{i.hideTooltip();}}}function b(f,h,g){return e("<div>").addClass("tooltip").attr("tooltipfor",f).append(d(h,g)).append(e("<img>").addClass("close").attr("src","/spic/icons/information.png")).click(function(){a(this);});}function d(f,g){return e("<div>").addClass("text").append(e("<span>").addClass("fieldname").html(g)).append(e("<span>").html(f));}})(jQuery);
(function(e){e.validateMaturity=function(g){var f=input(g,"loebetidmdr").val(),j=input(g,"loebetidaar").val(),h=input(g,"loebetidaar").attr("min")*1,i=input(g,"loebetidaar").attr("max")*1;return e.validateGenericMaturity(f,j,h,i,"L&oslash;betid");};e.validatePbsMaturity=function(n){var h=input(n,"loebetidmdr").val()/1,l=input(n,"loebetidaar").val()/1,g=input(n,"pbsrestmdr").val(),f=input(n,"pbsrestaar").val(),o=c(input(n,"pbsrestaar").attr("openDate")),j=c(input(n,"pbsrestaar").attr("closingDate")),i,m,k;if(e("input[name='pbs']:checked").val()=="false"){k=c(input(n,"pbsydelsestart").val());}else{k=c(input(n,"pbsrestaar").attr("calcDate"));}i=l+(h/12)-k.getFullYear()-k.getMonth()/12;if(k<j){m=i+k.getFullYear()+k.getMonth()/12;}else{m=i+j.getFullYear()+j.getMonth()/12;}i+=o.getFullYear()+o.getMonth()/12;return e.validateRest(g,f,h,l,i,m);};e.validateTimeInput=function(f,g){if((!b(f))||((f%1)!=0)){return"M&aring;neder skal v&aelig;re et gyldigt heltal.";}if((!b(g))||((g%1)!=0)){return"&Aring;r skal v&aelig;re et gyldigt heltal.";}if(f<0||f>11){return"M&aring;neder skal v&aelig;re mellem 0 og 11.";}return true;};e.validateRest=function(k,i,o,l,r,q){var n=e.validateTimeInput(k,i);if(n!=true){return n;}var j=(i/1+(k/12)),f=Math.floor(r),h=Math.floor(q),p=Math.ceil((r-f)*12),g=Math.floor((q-h)*12);if(p==12){p=0;f+=1;}if(g==12){g=0;h+=1;}if(j<r||j>q){var m="Med den indtastede oprindelige l&oslash;betid p&aring; ";m+=l+" &aring;r";if(o>0){m+=" og "+o+" mdr.";}m+=", skal restl&oslash;betid v&aelig;re mellem "+f;if(p>0){m+=" &aring;r, "+p+" mdr.";}m+=" og "+h+" &aring;r";if(g>0){m+=", "+g+" mdr";}return m+".";}return true;};e.validateGenericMaturity=function(n,f,l,j,p){var k=e.validateTimeInput(n,f);if(k!=true){return k;}var g=(f/1+(n/12)),h=Math.floor(l),q=Math.floor(j),o=Math.ceil((l-h)*12),i=Math.floor((j-q)*12);if(g<=l||g>j){var m=p+" skal v&aelig;re mellem "+h;if(o>0){m+=" &aring;r, "+o+" mdr.";}m+=" og "+q+" &aring;r";if(i>0){m+=", "+i+" mdr";}return m+".";}return true;};e.validateInterestOnly=function(g){var h=input(g,"afdragsfrihedaar").val(),f=input(g,"afdragsfrihedaar").attr("disabled"),j=1*input(g,"afdragsfrihedaar").attr("min"),i=1*input(g,"afdragsfrihedaar").attr("max");if(f){return true;}if(input(g,"afdragsfrihedaar").parent().hasClass("disabled")){return true;}if((!b(h))||((h%1)!=0)){return"Afdragsfrihed skal v&aelig;re et gyldigt heltal.";}h=1*h;if(h>=j&&h<=i){return true;}else{return"Afdragsfrihed skal ligge mellem "+j+" og "+i+" &aring;r.";}};e.validateAmount=function(g,h,i){var f=input(g,h);return f.validateSimpleAmount(i);};e.fn.validateSimpleAmount=function(g){var f=e(this),h=f.val();if(h.length==0){return g+" skal v&aelig;re udfyldt.";}if(f.hasClass("autoformatted")){h=f.autoformatStrip()*1;}if(!b(h)){return g+" skal v&aelig;re et gyldigt tal.";}else{if(!f.hasClass("float")&&h%1!=0){return g+" skal v&aelig;re et gyldigt heltal.";}}if(h>1000000000){return g+" skal v&aelig;re mindre end 1 mia.";}if(!f.hasClass("allowNegative")&&h<0){return g+" skal v&aelig;re positivt.";}if(f.hasClass("strictlypositive")&&h<=0){return g+" skal v&aelig;re positivt.";}if(h<-1000000000){return g+" skal v&aelig;re st&oslash;rre end -1 mia.";}return true;};e.fn.le_loanvalidate=function(){e("span.error[generated=true]",this).remove();e(".errored").removeClass("errored");var f=e(this).attr("rel"),g=e.validateMaturity(f);if(g!=true){return e("input[name='loebetidaar'], input[name='loebetidmdr']",this).displayValidationResult(g);}g=e.validateInterestOnly(f);if(g!=true){return e("input[name='afdragsfrihedaar']",this).displayValidationResult(g);}return true;};e.fn.attachGenericValidation=function(){var f=e(this).attr("rel"),g=e(this);e("input[rel='"+f+"']",this).change(function(){g.getFormParent().validateLoanForm();});e("select[rel='"+f+"']",this).change(function(){g.getFormParent().validateLoanForm();});e("input[name='pbs']").change(function(){g.getFormParent().validateLoanForm();});};e.fn.le_restvalidate=function(){var g=e(this).attr("rel"),f;e("span.error[generated=true]",this).remove();e(".errored",this).removeClass("errored");f=e.validateAmount(g,"pbsrestgaeld","Restg&aelig;ld");if(f!=true){return input(g,"pbsrestgaeld").displayValidationResult(f);}f=e.validatePbsMaturity(g);if(f!=true){input(g,"pbsrestaar").displayValidationResult(f);return input(g,"pbsrestmdr").displayValidationResult(f);}return true;};e.fn.le_pbsvalidate=function(){var g=e(this),h=g.attr("rel"),p,l,o,i,f,q,n,j,k;e("span.error[generated=true]",g).remove();e(".errored",g).removeClass("errored");valRes=true;j=c(input(h,"pbsydelsestart").val());if(j=="Not a valid date"){valRes="Ydelsesperiode start er ikke en korrekt dato";return input(h,"pbsydelsestart").displayValidationResult(valRes);}k=c(input(h,"pbsydelseslut").val());if(k=="Not a valid date"){valRes="Ydelsesperiode slut er ikke en korrekt dato";return input(h,"pbsydelseslut").displayValidationResult(valRes);}if(j>=k){valRes="Ydelsesperiode start skal ligge f&oslash;r ydelsesperiode slut";}if(valRes!=true){return input(h,"pbsydelsestart").displayValidationResult(valRes);}j=d(j);k=d(k);p=input(h,"loebetidaar").val()/1;p=p*12+input(h,"loebetidmdr").val()/1;l=input(h,"pbsrestaar").val()/1;l=l*12+input(h,"pbsrestmdr").val()/1;if(p==l){valRes="Restl&oslash;betid skal v&aelig;re mindre end oprindelig l&oslash;betid";input(h,"pbsrestaar").displayValidationResult(valRes);return input(h,"pbsrestmdr").displayValidationResult(valRes);}o=(select(h,"pbsfrekvens").val()=="Kvartalsvis");i=2;if(o){i=5;}f=p-l-i;if(f>0){q=k.getMonth()-j.getMonth()+12*(k.getFullYear()-j.getFullYear());if(((q==3)&(!o))||((q==1)&(o))||((q!=1)&(q!=3))){valRes="Ydelsesperiode stemmer ikke overens med betalingsfrekvens";}if((o)&((j.getMonth()%3)!=0)){valRes="Ydelsesperiode start er ikke en korrekt betalingsdato";}if(j.getDate()!=1){valRes="Ydelsesperiode start er ikke en korrekt betalingsdato (1. i m&aring;neden)";}if(k.getDate()!=1){valRes="Ydelsesperiode slut er ikke en korrekt betalingsdato (1. i m&aring;neden)";}if(valRes!=true){input(h,"pbsydelsestart").displayValidationResult(valRes);return input(h,"pbsydelseslut").displayValidationResult(valRes);}}if((o)&((k.getMonth()%3)!=0)){valRes="Ydelsesperiode slut er ikke en betalingsdato";}if(valRes!=true){return input(h,"pbsydelseslut").displayValidationResult(valRes);}valRes=e.validateAmount(h,"pbsrente","Rente");if(valRes!=true){return input(h,"pbsrente").displayValidationResult(valRes);}valRes=e.validateAmount(h,"pbsafdrag","Afdrag");if(valRes!=true){return input(h,"pbsafdrag").displayValidationResult(valRes);}n=input(h,"afdragsfrihedaar").attr("disabled");if(n==false){var m=input(h,"afdragsfrihedaar").val();if((p-l)/12>m){n=true;}}if((input(h,"pbsafdrag").autoformatStrip()<=0)&(n==true)){if(input(h,"afdragsfrihedaar").attr("disabled")==true){valRes="Afdrag skal v&aelig;re positiv for dette produkt";}else{valRes="Afdrag skal v&aelig;re positiv, da afdragsfri periode er udl&oslash;bet";}}if((input(h,"pbsafdrag").autoformatStrip()>0)&(n==false)){valRes="Afdrag skal v&aelig;re 0, da vi er inden for den afdragsfrie periode";}if(valRes!=true){return input(h,"pbsafdrag").displayValidationResult(valRes);}valRes=e.validateAmount(h,"pbsbidrag","Bidrag");if(valRes!=true){return input(h,"pbsbidrag").displayValidationResult(valRes);}return true;};e.fn.le_remainingvalidate=function(){var g=e(this).attr("rel"),i=input(g,"bidragssats"),f;if(i.autoformatStrip()*1>i.attr("max")*1){return i.displayValidationResult("&Aring;rlig bidragssats m&aring; ikke v&aelig;re over "+i.attr("max")+"%");}e("span.error[generated=true]",this).remove();e(".errored",this).removeClass("errored");if(e("#kontantlaansrente").attr("disabled")==false){var h=input(g,"kontantlaansrente").autoformatStrip();f=true;if(!b(h)){f="Kontantl&aring;nsrente skal v&aelig;re et gyldigt tal.";}else{if((h<=0)||(h>20)){f="Kontantl&aring;nsrente skal v&aelig;re mellem 0 og 20%.";}}if(f!=true){return input(g,"kontantlaansrente").displayValidationResult(f);}}return true;};e.fn.validateSingleLoanBlock=function(){var j=e(this).attr("rel"),i;e("div.errors[rel='"+j+"']").html("");i=e(this).le_loanvalidate();if(j=="OldBond"){e("div.errors[rel='detailerror']").html("");var f=true,g=true,h=true;if(e("input[name='pbs']:checked").val()=="false"){g=e("div.pbsloaneditor").le_pbsvalidate();}else{h=e("div.remainingloaneditor").le_remainingvalidate();}f=e("div.restloaneditor").le_restvalidate();if(f!=true){return f;}if(g!=true){return g;}if(h!=true){return h;}if(i!=true){return i;}}return i;};e.fn.validateAllLoanBlocks=function(){var f=true;e(this).each(function(){var g=e(this).validateSingleLoanBlock();if(f==true){f=g;}});return f;};e.fn.validateAssumptions=function(){var f=named_input("mode",this).filter(":checked").val(),j=named_input("usepropertyvalue",this).is(":checked"),g=named_input("laanebehov",this),k=named_input("kontantudbetaling",this),h=named_input("ejendomspris",this),i="";if(f=="optag"){i=g.validateSimpleAmount("L&aring;nebehov");if(i!=true){return g.displayValidationResult(i);}}else{i=k.validateSimpleAmount("Kontant udbetaling");if(i!=true){return k.displayValidationResult(i);}}if(j){i=h.validateSimpleAmount("Ejendomsv&aelig;rdi");if(i!=true){return h.displayValidationResult(i);}}e(this).setFormValidated(true);return true;};e.fn.validateLoanForm=function(){if(this.find("div.pbsloanblock").size()>0){return this.validateOldLoans();}else{return this.validateAlternatives();}};e.fn.validateAlternatives=function(){var f=e("div.loanblock",this).validateAllLoanBlocks();if(f!=true){return f;}e(this).setFormValidated(true);return true;};e.fn.validateOldLoans=function(){var f=e("div.loanblock",this).validateSingleLoanBlock();if(f!=true){return f;}e(this).setFormValidated(true);return true;};e.fn.getFormParent=function(){return e(this).parents("form");};e.fn.getErrorMessageBlock=function(){return e(this).parents("div.loanblock, div.pbsloanblock, div.blockform").find("div.errors");};function a(){var f={};e("input[type='text'], select, input[type='checkbox']:checked, input[type='radio']:checked").each(function(){var g=e(this).attr("id");if(g==null||g.length==0){g=e(this).attr("name");}f[g]=e(this).val();});return e.toJSON(f);}e.fn.displayValidationResult=function(f){if(f==true){return f;}e(this).addClass("errored").getErrorMessageBlock().html(f).getFormParent().setFormValidated(false);e.ajax({url:"/ajax/registervalidationerror",type:"POST",async:true,global:false,data:e.toJSON(f+" "+a()),contentType:"application/json; charset=utf-8",dataType:"json",success:function(g){},error:function(g,i,h){}});return f;};e.fn.setFormValidated=function(f){if(f==true){e(this).removeClass("invalid").find("input[type='submit']").reenable().change();e("div.errors",this).html("");}else{e(this).addClass("invalid").find("input[type='submit']").disable().change();}};e.highlightError=function(g,f,i){var h=input(g,f);if(h.size()==0){h=select(g,f);}if(h.size()==0){e("div.errors").html(i).getFormParent().setFormValidated(false);}else{h.displayValidationResult(i,g);}};function b(f){return(f-0)==f&&(f+"").length>0;}function c(g){var f=new Date(g.substring(6,10),g.substring(3,5)*1-1,g.substring(0,2));if(f.getDate()!=g.substring(0,2)){f="Not a valid date";}else{if(f.getMonth()!=g.substring(3,5)*1-1){f="Not a valid date";}else{if(f.getFullYear()!=g.substring(6,10)){f="Not a valid date";}}}return f;}function d(h){var i=h.getDate(),f=h.getMonth(),g=h.getFullYear();if(i>25){h.setDate(1);if(f==11){h.setMonth(0);h.setYear(g+1);}else{h.setMonth(f+1);}}if(i<6){h.setDate(1);}return h;}})(jQuery);

