//ae_emaildoubleoptfxs.js

function sendConfirmEmails()
{
	alert("Into sendConfirmEmails fx");

	var currFirstNamefld = 'txtfname';
	var currLastNamefld = 'txtlname';
	var currEmailfld = 'txtmle';
	var currIntoptsfld = 'ddintopts';
	var currInterestinaefld = 'txtinterestinae';
	var currNewEmailfld = 'txtnewmle';
	var currOptOutfld = 'cbxoptut';

	var currFirstNameVal = document.getElementById(currFirstNamefld).value;
	var currLastNameVal = document.getElementById(currLastNamefld).value;
	var currEmailVal = document.getElementById(currEmailfld).value;
	//var currIntoptsVal = document.getElementById(currIntoptsfld).value;
	var currInterestinaeVal = document.getElementById(currInterestinaefld).value;
	var currNewEmailVal = document.getElementById(currNewEmailfld).value;
	//var currOptOutVal = document.getElementById(currOptOutfld).value;


        if( ValidName("txtfname",currFirstNameVal) == false )
        {
		var lenzip = txtfname.length;
		var fieldeml_id = txtfname.substring(3,lenzip);
		alert ("We are sorry, but we need you to enter a valid value for the " + fieldeml_id + " field. Please try again. Thank you.");

		document.getElementById("txtfname").focus();

            	return false;
        }

	//alert("RIGHT AFTER FNAME VALIDATION");


        if( ValidName("txtlname",currLastNameVal) == false )
        {
		var lenzip = txtlname.length;
		var fieldeml_id = txtlname.substring(3,lenzip);
		alert ("We are sorry, but we need you to enter a valid value for the " + fieldeml_id + " field. Please try again. Thank you.");

		document.getElementById("txtlname").focus();

            	return false;
        }


        if( ValidEmail("txtmle",currEmailVal) == false )
        {
		var lenzip = txtmle.length;
		var fieldeml_id = txtmle.substring(3,lenzip);
		alert ("We are sorry, but we need you to enter a valid value for the " + fieldeml_id + " field. Please try again. Thank you.");
		document.getElementById("txtmle").focus();

            	return false;
        }


        if( ValidEmail("txtnewmle",currNewEmailVal) == false )
        {
		var lenzip = txtnewmle.length;
		var fieldeml_id = txtnewmle.substring(3,lenzip);
		alert ("We are sorry, but we need you to enter a valid value for the " + fieldeml_id + " field. Please try again. Thank you.");
		document.getElementById("txtnewmle").focus();

            	return false;
        }


 	//var url="cart.php?action=deleteCartItem&arr1="+cartidelem+"&arr2="+str_cartqty+"&arr3="+str_tofxcartitemAll+"&itemident="+int_itemid;
 	//var url="ae_emaildoubleopt.php?action=sendConfirms&arr1="+BusIDVal+"&arr2="+str_tofxitemAll;
 	//var url="http://www.afford-ecommerce.com/ae_aaemaildoubleopt.php?action=sendConfirms";
  	var url="http://www.afford-ecommerce.com/ae_aaemaildoubleopt.php?action=sendConfirms&arr1="+currFirstNameVal+"&arr2="+currLastNameVal+"&arr3="+currEmailVal+"&arr4="+currInterestinaeVal+"&arr5="+currNewEmailVal;


 	//alert ("url value:");
 	//alert (url);

	window.open(url, "_self");

}




function setsessvars() {
	//var mychildsswinX = null;
	//mychildsswinX = window.open("vep_tupdproc.php","sessprocwin","toolbar=no, location=no, left=150, top=150, height=700, width=700, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no");
	//mychildsswinX.focus();
	var fname = window.document.form_discrlist.tutorfname.value;
	var lname = window.document.form_discrlist.tutorlname.value;
	if (fname!='')
	{
		if (lname!='')
		{
			window.document.form_discrlist.tutorlname.focus();
			window.document.form_discrlist.submit();
		}
	}
}


function submitForm() 
{
	//document.form1.reset()
	//document.form1.action = "anotherpage.html";
	//document.form1.submit();
	document.frmCart.submit(); 
}


