var OpenMenu;
var CurrrentHandle;
var MaxHeight;
MaxHeight = 22;

var OpenMenu = new Array();
var CurrrentHandle = new Array();

function GetId(id)
{
    for(var t = 0 ; t < CurrrentHandle.length ; t++)
    {
         if(parseInt(CurrrentHandle[t].Id) == id)
          return t;
    }
    return -1;
}

function ShowWindows(id,ChildCount)
{
    var el;
    el = document.getElementById("menu_" + id);
    if(el.Height == null)
    {
        el.Height = (ChildCount * (MaxHeight + 2))+ 'px';
        el.style.height = '0px';
        el.style.overflow = 'hidden';
    }
    el.style.display = '';
    var i;
    i = parseInt(el.style.height);
    i = i + 6;

    el.style.height = i+'px';
    if(i >= parseInt(el.Height))
    {
        el.style.display = '';

        el.style.height = el.Height;
        var idd = GetId(id);
        if(idd != -1)
        {
            el.style.overflow = 'visible';
            el.bkheight = el.style.height;
            el.style.height = "";
            clearInterval(CurrrentHandle[idd].Handle);
            CurrrentHandle.splice(idd,1);                      
        }
    }               
}

function HideWindows(id)
{
    var el = document.getElementById("menu_" + id);
    el.style.overflow = 'hidden';
    var i;
    if(el.style.height == "")
       i = parseInt(el.bkheight);
     else
       i = parseInt(el.style.height);

    i = i - 4;

    if(i <= 0)
    {        
        el.style.display = 'none';
        el.style.height = '0px';
        var idd = GetId(id);
        if(idd != -1)
        {
            clearInterval(CurrrentHandle[idd].Handle);
            CurrrentHandle.splice(idd,1);                      
        }
        return;
    }
    else
        el.style.height = i+'px';
}


function Work(id,handle)
{
    this.Id = id;
    this.Handle = handle;
}

function WorkingOn(id)
{
    for(var t = 0 ; t < CurrrentHandle.length ; t++)
    {
     if(CurrrentHandle[t].Id == id)
         return CurrrentHandle[t];
    }
    return null;
}

function VisibleManager(id,show,childcount)
{
    var t;
    t = WorkingOn(id);
    if(t != null)
    {           
        clearInterval(t.Handle);                                        
        if(show == true)
            t.Handle = window.setInterval("ShowWindows("+id+"," + childcount + ");",5);
        else 
            t.Handle = window.setInterval("HideWindows("+id+");",5);
    }
    else
    {
        if(show == true)
            CurrrentHandle.push(new Work(id,window.setInterval("ShowWindows("+id+"," + childcount + ");",5)));
        else
            CurrrentHandle.push(new Work(id,window.setInterval("HideWindows("+id+");",5)));
    }
    var e = document.getElementById('Menu_Img_'+id);
    if(e)
    {
      if(show)
        e.src = e.src.replace('MIc','MIco');
      else
        e.src = e.src.replace('MIco','MIc'); 
    }
}

function IsChilds(parent,id,cname)
{
    var c,e;
    if(cname == null)
           return false;

    e = cname.FindParent(parent);
     if(e == null)return false;
     if(e.Childs == null)return false;
     for(var i = 0 ; i < e.Childs.length ; i++)
     {
       c = e.Childs[i];
          if(c.Id == id)
                return true;
     }
     return false;
}

function ShowMenu(id,cname,childcount)
{
    var opennew = true;

     for(var i = OpenMenu.length - 1  ; i >= 0 ; i--)
     {
          if(OpenMenu[i] == id)
          {
            opennew = false;            
              for(var t = OpenMenu.length - 1 ; t >= i ; t--)
              {
                 VisibleManager(OpenMenu[t],false,childcount);
                 OpenMenu.splice(t,1);
              }
            break;               
          }
     }

     if(opennew == true)
     {
       var found = false;
       
       for(var i = OpenMenu.length - 1 ; i >= 0 ; i--)
       {
         if(IsChilds(OpenMenu[i],id,cname) == true)
         {
           found = true;
              for(var t = OpenMenu.length - 1 ; t > i ; t--)
              {
                 VisibleManager(OpenMenu[t],false,childcount);
                 OpenMenu.splice(t,1);
              }
           break;
         }
       }
       
       if(found == false)
       {
            for(var t = OpenMenu.length - 1 ; t >= 0 ; t--)
            {
               VisibleManager(OpenMenu[t],false,childcount);
               OpenMenu.splice(t,1);
            } 
       }
       
       VisibleManager(id,true,childcount);
       OpenMenu.push(id);
     }
}

