function formCheck(mode)
{ 
var zipcode = document.qualform.ZIPCODE.value
var digits = "0123456789";

	if ((document.qualform.EXTRA.checked == false)&&(document.qualform.RECEIVE_YES_NO.checked == false)&& (document.qualform.THIS_MAGAZINE_DNP.checked == false))
	{
		alert("Please select one of the subscriptions.");
		document.qualform.EXTRA.focus();
		return false;
	}
	if (document.qualform.EMAIL_ADDRESS.value == "")
	{
		alert ("Please specify your e-mail address.");
		document.qualform.EMAIL_ADDRESS.focus();
		return false;
	}
	if (!validEmail(document.qualform.EMAIL_ADDRESS.value))
	{
		alert ("You have entered an invalid e-mail address. Please re-enter it.");
		document.qualform.EMAIL_ADDRESS.focus();
		return false;
	}	
		
	if (document.qualform.PASSWORD.value == "")
	{
		alert ("Please specify your password.");
		document.qualform.PASSWORD.focus();
		return false;
	}
	if (document.qualform.PASSWORD2.value == "")
	{
		alert("Please confirm your password.");
		document.qualform.PASSWORD2.focus();
		return false;
	}

	if (document.qualform.PASSWORD.value != document.qualform.PASSWORD2.value)
	{
		alert("Confirmation password does not match the password entered. Please re-enter your password.");
        	document.qualform.PASSWORD.focus();
		return false;
	}
	
	if(document.qualform.FNAME.value == "")
	{
		alert("Please specify your First name.");
        	document.qualform.FNAME.focus();
		return false;
	}
	if(document.qualform.LNAME.value == "")
	{
		alert("Please specify your Last name.");
        	document.qualform.LNAME.focus();
		return false;
	}
	if (document.qualform.COMPANY.value == "")
	{
		alert ("Please specify your Company name.");
	       	document.qualform.COMPANY.focus();
		return false;
	}
          
			     

	if (document.qualform.RECEIVE_YES_NO.checked)
	{
		if(document.qualform.ADDRESS2.value == "")
		{
			alert ("Please specify your Street Address.");
	        	document.qualform.ADDRESS2.focus();
			return false;
		}
                
		if (document.qualform.CITY.value == "")
		{
			alert ("Please specify your City.");
	        	document.qualform.CITY.focus();
			return false;
		}
                
		if (document.qualform.STATE.selectedIndex == 0)
		{
			alert("Please specify your State/Province.");
		    	document.qualform.STATE.focus();
			return false;
		}
                  
		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.qualform.STATE[document.qualform.STATE.selectedIndex].value,document.qualform.ZIPCODE.value))
		{
			alert ("Invalid Canadian province/postal code combination.");
	       		document.qualform.STATE.focus();
			return false;
		}	
	
 			
            	if (document.qualform.STATE[document.qualform.STATE.selectedIndex].value == "53")
		{
			if (document.qualform.COUNTRY.value == "")
			{
				alert("Please specify your Country.");
	        		document.qualform.COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.qualform.ZIPCODE.value =="")
			{
				alert ("Please specify your Zip/Postal Code.");
	        		document.qualform.ZIPCODE.focus();
				return false;
			}
					
			//if (!isValidZip(stripCharsNotInBag(zipcode,digits)))
			//{
			//	alert ("Invalid ZIP Code.");
    			//	document.qualform.ZIPCODE.focus();
    			//	return false;
			//}			
		}
	}
        	
		
	if (!CheckUnselects(document.qualform.JOB_RESP))
	{
		alert ("Please specify your primary job responsibility.");
        	document.qualform.JOB_RESP[0].focus();
		return false;
	}
		
	if (!CheckUnselects(document.qualform.BUSINESS))
	{
		alert ("Please select the category that best describes your organization.");
        	document.qualform.BUSINESS[0].focus();
		return false;
	}
		
	if (!CheckUnselects(document.qualform.EMPLOYEES))
	{
		alert ("Please specify the size of your organization.");
        	document.qualform.EMPLOYEES[0].focus();
		return false;
	}
}//end qual form

																									

	


// declare global variables
var i;

// two arrays for Canadian province/postal code validation
var CanCodes=new Array("54","55","56","57","58","59","60","66","61","62","63","64","65");
var CanLetters=new Array("T","UV","R","E","A","B","X","X","KLMNP","C","GHJ","S","Y");

