// VHA-IMCSS Price Calculator
// Developed by: Jose Santa-Maria
// Copyrights: Valley Hope Association
// October 27, 2006

function formatCurrency(num) 
	{
	num = num.toString().replace(/\$|\,/g,'');
		
	if(isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
	
	if(cents<10)
		cents = "0" + cents;
		
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
	}
		
function computeForm(form) 
	{
	var numUsers = form.txt_numUsers.value;
	var winpims = 0;
	var baseModule = 0;
	var accountingmaintenance = 0;
	var accounting = 0;
	var arsummary = 0;
	var batchproc = 0;
	var billing = 0;
	var outpatientservices = 0;
	var insuranceadmin = 0;
	var crud = 0;
	var insuranceadminviewer = 0;
	var insurancebenefits = 0;
	var episodeanalysis = 0;
	var phu = 0;
	//var bluereport = 0;
	var ecr = 0;
	var progressnotes = 0;
	var treatmentplan = 0;
	var admissions = 0;
	var dischargesummary = 0;
	var groupprogressnotes = 0;
	var security = 0;
	var totalestimate = 0;
	var totalwinpims = 0;
	var totalaccounting = 0;
	var totalinsurance = 0;
	var totalstats = 0;
	var totalclinical = 0;
	var totalgeneral = 0;
			
	if (numUsers<=9) {
		baseModule=30
		batchproc=9;
		billing=16;
		outpatientservices=9;
		//insuranceadmin=46;
		//insurancebenefits=18;
		episodeanalysis=16;
		phu=9;
		ecr=23;
		groupprogressnotes=9;
	} else if (numUsers<=19) {
		baseModule=29
		batchproc=8;
		billing=15;
		outpatientservices=8;
		//insuranceadmin=45;
		//insurancebenefits=17;
		episodeanalysis=15;
		phu=8;
		ecr=22;
		groupprogressnotes=8;
	} else if (numUsers<=29) {
		baseModule=28
		batchproc=7;
		billing=14;
		outpatientservices=7;
		//insuranceadmin=44;
		//insurancebenefits=16;
		episodeanalysis=14;
		phu=7;
		ecr=21;
		groupprogressnotes=7;
	} else if (numUsers<=49) {
		baseModule=27
		batchproc=6;
		billing=13;
		outpatientservices=6;
		//insuranceadmin=43;
		//insurancebenefits=15;
		episodeanalysis=13;
		phu=5;
		ecr=20;
		groupprogressnotes=6;
	} else {
		baseModule=26
		batchproc=5;
		billing=12;
		outpatientservices=5;
		//insuranceadmin=42;
		//insurancebenefits=14;
		episodeanalysis=12;
		phu=3;
		ecr=19;
		groupprogressnotes=5;
	}
			
	winpims = numUsers * baseModule;
			
	if (document.forms[0].cb_batchproc.checked) {
		batchproc = numUsers * batchproc;
	} else {
		batchproc = 0;
	}
		
	if (document.forms[0].cb_billing.checked) {
		billing = numUsers * billing;
	} else {
		billing = 0;
	}
			
	if (document.forms[0].cb_outpatientservices.checked) {
		outpatientservices = numUsers * outpatientservices;
	} else {
		outpatientservices = 0;
	}
		
	if (document.forms[0].cb_insuranceadmin.checked) {
		insuranceadmin = numUsers * insuranceadmin;
		document.forms[0].cb_crud.checked = true;
		document.forms[0].cb_insuranceadminviewer.checked = true;
	} else {
		insuranceadmin = 0;
		document.forms[0].cb_crud.checked = false;
		document.forms[0].cb_insuranceadminviewer.checked = false;
	}
			
	if (document.forms[0].cb_insurancebenefits.checked) {
		insurancebenefits = numUsers * insurancebenefits;
	} else {
		insurancebenefits = 0;
	}
			
	if (document.forms[0].cb_episodeanalysis.checked) {
		episodeanalysis = numUsers * episodeanalysis;
	} else {
		episodeanalysis = 0;
	}
			
	if (document.forms[0].cb_phu.checked) {
		phu = numUsers * phu;
	} else {
		phu = 0;
	}
			
	if (document.forms[0].cb_ecr.checked) {
		ecr = numUsers * ecr;
		document.forms[0].cb_progressnotes.checked = true;
		document.forms[0].cb_treatmentplan.checked = true;
		document.forms[0].cb_admissions.checked = true;
		document.forms[0].cb_dischargesummary.checked = true;
	} else {
		ecr = 0;
		document.forms[0].cb_progressnotes.checked = false;
		document.forms[0].cb_treatmentplan.checked = false;
		document.forms[0].cb_admissions.checked = false;
		document.forms[0].cb_dischargesummary.checked = false;
	}
	
	if (document.forms[0].cb_groupprogressnotes.checked) {
		groupprogressnotes = numUsers * groupprogressnotes;
	} else {
		groupprogressnotes = 0;
	}
			
	form.txt_winpims.value = formatCurrency(winpims);
	form.txt_accountingmaintenance.value = formatCurrency(accountingmaintenance);
	form.txt_accounting.value = formatCurrency(accounting);
	form.txt_arsummary.value = formatCurrency(arsummary);
	form.txt_batchproc.value = formatCurrency(batchproc);
	form.txt_billing.value = formatCurrency(billing);
	form.txt_outpatientservices.value = formatCurrency(outpatientservices);
	form.txt_insuranceadmin.value = formatCurrency(insuranceadmin);
	form.txt_crud.value = formatCurrency(crud);
	form.txt_insuranceadminviewer.value = formatCurrency(insuranceadminviewer);
	form.txt_insurancebenefits.value = formatCurrency(insurancebenefits);
	form.txt_episodeanalysis.value = formatCurrency(episodeanalysis);
	form.txt_phu.value = formatCurrency(phu);
	//form.txt_bluereport.value = formatCurrency(bluereport);
	form.txt_ecr.value = formatCurrency(ecr);
	form.txt_progressnotes.value = formatCurrency(progressnotes);
	form.txt_treatmentplan.value = formatCurrency(treatmentplan);
	form.txt_admissions.value = formatCurrency(admissions);
	form.txt_dischargesummary.value = formatCurrency(dischargesummary);
	form.txt_groupprogressnotes.value = formatCurrency(groupprogressnotes);
	form.txt_security.value = formatCurrency(security);
			
	form.txt_totalwinpims.value = formatCurrency(winpims);
	form.txt_totalaccounting.value = formatCurrency(batchproc + billing + outpatientservices);
	form.txt_totalinsurance.value = formatCurrency(insuranceadmin + insurancebenefits);
	form.txt_totalstats.value = formatCurrency(episodeanalysis + phu);
	form.txt_totalclinical.value = formatCurrency(ecr + groupprogressnotes);
	//form.txt_totalgeneral.value = formatCurrency(security);
	form.txt_total.value = formatCurrency(winpims + batchproc + billing + outpatientservices +insuranceadmin + insurancebenefits + episodeanalysis + phu + ecr + groupprogressnotes);

	}