/**
 * @author aanda
 */

var arModels = new Array();
var modelChanged = false;
var reportWindow;
function saveModel() {
	//alert('adding to ' + arModels.length)
	var offset = arModels.length;
	var rows = $("conversionTableBody").getElementsByTagName("tr");
	//alert(rows.length + " with " + $("conversionTableBody"));
	var name = prompt('Enter a name for this model?');
	arModels[offset] = new Object();
	arModels[offset].steps = new Array(1);
		
	for(var h=0;h<rows.length-1;h++) {
		arModels[offset].steps[h] = new Object();
		var cells = rows[h].getElementsByTagName("td");
		arModels[offset].steps[h].label = cells[0].innerHTML;
		arModels[offset].steps[h].percent = cells[1].getElementsByTagName("input")[0].value;
		arModels[offset].steps[h].number = cells[2].getElementsByTagName("input")[0].value;
	}
	arModels[offset].conversion = $("totalConversion").value;
	if(name && name != 'undefined' && name.length) {	
		arModels[offset].modelName = name;
	} else {
		arModels[offset].modelName = 'Model ' + (offset+1);
	}
	addModel();
}

function generateReport() {
	reportWindow = window.open('report.html');

}

function renderReport() {
		//alert(report.document);
	var str = '';
	str += "<h1>Conversion Model Report</h1>"
	for(var i=0;i<arModels.length;i++) {
		str += renderModel(arModels[i]);	
	}
	reportWindow.document.body.innerHTML = str;
}

function renderModel(model){
	var str='<table><tr><th colspan="3">' + model.modelName+'</th></tr>';
	str += '<tr><th>Step</th><th>Percent</th><th>Volume</th></tr>'
	for(var i=0;i<model.steps.length;i++) {
		str += '<tr><td>' + model.steps[i].label + '</td><td>' + model.steps[i].percent + '</td><td>' + model.steps[i].number + '</td></tr>'
		
	}
	str += '</table>';
	return str;
}

function addModel() {
	var tempNode;
	var domNode;
	//alert(arModels.length);
	if(arModels.length == 1) {
		showModels();		
	} else {
		tempNode =$("modelRow0").cloneNode(true);
		//alert(tempNode.innerHTML);
		MochiKit.DOM.setNodeAttribute(tempNode,"id","modelRow" + arModels.length);
		domNode = $("modelsTableBody").insertBefore(tempNode,$("modelsControlBox"));
		domNode.getElementsByTagName("td")[0].innerHTML = arModels[arModels.length-1].modelName + ' at ' +  arModels[arModels.length-1].conversion;
	
	}
	
	
}

function showModels() {
	//alert('showing');
	document.getElementById("modelsTable").style.display = 'inline';
	$("modelRow0").getElementsByTagName("td")[0].innerHTML = arModels[0].modelName+ ' at ' +  arModels[arModels.length-1].conversion;
}