var VatRate=.2;	// UK VAT rate 
var digit_chars = "0123456789";		// allowed value characters
var dec_char = ".";

function keep_currency(original_str){
	var clean_str="", has_decimal=false;
	for (var counter=0; counter<original_str.length; counter++){
		curr_char=original_str.charAt(counter);
		if (digit_chars.indexOf(curr_char) != -1){
			clean_str += curr_char;
		} else {
			if (curr_char == dec_char){
				if (!has_decimal) {
					clean_str += curr_char;
					has_decimal == true;
				}
			}
		}
	}
	if (clean_str == "" || clean_str == null)
		clean_str = "0";
	return clean_str;
}

function doTotals(form) {
	var Tax=0, GTot=0, GAmt=0;
	GAmt=parseFloat(form.TemplateAmt.value) + 
		parseFloat(form.AgreedAmt.value) + parseFloat(form.MaintAmt.value);
	if (form.VatAmtInd.checked)
		Tax = VatRate*parseFloat(GAmt);
	form.AmtOfVat.value = formatDec(Tax,2);
	GTot = Tax + GAmt;
	form.GrandTotal.value = formatDec(GTot,2);
}

function doTemplate(field,form) {
	if (field.checked) 
		form.TemplateAmt.value = formatDec(field.value,2);
	else
		form.TemplateAmt.value = formatDec(0,2);
	doTotals(form);
}

function doAgreed(field,form) {
	var clean_amt = keep_currency(field.value);
	form.AgreedAmt.value = formatDec(parseFloat(clean_amt),2);
	doTotals(form);
}

function inspectOptions(btn,field,form,odesc) {
	SetMaint(odesc);
	field.value = formatDec(btn.value,2);
	doTotals(form);
}

function finalCheck(form) {
	form.submit();
}

function reset_handler(){
	showImage("Emailerror", "images/cross.gif");
	ClearAll;
	return true;
}

function formatDec(expr,decplaces) {
	var str = "" + Math.round (eval(expr) * Math.pow(10,decplaces));
	while (str.length <= decplaces) {
		str = "0" + str;
	}
	var decpoint = str.length - decplaces;
	return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
}

function deflect_focus(curr_field){
	var curr_form=curr_field.form
	curr_form.Email.focus()
}

function printWindow(){
	bV = parseInt(navigator.appVersion);
	if (bV >= 4) window.print()
}

function trimLength(fld){
size = fld.length;
while(fld.slice(size-1,size)== " ") //Strip trailing spaces
 {fld = fld.substr(0,size-1);size = fld.length}
return fld.length
}

function showImage(imagename, imageurl) {
	document[imagename].src = imageurl;
}

function check_email(email_address) {
	var imagename="Emailerror";
	if (email_address.length < 5) {
		showImage(imagename, "images/cross.gif")}
	else	{at_location = email_address.indexOf("@")
			dot_location = email_address.lastIndexOf(".")
			if (at_location < 1 || dot_location == -1 || at_location > dot_location 
			|| (dot_location - at_location < 2) || (email_address.length - dot_location < 2) ) {
			showImage(imagename, "images/cross.gif")}
			else 	{showImage(imagename, "images/tick.gif")}}
}