function copyPriorShipInfo(chkname)
{
   if (document.getElementById(chkname).checked==true)
  	//if (chkname.checked==true)
	{
    	//alert("Same Shop Is checked");
    	//chk.checked = 1;

	//NEEDED TO CHANGE THE FIELDS NAMES AND MAKE THE CART-FUNCTIONS UPDATE FX TO WORK AGAIN

	//var fname = document.getElementById("txtShippingFirstName1").value;
	//alert ("Value in ShippingFirstName of first item:");
	//alert (fname);
	//document.getElementById("testupd").value = 'testworked8';


	//alert ("Name of checkbox field checked was:");
	//alert (chkname);


	var curritem_id = chkname.substring(7,8);

	//alert ("Number of checkbox field checked was:");
	//alert (curritem_id);

	var previtem_id;
	previtem_id = curritem_id - 1;

	//alert ("Number of previous checkbox field checked was:");
	//alert (previtem_id);

	var currFirstNamefld = 'txtShippingFirstName'+curritem_id;
	var prevFirstNamefld = 'txtShippingFirstName'+previtem_id;


	//alert ("Name of First Name field of cart line whose checkbox clicked:");
	//alert (currFirstNamefld);


	var currLastNamefld = 'txtShippingLastName'+curritem_id;
	//alert ("currLastNamefld is:");
	//alert (currLastNamefld);

	var prevLastNamefld = 'txtShippingLastName'+previtem_id;
	//alert ("prevLastNamefld is:");
	//alert (prevLastNamefld);

	var currMidInitfld = 'txtShippingMidInit'+curritem_id;
	var prevMidInitfld = 'txtShippingMidInit'+previtem_id;

	var currAddress1fld = 'txtShippingAddress1'+curritem_id;
	var prevAddress1fld = 'txtShippingAddress1'+previtem_id;

	var currAddress2fld = 'txtShippingAddress2'+curritem_id;
	var prevAddress2fld = 'txtShippingAddress2'+previtem_id;

	var currAddress3fld = 'txtShippingAddress3'+curritem_id;
	var prevAddress3fld = 'txtShippingAddress3'+previtem_id;

	var currCityfld = 'txtShippingCity'+curritem_id;
	var prevCityfld = 'txtShippingCity'+previtem_id;

	var currStatefld = 'txtShippingState'+curritem_id;
	var prevStatefld = 'txtShippingState'+previtem_id;

	var currPostalCodefld = 'txtShippingPostalCode'+curritem_id;
	var prevPostalCodefld = 'txtShippingPostalCode'+previtem_id;

	var currPhonefld = 'txtShippingPhone'+curritem_id;
	var prevPhonefld = 'txtShippingPhone'+previtem_id;

	var currEmailfld = 'txtShippingEmail'+curritem_id;
	var prevEmailfld = 'txtShippingEmail'+previtem_id;


	if (previtem_id > 0) {
		//alert ("Prev item is greater than 0");
		//var fname = document.getElementById("txtShippingFirstName1").value;

		document.getElementById(currFirstNamefld).value  = document.getElementById(prevFirstNamefld).value;
		document.getElementById(currLastNamefld).value  = document.getElementById(prevLastNamefld).value;
		document.getElementById(currMidInitfld).value  = document.getElementById(prevMidInitfld).value;
		document.getElementById(currAddress1fld).value  = document.getElementById(prevAddress1fld).value;
		document.getElementById(currAddress2fld).value  = document.getElementById(prevAddress2fld).value;
		document.getElementById(currAddress3fld).value  = document.getElementById(prevAddress3fld).value;
		document.getElementById(currCityfld).value  = document.getElementById(prevCityfld).value;
		document.getElementById(currStatefld).value  = document.getElementById(prevStatefld).value;
		document.getElementById(currPostalCodefld).value  = document.getElementById(prevPostalCodefld).value;
		document.getElementById(currPhonefld).value  = document.getElementById(prevPhonefld).value;
		document.getElementById(currEmailfld).value  = document.getElementById(prevEmailfld).value;

	}

	}

  else
	{
    	//alert("Same Shop Is no longer checked");
    	//Since user unchecked the checkbox, then call fx to clear out all ship info fields
    	clearCurrShipInfo(chkname)
	}

}


