Conflicts between overlib and other scripts
Conflicts between the overlib script and other scripts that you may employ on your pages generally arise for one of the following two reasons:
  1. both scripts are attempting to capture mouse movements on the page.
  2. there are naming conflicts between overlib variables and variables that the other script uses.

To see if another script is attempting to capture mouse movements, open that script in a text editor (Notepad will work fine and even Word will suffice, just make sure that it is saved it as a plain text file) and do a search for the words "onmousemove". If you find those words in the other script, then it is very likely that it is attempting to capture mouse movements which will interfere with overlib being able to do its job since it too needs to be aware of the mouse's position on the page. If you find that this is the case, then you can make a small change to overlib which may allow it to coexist with the other scripts. Find the location in the overlib source file where the following lines appear:

// Capture events, alt. diffuses the overlib function.
if ( (ns4) || (ie4) || (ns6)) {
	document.onmousemove = mouseMove
	if (ns4) document.captureEvents(Event.MOUSEMOVE)
} else {
	overlib = no_overlib;
	nd = no_overlib;
	ver3fix = true;
}
which comes just after the "Microsoft Stupidity Check" and replace them with the following lines:

// Capture events, alt. diffuses the overlib function.
if ( (ns4) || (ie4) || (ns6)) {
     var fn, func = document, re = /function[ ]+(\w+)\(/
     if(document.onmousemove || window.onmousemove){
          if(window.onmousemove) func = window
          fn = func.onmousemove.toString().match(re)
          var str = 'mouseMove(e); ' + fn[1] + '(e)';
          func.onmousemove = new Function('e',str)
     }else
	      document.onmousemove = mouseMove
	 if (ns4) func.captureEvents(Event.MOUSEMOVE)
} else {
	overlib = no_overlib;
	nd = no_overlib;
	ver3fix = true;
}
then make sure that the overlib source code is called last, i.e. the line

<SCRIPT LANGUAGE="Javascript" TYPE="text/javascript" SRC="overlib.js"></SCRIPT>
appears after the lines which load the other scripts. In other words, the overlib script must be the last one to load. The reason for this is that the lines added above check to see if the mousemovement handler has been captured and if it has been, then it substitutes another handler which daisy chains that function with the overlib mouseMove handler so that they both function.
Naming conflicts are more difficult to sort out because they manifest themselves in different ways. These types of problems will cause the overlib popup to work but it doesn't function as you would expect it to or it may act erratically. In some cases, you may also get a javascript error when you attempt to trigger your popup. The obvious way to correct this error is to change the name of the variable that is causing problems to something else, but this is not always possible because it is most likely used quite extensively in the script code (in the case of overlib) and catching all places where it is used requires some familiarity with the program and with javascript. It is not an approach that is to be undertaken lightly.