
var http = getXMLHTTPRequest();

function getXMLHTTPRequest() {
  try {
    req = new XMLHttpRequest();
  } catch(err1) {
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (err2) {
      try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (err3) {
        alert("Your browser does not support AJAX!");
        req = false;
      }
    }
  }
  return req;
}


function Step_1 ( flag ) {

    if ( document.getElementById('step_1_feedback') ) {
        document.getElementById('step_1_feedback').innerHTML = 'All values with an * are required.' ;
    }
    var errorString = '' ;
    var Divs = document.getElementsByTagName('div') ;
    var CheckId = new Array() ;
    var AttrList = '' ;
    var a = 0 ;
    var b = 1 ;
    var errorCount = 0 ;
    for ( i = 0 ; i < Divs.length ; i++ ) {
        if ( Divs[i].id.substr(0,2) == 'F_' ) {
            CheckId[a] = Divs[i].id.substr(2) ;
            a++ ;
            document.getElementById( Divs[i].id )
        } 
    }
    
    for ( i = 0 ; i < CheckId.length ; i++ ) {
        if ( document.getElementById(CheckId[i]).value.length == 0 ) {

            if ( document.getElementById(CheckId[i]).options ) {
                if ( document.getElementById(CheckId[i]).selectedIndex == 0 ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = 'Required' ;
                    errorCount++ ;
                } else {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                    var IDValue = document.getElementById(CheckId[i]).options[ document.getElementById(CheckId[i]).selectedIndex ].innerHTML ;

                    AttrList += '&F_'+ b + '_'+CheckId[i] +'='+ escape(IDValue ) ;
                    b++ ;
                }
            } else {
                if ( CheckId[i] == 'Address_1' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Address_2' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Country' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'City' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Phone_Number' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Zip_Code' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'State' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else {
                    document.getElementById('F_'+CheckId[i]).innerHTML = 'Required' ;
                    errorCount++ ;
                }
            }
        } else {
            document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
            AttrList += '&F_'+ b + '_'+CheckId[i] +'='+ escape(document.getElementById(CheckId[i]).value) ;
            b++ ;
        }

        if ( CheckId[i] == 'Zip_Code' ) {
            if ( document.getElementById( CheckId[i] ).value.length > 0 )  {

                strng = document.getElementById( CheckId[i] ).value ;

                if ( strng.length < 5 ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = "Please enter a proper code";
                    errorCount++ ;
                } 

            }   
            
        }

        if ( CheckId[i] == 'Email' ) {
            if ( document.getElementById( CheckId[i] ).value.length > 0 )  {

                strng =  document.getElementById( CheckId[i] ).value ;
                // var email_regex = new RegExp("^(([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}){0,1}$");
                var email_regex = new RegExp("^(([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}){0,1}$");

                if (!(email_regex.test(strng))) { 
                    document.getElementById('F_'+CheckId[i]).innerHTML = "Email Format ______@____.___" ;
                    errorCount++ ;
                } else {
                    AttrList += '&Email='+ escape( strng ) ;
                }
            }   
        }
        if ( CheckId[i] == 'V_Email' ) {
            if ( document.getElementById( CheckId[i] ).value.length > 0 )  {
                if (!( document.getElementById( CheckId[i] ).value == document.getElementById( 'Email' ).value )) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = "Must match Email Address" ;
                    errorCount++ ;
                }
            }   
        }

        if ( CheckId[i] == 'Phone_Number' ) {
            if ( document.getElementById( CheckId[i] ).value.length > 0 )  {

                strng =  document.getElementById( CheckId[i] ).value ;

                var valid = "0123456789-";
                var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
                //strip out acceptable non-numeric characters
                if (isNaN(parseInt(stripped))) {
                    document.getElementById('F_'+CheckId[i]).innerHTML =  "The phone number contains illegal characters.";
                    errorCount++ ;
                }

                if (!(stripped.length == 10)) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = 
                         "Phone Number format<br />(123) 456-7890<br />"+
        "  We do not sell, rent, or trade your personal information to third parties."+
        '  Please review our <a class="underline" target="new" href="/privacy-policy.html">privacy policy</a> for details.';
                    errorCount++ ;
                }
            }   
        }
    }

    var myurl = '';
    if ( flag == 'button' ) {
        if ( errorCount == 0 ) {

                var attrs = 'Action=FinalData'+AttrList
                myurl = '/oral-health/registration/Registration.cgi';

                http.open("POST", myurl, true);

                http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                http.setRequestHeader("Content-length", attrs.length);
                http.setRequestHeader("Connection", "close");

                http.onreadystatechange = useHttpResponse;
                http.send(attrs);

        } else {
            document.getElementById('step_1_feedback').innerHTML = 'Please correct any noted issues in your form.' ;
            alert ('Please correct the noted issues in your data.');
        }
    }
    if ( errorCount == 0 && myurl.length == 0 ) {
        if ( document.getElementById('step_1_feedback') ) {
            document.getElementById('step_1_feedback').innerHTML = 'This form can now be submitted.' ;
        }
    }
}


function useHttpResponse() {
    document.getElementById('cgiFeedback').innerHTML = 'in useHttpResponse' ;
    if (http.readyState == 4) {
        if(http.status == 200) {
            if ( http.responseText == null ) {
                document.getElementById('cgiFeedback').innerHTML = 'server error'
            } else {
                document.getElementById('cgiFeedback').innerHTML = http.responseText ;
            }
        }
    } else {
        document.getElementById('cgiFeedback').innerHTML = '<img src="/images/wait20trans.gif">';
    }
}


function Reset_1 () {
    window.acInit=false;

    var myurl = '/oral-health/registration/Registration.cgi?Action=Step_1';

    myRand = parseInt(Math.random()*999999999999999);

    var modurl = myurl+";r="+myRand;

    http.open("GET", modurl, true);
    http.onreadystatechange = useHttpResponse;
    http.send(null);

}

function WBO_JS() {

    if ( document.getElementById('Why_Buy_Prompt').value == 'Other' ) {
        document.getElementById('Why_Buy').value = '' ; 
        document.getElementById('WBO').className = 'WBO_Show' ; 
    } else {
        document.getElementById('Why_Buy').value = document.getElementById('Why_Buy_Prompt').value ; 
        document.getElementById('WBO').className = 'WBO_Hide';
    };
}