// JavaScript Document

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->




/*
adbook form
*/


  function stripChar(cString) {
   var cOut = '';
   var i = cString.length;
   var cValid = "0123456789";
   for (var j=0;j<i;j++) {
   if (cValid.indexOf( cString.charAt(j) ) != -1) {
   cOut += cString.charAt(j);
   }
   }
   return cOut;
  }

  function Sb(Intxt) {
   alert(Intxt + "Browser: " + navigator.appName + " Version:" + navigator.appVersion + "\n\nIf you have any questions or need assistance upgrading your browser, the BB-Bid Support Staff is available Monday through Friday between the hours of 8:45 am and 8:00 pm (ET). Call: 888-303-2243");
  }

  function CheckFormFx(myHandle) {
    var cTmpQID = "";
    if (parseInt(navigator.appVersion) < 4 ) {
    Sb('Your Browser version is currently not supported by our BB-Bid application.\n\n');
    return false;
    }
    if (stripChar(myHandle.logintext.value).length != 10) {
    alert("Please Enter a valid 10 digit Fax#.\nExample: 999-555-1212");
    return false;
    }

    return true;

  }

 function bclose() {

   if (window.name == "winHndl") {

      window.close();

   }

 }



 function ckfrma() {

    // i is the index of the selceted radio button

   for (var i = 0; i < document.forma.srch.length; i++) {

        if (document.forma.srch[i].checked) {

            break;

        }



    }

         // Keyword

         if (i == 0) {

             // check for valid keyword

             if (document.forma.keyword.value.length == 0) {

                alert("Please enter any keyword or industry term.");

                document.forma.keyword.focus();

                return false;

             }

             else {

                lwina();

                return true;

             }

         }

         // Name

         else if (i == 1) {

             // check for a valid name

             if (document.forma.keyword.value.length == 0) {

                alert("Please enter a company name or part of a company name. \n Hint: If you are looking for a proper name please enter the last name first.");

                document.forma.keyword.focus();

                return false;

             }

             else {

                lwina();

                return true;

             }

         }

         // Index

         else if (i == 2) {

                lwina();

                return true;

         }

}



var cname = '';





function passedLogin(contextID) {

       top.frTop.setLoginName(contextID);

}



function register(name) {

  document.cookie='BBlueBookin=' + name + '; expires=Thu, 01-Jan-09 00:00:01 GMT; PATH/'

}



//

function selectitm() {

    var cdsval = getCookie2("BBlueBookin");



    if (cdsval != null) {

       if (document.forma) {
         document.forma.collection.options[cdsval].selected = true
       } else {
         if (document.MyBB)
           document.MyBB.bkid.options[cdsval].selected = true
      }


    }

}



function checkPage() {



 if (!top.frMain) {

   top.location.replace("http://www.thebluebook.com");

 }





}







function newImage(arg) {

	if (document.images) {

		rslt = new Image();

		rslt.src = arg;

		return rslt;

	}

}



function changeImages() {

	if (document.images && (preloadFlag == true)) {

		for (var i=0; i<changeImages.arguments.length; i+=2) {

			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];

		}

	}

}



var preloadFlag = false;

function preloadImages() {

	if (document.images) {

		preloadFlag = true;

	}

}



// -->



function MM_preloadImages() { //v3.0

  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

}










