/*************************************************************************************************************************************************
  OMNI.JS Copyright (c) 2000, Tasker Applications
*************************************************************************************************************************************************/

var char34 = String.fromCharCode(34)

//var MenuBase;
var ExpandMenus = true;

/***************************************************************************************************
***************************************************************************************************/
function GetMenuItem(Wanted,TMenu) {
/***************************************************************************************************
***************************************************************************************************/
  var TempMenu = TMenu;
  while (TempMenu) {
    if (TempMenu.MenuURL == Wanted) return TempMenu;
    else {
      var TTempMenu = GetMenuItem(Wanted,TempMenu.SubMenu);
      if (TTempMenu) return TTempMenu;
      else TempMenu = TempMenu.MenuNext;
    };
  };
};

function GetCurrentURLName() {
/***************************************************************************************************
***************************************************************************************************/
  if (document) {
    str = new String(document.location.pathname);
    strarray = str.split("\\");
    if (strarray.length>1) return strarray[strarray.length-1].toLowerCase();
    else {
      strarray = str.split("/");
      if (strarray.length) return strarray[strarray.length-1].toLowerCase();
      else return str.toLowerCase();
    };
  };
};

var MenuCounter = 0;

function BaseMenu(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu) {
/***************************************************************************************************
***************************************************************************************************/
  this.MenuStr = MenuStr;
  this.MenuURL = MenuURL;
  this.MenuHelp = MenuHelp;
  this.Id = MenuCounter++;
  if (ParentMenu) {
    if (ParentMenu.SubMenu) {
      TMenu = ParentMenu.SubMenu;
      while (TMenu.MenuNext) TMenu = TMenu.MenuNext;
      TMenu.MenuNext = this;
    } else ParentMenu.SubMenu = this;
  } else if (MenuStr) ParWin.MenuBase = this;
}

/***************************************************************************************************
 These are the members of a NS Menu
***************************************************************************************************/
function GetNSOnMouseOver(MenuHelp) {
/***************************************************************************************************
***************************************************************************************************/
  if (window) {
    window.status = MenuHelp;
  };
  return true;
}

function GetNSOnMouseOut() {
/***************************************************************************************************
***************************************************************************************************/
  if (window) window.status = "";
  return true;
}

function GetNSMenuStr(IsHighlight) {
/***************************************************************************************************
***************************************************************************************************/
  if (IsHighlight==true) return "<FONT COLOR='blue'>"+this.MenuStr+"</FONT>";
//  else return "<FONT COLOR='black'>"+this.MenuStr+"</FONT>";
  else return this.MenuStr;
};

function DrawNSMenuElement(Ord,IsHighlight,doc) {
/***************************************************************************************************
***************************************************************************************************/
  if (this.MenuStr == "HL") doc.write("<P CLASS='Menu0'><HR ALIGN=CENTER WIDTH='80%' SIZE='2'>");
  else doc.write("<P CLASS='Menu"+Ord+"'>"+
	"<A CLASS='special' href='"+this.MenuURL+"' "+
	"onMouseOver='GetNSOnMouseOver("+char34+this.MenuHelp+char34+"); return true;' "+
	"onMouseOut='GetNSOnMouseOut(); return true;' "+
	">" + this.GetMenuStr(IsHighlight) + "</A></P>");
};

function DrawNSSubMenu(Ord,CurrentURLName,doc) {
/***************************************************************************************************
***************************************************************************************************/
  if (this.SubMenu) {
    var MenuTemp = this.SubMenu;
    while (MenuTemp) {
      var IsHighlight = (CurrentURLName==MenuTemp.MenuURL) ? true : false;
      MenuTemp.DrawMenuElement(Ord,IsHighlight,doc);
      if ((ExpandMenus==true)||(IsHighlight==true)||(GetMenuItem(CurrentURLName,MenuTemp.SubMenu)))
        MenuTemp.DrawSubMenu(Ord+1,CurrentURLName,doc);
      MenuTemp = MenuTemp.MenuNext
    };
  };
}

function DrawNSMenu(doc) {
/***************************************************************************************************
***************************************************************************************************/
  IDNum = 1;
//  doc.write("<LINK REL='StyleSheet' HREF='left.css'>");
  this.DrawSubMenu(0,GetCurrentURLName(),doc);
}

