function numericCheck(field) {
  flg=0;
  nr1 = field.value;
  for(var i=0;i<nr1.length;i++) {
    cmp="0123456789";
    tst=nr1.substring(i,i+1);
    if(cmp.indexOf(tst)<0) {
      flg++;
    }
  }
  if (flg!=0) {
    var temp = field.value;
    temp = temp.replace(/[^0-9]*/g,"");
    field.value = temp;
    return false;
  }
  return true;
}

function computeForm(form) {

  //Under 65 yr old personal allowance
  //var pa1=4745;	2004-05	
  //var pa1=4895;	2005-06	
  //var pa1=5035;	2006-07	
  //var pa1=5225;	    //	2007-08		
  //var pa1=5435;	    //	2008-09
  var pa1=6475;		// 2010-2011	
  
  //Income Tax Rates
  //var tax1=0.1;
  var tax3=0.20;
  var tax4=0.4;

  //Income Tax Bands
  //var band1=2020;	2004-05
  //var band1=2090;	2005-06
  //var band1=2150;	2006-07  
  //var band1=2230;   //  2007-08

  //var band2=31400;	2004-05	
  //var band2=32400;	2005-06
  //var band2=33300;	2006-07
  //var band2=34600;  //  2007-08
  var band2=37400;  //  2010-11

  var taxable=0;
  var tax=-1000;
  var net=0;

  var ni=0;
  var niadd = 0.01; 	//extra ni for earnings > uel
  
  //LEL for NI
  //var nilower=4745; 	2004-05
  //var nilower=4895;	2005-06
  //var nilower=5035;	2006-07
  //var nilower=5225;  // 2007-08
  //var nilower=4680;  // 2008-09
  var nilower=5044;    // 2010-11

  //UEL for NI  
  //var niupper=31720;	2004-05
  //var niupper=32760;	2005-06
  //var niupper=33540;	2006-07
 // var niupper=34840; // 2007-08
  //var niupper=40040; // 2008-09
  var niupper=43888;   //2010-11
  
  var ci=0.11;
  var co=0.094;  
  var extni=0;

  earnings=form.earnings.value;

if (earnings=="") {
  form.earnings.value=0;
  //alert("Please provide your annual salary."); return false;
}


//  <!** START SINGLE PERSON UNDER 65 **!>

  if (earnings<pa1) {
    tax=0;
    net=earnings;
  }else if (earnings<=(pa1+band2)) {
    var taxable=earnings-(pa1);
    tax=Math.round((taxable*tax3));
    net=earnings-tax;
  } else {
    var taxable=earnings-(pa1+band2);
  
    tax=Math.round((taxable*tax4)+(band2*tax3));
  
    net=earnings-tax;

  
  }

// <!** TIDY RESULTS - SOMETIMES THE RESULTS GET MUNGED **!>
  net=parseFloat(net);
 
  tax=parseFloat(tax);
 
// <!** DETECT NEGATIVE TAX VALUES **!>
   if (tax<=0) {
     net=earnings;
     tax=0;
   }

// <!** IN OR OUT OF SERPS? **!>
   var inserps = form.serps[0].checked;
   var nirate = (inserps) ? ci : co ;


  

// <!** CALCULATE NATIONAL INSURANCE CONTRIBUTIONS **!>
// <!** START CONTRACTED IN EMPLOYEE **!>
  if (earnings<nilower) {
    ni=0;
  } else {
    if (earnings>niupper) {
      ni= (niupper-nilower) * nirate;
      extni = (earnings - niupper) * niadd;
   
      ni += extni;
    } else {
   
      ni=nirate*(earnings-nilower);
    
    }
} // <!** END CONTRACTED IN EMPLOYEE **!>

// <!** REFORMAT DATA AND DEDUCT NI CONTRIBUTIONS IF ANY **!>
   if (ni > 0) {
     net -= ni;

   }
   form.net_annual.value=Math.round(net);
   form.ded_annual.value=Math.round(ni+tax);
   form.net_month.value=Math.round(net/12);
   form.net_week.value=Math.round(net/52);

} // <!** END OF COMPUTE FUNCTION **!>


// <!** CLEAR FORM FUNCTION **!>
function clearForm(form) {
  //form.tax.value="";
  //form.net.value="";
  //form.tax_month.value="";
  //form.net_month.value="";
  form.ded_annual.value="";
  form.net_annual.value="";
  form.net_month.value="";
  form.net_week.value="";
  form.earnings.value="";

}
