function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function doReset(){
    document.form1.Pension.checked = false;
	document.form1.Pension.disabled = true;
	
                           
			  document.getElementById("cTextArea1").innerHTML='';
		      document.getElementById("cTextArea2").innerHTML='';
}


	/*EFFECTIVE 2008-09*/
	var ResidentialRange1 =150000;
	var ResidentialRange2 =400000;
	var ResidentialRange3 =1000000;

	
	/*Residential Rates*/
	var ResidentialRate1 = 0.001;
	var ResidentialRate2 = 0.0045;
	var ResidentialRate3 = 0.0075;
	
	var ResidentialCap = 60000;
	


	/*All Unimproved land Calculated on Site Value*/
	var UnimprovedRate = 0.0060;
	
	/*Other Properties Calculated on Improved Value*/
	var OtherPropertiesRate = 0.0065;
	
	/*Agricultural Rebate Conditions*/
	var Agricultural_Site_Floor = 25000;
	var Agricultural_Imp_Floor = 75000;
	
	
	
 function showPensionerCheck(value)
	 {
	 
	 	if (value == 1)
		{
		
		document.form1.Pension.disabled = false;
		document.form1.Pension.checked = false;
		
		}
	 	else 
		{    
			
	 		document.form1.Pension.checked = false;
			document.form1.Pension.disabled = true;
			
		}
	 }
		
		
      var nav4 = window.Event ? true : false;
      function acceptNum(evt){	
      // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
         var key = nav4 ? evt.which : evt.keyCode;	
        return (key <= 13 || (key >= 48 && key <= 57));
        }
		
		
		
        function calculate(ttype,vamount,vpensioner) 
         { 
		 if (vamount > null)
		 {
           switch(ttype)
            {
             case "1": calculate_Residential(vamount,vpensioner);break;
             case "2": calculate_Unimproved(vamount);break;
             case "3": calculate_Commercial(vamount);break;
             case "4": calculate_Hotel(vamount);break;
             case "5": calculate_Villa(vamount);break;
             case "6": calculate_Agricultural_Site(vamount);break;
             case "7": calculate_Agricultural_Improved(vamount);break;
            }
		 }
	 }
	 