function NSMenu(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu) {
/***************************************************************************************************
***************************************************************************************************/
  this.base = BaseMenu;
  this.base(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu);
  this.DrawMenu = DrawNSMenu;
  this.DrawSubMenu = DrawNSSubMenu;
  this.DrawMenuElement = DrawNSMenuElement;
  this.GetMenuStr = GetNSMenuStr;
}
NSMenu.prototype = new BaseMenu;

/***************************************************************************************************
 These are the members of a MS Menu
***************************************************************************************************/
function GetMSOnMouseOver(MenuHelp) {
/***************************************************************************************************
***************************************************************************************************/
  if (window) window.status = MenuHelp;
  window.event.srcElement.style.color = "red";
  return true;
}

function GetMSOnMouseOut(MenuURL) {
/***************************************************************************************************
***************************************************************************************************/
  if (window) window.status = "";
  if (MenuURL == GetCurrentURLName()) window.event.srcElement.style.color = "blue"
  else window.event.srcElement.style.color = "black"
  return true;
}

function DrawMSMenuElement(Ord,doc) {
/***************************************************************************************************
***************************************************************************************************/
  if (this.MenuStr == "HL") doc.write("<P CLASS='Menu0'><HR ALIGN=CENTER WIDTH='80%' SIZE='2'></P>");
  else doc.write("<P CLASS='Menu"+Ord+"'>"+
	"<A CLASS='Menu0' href='"+this.MenuURL+"' style='text-decoration: none;' ID='MenuIDs"+this.Id+"' "+
	"onMouseOver='return GetMSOnMouseOver("+char34+this.MenuHelp+char34+");' "+
	"onMouseOut='return GetMSOnMouseOut("+char34+this.MenuURL+char34+");' "+
	">" + this.MenuStr + "</A></P>");
}

function DrawMSSubMenu(Ord,CurrentURLName,doc) {
/***************************************************************************************************
***************************************************************************************************/
  if (this.SubMenu) {
    var MenuTemp = this.SubMenu;
    while (MenuTemp) {
      MenuTemp.DrawMenuElement(Ord,doc);
      MenuTemp.DrawSubMenu(Ord+1,CurrentURLName,doc);
      MenuTemp = MenuTemp.MenuNext
    };
  };
}

function UpdateMSMenus(TMenu,CurrentURLName,isSelected,doc) {
/***************************************************************************************************
***************************************************************************************************/
  var MenuTemp = TMenu.SubMenu;
  while (MenuTemp) {
    var isHighlight = (CurrentURLName==MenuTemp.MenuURL) ? true : false;
    var El = doc.all["MenuIDs"+MenuTemp.Id];
    if (El) {
      if (isHighlight==true) {
        El.style.display = "block";
        El.style.color = "blue";
      } else {
        if (isSelected==true) El.style.display = "block";
        else El.style.display = "none";
        El.style.color = "black";
      };
      if (ExpandMenus) El.style.display = "block";
    };
    if ((isHighlight==false)&&(GetMenuItem(CurrentURLName,MenuTemp.SubMenu))) isHighlight = true;
    UpdateMSMenus(MenuTemp,CurrentURLName,isHighlight,doc);
    MenuTemp = MenuTemp.MenuNext
  };
};

function DrawMSMenu(doc) {
/***************************************************************************************************
***************************************************************************************************/
  this.DrawSubMenu(0,GetCurrentURLName(),doc);
  UpdateMSMenus(this,GetCurrentURLName(),true,doc);
}

function MSMenu(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu) {
/***************************************************************************************************
***************************************************************************************************/
  this.base = BaseMenu;
  this.base(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu);
  this.DrawMenu = DrawMSMenu;
  this.DrawSubMenu = DrawMSSubMenu;
  this.DrawMenuElement = DrawMSMenuElement;
}
MSMenu.prototype = new BaseMenu;

/***************************************************************************************************
***************************************************************************************************/
function AddMenu(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu) {
/***************************************************************************************************
***************************************************************************************************/
  if (document.all) return new MSMenu(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu);
  else return new NSMenu(ParWin,MenuStr,MenuURL,MenuHelp,ParentMenu);
}

function DrawLeftMenu() {
/***************************************************************************************************
***************************************************************************************************/
//  if (!(window.MenuBase)) BuildMenus(window);
  if (window.MenuBase) {
    window.MenuBase.DrawMenu(document);
    document.close();
  };
//  window.document.write("Hi");
};

Months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

