//  Filename: calc_inheritance.js  //  Function: functions to calculate inheritance tax liability  // Date: 2005.10.21
function inheritance_calculator(form_name){

	var assets_business=strip_common_elements(document.getElementById(form_name).assets_business.value);
	var assets_home=strip_common_elements(document.getElementById(form_name).assets_home.value);
	var assets_savings=strip_common_elements(document.getElementById(form_name).assets_savings.value);
	var assets_investments=strip_common_elements(document.getElementById(form_name).assets_investments.value);
	var assets_policies=strip_common_elements(document.getElementById(form_name).assets_policies.value);
	var assets_pensions=strip_common_elements(document.getElementById(form_name).assets_pensions.value);
	var assets_other=strip_common_elements(document.getElementById(form_name).assets_other.value);
	var liabilities_mortage=strip_common_elements(document.getElementById(form_name).liabilities_mortage.value);
	var liabilities_loans=strip_common_elements(document.getElementById(form_name).liabilities_loans.value);
	var liabilities_other=strip_common_elements(document.getElementById(form_name).liabilities_other.value);
	var net_assets=0;
	var taxable_assets=0;
	var tax_liability=0;
	if(!assets_business){
		assets_business="0";
	}
	if(!assets_home){
		assets_home="0";
	}
	if(!assets_savings){
		assets_savings="0";
	}
	if(!assets_investments){
		assets_investments="0";
	}
	if(!assets_policies){
		assets_policies="0";
	}
	if(!assets_pensions){
		assets_pensions="0";
	}
	if(!assets_other){
		assets_other="0";
	}
	if(!liabilities_mortage){
		liabilities_mortage="0";
	}
	if(!liabilities_loans){
		liabilities_loans="0";
	}
	if(!liabilities_other){
		liabilities_other="0";
	}
	var error_array=new Array;
	var error_count=0;
	if(!check_number_valid(assets_business)){
		error_array[error_count]="\tThe business asset field";error_count++;
	}
	if(!check_number_valid(assets_home)){
		error_array[error_count]="\tThe home field";
		error_count++;
	}
	if(!check_number_valid(assets_savings)){
		error_array[error_count]="\tThe savings field";
		error_count++;
	}
	if(!check_number_valid(assets_investments)){
		error_array[error_count]="\tThe investments field";
		error_count++;
	}
	if(!check_number_valid(assets_policies)){
		error_array[error_count]="\tThe life policies field";
		error_count++;
	}
	if(!check_number_valid(assets_pensions)){
		error_array[error_count]="\tThe pensions field";
		error_count++;
	}
	if(!check_number_valid(assets_other)){
		error_array[error_count]="\tThe other assets field";
		error_count++;
	}
	if(!check_number_valid(liabilities_mortage)){
		error_array[error_count]="\tThe mortgage field";
		error_count++;
	}
	if(!check_number_valid(liabilities_loans)){
		error_array[error_count]="\tThe loans field";
		error_count++;
	}
	if(!check_number_valid(liabilities_other)){
		error_array[error_count]="\tThe other liabilities field";
		error_count++;
	}
	if(error_array.length>0){
		var error_message;
		error_message=(error_array.length>1)?"The following fields are incorrect. Please check the fields and try again:\n\n":"The following field is incorrect. Please check the fields and try again:\n\n";

		for(i=0;i<error_array.length;i++){
			Error_message+=error_array[i];
			error_message+="\n";
		}
		document.getElementById(form_name).net_assets.value='';
		document.getElementById(form_name).taxable_assets.value='';
		document.getElementById(form_name).tax_liability.value='';
		alert(error_message);return false;
	}
	assets_business=parseFloat(assets_business);
	assets_home=parseFloat(assets_home);
	assets_savings=parseFloat(assets_savings);
	assets_investments=parseFloat(assets_investments);
	assets_policies=parseFloat(assets_policies);
	assets_pensions=parseFloat(assets_pensions);
	assets_other=parseFloat(assets_other);
	liabilities_mortage=parseFloat(liabilities_mortage);
	liabilities_loans=parseFloat(liabilities_loans);
	liabilities_other=parseFloat(liabilities_other);

	net_assets=((parseFloat(assets_business)+parseFloat(assets_home)+parseFloat(assets_savings)+parseFloat(assets_investments)+parseFloat(assets_policies)+parseFloat(assets_pensions)+parseFloat(assets_other))-(parseFloat(liabilities_mortage)+parseFloat(liabilities_loans)+parseFloat(liabilities_other)));
	taxable_assets=(net_assets<=285000)?0:net_assets-285000;
	tax_liability=((taxable_assets/100)*40);

	document.getElementById(form_name).net_assets.value=format_number_output(net_assets,2,',','£');
	document.getElementById(form_name).taxable_assets.value=format_number_output(taxable_assets,2,',','£');
	document.getElementById(form_name).tax_liability.value=format_number_output(tax_liability,2,',','£');
	
	return false;
}