//Copyright © 2006 Harper Resophonics

var top_wood;
var top_wood_label;
var back_sides_wood;
var back_sides_wood_label;
var body_style;
var body_style_label;
var coverplate_pattern;
var coverplate_pattern_label;
var hardware_color;
var hardware_color_label;
var binding;
var binding_label;
var purfling;
var purfling_label;
var fretboard_binding;
var fretboard_binding_label;
var frets;
var frets_label;
var fretmarkers;
var fretmarkers_label;
var logo;
var logo_label;
var electronics;
var electronics_label;
var base = 3000;
var top_upgrade = 0;
var back_sides_upgrade = 0;
var binding_upgrade = 0;
var f_hole_discount = 0;
var hardware_upgrade = 0;
var bound_fretboard_upgrade=0;
var fret_upgrade = 0;
var fret_marker_upgrade = 0;
var purfling_upgrade = 0;
var electronics_upgrade = 0;

var hashmap = new Object();
hashmap.koa = new Object();
hashmap.koa.label = 'Koa';
hashmap.cedar = new Object();
hashmap.cedar.label = 'Western Red Cedar';
hashmap.mahogany = new Object();
hashmap.mahogany.label = 'Mahogany';
hashmap.maple = new Object();
hashmap.maple.label = 'Curly Maple';
hashmap.spruce = new Object();
hashmap.spruce.label = 'Spruce';
hashmap.walnut = new Object();
hashmap.walnut.label = 'Walnut';
hashmap.i_rosewood = new Object();
hashmap.i_rosewood.label = 'Indian Rosewood';
hashmap.zebrawood = new Object();
hashmap.zebrawood.label = 'Zebrawood';
hashmap.ports = new Object();
hashmap.ports.label = 'Standard Ports';
hashmap.f_mod = new Object();
hashmap.f_mod.label = 'Modern F-Holes';
hashmap.f_trad = new Object();
hashmap.f_trad.label = 'Traditional F-Holes';
hashmap.bound = new Object();
hashmap.bound.label = 'Bound';
hashmap.unbound = new Object();
hashmap.unbound.label = 'Unbound';
hashmap.pearl = new Object();
hashmap.pearl.label = 'Pearl';
hashmap.wood = new Object();
hashmap.wood.label = 'Wood';
hashmap.abalone = new Object();
hashmap.abalone.label = 'Abalone';
hashmap.dots = new Object();
hashmap.dots.label = 'Dots';
hashmap.snowflakes = new Object();
hashmap.snowflakes.label = 'Snowflakes';
hashmap.ebony = new Object();
hashmap.ebony.label = 'Ebony';
hashmap.m_rosewood = new Object();
hashmap.m_rosewood.label = 'Madagascar Rosewood';
hashmap.ivoroid = new Object();
hashmap.ivoroid.label = 'Ivoroid';
hashmap.herringbone_fine = new Object();
hashmap.herringbone_fine.label = 'Fine Herringbone';
hashmap.herringbone_bold = new Object();
hashmap.herringbone_bold.label = 'Bold Herringbone';
hashmap.rope_fine = new Object();
hashmap.rope_fine.label = 'Fine Rope';
hashmap.black = new Object();
hashmap.black.label = 'Black';
hashmap.white = new Object();
hashmap.white.label = 'White';
hashmap.black_white = new Object();
hashmap.black_white.label = 'Black/White';
hashmap.black_white_black = new Object();
hashmap.black_white_black.label = 'Black/White/Black';
hashmap.none = new Object();
hashmap.none.label = 'None';
hashmap.fishman_passive = new Object();
hashmap.fishman_passive.label = 'Passive Fishman';
hashmap.fishman_active = new Object();
hashmap.fishman_active.label = 'Active Fishman';
hashmap.schertler = new Object();
hashmap.schertler.label = 'Schertler';
hashmap.chrome = new Object();
hashmap.chrome.label = 'Chrome';
hashmap.gold = new Object();
hashmap.gold.label = 'Gold';
hashmap.oynx = new Object();
hashmap.oynx.label = 'Oynx';
hashmap.fan = new Object();
hashmap.fan.label = 'Fan';
hashmap.lyre = new Object();
hashmap.lyre.label = 'Lyre';
hashmap.mop = new Object();
hashmap.mop.label = 'Mother Of Pearl';
hashmap.black_pearl = new Object();
hashmap.black_pearl.label = 'Black Pearl';

function getLabel(type) {
   return hashmap[type]['label'];
}