function clearCurrShipInfo(chkname)
{
	//var fname = document.getElementById("txtShippingFirstName1").value;
	//alert ("Into clearCurrShipInfo fx");
	//alert (fname);
	//document.getElementById("testupd").value = 'testworked8';

	//alert ("Name of checkbox field checked was:");
	//alert (chkname);

	//var curritem_id = chkname.substring(12,13);

	//Modify the following for shop cart with > 9 different items to select to buy:
	var len = chkname.length;
	var adj = len - 1;
	var curritem_id = chkname.substring(adj,len);

	//alert ("Number of checkbox field checked was:");
	//alert (curritem_id);


	//alert ("Number of previous checkbox field checked was:");
	//alert (previtem_id);

	var currFirstNamefld = 'txtShippingFirstName'+curritem_id;

	var currLastNamefld = 'txtShippingLastName'+curritem_id;
	//alert ("currLastNamefld is:");
	//alert (currLastNamefld);


	var currMidInitfld = 'txtShippingMidInit'+curritem_id;

	var currAddress1fld = 'txtShippingAddress1'+curritem_id;

	var currAddress2fld = 'txtShippingAddress2'+curritem_id;

	var currAddress3fld = 'txtShippingAddress3'+curritem_id;

	var currCityfld = 'txtShippingCity'+curritem_id;

	var currStatefld = 'txtShippingState'+curritem_id;

	var currPostalCodefld = 'txtShippingPostalCode'+curritem_id;

	var currPhonefld = 'txtShippingPhone'+curritem_id;

	var currEmailfld = 'txtShippingEmail'+curritem_id;


	document.getElementById(currFirstNamefld).value  = "";
	document.getElementById(currLastNamefld).value  = "";
	document.getElementById(currMidInitfld).value  = "";
	document.getElementById(currAddress1fld).value  = "";
	document.getElementById(currAddress2fld).value  = "";
	document.getElementById(currAddress3fld).value  = "";
	document.getElementById(currCityfld).value  = "";
	//document.getElementById(currStatefld).value  = "";
	document.getElementById(currPostalCodefld).value  = "";
	document.getElementById(currPhonefld).value  = "";
	document.getElementById(currEmailfld).value  = "";

	var currChkClearSame = 'chkClearSame'+curritem_id;
	var currChkSame = 'chkSame'+curritem_id;


	//alert ("Name of Same checkbox field is:");
	//alert (currChkSame);

	//alert ("Name of Clear checkbox field is:");
	//alert (currChkClearSame);

	var objChkClearSame = document.getElementById(currChkClearSame);
	objChkClearSame.checked = false;

	var objChkSame = document.getElementById(currChkSame);
	objChkSame.checked = false;

	//document.getElementById(currChkSame).checked = false;

  	////var selectedItem = currStatefld[currStatefld.selectedIndex];
  	////selectedItem.value = "Select";

	////currStatefld.obj.selectedIndex = 0;
	////document.frmCart.currStatefld[1].selected = "1"

    	//var objSelectState = document.getElementById(currStatefld);
	////objSelectState.options[objSelectState.selectedIndex] = "0";

	////selIdx = document.forms[0].marsupials.selectedIndex;
	////newSel = document.forms[0].marsupials.options[selIdx].text;

	//var optionSelectState = document.getElementById( objSelectState[0] );

	//optionSelectState.selected = true;

	var objSelectState = document.getElementById(currStatefld);
	objSelectState.selectedIndex = 0;

	//alert ("Name of Select Option field is:");
	//alert (currStatefld);
}



