// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var already_cleared = new Hash();

function calculateRefinanceAmmount(form) {
    new_total = 0
    for (i = 0; i < form.scenario_refi_accounts.length; i++) {
        if (form.scenario_refi_accounts[i].checked) {
            new_total += accounts[i]
        }
    }
    $('refi_amount').innerHTML = formatCurrency(new_total)
}

function calculateRefinancePMI(form) {
    new_total = 0
    for (i = 0; i < form.scenario_refi_accounts.length; i++) {
        if (form.scenario_refi_accounts[i].checked) {
            new_total += pmi[i]
        }
    }
    if (new_total > 0)
      $('refi_pmi_amount').innerHTML = '<i>now: ' + formatCurrency(new_total) + '</i>'
    else
      $('refi_pmi_amount').innerHTML = ''
    end
}

function calculateNewLoanPMI(form) {
    new_total = 0
    for (i = 0; i < form.scenario_new_loan_accounts.length; i++) {
        if (form.scenario_new_loan_accounts[i].checked) {
            new_total += new_loan_pmi[i]
        }
    }
    if (new_total > 0)
      $('new_loan_pmi_amount').innerHTML = '<i>now: ' + formatCurrency(new_total) + '</i>'
    else
      $('new_loan_pmi_amount').innerHTML = ''
    end
}

function uncheckAll(form_object) {
    for (i = 0; i < form_object.length; i++) {
        form_object[i].checked = false
    }
}

function formatCurrency(num) {
    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));
    return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function clearMe(field) {
    if (already_cleared[field] != 1) {
      field.value = ''
      already_cleared[field] = 1
    }
}

function check_background_status(update_div, plan_id, finalize_url) {
	new PeriodicalExecuter(function() 
		{ new Ajax.Request('/main/plan_background_status/' + plan_id, 
			{ method: 'get',
			  onComplete: function(request)
			  	{ bg_status=eval( '(' + request.responseText + ')' );
				  Element.update($(update_div), bg_status.status)
				  if (bg_status.complete)
				  	window.location = finalize_url
			      end
				}
		
			})
		}, 2)
}

function check_whatif_status(update_div, scenario_id) {
	var stopMe = 0;
	new PeriodicalExecuter(function(pe) {
		if (stopMe > 0) {
			pe.stop();
		}
		else {
			new Ajax.Request('/main/whatif_background_status/' + scenario_id, {
				method: 'get',
				onComplete: function(request){
					bg_status = eval('(' + request.responseText + ')');
					Element.update($(update_div), bg_status.status)
					if (bg_status.complete) {
						new Ajax.Updater('right_column', '/debt_plan/whatif_plan_done/' + scenario_id)
						stopMe++;
					}
					else {
						stopMe = 0;
					}
				}
				
			})
		}
		}, 2)
}