var isDOM,isIE,isNN4,isFF;

if(document.getElementById)	isDOM=1;
if(window.ActiveXObject) isIE=1;
else if(document.className) isNN4=1;
else if(ua.indexOf("gecko") != -1) isFF=1;

/*----------------------------------------------------------------------------------------------------*/

function get_gold_price (arr) {
  var carat = document.getElementById('carat').value;
  for (var i=0; i < arr.length; i++) {
    if (arr[i][0] == carat) var price = arr[i][1];
  }
  var weight = document.getElementById('weight').value;
  var price = weight*price;
  if (weight != '' && carat != '') document.getElementById('price').value = price.toFixed(2);
}

/*----------------------------------------------------------------------------------------------------*/

function get_gold_calc (arr) {
  var carat = document.getElementById('carat_calc').value;
  var weight = document.getElementById('weight_calc').value;
  if (weight != '' && carat != '' && !isNaN(weight) && weight > 0) {
    for (var i=0; i < arr.length; i++) {
      if (arr[i][0] == carat) var price = arr[i][1];
    }  
    var cost = weight*price;
    document.getElementById('apply_price').value = price;
    document.getElementById('price').innerHTML = "<strong>&pound;"+FormatNumberBy3(cost.toFixed(2), '.', ',')+"</strong>";
    document.getElementById('calc_apply').style.display = "block";
    document.getElementById('calc_apply_empty').style.display = "none";
    document.getElementById('add_more').style.display = "block";
    document.getElementById('calculator_value_title').style.display = "block";
    document.getElementById('weight_apply').value = weight;
    document.getElementById('carat_apply').value = carat;
    document.getElementById('apply_values').style.display = "block";
    
    var line = document.getElementById('res_line');

    if(line) {
      
      removeChildElement (line);
    	
      var new_cell_1 = document.createElement('td');
      new_cell_1.style.textAlign = 'center';
      new_cell_1.innerHTML = carat;
     
      var new_cell_2 = document.createElement('td');
      new_cell_2.style.textAlign = 'center';
      new_cell_2.innerHTML = weight;
    
      var new_cell_3 = document.createElement('td');
      new_cell_3.style.textAlign = 'right';
      new_cell_3.innerHTML = '&pound;'+FormatNumberBy3(cost.toFixed(2), '.', ',');
     
      var new_cell_4 = document.createElement('td');
      new_cell_4.innerHTML = '&nbsp;';
    
    
    	line.appendChild(new_cell_1);
    	line.appendChild(new_cell_2);
    	line.appendChild(new_cell_3);
    	line.appendChild(new_cell_4);

    	document.getElementById('total_cost').innerHTML = "<strong>&pound;"+FormatNumberBy3((Math.abs(document.getElementById('sum').value) + Math.abs(cost)).toFixed(2), '.', ',')+"</strong>";
      document.getElementById('price').innerHTML = "<strong>&pound;"+FormatNumberBy3((Math.abs(document.getElementById('sum').value) + Math.abs(cost)).toFixed(2), '.', ',')+"</strong>";  
    }
    close_popup(true);
  }
}

/*----------------------------------------------------------------------------------------------------*/

function removeChildElement (line) {
	group = line.childNodes;
  if (group.length > 0){
    line.removeChild(group[0]);
    removeChildElement (line);
  }
}

/*----------------------------------------------------------------------------------------------------*/

function FormatNumberBy3(num, decpoint, sep) {

  if (arguments.length == 2) {
    sep = ",";
  }
  if (arguments.length == 1) {
    sep = ",";
    decpoint = ".";
  }
  num = num.toString();
  a = num.split(decpoint);
  x = a[0]; // decimal
  y = a[1]; // fraction
  z = "";

  if (typeof(x) != "undefined") {
    for (i=x.length-1;i>=0;i--)
      z += x.charAt(i);
      z = z.replace(/(\d{3})/g, "$1" + sep);
    if (z.slice(-sep.length) == sep)
      z = z.slice(0, -sep.length);
    x = "";
    for (i=z.length-1;i>=0;i--)
      x += z.charAt(i);
    if (typeof(y) != "undefined" && y.length > 0)
      x += decpoint + y;
  }
  return x;
}
    
/*----------------------------------------------------------------------------------------------------*/

function fill_calc (weight, carat, price) {
  document.getElementById('weight_calc').value = weight;
  document.getElementById('carat_calc').value = carat;
  var cost = weight*price;
  document.getElementById('apply_price').value = price;
  document.getElementById('price').innerHTML = "<strong>&pound;"+FormatNumberBy3(cost.toFixed(2), '.', ',')+"</strong>";
  document.getElementById('calc_apply').style.display = "block";
  document.getElementById('calculator_value_title').style.display = "block";

}

/*----------------------------------------------------------------------------------------------------*/

function show_add_block () {
  document.getElementById('add_item').style.display = "block";
}

/*----------------------------------------------------------------------------------------------------*/

function hide_add_block () {
  document.getElementById('add_weight').value = '';
  document.getElementById('add_carat').value = '';
  document.getElementById('add_item').style.display = "none";
}

/*----------------------------------------------------------------------------------------------------*/

