
function choose_product( prod )
{
	for ( var i = 0; i < AllProds.length; i++ )
	{
		var tab = $(AllProds[i] + '_tab')
		var pick = $(AllProds[i] + '_pick')
		if ( prod == AllProds[i] )
		{
			tab.style.display = ""
			pick.className = "shop-selector-active"
		}
		else
		{
			tab.style.display = "none"
			pick.className = "shop-selector-inactive"
		}
	}
}

// names must be base_name0 base_name1, etc, and those correspond to the values array
function calc_MakeRadio( base_name, values )
{
	return function( radio_id )
	{
		ext = radio_id.substr( base_name.length )
		return values[ ext ]
	}
}

function calc_ResolveRadio( base_name, values )
{
	res = calc_MakeRadio( base_name, values )
	for ( i = 0; i < values.length; i++ )
	{
		name = base_name + i
		if ( $( name ).checked )
		{
			return res( name )
		}
	}
	throw( 'nothing chosen' )
}

function calc_ResolveOptionList( list_name, values )
{
	return values[ $( list_name ).selectedIndex ]
}

// Keep these in sync with buy.rb
function calc_Alb_Options( prefix )
{
	alb = 4950
	return alb
}

function calc_Price_WGS() { return 2350 }

function calc_Test_Options( prefix )
{
	return 0
}

function calc_Sew_Total()
{
  sew_base = 9950
	sew_mods = calc_ResolveRadio( 'sew_module_', [0, 2950] )
	sew_wgs = $( 'sew_wgs' ).checked ? calc_Price_WGS() : 0
  //                                                      200   500   1000   2000   5000   10000  20000  50000  100000
	sew_pipes = calc_ResolveOptionList( 'sew_pipes', [0,    9000, 18000, 22000, 26000, 30000, 34000, 42000, 50000] )
	sew_alb = 4950 //calc_Alb_Options( 'sew_' )
	return sew_base + sew_mods + sew_wgs + sew_pipes + sew_alb
}

function calc_Wad_Total()
{
	wad_base = 9950
	wad_mods = calc_ResolveRadio( 'wad_opt_', [0, 8950, 8950, 17900, 20250] )
	wad_wgs = $( 'wad_wgs' ).checked ? calc_Price_WGS() : 0
  //                                                      200   500   1000   2000   5000   10000  20000  50000  100000
	wad_pipes = calc_ResolveOptionList( 'wad_pipes', [0,    9000, 18000, 22000, 26000, 30000, 34000, 42000, 50000] )
	wad_alb = 4950 //calc_Alb_Options( 'wad_' )
	return wad_base + wad_mods + wad_wgs + wad_pipes + wad_alb
}

function calc_Alb_Total()
{
	return 9950
}

function calc_Test_Total()
{
	return 1 + calc_Test_Options( '' )
}

function calc_SetCurrency( cur )
{
	Currency = cur
	calc_Update()
}

function calc_UpdateTotal( field, zar )
{
	var cur = (zar / XRate[Currency]).toFixed(2)
	var symb = XRate_Symbol[Currency]
	$( field ).firstChild.nodeValue = "Total: " + symb + cur + " (" + Currency + ")"
}

function calc_Sew_Update()
{
	calc_UpdateTotal( 'sew_total', calc_Sew_Total() )
}

function calc_Wad_Update()
{
	calc_UpdateTotal( 'wad_total', calc_Wad_Total() )
}

function calc_Alb_Update()
{
	calc_UpdateTotal( 'alb_total', calc_Alb_Total() )
}

function calc_Test_Update()
{
	if ( !$('test_tab') ) return
	calc_UpdateTotal( 'test_total', calc_Test_Total() )
}

function calc_Update()
{
	calc_Wad_Update()
	calc_Sew_Update()
	calc_Alb_Update()
	calc_Test_Update()
}
