var PAYMENTHOURS = "Hours";
var PAYMENTAMOUNT = "Amount";
var PAYRATE = "80";
window.onload = init;

function init() {
	byId(document,"name").onkeyup = nameAndCompany;
	byId(document,"company").onkeyup = nameAndCompany;
	byId(document,"rbHours").onclick = switchFields;
	byId(document,"rbAmount").onclick = switchFields;
	byId(document,"txtOne").onkeyup = fieldHandle;
}
function nameAndCompany() {
	var itemNumber = byId(document,"item_number");
	itemNumber.value = byId(document,"name").value + " / " + byId(document,"company").value;
}
function fieldHandle() {
	var itemName = byId(document,"item_name");
	var itemAmount = byId(document,"item_amount");
	var payType = whichIsChecked();
	var txtOne = byId(document,"txtOne");
	var txtTwo= byId(document,"txtTwo");
	var value = txtOne.value;
	
	if( payType == PAYMENTHOURS) {
		handleIntegerOnlyField("txtOne");
		value = txtOne.value; // returns, for example "1" instead of "1d"

		if(value.length > 0) {
			itemName.value = value + " hours of work at $"+PAYRATE+".00/hr";
			itemAmount.value = value * PAYRATE;
			txtTwo.value = "$" + value * PAYRATE + ".00";
		} else {
			txtTwo.value = "$0.00";
		}
	} else if( payType == PAYMENTAMOUNT) {
		handleIntegerOnlyField("txtOne");
		value = txtOne.value; // returns, for example "1" instead of "1d"
		
		if(value%PAYRATE != 0) {
			txtTwo.value = "$" + PAYRATE + ".00 Increments";
		} else {
			txtTwo.value = value / PAYRATE;
			itemName.value = value / PAYRATE+ " hours of work at $"+PAYRATE+".00/hr";
			itemAmount.value = value;
		}
	}
}
function switchFields() {
	var payType = whichIsChecked();
	
	var optOne = byId(document,"payOption1");
	var labelOne = byTagName(optOne,"label")[0];
	var inputOne = byTagName(optOne,"input")[0];
	
	var optTwo = byId(document,"payOption2");
	var labelTwo = byTagName(optTwo,"label")[0];
	var inputTwo = byTagName(optTwo,"input")[0];
	
	var amount;
	var hours;
	
	if( payType == PAYMENTHOURS) {
		labelOne.innerHTML = PAYMENTHOURS;
		amount = "$" + inputOne.value + ".00";
		
		labelTwo.innerHTML = PAYMENTAMOUNT;
		hours = inputTwo.value;
		
		inputOne.value = hours;
		inputTwo.value = amount;
	} else if( payType == PAYMENTAMOUNT) {
		labelOne.innerHTML = PAYMENTAMOUNT;
		hours = inputOne.value;

		labelTwo.innerHTML = PAYMENTHOURS;
		amount = inputTwo.value;
		amount = amount.substr(1,amount.length - 4);
		
		inputOne.value = amount;
		inputTwo.value = hours;
	}
}
function whichIsChecked() {
	var rbHours = byId(document,"rbHours");
	return (rbHours.checked) ? PAYMENTHOURS : PAYMENTAMOUNT;
}
function sending() {
	byId(document,"sending").innerHTML = "please wait...";	
}

