
// CARE: THIS SHOULD ONLY BE RUN IN validations.php
// window.onload = function f_onload() { document.getElementById("field_integer_r").focus(); }


function f_textarea_char_count(p_textarea_id, p_txt, p_max_len, p_enabled_limit) 
{
	// STRIP OUT THE LINE_FEED/CARRIAGE_RETURNS
	var v_txt = p_txt;
	/*
	while (v_txt.indexOf(String.fromCharCode(13)) > -1) 
	{
	       v_txt = v_txt.replace(String.fromCharCode(10), "X");
	       v_txt = v_txt.replace(String.fromCharCode(13), "C");
		   // v_txt = v_txt.replace('\n', "p");
	}
	*/
	// STRIP OUT THE LINE_FEED/CARRIAGE_RETURNS (Working in RJ helpdesk)
	while (v_txt.indexOf(String.fromCharCode(13)) > -1) 
	{
	       v_txt = v_txt.replace(String.fromCharCode(10), "");
	       v_txt = v_txt.replace(String.fromCharCode(13), "");
	}

	/*
	var chr13 = String.fromCharCode(13);
	var chr10 = String.fromCharCode(10);
	v_txt = v_txt.replace(/chr13/g, "z");
	v_txt = v_txt.replace(/chr10/g, "x");
	*/


	// TEST
	// document.getElementById(p_textarea_id).value = v_txt + 'd';
	
	// SHOW THE USER HOW MANY CHARACTERS HAVE BEEN INPUT SO FAR
	var v_len = v_txt.length;
	if (v_len > p_max_len) 
	{   
		var v_err_img = '<img src="img/error_icon_w15px.jpg" class="img_w15px_error_show_after_field" />';
		var v_char_count_in_red = '<span style="color: #f00;">' + v_err_img + v_len + ' characters' + '</span>';
		document.getElementById(p_textarea_id+'_text_count').innerHTML = v_char_count_in_red;

		// CHECK TO SEE IF THE USER HAS EXCEEDED THE CHAR COUNT LIMIT, AFTER WHICH THE TEXTAREA IS DISABLED
		if (v_len > p_enabled_limit)
		{
			// DISABLE THE TEXTAREA
			document.getElementById(p_textarea_id).enabled = "";
			document.getElementById(p_textarea_id).disabled = "disabled";

			// DISPLAY THE CHAR COUNT WARNING
			document.getElementById(p_textarea_id+'_text_count_warning').style.display = 'inline';

			// REPLACE SINGLE QUOTES WITH DOUBLE QUOTES FOR USE AS A SINGLE QUOTE ENCLOSED PARAMETER IN f_reset_textarea()
			// var regex_pattern = /\'/g;
			// v_txt = v_txt.replace(regex_pattern, "X");
			

			// BUILD THE WARNING MESSAGE
			var v_len_warning = '';
			v_len_warning += 'Your text greatly exceeds the maximum of ' + p_max_len + ' characters and ';
			v_len_warning += 'further input is disabled.<br />';
			// v_len_warning += 'Please <a href="javascript:f_reset_textarea(\'' + p_textarea_id + '\', \'' + v_txt + '\', ' + p_max_len + ', ' + p_enabled_limit + ');" ';
			v_len_warning += 'Please <a href="javascript:f_reset_textarea(\'' + p_textarea_id + '\', ' + p_max_len + ', ' + p_enabled_limit + ');" ';
			v_len_warning += 'class="a_textarea_warning" ';
			v_len_warning += 'title="Reset this text area">click here</a> to reset this text area.<br />';
			v_len_warning += 'All text after the first ' + p_max_len + ' characters will be lost.';

			// SHOW THE WARNING MESSAGE
			document.getElementById(p_textarea_id+'_text_count_warning').innerHTML = v_len_warning;
		}
	}
	else 
	{
		var v_s = 's';
		if (v_len == 1) { v_s = ''; }
		document.getElementById(p_textarea_id+'_text_count').innerHTML = v_len + " character" + v_s;
	}
}

// function f_reset_textarea(p_max_len, p_textarea_id)
// function f_reset_textarea(p_textarea_id, p_txt, p_max_len, p_enabled_limit)
function f_reset_textarea(p_textarea_id, p_max_len, p_enabled_limit)
{
	// alert("p_max_len = " + p_max_len);
	// alert("p_textarea_id = " + p_textarea_id);
	document.getElementById(p_textarea_id).enabled = "enabled";
	document.getElementById(p_textarea_id).disabled = "";
	// alert(document.getElementById(p_textarea_id).value);
	var textarea_text = document.getElementById(p_textarea_id).value;
	textarea_text = textarea_text.substring(0, p_max_len);
	document.getElementById(p_textarea_id).value = textarea_text;
	// alert(document.getElementById(p_textarea_id).value);
	document.getElementById(p_textarea_id+'_text_count_warning').innerHTML = "";

	// HIDE THE ERROR MESSAGE AND RESET THE CHARACTER COUNT TO p_max_len
	// f_textarea_char_count(p_textarea_id, p_txt, p_max_len, p_enabled_limit);
	f_textarea_char_count(p_textarea_id, textarea_text, p_max_len, p_enabled_limit);
}
