function char_count(form_field, count_field, max_length) {

	if (form_field.value.length > max_length) {

		count_field.value = "TOO MUCH TEXT!";

	} else {

		count_field.value = form_field.value.length + " of " + max_length;
	}
	
}

function updateChoicelist(ajaxservice, formname, choicelist) {

	var thelist = eval('document.' + formname + '.' + choicelist);

	thelist.options.length =0;
	thelist.options[0] = new Option('Updating List, Please Wait...','0');
	
	populatechoicelist = { 
		success: function(o) {
			newlistarray = eval(o.responseText);
			thelist.options.length = 0; 
			for(i=0;i<newlistarray.length;i+=2) { 
				thelist.options[i/2] = new Option(newlistarray[i],newlistarray[i+1]); 
			} 
		},
		failure: function(o) {
			alert('AJAX failure.');
		}
	 }

	sendargumentstr = '?service=' + ajaxservice;
	
	for(i=3;i<arguments.length;i++) {

		thisargvalue = arguments[i];

		if ( thisargvalue.indexOf('=') != -1 ) {

			sendargumentstr = sendargumentstr + '&' + thisargvalue;

		} else {

			sendargumentstr = sendargumentstr + '&' + eval('document.' + formname + '.' + arguments[i]).name + '=' + eval('document.' + formname + '.' + arguments[i]).value;

		}
	}
	
	serviceurl = '/ajax.taf' + sendargumentstr;
	connectionObject = YAHOO.util.Connect.asyncRequest('GET', serviceurl, populatechoicelist); 
}

function toggleHide(element_id) {

	element_id.style.visibility = "hidden";

}

function lockSignature(element_id, signature, esigdate) {

	var typedsig = element_id.value;

	var curdate = new Date();
	var month = curdate.getMonth() + 1;
	var day = curdate.getDate();
	var year = curdate.getFullYear();

	if( typedsig == signature ) {
		
		element_id.value = signature;
		element_id.style.border = "0px solid black";
		element_id.style.fontFamily = "mistral,script";
		element_id.style.fontSize = "40px";
		element_id.style.fontWeight = "normal";
		element_id.readOnly = true;
		element_id.blur();
		esigdate.value = month + "/" + day + "/" + year;
	}
}

function userscreen() {

	document.mslform.screenx.value = screen.width;
	document.mslform.screeny.value = screen.height;

}

function verifychecks(hourtype,hourid) {

	var mcheck = "m." + hourtype + "." + hourid;
	var scheck = "s." + hourtype + "." + hourid;
	var pcheck = "p." + hourtype + "." + hourid;
	var lcheck = "l." + hourtype + "." + hourid;

	if( document.mslform.elements[lcheck] ) {
		if( document.mslform.elements[lcheck].type == "checkbox" ) {
			if( document.mslform.elements[lcheck].checked ) {
				var lcheckval = true;
			} else {
				var lcheckval = false;
			}
		} else {
			if( document.mslform.elements[lcheck].value == "1" ) {
				var lcheckval = true;
			} else {
				var lcheckval = false;
			}
		}
		if( document.mslform.elements[pcheck].type == "checkbox" ) {
			if( lcheckval ) {
				if( !document.mslform.elements[pcheck].checked ) {
					document.mslform.elements[pcheck].checked = true;
				}
			}
		} else {
			if( lcheckval ) {
				document.mslform.elements[pcheck].value = "1";
			} else {
				document.mslform.elements[pcheck].value = "0";
			}
		}	
	}

	if( document.mslform.elements[pcheck].type == "checkbox" ) {
		if( document.mslform.elements[pcheck].checked ) {
			var pcheckval = true;
		} else {
			var pcheckval = false;
		}
	} else {
		if( document.mslform.elements[pcheck].value == "1" ) {
			var pcheckval = true;
		} else {
			var pcheckval = false;
		}
	}

	if( document.mslform.elements[scheck].type == "checkbox" ) {
		if( pcheckval ) {
			if( !document.mslform.elements[scheck].checked ) {
				document.mslform.elements[scheck].checked = true;
			}
		}
	} else {
		if( pcheckval ) {
			document.mslform.elements[scheck].value = "1";
		} else {
			document.mslform.elements[scheck].value = "0";
		}
	}

	if( document.mslform.elements[scheck].type == "checkbox" ) {
		if( document.mslform.elements[scheck].checked ) {
			var scheckval = true;
		} else {
			var scheckval = false;
		}
	} else {
		if( document.mslform.elements[scheck].value == "1" ) {
			var scheckval = true;
		} else {
			var scheckval = false;
		}
	}

	if( document.mslform.elements[mcheck].type == "checkbox" ) {
		if( scheckval ) {
			if( !document.mslform.elements[mcheck].checked ) {
				document.mslform.elements[mcheck].checked = true;
			}
		}
	} else {
		if( scheckval ) {
			document.mslform.elements[mcheck].value = "1";
		} else {
			document.mslform.elements[mcheck].value = "0";
		}
	}

}