// check if first letter of postal code matches selected Canadian province
// StateCD is 2-digit code that Omeda uses to identify Canadian provinces (value of STATE field)
// PostCD is entered postal code (value of ZIPCODE field)
function ValidCanPostal(StateCD, PostCD)
{
	var fletter=PostCD.substring(0,1);
	fletter = fletter.toUpperCase();

	for(i=0;i<13;i++)
	{
		if (StateCD==CanCodes[i])
		{
			if (CanLetters[i].indexOf(fletter,0) == -1)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
	return true;
}

function checkEmailValue(emailValue)
{     //runs the validate script and returns error box or nonerror

	if (emailValue == "")
	{
		alert("You have not entered e-mail address. Please re-enter it.");
		return false;
	}

	startPos = 0;

	commaPos = emailValue.indexOf(",",startPos+1);	//position of semicolomn
	while (commaPos != -1)
	{
		endPos = commaPos;
		emailElement = emailValue.substring(startPos,endPos);
		if(!validEmail(emailElement))
		{
			alert("You have entered an invalid e-mail address. Please re-enter it.");
			return false;
		}
		startPos = endPos + 1;		
		commaPos = emailValue.indexOf(",",startPos);	//position of semicolomn
	}
	endPos = emailValue.length;
	emailElement = emailValue.substring(startPos,endPos);

	if(!validEmail(emailElement))
	{
		alert("You have entered an invalid e-mail address. Please re-enter it.");
		return false;
	}
	return true;		
}				

function validEmail(email)
{
	invalidchars = " /:;"

	if(email == "")
	{			//checks to see if blank field
		return false
	}
			
	for(i=0;i<invalidchars.length;i++){ //checks for invalid chars
			
	badchars = invalidchars.charAt(i)
			
	if(email.indexOf(badchars,0)!= -1)
	{
		return false
	}	
													}
	
	atPos = email.indexOf("@",1)  //holds position of "@"
			
	if(atPos == -1) 
	{	//checks to see if "@" present
		return false
	}
							
	if(email.indexOf("@",atPos+1) != -1) 
	{ //checks for second "@"
		return false
	}
							
	periodPos = email.indexOf(".",atPos) //holds position of "."
			
	if(periodPos == -1)
	{ //checks for presence of "."
		return false
	}
	if(periodPos+3 > email.length)
	{//makes sure at least two chars after the period
		return false
	}
	return true 
}

function ValidNum(NumObj)
{
	var myNum, cleanNum;
	
	myNum = NumObj.value
	cleanNum = parseInt(myNum);

	if ( myNum == "")
	{
		return true;
	}
       	if(myNum != cleanNum)
	
	{
		alert ("You have entered an invalid number for Personal ID question.Please re-enter.");
		NumObj.focus();
		return false;
	}
	return true;
}

function CheckDropdown(selectBox)
{

	if(selectBox.selectedIndex == "0")
	{
		return false;
	}
	else
	{
		return true;
	}
}

function CheckUnselects(radioItem)
{
	for(i=0;i<radioItem.length;i++)
	{
		if(radioItem[i].checked)
		{
			return true;
		}//end if
	}//end for
	return false;
}
function CheckedRadioValue(radioItem)
{
	for(i=0;i<radioItem.length;i++)
	{
		if(radioItem[i].checked)
		{
			return radioItem[i].value;
		}//end if
	}//end for
	return false;
}
function CheckboxChecked(thisform,CheckBoxName)
{
var ChLength = CheckBoxName.length + 1;
var vName = CheckBoxName + "-";

var CBindex = 0;

	for ( i=0; i < thisform.elements.length; i++)
	{
		if (thisform.elements[i].type == "checkbox")
		{
			if (thisform.elements[i].name.substring(0,ChLength)==vName)
			{
				if (CBindex==0) {CBindex = i;}
				if (thisform.elements[i].checked)
				{
					return true;
					break;
				}
			}
		}

	}

	thisform.elements[CBindex].focus();
	return false;
}		



function ObjectExists(form,fieldname)
{
	for ( i=0; i < form.elements.length; i++)
	{
		if (form.elements[i].name == fieldname)
		{
			return true;
		}
	}
	return false;
}

function showMe() 
{
 if (document.qualform.RECEIVE_YES_NO.checked==true)
	    {
		document.getElementById('required fields').style.display = "block";
                document.getElementById('emailsection').style.display = "block"; 
                document.getElementById('nlet').style.display = "block";
                document.getElementById('addressblock').style.display = "block"; 
                document.getElementById('demos').style.display = "block";
                document.getElementById('submitButton').style.display = "block";

             }
else

             
    {
		document.getElementById('addressblock').style.display = "none";
                 {
               // only newsletter checked or only messages checked
       if((document.qualform.EXTRA.checked==true) || (document.qualform.THIS_MAGAZINE_DNP.checked==true))

  	   {
		document.getElementById('required fields').style.display = "block";
                document.getElementById('emailsection').style.display = "block"; 
                document.getElementById('nlet').style.display = "block";
                document.getElementById('demos').style.display = "block";
                document.getElementById('submitButton').style.display = "block";
             	}
	else
             	{
                document.getElementById('required fields').style.display = "none";
                document.getElementById('emailsection').style.display = "none"; 
                document.getElementById('nlet').style.display = "none";
                document.getElementById('demos').style.display = "none";  
                document.getElementById('submitButton').style.display = "none";
	     	}
                   
            }
      }
     return true; 
} 

function showMeUnsub() 
{
var mag= document.getElementById("mag")
var nlet = document.getElementById("nlet")
var mes = document.getElementById("email")
    
var stat = 0;

if (nlet.checked) {stat = stat + 1;}
if (mes.checked) {stat = stat + 2;}
if (mag.checked) {stat = stat + 4;}

switch (stat)
{
	case 0:
	{
         	document.getElementById('Message').style.display = "none"; 
         	document.getElementById('Message1').style.display = "none"; 
        	document.getElementById('SendEmail').style.display = "none"; 
         	document.getElementById('submitButton').style.display = "none";
		break;
	} 
	case 1:		// newsletter only
	{
         	document.getElementById('Message').style.display = "block"; 
         	document.getElementById('Message1').style.display = "none"; 
        	document.getElementById('SendEmail').style.display = "none"; 
         	document.getElementById('submitButton').style.display = "block";
         	document.getElementById('Name').innerHTML = "<i>STIR</i> eExtra";
		break;
	} 
        case 2:		// messages only
	{
         	document.getElementById('Message').style.display = "block"; 
         	document.getElementById('Message1').style.display = "none"; 
        	document.getElementById('SendEmail').style.display = "none"; 
        	document.getElementById('submitButton').style.display = "block";
        	document.getElementById('Name').innerHTML = "occasional e-mail messages";
		break;
	} 
        case 3:		// newsletter and message
	{
         	document.getElementById('Message').style.display = "block"; 
         	document.getElementById('Message1').style.display = "none"; 
        	document.getElementById('SendEmail').style.display = "none"; 
         	document.getElementById('submitButton').style.display = "block";
         	document.getElementById('Name').innerHTML = "<i>STIR</i> eExtra and occasional e-mail messages";
		break;
	} 
        case 4:		// magazine only
	{
         	document.getElementById('Message').style.display = "none";
        	document.getElementById('Message1').style.display = "block"; 
        	document.getElementById('SendEmail').style.display = "block"; 
        	document.getElementById('submitButton').style.display = "block";
        	document.getElementById('Name1').innerHTML = "<i>STIR</i> magazine";
		break;
	} 
        case 5:		// newsletter and magazine
	{
         	document.getElementById('Message').style.display = "none";
        	document.getElementById('Message1').style.display = "block"; 
        	document.getElementById('SendEmail').style.display = "block"; 
        	document.getElementById('SendEmail').style.display = "block"; 
        	document.getElementById('submitButton').style.display = "block";
        	document.getElementById('Name1').innerHTML = "<i>STIR</i> eExtra and <i>STIR</i> magazine";
		break;
	} 
        case 6:		// message and magazine
	{
         	document.getElementById('Message').style.display = "none";
        	document.getElementById('Message1').style.display = "block"; 
        	document.getElementById('SendEmail').style.display = "block"; 
        	document.getElementById('submitButton').style.display = "block";
        	document.getElementById('Name1').innerHTML = "<i>STIR</i> magazine and occasional e-mail messages";
		break;
	}
        case 7:		// all checked
	{
         	document.getElementById('Message').style.display = "none";
        	document.getElementById('Message1').style.display = "block"; 
        	document.getElementById('SendEmail').style.display = "block"; 
        	document.getElementById('submitButton').style.display = "block";
        	document.getElementById('Name1').innerHTML = "<i>STIR</i> eExtra, <i>STIR</i> magazine and occasional e-mail messages";
		break;
	}  
   } 

}



 

function CheckLogin()
 {

		if (document.login.EMAIL_ADDRESS.value == "")
		{
			alert ("Please specify your e-mail address.");
        		document.login.EMAIL_ADDRESS.focus();
			return false;
		}
		if (!validEmail(document.login.EMAIL_ADDRESS.value))
		{
			alert ("You have entered an invalid e-mail address. Please re-enter it.");
			document.login.EMAIL_ADDRESS.focus();
			return false;
		}	

		if(!CheckUnselects(document.login.YES_NO_PASSWORD))	
		{
			alert("Please specify do you have a password.");
	        	document.login.YES_NO_PASSWORD[0].focus();
			return false;
		}
                   
	        if ((CheckedRadioValue(document.login.YES_NO_PASSWORD) == '1') && (document.login.PASSWORD_LOGIN.value == ""))	

		{
				alert("Please specify your password.");
        			document.login.PASSWORD_LOGIN.focus();
				return false;
		}
          
	return true; 
		
}	
function ForgetPassword()
{
		if (document.password.EMAIL_ADDRESS.value == "")
		{
			alert ("Please specify your e-mail address.");
        		document.password.EMAIL_ADDRESS.focus();
			return false;
		}
		if (!validEmail(document.password.EMAIL_ADDRESS.value))
		{
			alert("You have entered an invalid e-mail address. Please re-enter it.");
			document.password.EMAIL_ADDRESS.focus();
			return false;
		}	
	return true;
}	

function CheckUnsub()
{
         
   if (document.qualform.RECEIVE_YES_NO.checked)
          {	 
        if(document.qualform.RDRNUM.value == "")
		{
			alert("Please specify your account number.");
        		document.qualform.RDRNUM.focus();
			return false;
		}
         if(document.qualform.LNAME_FIRST4.value == "")
		{
			alert("Please enter first 4 letters of your last name.");
        		document.qualform.LNAME_FIRST4.focus();
			return false;
		}
       }
       else
         {
         if (document.qualform.EMAIL_ADDRESS.value == "")
		{
			alert ("Please specify your e-mail address.");
        		document.qualform.EMAIL_ADDRESS.focus();
			return false;
		}
		if (!validEmail(document.qualform.EMAIL_ADDRESS.value))
		{
			alert("You have entered an invalid e-mail address. Please re-enter it.");
			document.qualform.EMAIL_ADDRESS.focus();
			return false;
		}
          }
	
	return true;
}

function CheckDemos() 
{
 if (document.qualform.RECEIVE_YES_NO.value="1")
	    {
		document.getElementById('required fields').style.display = "block";
                document.getElementById('emailsection').style.display = "block"; 
                document.getElementById('nlet').style.display = "block";
                document.getElementById('addressblock').style.display = "block"; 
                document.getElementById('demos').style.display = "block";
                document.getElementById('submitButton').style.display = "block";

             }
else

             
    {
		document.getElementById('addressblock').style.display = "none";
                 {
               // only newsletter checked or only messages checked
       if((document.qualform.EXTRA.value="0") || (document.qualform.THIS_MAGAZINE_DNP.value="0"))

  	   {
		document.getElementById('required fields').style.display = "block";
                document.getElementById('emailsection').style.display = "block"; 
                document.getElementById('nlet').style.display = "block";
                document.getElementById('demos').style.display = "block";
                document.getElementById('submitButton').style.display = "block";
             	}
	else
             	{
                document.getElementById('required fields').style.display = "none";
                document.getElementById('emailsection').style.display = "none"; 
                document.getElementById('nlet').style.display = "none";
                document.getElementById('demos').style.display = "none";  
                document.getElementById('submitButton').style.display = "none";
	     	}
                   
            }
      }
     return true; 
} 
function IsCanadian(StateCD)
{
	for(i=0;i<13;i++)
	{
		if (StateCD==CanCodes[i])
		{
			return true;
		}
	}
	return false;
}

function stripCharsNotInBag (zipcode, digits)

{   var i;
    var returnString = "";
      
    
    for (i = 0; i < zipcode.length; i++)
    {   
        
        var c = zipcode.charAt(i);
        if (digits.indexOf(c) != -1) returnString += c;
    }
    return returnString;

    
}

function isValidZip(returnString)
{

    var digitsInZIPCode1 = 5
    var digitsInZIPCode2 = 9

if ((returnString.length == digitsInZIPCode1)||(returnString.length == digitsInZIPCode2))
    {
    	return true;
    } 

return false;
}


