// JavaScript Document// 18 Feb 97 created Eric Krock
//
// (c) 1997 Netscape Communications Corporation

// VARIABLE DECLARATIONS
var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz";
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var whitespace = " \t\n\r";
var decimalPointDelimiter = "."
var phoneNumberDelimiters = "()- ";
var validUSPhoneChars = digits + phoneNumberDelimiters;
var validWorldPhoneChars = digits + phoneNumberDelimiters + "+";
var SSNDelimiters = "- ";
var validSSNChars = digits + SSNDelimiters;
var digitsInSocialSecurityNumber = 9;
var digitsInUSPhoneNumber = 10;
var ZIPCodeDelimiters = "-";
var ZIPCodeDelimeter = "-";
var validZIPCodeChars = digits + ZIPCodeDelimiters;
var digitsInZIPCode1 = 5;
var digitsInZIPCode2 = 9;
var creditCardDelimiters = " ";

var mPrefix = "You did not enter a value into the ";
var mSuffix = " field. This is a required field. Please enter it now.";

var sUSLastName = "Last Name";
var sUSFirstName = "First Name";
var sWorldLastName = "Family Name";
var sWorldFirstName = "Given Name";
var sTitle = "Title";
var sCompanyName = "Company Name";
var sUSAddress = "Street Address";
var sWorldAddress = "Address";
var sCity = "City";
var sStateCode = "State Code";
var sWorldState = "State, Province, or Prefecture";
var sCountry = "Country";
var sZIPCode = "ZIP Code";
var sWorldPostalCode = "Postal Code";
var sPhone = "Phone Number";
var sFax = "Fax Number";
var sDateOfBirth = "Date of Birth";
var sExpirationDate = "Expiration Date";
var sEmail = "Email";
var sSSN = "Social Security Number";
var sCreditCardNumber = "Credit Card Number";
var sOtherInfo = "Other Information";

// i is an abbreviation for "invalid"
var iStateCode = "This field must be a valid two character U.S. state abbreviation (like CA for California). Please reenter it now.";
var iZIPCode = "This field must be a 5 or 9 digit U.S. ZIP Code (like 94043). Please reenter it now.";
var iUSPhone = "This field must be a 10 digit U.S. phone number, [like (xxx) xxx-xxxx]. Please reenter it now.";
var iWorldPhone = "This field must be a valid international phone number. Please reenter it now.";
var iSSN = "This field must be a 9 digit U.S. social security number (like 123 45 6789). Please reenter it now.";
var iEmail = "This field must be a valid email address (like foo@bar.com). Please reenter it now.";
var iCreditCardPrefix = "This is not a valid ";
var iCreditCardSuffix = " credit card number. (Click the link on this form to see a list of sample numbers.) Please reenter it now.";
var iDay = "This field must be a day number between 1 and 31.  Please reenter it now.";
var iMonth = "This field must be a month number between 1 and 12.  Please reenter it now.";
var iYear = "This field must be a 2 or 4 digit year number.  Please reenter it now.";
var iDatePrefix = "The Day, Month, and Year for ";
var iDateSuffix = " do not form a valid date.  Please reenter them now.";

// p is an abbreviation for "prompt"
var pEntryPrompt = "Please enter a ";
var pStateCode = "2 character code (like CA).";
var pZIPCode = "5 or 9 digit U.S. ZIP Code (like 94043).";
var pUSPhone = "10 digit U.S. phone number (like 415 555 1212).";
var pWorldPhone = "international phone number.";
var pSSN = "9 digit U.S. social security number (like 123 45 6789).";
var pEmail = "valid email address (like foo@bar.com).";
var pCreditCard = "valid credit card number.";
var pDay = "day number between 1 and 31.";
var pMonth = "month number between 1 and 12.";
var pYear = "2 or 4 digit year number.";
var defaultEmptyOK = false;

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

var USStateCodeDelimiter = "|";
var USStateCodes = "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 isBlank(str) {
    for (var i = 0; i < str.length; i++) {
        var c = str.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t'))
            return false;
    }
    return true;
}

function isEmpty(s) { return ((s == null) || (s.length == 0)) }