function checkAll(column) {

	maxelement = document.mslform.elements.length;
	
	for( counter=0; counter < maxelement; counter++ ) {

		if( document.mslform.elements[counter].type == "checkbox" ) {

			if( document.mslform.elements[counter].name != "checkall" ) {

				if( document.mslform.elements[counter].name.substring(0,1) == column) {

					if( document.mslform.elements["checkall"].checked ) {
						document.mslform.elements[counter].checked = true;
						verifychecks(document.mslform.elements[counter].name.substring(2,3),document.mslform.elements[counter].name.substring(4))
					} else {

						origl = "orig." + document.mslform.elements[counter].name;

						if( document.mslform.elements[origl].value == "1" ) {
							document.mslform.elements[counter].checked = true;
						} else {
							document.mslform.elements[counter].checked = false;
						}

						resetm = "m." + document.mslform.elements[counter].name.substring(2,3) + "." + document.mslform.elements[counter].name.substring(4);
						origm = "orig." + resetm;

						if( document.mslform.elements[origm].value == "1" ) {
							if( document.mslform.elements[resetm].type == "checkbox" ) {
								document.mslform.elements[resetm].checked = true;
							} else {
								document.mslform.elements[resetm].value = "1";
							}
						} else {
							if( document.mslform.elements[resetm].type == "checkbox" ) {
								document.mslform.elements[resetm].checked = false;
							} else {
								document.mslform.elements[resetm].value = "0";
							}
						}

						resets = "s." + document.mslform.elements[counter].name.substring(2,3) + "." + document.mslform.elements[counter].name.substring(4);
						origs = "orig." + resets;

						if( document.mslform.elements[origs].value == "1" ) {
							if( document.mslform.elements[resets].type == "checkbox" ) {
								document.mslform.elements[resets].checked = true;
							} else {
								document.mslform.elements[resets].value = "1";
							}
						} else {
							if( document.mslform.elements[resets].type == "checkbox" ) {
								document.mslform.elements[resets].checked = false;
							} else {
								document.mslform.elements[resets].value = "0";
							}
						}

						if( column == "l" ) {

							resetp = "p." + document.mslform.elements[counter].name.substring(2,3) + "." + document.mslform.elements[counter].name.substring(4);
							origp = "orig." + resetp;

							if( document.mslform.elements[origp].value == "1" ) {
								if( document.mslform.elements[resetp].type == "checkbox" ) {
									document.mslform.elements[resetp].checked = true;
								} else {
									document.mslform.elements[resetp].value = "1";
								}
							} else {
								if( document.mslform.elements[resetp].type == "checkbox" ) {
									document.mslform.elements[resetp].checked = false;
								} else {
									document.mslform.elements[resetp].value = "0";
								}
							}
						}
					}
				}
			}
		}
	}
}