function formatGBP(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 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 && number.substring(i,i+1)!="."){return false;}}
                    	if (number<0) {return false;}
                    	return true;
                    }
                    
                    
                    
                    function calculateSavings(){
                    
                    	//load values from form into variables
                    
                    	var frm=document.savingscalc;
                    	var s=frm.entered_initial.value;
                    	var d=frm.entered_monthly.value;
                    	var r=frm.entered_interest.value;
                    	var f=frm.entered_inflation.value;
                    	var y=frm.entered_years.value;
                                       		
                    	//initialise those variables for calculation
                    	
                      var i=0;
                    	var n=0;
                    	
                    	//validate inputs
                    	
                    	var errorMessage="";
                    	
                    	if (!v_number(s)) {errorMessage+="Starting figure,\n";}
                    	if (!v_number(d)) {errorMessage+="Monthly deposit,\n";}
                    	if (!v_number(r)) {errorMessage+="Average annual interest rate,\n";}
                    	if (!v_number(f)) {errorMessage+="Average annual inflation rate,\n";}
                    	if (!v_number(y)) {errorMessage+="Number of years,\n";}
                    	
                    	if (errorMessage.length!=0) {alert("The following entries are incorrect:\n\n"+errorMessage+"\nPlease correct these entries and\ntry again.");return false;}
                    	
                    	if (s.substring(0,1)=="£") {s=s.substring(1);}
                    	if (d.substring(0,1)=="£") {d=d.substring(1);}

                    	s = parseInt(s);
                    	d = parseInt(d);	
                    	f = parseInt(f);                    	
                    	y = parseInt(y);
                      
					   r = ( r/100 );
					   i = ( r/12 );
					   
                       n = y * 12;
                      
                      t = ( s * ( Math.pow(1+i,n) ) )   +   ( ( ( d * ( ( Math.pow(1+i,n) ) - 1) ) / i ) );
                      p = ( t / ( Math.pow(1+(f/100),y) ) );
                    	
                    	//load text boxes with results
                    	
                    	frm.output_savings.value=formatGBP(t);
                    	frm.output_value.value=formatGBP(p);
                    	
                    	return false;
                    }

