var p;
if ((navigator.appVersion.indexOf("Mac") != -1))
  p=18;//MAC
else
  p=0;//PC

function openWindow( pageToLoad, winName, width, height, center, scroll_resize) 
{
/* Opens a new window on the users desktop.
   Arguments:
    pageToLoad - The URL of a page to load in the browser window.
                 This can be a relative URL or fully qualified.
    winName - 	 Name of the new window.
    width - 	 The horizontal size of the new window.
    height - 	 The vertical size of the new window.
    center -     toggle centering on 4.0 browsers.
                 1=centered window 0=no centering

    Values in the "args" section below can all be toggled in the
    same fashion as the center toggle.  Just modify the appropriate
    value in the args section to be either 0 or 1.

*/
    var openwin;
    xposition=0; yposition=0;
    if ((parseInt(navigator.appVersion) >= 4 ) && (center)){
        xposition = (screen.width - width) / 2;
        yposition = (screen.height - height) / 2;
    }
    if ((scroll_resize==0)&&(p==0)){
    	width-=18;
 	 height-=p;
    	}
    else{
	  width-=p;
	  height-=p;
	 };


    args = "width=" + width + ","
    + "height=" + height + ","
    + "location=0,"
    + "menubar=0,"
    + "resizable="+ scroll_resize + ","
    + "scrollbars=" + scroll_resize + ","
    + "status=0,"
    + "titlebar=0,"
    + "toolbar=0,"
    + "hotkeys=0,"
    + "screenx=" + xposition + ","  //NN Only
    + "screeny=" + yposition + ","  //NN Only
    + "left=" + xposition + ","     //IE Only
    + "top=" + yposition;           //IE Only

   openwin=window.open( pageToLoad,winName,args );
   openwin.window.focus();
	//window.open( pageToLoad,winName ); //RW - Mac IE 4 fix
}

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) 
   {
      lg_but_a_over = newImage("/na/img/lg_but_a_over.gif");
      lg_but_b_over = newImage("/na/img/lg_but_b_over.gif");
      lg_but_c_over = newImage("/na/img/lg_but_c_over.gif");
      lg_but_d_over = newImage("/na/img/lg_but_d_over.gif");
      lg_but_e_over = newImage("/na/img/lg_but_e_over.gif");
      lg_but_f_over = newImage("/na/img/lg_but_f_over.gif");
      preloadFlag = true;
   }
}

var edition = 'na';
var d=document;
var domain   = self.location.host.substring(self.location.host.indexOf('.') + 1);
var contHost = 'www.'    + domain;
var srchHost = 'search.' + domain;

function removeSpaces(inputStr) 
{
   var newString = "";
   if (!inputStr.length) return "";

   // Remove all spaces
   for (i = 0; i< inputStr.length; i++) 
   {
      curChar = inputStr.charAt(i);
      if (curChar != " ")
      {
         newString += curChar;
      }  
   }
   return newString;  
}

function normalizeQuery(inputStr) 
{
   var newString = inputStr;
   if (!inputStr.length) return "";

   // Remove illegal characters
   for (i = 0; i< newString.length; i++) 
   {
      curChar = newString.charAt(i);
      if ((curChar == "|") || (curChar == "[") || (curChar == "]")) 
      {
         newString = newString.substring(0,i)+' '+newString.substring(i+1, newString.length);
      }  
   }

   // Remove leading spaces
   for (i = 0; i < newString.length; i++) 
   {
      if (newString.charAt(i) !=' ') 
      {
         newString = newString.substring(i,newString.length);
         break;
      }
   }

   // Remove trailing spaces
   for (i = newString.length-1; i >= 0 ; i--) 
   {
      if (newString.charAt(i) !=' ')  
      { 
         newString = newString.substring(0, i+1);
         break;
      }
   }

   // Replace multiple spaces with single spaces
   for (i = 0; i< newString.length-1; i++) 
   {
      if (newString.charAt(i) ==' ') 
      {
         if (newString.charAt(i+1) ==' ') 
         {
            newString= newString.substring(0, i+1) + newString.substring(i+2, newString.length);
            i--;
         }
      }
   }
   if (newString == " ") newString="";
   return newString;  
}

