 var windowprops = ""; 
 var showPopUp = true;
 var page = "/services/servicemagicIFrame/popup.cfm"; 

 function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
		{
			if (parseInt(c.substring(nameEQ.length,c.length))>0)
			{
		//		document.forms.findcontractor.zip.value = c.substring(nameEQ.length,c.length);
				return true;
			}
		}
	}
}
 
 function onExitPage(){
  	if(showPopUp)
  	if ((readCookie('SMZIP') || readCookie('ZIP') || readCookie('zip')))
   window.open(page, "", windowprops);
 }
	  
 function disablePopUp(){
  showPopUp = false;
 }
	  
 window.onbeforeunload = onExitPage;
 
 function goTo(loc){
 	disablePopUp();
 	location.href = loc;
 }
	 

function checkSmAnswers()
{
  var validEntry = 1;
  var validNum = 1;
  var focusField = '';
  var errorMsg = '';
  var missingMsg = '';
  var validNumMsg = '';
  var validPhoneMsg = '';
  var reIsMail = /^([a-zA-Z0-9_\.\-!#\$%&'*=?^_{|}~])+\@(([a-zA-Z0-9_\.\-!#\$%&'*=?^_{|}~])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var reIsZip  = /^[01-9]{5}$/;

  //first look for contact information
  if(document.getElementById("smFirstName"))
  if (document.getElementById("smFirstName").value=='')
  {
    focusField=document.getElementById("smFirstName");
    missingMsg+='First name\n';
    validEntry=0;
  }
      
  if(document.getElementById("smLastName"))
  if (document.getElementById("smLastName").value=='')
  {
    if (focusField=='')
      focusField=document.getElementById("smFirstName");
    missingMsg+='Last name\n';
    validEntry=0;
  }

  if(document.getElementById("smconttime1")){
  var rChecked=0;
  for (var i=1; i<=6; i++)
  {
    if (document.getElementById('smconttime'+i).checked)
    {
      rChecked=1;
      break;
    }
  }
  
  if (!rChecked)
  {
    if (focusField=='')
      focusField=document.getElementById('smconttime1');
    missingMsg+='Contact times\n';
    validEntry=0;
  }
  }

  if(document.getElementById("smdayphone"))
  if (document.getElementById("smdayphone").value=='')
  {
    if (focusField=='')
      focusField=document.getElementById("smdayphone");
    missingMsg+='Day phone\n';
    validEntry=0;
  }
  else
  {
    tmp=document.getElementById("smdayphone").value.replace(/-/g, '');
    if ((tmp.length<10) || isNaN(tmp))
    {
      if (focusField=='')
        focusField=document.getElementById("smdayphone");
      validPhoneMsg+='Day phone\n';
      validEntry=0;
    }
  }

  if(document.getElementById("smevphone"))
  if (document.getElementById("smevphone").value!='')
  {
    tmp=document.getElementById("smevphone").value.replace(/-/g, '');
    if ((tmp.length<10) || isNaN(tmp))
    {
      if (focusField=='')
        focusField=document.getElementById("smevphone");
      validPhoneMsg+='Evening phone\n';
      validEntry=0;
    }
  }

  if(document.getElementById("smcellphone"))
  if (document.getElementById("smcellphone").value!='')
  {
    tmp=document.getElementById("smcellphone").value.replace(/-/g, '');
    if ((tmp.length<10) || isNaN(tmp))
    {
      if (focusField=='')
        focusField=document.getElementById("smcellphone");
      validPhoneMsg+='Cell phone\n';
      validEntry=0;
    }
  }

  if(document.getElementById("smcellphone"))
  if (!reIsMail.test(document.getElementById("email").value))
  {
    if (focusField=='')
      focusField=document.getElementById("email");
    missingMsg+='Email\n';
    validEntry=0;
  }
  
  if(document.getElementById("smaddr1"))
  if (document.getElementById("smaddr1").value=='')
  {
    if (focusField=='')
      focusField=document.getElementById("smaddr1");
    missingMsg+='Address line 1\n';
    validEntry=0;
  }
  
  if(document.getElementById("smcity"))
  if (document.getElementById("smcity").value=='')
  {
    if (focusField=='')
      focusField=document.getElementById("smcity");
    missingMsg+='City\n';
    validEntry=0;
  }
  
  if(document.getElementById("smzip"))
  if (!reIsZip.test(document.getElementById("smzip").value))
  {
    if (focusField=='')
      focusField=document.getElementById("smzip");
    missingMsg+='ZIP code\n';
    validEntry=0;
  }
  
  if(document.getElementById("smFirstName")) {  }
  else{
  //answers verification
  for (var i=0; i<qID.length; i++)
  {
    if (qCheck[i])
    {
      switch (qType[i])
      {
        case 'R' :
        case 'S' :
        {
          var radioChecked = 0;

          var j = 0;
          while (document.getElementById((qID[i])+"_"+j))
          {
            if (document.getElementById((qID[i])+"_"+j).checked) { radioChecked = 1; break;}
            j++;
          }

          if (!radioChecked) {
            validEntry = 0;
            if (focusField == '') { focusField = document.getElementById((qID[i])+"_0"); }
            missingMsg += qArray[i] + '\n';
          }
          break;
        }
        case 'T' :
        case 'M' :
        {
          if (document.getElementById(qID[i]).value == '')
          {
            validEntry = 0;
            if (focusField == '')
              focusField = document.getElementById(qID[i]);
            missingMsg += qArray[i] + '\n';
          }
          else
          {
            var stripNum = document.getElementById(qID[i]).value.replace(/,/g,'');
            var notNum = isNaN(stripNum);
            if (notNum)
            {
              validNum = 0;
              if (focusField == '')
                focusField = document.getElementById(qID[i]);
              validNumMsg += qArray[i] + '\n';
            }
          }
          break
        }
        case 'D' :
        case 'E' :
        {
          if (document.getElementById(qID[i]).options[0].selected) {
            validEntry = 0;
            if (focusField == '') { focusField = document.getElementById(qID[i]); }
            missingMsg += qArray[i] + '\n';
          }
          break;
        }
/*        case 'C' :
        {
          if (document.getElementById("a"+qID[q]).value == '') {
            validEntry = 0;
            if (focusField == '') { focusField = document.getElementById("a"+qID[q]); }
            missingMsg += qArray[q] + '\n';
          }
          break;
        }*/
      }
    }
    else if (qType[i])
    {
      switch (qType[i])
      {
        case 'T' :
        case 'M' :
        {
          var stripNum = document.getElementById(qID[i]).value.replace(/,/g,'');
          var notNum = isNaN(stripNum);
          if (notNum)
          {
            validNum = 0;
            if (focusField == '')
              focusField = document.getElementById(qID[i]);
            validNumMsg += qArray[i] + '\n';
          }
          break
        }
      }
    }
    
  }
  
  }
	// if valid, submit form, else alert errors
	if (!validEntry || !validNum || validPhoneMsg!='')
  {
		if (!validEntry) { errorMsg = 'Please answer the following questions:\n' + missingMsg; }
		if (!validNum) { errorMsg += 'Please enter only valid numbers for the following questions:\n' + validNumMsg; }
    if (validPhoneMsg!='') { errorMsg += 'Please use phone number format XXX-XXX-XXXX for the following questions:\n'+validPhoneMsg; }
		alert(errorMsg); 
		focusField.focus();
	}
  else
  { 
  		disablePopUp();
		document.frmQuestions.submit();
  }
}