/* 
Town of Hempstead Online (version 3.3)
Website by LaMa Media
Copyright (c) 1997-2008 - All rights reserved
*/


// CONTACT FORMS MENU

function fContactHeader(rMain)
{
document.write('<div align="center" class="note-home"><span class="headline">Hempstead Town Hall</span><br>One Washington Street<br>Hempstead, NY 11550<br>(516) 489-5000</div>');
document.write('<br>');
document.write('<div align="center"><table align="center" class="table-home" cellpadding="3" cellspacing="0" border="0">');
document.write('<tr><td class="tablehead-home" colspan="3"><span>CONTACT FORMS</span></td></tr>');
document.write('<tr class="b-home" align="center">');
document.write('<td>&nbsp;<a href="contact.html');
if (rMain) { document.write('#helplineform'); }
document.write('">Kate Murray\'s Helpline</a>&nbsp;</td>');
document.write('<td>&nbsp;<a href="formec.html">Environmental Complaint</a>&nbsp;</td>');
document.write('<td>&nbsp;<a href="formcm.html">Website Comment</a>&nbsp;</td>');
document.write('</tr></table></div>');
document.write('<br><br>');
}

var vAt = '@';
var vCdn = 'tohmail';
var vCem = (vAt + vCdn + '.org');
var vLem = (vCdn + vAt + 'lamaweb.com');

// HELPLINE

var vRecipientsHL = ('helpline' + vCem + ',' + 'MSparaccio' + vCem + ',' + vLem);
var vSubjectPrefixHL = "HELPLINE: ";
var vRedirectHL = "content/home/submithl.html";

function fValidateMailingList(rForm)
{
	if (fValidEmailLower(rForm.email))
		return(true);
	else
		return(false);
}

function fValidateHelpline(rForm)
{
	if (
		fValidString(rForm.realname, vName) &&
		fValidString(rForm.Address, vAddress) &&
		fValidString(rForm.City, vCity) &&
		fValidState(rForm.State) &&
		fValidZip(rForm.Zip) &&
		fValidEmail(rForm.email) &&
		fValidNumber(rForm.AreaCode, 3, vPhoneA) &&
		fValidPhone(rForm.Phone) &&
		fValidString(rForm.Topic, "the Topic of your Message") &&
		fValidString(rForm.Message, vMessage)
	) {
		fSetHelplineInputs(rForm);
		return(true);
	} else {
		return(false);
	}
}

function fSetHelplineInputs(rForm)
{
	rForm.recipient.value = vRecipientsHL;
	rForm.subject.value = (vSubjectPrefixHL + rForm.Topic.value);
	rForm.redirect.value = (vURL + vRedirectHL);
	rForm.Name.value = rForm.realname.value;
	rForm.Email.value = rForm.email.value;
}

// ENVIRONMENTAL COMPLAINT

var vRecipientsEC = ('helpline' + vCem + ',' + 'MSparaccio' + vCem + ',' + vLem);
var vSubjectPrefixEC = "ENVIRONMENTAL COMPLAINT";
var vRedirectEC = "content/home/submitec.html";

var vECComplaint = "a Description of the Incident or Problem";
var vECLocation = "the Location of the Incident or Problem";
var vECDate = "the Date of the Incident or Problem";
var vECWho = "the Agency or Authority you contacted";


function fValidateEnvironmental(rForm)
{
	fSetEnvironmentalInputs(rForm);
	return(true);
}

function fSetEnvironmentalInputs(rForm)
{
	rForm.recipient.value = vRecipientsEC;
	rForm.subject.value = (vSubjectPrefixEC);
	rForm.redirect.value = (vURL + vRedirectEC);
	rForm.Name.value = rForm.realname.value;
	rForm.Email.value = rForm.email.value;
}

// BOARD OF APPEALS HEARINGS COMMENT

var vRecipientsBA = ('boaconcerns' + vCem + ',' + vLem);
var vSubjectPrefixBA = "BoA HEARINGS COMMENT: ";
var vRedirectBA = "content/bz/submitba.html";

var vCaseNumber = "the Case Number",
	vHearingDate = "the Hearing Date",
	vApplicant = "the Applicant's Name",
	vCaseLocation = "the Case Location";

function fValidateBoAHearings(rForm)
{
	if (
		fValidString(rForm.realname, vName) &&
		fValidString(rForm.Address, vAddress) &&
		fValidString(rForm.City, vCity) &&
		fValidState(rForm.State) &&
		fValidZip(rForm.Zip) &&
		fValidEmail(rForm.email) &&
		fValidString(rForm.CaseNumber, vCaseNumber) &&
		fValidString(rForm.HearingDate, vHearingDate) &&
		fValidString(rForm.Applicant, vApplicant) &&
		fValidString(rForm.Comments, vComments)
	) {
		fSetBoAHearingsInputs(rForm);
		return(true);
	} else {
		return(false);
	}
}

