// Basic form submit link 
// Requires form ID from referring page
function submitForm(formID)
{
  document.getElementById(formID).submit();
}

// DHTML textbox character counter script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
var bName = navigator.appName;
function taLimit(taObj,maxL) {
	if (taObj.value.length==maxL) return true;
	return true;
}
function taCount(taObj,Cnt,maxL) { 
	objCnt=createObject(Cnt);
	objVal=taObj.value;
	if (objCnt) {
		if(bName == "Netscape"){	
			objCnt.textContent=maxL-objVal.length;}
		else{objCnt.innerText=maxL-objVal.length;}
		if(maxL-objVal.length<0){objCnt.className='red';}
		else{objCnt.className='green';}
		
	}
	return true;
}
function createObject(objId) {
	if (document.getElementById) return document.getElementById(objId);
	else if (document.layers) return eval("document." + objId);
	else if (document.all) return eval("document.all." + objId);
	else return eval("document." + objId);
}
//// DHTML textbox character counter script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
//function taLimit(taObj,maxL) {
//	if (taObj.value.length==maxL) return false;
//	return true;
//}
//function taCount(taObj,Cnt,maxL) { 
//	objCnt=createObject(Cnt);
//	objVal=taObj.value;
//	if (objVal.length>(maxL)) {
//		objVal=objVal.substring(0,maxL);
//	}
//	if (objCnt) {
//		objCnt.innerHTML=maxL-objVal.length;
//	}
//	return true;
//}
//function createObject(objId) {
//	if (document.getElementById) return document.getElementById(objId);
//	else if (document.layers) return eval("document." + objId);
//	else if (document.all) return eval("document.all." + objId);
//	else return eval("document." + objId);
//}

// AJAX 'save progress' functions
function saveProgress(responseID){
	document.getElementById(responseID).innerHTML="Saving, please wait...";
	var url = 'save.php';
	var pars = $('appForm').serialize(true);
	var target = responseID;	
	var myAjax = new Ajax.Updater(target, url, { method:'post', parameters: pars });
}

function clearResponse(responseID){
	document.getElementById(responseID).innerHTML="&nbsp;";
}

// Amount Requested calculator for calculators below
function CalculateAmountRequested() {
	var BudgetCostTotal = Math.abs(document.appForm.BudgetCostTotal.value);
	var BudgetContribTotal = Math.abs(document.appForm.BudgetContribTotal.value);
	document.appForm.AmountRequested.value = BudgetCostTotal-BudgetContribTotal;
}

// Budget Cost calculator
function CalculateBudgetCost() {
	if (Math.abs(document.appForm.BudgetCostAmount1.value)) {
		var BudgetCostAmount1 = Math.abs(document.appForm.BudgetCostAmount1.value);
	} else {
		var BudgetCostAmount1 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount2.value)) {
		var BudgetCostAmount2 = Math.abs(document.appForm.BudgetCostAmount2.value);
	} else {
		var BudgetCostAmount2 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount3.value)) {
		var BudgetCostAmount3 = Math.abs(document.appForm.BudgetCostAmount3.value);
	} else {
		var BudgetCostAmount3 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount4.value)) {
		var BudgetCostAmount4 = Math.abs(document.appForm.BudgetCostAmount4.value);
	} else {
		var BudgetCostAmount4 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount5.value)) {
		var BudgetCostAmount5 = Math.abs(document.appForm.BudgetCostAmount5.value);
	} else {
		var BudgetCostAmount5 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount6.value)) {
		var BudgetCostAmount6 = Math.abs(document.appForm.BudgetCostAmount6.value);
	} else {
		var BudgetCostAmount6 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount7.value)) {
		var BudgetCostAmount7 = Math.abs(document.appForm.BudgetCostAmount7.value);
	} else {
		var BudgetCostAmount7 = 0;
	}
	if (Math.abs(document.appForm.BudgetCostAmount8.value)) {
		var BudgetCostAmount8 = Math.abs(document.appForm.BudgetCostAmount8.value);
	} else {
		var BudgetCostAmount8 = 0;
	}

	BudgetCostTotal = Math.abs(BudgetCostAmount1+BudgetCostAmount2+BudgetCostAmount3+BudgetCostAmount4+BudgetCostAmount5+BudgetCostAmount6+BudgetCostAmount7+BudgetCostAmount8);
	document.appForm.BudgetCostTotal.value = BudgetCostTotal;
	CalculateAmountRequested()
}

// Budget Contribution calculator
function CalculateBudgetContrib() {
	if (Math.abs(document.appForm.BudgetContribAmount1.value)) {
		var BudgetContribAmount1 = Math.abs(document.appForm.BudgetContribAmount1.value);
	} else {
		var BudgetContribAmount1 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount2.value)) {
		var BudgetContribAmount2 = Math.abs(document.appForm.BudgetContribAmount2.value);
	} else {
		var BudgetContribAmount2 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount3.value)) {
		var BudgetContribAmount3 = Math.abs(document.appForm.BudgetContribAmount3.value);
	} else {
		var BudgetContribAmount3 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount4.value)) {
		var BudgetContribAmount4 = Math.abs(document.appForm.BudgetContribAmount4.value);
	} else {
		var BudgetContribAmount4 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount5.value)) {
		var BudgetContribAmount5 = Math.abs(document.appForm.BudgetContribAmount5.value);
	} else {
		var BudgetContribAmount5 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount6.value)) {
		var BudgetContribAmount6 = Math.abs(document.appForm.BudgetContribAmount6.value);
	} else {
		var BudgetContribAmount6 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount7.value)) {
		var BudgetContribAmount7 = Math.abs(document.appForm.BudgetContribAmount7.value);
	} else {
		var BudgetContribAmount7 = 0;
	}
	if (Math.abs(document.appForm.BudgetContribAmount8.value)) {
		var BudgetContribAmount8 = Math.abs(document.appForm.BudgetContribAmount8.value);
	} else {
		var BudgetContribAmount8 = 0;
	}
	
	BudgetContribTotal = Math.abs(BudgetContribAmount1+BudgetContribAmount2+BudgetContribAmount3+BudgetContribAmount4+BudgetContribAmount5+BudgetContribAmount6+BudgetContribAmount7+BudgetContribAmount8);
	document.appForm.BudgetContribTotal.value = BudgetContribTotal;
	CalculateAmountRequested()
}

// Alert for fields that cannot be modified
function LockedField() {
	alert('This field auto-calculates and cannot be modified.');
}