function isWhitespace(s) {
    var i;

    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    return true;
}

function stripCharsInBag(s, bag) {
    var i;
    var returnString = "";

    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}

function stripCharsNotInBag(s, bag) {
    var i;
    var returnString = "";

    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}

function stripWhitespace(s) { return stripCharsInBag(s, whitespace) }

function stripInitialWhitespace(s) {
    var i = 0;

    while ((i < s.length) && charInString(s.charAt(i), whitespace))
        i++;

    return s.substring(i, s.length);
}

function isLetter(c) { return (((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z"))) }

function isDigit(c) { return ((c >= "0") && (c <= "9")) }

function isLetterOrDigit(c) { return (isLetter(c) || isDigit(c)) }

function isInteger(s) {
    var i;

    if (isEmpty(s))
        if (isInteger.arguments.length == 1) return defaultEmptyOK;
        else return (isInteger.arguments[1] == true);
for (i = 0; i < s.length; i++) {
    var c = s.charAt(i);
    if (!isDigit(c)) return false;
}
return true;
}


function isSignedInteger(s) {
    if (isEmpty(s))
        if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
        else return (isSignedInteger.arguments[1] == true);

else {
    var startPos = 0;
    var secondArg = defaultEmptyOK;

    if (isSignedInteger.arguments.length > 1)
        secondArg = isSignedInteger.arguments[1];
    if ((s.charAt(0) == "-") || (s.charAt(0) == "+"))
        startPos = 1;
    return (isInteger(s.substring(startPos, s.length), secondArg))
}
}

function isPositiveInteger(s) {
    var secondArg = defaultEmptyOK;
    if (isPositiveInteger.arguments.length > 1)
        secondArg = isPositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
	&& ((isEmpty(s) && secondArg) || (parseInt(s) > 0)));
}

function isNonnegativeInteger(s) {
    var secondArg = defaultEmptyOK;

    if (isNonnegativeInteger.arguments.length > 1)
        secondArg = isNonnegativeInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
		&& ((isEmpty(s) && secondArg) || (parseInt(s) >= 0)));
}

function isNegativeInteger(s) {
    var secondArg = defaultEmptyOK;

    if (isNegativeInteger.arguments.length > 1)
        secondArg = isNegativeInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
		&& ((isEmpty(s) && secondArg) || (parseInt(s) < 0)));
}

function isNonpositiveInteger(s) {
    var secondArg = defaultEmptyOK;

    if (isNonpositiveInteger.arguments.length > 1)
        secondArg = isNonpositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
		&& ((isEmpty(s) && secondArg) || (parseInt(s) <= 0)));
}

function isFloat(s) {
    var i;
    var seenDecimalPoint = false;

    if (isEmpty(s))
        if (isFloat.arguments.length == 1) return defaultEmptyOK;
        else return (isFloat.arguments[1] == true);

if (s == decimalPointDelimiter) return false;

for (i = 0; i < s.length; i++) {
    var c = s.charAt(i);

    if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
    else if (!isDigit(c)) return false;
}

return true;
}

function isSignedFloat(s) {
    if (isEmpty(s))
        if (isSignedFloat.arguments.length == 1) return defaultEmptyOK;
        else return (isSignedFloat.arguments[1] == true);

else {
    var startPos = 0;
    var secondArg = defaultEmptyOK;

    if (isSignedFloat.arguments.length > 1)
        secondArg = isSignedFloat.arguments[1];

    if ((s.charAt(0) == "-") || (s.charAt(0) == "+"))
        startPos = 1;
    return (isFloat(s.substring(startPos, s.length), secondArg))
}
}

function isAlphabetic(s) {
    var i;

    if (isEmpty(s))
        if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
        else return (isAlphabetic.arguments[1] == true);
for (i = 0; i < s.length; i++) {
    var c = s.charAt(i);

    if (!isLetter(c))
        return false;
}

return true;
}


function isAlphanumeric(s) {
    var i;

    if (isEmpty(s))
        if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
        else return (isAlphanumeric.arguments[1] == true);
for (i = 0; i < s.length; i++) {
    var c = s.charAt(i);

    if (!(isLetter(c) || isDigit(c)))
        return false;
}

return true;
}

