// ************************************************************
// VINBox.js is copyrighted Veterinary Information Network 2000
// ************************************************************
//window.onerror = new Function("return true;");

var isNS = (navigator.appName == "Netscape");
isDynamic = (document.layers || document.all);

var DIVRef = (isNS) ? "document" : "document.all";
var VisibilityRef = (isNS) ? ".visibility" : ".style.visibility";
var TopRef = (isNS) ? ".top" : ".style.pixelTop";
var LeftRef = (isNS) ? ".left" : ".style.pixelLeft";
var WidthRef = (isNS) ? ".width" : ".style.pixelWidth";
var ScrollXRef = (isNS) ? "window.pageXOffset" : "document.body.scrollLeft";
var ScrollYRef = (isNS) ? "window.pageYOffset" : "document.body.scrollTop";

var MaxBoxRows = 15;
var PopUpWidth = 400;

var CurrentMenu = '';
var MouseInMenu = false;
var MenuBorderColor, MenuBGColor;
var VINPopUpMenuLayer;

function ChangeContent(ModLayer, NewHTML) {  
  if (isNS) {
    ModLayer.document.open();
    ModLayer.document.write(NewHTML);
    ModLayer.document.close();
  }
  else {
    ModLayer.innerHTML = NewHTML;
  }
}

function SetMenuStyle(NewBorderColor, NewBGColor, NewFontType, NewFontSize, NewBulletType) {
  MenuBorderColor = NewBorderColor;
  MenuBGColor = NewBGColor;
  MenuFontSize = NewFontSize;
  MenuFontType = NewFontType;
  MenuBulletType = NewBulletType;
}

function SetDefaultMenuStyle() {
  SetMenuStyle('#0C0C75', '#E6E6F2', 'Arial, Verdana, Helvetica', '-1', '&nbsp;<IMG SRC="/Images/Icons/BlackDot.gif" WIDTH=8 HEIGHT=8 BORDER=0>&nbsp;');
}

function LayerStart(IDName) {  
  if (isNS) {
    return('<LAYER NAME=' + IDName + ' VISIBILITY="hide" Z-INDEX=2 BGCOLOR="' + MenuBGColor + '" onMouseOver="MenuMouseOver()" onMouseOut="MenuMouseOut()"><TABLE BORDER=1 BORDERCOLOR="' + MenuBorderColor + '" CELLSPACING=0 CELLPADDING=0><TR><TD>');
  }
  else {
    return('<DIV ID=' + IDName + ' STYLE="border-style: solid; border-width: 2px; position: absolute; visibility: hidden; z-index: 2; border-color: ' + MenuBorderColor + ';  background-color: ' + MenuBGColor + ';" onMouseOver="MenuMouseOver()" onMouseOut="MenuMouseOut()">');
  }
}

function LayerEnd() {
  if (isNS) return('</TR></TD></TABLE></LAYER>');
  else return('</DIV>');
}

function BuildMenu(MenuID, MenuTitle, MenuStartURL, MenuEndURL, MenuTargetURL, MenuItems, MenuURLs, LeftX, TopY) {
  if (MenuTargetURL) MenuTargetURL =  ' TARGET="' + MenuTargetURL + '"';  
  document.write(LayerStart(MenuID) + '<TABLE BGCOLOR="' + MenuBGColor + '"><TR>');
  if (MenuTitle) document.write('<TD COLSPAN=2><TABLE WIDTH="100%" HEIGHT=18 BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=Blue><TR HEIGHT=18><TD VALIGN=MIDDLE NOWRAP><IMG SRC="/Images/Icons/VINBoxIcon.gif" WIDTH=40 HEIGHT=14 BORDER=0><FONT FACE="'+MenuFontType+'" SIZE="'+MenuFontSize+'" COLOR=White>&nbsp;<B>' + MenuTitle + '</B>&nbsp;</FONT></TD><TD VALIGN=MIDDLE ALIGN=right><A HREF="javascript: HideCurrentMenu();"><IMG SRC="/Images/Icons/XBox.gif" WIDTH=16 HEIGHT=14 BORDER=0 ALT="Click to Close"></A></TD></TR></TABLE></TD></TR><TR>');
  var SwitchColumn = -1;
  if ((MenuTitle) && (MenuItems.length > MaxBoxRows)) {
    document.write('<TD VALIGN=TOP NOWRAP><FONT FACE="'+MenuFontType+'" SIZE="'+MenuFontSize+'">');
    SwitchColumn = MenuItems.length;
    if (MenuItems.length % 2) SwitchColumn++; 
    SwitchColumn = SwitchColumn / 2;
  }
  else document.write('<TD VALIGN=TOP COLSPAN=2 NOWRAP><FONT FACE="'+MenuFontType+'" SIZE="'+MenuFontSize+'">');
  for (var i=0; i < MenuItems.length; i++) {
    if (i == SwitchColumn) document.write('</FONT></TD><TD VALIGN=TOP NOWRAP><FONT FACE="'+MenuFontType+'" SIZE="'+MenuFontSize+'">');    
    if (MenuURLs[i]) document.write(MenuBulletType+'<A HREF="' + MenuStartURL + MenuURLs[i] + MenuEndURL + '"'+ MenuTargetURL + '>');
    document.write(MenuItems[i]);
    if (MenuURLs[i]) document.write('</A>&nbsp;<BR>');
  }
  document.write('</FONT></TD></TR></TABLE>' + LayerEnd());
  if (LeftX && TopY) {
    eval(DIVRef + '["' + MenuID + '"]' + TopRef + ' = ' + TopY);
    eval(DIVRef + '["' + MenuID + '"]' + LeftRef + ' = ' + LeftX);
  }
}

