
function Formatter()
{}
Formatter.AddTousenders=function(input)
{input=new String(input);if(input=="0"||input.length<=3)
return input;var res="";while(input.length>3)
{var part=input.substr(input.length-3,3);res="'"+part;input=input.substr(0,input.length-3);}
res=input+res;return res;}
Formatter.RoundToStep=function(number,step,offset)
{var input=number;number=new Number(number);step=new Number(step);offset=new Number(offset);if(isNaN(offset))
{offset=0;}
if(isNaN(number)||isNaN(step))
{alert("Error occurid during round number");return;}
offset=offset%step;var part=(number-offset)%step;var result=0;if(step/2>part)
{result=number-part;}
else
{result=number-part+step;}
if(result<offset)
result=offset;return result;}
Formatter.FormatMoney=function(input,digitsAfterZero,addZeros)
{var product=input*Math.pow(10,digitsAfterZero);var rounded=Math.round(product);var res=rounded/Math.pow(10,digitsAfterZero);var splitted=new String(res).split(".");var part1=Formatter.AddTousenders(splitted[0]);if(splitted.length>1)
{var part2=splitted[1];for(var x=0;x+part2.length<digitsAfterZero&&addZeros;x++)
{part2+="0";}
if(addZeros)
{for(var x=part2.length;x<digitsAfterZero;x++)
{part2+="0";}}
return part1+"."+part2;}
if(addZeros)
{var zeros="";for(var x=0;x<digitsAfterZero;x++)
{zeros+="0";}
return part1+"."+zeros;}
return part1;}
Formatter.UnformatMoney=function(input)
{input=new String(input);input=input.replace("'","");input=input.replace(" ","");return new Number(input);}
function Dictionary()
{}
Dictionary.prototype={items:{},keys:[],Add:function(key,item)
{this.items[key]=item;this.keys.push(key);},KeyExists:function(key)
{if(this.items[key]==null)
return false;return true;},Get:function(key)
{if(!this.KeyExists(key))
return null;return this.items[key];},WriteFieldsToObject:function(target)
{for(var x=0;x<this.keys.length;x++)
{var key=this.keys[x];target[key]=this.items[key];}}}
function JSONDomBuilder()
{}
JSONDomBuilder.prototype={parent:null,fields:new Dictionary(),CreateTextNode:function(text)
{return document.createTextNode(text);},CreateHtmlNode:function(tagName)
{return document.createElement(tagName);},CreateNode:function(n)
{if(n.type==null||n.type=="")
{window.status="No type set";return;}
switch(n.type)
{case"text":if(n.text==null)
return;return this.CreateTextNode(n.text);break;}
var node=this.CreateHtmlNode(n.type);if(n.attributes!=null)
{var key;for(key in n.attributes)
{$(node).attr(key,n.attributes[key]);}}
if(n.field!=null&&n.field!="")
{this.fields.Add(n.field,node);}
if(n.className!=null)
$(node).attr("class",n.className);if(n.children==null)
return node;for(var c=0;c<n.children.length;c++)
{$(node).append(this.CreateNode(n.children[c]));}
return node;},Build:function(def)
{var parent=$("#"+def.parent);if(parent==null||parent=="")
{alert("No parent defined in definition");return;}
this.parent=parent;if(def.children==null)
return;for(var x=0;x<def.children.length;x++)
{var child=def.children[x];parent.append(this.CreateNode(child));}},WriteFieldsToObject:function(target)
{if(this.fields!=null)
this.fields.WriteFieldsToObject(target);}}
var resultTableHeadingA={type:"table",className:"CalculatorResultTable",field:'Tr3Cols',children:[{type:"tr",className:"CalculatorTr3Cols",children:[{type:"th",className:"Cell1",children:[{type:"span",field:'resultAnalysis1',children:[{type:"text",text:"[Auswertung]"}]}]},{type:"th",className:"CalculatorRight Cell2",children:[{type:"span",children:[{type:"text",text:""}]}]},{type:"th",className:"CalculatorRight Cell4",children:[{type:"span",field:"MigrosBankA",children:[{type:"text",text:"Migrosbank"}]}]}]}]}
var resultTableHeadingB={type:"table",className:"CalculatorResultTable",field:'Tr4Cols',children:[{type:"tr",className:"CalculatorTr4Cols",children:[{type:"th",className:"Cell1",children:[{type:"span",field:'resultAnalysis2',children:[{type:"text",text:"[Auswertung]"}]}]},{type:"th",className:"CalculatorRight Cell2",children:[{type:"span",children:[{type:"text",text:""}]}]},{type:"th",className:"CalculatorRight Cell3",children:[{type:"span",field:'resultForeignBank',children:[{type:"text",text:"Fremdbank"}]}]},{type:"th",className:"CalculatorRight Cell4",children:[{type:"span",field:"MigrosBankB",children:[{type:"text",text:"Migrosbank"}]}]}]}]}
var resultTableRow1={type:"tr",children:[{type:"th",className:"Cell1",children:[{type:"span",field:'resultInterest',children:[{type:"text",text:"[Zinssatz]"}]}]},{type:"td",className:"CalculatorRight Cell2",children:[{type:"span",children:[{type:"text",text:""}]}]},{type:"td",className:"CalculatorRight Cell3",field:"Row1Cell3",children:[{type:"span",field:"Row1Span3",children:[{type:"text",text:"Fremdbank"}]}]},{type:"td",className:"CalculatorRight Cell4",children:[{type:"span",field:"Row1Span4",children:[{type:"text",text:"Migrosbank"}]}]}]}
var resultTableRow2={type:"tr",children:[{type:"th",className:"Cell1",children:[{type:"span",field:'resultMonthlyRates',children:[{type:"text",text:"[Monatliche Raten]"}]}]},{type:"td",className:"CalculatorRight Cell2",children:[{type:"span",children:[{type:"text",text:"CHF"}]}]},{type:"td",className:"CalculatorRight Cell3",field:"Row2Cell3",children:[{type:"span",field:"Row2Span3",children:[{type:"text",text:"Fremdbank"}]}]},{type:"td",className:"CalculatorRight Cell4",children:[{type:"span",field:"Row2Span4",children:[{type:"text",text:"Migrosbank"}]}]}]}
var resultTableRow3={type:"tr",children:[{type:"th",className:"Cell1",children:[{type:"span",field:'resultTotalInterestCost',children:[{type:"text",text:"[Totale Zinskosten]"}]}]},{type:"td",className:"CalculatorRight Cell2",children:[{type:"span",children:[{type:"text",text:"CHF"}]}]},{type:"td",className:"CalculatorRight Cell3",field:"Row3Cell3",children:[{type:"span",field:"Row3Span3",children:[{type:"text",text:"Fremdbank"}]}]},{type:"td",className:"CalculatorRight Cell4",children:[{type:"span",field:"Row3Span4",children:[{type:"text",text:"Migrosbank"}]}]}]}
var resultTableRow4={type:"tr",className:"CalculatorBold",field:"Row4",children:[{type:"th",className:"Cell1",field:"ResultRow",children:[{type:"span",field:"ResultText",children:[{type:"text",text:"[Sie sparen]"}]}]},{type:"td",className:"CalculatorRight Cell2 CurrencySpacing",children:[{type:"span",field:"ResultCurrency",children:[{type:"text",text:"CHF"}]}]},{type:"td",className:"CalculatorRight Cell3",field:"RRC3",children:[{type:"span",field:"ResultFB",children:[{type:"text",text:""}]}]},{type:"td",className:"CalculatorRight Cell4",children:[{type:"span",field:"ResultAmount",children:[{type:"text",text:""}]}]}]}
var resultTableResults={type:"table",className:"CalculatorResultTable",field:"Results",children:[resultTableRow1,resultTableRow2,resultTableRow3,resultTableRow4]}
var negativeResult={type:"div",className:"CalculatorNegativeResult",field:"NegativeResult"}
var resultContainerDefinition={parent:"",children:[{type:"div",className:"CalculatorHeading",field:"MainDiv1",children:[resultTableHeadingA,resultTableHeadingB]},{type:"div",className:"CalculatorInputArea",field:"MainDiv2",children:[resultTableResults,negativeResult]}]}
try
{function CalculatorError()
{}
CalculatorError.prototype={message:null,control:null,showError:null,showResult:null,showComparison:null}
function CreateCalculatorError(message,control,showError,showResult,showComparison)
{var ce=new CalculatorError();ce.message=message;ce.control=control;ce.showError=showError;ce.showResult=showResult;ce.showComparison=showComparison;return ce;}
function PrivateCalculatorValues()
{}
PrivateCalculatorValues.prototype={Amount:0,Interest:0,Rate:0,Duration:0,TotalCosts:0,CreateQueryString:function()
{return"a="+this.Amount+"&d="+this.Duration+"&i="+this.Interest+"&r="+this.Rate;}}
function PrivateCalculator(){}
function EnhancePrivateCalculator(data)
{var calc=new PrivateCalculator();PrivateCalculator.Instance=calc;calc.enhance(data);}
PrivateCalculator.prototype={bld:null,mbcr:null,fbcr:null,data:null,outputPane:null,sliderDiv:null,errorControls:null,mbc:new PrivateCalculatorValues(),fbc:new PrivateCalculatorValues(),compare:false,fAmount:null,fDuration:null,fFbRate:null,fFbInterest:null,fFbCheckboxRate:null,fFbCheckboxInterest:null,interest:0,doCalcOnLoad:false,calculationDone:false,enhance:function(data)
{var pc=PrivateCalculator.Instance;$("div.OnlineCalculator div.CalculatorInputArea div.CalculatorLine select").css("visibility","visible");$("div.OnlineCalculator div.StartOverlay").css("display","none");$("div.OnlineCalculator div.GrayOverlay").css("display","none");$("div.OnlineCalculator div.CalculatorHide").css("display","none");pc.calculationDone=false;pc.doCalcOnLoad=$("input[name=__IsPrintPage]").val()=="1";pc.bld=new JSONDomBuilder();pc.data=data;pc.compare=false;pc.interest=data.interest;pc.fAmount=$('#'+data.amountID);pc.fDuration=$('#'+data.durationID);pc.fFbRate=$('#'+data.fbRateID);pc.fFbInterest=$('#'+data.fbInterestID);pc.fFbCheckboxRate=$('#'+data.fbCheckboxRateID);pc.fFbCheckboxInterest=$('#'+data.fbCheckboxInterestID);var amt,durIndex,fbRate,fbInterest,fbRateChecked;if(pc.doCalcOnLoad)
{amt=pc.fAmount.val();durIndex=pc.fDuration.attr("selectedIndex");fbRate=pc.fFbRate.val();fbInterest=pc.fFbInterest.val();fbRateChecked=pc.fFbCheckboxRate.attr("checked")==true;}
pc.EnhanceControls();pc.CallCreateResultTable(data);if(pc.doCalcOnLoad)
{window.setTimeout(function()
{if(fbRateChecked)
{pc.fFbCheckboxRate.attr("checked","checked");pc.fFbCheckboxInterest.attr("checked",false);pc.fFbRate.val(fbRate).removeClass("InactiveInput").attr("disabled","");pc.fFbInterest.val(fbInterest).addClass("InactiveInput").attr("disabled","true");window.setTimeout(function()
{PrivateCalculator.Instance.fFbInterest.addClass("InactiveInput");},200);}
else
{pc.fFbCheckboxRate.attr("checked",false);pc.fFbCheckboxInterest.attr("checked","checked");pc.fFbRate.val(fbRate).addClass("InactiveInput").attr("disabled","true");pc.fFbInterest.val(fbInterest).removeClass("InactiveInput").attr("disabled","");window.setTimeout(function()
{PrivateCalculator.Instance.fFbRate.addClass("InactiveInput");},200);}
pc.fAmount.val(amt);pc.fFbRate.val(fbRate);pc.fFbInterest.val(fbInterest);pc.fDuration.attr("selectedIndex",durIndex);$("#CalculatorSliderContainer div").slider('value',amt.replace("'",""));pc.CallCalculation();},50);}
else
{pc.Reset();pc.HideResultTable();pc.fFbCheckboxRate.attr("checked",false);pc.fFbCheckboxInterest.attr("checked","checked");pc.fFbRate.val("").addClass("InactiveInput").attr("disabled","true");pc.fFbInterest.val("").removeClass("InactiveInput").attr("disabled","");window.setTimeout(function()
{PrivateCalculator.Instance.fFbRate.addClass("InactiveInput");},200);}},Reset:function()
{var pc=PrivateCalculator.Instance;$("div.OnlineCalculator div.CalculatorHide").css("display","none");pc.calculationDone=false;pc.fAmount.val(pc.data.minAmountSlider);$("#CalculatorSliderContainer div").slider('value',pc.data.minAmountSlider);pc.fDuration.attr("selectedIndex","0");pc.fFbCheckboxRate.attr("checked",false);pc.fFbCheckboxInterest.attr("checked","checked");pc.fFbRate.val("").addClass("InactiveInput").attr("disabled","disabled");pc.fFbInterest.val("").removeClass("InactiveInput").attr("disabled","");pc.HideResultTable();return false;},EnhanceControls:function()
{var pc=PrivateCalculator.Instance;function AmountInFilter(sender,args)
{var pc=PrivateCalculator.Instance;var kc=sender.originalEvent.keyCode;if(!((kc>=48&&kc<=57)||(kc>=96&&kc<=105)||kc==9||kc==46||kc==8||kc==37||kc==39))
return false;}
function FBRateInFilter(sender)
{var pc=PrivateCalculator.Instance;var kc=sender.originalEvent.keyCode;if(!((kc>=48&&kc<=57)||(kc>=96&&kc<=105)||kc==9||kc==46||kc==8||kc==37||kc==39||kc==190||kc==110||kc==188))
return false;}
function FBInterestInFilter(sender)
{var pc=PrivateCalculator.Instance;var kc=sender.originalEvent.keyCode;if(!((kc>=48&&kc<=57)||(kc>=96&&kc<=105)||kc==9||kc==46||kc==8||kc==37||kc==39||kc==190||kc==110||kc==188))
return false;}
function AmountChanged()
{try
{var value=PrivateCalculator.Instance.fAmount.val();var unformatted=Formatter.UnformatMoney(value);if(isNaN(unformatted))
throw"Invalid";var formatted=Formatter.FormatMoney(unformatted,0,false);$("#CalculatorSliderContainer div").slider('value',unformatted);}catch(message){pc.CallCalculation();return;}}
function FBCheckboxChanged()
{if(pc.fFbCheckboxRate.attr("checked"))
{pc.fFbRate.removeClass("InactiveInput").attr("disabled","");pc.fFbInterest.addClass("InactiveInput").attr("disabled","disabled");}
else
{pc.fFbInterest.removeClass("InactiveInput").attr("disabled","");pc.fFbRate.addClass("InactiveInput").attr("disabled","disabled");}
pc.compare=true;}
function FBRateChanged()
{var rate=pc.fFbRate.val();rate=Formatter.UnformatMoney(rate);if(!isNaN(rate)&&rate!='undefined')
{}
pc.CallCalculation();}
function FBInterestChanged()
{var interest=pc.fFbInterest.val();interest=Formatter.UnformatMoney(interest);if(!isNaN(interest)&&interest!='undefined')
{}
pc.CallCalculation();}
function CreateToolTip(text,ctrl,appendToParent)
{if(typeof(appendToParent)=='undefined')
appendToParent=false;qtipOptions.content="<h2>"+pc.data.captions.info+"</h2>"+text;var amountTip=document.createElement("img");$(amountTip).attr("class","CalculatorInfoImage").attr("width","12").attr("height","12").attr("src","/MGBK/images/InfoIcon.gif");if(appendToParent)
ctrl.parent().append(amountTip);else
ctrl.after(amountTip);$(amountTip).qtip(qtipOptions);}
function PrintButtonClick(ev)
{if(PrivateCalculator.Instance.calculationDone==true)
ev.originalEvent.returnValue=true;else
ev.originalEvent.returnValue=false;}
$("#PrintButton2").click(PrintButtonClick);var b=$('div.CalculatorButtons input#'+pc.data.calculateButtonID);b.attr("href","javascript:void()").click(pc.CallCalculation);b.css("display","none");var r=$('#ResetButton2');r.attr("href","javascript:void()").click(pc.Reset);pc.fAmount.keydown(AmountInFilter).keyup(AmountChanged);pc.fDuration.change(pc.CallCalculation).keyup(pc.CallCalculation);pc.fFbCheckboxRate.change(FBCheckboxChanged);pc.fFbCheckboxInterest.change(FBCheckboxChanged);pc.fFbRate.keyup(FBRateChanged).keydown(FBRateInFilter);pc.fFbInterest.keyup(FBInterestChanged).keydown(FBInterestInFilter);pc.CreateSlider();pc.data.errorIconPH.amount=$("#"+pc.data.errorIconPH.amount);pc.data.errorIconPH.fbRate=$("#"+pc.data.errorIconPH.fbRate);pc.data.errorIconPH.fbInterest=$("#"+pc.data.errorIconPH.fbInterest);var fadeInValue=500;if($.browser.msie&&$.browser.version.substr(0,1)<7)
fadeInValue=0;var qtipOptions={content:'',show:'mouseover',hide:'mouseout',style:{border:0},position:{corner:{target:'topRight',tooltip:'bottomRight'}},show:{delay:0,effect:{type:'fade',length:fadeInValue}},hide:{delay:0,effect:{type:'fade',length:fadeInValue}}}
CreateToolTip(pc.data.infos.amount,pc.fAmount);},CreateSlider:function()
{var pc=PrivateCalculator.Instance;var sliderDiv=document.createElement("div");var innerDiv=document.createElement("div");$(sliderDiv).attr("id","CalculatorSliderContainer").attr("class","CalculatorSliderContainer");this.fAmount.prev().prev().prev().attr("class","CalculatorWeb20").after(sliderDiv);$("#CalculatorSliderContainer").append(innerDiv);$("#CalculatorSliderContainer div").slider({change:pc.EndSlide,slide:pc.Slide,step:pc.data.step,min:pc.data.minAmountSlider,max:pc.data.maxAmount});},CallCreateResultTable:function(data)
{var pc=PrivateCalculator.Instance;pc.bld.Build(resultContainerDefinition);pc.F={};pc.bld.WriteFieldsToObject(pc.F);var F=pc.F;$(F.resultAnalysis1).html(pc.data.captions.analysis);$(F.resultAnalysis2).html(pc.data.captions.analysis);$(F.resultForeignBank).html(pc.data.captions.foreignBank);$(F.MigrosBankA).html(pc.data.captions.mb);$(F.MigrosBankB).html(pc.data.captions.mb);$(F.resultMonthlyRates).html(pc.data.captions.monthlyRates);$(F.resultTotalInterestCost).html(pc.data.captions.totalInterestCost);$(F.resultInterest).html(pc.data.captions.interest);if(pc.fFbCheckboxRate.attr("checked")==false)
pc.fFbRate.val(0);else
pc.fFbInterest.val(0);},ShowResultTable:function(fbComparison)
{var pc=PrivateCalculator.Instance;if(pc.F==null)
return;$("div.OnlineCalculator div.CalculatorHide").css("display","block");var F=pc.F;$(F.MainDiv1).css("display","block");$(F.MainDiv2).css("display","block");$(F.Row1Span4).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.mbcr.interest,2,false)+"%"));$(F.Row2Span4).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.mbcr.monthlyRate,2,true)));$(F.Row3Span4).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.mbcr.totalCosts,2,true)));if(!(pc.compare&&fbComparison))
{$("#"+pc.data.resultContainerID).removeClass("blue").removeClass("green").addClass("gray");$("#"+pc.data.buttonPaneID).removeClass("blue").removeClass("green").addClass("gray");$("#"+pc.data.buttonPaneParentID).removeClass("blue").removeClass("green").addClass("gray");$(F.Tr3Cols).css("display","block");$(F.Tr4Cols).css("display","none");$(F.Row1Cell3).css("display","none");$(F.Row2Cell3).css("display","none");$(F.Row3Cell3).css("display","none");$(F.Row4Cell3).css("display","none");$(F.Row4).css("display","none");$(F.RRC3).css("display","none");$(F.NegativeResult).css("display","none");if(pc.fFbCheckboxRate.attr("checked")==false)
pc.fFbRate.val(0);else
pc.fFbInterest.val(0);}
else
{$("#"+pc.data.resultContainerID).removeClass("blue").addClass("green").removeClass("gray");$("#"+pc.data.buttonPaneID).removeClass("blue").addClass("green").removeClass("gray");$("#"+pc.data.buttonPaneParentID).removeClass("blue").addClass("green").removeClass("gray");$(F.Tr4Cols).css("display","block");$(F.Tr3Cols).css("display","none");var difference=pc.fbcr.totalCosts-pc.mbcr.totalCosts;$(F.Row1Cell3).css("display","block");$(F.Row2Cell3).css("display","block");$(F.Row3Cell3).css("display","block");$(F.Row4Cell3).css("display","block");$(F.RRC3).css("display","block");$(F.Row4).css("display","");$(F.Row2Span3).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.fbcr.monthlyRate,2,true)));$(F.Row3Span3).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.fbcr.totalCosts,2,true)));$(F.ResultText).html("").append(pc.data.captions.save);$(F.ResultAmount).html("").append(Formatter.FormatMoney(difference,2,true));$(F.NegativeResult).css("display","none");if(pc.fFbCheckboxRate.attr("checked")==false)
{pc.fFbRate.val(Formatter.FormatMoney(pc.fbcr.monthlyRate,2,true));$(F.Row1Span3).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.fbcr.interest,3,false)+"%"));}
else
{pc.fFbInterest.val(Formatter.FormatMoney(pc.fbcr.interest,1,true));$(F.Row1Span3).html("").append(pc.bld.CreateTextNode(Formatter.FormatMoney(pc.fbcr.interest,1,false)+"%"));}
if(difference<=0)
{$("#"+pc.data.resultContainerID).removeClass("green");$("#"+pc.data.buttonPaneID).removeClass("green");$("#"+pc.data.buttonPaneParentID).removeClass("green");$("#"+pc.data.resultContainerID).addClass("blue");$("#"+pc.data.buttonPaneID).addClass("blue");$("#"+pc.data.buttonPaneParentID).addClass("blue");$(F.NegativeResult).css("display","block");$(F.Row4).css("display","none");$(F.NegativeResult).html("").append(pc.data.captions.noSave);}}},HideResultTable:function()
{var pc=PrivateCalculator.Instance;$(pc.bld.fields.Get("MainDiv1")).css("display","none");$(pc.bld.fields.Get("MainDiv2")).css("display","none");$("#"+pc.data.resultContainerID).removeClass("green");$("#"+pc.data.buttonPaneID).removeClass("green");$("#"+pc.data.buttonPaneParentID).removeClass("green");$("#"+pc.data.resultContainerID).removeClass("blue");$("#"+pc.data.buttonPaneID).removeClass("blue");$("#"+pc.data.buttonPaneParentID).removeClass("blue");},CallCalculation:function(ev,bla)
{var pc=PrivateCalculator.Instance;pc.calculationDone=false;pc.mbc.Amount=0;pc.mbc.Interest=0;pc.mbc.Rate=0;pc.mbc.Duration=0;pc.fbc.Amount=0;pc.fbc.Interest=0;pc.fbc.Rate=0;pc.fbc.Duration=0;var errors=pc.Validate();var extortionShown=false;var rateExtortion=false;var showResult=true;var showComparison=true;if(errors!=null)
{pc.DisplayErrors(errors);for(var x=0;x<errors.length;x++)
{if(!errors[x].showResult)
showResult=false;if(!errors[x].showComparison)
showComparison=false;}}
var showAmountError=false;var showDurationError=false;var showFbRateError=false;var showFbInterestError=false;if(errors!=null)
{for(var x=0;x<errors.length;x++)
{var e=errors[x];if($(e.control).attr("id")==pc.fAmount.attr("id")&&e.showError)
showAmountError=true;if($(e.control).attr("id")==pc.fDuration.attr("id")&&e.showError)
showDurationError=true;if($(e.control).attr("id")==pc.fFbRate.attr("id")&&e.showError)
showFbRateError=true;if($(e.control).attr("id")==pc.fFbInterest.attr("id")&&e.showError)
showFbInterestError=true;}}
if(showComparison&&pc.fFbCheckboxRate.attr("checked")==true&&pc.mbc.Amount/pc.mbc.Duration>=pc.fbc.Rate)
showComparison=false;$(".CalculatorValidationError").each(function(nr,el)
{if($(el).css("display")=="block")
{if($(el).attr("id")=="CalculatorAmountError"&&!showAmountError)
$(el).slideUp(500);if($(el).attr("id")=="CalculatorFbRateError"&&!showFbRateError)
$(el).slideUp(500);if($(el).attr("id")=="CalculatorFbInterestError"&&!showFbInterestError)
$(el).slideUp(500);}});if(showResult)
{pc.Calculate(showComparison);pc.calculationDone=true;}
else
{pc.HideResultTable();pc.calculationDone=false;}
return false;},Validate:function()
{$(".CalculatorCaptionError").html("");var pc=PrivateCalculator.Instance;pc.fbcr=null;if(PrivateCalculator.Instance.errorControls==null)
PrivateCalculator.Instance.errorControls=[];var ec=PrivateCalculator.Instance.errorControls;for(var x=0;x<ec.length;x++)
ec[x].removeClass("CalculatorHighlightError");var min=pc.data.minAmount;var max=pc.data.maxAmount;var step=pc.data.step;var extortion=pc.data.extortion;var extortionRate=0;var errors=[];var amount=pc.fAmount.val();if(amount=="")
{errors.push(CreateCalculatorError(pc.data.errors.amountEmpty,pc.fAmount,false,false,false));return errors;}
try
{amount=Formatter.UnformatMoney(amount);if(isNaN(amount))
throw"Invalid";}
catch(message)
{errors.push(CreateCalculatorError(pc.data.errors.amountInvalid,pc.fAmount,true,false,false));return errors;}
if(amount<min)
{errors.push(CreateCalculatorError(pc.data.errors.amountTooLow,pc.fAmount,false,false,false));return errors;}
if(amount>max)
{errors.push(CreateCalculatorError(pc.data.errors.amountTooHigh,pc.fAmount,true,false,false));return errors;}
pc.mbc.Amount=new Number(Formatter.UnformatMoney(amount));pc.mbc.Interest=new Number(pc.interest);pc.mbc.Duration=new Number(pc.fDuration.attr("selectedIndex")*12+12);pc.mbcr=this.GetServiceResult("/mgbk/WebServices/PrivateLoan2Service.aspx?"+this.mbc.CreateQueryString());eval("pc.mbcr = "+pc.mbcr+";");var fb=false;pc.compare=false;if(pc.fFbCheckboxRate.attr("checked")==true)
{var val=pc.fFbRate.val();if(val=="")
{errors.push(CreateCalculatorError(pc.data.errors.fbRateEmpty,pc.fFbRate,false,true,false));return errors;}
try
{val=Formatter.UnformatMoney(val);if(isNaN(val))
throw"Invalid";}
catch(message)
{errors.push(CreateCalculatorError(pc.data.errors.fbRateInvalid,pc.fFbRate,true,true,false));return errors;}
if(val<=0)
{errors.push(CreateCalculatorError(pc.data.errors.fbRateInvalid,pc.fFbRate,false,true,false));return errors;}
pc.fbc.Amount=Formatter.UnformatMoney(pc.mbc.Amount);pc.fbc.Duration=pc.mbc.Duration;pc.fbc.Rate=new Number(Formatter.UnformatMoney(pc.fFbRate.val()));pc.compare=true;pc.fbcr=this.GetServiceResult("/mgbk/WebServices/PrivateLoan2Service.aspx?"+this.fbc.CreateQueryString());eval("pc.fbcr = "+pc.fbcr+";");var exCalc=new PrivateCalculatorValues();exCalc.Amount=pc.mbc.Amount;exCalc.Interest=15;exCalc.Duration=pc.mbc.Duration;exCalc.Rate=0;var exCalcRes=this.GetServiceResult("/mgbk/WebServices/PrivateLoan2Service.aspx?"+exCalc.CreateQueryString());eval("exCalcRes = "+exCalcRes+";");var extortionRate=exCalcRes.monthlyRate;if(pc.fbcr.monthlyRate>extortionRate)
{errors.push(CreateCalculatorError(pc.data.errors.fbExtortion,pc.fFbRate,true,true,false));return errors;}}
else if(pc.fFbCheckboxInterest.attr("checked")==true)
{pc.fbc.Amount=new Number(pc.mbc.Amount);pc.fbc.Duration=new Number(pc.mbc.Duration);var val=pc.fFbInterest.val();if(val=="")
{errors.push(CreateCalculatorError(pc.data.errors.fbInterestEmpty,pc.fFbInterest,false,true,false));return errors;}
try
{val=Formatter.UnformatMoney(val);if(isNaN(val))
throw"Invalid";}
catch(message)
{errors.push(CreateCalculatorError(pc.data.errors.fbInterestInvalid,pc.fFbInterest,true,true,false));return errors;}
pc.fbc.Interest=new Number(val);if(pc.fbc.Interest<=0)
{errors.push(CreateCalculatorError(pc.data.errors.fbInterestInvalid,pc.fFbInterest,false,true,false));return errors;}
if(pc.fbc.Interest>extortion)
{errors.push(CreateCalculatorError(pc.data.errors.fbExtortion,pc.fFbInterest,true,true,false));return errors;}
pc.compare=true;pc.fbcr=this.GetServiceResult("/mgbk/WebServices/PrivateLoan2Service.aspx?"+this.fbc.CreateQueryString());eval("pc.fbcr = "+pc.fbcr+";");}
return null;},DisplayErrors:function(errors)
{var pc=PrivateCalculator.Instance;var amountError=false,fbRateError=false,fbInterestError=false;for(var x=0;x<errors.length;x++)
{var error=errors[x];if(!error.showError)
continue;var ctrl=$(error.control);if(ctrl[0]==pc.fAmount[0])
amountError=true;else if(ctrl[0]==pc.fFbRate[0])
fbRateError=true;else if(ctrl[0]==pc.fFbInterest[0])
fbInterestError=true;if(ctrl.attr("tagName")=="INPUT")
{if(ctrl.attr("type")=="text")
{ctrl.addClass("CalculatorHighlightError");var ec=pc.errorControls;var found=false;for(var x=0;x<ec.length;x++)
{if(ec[x]==ctrl)
found=true;}
if(!found)
ec.push(ctrl);}}
pc.DisplayError(error);}
if(!amountError&&$("#CalculatorAmountError").css("display")=="block")
$("#CalculatorAmountError").slideUp(500);if(!fbRateError&&$("#CalculatorFbRateError").css("display")=="block")
$("#CalculatorFbRateError").slideUp(500);if(!fbInterestError&&$("#CalculatorFbInterestError").css("display")=="block")
$("#CalculatorFbInterestError").slideUp(500);},DisplayError:function(error)
{function CreateErrorImage()
{var img=document.createElement("img");$(img).attr("class","CalculatorInfoImage").attr("width","12").attr("height","12").attr("src","/MGBK/images/ErrorIcon.gif");return img;}
function CreateErrorCaption()
{var h2=document.createElement("h2");$(h2).html(pc.data.captions.error);return h2;}
var pc=PrivateCalculator.Instance;if(error.control==pc.fAmount)
{if($("#CalculatorAmountError").length==0)
{var errorDiv=document.createElement("div");var innerDiv=document.createElement("div");$(innerDiv).append(CreateErrorCaption());$(errorDiv).css("display","none").attr("id","CalculatorAmountError").addClass("CalculatorValidationError").append(innerDiv);pc.fAmount.next().after(errorDiv);var img=document.createElement("img");}
pc.data.errorIconPH.amount.append(CreateErrorImage());$("#CalculatorAmountError div p").remove();var p=document.createElement("p");$(p).append(pc.bld.CreateTextNode(error.message));$("#CalculatorAmountError div").append(p);if($("#CalculatorAmountError").css("display")=="none")
$("#CalculatorAmountError").slideDown(500);}
else if(error.control==pc.fFbRate)
{if($("#CalculatorFbRateError").length==0)
{var errorDiv=document.createElement("div");var innerDiv=document.createElement("div");$(innerDiv).append(CreateErrorCaption());$(errorDiv).css("display","none").attr("id","CalculatorFbRateError").addClass("CalculatorValidationError").append(innerDiv);pc.fFbRate.parent().append(errorDiv);}
pc.data.errorIconPH.fbRate.append(CreateErrorImage());$("#CalculatorFbRateError div p").remove();var p=document.createElement("p");$(p).append(pc.bld.CreateTextNode(error.message));$("#CalculatorFbRateError div").append(p);if($("#CalculatorFbRateError").css("display")=="none")
$("#CalculatorFbRateError").slideDown(500);}
else if(error.control==pc.fFbInterest)
{if($("#CalculatorFbInterestError").length==0)
{var errorDiv=document.createElement("div");var innerDiv=document.createElement("div");$(innerDiv).append(CreateErrorCaption());$(errorDiv).css("display","none").attr("id","CalculatorFbInterestError").addClass("CalculatorValidationError").append(innerDiv);pc.fFbInterest.parent().append(errorDiv);}
pc.data.errorIconPH.fbInterest.append(CreateErrorImage());$("#CalculatorFbInterestError div p").remove();var p=document.createElement("p");$(p).append(pc.bld.CreateTextNode(error.message));$("#CalculatorFbInterestError div").append(p);if($("#CalculatorFbInterestError").css("display")=="none")
$("#CalculatorFbInterestError").slideDown(500);}},Calculate:function(fbComparison)
{var pc=PrivateCalculator.Instance;pc.ShowResultTable(fbComparison);},GetServiceResult:function(serviceUrl)
{var res=null;$.ajax({url:serviceUrl,async:false,success:function(data)
{res=data;}});return res;},Slide:function(ev,ui)
{PrivateCalculator.Instance.fAmount.val(Formatter.FormatMoney(ui.value,-3,false));},EndSlide:function(ev,ui)
{PrivateCalculator.Instance.CallCalculation();},Print:function()
{if(this.outputPane==null)
this.createOutputPane();}};}
catch(e)
{alert("Error in PrivatKredit.js"+e.description);}