function reformat(s) {
    var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
        arg = reformat.arguments[i];
        if (i % 2 == 1) resultString += arg;
        else {
            resultString += s.substring(sPos, sPos + arg);
            sPos += arg;
        }
    }
    return resultString;
}




function isSSN(s) {
    if (isEmpty(s))
        if (isSSN.arguments.length == 1) return defaultEmptyOK;
        else return (isSSN.arguments[1] == true);
return (isInteger(s) && s.length == digitsInSocialSecurityNumber)
}

function isUSPhoneNumber(s) {
    if (isEmpty(s))
        if (isUSPhoneNumber.arguments.length == 1) return defaultEmptyOK;
        else return (isUSPhoneNumber.arguments[1] == true);
return (isInteger(s) && s.length == digitsInUSPhoneNumber)
}


function isInternationalPhoneNumber(s) {
    if (isEmpty(s))
        if (isInternationalPhoneNumber.arguments.length == 1) return defaultEmptyOK;
        else return (isInternationalPhoneNumber.arguments[1] == true);
return (isPositiveInteger(s))
}

function isZIPCode(s) {
    if (isEmpty(s))
        if (isZIPCode.arguments.length == 1) return defaultEmptyOK;
        else return (isZIPCode.arguments[1] == true);
return (isInteger(s) &&
		   ((s.length == digitsInZIPCode1) ||
			(s.length == digitsInZIPCode2)))
}

function isStateCode(s) {
    if (isEmpty(s))
        if (isStateCode.arguments.length == 1) return defaultEmptyOK;
        else return (isStateCode.arguments[1] == true);
return ((USStateCodes.indexOf(s) != -1) &&
			(s.indexOf(USStateCodeDelimiter) == -1))
}

function isEmail(s) {
    if (isEmpty(s))
        if (isEmail.arguments.length == 1) return defaultEmptyOK;
        else return (isEmail.arguments[1] == true);

if (isWhitespace(s)) return false;

if (!isContiguousString(s)) { return false; }

var i = 1;
var sLength = s.length;

while ((i < sLength) && (s.charAt(i) != "@")) {
    i++
}

if ((i >= sLength) || (s.charAt(i) != "@")) return false;
else i += 2;

var a = s.split('@');
if (a.length > 2) return false;

while ((i < sLength) && (s.charAt(i) != ".")) {
    i++
}

if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
else return true;
}

function isContiguousString(s) {
    var result = true;
    var i = 0;

    while (i < s.length) {
        if (s.charAt(i) == " ") {
            result = false;
            break;
        }
        i++;
    }
    return result;
}




function isYear(s) {
    if (isEmpty(s))
        if (isYear.arguments.length == 1) return defaultEmptyOK;
        else return (isYear.arguments[1] == true);
if (!isNonnegativeInteger(s)) return false;

return (s.length == 4);
}

function isIntegerInRange(s, a, b) {
    if (isEmpty(s))
        if (isIntegerInRange.arguments.length == 1) return defaultEmptyOK;
        else return (isIntegerInRange.arguments[1] == true);
if (!isInteger(s, false)) return false;
var num = parseInt(s);
return ((num >= a) && (num <= b));
}

function isMonth(s) {
    if (isEmpty(s))
        if (isMonth.arguments.length == 1) return defaultEmptyOK;
        else return (isMonth.arguments[1] == true);
return isIntegerInRange(s, 1, 12);
}

function isDay(s) {
    if (isEmpty(s))
        if (isDay.arguments.length == 1) return defaultEmptyOK;
        else return (isDay.arguments[1] == true);
return isIntegerInRange(s, 1, 31);
}

function daysInFebruary(year) { return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28); }


function isDate(year, month, day) {
    if (!(isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false;
    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);
    if (intDay > daysInMonth[intMonth]) return false;
    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;
    return true;
}

/* FUNCTIONS TO NOTIFY USER OF INPUT REQUIREMENTS OR MISTAKES. */

function promptEx(s) { window.status = s }
function promptEntry(s) { window.status = pEntryPrompt + s; }
function warnEmpty(theField, s) {
    theField.focus()
    alert(mPrefix + s + mSuffix)
    return false
}
function warnInvalid(theField, s) {
    theField.focus()
    theField.select()
    alert(s)
    return false
}
/* FUNCTIONS TO INTERACTIVELY CHECK VARIOUS FIELDS. */

function checkString(theField, s, emptyOK) {
    if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value))
        return warnEmpty(theField, s);
    else return true;
}