function add_item () {
  var carat = document.getElementById('add_carat').value;
  var weight = document.getElementById('add_weight').value;
  if (weight != '' && carat != '' && !isNaN(weight) && weight > 0) {
    var button = document.getElementById('add_button');
    button.name = "add_item";
    button.value = true;
    document.apply.submit();
  } 
}

/*----------------------------------------------------------------------------------------------------*/

function set_loan () {
  
	var wish_loan = document.getElementById('wish_loan').value;
	
  var admin_fee = document.getElementById('admin_fee').value;
  var interest = document.getElementById('interest').value;
  var total_cost = document.getElementById('sum').value;
  
  if (wish_loan) total_cost = wish_loan;
  
  var cost_loan = document.getElementById('cost_loan');
  var cost_payment = document.getElementById('cost_payment');
  var renew = document.getElementById('renew');
  
  var cost_loan_value = Math.abs((total_cost*interest*28/100));
  cost_loan.innerHTML = "&pound; "+FormatNumberBy3(cost_loan_value.toFixed(2), '.', ',');
  
  var cost_payment_value = Math.abs(cost_loan_value)+Math.abs(admin_fee)+Math.abs(total_cost);
  cost_payment.innerHTML = "&pound; "+FormatNumberBy3(cost_payment_value.toFixed(2), '.', ',');
  
  var renew_value = Math.abs((total_cost*interest*28/100));
  renew.innerHTML = "&pound; "+FormatNumberBy3(renew_value.toFixed(2), '.', ',');
}

//---------------------------------------------------------------------------------------//

  function changePaymentMethod (form) {
    document.getElementById('sort_code').style.display = "none";
    document.getElementById('account').style.display = "none";
    if (form == 'apply') {
      var method = document.forms.apply.pay_method.value;
      document.forms.apply.sort_code_1.value = '';
      document.forms.apply.sort_code_2.value = '';
      document.forms.apply.sort_code_3.value = '';
      document.forms.apply.account.value = '';
    }
    if (form == 'profile') {
      var method = document.forms.profile.pay_method.value;
      if (method != 'bank') {
        document.forms.profile.sort_code_1.value = '';
        document.forms.profile.sort_code_2.value = '';
        document.forms.profile.sort_code_3.value = '';
        document.forms.profile.account.value = '';
      }
    }
      
    if (method == 'bank') {
      if (isIE) {
        document.getElementById('sort_code').style.display = "block";
        document.getElementById('account').style.display = "block";
      }
      else {
        document.getElementById('sort_code').style.display = "table-row";
        document.getElementById('account').style.display = "table-row";
      }
    }
  }
  
//---------------------------------------------------------------------------------------//

  function autoTab(element, nextElement) {
    if (element.value.length == element.maxLength && nextElement != null) {
      element.form.elements[nextElement].focus();
    }
  }

//---------------------------------------------------------------------------------------//

  function upperCase(element) {
    element.value = element.value.toUpperCase();
  }

//---------------------------------------------------------------------------------------//

  function change_carat_type(arr) {
  	var carat = document.getElementById('carat_calc').value;

  	for (var i=0; i < arr.length; i++) {
      if (arr[i][0] == carat) var type = arr[i][1];
    } 
  	if (type == 'scrap') {
  		document.getElementById('weight_title').innerHTML = 'Weight';
  		document.getElementById('weight_title_2').innerHTML = 'in grams';
  	}
  	if (type == 'coin') {
  		document.getElementById('weight_title').innerHTML = 'Coins&nbsp;&nbsp;&nbsp;';
  		document.getElementById('weight_title_2').innerHTML = '';
  	}
  }
    
//---------------------------------------------------------------------------------------//

  function changeRequiredAmount (el) {
    
    if (Math.abs(el.value) > Math.abs(document.getElementById('sum').value)){
      el.value = Math.abs(document.getElementById('sum').value).toFixed(2);
    }
    
    for (var i=0; i < interests.length; i++){
      if (el.value > interests[i][0] && el.value < interests[i][1]){
        var interest = Math.abs(interests[i][2]);
        document.getElementById('interest_frame').innerHTML = interest+' %';
      }
    }
  	var admin_fee = document.getElementById('admin_fee').value;
    if (!interest) var interest = document.getElementById('interest').value;
    var total_cost = el.value;
    var cost_loan = document.getElementById('cost_loan');
    var cost_payment = document.getElementById('cost_payment');
    var renew = document.getElementById('renew');

    var cost_loan_value = Math.abs((total_cost*interest*28/100));
    cost_loan.innerHTML = "&pound; "+FormatNumberBy3(cost_loan_value.toFixed(2), '.', ',');
  
    var cost_payment_value = Math.abs(cost_loan_value)+Math.abs(admin_fee)+Math.abs(total_cost);
    cost_payment.innerHTML = "&pound; "+FormatNumberBy3(cost_payment_value.toFixed(2), '.', ',');
  
    var renew_value = Math.abs((total_cost*interest*28/100));
    renew.innerHTML = "&pound; "+FormatNumberBy3(renew_value.toFixed(2), '.', ',');
  }

//---------------------------------------------------------------------------------------//

