
function home_tab (id)
{
	$('conTabContent_0').style.display='none';
	$('conTabContent_1').style.display='none';
	$('conTabContent_2').style.display='none';
	$('conTabContent_3').style.display='none';
	$('conTabContent_4').style.display='none';
	$('conTabContent_5').style.display='none';
	
	$('conTabContent_'+id).style.display='';
	$('conTabWrapper').className = 'opt-'+id;
}

var deskcallsperyear=0;
var passcallsperyear=0;
var passcostsperyear=0;
var numendusers=0;

function roiCalculate (obj)
{
	var id = obj.id;
	if (id.substring(0,1)=='_') id = id.substring(1,1);
	
	switch (id)
	{
		case 'a':
		case 'b':
			desk_calls();
			pass_calls();
			pass_costs();
			break;
		case 'c':
		case 'e':
			pass_calls();
			pass_costs();
			end_users();
			break;
		case 'f':
		case 'h':
			pass_costs();
			break;
		case 'i':
			$('j').value = "$" + $('i').value;
	}	
}

function changeAvgCost()
{
	pass_costs();
}

function changeEndUsers()
{
	desk_calls();
	pass_calls();
	pass_costs();
}

function changeCallsPerYear()
{
	pass_calls();
	pass_costs();
	end_users();
}

function changePwdCallsPerYear()
{
	r_pass_calls();
	pass_costs();
}

function changePwdCosts()
{
	$('j').value = "$" + $('i').value;
	r_pass_costs();
}

function changeResetPercentage()
{
	pass_calls();
	pass_costs();
	end_users();
}

function end_users ()
{
	// don't go back to the default
	// $('b').selectedIndex=20; 
	numendusers = Math.ceil ($('c').value/parseInt($('b').options[$('b').selectedIndex].value));
	$('a').value = numendusers;
}

function desk_calls ()
{
	deskcallsperyear = (parseInt($('a').value) * parseInt($('b').options[$('b').selectedIndex].value));
	if (isNaN(deskcallsperyear)) callsperyear = 0;
	$('c').value = deskcallsperyear;
	$('d').value = deskcallsperyear;
}

function pass_calls ()
{
	$('d').value = $('c').value;
	passcallsperyear = Math.ceil($('c').value * parseFloat($('e').options[$('e').selectedIndex].value));
	$('f').value = passcallsperyear;
	$('g').value = passcallsperyear;
}

function pass_costs ()
{
	$('g').value = $('f').value;
	passcostsperyear = Math.ceil($('f').value * parseInt($('h').value));
	$('i').value = passcostsperyear;
	$('j').value = "$" + $('i').value;
}

function r_pass_calls()
{
	passcallsperyear = $('f').value;
	deskcallsperyear = Math.ceil($('f').value / parseFloat($('e').options[$('e').selectedIndex].value))
	$('d').value = deskcallsperyear;
	$('c').value = deskcallsperyear;
	end_users();
}

function r_pass_costs()
{
	passcallsperyear = Math.ceil($('i').value / parseInt($('h').value));
	$('g').value = passcallsperyear;
	$('f').value = passcallsperyear;
	r_pass_calls()
}

function applyConferencePlan() {
  var planSelection = $('d').options[$('d').selectedIndex].value.split(',');
  var costPerMinute = $('b').options[$('b').selectedIndex].value;
  var upfront = planSelection[0];
  var sip = planSelection[1];
  $('e').value = '$'+sip;
  
  var callMinutesUsed = commaStringToNumber($('a').value);
  var costPerMonth = commaStringToNumber($('c').value);
  if (!isNaN(callMinutesUsed) && !isNaN(costPerMonth)) {
    var savings = (12 * commaStringToNumber($('a').value) * ( (parseFloat(costPerMinute) / 100) - parseFloat(sip) )) - parseFloat(upfront);
    
    if (savings <= 0) {
      $('f').value = '$0';
    } else {
      $('f').value = '$' + addCommas(savings.toFixed(2));
    }
  }
}

function computeCostPerMonth() {
  var callMinutesUsed = commaStringToNumber($('a').value);
  var costPerMinute = $('b').options[$('b').selectedIndex].value;
  if (isNaN(callMinutesUsed) || callMinutesUsed<=0) {
    alert('Please provide a positive number to indicate number of minutes your organization uses per month on conference calls.');
  } else {
    $('c').value = '$' + addCommas( (callMinutesUsed * costPerMinute) / 100 );
    $('a').value = addCommas(callMinutesUsed);
  }
  var planSelection = $('d').options[$('d').selectedIndex].value;
  if (planSelection!='Select a Plan' && planSelection!='') {
    applyConferencePlan();
  }
}

function reverseComputeCostPerMonth() {
  var costPerMonth = commaStringToNumber($('c').value);
  var costPerMinute = $('b').options[$('b').selectedIndex].value;
  if (isNaN(costPerMonth) || costPerMonth<=0) {
    alert("Please provide a positive number to indicate your organization's total cost per month for conference calls.");
  } else {
    $('a').value = addCommas( (costPerMonth / (costPerMinute/100)).toFixed(0) );
    $('c').value = '$' + addCommas(costPerMonth);
  }
  var planSelection = $('d').options[$('d').selectedIndex].value;
  if (planSelection!='Select a Plan' && planSelection!='') {
    applyConferencePlan();
  }
}

function commaStringToNumber(str) {
  str = str.replace(',','');
  str = str.replace('$','');
  return parseFloat(str);
}

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;
}