function checkStateCode(theField, emptyOK) {
    if (checkStateCode.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {
        theField.value = theField.value.toUpperCase();
        if (!isStateCode(theField.value, false))
            return warnInvalid(theField, iStateCode);
        else return true;
    }
}

function reformatZIPCode(ZIPString) {
    if (ZIPString.length == 5) return ZIPString;
    else return (reformat(ZIPString, "", 5, "-", 4));
}

function checkZIPCode(theField, emptyOK) {
    if (checkZIPCode.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {
        var normalizedZIP = stripCharsInBag(theField.value, ZIPCodeDelimiters)
        if (!isZIPCode(normalizedZIP, false))
            return warnInvalid(theField, iZIPCode);
        else {
            theField.value = reformatZIPCode(normalizedZIP)
            return true;
        }
    }
}



function reformatUSPhone(USPhone) { return (reformat(USPhone, "(", 3, ") ", 3, "-", 4)) }

function checkUSPhone(theField, emptyOK) {
    if (checkUSPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {
        var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
        if (!isUSPhoneNumber(normalizedPhone, false))
            return warnInvalid(theField, iUSPhone);
        else {
            theField.value = reformatUSPhone(normalizedPhone)
            return true;
        }
    }
}

function checkInternationalPhone(theField, emptyOK) {
    if (checkInternationalPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {
        if (!isInternationalPhoneNumber(theField.value, false))
            return warnInvalid(theField, iWorldPhone);
        else return true;
    }
}

function checkEmail(theField, emptyOK) {
    if (checkEmail.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else if (!isEmail(theField.value, false))
        return warnInvalid(theField, iEmail);
    else return true;
}

function reformatSSN(SSN) { return (reformat(SSN, "", 3, "-", 2, "-", 4)) }

function checkSSN(theField, emptyOK) {
    if (checkSSN.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {
        var normalizedSSN = stripCharsInBag(theField.value, SSNDelimiters)
        if (!isSSN(normalizedSSN, false))
            return warnInvalid(theField, iSSN);
        else {
            theField.value = reformatSSN(normalizedSSN)
            return true;
        }
    }
}

function checkYear(theField, emptyOK) {
    if (checkYear.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isYear(theField.value, false))
        return warnInvalid(theField, iYear);
    else return true;
}
function checkMonth(theField, emptyOK) {
    if (checkMonth.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isMonth(theField.value, false))
        return warnInvalid(theField, iMonth);
    else return true;
}
function checkDay(theField, emptyOK) {
    if (checkDay.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isDay(theField.value, false))
        return warnInvalid(theField, iDay);
    else return true;
}

function checkDate(yearField, monthField, dayField, labelString, OKtoOmitDay) {
    if (checkDate.arguments.length == 4) OKtoOmitDay = false;
    if (!isYear(yearField.value)) return warnInvalid(yearField, iYear);
    if (!isMonth(monthField.value)) return warnInvalid(monthField, iMonth);
    if ((OKtoOmitDay == true) && isEmpty(dayField.value)) return true;
    else if (!isDay(dayField.value))
        return warnInvalid(dayField, iDay);
    if (isDate(yearField.value, monthField.value, dayField.value))
        return true;
    alert(iDatePrefix + labelString + iDateSuffix)
    return false
}

function getRadioButtonValue(radio) {
    for (var i = 0; i < radio.length; i++) {
        if (radio[i].checked) { break }
    }
    return radio[i].value
}

function checkCreditCard(radio, theField) {
    var cardType = getRadioButtonValue(radio)
    var normalizedCCN = stripCharsInBag(theField.value, creditCardDelimiters)
    if (!isCardMatch(cardType, normalizedCCN))
        return warnInvalid(theField, iCreditCardPrefix + cardType + iCreditCardSuffix);
    else {
        theField.value = normalizedCCN
        return true
    }
}



function isCreditCard(st) {
    if (st.length > 19)
        return (false);

    sum = 0; mul = 1; l = st.length;
    for (i = 0; i < l; i++) {
        digit = st.substring(l - i - 1, l - i);
        tproduct = parseInt(digit, 10) * mul;
        if (tproduct >= 10)
            sum += (tproduct % 10) + 1;
        else
            sum += tproduct;
        if (mul == 1)
            mul++;
        else
            mul--;
    }
    if ((sum % 10) == 0)
        return (true);
    else
        return (false);

}

function isVisa(cc) {
    if (((cc.length == 16) || (cc.length == 13)) &&
	  (cc.substring(0, 1) == 4))
        return isCreditCard(cc);
    return false;
}

function isMasterCard(cc) {
    firstdig = cc.substring(0, 1);
    seconddig = cc.substring(1, 2);
    if ((cc.length == 16) && (firstdig == 5) &&
	  ((seconddig >= 1) && (seconddig <= 5)))
        return isCreditCard(cc);
    return false;

}

function isAmericanExpress(cc) {
    firstdig = cc.substring(0, 1);
    seconddig = cc.substring(1, 2);
    if ((cc.length == 15) && (firstdig == 3) &&
	  ((seconddig == 4) || (seconddig == 7)))
        return isCreditCard(cc);
    return false;

}

function isDinersClub(cc) {
    firstdig = cc.substring(0, 1);
    seconddig = cc.substring(1, 2);
    if ((cc.length == 14) && (firstdig == 3) &&
	  ((seconddig == 0) || (seconddig == 6) || (seconddig == 8)))
        return isCreditCard(cc);
    return false;
}

function isCarteBlanche(cc) { return isDinersClub(cc); }

function isDiscover(cc) {
    first4digs = cc.substring(0, 4);
    if ((cc.length == 16) && (first4digs == "6011"))
        return isCreditCard(cc);
    return false;

}

function isEnRoute(cc) {
    first4digs = cc.substring(0, 4);
    if ((cc.length == 15) &&
	  ((first4digs == "2014") ||
	   (first4digs == "2149")))
        return isCreditCard(cc);
    return false;
}

function isJCB(cc) {
    first4digs = cc.substring(0, 4);
    if ((cc.length == 16) &&
	 ((first4digs == "3088") ||
	 (first4digs == "3096") ||
	 (first4digs == "3112") ||
	 (first4digs == "3158") ||
	 (first4digs == "3337") ||
	 (first4digs == "3528")))
        return isCreditCard(cc);
    return false;

}

function isAnyCard(cc) {
    if (!isCreditCard(cc))
        return false;
    if (!isMasterCard(cc) && !isVisa(cc) && !isAmericanExpress(cc) && !isDinersClub(cc) &&
	  !isDiscover(cc) && !isEnRoute(cc) && !isJCB(cc)) {
        return false;
    }
    return true;

}
function isCardMatch(cardType, cardNumber) {
    cardType = cardType.toUpperCase();
    var doesMatch = true;
    if ((cardType == "VISA") && (!isVisa(cardNumber)))
        doesMatch = false;
    if ((cardType == "MASTERCARD") && (!isMasterCard(cardNumber)))
        doesMatch = false;
    if (((cardType == "AMERICANEXPRESS") || (cardType == "AMEX"))
			   && (!isAmericanExpress(cardNumber))) doesMatch = false;
    if ((cardType == "DISCOVER") && (!isDiscover(cardNumber)))
        doesMatch = false;
    if ((cardType == "JCB") && (!isJCB(cardNumber)))
        doesMatch = false;
    if ((cardType == "DINERS") && (!isDinersClub(cardNumber)))
        doesMatch = false;
    if ((cardType == "CARTEBLANCHE") && (!isCarteBlanche(cardNumber)))
        doesMatch = false;
    if ((cardType == "ENROUTE") && (!isEnRoute(cardNumber)))
        doesMatch = false;
    return doesMatch;
}
function makeArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 0
    }
    return this;
}

///////////////Contact Us Fucntions///////////////////
/*function SubmitForm()
{
var frm = document.getElementById( "aspnetForm" );
					
if( Validate() )  //If all form fields are valid 
{
frm.postBack.value = 1;
frm.submit();
}
}  
function Validate()
{
var frm = document.getElementById( "aspnetForm" );

if( frm.selRegarding.selectedIndex == -1 )
{ 
alert( "Please select a topic" );
frm.selRegarding.focus();
return false;	
}
	
if( frm.selState.selectedIndex < 1 )
{
alert( "Please select a state" );
frm.selState.focus();
return false;	
}
  			
if( isBlank( frm.txtFName.value ) || isEmpty( frm.txtFName.value ) )
{
alert( "Please enter your First Name" );
frm.txtFName.focus();
return false;	
}
	
if( isBlank( frm.txtLName.value ) || isEmpty( frm.txtLName.value ) )
{
alert( "Please enter your Last Name" );
frm.txtLName.focus();
return false;	
}
	
if( isBlank( frm.txtEmail.value ) || isEmpty( frm.txtEmail.value ) || ( !isEmail( frm.txtEmail.value ) ) )
{
alert( "Please enter a valid Email Address" );
frm.txtEmail.focus();
return false;
}
	
if( isBlank( frm.txtRetypeEmail.value ) || isEmpty( frm.txtRetypeEmail.value ) || ( !isEmail( frm.txtRetypeEmail.value ) ) )
{
alert( "Please retype the email address" );
frm.txtRetypeEmail.focus();
return false;
}

if ( frm.txtEmail.value.toLowerCase() != frm.txtRetypeEmail.value.toLowerCase() )
{
alert( "Email and Retype Email do not match. Please re-enter.");
frm.txtEmail.focus();
return false;
}
var tempPhone;
tempPhone = stripCharsInBag( frm.txtPhone.value, phoneNumberDelimiters );
if( !isBlank( tempPhone ) && !isEmpty( tempPhone ) && !isUSPhoneNumber( tempPhone ) )
{
alert( iUSPhone );
frm.txtPhone.focus();
return false;
}
else if( !isBlank( tempPhone ) && !isEmpty( tempPhone ) )
{
frm.txtPhone.value = reformatUSPhone( tempPhone );
}
	
// call functions in CheckZip.js to validate zip code
	
var errMsg;
	
errMsg = checkZip(frm.txtZip.value);
	
if(errMsg.length != 0) 
{
alert(errMsg);
frm.txtZip.focus();
return false;
}
	
//reformats zip if 9 digits
frm.txtZip.value = reformatZip(frm.txtZip.value)
	
/*if( !isBlank( frm.txtPricePlusNo.value ) && !isEmpty( frm.txtPricePlusNo.value ) )
{
	
if( !ValidPricePlusNo( frm.txtPricePlusNo.value ) )
{
frm.txtPricePlusNo.focus();
return;
}
		
}
	
	
if( isBlank( frm.txtMessage.value ) || isEmpty( frm.txtMessage.value ) )
{
alert( "Please enter a Message" );
frm.txtMessage.focus();
return false;				
}
	
}
*/


function PopulateStates(whichForm, selectedState) {
    var selectedState = (typeof (selectedState) != 'undefined') ? selectedState : '--';
    var frm = document.getElementById(whichForm);
    var s = USStateCodes.split(USStateCodeDelimiter);

    opt = new Option("--", "--");
    frm.ctl00_MainContent_selState.options[0] = opt;

    for (j = 0; j < s.length; j++) {
        selected = (s[j] == selectedState) ? true : false;
        opt = new Option(s[j], s[j], selected);
        frm.ctl00_MainContent_selState.options[(j + 1)] = opt;

    }

}


function ShowHide() {
    var d = document.getElementById("CardBox");

    if (d.style.display == "none")
        d.style.display = "block";
    else
        d.style.display = "none";
}

function SubmitMealForm() {

    var frm = document.getElementById("aspnetForm");


    /*if( frm.ctl00_MainContent_selLocation.selectedIndex < 1 )
    {
    alert( "Please select a ShopRite location" );
    frm.ctl00_MainContent_selLocation.focus();
    return;	
    }*/

    if (isBlank(frm.ctl00_MainContent_txtFName.value) || isEmpty(frm.ctl00_MainContent_txtFName.value)) {
        alert("Please enter your First Name");
        frm.ctl00_MainContent_txtFName.focus();
        return;
    }

    if (isBlank(frm.ctl00_MainContent_txtLName.value) || isEmpty(frm.ctl00_MainContent_txtLName.value)) {
        alert("Please enter your Last Name");
        frm.ctl00_MainContent_txtLName.focus();
        return;
    }

    if (isBlank(frm.ctl00_MainContent_txtPUD.value) || isEmpty(frm.ctl00_MainContent_txtPUD.value)) {
        alert("Please enter a Pick Up Date");
        frm.ctl00_MainContent_txtPUD.focus();
        return;
    }


    if (isBlank(frm.ctl00_MainContent_txtPUT.value) || isEmpty(frm.ctl00_MainContent_txtPUT.value)) {
        alert("Please enter a Pick Up Time");
        frm.ctl00_MainContent_txtPUT.focus();
        return;
    }

    if (frm.ctl00_MainContent_txtTurkey.value == "0" && frm.ctl00_MainContent_txtHam.value == "0") {
        alert("Select at least one of the Ham or Turkey");
        frm.ctl00_MainContent_txtTurkey.focus();
        return;
    }

    if (frm.ctl00_MainContent_txtTurkey.value == "" && frm.ctl00_MainContent_txtHam.value == "") {
        alert("Select at least one of the Ham or Turkey");
        frm.ctl00_MainContent_txtTurkey.focus();
        return;
    }

    if (frm.ctl00_MainContent_txtTurkey.value == "0" && frm.ctl00_MainContent_txtHam.value == "") {
        alert("Select at least one of the Ham or Turkey");
        frm.ctl00_MainContent_txtTurkey.focus();
        return;
    }

    if (frm.ctl00_MainContent_txtTurkey.value == "" && frm.ctl00_MainContent_txtHam.value == "0") {
        alert("Select at least one of the Ham or Turkey");
        frm.ctl00_MainContent_txtTurkey.focus();
        return;
    }

    if (isBlank(frm.ctl00_MainContent_txtEmail.value) || isEmpty(frm.ctl00_MainContent_txtEmail.value) || (!isEmail(frm.ctl00_MainContent_txtEmail.value))) {
        alert("Please enter a valid Email Address");
        frm.ctl00_MainContent_txtEmail.focus();
        return;
    }

    var tempPhone;
    tempPhone = stripCharsInBag(frm.ctl00_MainContent_txtPhone.value, phoneNumberDelimiters);
    if (!isBlank(tempPhone) && !isEmpty(tempPhone) && !isUSPhoneNumber(tempPhone)) {
        alert(iUSPhone);
        frm.ctl00_MainContent_txtPhone.focus();
        return;
    }
    else if (!isBlank(tempPhone) && !isEmpty(tempPhone)) {
        frm.ctl00_MainContent_txtPhone.value = reformatUSPhone(tempPhone);
    }

    // call functions in CheckZip.js to validate zip code

    var errMsg;

    errMsg = checkZip(frm.ctl00_MainContent_txtZip.value);

    if (errMsg.length != 0) {
        alert(errMsg);
        frm.ctl00_MainContent_txtZip.focus();
    }


    if (frm.ctl00_MainContent_txtPUD.value == "12/23/2006" || frm.ctl00_MainContent_txtPUD.value == "12/24/2006" || frm.ctl00_MainContent_txtPUD.value == "12/25/2006") {
        if (!confirm("Reminder: There is a 48 hour defrost time. Submit anyway?"))
        { return; }
    }


    //reformats zip if 9 digits
    frm.ctl00_MainContent_txtZip.value = reformatZip(frm.ctl00_MainContent_txtZip.value)

    frm.ctl00_MainContent_storeName.value = frm.ctl00_MainContent_selLocation.selectedIndex.value;
    frm.ctl00_MainContent_postBack.value = 1;

    frm.submit();

}
////////////////////////////////////////////////////////////////

function DZL_SubmitForm() {
    var frm = document.getElementById("aspnetForm");

    // call functions in CheckZip.js to validate zip code

    var errMsg;

    errMsg = checkZip(frm.ctl00_MainContent_txtZCode.value);

    if (errMsg.length != 0) {
        alert(errMsg);
        frm.ctl00_MainContent_txtZCode.focus();
        return;
    }

    //reformats zip if 9 digits
    frm.ctl00_MainContent_txtZCode.value = reformatZip(frm.ctl00_MainContent_txtZCode.value)

    frm.ctl00_MainContent_postBack.value = 1;

    frm.submit();

}

/////////////////////////////////////////////////////////////

function redirectOnlineStore() {
    var el = document.getElementById("ctl00_MainContent_selLocation");

    if (el.options[el.selectedIndex].value != "Select") {
        var href = "http://shop.mywebgrocer.com/shop.aspx?strid=94991514&sc=" + el.options[el.selectedIndex].value;
        window.open(href, "_self");

    }
}

////////////////////////////////////////////////////////////

function checkShopOnlineStore() {

    //arr holds storeLabel of stores that offers online party platter
    var arr = new Array("613", "637", "572", "466", "470", "641", "585", "506", "573", "553", "514", "607", "521", "566", "625", "602", "500", "193", "617", "299", "524", "533", "552", "630", "623", "522");
    //arrLinks holds the node store source codes associated with stores that offers online party platter
    var arrLinks = new Array("A33F81A30", "C4BD2F232", "021044426", "8E98F8E19", "32407EE10", "E6C0B5733", "5E8E7CF12", "E52F1C920", "E6312E927", "5F9759C25", "14515CF22", "FD0344129", "82CC3AB7", "0A6985E310", "B05DCC8311", "552074B28", "2389ABC9", "297677617", "D3AD28313", "44DCF8018", "4A8EEC923", "8FA1B5421", "765FA8A24", "6DA745C14", "4161D8131", "F0753E211");

    //orderready holds storeLabel of stores that offer Order Ready
    var orderready = new Array("120", "162", "191","205", "207", "215", "225", "247", "259", "261", "273", "284", "294", "296", "297", "298", "355", "418", "434", "435", "443", "447", "451", "453", "473", "550", "600", "601", "603", "612", "633", "642", "643", "542", "544", "504", "507", "508", "530", "531", "539", "554", "651");

    var el = document.getElementById("ctl00_MainContent_selLocation");
    var s = el.options[el.selectedIndex].value;

    var ct1 = 0;
    var ct2 = 0;
    while (ct1 < arr.length) {
        if (s == arr[ct1]) {
            sendtoStore(s, "http://shop.mywebgrocer.com/shop.aspx?strid=13B4593&sc=" + arrLinks[ct1]);
            return;
        }
        ct1++;
    }
    while (ct2 < orderready.length) {
        if (s == orderready[ct2]) {
            sendtoStore(s, "http://shopriteorders.mywebgrocer.com/Store/00001/" + orderready[ct2]);
            return;
        }
        ct2++;
    }

    window.location = "PreOrderForm.aspx?store=" + el.options[el.selectedIndex].text + "&strLabel=" + el.options[el.selectedIndex].value;
}

function sendtoStore(s, l) {
    window.location = l;
}
///////////////////////////////////////////////////////////////

function Launch(url) {
    var popW = 1024;
    var popH = 768;

    var _w = 0;
    var _h = 0;

    var _top = 0;
    var _left = 0;

    if (window.screen) {

        _w = Math.floor(screen.availWidth);
        _h = Math.floor(screen.availHeight);

        if (_w <= popW) {
            _left = 0;
            popW = (_w - 10);
        }
        else
            Left = Math.floor((screen.availWidth - popW) / 4);

        if (_h <= popH) {
            _top = 0;
            popH = (_h - 50);
        }
        else
            _top = Math.floor((screen.availHeight - popH) / 4);

    }
    else {
        popW = 640;
        popH = 480;
        _left = 0;
        _top = 0;
    }

    newWindow = window.open(url, '', 'scrollbars,resizable=1,status=1,width=' + popW + ',height=' + popH + ',top=' + _top + ',left=' + _left);

}
