//Javascript for bonddefaultcalc.html
//Copyright 2008, 2009 by Exstrom Laboratories LLC

// Store risk free interest rates, and their date.
// rfi[0] = 1 month rate, rfi[1] = 3 month, rfi[2] = 6 month, rfi[3] = 1 year.
rfi = new Array(4);
//Begin write-to region
rfiDate = "23-MAR-10";
rfi[0] = .11;
rfi[1] = .14;
rfi[2] = .23;
rfi[3] = .4;
//End write-to region

// function initPage() is a Window.onload event handler
//   invoked in the <body> tag of bonddefaultcalc.html
function initPage(){

    //sendSynchronously("GET","yield.xml", null, true, updateRfi);
    init_rfi();
}

//get needed info from parsed XML object
function updateRfi(getXML){

    var d;
    d = getXML.getElementsByTagName("BC_1MONTH");
    rfi[0] = d[d.length - 1].textContent;
    d = getXML.getElementsByTagName("BC_3MONTH");
    rfi[1] = d[d.length - 1].textContent;
    d = getXML.getElementsByTagName("BC_6MONTH");
    rfi[2] = d[d.length - 1].textContent;
    d = getXML.getElementsByTagName("BC_1YEAR");
    rfi[3] = d[d.length - 1].textContent;

    d = getXML.getElementsByTagName("BID_CURVE_DATE");
    rfiDate = d[d.length - 1].textContent;
}

function init_rfi(){

    document.bonddefault.rfi1.value = rfi[0] + "";
    document.bonddefault.rfi3.value = rfi[1] + "";
    document.bonddefault.rfi6.value = rfi[2] + "";
    document.bonddefault.rfi12.value = rfi[3] + "";
    datePos = document.getElementById("dataDate")
    datePos.innerHTML = rfiDate;
}

function calculate_bond_default(){

    var price = parseFloat(document.bonddefault.price.value);
    var face = parseFloat(document.bonddefault.face.value);
    var interest = parseFloat(document.bonddefault.interest.value)/100.0;
    var s;
    var dp;
    var output;

    s = parseFloat(document.bonddefault.rfi1.value)/100.0;
    dp = bond_dp_cy(price,face,interest,12,s);
    output = document.getElementsByName("dp1");
    output[0].value = (dp*100.0).toFixed(2);

    s = parseFloat(document.bonddefault.rfi3.value)/100.0;
    dp = bond_dp_cy(price,face,interest,4,s);
    output = document.getElementsByName("dp3");
    output[0].value = (dp*100.0).toFixed(2);

    s = parseFloat(document.bonddefault.rfi6.value)/100.0;
    dp = bond_dp_cy(price,face,interest,2,s);
    output = document.getElementsByName("dp6");
    output[0].value = (dp*100.0).toFixed(2);

    s = parseFloat(document.bonddefault.rfi12.value)/100.0;
    dp = bond_dp_cy(price,face,interest,1,s);
    output = document.getElementsByName("dp12");
    output[0].value = (dp*100.0).toFixed(2);
}

function bond_dp_cy(price,face,interest,m,s){
    var r = interest*face/price/m;
    var dp = (r-s)/(r+1.0);
    return dp;
}
