/* -- form helper / sms form -- */
function verify_smsform()
{
	var error="NONE";
	// check phone
	error=chckPhone(document.smsform.phone.value);
	if (error != "NONE") { alert(error); document.smsform.phone.focus(); document.smsform.phone.select(); }
	else
	{
		// check message [max 160 characters]
		error=charLimit(document.smsform.message.value,160);
		if(error != "NONE") { alert(error); document.smsform.message.focus(); document.smsform.message.select(); }
		else
		{
			// send if no error
			document.smsform.submit();
		}
	}
}

/* -- subroutines -- */
function chckPhone(str)
{
	var stripped = str.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) { return "The phone number contains illegal characters. Format rquired: x-xxx-xxx-xxxx."; }
	if (!(stripped.length == 11)) { return "The phone number is the wrong length. Format rquired: x-xxx-xxx-xxxx."; }
	return "NONE";
}

function charLimit(str, limit)
{
	if(str.length > limit) { return "The text exceeds a limit of "+limit+" characters."; }
	if(str.length <= 0) { return "The text is empty."; }
	return "NONE";
}

/* -- addons -- */
function TextAreaCounter(field,cntfield,maxlimit) 
{
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else
		cntfield.value = maxlimit - field.value.length + ' chars left.';
}