//FREE LISTING SCRIPTS

  function stripChar(cString) {
   var cOut = '';
   var i = cString.length;
   var cValid = "0123456789";
   for (var j=0;j<i;j++) {
   if (cValid.indexOf( cString.charAt(j) ) != -1) {
   cOut += cString.charAt(j);
   }
   }
   return cOut;
  }

  function Sb(Intxt) {
   alert(Intxt + "Browser: " + navigator.appName + " Version:" + navigator.appVersion + "\n\nIf you have any questions or need assistance upgrading your browser, the BB-Bid Support Staff is available Monday through Friday between the hours of 8:45 am and 8:00 pm (ET). Call: 888-303-2243");
  }

  function CheckFormFx(myHandle) {
    var cTmpQID = "";
    if (parseInt(navigator.appVersion) < 4 ) {
    Sb('Your Browser version is currently not supported by our BB-Bid application.\n\n');
    return false;
    }
    if (stripChar(myHandle.logintext.value).length != 10) {
    alert("Please Enter a valid 10 digit Fax#.\nExample: 999-555-1212");
    return false;
    }

    return true;

  }

	function bclose() {

		if (window.name == "winHndl") {

  			window.close();

   		}

 	}



	function dispYear(iPlus) {

	 	Yr = new Date();

	 	iYr = Yr.getYear();

	 	ilastYr = Yr.getYear();

	 	if (iPlus == 1)

	 		document.write(1 + ilastYr);

	 	else

	 		document.write(ilastYr);

	}

        function pprt() {

           document.write('<B><FONT COLOR="Blue"><FONT Size=-2 face="arial, helvetica"><A HREF="javascript:history.back()">Previous Page</A></FONT></FONT></B>')

        }



        function CheckFormAd() 

        {

         if (document.forms['formb'].cont.value.length == 0) 

            {

             alert("To advertise in The Blue Book, a name is required.")

             document.forms['formb'].cont.focus()

             return false

            }

         if (document.forms['formb'].cn.value.length == 0)     

            {

             alert("To advertise in The Blue Book, a company name is required.")

             document.forms['formb'].cn.focus()

             return false

            }

         if (document.forms['formb'].adr1.value.length == 0)  

            {

             alert("To advertise in The Blue Book, an address is required.")

             document.forms['formb'].adr1.focus()

             return false

            }

         if (document.forms['formb'].city.value.length == 0)  

            {

             alert("To advertise in The Blue Book, a city is required.")

             document.forms['formb'].city.focus()

             return false

            }

         if (document.forms['formb'].state.value.length == 0)  

            {

             alert("To advertise in The Blue Book, a state is required.")

             document.forms['formb'].state.focus()

             return false

            }

         if (document.forms['formb'].zip.value.length == 0)  

            {

             alert("To advertise in The Blue Book, a zip code is required.")

             document.forms['formb'].zip.focus()

             return false

            }

         if (document.forms['formb'].phone.value.length == 0)  

            {

             alert("To advertise in The Blue Book, a telephone number is required.")

             document.forms['formb'].phone.focus()

             return false

            }

         if (document.forms['formb'].user_comments.value.length == 0)  

            {

             alert("To advertise in The Blue Book, a line of business is required.")

             document.forms['formb'].user_comments.focus()

             return false

            }

        return true

        }


        function CheckForm()

        {

         if (document.forms['formb'].cont.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a name is required.")

             document.forms['formb'].cont.focus()

             return false

            }

         if (document.forms['formb'].title.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a title is required.")

             document.forms['formb'].title.focus()

             return false

            }

         if (document.forms['formb'].cn.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a company name is required.")

             document.forms['formb'].cn.focus()

             return false

            }

         if (document.forms['formb'].adr1.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a address is required.")

             document.forms['formb'].adr1.focus()

             return false

            }

         if (document.forms['formb'].city.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a city is required.")

             document.forms['formb'].city.focus()

             return false

            }

         if (document.forms['formb'].state.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a state is required.")

             document.forms['formb'].state.focus()

             return false

            }

         if (document.forms['formb'].zip.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a zip code is required.")

             document.forms['formb'].zip.focus()

             return false

            }

         if (document.forms['formb'].phone.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a telephone number is required.")

             document.forms['formb'].phone.focus()

             return false

            }

         if (document.forms['formb'].user_comments.value.length == 0)

            {

             alert("To request a free listing in The Blue Book, a line of business is required.")

             document.forms['formb'].user_comments.focus()

             return false

            }

         if (!document.forms['formb'].bk1.checked &&

	 !document.forms['formb'].bk2a.checked &&

	 !document.forms['formb'].bk2b.checked &&

	 !document.forms['formb'].bk3.checked &&

	 //!document.forms['formb'].bk3a.checked &&

	 !document.forms['formb'].bk4.checked &&

	 !document.forms['formb'].bk5.checked &&

	 !document.forms['formb'].bk5a.checked &&

	 !document.forms['formb'].bk6.checked &&

 	 !document.forms['formb'].bk6a.checked &&

 	 !document.forms['formb'].bk6b.checked &&

	 !document.forms['formb'].bk7.checked &&

 	 //!document.forms['formb'].bk7a.checked &&

	 !document.forms['formb'].bk8.checked &&

	 !document.forms['formb'].bk8a.checked &&

	 !document.forms['formb'].bk9.checked &&

    	 //!document.forms['formb'].bk9a.checked &&

        !document.forms['formb'].bk10.checked &&

	 !document.forms['formb'].bk23.checked &&

	 !document.forms['formb'].bk11.checked &&

	 !document.forms['formb'].bk12.checked &&

	 !document.forms['formb'].bk13.checked &&

	 !document.forms['formb'].bk14.checked &&

	 !document.forms['formb'].bk15.checked &&

	 !document.forms['formb'].bk16.checked &&

	 !document.forms['formb'].bk17.checked &&

  	 !document.forms['formb'].bk17a.checked &&

	 !document.forms['formb'].bk18.checked &&

	 !document.forms['formb'].bk19.checked &&

	 !document.forms['formb'].bk19a.checked &&

	 !document.forms['formb'].bk20.checked &&

        !document.forms['formb'].bk21.checked &&

	 !document.forms['formb'].bk22.checked &&

	 //!document.forms['formb'].bk22a.checked &&

	 !document.forms['formb'].bk23.checked &&

	 !document.forms['formb'].bk24.checked &&

	 !document.forms['formb'].bk25.checked &&

	 !document.forms['formb'].bk26.checked &&

	 !document.forms['formb'].bk27.checked &&

	 !document.forms['formb'].bk28.checked &&

	 !document.forms['formb'].bk28a.checked &&

	 !document.forms['formb'].bk29.checked &&

	 !document.forms['formb'].bk30.checked &&

	 !document.forms['formb'].bk31.checked &&

	 !document.forms['formb'].bk32.checked &&

	 !document.forms['formb'].bk34.checked &&

	 !document.forms['formb'].bk35.checked &&

	 !document.forms['formb'].bk36.checked &&

	 !document.forms['formb'].bk37.checked )

            {

             alert("To request a free Blue Book, a region must be selected.")

             return false

            }



         return true



	}

   function checkFormGCShowcase() {
 	   // User must check one, and only one, gcshowcase to attend
	   var objOneChecked = false;
	   var objCk = document.forms['formb'].mpck;

      for (var k = 0; k < objCk.length; k++) {
      	if (objCk[k].checked) {
      		if (objOneChecked == true) {
      			alert("Please fill out a separate form for each Showcase Location.");
      			return false;
      		}
      		document.forms['formb'].gcshowcase.value = objCk[k].value;
      		objOneChecked = true;
      	}
      }
      if (objOneChecked != true) {
      	alert("Please check a Showcase.");
      	return false;
      }

      if (document.forms['formb'].cn.value.length == 0)
         {
          alert("To attend The Blue Book GC Showcase, a company name is required.")
          document.forms['formb'].cn.focus()
          return false;
         }
      if (document.forms['formb'].cont.value.length == 0)
         {
          alert("To attend The Blue Book GC Showcase, a name is required.")
          document.forms['formb'].cont.focus()
          return false;
         }
      if (document.forms['formb'].phone.value.length == 0)
         {
          alert("To attend The Blue Book GC Showcase, a telephone number is required.")
          document.forms['formb'].phone.focus()
          return false;
         }
      if (document.forms['formb'].email.value.length == 0)
         {
          alert("To attend The Blue Book GC Showcase, an email is required.")
          document.forms['formb'].email.focus()
          return false;
         }

	   // 2nd
      if (document.forms['formb'].cont2.value.length != 0 || document.forms['formb'].email2.value.length != 0) {
         if (document.forms['formb'].cont2.value.length == 0)
         	   {
         	    alert("To attend The Blue Book GC Showcase, a name is required.")
         	    document.forms['formb'].cont2.focus()
         	    return false;
         	   }
      	if (document.forms['formb'].email2.value.length == 0)
      	   {
      	    alert("To attend The Blue Book GC Showcase, an email is required.")
      	    document.forms['formb'].email2.focus()
      	    return false;
      	   }
      }

	   // 3rd
      if (document.forms['formb'].cont3.value.length != 0 || document.forms['formb'].email3.value.length != 0) {
      	if (document.forms['formb'].cont3.value.length == 0)
      	   {
      	    alert("To attend The Blue Book GC Showcase, a name is required.")
      	    document.forms['formb'].cont3.focus()
      	    return false;
      	   }
      	if (document.forms['formb'].email3.value.length == 0)
      	   {
      	    alert("To attend The Blue Book GC Showcase, an email is required.")
      	    document.forms['formb'].email3.focus()
      	    return false;
      	   }
      }
      return true;
   } //checkFormGCShowcase

	/*START OF BB GET COOKIE */

	 function getCookieVal2 (offset) {
     var endstr = document.cookie.indexOf (";", offset);
     if (endstr == -1)
     endstr = document.cookie.length;
     return unescape(document.cookie.substring(offset, endstr));
    }
    function getCookie2 (name) {
     var arg = name + "=";
     var alen = arg.length;
     var clen = document.cookie.length;
     var i = 0;
     while (i < clen) {
     var j = i + alen;
     if (document.cookie.substring(i, j) == arg)
     return getCookieVal2 (j)
     i = document.cookie.indexOf(" ", i) + 1;
     if (i == 0) break;
     }
     return null;
    }

 /*
    var mybb = getCookie("mybbid");
    if (mybb) {
       document.location.href = '/wsnsa.dll/WService=wsbrk1/mybb/mybb.htm';
    }

*/

