function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function checkNumber(input, min, max, msg)
{
    msg = msg + " field has invalid data: " + input.value;

    var str = input.value;
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }
    var num = parseFloat(str)
    if (num < min || max < num) {
        return false;
    }
    input.value = str;
    return true;
}

function computeField(input)
{
    if (input.value != null && input.value.length != 0)
     input.value = "" + eval(input.value);
    computeForm(input.form);
}

function calcNJrates(form)
{
     form.basicsearch.value =105.00
     form.basicsearch.value=roundit(form.basicsearch.value)
     form.reissuesearch.value =90.00
     form.reissuesearch.value=roundit(form.reissuesearch.value)
     form.refinancesearch.value =90.00
     form.refinancesearch.value=roundit(form.refinancesearch.value)
     form.constructionsearch.value =0.00
     form.constructionsearch.value=roundit(form.constructionsearch.value)

     var tiamt = 0
     var sale = form.saleprice.value / 1
     var mtg = form.mtgamount.value / 1
     var previoussale = form.previoussaleprice.value / 1
     var previousmtg = form.previousmtgamount.value / 1
     if (sale >= mtg) {
     tiamt = form.saleprice.value
     }
     else {
     tiamt = form.mtgamount.value
     }

     form.basic.value=basic(tiamt)

     if (tiamt > previoussale) {
               var reiscalc=0
               reiscalc=reissue(form.previoussaleprice.value)

               reiscalc=reiscalc - basic(form.previoussaleprice.value)

               form.reissue.value = reiscalc + basic(tiamt)
     }

     else {
          form.reissue.value= reissue(tiamt)
     }

     if (previousmtg > mtg) {
          form.refinance.value = refi(mtg)
     }

     else if (previoussale > mtg) {
               var reficalc=0
               reficalc = refi(form.previousmtgamount.value)

               reficalc = reficalc - reissue(form.previousmtgamount.value)

               form.refinance.value = reficalc + reissue(mtg)
     }

else {

               var reficalc=0
               reficalc = refi(form.previousmtgamount.value)

               reficalc = reficalc - reissue(form.previousmtgamount.value)

               reficalc = reficalc + reissue(form.previoussaleprice.value)

               reficalc = reficalc - basic(form.previoussaleprice.value)

               form.refinance.value = reficalc + basic(mtg)
     }

     form.construction.value=construction(tiamt)

     if (form.basic.value > 200) {
          form.basic.value=roundit(form.basic.value);
          }
     else {
          form.basic.value = "200.00"
          form.basic.value=roundit(form.basic.value)
     }
     if (form.reissue.value > 200) {
          form.reissue.value=roundit(form.reissue.value);
          }
     else {
          form.reissue.value = "200.00"
          form.reissue.value=roundit(form.reissue.value)
     }
     if (form.refinance.value > 200) {
     form.refinance.value=roundit(form.refinance.value);
          }
     else {
          form.refinance.value = "200.00"
          form.refinance.value=roundit(form.refinance.value)
     }
     if (form.construction.value > 200) {
     form.construction.value=roundit(form.construction.value);
          }
     else {
          form.construction.value = "200.00"
          form.construction.value=roundit(form.construction.value)
     }
     return;
}

function basic(amt)
{
     if (amt <= 100000) {
          amt1=thousands(amt, 0);
          basicrate = (amt1 * 5.25);
     }

     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          basicrate = (525 + (amt1 * 4.00));
     }

     else if (amt <= 2000000) {
          amt1=thousands(amt, 500000);
          basicrate = (2125 + (amt1 * 2.75));
     }

     else if (amt > 2000000) {
          amt1=thousands(amt, 2000000);
          basicrate = (6250 + (amt1 * 2.25));
     }

     return(basicrate);
}

function reissue(amt)
{
     if (amt <= 100000) {
          amt1=thousands(amt, 0);
          reissuerate = (amt1 * 4.25);
     }

     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          reissuerate = (425 + (amt1 * 3.25));
     }

     else if (amt <= 2000000) {
          amt1=thousands(amt, 500000);
          reissuerate = (1725 + (amt1 * 2.25));
     }

     else if (amt > 2000000) {
          amt1=thousands(amt, 2000000);
          reissuerate = (5100 + (amt1 * 2.00));
     }

     return(reissuerate);
}

