﻿$(function(){
    eNekretnine.initialize();
});
eNekretnine={
	state:{
	},
	initialize:function(){	        
	    if (jQueryObjectExists($("#mortgageCalculator img[@id=plusminus]")) && jQueryObjectExists($("#mortgageCalculator div[@id=expandableDiv]"))) 
	    {
	        $("#mortgageCalculator img[@id=plusminus]").unbind();
	        $("#mortgageCalculator img[@id=plusminus]").toggle(
                function () {
                    $("#mortgageCalculator div[@id=expandableDiv]").show();
                    $(this).attr("src", "images/minus.gif");
                },
                function () {
                    $("#mortgageCalculator div[@id=expandableDiv]").hide();
                    $(this).attr("src", "images/plus.gif");
                }
	        );
	    }
	    
	    if (jQueryObjectExists($("#businessTable")))
	    {
	        eNekretnine.createExpandCollapse("businessTable");
	        $("#businessTable div[@id=expandAll]").click();
	    }
	    
	    if (jQueryObjectExists($("#bankTable")))
	    {
	        eNekretnine.createExpandCollapse("bankTable");
	        $("#bankTable div[@id=colapseAll]").click();
	    }	          

	    if (jQueryObjectExists($("#mortgageCalculator")))
	        eNekretnine.calculateMortgage();
	},
	createExpandCollapse:function(id){
        
        $("#" + id + " img[@id=plusminus]").attr("src", "images/plus.gif");
        $("#" + id + " img[@id=plusminus]").attr("status", "off");
        $("#" + id + " div[@name=expandableDiv]").hide();

    	        
        $("#" + id + " img[@id=plusminus]").unbind();
        $("#" + id + " img[@id=plusminus]").click(function () {
            if ($(this).attr("status") == "off")
            {
                $("#" + id + " div[@id=expandableDiv" + $(this).attr("auxId") + "]").show();
                $(this).attr("src", "images/minus.gif");
                $(this).attr("status", "on");
            }
            else
            {
                $("#" + id + " div[@id=expandableDiv" + $(this).attr("auxId") + "]").hide();
                $(this).attr("src", "images/plus.gif");
                $(this).attr("status", "off");
            }
        });
	},
	calculateMortgage:function () {
	    var price = eNekretnine.stripChars(/\$|,/g, $("#mortgageCalculator input[@name=Price]").val());
	    var downpmt = eNekretnine.stripChars(/\%|,/g, $("#mortgageCalculator input[@name=DownPmt]").val());
	    var rate = eNekretnine.stripChars(/\%|,/g, $("#mortgageCalculator input[@name=AnnIntRate]").val());
	    var years = $("#mortgageCalculator select[@name=NoYrs]").val();
	    var cc = 0;
	    var tax = eNekretnine.stripChars(/\$|,/g, $("#mortgageCalculator input[@name=tax]").val());

	    var downpayment = price*(downpmt/100)
	    downpayment = eNekretnine.roundOn2Digit(downpayment);

	    var loanamt = price - downpayment;
	    loanamt = eNekretnine.roundOn2Digit(loanamt);

	    var nopmts = years*12;
	    var morate = rate/1200;
	    var mopmt = loanamt*(morate/(1-Math.pow((1+morate), -nopmts)));
	    mopmt = eNekretnine.roundOn2Digit(mopmt);

	    var totalmopmt = mopmt*1 + cc*1 + tax*1
	    totalmopmt = eNekretnine.roundOn2Digit(totalmopmt);

        $("#mortgageCalculator input[@name=MortgageAmount]").val(eNekretnine.formatCurrency(loanamt,2));
        $("#mortgageCalculator input[@name=DownPayment]").val(eNekretnine.formatCurrency(downpayment,2));
        $("#mortgageCalculator input[@name=NoPmts]").val(nopmts);
        $("#mortgageCalculator input[@name=MoPmt]").val(eNekretnine.formatCurrency(mopmt,2));
	},
	roundOn2Digit:function(number)	{
	    number *= 100;
	    number = Math.round(number);
	    number /= 100;

	    return number;
	},
	formatCurrency:function(num,dec) {
		num = num.toString().replace(/\$|\,/g,'');
		if(isNaN(num)) num = "0";

		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();

		if(cents<10)
		    cents = "0" + cents;

		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		    num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));

		if (dec>0)
		    return (((sign)?'':'-') + '€' + num + '.' + cents);
		else
		    return (((sign)?'':'-') + '€' + num);
	},
	stripChars:function(pattern, str) {
	    return str.replace(pattern,"");
	},	
	onTimeOut:function(result){
	    alert('timeOut');
	},
	onAjaxError:function(result){
        if(result && result.get_message()) 
            alert(result.get_message());
	}
};
