// JavaScript Document
function kp_function(e) {
   e = e || window.event; 
   ch = e.which || e.keyCode; 
   if(ch != null) {     
      if(ch == 13) {
         _calc();        
      }
   } 
   return true; 
} 


function _calc() {
   document.getElementById('lblErr').innerHTML = '';

   var askingPrice = document.getElementById('asking_price').value;
   askingPrice = askingPrice.replace(/\,/mg, "");
   askingPrice = askingPrice .replace(/^£/mg, "");
   
   if(!isNaN(askingPrice)){
      if(askingPrice < 600){
           document.getElementById('lblErr').innerHTML = 'Please enter a number';
           return;
      } 
      var val2 = NumberRound(askingPrice);
      var val3 = NumberRound(val2 - val2 * 0.07);
      var val4 = NumberRound(500);
      var val5 = NumberRound(val3 * 0.02);
      var val6 = NumberRound(val2 * 0.02 * 1.175);
      var val7 = NumberRound((val3 * 0.8 * 0.06 * 7) / 12);
      var val8 = NumberRound(val3 - (Number(val4) + Number(val5) + Number(val6) + Number(val7)));
      
      var val9 = NumberRound(Number(val3) - Number(val8));
   
      document.getElementById('lbl_typ_offer').innerHTML = '&pound;' + FComma(val3);
      document.getElementById('lbl_no_legal_fees').innerHTML = '-&pound;' + FComma(val4);
      document.getElementById('lbl_price_valid').innerHTML = '-&pound;' + FComma(val5);
      document.getElementById('lbl_no_fees').innerHTML = '-&pound;' + FComma(val6);
      document.getElementById('lbl_less_mortgage_payment').innerHTML = '-&pound;' + FComma(val7);
      document.getElementById('lbl_total_cost').innerHTML = '-&pound;' + FComma(val9);       
      document.getElementById('lbl_payment_to_you').innerHTML = '&pound;' + FComma(val8);
      document.getElementById("lbl_percentage_of_EA_val").innerHTML = roundNumber((val8 / val2) * 100);
   } else {
      document.getElementById('lblErr').innerHTML = 'Please enter a number';
   }
   
   return false;
}

function NumberRound(price) {
    var myregexp = /(\d*)/;
    var match = myregexp.exec(price);
    if(match != null && match.length > 1) {
	    return match[1];
    } else {
	    return price;
    }
}

function roundNumber(numberField) {
	var rnum = numberField;
	var rlength = 2; // The number of decimal places to round to
	if (rnum > 8191 && rnum < 10485) {
		rnum = rnum-5000;
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		newnumber = newnumber+5000;
	} else {
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	}
	return newnumber;
}



function FComma(SS) {
   var T='', S=String(SS), L=S.length-1, C, j, P = S.indexOf('.')-1
   if(P < 0) P = L
   for(j = 0; j <= L; j++) {
      T += C = S.charAt(j)
      if((j < P) && ((P-j)%3 == 0) && (C != '-')) T += ','
   }
   return T;
}