function CurrencyFormat(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function roundNumber(num, accuracy){
    var factor=Math.pow(10,accuracy);
    return Math.round(num*factor)/factor;
}

function calculateIndependent(first_store_fee,additional_fee,inde_vat) {
	var first_store = first_store_fee;
	var additional_charges = additional_fee;
	var additional_stores = jQuery('#form-additional_store').val();
	var inde_vat = inde_vat;
	var vat = document.getElementById('form-vat');	
	var total = document.getElementById('form-total');
		
	if (additional_stores >= 40) {
		alert('Sorry, you are not eligible for the independent category, please join as a multiple');
		additional_stores.disabled = true;
		return false;		
	}
	else if(additional_stores==''){
		additional_stores = 0;
	}

	jQuery('#form-first_store').val(first_store);
	jQuery('#fsf').html('(&pound;'+first_store+')');
	jQuery('#idc').html('(&pound;'+additional_charges+' each)');
	jQuery('#vat1').html(inde_vat*100 + '%');
		
	vat.value = CurrencyFormat(roundNumber((inde_vat * (roundNumber(first_store,2) + (roundNumber(additional_stores,2) * additional_charges))),2));
	total.value = CurrencyFormat(roundNumber(vat.value,2) + (roundNumber(first_store,2) + (roundNumber(additional_stores,2) * additional_charges)));
}
/*
function calculateIndependentBrand(first_store_fee_brand,additional_fee_brand) {
	var first_store_brand = first_store_fee_brand;
	var additional_charges = additional_fee_brand;
	var additional_stores_brand = document.getElementById('form-additional_store_indep_brand');
	var vat = document.getElementById('form-vat');
	var total = document.getElementById('form-total');	
	
	vat.value = CurrencyFormat(roundNumber((ind_brand_vat * (roundNumber(first_store_brand,2) + (roundNumber(additional_stores_brand.value,2) * additional_charges))),2));
	total.value = CurrencyFormat(roundNumber(vat.value,2) + (roundNumber(first_store_brand,2) + (roundNumber(additional_stores_brand.value,2) * additional_charges)));
}
*/

function calculateMultiple(min_fee,max_fee,rate_fee,multivat) {
	var min_charge = min_fee;
	var max_charge = max_fee;
	var turnover_rate_per_mil = rate_fee;
	var multi_vat = multivat;
	var turnover = document.getElementById('form-turnover_multiple');
	var turnover_charge = document.getElementById('form-turnover_multiple_charge');
	var vat = document.getElementById('form-vat');
	var total = document.getElementById('form-total');
	
	var turnover_charge_raw = roundNumber(turnover.value * roundNumber(turnover_rate_per_mil,2),2); 
	
	if (turnover_charge_raw < min_charge) {
		turnover_charge.value = min_charge;
	} else if (turnover_charge_raw > max_charge) {
		turnover_charge.value = max_charge;
	} else {
		turnover_charge.value = turnover_charge_raw; 
	}
	
	jQuery('#vat1').html(multi_vat*100 + '%');
	jQuery('#pm1').html('(&pound;'+turnover_rate_per_mil+', minimum:&pound; '+ min_charge+',maximum: &pound; '+max_charge+')');
	
	vat.value = CurrencyFormat(roundNumber((multi_vat * (roundNumber(turnover_charge.value,2))),2));
	total.value = CurrencyFormat(roundNumber(vat.value,2) + roundNumber(turnover_charge.value,2));
}

/*
function calculateMultipleBrand(min_fee,max_fee,rate_fee){
	var min_charge = min_fee;
	var max_charge = max_fee;
	var turnover_rate_per_mil = rate_fee;
	var turnover = document.getElementById('form-turnover_multiple_brand');
	var turnover_charge = document.getElementById('form-turnover_multiple_brand_charge');
	var vat = document.getElementById('form-vat');
	var total = document.getElementById('form-total');
	
	var turnover_charge_raw = roundNumber(turnover.value * roundNumber(turnover_rate_per_mil,2),2); 
	
	if (turnover_charge_raw < min_charge) {
		turnover_charge.value = min_charge;
	} else if (turnover_charge_raw > max_charge) {
		turnover_charge.value = max_charge;
	} else {
		turnover_charge.value = turnover_charge_raw; 
	}
	
	vat.value = CurrencyFormat(roundNumber((gen_vat * (roundNumber(turnover_charge.value,2))),2));
	total.value = CurrencyFormat(roundNumber(vat.value,2) + roundNumber(turnover_charge.value,2));
}
*/
/*
function calculate() {
var first_store = document.getElementById('form-first_store');
var additional_stores = document.getElementById('form-additional_store');
var vat = document.getElementById('form-vat');
var total = document.getElementById('form-total');

vat.value = CurrencyFormat(roundNumber((0.175 * (roundNumber(first_store.value,2) + (roundNumber(additional_stores.value,2) * 25))),2));
total.value = CurrencyFormat(roundNumber(vat.value,2) + (roundNumber(first_store.value,2) + (roundNumber(additional_stores.value,2) * 25)));
}*/

function loadCalculator(){
	setFeeValues(jQuery('#form-member_type').val());	
}

function setFeeValues(feeTypeID){	
	jQuery.ajax({
		url: '/page_templates/act/act_member-type.cfm', 
		type: 'POST', 
		dataType: 'json',
		data: {
			fee_type: feeTypeID
			},
			success: function(data){
				if (data.type=='inde' || data.type=='default'){
					calculateIndependent(data.inde_first_store,data.inde_additional_charge,data.inde_vat);					
					jQuery('#fields-inde').removeClass('hide');
					jQuery('#fields-multiple').addClass('hide');
					
				} else {
					calculateMultiple(data.multi_min_charge,data.multi_max_charge,data.multi_per_million,data.multi_vat);
					jQuery('#fields-inde').addClass('hide');	
					jQuery('#fields-multiple').removeClass('hide');				
				}			
			}
		});		
}

function paymentOption2(){
	
	jQuery('#payment_and_invoice').addClass('hide');
	jQuery('#charge_weekly').addClass('hide');

	setFeeValues(jQuery('#form-member_type').val());
			
	if (jQuery('#form_pay-online').attr('checked') || jQuery('#form_invoice').attr('checked')){
		jQuery('#payment_and_invoice').removeClass('hide');					
	}

	if (jQuery('#form_charge-weekly').attr('checked')){
		jQuery('#charge_weekly').removeClass('hide');	
	}
	
	jQuery('#form_pay-online').click(function(){
		setFeeValues(jQuery('#form-member_type').val());
		jQuery('#payment_and_invoice').removeClass('hide');
		jQuery('#charge_weekly').addClass('hide');
	})

	jQuery('#form-member_type').change(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})
	
	jQuery('#form_invoice').click(function(){
		setFeeValues(jQuery('#form-member_type').val());
		jQuery('#payment_and_invoice').removeClass('hide');
		jQuery('#charge_weekly').addClass('hide');
	})

	jQuery('#form_charge-weekly').click(function(){
		jQuery('#payment_and_invoice').addClass('hide');
		jQuery('#charge_weekly').removeClass('hide');
	})
	
	jQuery('#form-first_store').change(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})

	jQuery('#form-first_store').keyup(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})

	jQuery('#form-additional_store').change(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})

	jQuery('#form-additional_store').keyup(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})

	jQuery('#form-turnover_multiple').keyup(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})	

	jQuery('#form-turnover_multiple').change(function(){
		setFeeValues(jQuery('#form-member_type').val());
	})	
		
}
/*
function paymentOption(){		
	
	//payment options
	var online = document.getElementById('form_pay-online');
	var invoice = document.getElementById('form_invoice');
	var weekly = document.getElementById('form_charge-weekly');
	
	var online_invoice_option = document.getElementById('payment_and_invoice');
	var charge_weekly_option = document.getElementById('charge_weekly');
	
	var member_type = document.getElementById('form-member_type');

	jQuery(charge_weekly_option).addClass('hide');
	jQuery(online_invoice_option).addClass('hide');	
	
	hideAltFields();

	
	if(online.checked || invoice.checked){
			
			jQuery(online_invoice_option).removeClass('hide');
			jQuery(charge_weekly_option).addClass('hide');			
			
			showFields = document.getElementById('fields-'+member_type.value);
			
			jQuery(showFields).removeClass('hide');
	}
	
	jQuery('#form-member_type').change(function(){
		if (online.checked || invoice.checked) {			

			hideAltFields();			
			setFeeValues(jQuery(member_type).val());
			showFields = document.getElementById('fields-'+member_type.value);
			jQuery(showFields).removeClass('hide');			
		}
		
	})
	
	if(weekly.checked){
			jQuery(online_invoice_option).addClass('hide');
			jQuery(charge_weekly_option).removeClass('hide');
	}
	
	online.onclick = function(){
			
			jQuery(online_invoice_option).removeClass('hide');
			jQuery(charge_weekly_option).addClass('hide');
			
			hideAltFields();
			setFeeValues(jQuery(member_type).val());			
			showFields = document.getElementById('fields-'+member_type.value);			
			jQuery(showFields).removeClass('hide');			

	}
	
	invoice.onclick = function(){	
			
			jQuery(online_invoice_option).removeClass('hide');	
			jQuery(charge_weekly_option).addClass('hide');	
			
			hideAltFields();
			setFeeValues(jQuery(member_type).val());			
			showFields = document.getElementById('fields-'+member_type.value);			
			jQuery(showFields).removeClass('hide');


			
	}
	
	weekly.onclick = function(){
			jQuery(online_invoice_option).addClass('hide');
			jQuery(charge_weekly_option).removeClass('hide');			
		
			hideAltFields();
	}
}
*/

Event.observe(window, 'load', loadCalculator, false);
Event.observe(window, 'load', paymentOption2, false);

