function Calculator()

				{
					
					var PortfolioAmount=document.Form1.PortfolioAmount.value;
					var HypotheticalPortfolio=document.Form1.HypotheticalPortfolio.value;
					var InvestmentType=document.Form1.InvPrg.value;   // 0 is total portfolio, 1 is access.
					var HpValueArray = new Array();
					var AnnualPercentage = new Array();
					var Iterations = 0;
					
					// HpValueArray[0] seems to be disregarded
					if (InvestmentType == 0) { 
						HpValueArray[0]=0.27;
						HpValueArray[1]=0.28;
						HpValueArray[2]=0.30;
						HpValueArray[3]=0.31;
						HpValueArray[4]=0.33;
						HpValueArray[5]=0.34;
						HpValueArray[6]=0.36;
						HpValueArray[7]=0.37;
						HpValueArray[8]=0.36;
					}
					
					else {  
						HpValueArray[0]=0.23;
						HpValueArray[1]=0.25;
						HpValueArray[2]=0.27;
						HpValueArray[3]=0.29;
						HpValueArray[4]=0.30;
						HpValueArray[5]=0.32;
						HpValueArray[6]=0.34;
						HpValueArray[7]=0.36;
						HpValueArray[8]=0.38;
					} 
					
					
					var HVChooser=HypotheticalPortfolio;
					HypotheticalPortfolio = HpValueArray[HVChooser];
																			
					// input validation
					if(PortfolioAmount <= 0 || isNaN(document.Form1.PortfolioAmount.value)) {
						alert("Please Enter Valid Portfolio Amount.");
						document.Form1.PortfolioAmount.focus();
						document.Form1.PortfolioAmount.select();
					}

					else if(PortfolioAmount.indexOf(".") > -1 ){
						alert("Please Enter Valid Portfolio Amount Without Decimal.");
						document.Form1.PortfolioAmount.focus();
						document.Form1.PortfolioAmount.select();
					}
					
					else if(PortfolioAmount > 2000000 && InvestmentType == 1) {
						alert("An Access Program Portfolio Cannot Exceed $2,000,000.  Please Revise Portfolio Amount.");
						document.Form1.PortfolioAmount.focus();
						document.Form1.PortfolioAmount.select();
					}
					else if(PortfolioAmount > 15000000) {
							alert("The advisory fee for investment portfolios over $15,000,000 is negotiable.  Please contact us to discuss.");
							document.Form1.PortfolioAmount.focus();
							document.Form1.PortfolioAmount.select();
					}

				
					if (InvestmentType == 0) {
							AnnualPercentage[0] = 0.85;
							AnnualPercentage[1] = 0.85;
							AnnualPercentage[2] = 0.75;
							AnnualPercentage[3] = 0.60;
							AnnualPercentage[4] = 0.40;
							AnnualPercentage[5] = 0.30;
							AnnualPercentage[6] = 0.20;
					}
					else {
							AnnualPercentage[0] = 0.60;
							AnnualPercentage[1] = 0.45;
							AnnualPercentage[2] = 0.40;
							AnnualPercentage[3] = 0.40;
					}
								
					
				
				var AnnualAdvisoryFee_Amount = 0;
				var AnnualAdvisoryFee_Percentage = 0;
				var Holder =0;
				var Percent_Holder = 0;
				var Multiplicand = new Array();
				
				if (PortfolioAmount <= 250000) {
					Multiplicand[0] = PortfolioAmount;
					Iterations = 1;
				}
				
				if ((PortfolioAmount >=250001) && (PortfolioAmount <= 500000)) {
						Multiplicand[0] = 250000;
						Multiplicand[1] = PortfolioAmount - 250000;
						Iterations = 2;
				}
				
				if ((PortfolioAmount >=500001) && (PortfolioAmount <=1000000)) {
						Multiplicand[0] = 250000;
						Multiplicand[1] = 250000;
						Multiplicand[2] = PortfolioAmount -500000;
						Iterations = 3;
				}
				
				if ((PortfolioAmount >=1000001) && (PortfolioAmount <=2000000)) {
						Multiplicand[0] = 250000;
						Multiplicand[1] = 250000;
						Multiplicand[2] = 500000;
						Multiplicand[3] = PortfolioAmount - 1000000;
						Iterations = 4;
				}
				
				if ((PortfolioAmount >= 2000001) && (PortfolioAmount <= 4000000)) {
						Multiplicand[0] = 250000;
						Multiplicand[1] = 250000;
						Multiplicand[2] = 500000;
						Multiplicand[3] = 1000000;
						Multiplicand[4] = PortfolioAmount - 2000000;
						Iterations = 5;
				}
					
				if ((PortfolioAmount >= 4000001) && (PortfolioAmount <= 8000000)) {
						Multiplicand[0] = 250000;
						Multiplicand[1] = 250000;
						Multiplicand[2] = 500000;
						Multiplicand[3] = 1000000;
						Multiplicand[4] = 2000000;
						Multiplicand[5] = PortfolioAmount - 4000000;
						Iterations = 6;
				}
				
				if ((PortfolioAmount >= 8000001) && (PortfolioAmount <= 15000000)) {
						Multiplicand[0] = 250000;
						Multiplicand[1] = 250000;
						Multiplicand[2] = 500000;
						Multiplicand[3] = 1000000;
						Multiplicand[4] = 2000000;
						Multiplicand[5] = 4000000;
						Multiplicand[6] = PortfolioAmount - 8000000;
						Iterations = 7;
				}
					
				
				for (var i=0;i <= Iterations-1;i=i+1) {
					Holder = Holder + ((AnnualPercentage[i] / 100 ) * Multiplicand[i]);  // note - div by 100 to make it a real percentage - i.e. 0.85% not 85%!
					
				}
				
				AnnualAdvisoryFee_Amount = Holder;
				AnnualAdvisoryFee_Percentage = (AnnualAdvisoryFee_Amount / PortfolioAmount)*100;
				
				if ((AnnualAdvisoryFee_Amount < 340) && (InvestmentType == 1)) {
						AnnualAdvisoryFee_Amount = 340;
				}
				
				if ((AnnualAdvisoryFee_Amount < 1000) && (InvestmentType == 0)) {
						AnnualAdvisoryFee_Amount = 1000;
				}
				
				
				
				document.Form1.AnnualAdvisoryFee_Percent.value= (AnnualAdvisoryFee_Amount / PortfolioAmount *100).toFixed(2) + "%";
				document.Form1.AnnualAdvisoryFee_Amount.value = "$" + AnnualAdvisoryFee_Amount.toFixed(2); 
				
				document.Form1.AnnualPortfolioExpenses_Percent.value = HypotheticalPortfolio + "%";
				document.Form1.AnnualPortfolioExpenses_Amount.value = "$" + ((HypotheticalPortfolio / 100) * PortfolioAmount).toFixed(2);
				
				document.Form1.TotalEstimatedAnnualCost_Percent.value = ((AnnualAdvisoryFee_Amount + ((HypotheticalPortfolio / 100) * PortfolioAmount))/PortfolioAmount*100).toFixed(2) +"%";
				document.Form1.TotalEstimatedAnnualCost_Amount.value = "$" + (AnnualAdvisoryFee_Amount + ((HypotheticalPortfolio / 100) * PortfolioAmount)).toFixed(2);

			}   // end function.
				
				
				