// focus on the search form etc if it exists
    function search_form_focus()
      {
      
        if (document.getElementById('search_string'))
          {
            document.getElementById('search_string').focus();
          }

        if (document.getElementById('vis_text'))
          {
            document.getElementById('vis_text').focus();
          }

        if (document.getElementById('auth_activation'))
          {
            document.getElementById('auth_activation').focus();
          }

        if (document.getElementById('auth_username'))
          {
            document.getElementById('auth_username').focus();
          }

        if (document.getElementById('reg_firstname'))
          {
            document.getElementById('reg_firstname').focus();
          }
          
        if (document.getElementById('reset_email'))
          {
            document.getElementById('reset_email').focus();
          }
                
      }

// search form field checker
    function validate_search_form()
      {
      
        if (document.getElementById('search_string').value == "")
          {
            alert("Search Error: There is no text in the search box"); return false;
          }
        else
          {
            return true;
          }
                
      }

// contact form field checker
    function CheckMailer()
      {
        var epicfail = 0;
        if ((document.getElementById('first_name').value == "") || (document.getElementById('last_name').value == "") || (document.getElementById('company').value == "") || (document.getElementById('address1').value == "") || (document.getElementById('postcode').value == "") || (document.getElementById('phone').value == "") || (document.getElementById('email').value == ""))
          {
            epicfail = 1;
          }

        if (epicfail  > 0)
          {
            alert("Please complete the following fields before submitting your enquiry: \r\n - full name \r\n - company \r\n - address line 1 \r\n - post code \r\n - telephone numer \r\n - email address");
            return false;
          }
        else
          {
            return true;
          }
      }

// print the page
    function PrintPage()
      {
        print();
      }

// registration page TP Code yes-no
    function TP_Code(TP_Answer)
      {
        if (TP_Answer == 1)
          {
            document.getElementById('reg_tpcode').disabled=false;
            document.getElementById('reg_tpcode').value = "";
            document.getElementById('TP_Lookup_Button').disabled=false;
          }
        else
          {
            document.getElementById('reg_tpcode').disabled=true;
            document.getElementById('reg_tpcode').value = "No TP Code";
          }
      }

// registration page TP section mod for non UK
    function TP_CountryMod()
      {
        if (document.getElementById('reg_country').value == "United Kingdom")
          {
            document.getElementById('TP_Lookup_Button').disabled=false;
          }
        else
          {
            document.getElementById('reg_tpid').value = "WW4378";
            document.getElementById('TP_Lookup_Button').disabled=true;
          }
      }

// registration form TP lookup
    function TP_Lookup()
      {
      
      if ((document.getElementById('reg_country').value == "United Kingdom") && (document.getElementById('reg_postcode').value == "") && (document.getElementById('reg_tpcode').disabled==true))
          {
            alert("Please enter a valid Postcode and then click on the Lookup Trading Partner button.");
            return false;
          }
      else if ((document.getElementById('reg_country').value == "United Kingdom")  && ((document.getElementById('reg_postcode').value.indexOf(" ") < 1) || (document.getElementById('reg_postcode').value.length < 5)) && (document.getElementById('reg_tpcode').disabled==true))
          {
            alert("Please check that the UK Postcode you have entered is correct.\r\nPlease enter your Postcode in full and ensure that it includes the space in the middle.\r\nFor example 'RG1 5NG' is valid.\r\n\r\nOnce updated, please click on the Lookup Trading Partner button again.");
            return false;
          }
      else if ((document.getElementById('reg_tpcode').value == "") && (document.getElementById('reg_tpcode').disabled==false))
          {
            alert("Please enter a valid TP Code.");
            return false;
          }
      
      else
          {
        
        document.getElementById('TP_Lookup_Button').disabled=true;
        
        var xmlHttp;
          try
            {
              // Firefox, Opera 8.0+, Safari
              xmlHttp=new XMLHttpRequest();
            }
          catch (e)
            {
              try
                {
                  // IE MS XML2
                  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
                }
              catch (e)
                {
                  try
                    {
                      // IE MS XML
                      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                    }
                  catch (e)
                    {
                      alert("Your browser does not support AJAX");
                      return false;
                    }
                }
            }
          xmlHttp.onreadystatechange=function()
            {
            if(xmlHttp.readyState==4)
              {
               document.getElementById("TP_Lookup_Result").innerHTML=xmlHttp.responseText;
              }
            }
          var url="db_tplookup.asp";
          url=url+"?reg_postcode="+document.getElementById('reg_postcode').value+"&reg_tpcode="+document.getElementById('reg_tpcode').value+"&reg_country="+document.getElementById('reg_country').value;
          xmlHttp.open("GET",url,true);
          xmlHttp.send(null);
          
        }
      }

