  function v_number(number){
  	var digits="0123456789";
  	if (number=="£") {return false;}
  	if (number.length==0) {return false;}
  	for (var i=0;i<number.length;i++){if (digits.indexOf(number.substring(i,i+1))==-1){return false;}}
  	if (number<0) {return false;}
  	return true;
  }
  
  function formatCurrency(number){
  
    number = Math.round(number*100)/100;
  
  	var decimalPos;
  	var string = number.toString();
  	var zerostring = "";
  	
  	decimalPos = string.indexOf(".");
  	
  	if (decimalPos != -1) {
  	  if (string.charAt(decimalPos+2) == "") {
    	  zerostring = "0";
    	}
  	} else {
  	  zerostring = ".00";
  	}
  	
  	return("£" + number + zerostring);
  
  }
  
  function roundUpTo(target,step) {
    var flag=0;
    var start=0;
    
    do {
      start=((start-10)+100010);
      if (target<start) {
        flag=1;
      }
    } while (flag==0);
      
    flag=0;
    start=(start-100000);
  
    do {
      if (start>=target) {
        flag=1;
      } else {
        start=start+step;
      }
    } while(flag==0)
    
    return start;
    
  }
  
  function calculateDuty(){
  
  
  	var frm=document.dutycalc;
  	var a=frm.amount.value;
  
    for (var i=0; i < frm.transaction.length; i++) {
      if (frm.transaction[i].checked) {
        var transaction = frm.transaction[i].value;
      }
    }
  		  	
			
  	var duty=0;
	
  	  	
  	var errorMessage="";
  	
  	if (!v_number(a)) {errorMessage+="Consideration value,\n";}
  	if (a>999999999999) {errorMessage+="Consideration value,\n";}
  	
  	if (errorMessage.length!=0) {alert("The following entries are incorrect:\n\n"+errorMessage+"\nPlease correct these entries and\ntry again.");return false;}
  	
  	if (a.substring(0,1)=="£") {a=a.substring(1);}
  	  
    if (transaction == "land_res") {
      if (a<250001) {
        duty = 0;
      } else if (a<250001) {
        duty = (a/100);
      } else if (a<500001) {
        duty = ((a/100)*3);
      } else {
        duty = ((a/100)*4);
      }
    
    } else if (transaction == "land_nonres") {
      if (a<150001) {
        duty = 0;
      } else if (a<250001) {
        duty = (a/100);
      } else if (a<500001) {
        duty = ((a/100)*3);
      } else {
        duty = ((a/100)*4);
      }                      
    
    } else if (transaction == "shares") {
      duty = (a/100)*.5
    }
      	
  	duty = roundUpTo(duty,5);
  	
  	if(duty <= 5)
  	    duty = 0;
  	
  	frm.result.value=formatCurrency(duty);
  	return false;
  }