function fSetBoAHearingsInputs(rForm)
{
	rForm.recipient.value = vRecipientsBA;
	rForm.subject.value = (vSubjectPrefixBA + rForm.CaseNumber.value);
	rForm.redirect.value = (vURL + vRedirectBA);
	rForm.Name.value = rForm.realname.value;
	rForm.Email.value = rForm.email.value;
}

// PREMAIL

var vRecipientsPR = ('MSparaccio' + vCem + ',' + vLem);
var vSubjectPrefixPR = "PR EMAIL: ";
var vRedirectPR = "content/home/submitpr.html";

function fValidatePREmail(rForm)
{
	if (
		fValidString(rForm.realname, vName) &&
		fValidString(rForm.Address, vAddress) &&
		fValidString(rForm.City, vCity) &&
		fValidState(rForm.State) &&
		fValidZip(rForm.Zip) &&
		fValidEmail(rForm.email)
	) {
		fSetPREmailInputs(rForm);
		return(true);
	} else  {
		return(false);
	}
}

function fSetPREmailInputs(rForm)
{
	rForm.recipient.value = vRecipientsPR;
	rForm.subject.value = (vSubjectPrefixPR + rForm.email.value);
	rForm.redirect.value = (vURL + vRedirectPR);
	rForm.Name.value = rForm.realname.value;
	rForm.Email.value = rForm.email.value;
}

// COMMENTS

var vRecipientsCM = ('MSparaccio' + vCem + ',' + vLem);
var vSubjectPrefixCM = "COMMENTS";
var vRedirectCM = "content/home/submitcm.html";
var vEmailCM = vLem;

function fValidateComments(rForm)
{
	if (fValidString(rForm.Comments, vComments)) {
		fSetCommentsInputs(rForm);
		return(true);
	} else {
		return(false);
	}
}

function fSetCommentsInputs(rForm)
{
	rForm.recipient.value = vRecipientsCM;
	rForm.subject.value = (vSubjectPrefixCM);
	rForm.redirect.value = (vURL + vRedirectCM);
	rForm.email.value = vEmailCM;
}

// CHILD SAFETY
var vRecipientsCS = ('childseat' + vCem + ',' + 'MSparaccio' + vCem + ',' + vLem);
var vSubjectPrefixCS = "CHILD SAFETY SEAT INSPECTION";
var vRedirectCS = "content/cs/childsafe_submit.html";

function fValidateChildSafe(rForm)
{
	if (
		fValidString(rForm.realname, vName) &&
		fValidString(rForm.Address, vAddress) &&
		fValidString(rForm.City, vCity) &&
		fValidState(rForm.State) &&
		fValidZip(rForm.Zip) &&
		fValidEmail(rForm.email) &&
		fValidNumber(rForm.AreaCode, 3, vPhoneA) &&
		fValidPhone(rForm.Phone) &&
		fValidNumber(rForm.VYear, 4, "the Vehicle Year") &&
		fValidString(rForm.VMake, "the Vehicle Make") &&
		fValidString(rForm.VModel, "the Vehicle Model") &&
		fValidString(rForm.S1Brand, "Car Seat #1 Brand") &&
		fValidString(rForm.S1Model, "Car Seat #1 Model") &&
		fValidNumber(rForm.S1Age, 0, "Car Seat #1 Child's Age")
	) {
		fSetChildSafeInputs(rForm);
		return(true);
	} else {
		return(false);
	}
}

function fSetChildSafeInputs(rForm)
{
	rForm.recipient.value = vRecipientsCS;
	rForm.subject.value = (vSubjectPrefixCS);
	rForm.redirect.value = (vURL + vRedirectCS);
	rForm.Name.value = rForm.realname.value;
	rForm.Email.value = rForm.email.value;
}

// TOURISM BROCHURE

var vRecipientsTB = ('tourismmail' + vCem + ',' + 'MSparaccio' + vCem + ',' + vLem);
var vSubjectPrefixTB = "TOURISM BROCHURE: ";
var vRedirectTB = "content/rc/tourism/submitbrochures.html";