// registration form field checker
    function CheckReg()
      {
        if (document.getElementById('reg_firstname').value == "")
          {
            alert("Please complete the First Name field.");
            return false;
          }
        else if (document.getElementById('reg_lastname').value == "")
          {
            alert("Please complete the Last Name field.");
            return false;
          }
        else if ((document.getElementById('reg_email').value.length < 6) || (document.getElementById('reg_email').value.indexOf("@") < 1))
          {
            alert("Please enter a valid Email Address.");
            return false;
          }
        else if (document.getElementById('reg_password').value.length < 7)
          {
            alert("Please enter a valid Password.");
            return false;
          }
        else if (document.getElementById('reg_contactnum').value.length < 8)
          {
            alert("Please enter a valid Phone Number.");
            return false;
          }
        else if ((document.getElementById('reg_memdate').value.length < 10) || (document.getElementById('reg_memdate').value.indexOf("/") != 2) || (document.getElementById('reg_memdate').value.lastIndexOf("/") != 5) || (document.getElementById('reg_memdate').value.toLowerCase() == "dd/mm/yyyy"))
          {
            alert("Please enter a valid Memorable Date in DD/MM/YYYY format.\r\nFor example '04/06/1984' is valid.");
            return false;
          }
        else if (document.getElementById('reg_addressline1').value == "")
          {
            alert("Please enter a valid Address.\r\nAt least 3 out of the 4 address line fields need to be completed.");
            return false;
          }
        else if (document.getElementById('reg_addressline3').value == "")
          {
            alert("Please enter a valid Address.\r\nAt least 3 out of the 4 address line fields need to be completed.");
            return false;
          }
        else if ((document.getElementById('reg_addressline2').value == "") && (document.getElementById('reg_addressline4').value == ""))
          {
            alert("Please enter a valid Address.\r\nAt least 3 out of the 4 address line fields need to be completed.");
            return false;
          }
        else if (document.getElementById('reg_postcode').value == "")
          {
            alert("Please enter a valid Postcode.");
            return false;
          }
        else if ((document.getElementById('reg_country').value == "United Kingdom")  && ((document.getElementById('reg_postcode').value.indexOf(" ") < 1) || (document.getElementById('reg_postcode').value.length < 5)))
          {
            alert("Please check that the UK Postcode you have entered is correct.\r\nPlease enter your Postcode in full and ensure that it includes the space in the middle.\r\nFor example 'RG1 5NG' is valid.");
            return false;
          }
        else if (document.getElementById('reg_termsagree').value == "0")
          {
            alert("Please indicate that you have read and accepted the terms and conditions to continue.");
            return false;
          }
        else
          {
            return true;
          }
      }

// login form field checker
    function CheckLogin()
      {
        if ((document.getElementById('auth_username').value.length < 6) || (document.getElementById('auth_username').value.indexOf("@") < 1))
          {
            alert("Please enter a valid Email Address.");
            return false;
          }
        else if (document.getElementById('auth_password').value.length < 7)
          {
            alert("Please enter a valid Password.");
            return false;
          }
      }

// password reset form field checker
    function CheckReset()
      {
        if ((document.getElementById('reset_email').value.length < 6) || (document.getElementById('reset_email').value.indexOf("@") < 1))
          {
            alert("Please enter a valid Email Address.");
            return false;
          }
        else if ((document.getElementById('reset_memdate').value.length < 10) || (document.getElementById('reset_memdate').value.indexOf("/") != 2) || (document.getElementById('reset_memdate').value.lastIndexOf("/") != 5) || (document.getElementById('reset_memdate').value.toLowerCase() == "dd/mm/yyyy"))
          {
            alert("Please enter a valid Memorable Date in DD/MM/YYYY format.\r\nFor example '04/06/1984' is valid.");
            return false;
          }
      }