function refi(amt)
{
     if (amt <= 100000) {
          amt1=thousands(amt, 0);
          refirate = (amt1 * 2.50);
     }

     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          refirate = (250 + (amt1 * 2.25));
     }

     else if (amt <= 2000000) {
          amt1=thousands(amt, 500000);
          refirate = (1150 + (amt1 * 2.00));
     }

     else if (amt > 2000000) {
          amt1=thousands(amt, 2000000);
          refirate = (4150 + (amt1 * 1.50));
     }

     return(refirate);
}

function construction(amt)
{
     if (amt <= 100000) {
          amt1=thousands(amt, 0);
          basicrate = (95 + (amt1 * 1.00));
     }

     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          basicrate = (195 + (amt1 * 1.00));
     }

     else if (amt <= 2000000) {
          amt1=thousands(amt, 500000);
          basicrate = (595 + (amt1 * 1.00));
     }

     else if (amt > 2000000) {
          amt1=thousands(amt, 2000000);
          basicrate = (2095 + (amt1 * 1.00));
     }

     return(basicrate);
}

function thousands(amt, base) {    
     var amt1 = ((amt - base) / 1000)
     var amt2 = parseInt(((amt - base) / 1000))
     if (amt1 > amt2) {
     amt1 = amt2 + 1
     }
     return (amt1);
}

function roundit(what){  
     var places = 2
     var iplaces = 6
     var pad = ' '
     var xx = what.indexOf('.')    
     var l = what.length 
     var zstr = '0000000000000000000000'     
     var theInt = ''     
     var theFrac = ''
     var theNo = '' 
     rfac = '' 
     rfacx = 0 
     whatx = 0 
     var xt = parseInt(places) + 1 
     var rstr = '' + zstr.substring(1,xt)    
     var rfac = '.' + rstr + '5'   
     var rfacx = parseFloat(rfac)  
     if (xx == -1 ) {                
          theFrac = zstr      
          theInt = what  
     }
     else if (xx == 0) {      
          theInt = '0'        
          whatx = 0 + parseFloat(what) + parseFloat(rfacx)       
          what = whatx + zstr      
          theFrac = '' + what.substring(1, what.length)               
     }    
     else {         
          theInt = what.substring(0,xx)      
          whatx = parseFloat(what) + rfacx        
          what = '' + whatx + zstr      
          theFrac = '' + what.substring(xx+1,xx + 1 + parseInt(places))    
          var astr = 'places = ' + places    
     } 

     first = theFrac.substring(0,1)
     round = theFrac.substring(2,1)
     if (theFrac == 09){                          
     theFrac = '10'
     }
     else if (theFrac == 99){                          
     theFrac = '00'
     theInt  = parseInt(theInt) + 1
     theInt = '' + theInt
     }
     else if (round == 2 || round == 4 || round == 7 || round == 9 ) {         
          if (first == 0){
               theFrac = parseInt(theFrac) + 1
               theFrac = '0' + parseInt(theFrac)
               }
               else {
               //alert('round 1 cent w/o a 0')
               theFrac = parseInt(theFrac) + 1         
               }
          theFrac = '' + theFrac
     }
     else if (round == 1 || round == 6) {                     
          if (first == 0){
               theFrac = parseInt(theFrac) + 2
               theFrac = '0' + parseInt(theFrac)
               }
               else {
               theFrac = parseInt(theFrac) + 2         
               }
          theFrac = '' + theFrac
     }    
     else {                                       
     }  
     theFrac = theFrac.substring(0,parseInt(places)) 
     var dif = iplaces - theInt.length 
     var ii = 0 
     var padstr = '' 
     for (ii = 0 ; ii < dif ; ii++) {                  
          padstr += pad  
     }    
     theNo = padstr + theInt + '.' + theFrac 
     return theNo;
}

function clearForm(form)
{
     form.saleprice.value = "";
     form.mtgamount.value = "";
     form.previoussaleprice.value = "";
     form.previousmtgamount.value = "";

     form.basic.value = "";
     form.reissue.value = "";
     form.refinance.value = "";
     form.construction.value = "";

     form.basicsearch.value = "";
     form.reissuesearch.value = "";
     form.refinancesearch.value = "";
     form.constructionsearch.value = "";
}