function fValidateBrochures(rForm)
{
	if (
		fValidString(rForm.realname, vName) &&
		fValidString(rForm.Address, vAddress) &&
		fValidString(rForm.City, vCity) &&
		fValidState(rForm.State) &&
		fValidZip(rForm.Zip) &&
		fValidEmail(rForm.email) &&
		fValidNumber(rForm.AreaCode, 3, vPhoneA) &&
		fValidPhone(rForm.Phone)
	) {
		fSetBrochuresInputs(rForm);
		return(true);
	} else  {
		return(false);
	}
}

function fSetBrochuresInputs(rForm)
{
	rForm.recipient.value = vRecipientsTB;
	rForm.subject.value = (vSubjectPrefixTB + rForm.email.value);
	rForm.redirect.value = (vURL + vRedirectTB);
	rForm.Name.value = rForm.realname.value;
	rForm.Email.value = rForm.email.value;
}

// VALIDATION

var vWhite = " \t\n\r";
var vZipLength = 5;

var vEntryPrompt = "Please enter ";
var vMissingRadio = "Please select ";
var vMissingSuffix = ".";

var vName = "your Name";
var vLastName = "your Last Name";
var vFirstName = "your First Name";
var vAddress = "your Address";
var vCity = "your City";
var vState = "your 2 Letter State Abbreviation";
var vZip = "your 5 Digit Zip Code";
var vPhone = "your Telephone Number";
var vPhoneA = "your Telephone Area Code";
var vPhoneP = "your Telephone Prefix";
var vPhoneS = "your Telephone Suffix";
var vPhone = "your Telephone Number";
var vEmail = "your Email Address";
var vMessage = "your Message";
var vComments = "your Comments";

var viPlease = "\nPlease enter it now.";
var viState = "Your state must be a valid two letter abbreviation." + viPlease;
var viZip = "Your Zip Code must be a 5 digit number." + viPlease;
var viPhone = "Your Phone Number must be valid (like 489-5000)." + viPlease;
var viEmail = "Your E-mail Address must be valid (like name@yourisp.com)." + viPlease;

var vUSStateCodes = "AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP";


function fEmpty (rString)
{   
	return ((rString == null) || (rString.length == 0));
}

function fWhite (rString)
{   
	var t;
    if (fEmpty(rString)) return (true);
    for (t = 0; t < rString.length; t++)
    {   
        var tChar = rString.charAt(t);
        if (vWhite.indexOf(tChar) == -1) return (false);
    }
    return (true);
}

function fLetter (rChar)
{   
	return (((rChar >= "a") && (rChar <= "z")) || ((rChar >= "A") && (rChar <= "Z")));
}

function fDigit (rChar)
{   
	return ((rChar >= "0") && (rChar <= "9"));
}

function fLetterOrDigit (rChar)
{   
	return (fLetter(rChar) || fDigit(rChar));
}

function fInteger (rString)
{   
    if (fWhite(rString)) return (false);
	var t;
    for (t = 0; t < rString.length; t++)
    {   
        var tChar = rString.charAt(t);
        if (!fDigit(tChar)) return (false);
    }
    return (true);
}

function fAlphabetic (rString)
{   
    if (fWhite(rString)) return (false);
	var t;
    for (t = 0; t < rString.length; t++)
    {   
        var tChar = rString.charAt(t);
        if (!fLetter(tChar))
        return (false);
    }
    return (true);
}

function fAlphanumeric (rString)
{
    if (fWhite(rString)) return (false);
	var t;
    for (t = 0; t < rString.length; t++)
    {   
        var tChar = rString.charAt(t);
        if (!fLetterOrDigit(tChar))
        return (false);
    }
    return (true);
}

function fStripWhite(rString) {
	var tPos, tLen, tStrL, tStrR;
	while ((tPos = rString.indexOf(" ")) >= 0) {
		tLen = rString.length;
		tStrL = rString.substring(0, tPos);
		tStrR = rString.substring(tPos + 1, tLen);
		rString = (tStrL + tStrR);
	}
	return (rString);
}

function fStripWhiteLeading (rString)
{   
	var t = 0;
	while ((t < rString.length) && (vWhite.indexOf(rString.charAt(t)) != -1))
       t++;
    return (rString.substring(t, rString.length));
}

function fStripWhiteTrailing (rString)
{   
	var t = rString.length;
	while ((t > 0) && (vWhite.indexOf(rString.charAt(t)) != -1))
       t--;
    return (rString.substring (0, t+1));
}

function fStripWhiteEnds (rString)
{   
	var tNewString = fStripWhiteLeading(rString);
	return (fStripWhiteTrailing(tNewString));
}