function setValues(){
	top_wood = getValue('top_wood');	
	top_wood_label=getLabel(top_wood); 
	back_sides_wood = getValue('back_sides_wood');	
	back_sides_wood_label=getLabel(back_sides_wood);
	body_style = getValue('body_style');
	body_style_label = getLabel(body_style);
	coverplate_pattern = getValue('coverplate_pattern');
	coverplate_pattern_label = getLabel(coverplate_pattern);
	hardware_color = getValue('hardware_color');
	hardware_color_label = getLabel(hardware_color);
	binding = getValue('binding');
	binding_label = getLabel(binding);
	purfling = getValue('purfling');
	purfling_label= getLabel(purfling)
	fretboard_binding = getValue('fretboard_binding');
	fretboard_binding_label = getLabel(fretboard_binding)
	frets = getValue('frets');
	frets_label = getLabel(frets)
	fretmarkers = getValue('fretmarkers');
	fretmarkers_label = getLabel(fretmarkers)
	logo = getValue('logo');
	logo_label = getLabel(logo)
	electronics = getValue('electronics');	
	electronics_label = getLabel(electronics)
	//alert(getValue('back_sides_wood'))

	top_upgrade=calcTopUpgrade();
	back_sides_upgrade=calcBackSidesUpgrade();
	binding_upgrade = calcBindingUpgrade();
	f_hole_discount = calcFholeDiscount();
	hardware_upgrade = calcHardwareUpgrade();
	bound_fretboard_upgrade = calcBoundFretboardUpgrade();
	fret_upgrade = calcFretUpgrade();
	fret_marker_upgrade = calcFretMarkerUpgrade();
	purfling_upgrade = calcPurflingUpgrade();
	electronics_upgrade = calcElectronicsUpgrade();
}


function calculateCost(){
	setValues();
 	var total = base+top_upgrade+back_sides_upgrade+binding_upgrade-f_hole_discount+
 	hardware_upgrade+bound_fretboard_upgrade+fret_upgrade+fret_marker_upgrade+
 	purfling_upgrade+electronics_upgrade;
 	/*
 	alert("base="+base+" top_upgrade="+top_upgrade+
 	" back_sides_upgrade="+back_sides_upgrade+
 	" binding_upgrade="+binding_upgrade+
 	" f_hole_discount="+f_hole_discount+
 	" hardware_upgrade="+hardware_upgrade+
 	" bound_fretboard_upgrade="+bound_fretboard_upgrade+
 	" fret_upgrade="+fret_upgrade+
 	" fret_marker_upgrade="+fret_marker_upgrade+
 	" purfling_upgrade="+purfling_upgrade)
 	*/

 	return total;
}

function calcTopUpgrade(){
	if(top_wood=='koa'){
		return 100;
	}else{
		return 0;
	}
}

function calcBackSidesUpgrade(){
	if(back_sides_wood=='i_rosewood' || back_sides_wood=='zebrawood'){
		return 100;
	}else if(back_sides_wood=='koa'){
		return 300;
	}else{
		return 0;
	}
}
function calcBindingUpgrade(){
	if(binding=='i_rosewood' || binding=='maple' || binding=='koa' ||
		 binding=='ebony' || binding=='m_rosewood'){
		return 50;
	}else if(binding=='unbound'){
		return -25;
	}else{
		return 0;
	}
}

function calcFholeDiscount(){
	if(body_style=='f'){
		return 40;
	}else{
		return 0;
	}
}

function calcHardwareUpgrade(){
	if(hardware_color=='gold' || hardware_color=='oynx'){
		return 150;
	}else{
		return 0;
	}
}

function calcBoundFretboardUpgrade(){
	if(fretboard_binding=='bound' && (calcBindingUpgrade()>0)){
		return 50;
	}else{
		return 0;
	}
}

function calcFretUpgrade(){
	if((frets=='pearl') || (frets=='abalone')){
		return 100;
	}else{
		return 0;
	}
}

function calcFretMarkerUpgrade(){
	if(fretmarkers=='snowflakes'){
		return 75;
	}else{
		return 0;
	}
}


function calcPurflingUpgrade(){
	if((purfling=='herringbone_fine') || (purfling=='herringbone_bold')){
		return 60;
	}else if(purfling =='rope_fine'){
		return 50;
	}else if(purfling =='abalone'){
		return 350;
	}else if(purfling !='none'){
		return 40;
	}else{
		return 0;
	}
}

function calcElectronicsUpgrade(){
	if(electronics=='schertler'){
		return 200;
	}else if(electronics=='fishman_passive'){
		return 150;
	}else if(electronics=='fishman_active'){
		return 200;
	}else{
		return 0;
	}
}


function getValue(element) {
	for (var i = 0; i<document.forms.cost_form[element].length; i++) {
		if (document.cost_form[element][i].checked) {
			return document.cost_form[element][i].value;
			break;
		}
	}
}

function updateCost(){
	document.cost_form.cost.value = '$'+calculateCost()+'.00'
	
	document.cost_form.top.value=top_wood_label;
	document.cost_form.back_sides.value=back_sides_wood_label;
	document.cost_form.body_type.value=body_style_label;
	document.cost_form.fretboard.value=fretboard_binding_label;
	document.cost_form.fret_type.value=frets_label;
	document.cost_form.markers.value=fretmarkers_label;
	document.cost_form.logo_type.value=logo_label;
	document.cost_form.binding_type.value=binding_label;
	document.cost_form.purfling_type.value=purfling_label;
	document.cost_form.electronics_type.value=electronics_label;	
	document.cost_form.hardware.value=hardware_color_label;
	document.cost_form.coverplate.value=coverplate_pattern_label;	
}

function processClicks() {
  alert("Thank you for clicking the mouse button.");
}

function checkFrets(){
	if(document.cost_form.fretboard_binding[0].checked==true){
		document.cost_form.frets[1].checked=true
	}
	if(document.cost_form.frets[0].checked==true){
		document.cost_form.fretboard_binding[1].checked=true
	}
}

document.onclick = updateCost;

