function doCalc(){
	//get values in inputs from user
	var direct = doValue('direct');
	var viral = doValue('viral');		  
	var invitelevels = doValue('invitelevels');
	var fixedinvitelevels = (invitelevels - 1);
	
	//invitelevels = Number(invitelevels.selectedIndex);  
	var yourmembers = doValue('yourmembers');		  
	var yourwebsite = doValue('yourwebsite');		  
	var yourtoolbar = doValue('yourtoolbar');
	
	//initialize vars before loops to get level 1 values
	var holder1 = direct;
	var holder1members = ((holder1 * yourmembers)*.0030)*30;
	var holder1toolbar = ((holder1 * yourtoolbar)*0.03)*30;
	
	//if invites are 2 or greater
	if(invitelevels>=2){
		for (i=0;i<fixedinvitelevels;i++){
			
			//get total direct members per invite level		
			var holder2 = (holder1 * viral);	
			var holdall = direct += holder2;
			
			//get total $ from members per invite level
			var holder2members = ((holder2 * yourmembers)*.0030)*30;						
			var holdallmembers = holder1members += holder2members;
			
			//get total $ from your toolbar
			var holder2toolbar = ((holder2 * yourtoolbar)*0.03)*30;					
			var holdalltoolbar = holder1toolbar += holder2toolbar;
									
			//now done with one invite level so change holder var to equal current direct reg number 
			//start of loop then does * viral num to continue untill we reach end of viral number
			holder1 = holder2;
		}		
		
		//write totals to all inputs
		var totaldirect = holdall;
		var totalyourmembers = holdallmembers;
		var totalyourwebsite = (yourwebsite * 0.01)*30;
		var totalyourtoolbar = holdalltoolbar;
		var totalnet = (totalyourmembers + totalyourwebsite + totalyourtoolbar); 	
		showTotal(totaldirect,'totaldirect');
		showTotal(totalyourmembers,'totalyourmembers');	
		showTotal(totalyourwebsite,'totalyourwebsite');
		showTotal(totalyourtoolbar,'totalyourtoolbar');
		showTotal(totalnet,'totalnet');
	} else {
		//write totals to all inputs based on less than 2 viral audience
		var totaldirect = direct;
		var totalyourmembers = holder1members;
		var totalyourwebsite = (yourwebsite * 0.01)*30;
		var totalyourtoolbar = holder1toolbar;
		var totalnet = (totalyourmembers + totalyourwebsite + totalyourtoolbar);
		//alert(totalnet);	
		showTotal(totaldirect,'totaldirect');
		showTotal(totalyourmembers,'totalyourmembers');	
		showTotal(totalyourwebsite,'totalyourwebsite');
		showTotal(totalyourtoolbar,'totalyourtoolbar');
		showTotal(totalnet,'totalnet');
		//document.getElementById('totalnet').value = totalnet;
	}
	function doValue(who)
	{
		if (document.getElementById(who))
		{
			var theValue = document.getElementById(who).value;
			//convert string to num before pass back
			return parseInt(theValue);
		}
		return 0;
	}
	function showTotal(myNum,who)
	{
	      	var decimal = 2;
	      	for(i=1; i<=2; i++)
	      	{ 
		        decimal = decimal *100;
			var myFormattedNum = ((myNum * decimal)/decimal);
			if (myNum = totalnet) {
				document.getElementById(who).value = "$"+addCommas(myFormattedNum.toFixed(2));
			}else{
				myFormattedNum = addCommas(myFormattedNum.toFixed(2));
				document.getElementById(who).value = (myFormattedNum == 'NaN' || myFormattedNum == NaN) ? '0.00' : myFormattedNum;
			}
		}
	}
	
	function addCommas(nStr)
	{
		nStr += '';
		x = nStr.split('.');
		x1 = x[0];
		x2 = x.length > 1 ? '.' + x[1] : '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(x1)) {
			x1 = x1.replace(rgx, '$1' + ',' + '$2');
		}
		return x1 + x2;
	}	
}
function emptyValue(who){
	if(who.value=='0')
	who.value = '';
}

//when user changes viral select, need to allow / disallow invites select
//if viral audience is not at least 2, then invitation level stays at 1 (disabled)
function updateInvites(num){
	//alert("my num is :" + num + "and is of type " + typeof(num));
	num = parseInt(num);
	if (num >= 2) {
		document.getElementById('invitelevels').disabled = false;
	}else{
		document.getElementById('invitelevels').disabled = true;
		document.getElementById('invitelevels').value = 1;
	}
}

//addEvent(window, 'load', doCalc);