function BuildPopUpMenu(MenuWidth) {
  if (MenuWidth) PopUpWidth = MenuWidth;
  document.write(LayerStart('VINPopUpMenu') + LayerEnd());
  VINPopUpMenuLayer = eval(DIVRef + '["VINPopUpMenu"]');
}

function ChangePopUpMenu(MenuText) {
  MenuText = '<TABLE WIDTH='+PopUpWidth+' BGCOLOR="' + MenuBGColor + '"><TR><TD><FONT FACE="'+MenuFontType+'" SIZE="'+MenuFontSize+'">' + MenuText + '</FONT></TD></TR></TABLE>';
  if (isNS) ChangeContent(VINPopUpMenuLayer, '<TABLE BORDER=1 BORDERCOLOR="' + MenuBorderColor + '" CELLSPACING=0 CELLPADDING=0><TR><TD>'+MenuText+'</TD></TR></TABLE>');
  else ChangeContent(VINPopUpMenuLayer, MenuText);
}

function ShowPopUpMenu(LeftX, TopY, MenuText) {
  if (isDynamic && CurrentMenu != VINPopUpMenuLayer) {
    ChangePopUpMenu(MenuText);
    ShowMenu('VINPopUpMenu', LeftX, TopY);
  }
}

function ShowPopUpMenuRel(LeftX, TopY, MenuText) {
  LeftX += eval(ScrollXRef);
  TopY += eval(ScrollYRef);  
  ShowPopUpMenu(LeftX, TopY, MenuText);
}

function ShowMenu(MenuID, LeftX, TopY, WidthX, HeightY) {
  if (isDynamic && CurrentMenu != MenuID) {
	if (CurrentMenu) HideMenu(CurrentMenu); 	
    CurrentMenu = MenuID;
    if (TopY) eval(DIVRef + '["' + MenuID + '"]' + TopRef + ' = ' + TopY);
    if (LeftX) eval(DIVRef + '["' + MenuID + '"]' + LeftRef + ' = ' + LeftX);
    if (WidthX) eval(DIVRef + '["' + MenuID + '"]' + WidthRef + ' = ' + WidthX);
    if (HeightY) eval(DIVRef + '["' + MenuID + '"]' + HeightRef + ' = ' + HeightY);
    eval(DIVRef + '["' + MenuID + '"]' + VisibilityRef + ' = "visible"');
  }
}

function HideMenu(MenuID) {
  if (isDynamic) {
    eval(DIVRef + '["' + MenuID + '"]' + VisibilityRef + ' = "hidden"');
    CurrentMenu = '';
  }
}

function HideCurrentMenu() {
  if (CurrentMenu) HideMenu(CurrentMenu);
}

function MenuMouseOver() {
  MouseInMenu = true;
}

function MenuMouseOut() {
  if ((!isNS) && (document.all[CurrentMenu].contains(window.event.toElement))) return;
  if (MouseInMenu) HideCurrentMenu();
  MouseInMenu = false;
}

function PageMouseUp() {
  if (!MouseInMenu) HideCurrentMenu();
}

function NSReload() {	
  if (innerWidth != origWidth || innerHeight != origHeight) location.reload();
}	

if (isDynamic) {
  SetDefaultMenuStyle();
  if (isNS) document.captureEvents(Event.MOUSEUP);
  document.onmouseup = PageMouseUp;

  // Work-around Netscape resize bug
  if (isNS) {
    origWidth = innerWidth;
    origHeight = innerHeight;	
    onresize = NSReload;
  }
}