function checkShippingAndPaymentInfo()
{
	//Validate the shipping info for each item:
	//MAY CHANGE CHECK/REQUIRED FIELD FROM txtShippingAddress1 TO txtShippingAddress3; and
	//	CHANGE CHECK/REQUIRED FIELD FROM txtPaymentAddress1 TO txtPaymentAddress3; and
	//	DECIDE WHETHER SHIP OR PAYMENT EMAIL REQUIRED:
	with (window.document.frmCheckout) {
		if (isEmpty(txtShippingFirstName, 'Enter first name')) {
			return false;
		} else if (isEmpty(txtShippingLastName, 'Enter last name')) {
			return false;
		} else if (isEmpty(txtShippingAddress1, 'Enter shipping address')) {
			return false;
		} else if (isEmpty(txtShippingCity, 'Enter shipping address city')) {
			return false;
		} else if (isEmpty(txtShippingState, 'Enter shipping address state')) {
			return false;
		} else if (isEmpty(txtShippingPostalCode, 'Enter the shipping address postal/zip code')) {
			return false;
		} else if (isEmpty(txtShippingPhone, 'Enter phone number')) {
			return false;
		} else if (isEmpty(txtShippingEmail, 'Enter the email address')) {
			return false;
		} else if (isEmpty(txtPaymentFirstName, 'Enter first name')) {
			return false;
		} else if (isEmpty(txtPaymentLastName, 'Enter last name')) {
			return false;
		} else if (isEmpty(txtPaymentAddress1, 'Enter Payment address')) {
			return false;
		} else if (isEmpty(txtPaymentCity, 'Enter Payment address city')) {
			return false;
		} else if (isEmpty(txtPaymentState, 'Enter Payment address state')) {
			return false;
		} else if (isEmpty(txtPaymentPostalCode, 'Enter the Payment address postal/zip code')) {
			return false;
		} else if (isEmpty(txtPaymentPhone, 'Enter phone number')) {
			return false;
		} else if (isEmpty(txtPaymentEmail, 'Enter email address')) {
			return false;
		} else {
			return true;
		}
	}
}


function updandcontinueshop()
{
	//alert("Into updandcontinueshop() fx");
	//NOTE: document.getElementById('whatever').submit.click() 
	//	works in FireFox, but it doesn't work in IE
	//Also, this does not "work" in IE or FF:
	//<button onclick='document.forms[0].submit();'>Submit</button>


	//var btnobj= document.frmCart.btnUpd;
	//var btnobj= document.getElementById("btnUpd");
	//btnobj.click();

	//document.forms[0].submit();
	//var formobj= document.getElementById("frmCart");
	//formobj.submit();
	//document.getElementById("frmCart").submit();

	validnupdatecart();

	//alert("At end of updandcontinueshop() fx");

	//window.location.href='contshopURL';
	//window.location.href=contshopURL;
	//window.location.href='http://www.afford-ecommerce.com/source/index.php';
}





function setfocus(field_theid) {
	//FIX THIS FUNCTION
	//alert("Got into setfocus fx");
	//alert ("Field ID passed in was:");
	//alert (field_theid);
        //$(field_theid).focus();

  	var input_fieldid = document.getElementById(field_theid); 
	//document.frmCart.input_fieldid.focus();
	document.forms[0].input_fieldid.focus();

	//frmCart..focus();

	//document.forms[formInst].elements[elementInst].focus();
	//frmCart
	//document.forms[0].field_theid.focus();
	//document.forms[0].elements[1].focus();
	//alert("End of setfocus fx");
}


function testhostsuffix(value, regexPattern)
{
	return regexPattern.test(value);
}


function StripSpacesFromEnds(s)
{
	while((s.indexOf(' ',0) == 0) && (s.length > 1))
	{
		s = s.substring(1,s.length);
	}
	while((s.lastIndexOf(' ') == (s.length - 1) && (s.length > 1)))
	{
		s = s.substring(0,(s.length - 1));
	}
	if((s.indexOf(' ',0) == 0) && (s.length == 1)) s = '';
	return s;
}


function checkIfSet(s)
{
	//alert("Got into IsItPresent fx- passed in string is:");
	//alert(s);
	//var lenexpl = explanation.length;
	//var fieldnm = explanation.substring(3,lenexpl);
	//var fieldnm = explanation;

	s = StripSpacesFromEnds(s);

	//TEMP REVISION TO SEE IF IT MAKES VALIDATION CATCH A BLANK NAME:
	//if(s.length) return s;
	//if(s.length > 0) return s;
	var lenstr = s.length;
	//alert("Got into IsItPresent fx- passed in string length is:");
	//alert(lenstr);

	if(lenstr > 0) return s;

	//alert( s_linenotice + 'Please enter or check the spelling of your ' + explanation + '.  Thank you.');
	//alert( s_linenotice + ': Please enter or check the spelling of your ' + fieldnm + '.  Thank you.');


	//Confirm if need to return a different value if the field is blank:
	return '';
}