function MoveTo(url)
{
    window.location = url;
}

function ObjMenu(id,pid,title,link)
{
    this.Id = id;
    this.ParentId = id;
    this.Title = title;
    this.Link = link;
    this.Childs = null;
}

function MenuManager(partentid)
{
    var classname = 'menum';
    this.ParentId = partentid;
    this.ClassName = classname;
    this.Parent = new Array();
    this.Childs = new Array();

    this.AddMenu = function(id,pid,title,link)
    {
        t = new ObjMenu(id,pid,title,link);
        if(pid == this.ParentId)
            this.Parent.push(t);        
        else
        {
            pa = this.FindParent(pid);
            if(pa != null)
            {
                if(pa.Childs == null)
                    pa.Childs = new Array();
                pa.Childs.push(t);
            }
        }
        this.Childs.push(t);
    }

    this.FindParent = function(pid)
    {
        for(i = 0 ; i < this.Childs.length ; i++)
        {
          if(this.Childs[i].Id == pid)
              return this.Childs[i];
        }
        return null;
    }

    this.Write = function()
    {
        var level;
        level = 1;                 
        for(var j = 0 ; j < this.Parent.length ; j++)
        { 
          if(this.Parent[j].Childs == null)
            this.WriteItem(this.Parent[j],level);
          else
          {
            document.write("<div onclick=\"ShowMenu("+this.Parent[j].Id+ ",null," + this.Parent[j].Childs.length + ");\">");
            this.WriteItem(this.Parent[j],level);
            document.write('</div>');
            
            document.write('<div class="MenuPlace1" id="menu_'+this.Parent[j].Id+'" style="display:none; height:0px">');
            this.SubWrite(this.Parent[j].Childs,level + 1);
            document.write('</div>');
          }
        }
    }

    this.SubWrite = function(list,level)
    {              
        for( var j = 0 ; j < list.length ; j++)
        { 
          if(list[j].Childs == null)
            this.WriteItem(list[j],level);
          else
          {
            document.write("<div onclick=\"ShowMenu("+list[j].Id+ "," +this.ClassName+"," + list[j].Childs.length + ");\">");
            this.WriteItem(list[j],level);
            document.write('</div>');

            document.write('<div class="MenuPlace'+level+'" id="menu_'+list[j].Id+'" style="display:none; height:0px">');
            this.SubWrite(list[j].Childs,level + 1);
            document.write('</div>');
          }
        }
    }

    this.WriteItem = function(obj,level)
    {    
         document.write('<div  class="Menu_'+level+'" onmouseover="this.className=\'Menu_'+level+'_Over\';" onmouseout="this.className=\'Menu_'+level+'\';" >');
         //document.write('<table cellspacing=0 cellpadding=0 style="width:100%; height:100%"><tr>'); 
         //document.write('<td style="width:8px; vertical-align:top; padding-top:3px">');
         document.write('<img id="Menu_Img_' + obj.Id + '" src="Files/Fa/NImages/MIc'+level+'.gif" style="float:right; vertical-align:middle" />');
         //document.write('</td><td style="vertical-align:top; padding-top:3px">');
         document.write('&nbsp;<A href="' + obj.Link + '">' + obj.Title + '</A>');
         //document.write('</td></tr></table>');
         document.write('</div>');
         document.write('<div style="BACKGROUND-IMAGE: url(Files/Fa/NImages/DottedH.gif); BACKGROUND-REPEAT: repeat-x; background-position:center center; HEIGHT: 3px; clear:both"><img src="Files/Fa/NImages/DottedH.gif" style="visibility:hidden" /></div>');
    }
}

var imgprel1 = new Image();
imgprel1.src="Files/Fa/NImages/MIco1.gif";
var imgprel2 = new Image();
imgprel2.src="Files/Fa/NImages/MIco2.gif";
var imgprel3 = new Image();
imgprel3.src="Files/Fa/NImages/MIco3.gif";
var imgprel4 = new Image();
imgprel4.src="Files/Fa/NImages/MIco4.gif";