var formElements;
$(function() {
	formElements = new FormElements();
});

function FormElements()
{
	this.key = 0;
	this.rowElements = new Array();
	idRoot = 'catalog_number_';

	parseElements = $(".cat_number");

	var j = 0;
	for (i = 0; i < parseElements.length; i++) {
		currentId = parseElements[i].id
		if (currentId.substr(0,idRoot.length) == idRoot) {
			n = currentId.substr(idRoot.length);
			this.rowElements[j] = new RowElement(n);
			j++;
		}
	}
}

FormElements.prototype.changeItem = function(n, changeVar)
{
	this.key = n;
	row = this.getRowElement(n);

	if (row != 'undefined') {
		if (changeVar == 'cas_number') {
			data = {'cas_number':row.casNumber.val()}
		} else {
			data = {'catalog_number':row.catalogNumber.val()};
		}

		$.getJSON('/lib/ajax/quote_form.php', data, function(item) {
			row.catalogNumber.val(item.catalog_number);
			row.casNumber.val(item.cas_number);
			row.description.val(item.description);
			return;
		});
		row.casNumber.val('');
		row.description.val('Invalid Catalog Number');
	}
}


FormElements.prototype.getRowElement = function(n)
{
	for (i = 0; i < this.rowElements.length; i++) {
		if (this.rowElements[i].rowNumber == n) {
			return this.rowElements[i];
		}
	}
}

function RowElement(n)
{
	this.rowNumber = n;
	this.currentPrice = 0;

	this.catalogNumber = $("#catalog_number_" + n);
	this.casNumber = $("#cas_number_" + n);
	this.description = $("#description_" + n);

	this.catalogNumber.keypress(function(event){return (event.keyCode == 13) ? false : true;});
	this.casNumber.keypress(function(event){return (event.keyCode == 13) ? false : true;});

	this.catalogNumber.keyup(function(){formElements.changeItem(eval(n), 'catalog_number')});

	return this;
}
