/* ------------------------------------------------------------------------------------------------------------------------------- */
function cleanTextInput(txtstr,fieldname) {

	var ascii_validation		= invalidASCII(txtstr);
	if (ascii_validation != 'valid') {
		errormsg	 = "Error: invalid characters found in "+fieldname+"\nRemove these invalid characters?";

		if (confirm(errormsg)) {
			return cleanInvalidASCII(txtstr);
		} else {
			return '';
		}
	}
	return txtstr;
}
/* ------------------------------------------------------------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------------------------------------------------------------- */
function cleanInvalidASCII(txtstr) {

	var origtext	= txtstr;
	var text		= txtstr;
	var re			= /\ua|\n|\t/g;
	var text		= text.replace(re,' ');

	if (badchars = text.match(/[^\x20-\x7E]/g)) {
		for (var i = 0; i<badchars.length; i++) {
			
			var x = 0;
			while(origtext.indexOf(badchars[i]) && x<200) {
				x++;
				badloc 			= origtext.indexOf(badchars[i]);
				if (badloc>0) {
					var prechar		= origtext.substr(0,badloc);
					var postchar	= origtext.substr(badloc+1);
					origtext		= prechar + ' ' + postchar
				}
			}
		}
		return origtext;
	}
	return 'valid';
}
/* ------------------------------------------------------------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------------------------------------------------------------- */
function invalidASCII(txtstr) {

	re			= /\ua|\n|\t/g;
	text		= txtstr.replace(re,'');

	if (badchars = text.match(/[^\x20-\x7E]/g)) {
		return badchars;
	}
	return 'valid';
}
/* ------------------------------------------------------------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------------------------------------------------------------- */
function cleanString(string) {

	// replace MS-Word chars with known ascii versions (', ", ...)
	string	= string.replace(/\u2019/g, '\'');
	string	= string.replace(/\u2026/g, '...');
	string	= string.replace(/\u201c/g, '"');
	string	= string.replace(/\u201d/g, '"');
	
	return string;
}
/* ------------------------------------------------------------------------------------------------------------------------------- */
