//
// Copyright @2009 Plangarden 
// Copyright @2009 Roy Stahl
// This code can not be used outside www.plangarden.com without express written permission
//
//
var veggies = [
{name:' -- Select Vegetable --',id:0,space:0,veglbperfoot:0,priceperlb:0},	

{name:'Artichoke',id:1,space:8,priceperlb:4,veglbperfoot:0.6},
{name:'Arugula',id:2,space:5,priceperlb:10,veglbperfoot:2},
{name:'Basil',id:3,space:1,priceperlb:16,veglbperfoot:0.33},
{name:'Bean, Bush ',id:4,space:10,priceperlb:2.5,veglbperfoot:0.8},
{name:'Bean, Runner',id:5,space:10,priceperlb:3,veglbperfoot:1.8},
{name:'Bean, Snap Pole ',id:6,space:10,priceperlb:3,veglbperfoot:1.4},
{name:'Beet',id:7,space:5,priceperlb:2.5,veglbperfoot:1},
{name:'Broccoli ',id:8,space:6,priceperlb:2,veglbperfoot:0.4},
{name:'Broccoli Raab/Rabe ',id:9,space:6,priceperlb:3,veglbperfoot:4.8},
{name:'Brussels Sprouts',id:10,space:6,priceperlb:4,veglbperfoot:1.2},
{name:'Cabbage ',id:11,space:4,priceperlb:0.4,veglbperfoot:0.5},
{name:'Carrots',id:12,space:5,priceperlb:1,veglbperfoot:3.6},
{name:'Chard, Swiss',id:13,space:5,priceperlb:1.49,veglbperfoot:2.2},
{name:'Chives ',id:14,space:1,priceperlb:24,veglbperfoot:0.2},
{name:'Choi, Pac/Bok',id:15,space:6,priceperlb:1.5,veglbperfoot:1.5},
{name:'Cilantro',id:16,space:1,priceperlb:7.8,veglbperfoot:1.325},
{name:'Corn ',id:17,space:10,priceperlb:0.66,veglbperfoot:1},
{name:'Cucumber',id:18,space:8,priceperlb:1.49,veglbperfoot:3.2},
{name:'Dill',id:19,space:1,priceperlb:32,veglbperfoot:0.2},
{name:'Eggplant ',id:20,space:2,priceperlb:2.5,veglbperfoot:0.9},
{name:'Endive, Batavian ',id:21,space:2,priceperlb:6,veglbperfoot:0.5},
{name:'Garlic',id:22,space:3,priceperlb:8,veglbperfoot:0.2},
{name:'Grass, Lemon',id:23,space:1,priceperlb:3,veglbperfoot:1},
{name:'Greens, Mustard ',id:24,space:1,priceperlb:2.46,veglbperfoot:0.5},
{name:'Kale',id:25,space:1,priceperlb:4,veglbperfoot:1.4},
{name:'Kohlrabi',id:26,space:2,priceperlb:1.5,veglbperfoot:0.5},
{name:'Leeks ',id:27,space:2,priceperlb:2.5,veglbperfoot:0.7},
{name:'Lettuce ',id:28,space:4,priceperlb:4,veglbperfoot:0.9},
{name:'Onion, Bulb',id:29,space:2,priceperlb:1.25,veglbperfoot:2.1},
{name:'Onion, Bunching',id:30,space:2,priceperlb:2.88,veglbperfoot:1.4},
{name:'Parsley ',id:31,space:1,priceperlb:5.12,veglbperfoot:4.1},
{name:'Parsnips ',id:32,space:3,priceperlb:3,veglbperfoot:0.5},
{name:'Peas, English ',id:33,space:6,priceperlb:3,veglbperfoot:0.6},
{name:'Peas, Snow ',id:34,space:6,priceperlb:5,veglbperfoot:0.9},
{name:'Pepper, Bell',id:35,space:2,priceperlb:3,veglbperfoot:0.6},
{name:'Pepper, Jalapeño',id:36,space:2,priceperlb:5,veglbperfoot:0.9},
{name:'Potato',id:37,space:8,priceperlb:1.8,veglbperfoot:1.5},
{name:'Pumpkin ',id:38,space:9,priceperlb:1,veglbperfoot:6.2},
{name:'Radish, Red ',id:39,space:1,priceperlb:3.66,veglbperfoot:1.7},
{name:'Rhubarb ',id:40,space:3,priceperlb:2.5,veglbperfoot:1.3},
{name:'Rutabaga ',id:41,space:2,priceperlb:2,veglbperfoot:0.5},
{name:'Spinach',id:42,space:6,priceperlb:2,veglbperfoot:0.9},
{name:'Squash, Summer, Yellow',id:43,space:4,priceperlb:2,veglbperfoot:0.9},
{name:'Squash, Summer, Zucchini ',id:44,space:4,priceperlb:1.5,veglbperfoot:5.3},
{name:'Squash, Winter, Acorn ',id:45,space:4,priceperlb:2,veglbperfoot:0.6},
{name:'Squash, Winter, Butternut ',id:46,space:4,priceperlb:2,veglbperfoot:1.6},
{name:'Squash, Winter, Hubbard ',id:47,space:4,priceperlb:2,veglbperfoot:0.6},
{name:'Tomatillo ',id:48,space:2,priceperlb:4,veglbperfoot:2},
{name:'Tomato, Cherry',id:49,space:3,priceperlb:2.67,veglbperfoot:2.6},
{name:'Tomato, Large ',id:50,space:6,priceperlb:2.5,veglbperfoot:2.5},
{name:'Turnip ',id:51,space:6,priceperlb:2,veglbperfoot:6.6},
{name:'Watermelon',id:52,space:9,priceperlb:0.5,veglbperfoot:4}
];
function buildCombo () {
	var tbl = document.getElementById('vegTable');
	var lastRow = tbl.rows.length-2;
	i=0;
	for (;i<lastRow-1;i++){
		var vegBox = document.getElementById('vegetable'+i)
		for (var j=0;j< veggies.length;j++) {
			vegBox.options[j] = new Option(veggies[j].name,veggies[j].id);
		}		
	}
}
function updateRow (vegetable,rowNum) {
	document.getElementById('space'+rowNum).value=veggies[vegetable].space;
	document.getElementById('vegperarea'+rowNum).value=veggies[vegetable].veglbperfoot;
	document.getElementById('priceperunit'+rowNum).value=veggies[vegetable].priceperlb;
	updateSpace(rowNum);
	updateVeg(rowNum);
}
function updateSpace (rowNum) {

  var tbl = document.getElementById('vegTable');
  var lastRow = tbl.rows.length-2;
  i=0;
  var gardenUsedObj =  document.getElementById('gardenUsed');
  var gardenUsed = 0;
  for (;i<lastRow-1;i++){
	  if ( parseFloat(document.getElementById('space'+i).value) >0){
		  gardenUsed += parseFloat(document.getElementById('space'+i).value);
	  }
  }
  gardenUsedObj.value = gardenUsed;
  var gardenLeftObj =  document.getElementById('gardenLeft');
  var gardenSize =  parseFloat(document.getElementById('gardenSize').value);
  gardenLeftObj.value = gardenSize-gardenUsedObj.value;
  
  if (!isNaN(rowNum)) {
	  updateVeg(rowNum);
  } 
}
function updateVeg (rowNum) {

	var space = parseFloat(document.getElementById('space'+rowNum).value);
	var priceperunit = parseFloat(document.getElementById('priceperunit'+rowNum).value);
	var vegperarea = parseFloat(document.getElementById('vegperarea'+rowNum).value);
	
	var veglbObj =  document.getElementById('veglb'+rowNum);
	var totalObj =  document.getElementById('total'+rowNum);
	
	if (space > 0 && priceperunit >0 &vegperarea >0) {
		veglbObj.value = (space * vegperarea).toFixed(2);
		totalObj.value = (space * priceperunit * vegperarea).toFixed(2);
	} else  {
		veglbObj.value = 0;
		totalObj.value =0;	
	}
	updateTotal();
}
function updateTotal (rowNum) {
	if (!(isNaN(rowNum))) {
		var veglb = parseFloat(document.getElementById('veglb'+rowNum).value);
		var priceperunit = parseFloat(document.getElementById('priceperunit'+rowNum).value);
		if (veglb > 0 && priceperunit >0) {
			document.getElementById('total'+rowNum).value = (veglb* priceperunit).toFixed(2);
		}
	}
	
	var tbl = document.getElementById('vegTable');
	var lastRow = tbl.rows.length-2;

	var grandTotalObj =  document.getElementById('grandtotal');
	var veglbTotalObj =  document.getElementById('vegtotal');
	grandTotal = 0;
	veglbTotal = 0;
	i=0;
	for (;i<lastRow-1;i++){
	  if ( parseFloat(document.getElementById('total'+i).value) >0){
		  grandTotal += parseFloat(document.getElementById('total'+i).value);
	  }
	  if ( parseFloat(document.getElementById('veglb'+i).value) >0){
		  veglbTotal += parseFloat(document.getElementById('veglb'+i).value);
	  }

	}
	var multiple = 0;
	var radioes = document.getElementsByName('costMultiple'); 
	for(var i=0;i<radioes.length;i++) {
		if(radioes[i].checked){
			multiple = radioes[i].value;
		}
	}
	veglbTotalObj.value = (veglbTotal).toFixed(2);
	grandTotalObj.value = (grandTotal*multiple).toFixed(2);
}
function addVeg() {
  var tbl = document.getElementById('vegTable');
  var lastRow = tbl.rows.length-2;
  var iteration = lastRow;
  var newRow = tbl.insertRow(lastRow);
  var rowID = lastRow -1;

  var newCell0 = newRow.insertCell(0); newCell0.style.textAlign = 'right';newCell0.className="vegColor";
  newCell0.innerHTML = '<select name="vegetable'+rowID+'" id="vegetable'+rowID+'" onchange="updateRow(this.value,'+rowID+')"></select>';

  var newCell1 = newRow.insertCell(1); newCell1.style.textAlign = 'right';newCell1.className="vegColor";
  newCell1.innerHTML = '<input name="space'+rowID+'" type="text" id="space'+rowID+'" size="7" onchange="updateSpace('+rowID+');" />';

  var newCell2 = newRow.insertCell(2); newCell2.style.textAlign = 'right';newCell2.className="vegColor";
  newCell2.innerHTML = '<input name="vegperarea'+rowID+'" type="text" id="vegperarea'+rowID+'" size="7" onchange="updateVeg('+rowID+');" />';

  var newCell3 = newRow.insertCell(3); newCell3.style.textAlign = 'right';newCell3.className="vegColor";
  newCell3.innerHTML = '<input name="priceperunit'+rowID+'" type="text" id="priceperunit'+rowID+'" size="7"  onchange="updateVeg('+rowID+');"/>';

  var newCell4 = newRow.insertCell(4); newCell4.style.textAlign = 'right';newCell4.className="veglbColor";
  newCell4.innerHTML = '<input name="veglb'+rowID+'" type="text" id="veglb'+rowID+'" size="7"  onchange="updateTotal('+rowID+');"/>';

  var newCell5 = newRow.insertCell(5); newCell5.style.textAlign = 'right';newCell5.className="totalColor";
  newCell5.innerHTML = '<input name="total'+rowID+'" type="text" id="total'+rowID+'" size="7"  onchange="updateTotal();"/>';

	var vegBox = document.getElementById('vegetable'+rowID)
	for (var j=0;j< veggies.length;j++) {
		vegBox.options[j] = new Option(veggies[j].name,veggies[j].id);
	}	

}