var myXMLHTTPRequest;
var xmlAJAXResult;
var xslAJAXResult;

if (window.ActiveXObject || window.xmlHTTPRequest)
{
 xmlAJAXResult = new ActiveXObject("Msxml2.DOMDocument.4.0");
 xslAJAXResult = new ActiveXObject("Msxml2.DOMDocument.4.0");
 xmlAJAXResult.async           = false;
 xmlAJAXResult.validateOnParse = true;
 xslAJAXResult.async           = false;
 xslAJAXResult.validateOnParse = true;
}
else
{
 myXMLHTTPRequest = new XMLHttpRequest();
 if (myXMLHTTPRequest)
 {
  xmlAJAXResult = document.implementation.createDocument("", "", null);
  xslAJAXResult = document.implementation.createDocument("", "", null);
  xmlAJAXResult.async           = false;
  xmlAJAXResult.validateOnParse = true;
  xslAJAXResult.async           = false;
  xslAJAXResult.validateOnParse = true;
 }
}

function getCheckedValue(radioObj)
{
 if(!radioObj)
  return "";

 var radioLength = radioObj.length;
 if(radioLength == undefined)
  if(radioObj.checked)
   return radioObj.value;
  else
   return "";
 for(var i = 0; i < radioLength; i++)
 {
  if(radioObj[i].checked)
  {
   return radioObj[i].value;
  }
 }
 return "";
}


function ajaxCalculateLoan()
{
 target = 'calculation';

 if (window.ActiveXObject)
 {
  myXMLHTTPRequest = new ActiveXObject("Microsoft.XMLHTTP");
  xslAJAXResult.load('xsl/calculate.xsl');
  if(xslAJAXResult.parseError.errorCode != 0)
   return;
 }
 else
 {
  myXMLHTTPRequest = false;
  myXMLHTTPRequest = new XMLHttpRequest();
  if (myXMLHTTPRequest.overrideMimeType)
   myXMLHTTPRequest.overrideMimeType('text/xml')
  myXMLHTTPRequest.open('GET', 'xsl/calculate.xsl', false);
  myXMLHTTPRequest.send(null);
  xslAJAXResult = myXMLHTTPRequest.responseXML;
 }

 ajaxQueryURL  = 'xml/calculate.php?';
 ajaxQueryURL += 'rnd=' + Math.random();
 ajaxQueryURL += '&id=' + getCheckedValue(document.forms['calculator'].elements['id']);
 ajaxQueryURL += '&principal=' + document.getElementById('principal').value;
 ajaxQueryURL += '&frequency=' + document.getElementById('frequency').value;
 ajaxQueryURL += '&length=' + document.getElementById('length').value;
 myXMLHTTPRequest.onreadystatechange = showAJAXQuery;
 myXMLHTTPRequest.open('GET', ajaxQueryURL, true);
 myXMLHTTPRequest.send(null);
 document.getElementById(target).innerHTML = '';
 document.getElementById(target).style.display = 'block';
}

function showAJAXQuery()
{
 if (myXMLHTTPRequest.readyState == 4)
 {
  if (window.ActiveXObject)
  {
   xmlAJAXResult.loadXML(myXMLHTTPRequest.responseText);
   if(xmlAJAXResult.parseError.errorCode != 0)
   {
    document.getElementById(target).innerHTML = strAJAXQueryURL + '<br />' + xmlAJAXResult.parseError.line + '\n' + xmlAJAXResult.parseError.reason + '<br>' + '\n.' + xmlAJAXResult.text.replace(/</gi,'&lt;');
    return;
   }
  }
  else
   xmlAJAXResult = myXMLHTTPRequest.responseXML;

  if (myXMLHTTPRequest.status == 200)
  {
   if (window.ActiveXObject)
   {
    document.getElementById(target).innerHTML = xmlAJAXResult.transformNode(xslAJAXResult);
   }
   else
   {
    var processor = new XSLTProcessor();
    processor.importStylesheet(xslAJAXResult);
    var strXMLFragment = processor.transformToFragment(xmlAJAXResult, document);
    document.getElementById(target).appendChild(strXMLFragment);       
   }
  }
 }
}