function validEmail(email) {
   // Email addresses have two parts separated by an @ sign. The local-part
   // comes before the @ and the domain comes after. A valid email address
   // standards allow for 64 characters in the local-part and 255 in the
   // domain.
   if (email) {
      // Split the email address at the @. If there are not two pieces
      // the email address is invalidly formatted.
      var eml = email.split("@");
      if (eml.length == 2) {
         // Validate the local-part of the email address.
         // Local-part cannot be more than 64 characters and can contain "A-Z", "a-z", "0-9", "!", "#"
         // "$", "%", "&", "'", "*", "+", "-", "/", "=", "?", "^", "_", "`", "{", "|", "}", "~" and "."
         // The "." cannot be the first or last character nor can there be more two or more consecutive
         // "." characters.
         // Domains can only contain the "A-Z", "a-z", "0-9" and "-" characters. Domains can either be a
         // series of "domain labels" each separated by a period ("."), which cannot begin or end with a
         // hyphen ("-") and each label cannot be more than 63 characters long. The total domain length
         // cannot be more than 255 characters. The domain may also be an IP address enclosed in square
         // brackets (e.g. [192.168.1.24]).
         var localpart = eml[0];
         var reLocal = /^([\w!#$%&'*+\-/=?^`{|}~]+)(\.[\w!#$%&'*+\-/=?^`{|}~]+)*$/;

         // If the localpart 64-characters or less and is validly formatted,
         // continue to test the domain value.
         if (localpart.length <= 64 && reLocal.test(localpart)) {
            // If the domain appears to be an properly formatted IP address,
            // consider it valid, though further validation may be required.
            var Domain = eml[1];
            var reIP = /^\[[0-2]?[\d]{1,2}(\.[0-2]?[\d]{1,2}){3}\]$/;

            if (reIP.test(Domain)) {
               return true;
            } else {
               if (Domain.length <= 255) {
                  var subdomain = Domain.split(".");
                  if (subdomain.length < 2) {
                     return false;
                  } else {
                     var reSubdomain = /^([A-Za-z0-9]{1,2}|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/;
                     var result = true;
                     for (var i=0; i<subdomain.length; i++) {
                        if (subdomain[i].length < 1 || subdomain[i].length > 63) {
                           result = false;
                           break;
                        } else if (!reSubdomain.test(subdomain[i])) {
                           result = false;
                           break;
                        }
                     }
                     return result;
                  }
               } else {
                  return false;
               }
            }
         } else {
            return false;
         }
      } else {
         return false;
      }
   } else {
      return false;
   }
}

