var message="Sorry, you can't do that!"

function click(e)
{
	if (document.all)
	{
		if (event.button==2||event.button==3)
		{
		alert(message);
		return false;
		}
	}

	if (document.layers)
	{
		if (e.which==3)
		{
		alert(message);
		return false;
		}
	}
}

if (document.layers)
	{
	document.captureEvents(Event.MOUSEDOWN);
	}

document.onmousedown=click;


function compute()
{

 var f = document.mortgage;
 var sel_stat = f.morttype.selectedIndex; 
 var basis = f.basis.selectedIndex;
 var capital=0,intrate=0,termyr,yearly,monthly,daily;

 capital = f.capital.value;
 intrate = f.intrate.value;
 termyr  = f.termyr.value;


 if  (isNaN(capital))	//default values and i/p validation
	{
	alert("Numbers only, please - without commas")
      	f.capital.value = capital = 100000 ;
	}

 if  (isNaN(intrate))
	{
	alert("Numbers only, please - without commas")
      	f.intrate.value = intrate = 5;
	}
 

 if  (isNaN(termyr))
	{
	alert("Numbers only, please - without commas")
      	f.termyr.value  = termyr  = 25.0;
	}
 

 yearly    = (capital * intrate) / 100 ;

 monthly = yearly / 12 ;


 if (sel_stat == 0)
    { 
     repay(intrate,yearly,monthly,capital,termyr,basis,f);
    }
 else
    {    
     f.capital.value =  capital;
     f.intrate.value =  intrate;
     f.termyr.value  =  termyr;
     f.yearly.value  =  (Math.round(yearly*100))/100;
     f.monthly.value =  (Math.round(monthly*100))/100;
    }

}



function repay(intrate,yearly,monthly,capital,termyr,basis,f)
{
  var x,y,z, rg100_p1,int_d100;


  if (termyr < 1)
	{
     	termyr = f.termyr.value = 1;
 	}


  if (basis == 0)  	//daily recalculation
	{
	var termday ;

  	int_d100    = intrate / 36500;
  	rg100_p1    = 1 + int_d100;

	termday = termyr * 365 ;
   
	z = Math.pow(rg100_p1, termday);

	daily = (((capital * int_d100)*z)/(z - 1)) ;

	monthly = daily * (365/12) ;

	yearly = monthly * 12; 
	}

  if (basis == 1)  	//monthly recalculation
	{
	var termmth ;

  	int_d100    = intrate / 1200;
  	rg100_p1    = 1 + int_d100;

	termmth = termyr * 12 ;
   
	z = Math.pow(rg100_p1, termmth);

	monthly = (((capital * int_d100)*z)/(z - 1)) ;

	yearly = monthly * 12 ;	
	}

  if (basis == 2)  	//annual recalculation
	{
  
	termyr = Math.floor(termyr) ;
	int_d100    = intrate / 100;
	rg100_p1    = 1 + int_d100;

	z = Math.pow(rg100_p1, termyr);

	yearly = (((capital * int_d100)*z)/(z - 1)) ;

	monthly = (yearly/12);
	}

  f.yearly.value  =  (Math.round(yearly*100))/100;
  f.monthly.value = (Math.round(monthly*100))/100; 
 
}