/* Starfield Web Controls Text Scripts */

function swc_truncateMultiLineTextBox(ctrl)
{
	if (ctrl && (ctrl.type.toLowerCase() == 'textarea'))
	{
		var maxLength = ctrl.getAttribute('MaxLengthMultiLine')
		if (ctrl.value.length > maxLength)
		{
			ctrl.value = ctrl.value.slice(0, maxLength);
			ctrl.scrollTop = (ctrl.scrollHeight - ctrl.clientHeight);	// scroll to end
		}
	}
}

function swc_hideRemainingChars(labelID)
{
	var label = swc_getById(labelID);
	if (!label)
	    return;
    
    label.innerHTML = '&nbsp;';
}

function swc_updateRemainingChars(input, labelID)
{
	if (!input)
		return;

	var label = swc_getById(labelID);
	if (!label)
		return;
    swc_visibleById(labelID);

	var format = label.getAttribute('format');
	var maxLength = (input.maxLength ? input.maxLength : input.getAttribute('MaxLengthMultiLine'));
	var remainingChars = Math.max(0, (maxLength - input.value.length));
	var html = format.replace('{0}', remainingChars);
	if (remainingChars == 1)
	{
		html = html.replace('{+s}', '');
		html = html.replace('{-s}', 's');
	}
	else
	{
		html = html.replace('{+s}', 's');
		html = html.replace('{-s}', '');
	}
	label.innerHTML = html;
}

function trim(str, ch)
{
	if (!ch)
		return str.replace(/^\s*|\s*$/g, '');						// trim spaces
	else
	{
		var pattern = new RegExp("^" + ch + "*|" + ch + "*$", "g");	// trim the given character
		return str.replace(pattern, '');
	}
}