function GetCookieDate(dt) {
/***************************************************************************************************
***************************************************************************************************/
  d = new Date(dt.toUTCString());
  Yr = d.getFullYear() % 1000;
  return d.getDay()+ ", "+d.getDate()+"-"+Months[d.getMonth()]+
	"-"+Yr+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+" GMT";
};//GetCookieDate

function setCookie(name,value,expire,path) {
/***************************************************************************************************
***************************************************************************************************/
  document.cookie = name + "=" + 
	escape(value) + 
	((expire) ? ("; expires=" + GetCookieDate(expire)) : "") +
	((path) ? ("; path="+path) : "; path=/");
};//setCookie

function getCookie(Name) {
/***************************************************************************************************
***************************************************************************************************/
  var search = Name + "="
  if (document.cookie.length > 0) { // if there are any cookies
    offset = document.cookie.indexOf(search)
    if (offset != -1) { // if cookie exists
      offset += search.length
// set index of beginning of value
      end = document.cookie.indexOf(";", offset)
// set index of end of cookie value
      if (end == -1) end = document.cookie.length
      return unescape(document.cookie.substring(offset, end))
    }
  }
};//getCookie

function MainURLOpened() {
/***************************************************************************************************
***************************************************************************************************/
  BuildMenus(window);
//  var AnyCookies = getCookie("LastUserURL");
//  if ((AnyCookies)&&(document)) {
//    document.location = AnyCookies; 
//    var D = new Date(0);
//    setCookie("LastUserURL","",D);
//  } else {
//    if (document.all) {
////      parent.document.title = "Foo";
//      if ((window.MenuBase)&&(document)) {
//        UpdateMSMenus(window.MenuBase,GetCurrentURLName(),true,document);
//      };
//    } else {
////      DrawLeftMenu();
////      parent.leftframe.location.reload();
////      location = "left.html";
//    };
////    focus();
//  };
};

function Res() {
  this.Parent;
  this.Last;
};

function LocateElement(TMenu,Result) {
/***************************************************************************************************
***************************************************************************************************/
  if (TMenu) {
    var TempMenu = TMenu;
    var N;
    while (TempMenu) {
      if (TempMenu.MenuURL == GetCurrentURLName()) {
        Result.Last = N;
        return TempMenu;
      } else {
        var P;
        var TTempMenu = LocateElement(TempMenu.SubMenu,Result);
        if (TTempMenu) {
          if (!(Result.Parent)) Result.Parent = TempMenu;
          return TTempMenu;
        } else {
          if (TempMenu.MenuStr != "HL") N = TempMenu;
          TempMenu = TempMenu.MenuNext;
        };
      };
    };
  };
};//LocateElement

function WriteHeadLastNext(TMenu) {
/***************************************************************************************************
***************************************************************************************************/
  if (TMenu) {
    var Result = new Res();
    var TempMenu = LocateElement(TMenu,Result);
    if (TempMenu) {
      if ((Result.Parent)&&(Result.Parent.MenuURL)) {
        document.write("<A HREF='"+Result.Parent.MenuURL+"'>"+Result.Parent.MenuStr+"</A>");
        if ((Result.Last)||(TempMenu.MenuNext)) document.write("&nbsp&nbsp");
      };
      if (Result.Last) {
        document.write("<A HREF='"+Result.Last.MenuURL+"'>Last</A>");
        if (TempMenu.MenuNext) document.write("&nbsp&nbsp");
      };
      while ((TempMenu.MenuNext)&&(TempMenu.MenuNext.MenuStr=="HL")) TempMenu = TempMenu.MenuNext;
      if (TempMenu.MenuNext) document.write("<A HREF='"+TempMenu.MenuNext.MenuURL+"'>Next</A>");
    };
  };
};

function WritePageHeader() {
/***************************************************************************************************
***************************************************************************************************/
  if (!(window.MenuBase)) BuildMenus(window);
  if (window.MenuBase) WriteHeadLastNext(window.MenuBase);
};

function ReloadPage() {
/***************************************************************************************************
***************************************************************************************************/
  document.location = document.location;
};ReloadPage

function InitPage() {
/***************************************************************************************************
***************************************************************************************************/
  var Im1 = new Image();
  Im1.src = "headerproducts.jpg";
  var Im2 = new Image();
  Im2.src = "headertechnical.jpg";
  var Im3 = new Image();
  Im3.src = "headercompany.jpg";
  var Im4 = new Image();
  Im4.src = "headerdemos.jpg";
};InitPage
