
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 Reset_1 () {
        window.acInit=false;

        var CR = escape( document.getElementById('Contact_Reason').value );
        var PT = escape( document.getElementById('Product_Type').value );

        var attrs = 'Action=Step_1&Product_Type='+PT+'&Contact_Reason='+CR  ;
        var myurl = '/professional/ContactUs.cgi?'+attrs;

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

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

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

}

function Step_1 ( flag ) {

    var errorCount = 0 ;
    document.getElementById('step_1_feedback').innerHTML = 'All values with an * are essential.' ;

    if ( parseInt(document.csForm.Contact_Reason.selectedIndex) == 0 ) {
        document.getElementById('F_Contact_Reason').innerHTML = 'Essential.' ;
        errorCount++ ;
    } else {
        document.getElementById('F_Contact_Reason').innerHTML = '' ;
    } 
    
    if ( parseInt(document.csForm.Product_Type.selectedIndex) == 0 ) {
        document.getElementById('F_Product_Type').innerHTML = 'Essential.' ;
        errorCount++ ;
    } else {
        document.getElementById('F_Product_Type').innerHTML = '' ;
    }

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

            window.acInit=false;

            document.getElementById('step_1_feedback').innerHTML = '<img src="/images/wait20trans.gif">';
            document.getElementById('main').display = 'none';

            var Divs = document.getElementsByTagName('div') ;
            var CheckId = new Array() ;
            var AttrList = '' ;
            var a = 0 ;
            var b = 1 ;

            for ( i = 0 ; i < Divs.length ; i++ ) {
                if ( Divs[i].id.substr(0,2) == 'F_' ) {
                    CheckId[a] = Divs[i].id.substr(2) ;
                    a++ ;
                } 
            }

            for ( i = 0 ; i < CheckId.length ; i++ ) {
                if ( document.getElementById(CheckId[i]).type.substr(0,6) == 'select' ) {

                    if ( document.getElementById(CheckId[i]).type == 'select-one' ) {
                        if ( document.getElementById(CheckId[i]).selectedIndex == 0 ) {
                            // document.getElementById('F_'+CheckId[i]).innerHTML = 'Essential' ;
                            // 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 {
                        document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                        for ( o = 0 ; o < document.getElementById(CheckId[i]).length ; o++ ) {
                            if ( document.getElementById(CheckId[i]).options[ o ].selected ) { 
                                var IDValue = document.getElementById(CheckId[i]).options[ o ].text ;
                                AttrList += '&F_'+ b + '_'+CheckId[i] +'='+ escape(IDValue ) ;
                                b++ ;
                            }
                        }
                    }
                } else {
                    if ( document.getElementById(CheckId[i]).value.length > 0 ) {
                        document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                        AttrList += '&F_'+ b + '_'+CheckId[i] +'='+ escape(document.getElementById(CheckId[i]).value) ;
                        b++ ;
                    }
                }
            }

            var attrs = 'Action=Step_2'+AttrList ;
            myurl = '/professional/ContactUs.cgi?'+attrs;

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

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

            http.open("GET", modurl, true);
            http.onreadystatechange = useHttpResponse;
            http.send(null);
        } 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 ) {
        document.getElementById('step_1_feedback').innerHTML = 'This form can now be submitted.' ;
    }
}

function Step_2 ( flag ) {

    if ( document.getElementById('step_2_feedback') ) {
        document.getElementById('step_2_feedback').innerHTML = 'All values with an * are essential.' ;
    }
    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 = 'Essential' ;
                    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_2' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Organisation' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Position' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Email' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'V_Email' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else if ( CheckId[i] == 'Phone_Number' ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = '' ;
                } else {
                    document.getElementById('F_'+CheckId[i]).innerHTML = 'Essential' ;
                    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 < 6 ) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = "Please enter a proper code (XXnn XXnn)";
                    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' ) {
            var fonError = '' ;
            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 == 11)) {
                    document.getElementById('F_'+CheckId[i]).innerHTML = 
                         "Phone Number format<br />12345 678901<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 = '/professional/ContactUs.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_2_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_2_feedback') ) {
            document.getElementById('step_2_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">';
  }
}