function fRepeatChars (rString)
{
    if (fWhite(rString)) return (false);
	var t;
	var tFirstChar = rString.charAt(0);
    for (t = 1; t < rString.length; t++)
    {   
        var tChar = rString.charAt(t);
        if (tChar != tFirstChar)
        return (false);
    }
    return (true);
}

function fZipCode (rString)
{
	if (fWhite(rString)) return (false);
	return (fInteger(rString) && (rString.length == vZipLength));
}

function fStateCode(rString)
{
	if (fWhite(rString)) return (false);
	return (vUSStateCodes.indexOf(rString) != -1);
}

function fEmail (rString)
{
    if (fWhite(rString)) return (false);
    var t = 1;
    var sLength = rString.length;
    while ((t < sLength) && (rString.charAt(t) != "@")) t++
    if ((t >= sLength) || (rString.charAt(t) != "@")) return (false);
    else t += 2;
    while ((t < sLength) && (rString.charAt(t) != ".")) t++
    if ((t >= sLength - 1) || (rString.charAt(t) != ".")) return (false);
    else return (true);
}

function fPrompt (rString)
{   
	window.status = rString;
}

function fPromptEntry (rString)
{   
	fPrompt(vEntryPrompt + rString + ".");
}

function fAlertEmpty (rField, rAlert)
{   
	rField.focus();
    alert(vEntryPrompt + rAlert + vMissingSuffix);
    return (false);
}

function fAlertInvalid (rField, rAlert)
{   
	rField.focus();
    rField.select();
    alert(rAlert);
    return (false);
}

function fValidString (rField, rAlert)
{
	rField.value = fStripWhiteEnds(rField.value);
    if (fWhite(rField.value)) 
		return fAlertEmpty (rField, rAlert);
    else return (true);
}

function fValidNumber (rField, rDigits, rAlert)
{
	rField.value = fStripWhiteEnds(rField.value);
	if (rDigits != 0) {
		if (fInteger(rField.value) && (rField.value.length == rDigits))
			return (true);
		else
		{
			var tAlert = ("Your " + rAlert + " must be a " + rDigits + " digit number." + viPlease);
			return (fAlertInvalid(rField, tAlert));
		}
	} else {
		if (fInteger(rField.value))
			return (true);
		else
		{
			var tAlert = ("Your " + rAlert + " must be a number." + viPlease);
			return (fAlertInvalid(rField, tAlert));
		}
	}
}

function fValidRadio (rField, rAlert)
{   
	var t;
    for (t = 0; t < rField.length; t++)
    {   
        if (rField[t].checked)
        return (true);
    }
    alert(vMissingRadio + rAlert + vMissingSuffix);
    return (false);
}

function fValidState (rField)
{   
	rField.value = fStripWhiteEnds(rField.value.toUpperCase());
	if (!fStateCode(rField.value, false)) 
		return (fAlertInvalid (rField, viState));
	else
		return (true);
}

function fValidZip (rField)
{
	rField.value = fStripWhiteEnds(rField.value);
	if (!fZipCode(rField.value, false)) 
		return (fAlertInvalid (rField, viZip));
	else
		return (true);
}

function fValidPhone (rField)
{
	var tPrefix, tDash, tSuffix;
	var tPhoneNum = fStripWhiteEnds(rField.value);
	tPrefix = tPhoneNum.substring(0, 3);
	if (tPhoneNum.length == 7) {
		tPhoneNum = (tPrefix + "-" + tPhoneNum.substring(3, 7));
	}
	tDash = tPhoneNum.substring(3, 4);
	tSuffix = tPhoneNum.substring(4, 8);
	if ((fInteger(tPrefix) && (tPrefix.length == 3)) &&
		(tDash == "-") &&
		(fInteger(tSuffix) && (tSuffix.length == 4))) {
		rField.value = tPhoneNum;
		return (true);
    } else {
		rField.value = "";
		return (fAlertInvalid (rField, viPhone));
	}
}

function fValidEmail (rField)
{
	rField.value = fStripWhite(rField.value);
	if (!fEmail(rField.value)) 
		return (fAlertInvalid (rField, viEmail));
    else
		return (true);
}

function fValidEmailLower (rField)
{
	rField.value = fStripWhite(rField.value.toLowerCase());
	if (!fEmail(rField.value)) 
		return (fAlertInvalid (rField, viEmail));
    else
		return (true);
}

function fTabPhone(rWhich, rForm)
{
	if (rWhich == "A")
	{
		if (rForm.PhoneA.value.length == 3) 
			rForm.PhoneP.focus();
	}
	else if (rWhich == "P")
	{
		if (rForm.PhoneP.value.length == 3)
			rForm.PhoneS.focus();
	}
}