function validate()
{
   var uid = normalizeQuery(d.loginForm.uid.value);
   uid = removeSpaces(uid);

   if (uid == "")
   {
      alert("Please enter your Login ID before proceeding.");
      d.loginForm.uid.focus();
      return false;
   }

   if (uid.length <= 2)
   {
      alert("Your Login ID must be at least 3 characters long.\n" +
            "Please type your Login ID again.");
      d.loginForm.uid.value = "";
      d.loginForm.uid.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
    if (uid.length >= 17) {
      alert("Your Login ID must not be greater than 16 characters long.\n" + 
            "Please type your Login ID again.");
      d.loginForm.uid.value = "";
      d.loginForm.uid.focus();
      return false;
    }
   var pwd = normalizeQuery(d.loginForm.pwd.value);

   if (pwd == "")
   {
      alert("Please enter your Password before proceeding.");
      d.loginForm.pwd.focus();
      return false;
   }

   if (pwd.length <= 2)
   {
      alert("Your Password must be at least 3 characters long.\n" +
            "Please type your Password again.");
      d.loginForm.pwd.value = "";
      d.loginForm.pwd.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
   if (pwd.length >= 17) {
      alert("Your Password must not be greater than 16 characters long.\n" + 
            "Please type your Login ID again.");
      d.loginForm.pwd.value = "";
      d.loginForm.pwd.focus();
      return false;
   }

   d.loginForm.pwd.value = pwd;
   d.loginForm.uid.value = uid;
  // submit the form...
  d.loginForm.submit();
  return false;
}

function popupHelp(fs) 
{
   f = 'width=600,height=400,scrollbars=yes,resizable=yes';
   n = 'wbolHelpWin';
   pWin = window.open('http://' + contHost + fs,n,f);
   if (navigator.appName == 'Netscape') pWin.focus();
}

function setRegCookie(regSku, isTrial, step1) 
{
   var szCookieName="WBOEReg";
   var szCookieBegin = szCookieName +"=["
   var szCookieEnd = "|]; domain=." + domain + "; path=/"
   var szCookieMiddle = "|regsku=" + regSku +
                        "|trial=" + isTrial;
   if (step1) 
     szCookieMiddle += "|step1=" + step1;
   szCookieMiddle += "|acct_num=";
   d.cookie = szCookieBegin + szCookieMiddle + szCookieEnd;
   if (step1)
   top.location.href= "https://" + contHost + "/na/htm/sub/step1p.htm";
   else
   top.location.href= "https://" + contHost + "/na/htm/sub/step1.htm";
}

//Added for ENH-200-1c
function validate1()
{
   var uid = normalizeQuery(d.loginForm1.uid.value);
   uid = removeSpaces(uid);

	
   if (uid == "")
   {
      alert("Please enter your Login ID before proceeding.");
      d.loginForm1.uid.focus();
      return false;
   }

   if (uid.length <= 2)
   {
      alert("Your Login ID must be at least 3 characters long.\n" +
            "Please type your Login ID again.");
      d.loginForm1.uid.value = "";
      d.loginForm1.uid.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
    if (uid.length >= 17) {
      alert("Your Login ID must not be greater than 16 characters long.\n" + 
            "Please type your Login ID again.");
      d.loginForm1.uid.value = "";
      d.loginForm1.uid.focus();
      return false;
    }
   var pwd = normalizeQuery(d.loginForm1.pwd.value);

   if (pwd == "")
   {
      alert("Please enter your Password before proceeding.");
      d.loginForm1.pwd.focus();
      return false;
   }

   if (pwd.length <= 2)
   {
      alert("Your Password must be at least 3 characters long.\n" +
            "Please type your Password again.");
      d.loginForm1.pwd.value = "";
      d.loginForm1.pwd.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
   if (pwd.length >= 17) {
      alert("Your Password must not be greater than 16 characters long.\n" + 
            "Please type your Password again.");
      d.loginForm1.pwd.value = "";
      d.loginForm1.pwd.focus();
      return false;
   }

   d.loginForm1.pwd.value = pwd;
   d.loginForm1.uid.value = uid;
  // submit the form...
  d.loginForm1.submit();
  return false;
}

function validateErrorPage()
{
   var uid = normalizeQuery(d.errorForm.uid.value);
   uid = removeSpaces(uid);

	
   if (uid == "")
   {
      alert("Please enter your Login ID before proceeding.");
      d.errorForm.uid.focus();
      return false;
   }

   if (uid.length <= 2)
   {
      alert("Your Login ID must be at least 3 characters long.\n" +
            "Please type your Login ID again.");
      d.errorForm.uid.value = "";
      d.errorForm.uid.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
    if (uid.length >= 17) {
      alert("Your Login ID must not be greater than 16 characters long.\n" + 
            "Please type your Login ID again.");
      d.errorForm.uid.value = "";
      d.errorForm.uid.focus();
      return false;
    }
   var pwd = normalizeQuery(d.errorForm.pwd.value);

   if (pwd == "")
   {
      alert("Please enter your Password before proceeding.");
      d.errorForm.pwd.focus();
      return false;
   }

   if (pwd.length <= 2)
   {
      alert("Your Password must be at least 3 characters long.\n" +
            "Please type your Password again.");
      d.errorForm.pwd.value = "";
      d.errorForm.pwd.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
   if (pwd.length >= 17) {
      alert("Your Password must not be greater than 16 characters long.\n" + 
            "Please type your Password again.");
      d.errorForm.pwd.value = "";
      d.errorForm.pwd.focus();
      return false;
   }

   d.errorForm.pwd.value = pwd;
   d.errorForm.uid.value = uid;
  // submit the form...
  d.errorForm.submit();
  return false;
}


//Added for ENH-221-wbcom redesign-Starts
function openPage(theURL, bSecure,hostName)
{
	var hostName = hostName;
	
	/* Changed for WBDP-471 */
	bSecure = false;
	
	/** if(hostName.indexOf("worldbookonline.com")!= -1) {
		hostName=hostName.replace(/worldbookonline/,"worldbook");	
	} **/
	if(hostName.indexOf("worldbook.com")!= -1) {
		hostName=hostName.replace(/worldbook/,"worldbookonline");	
	}
	
	if(hostName.indexOf("www")!= -1) {
		location.href="http" +(bSecure ? "s":"") +"://" +hostName +theURL;
	}
    else {
		hostName = "www."+hostName;
		location.href="http" +(bSecure ? "s":"") +"://"+hostName +theURL;
	}

	return false;
}


function openForgotPass(url,bSecure,hostName)
{
    var hostName = hostName;
	window.name="forgetpass";
	
	if(hostName.indexOf("worldbookonline.com")!= -1) {
		hostName=hostName.replace(/worldbookonline/,"worldbook");	
	}
	
	if(hostName.indexOf("www")!= -1) {
		location.href="http" +(bSecure ? "s":"") +"://" +hostName +url;
	}
    else {
		hostName = "www."+hostName;
		location.href="http" +(bSecure ? "s":"") +"://"+hostName +url;
	}

}
//Added for ENH-221-wbcom redesign-Ends

function validateHomePage()
{
   
   var uid = normalizeQuery(d.homepageForm.uid.value);
   uid = removeSpaces(uid);
   
   if (uid == "")
   {
      alert("Please enter your Login ID before proceeding.");
      d.homepageForm.uid.focus();
      return false;
   }

   if (uid.length <= 2)
   {
      alert("Your Login ID must be at least 3 characters long.\n" +
            "Please type your Login ID again.");
      d.homepageForm.uid.value = "";
      d.homepageForm.uid.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
    if (uid.length >= 17) {
      alert("Your Login ID must not be greater than 16 characters long.\n" + 
            "Please type your Login ID again.");
      d.homepageForm.uid.value = "";
      d.homepageForm.uid.focus();
      return false;
    }
 
   var pwd = normalizeQuery(d.homepageForm.pwd.value);

   if (pwd == "")
   {
      alert("Please enter your Password before proceeding.");
      d.homepageForm.pwd.focus();
      return false;
   }

   if (pwd.length <= 2)
   {
      alert("Your Password must be at least 3 characters long.\n" +
            "Please type your Password again.");
      d.homepageForm.pwd.value = "";
      d.homepageForm.pwd.focus();
      return false;
   }

   // BUG-212 Limit user_id/password to 16
   if (pwd.length >= 17) {
      alert("Your Password must not be greater than 16 characters long.\n" + 
            "Please type your Password again.");
      d.homepageForm.pwd.value = "";
      d.homepageForm.pwd.focus();
      return false;
   }

   d.homepageForm.pwd.value = pwd;
   d.homepageForm.uid.value = uid;
  // submit the form...
  d.homepageForm.submit();
  return false;
}
//Added for ENH-221-Ends

/* Added for ENH-33 to display the metanav*/
function showPoductsPage(strProductName)
{
	if(strProductName == "World Book Kids") {
		document.product.action="/kids/Home";
		document.product.submit();
	} else if(strProductName == "Spanish-language Encyclopedia") {
		document.product.action="/eeh/Home";
		document.product.submit();
	} else if(strProductName == "Encyclopédie Découverte") {
		document.product.action="/decouverte/home";
		document.product.submit();
	}else if(strProductName == "World Book Advanced") {
		document.product.action="/advanced/home";
		document.product.submit();
	}else if(strProductName == "Research Tools Edition") {
		document.product.action="/researchtools/home";
		document.product.submit();
	}else if(strProductName == "Research Libraries") {
		window.parent.location.href="http://wbrl.worldbookonline.com";
	}
	return false;
}
/*************		BEGIN FUNCTION TO EXPAND THE FOOTER DROP DOWN 	*************/
function setDivPosition(which){
	var divToPos = document.getElementById(which);
	divToPos.style.display = 'block';
}
function hideRollOverDiv(which){
	var divToHide = document.getElementById(which);
	divToHide.style.display = 'none';
}
/*************		END FUNCTION TO EXPAND THE FOOTER DROP DOWN 	*************/
/* ENH-33 changes ends here*/