function calculate_Residential(t_value,pensioner) 
         {
             var result = 0 ;
             var message = " " ;
             var cond    = 0;
  
          if (t_value <= ResidentialRange1)
          {
          	result = 0 ;  
			message =  "Tax Rate : 0 to $150000 is 0%";
          }
          else
          {	
          	if (pensioner)//check if pensioner
          	{
          		t_value = (t_value - ResidentialRange1)/2;
          	}
          	else
          	{
          		t_value = t_value - ResidentialRange1;  //remove first 150000 in value
          	}//end pensioner check
          	
          	
          	if (t_value <= (ResidentialRange2 - ResidentialRange1)) //if less than or equal to 250000
          		{
          		result = t_value * ResidentialRate1;
          		message = "Tax Rate : 0 to $150000 is 0% + $" + t_value + " * "+ "0.1%";
          		}
          	else 
          		{
          			result = (ResidentialRange2 - ResidentialRange1) * ResidentialRate1;  //next 250000 at rate1
          			
					message = "Tax Rate : 0 to $150000 is 0% + $" + (ResidentialRange2 - ResidentialRange1) + " * "+ "0.1%";


					t_value = t_value - (ResidentialRange2 - ResidentialRange1);  //check for excess

          			
          			if (t_value <= (ResidentialRange3 - ResidentialRange2))  //if excess less than or equal 600000
          			{
          				result = result + ((t_value) * ResidentialRate2);
          				message = message + " + $" + (t_value ) + " * 0.45%";
          			}
          			else
          			{	
          				result = result + ((ResidentialRange3 - ResidentialRange2) * ResidentialRate2) ;  
          				t_value = t_value - (ResidentialRange3 - ResidentialRange2);
						message = message + " + $" +(ResidentialRange3 - ResidentialRange2) + " * " + "0.45%";
          					
          					result = result + (t_value * ResidentialRate3)
          						message = message + " + $"+t_value + " * " + "0.75%";
          			} 
          			
          		}
          } 
          
                if (result >= ResidentialCap) 
                result = ResidentialCap;
              
             
              document.form1.result.value= formatCurrency(result);
                           
			  document.getElementById("cTextArea1").innerHTML=message;
			  
			  /*Message if Pensioner*/
			  if(pensioner)
			  {
		      document.getElementById("cTextArea2").innerHTML='<p>A pensioner shall pay tax at the rate specified but the actual amount payable shall be calculated on 50% of the amount by which the improved value exceeds $150 000, but no such reduction shall be permitted unless the land in respect of which the tax is levied is owned by the pensioner and has a dwelling house thereon;  and the dwelling house is used exclusively by the pensioner and his immediate family for their permanent habitation.</p>';
			  }
			  else
			  {
			   document.getElementById("cTextArea2").innerHTML='';
			  }
			  
	 }//end calculate residential







         function calculate_Commercial(t_value) 
         {
            var result = 0 ;
            var message = "" ;                 
              result = t_value * OtherPropertiesRate ;
              message = "Tax Rate of "+ OtherPropertiesRate*100 + "%";                
             
			 document.form1.result.value= formatCurrency(result);
                           
			  document.getElementById("cTextArea1").innerHTML=message;
		      document.getElementById("cTextArea2").innerHTML='';
			  
	 	}
			
			
			
         function calculate_Hotel(t_value)
         {
            var result = 0 ;
            var message = "" ;
              result = t_value * OtherPropertiesRate ;
              message = "Tax Rate of "+ OtherPropertiesRate*100 + "%";                
          
           document.form1.result.value= formatCurrency(result);
           
		   document.getElementById("cTextArea1").innerHTML= message ;
		   document.getElementById("cTextArea2").innerHTML='<div>For Hotels, the actual amount payable shall be calculated on 50% of '+ 
			'the improved value of the land; but no such reduction shall be permitted unless it is a hotel within the meaning of '+
			'Section 2 of the Tourism Development Act, 2002.</div>';
		 }
		 
		 
		 
		 function calculate_Villa(t_value)
         {
            var result = 0 ;
            var message = "" ;
              result = t_value * OtherPropertiesRate ;
              message = "Tax Rate of "+ OtherPropertiesRate*100 + "%";                
             
           document.form1.result.value= formatCurrency(result);
                           
			  document.getElementById("cTextArea1").innerHTML=message;
		      document.getElementById("cTextArea2").innerHTML= "Villa Rebate of 25% on production of Certificate from the Barbados Tourism Authority";
	 	 }
     
	 
	 
	     function calculate_Agricultural_Site(t_value)
         {
            var result = 0 ;
            var message = "" ;
                         result = t_value * UnimprovedRate ;
              message =  "Tax Rate of " + UnimprovedRate*100 +"%";
			  
			  if (t_value > Agricultural_Site_Floor)
			  {
			  	document.getElementById("cTextArea2").innerHTML = "Rebate of 0.5% on production of a Certificate of approved agricultural use";
			  }
			  else 
			  {
			  	document.getElementById("cTextArea2").innerHTML = "Agricultural Rebate is only applicable on Site Value over $25000";
			  }
        
		      document.form1.result.value= formatCurrency(result);                           
			  document.getElementById("cTextArea1").innerHTML=message;
			  
		      	   
	 }
	 
	 
	 
         function calculate_Agricultural_Improved(t_value)
         {
            var result = 0 ;
            var message = "" ;
     
	 
              result = t_value * OtherPropertiesRate ;
              message =  "Tax Rate of "+OtherPropertiesRate*100+"%";
			  
			  if (t_value > Agricultural_Imp_Floor)
			  {
			  	document.getElementById("cTextArea2").innerHTML  ='<div>Rebate of 0.5% on production of a Certificate of approved agricultural use</div>';
			  }
			  else 
			  {
			  	document.getElementById("cTextArea2").innerHTML = 'Agricultural Rebate is only applicable on Improved Value over $75000';
			  }
           document.form1.result.value= formatCurrency(result);
           document.getElementById("cTextArea1").innerHTML = message;
		   
	 	}
         
		 
		 function calculate_Unimproved(t_value)
         {
            var result = 0 ;
            var message = "" ;
               result = t_value * 0.006 ;
               message =  "Tax rate of 0.60%";                
          
              document.form1.result.value= formatCurrency(result);
           document.getElementById("cTextArea1").innerHTML = message;
		   document.getElementById("cTextArea2").innerHTML = '';
	 }


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);
}