function IsItPresent(s,explanation, s_linenotice)
{
	//alert("Got into IsItPresent fx- passed in string is:");
	//alert(s);
	//var lenexpl = explanation.length;
	//var fieldnm = explanation.substring(3,lenexpl);
	var fieldnm = explanation;

	s = StripSpacesFromEnds(s);

	//TEMP REVISION TO SEE IF IT MAKES VALIDATION CATCH A BLANK NAME:
	//if(s.length) return s;
	//if(s.length > 0) return s;
	var lenstr = s.length;
	//alert("Got into IsItPresent fx- passed in string length is:");
	//alert(lenstr);

	if(lenstr > 0) return s;

        if( explanation == 'New Email Address' )
        {
		return s;
        }

	//alert( s_linenotice + 'Please enter or check the spelling of your ' + explanation + '.  Thank you.');
	alert( s_linenotice + ': Please enter or check the spelling of your ' + fieldnm + '.  Thank you.');


	//Confirm if need to return a different value if the field is blank:
	return '';
}


function IsIntPresent(fld_value,explanation)
{
	//fld_value = StripSpacesFromEnds(fld_value);
	//if(fld_value.length) return fld_value;

	if(fld_value) return fld_value;
	alert('Please enter ' + explanation + '.');
	return '';
}


function testinteger(fld_value, required)
{
    	fld_value = fld_value.replace(/^\s+/,'').replace(/\s+$/,'');
	fld_value = fld_value.replace(/[$ŁĄ€,~+]?/g, '');

        if( fld_value.length == 0 )
        {
            return false;
        }

	var decimal_format = ".";
	var check_char = fld_value.indexOf(decimal_format);

	if (check_char == -1)
		return testnumber(fld_value);
	else
		return false;
}

function testnumber(fld_value)
{
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	fld_value = fld_value.replace(/^\s+/,'').replace(/\s+$/,'');
	fld_value = fld_value.replace(/[$ŁĄ€,~+]?/g, '');

        if( object_value.length == 0 ) {
            return false;
        }

	check_char = start_format.indexOf(fld_value.charAt(0));

	if (check_char == 1)
		decimal = true;
	else if (check_char < 1)
		return false;

	for (var i = 1; i < fld_value.length; i++)
	{
		check_char = number_format.indexOf(fld_value.charAt(i));
		if (check_char < 0)
			return false;
		else if (check_char == 1)
		{
			if (decimal)
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;
		}
		else if (trailing_blank)
			return false;
		else
			digits = true;
	}	
	return true
}


function testnumberrange(fld_value, min_value, max_value, required)
{
    //fld_value = fld_value.replace(/^\s+/,'').replace(/\s+$/,'');

        if( fld_value.length == 0 )
        {
            return false;
        }


	if (min_value != null)
	{
		if (fld_value < min_value)
			return false;
	}

	if (max_value != null)
	{
		if (fld_value > max_value)
			return false;
	}

	return true;
}


function testrange(fld_value, min_value, max_value, required)
{
    fld_value = fld_value.replace(/^\s+/,'').replace(/\s+$/,'');

        if( fld_value.length == 0 )
        {
            return false;
        }

	if (!testnumber(fld_value))
		return false;
	else
		return (testnumberrange((eval(fld_value)), min_value, max_value));

	return true;
}



function testday(checkYear, checkMonth, checkDay)
{
	maxDay = 31;

	if (checkMonth == 4 || checkMonth == 6 ||
		checkMonth == 9 || checkMonth == 11)
		maxDay = 30;
	else if (checkMonth == 2)
	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}

	return testrange(checkDay, 1, maxDay);
}



function testphone(value, regexPattern)
{
	//alert("Got into testphone FX for regexPattern test :");
	return regexPattern.test(value);
}



function ValidEmail(fldname,s_email)
{
	//alert("Got into ValidEmail fx- passed in email value string is:");
	//alert(s_email);

        if( fldname == 'txtmle' )
        {
		var displayname = 'Email Address';
		//s_email = IsItPresent(s_email,' Email Address');
		s_email = IsItPresent(s_email,' Email Address', 'For your Email Opt-In Request' + ', ' );

		if(s_email == '')
        	{
			return false;
        	}
            	//fieldname = 'Email Address';

        }


        if( fldname == 'txtnewmle' )
        {
		var displayname = 'New Email Address';
		s_email = IsItPresent(s_email,'New Email Address', 'For your Email Opt-In Request' + ', ' );

		if(s_email == '')
        	{
			return true;
        	}
            	//fieldname = 'New Email Address';

        }

	s_email = s_email.replace(/'/,"");
	s_email = s_email.replace(/"/,"");


 	var illegalChars = [";", "~", "!", "#", "$", "%", "^", "&", "*", "(", ")", "+", "=", "{", "}", "|", "\\", ":" , "/", "`", "'","\"","<", ">", "," ,"?" ];
 	//var illegalChars = ["#", "$", "%", "^", "&", "*"];
	var emailOK = null;
 	//for (var char in illegalChars) 
 	var indivchar = null; 
 	for (indivchar in illegalChars) 
	{
  		emailOK = s_email.indexOf(illegalChars[indivchar]);
        	if( emailOK==-1 )
        	{
			//
        	} 
		else 
		{
			alert("For your Email Opt-In Request" + ", " + "the Email Address you entered contained (an) illegal character(s), such as symbol(s). Please check the spelling. Thank you.");
            		return false;
        	}
 	}

 	//var illegalSpace = [" "];
	var emailNoSp = null;
 	//for (var char in illegalChars) 
 	var indivspace = null; 
 	for (indivspace in illegalChars)
	{
  		emailNoSp = s_email.indexOf(illegalChars[indivspace]);
        	if( emailNoSp==-1 )
        	{
			//
        	} 
		else 
		{
			alert("For your Email Opt-In Request" + ", " + "the Email Address you entered contained (an) illegal space(s). Please remove all empty space. Thank you.");
            		return false;
        	}
 	}

 	var periodMark = ["."];
	var periodOK = null;
 	for (var mark in periodMark) 
	{
  		periodOK = s_email.indexOf(periodMark[mark]);
	}
	var s_email_array = s_email.split("")
	var part_username = ''; 
	periodOK = periodOK - 1;
	//for (var i = periodOK; i < s_email.length; i--)
	for (var i = 0; i < periodOK; i++)
	{
		part_username = part_username + s_email_array[i];
	}
 	var illegalHyphen = ["-"];
	var usernameOK = null;
 	//for (var char in illegalHyphen) 
 	var indivchar = null; 
 	for (indivchar in illegalHyphen) 
	{
  		usernameOK = part_username.indexOf(illegalHyphen[indivchar]);
        	if( usernameOK==-1 )
        	{
			//
        	} 
		else 
		{
			alert("For your Email Opt-In Request" + ", " + "the Email Address you entered contained (an) illegal hyphen mark(s). Please check the spelling. Thank you.");
            		return false;
        	}
 	}


 	//var periodMark = ["."];
	var periodOK = null;
 	for (var mark in periodMark) 
	{
  		periodOK = s_email.indexOf(periodMark[mark]);
	}
	var s_email_array = s_email.split("")
	var hostsuffix = ''; 
	//periodOK = periodOK + 1;
	//for (var i = periodOK; i < s_email.length; i++)
	//{
	//	hostsuffix = hostsuffix + s_email_array[i];
	//}
	var char1 = '';
	var char2 = '';
	var char3 = '';
	var char4 = '';
	var len_val = s_email.length;
	len_val = len_val - 1;
	char1 = s_email_array[len_val];
	len_val = len_val - 1;
	char2 = s_email_array[len_val];
	len_val = len_val - 1;
	char3 = s_email_array[len_val];
	len_val = len_val - 1;
	char4 = s_email_array[len_val];
        //if( char4=='.' )
        //{
        //}
	//else 
	//{
	//	alert("Email you entered did not have the required period mark.");
        //    	return false;
	//}

	hostsuffix = char4 + char3 + char2 + char1;


	//result = testphone(value, /^[0-9]{3}[-/][0-9]{3}[-][0-9]{4,4}
	//result = testhostsuffix(hostsuffix, /^[a-zA-Z]{3}$/);
	result = testhostsuffix(hostsuffix, /^[.][a-zA-Z]{3}$/);

        if( result )
        {
            	//return true;
        } 
	else 
	{
		alert("For your Email Opt-In Request" + ", " + "for your Email Address, you have not entered a valid hostsuffix.  Please enter a hostsuffix like .com");
            	return false;
        }



	if(! s_email) return false;
	var i = s_email.indexOf(' ',0);
	while(i > -1)
	{
		s_email = s_email.substring(0,i) + 
			s_email.substring((i + 1),s_email.length);
		i = s_email.indexOf(' ',0);
	}
	//fld2obj = document.getElementById('email');
	fldname.value = s_email;
	if((s_email.length < 6) ||
	   (s_email.indexOf('\@',0) < 1) ||
	   (s_email.lastIndexOf('\@') != s_email.indexOf('\@',0)) ||
	   (s_email.lastIndexOf('\@') > (s_email.length - 5)) ||
	   (s_email.lastIndexOf('.') > (s_email.length - 3)) ||
	   (s_email.lastIndexOf('.') < (s_email.length - 4)) ||
	   (s_email.indexOf('..',0) > -1) ||
	   (s_email.indexOf('\@.',0) > -1) ||
	   (s_email.indexOf('.\@',0) > -1) ||
	   (s_email.indexOf(',',0) > -1))
	{
		alert("For your Email Opt-In Request" + ", " + "the Email Address must be in a format like johndoe@aol.com. Please check the spelling. Thank you.");
		return false;
	}


	//Confirm if want or need this:
	return true;
}





function ValidateZip(field,s_zip,line_itemid)
{
	//alert("Got into ValidateZip fx");

	var valid = "0123456789-";
	var hyphencount = 0;

	if (s_zip.length!=5 && s_zip.length!=10) {
		alert("For Cart Line No. " + line_itemid + ", please enter the 5 digit (or 5 digit+4) Zip Code, in the format like '12345' (or '12345-6789').");
		//Place the user back on this field:
		//field 
		//This setfocus() alone not enough to return focus to the field:
		//setfocus('myfieldid');
		//setfocus(field);
		return false;
	}

	for (var i=0; i < s_zip.length; i++) {
		temp = "" + s_zip.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			alert("For Cart Line No. " + line_itemid + ", there are one or more invalid characters, such as letters or symbols, in the Zip Code.  Please try again.");
			//Place the user back on this field:
			//This setfocus() alone not enough to return focus to the field:
			//setfocus(field); 
			return false;
		}

		if ((hyphencount > 1) || ((s_zip.length==10) && ""+s_zip.charAt(5)!="-")) {
			alert("For Cart Line No. " + line_itemid + ", the hyphen character should be used with a properly formatted 5 digit (or 5 digit+4) Zip Code, in the format like '12345' (or '12345-6789').   Please try again.");
			//Place the user back on this field:
			//This setfocus() alone not enough to return focus to the field:
			//setfocus(field);
			return false;
	   	}
	}

	return true;
}


function ValidName(fldname,s_name)
{
	//txtShippingFirstName
	//alert("Got into ValidName fx- passed in name or word value string is:");
	//alert(s_name);

	var lennm = fldname.length;
	var currfldname = fldname.substring(3,lennm);
	//var lennm = currfldname.length;
	//var currfldname = currfldname.substring(0,lennm - 1);
	//alert("In ValidName fx, SUBSTRING currfldname is:");
	//alert(currfldname);

        if( currfldname == 'fname' )
        {
		var displayname = 'First Name';
		//alert("In ValidName fx IF CLAUSE, SUBSTRING currfldname is:");
		//alert(currfldname);
		//IsItPresent(s,explanation, s_linenotice)
		s_name = IsItPresent(s_name, displayname, 'For your First Name' );

		if(s_name == '')
        	{
			return false;
        	}
            	fieldname = 'First Name';

        }
        if( currfldname == 'lname' )
        {
		var displayname = 'Last Name';
		s_name = IsItPresent(s_name, displayname, 'For your Last Name' );

		if(s_name == '')
        	{
			return false;
        	}
            	fieldname = 'Last Name';
        }
        if( currfldname == 'interestinae' )
        {
            	fieldname = 'Other Interests';

		return false;
        }


	var fld4obj = null;


 	var illegalChars = [";", "~", "!", "#", "$", "%", "^", "&", "*", "(", ")", "+", "=", "{", "}", "|", "\\", ":" , "/", "`","\"","<", ">", "," ,"?","@",".","[","]","_","0","1","2","3","4","5","6","7","8","9" ];
 	//var illegalChars = ["#", "$", "%", "^", "&", "*"];
	var nameOK = null;
 	for (var indivchar in illegalChars) 
	{
  		nameOK = s_name.indexOf(illegalChars[indivchar]);
        	if( nameOK==-1 )
        	{
			//alert("The name you entered passed illegal chars check.");
        	} 
		else 
		{

			alert("The name or word you entered for " + fieldname + " contained (an) improper character(s), such as numbers or symbols. Please check the spelling. Thank you.");
            		return false;
        	}
 	}

	var s_name_check = null;
	//s_name_check = s_name.replace(/-/,"");
	s_name_check = s_name.replace(/'/,"");

	//var extraChars = ["-", "'"];
	var extraChars = ["'"];
	var nameCheck = null;
 	for (var indivqt in extraChars) 
	{
  		nameCheck = s_name_check.indexOf(extraChars[indivqt]);
        	if( nameCheck==-1 )
        	{
			//
        	} 
		else 
		{
			alert("The name or word you entered for " + fieldname + " contained an extra quote mark. Please check the spelling. Thank you.");
            		return false;
        	}
 	}

	var text = "-";
	var by  = "";
	var s_name_checkhyph = s_name;
    	var strLength = s_name_checkhyph.length, txtLength = text.length;

    	//if ((strLength == 0) || (txtLength == 0)) return s_name_checkhyph;
    	var i = s_name_checkhyph.indexOf(text);

    	//if ((!i) && (text != s_name_checkhyph.substring(0,txtLength))) 
	//return s_name_checkhyph;
    	//if (i == -1) return s_name_checkhyph;

    	var newstr = s_name_checkhyph.substring(0,i) + by;

        if( s_name_checkhyph.substring(0,1) == "-" )
        {
		alert("The name or word you entered for " + fieldname + " contained an extra hyphen. Please check the spelling. Thank you.");
            	return false;
        }

    	if (i+txtLength < strLength)
        {
		//var strNewLength = strLength - 1;
		var strNewLength = strLength;
		var j = i + 1;
        	//newstr += replace(s_name_checkhyph.substring(i+txtLength,strLength),text,by);
		newstr = newstr + s_name_checkhyph.substring(j,strNewLength);
    		var k = newstr.indexOf(text);
        	if( k > -1 )
        	{
			alert("The name or word you entered for " + fieldname + " contained an extra hyphen. Please check the spelling. Thank you.");
            		return false;
        	} 
        } 
	else 
	{
            	//return false;
        }



	if(! s_name) return false;
	var i = s_name.indexOf('  ',0);
	while(i > -1)
	{
		s_name = s_name.substring(0,(i + 1)) + 
			s_name.substring((i + 2),s_name.length);
		i = s_name.indexOf('  ',0);
	}
	s_name = s_name.toLowerCase();
	var s = new String(s_name.substring(0,1));
	s = s.toUpperCase();
	s_name = s + s_name.substring(1,s_name.length);
	i = s_name.indexOf(' ',0);
	if(i == (s_name.length - 1)) i = -1;
	var ts = new String('');
	var j = 0;
	while(i > -1)
	{
		i++;
		j = i + 1;
		s = s_name.substring(i,j);
		s = s.toUpperCase();
		ts = '';
		if(i > 0) ts = s_name.substring(0,i);
		s_name = ts + s + s_name.substring(j,s_name.length);
		i = s_name.indexOf(' ',j);
		if(i == (s_name.length - 1)) i = -1;
	}
	//fld4obj = document.getElementById('realname');
	//fld4obj = document.getElementById('fldname');
	fld4obj = document.getElementById(fldname)
	fld4obj.value = s_name;

	//See if want or need this:
	return true;
}



