//value
//------------------------------------------------------------------------------
var OBJSHOWMENU=new shpmenushowclass1("img/icon/",datctmenus,0);
//var OBJSHOWMENU=new shpmenushowclass2("img/icon/",datctmenus);

function tosearchcatalog(catidx,description){
    if (parent!=undefined&&parent!=null&&parent.gotosearchcatalog!=undefined)
        parent.gotosearchcatalog(catidx,description);
    else if (this.gotosearchcatalog!=undefined)
        this.gotosearchcatalog(catidx,description);
}

//class1
//------------------------------------------------------------------------------
function shpmenushowclass1(iconpath,menus,type,picwidth,popwidth){
    this.iconpath=iconpath;
    this.objshpmenu=new shpmenuclass(menus);

    this.showtype=type;//o->itempic w. line,1->itempic o/w. line
    this.picwidth=32;
    this.popwidth=16;
    if (this.showtype){
        this.picwidth=29;
        this.popwidth=11;
    }

    this.showshpmenu=function(topmenuame,divid){
        if (document.getElementById(divid)==null)
            return;

        var code='<div align="center"><center>';
        code+='<table cellSpacing="0" cellPadding="4" width="100%" border="0"><tr><td>';
        code+='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
        code+='<tr bgColor="#ffeeb5" align="left"><td>Alle Kategorien</td></tr>';
        code+='<tr><td><div id="divmenu_top"></div></td></tr>';
        code+='</table>'
        code+='</td></tr></table>';
        code+='</center></div>';
        this.setitemcode(divid,code);

        this.setshpmenupics(topmenuame);
        this.showmenu(topmenuame,"divmenu_top");
    }

    this.showmenu=function(menuname,divid){
        var menu=this.objshpmenu.getmenu(menuname);
        var code='<div align="center"><center>';
        code+='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
        for(var i=0;i<menu.items.length;i++){
            code+='<tr>';
            code+=this.makemenuitemshowcode(menu,i,menuname);
            code+='</tr>';
        }
        code+='</table>'
        code+='</center></div>';
        this.setitemcode(divid,code);

        for(var i=0;i<menu.items.length;i++){
            var menuitem=menu.items[i];
            if (menuitem.menu!=""&&menuitem.onff=="on")
                this.showmenu(menuitem.menu,this.makedividpopmenu(menu.name,i));
        }
    }

    this.makemenuitemshowcode=function(menu,itemidx,divid){
        var menuitem=menu.items[itemidx];
        var pic=menuitem.getpic();
        var dividpic=this.makedividpic(divid,itemidx);
        var dividpopmenu=this.makedividpopmenu(divid,itemidx);

        var ppics="";
        for(var i=0;i<menu.ppics.length;i++){
            ppics+='<td align="right" width="'+this.popwidth+'"><img src="'+menu.ppics[i]+'"></td>';
        }
        var ahrefpic='<div id="'+dividpic+'"><img src="'+pic+'" align="absmiddle" border="0"></div>';
        if (menuitem.menu!="")
            ahrefpic='<a href="javascript:OBJSHOWMENU.menuitemplusclick('+itemidx+',\''+menu.name+'\',\''+dividpic+'\',\''+dividpopmenu+'\',false)">'+ahrefpic+'</a>';

        var ahreftext='<a href="javascript:OBJSHOWMENU.menuitemplusclick('+itemidx+',\''+menu.name+'\',\''+dividpic+'\',\''+dividpopmenu+'\',true)">'+menuitem.text+'</a>';
        if(menuitem.href=="-1"){
            ahreftext=menuitem.text;
            if(ahreftext=="-")
                ahreftext=="<hr>";
        }

        var code='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
        code+='<tr>'+ppics;
        code+='<td noWrap align="right" width="'+this.picwidth+'">'+ahrefpic+'</td>';
        code+='<td noWrap align="right" width="3"></td>';
        code+='<td noWrap align="left">'+ahreftext+'</td>';
        code+='</tr>';
        code+='</table>';
        if (menuitem.menu!=""){
            code+='<div id="'+dividpopmenu+'" style="display:none"></div>';
        }

        return code;
    }

    this.menuitemplusclick=function(itemidx,menuname,dividpic,dividpopmenu,isonhref){
        var menu=this.objshpmenu.getmenu(menuname);
        var menuitem=menu.items[itemidx];
        if (isonhref==true||menuitem.onff!="on")
            menuitem.onff="on";
        else
            menuitem.onff="off";

        //show-pic
        var pic=menuitem.getpic();
        var codepic='<img src="'+pic+'" align="absmiddle" border="0">';
        this.setitemcode(dividpic,codepic);

        //show-popmenu
        if(menuitem.menu!=""){
            if(menuitem.onff=="on")
                this.showmenu(menuitem.menu,dividpopmenu);
            else
                this.setitemcode(dividpopmenu,"");
        }

        //href
        if(isonhref==true&&menuitem.href!="-1"){
            tosearchcatalog(menuitem.href,menuitem.text);
        }
    }

    this.setshpmenupics=function(topmenuname){
        var menu=this.objshpmenu.getmenu(topmenuname);
        menu.ppics.length=0;
        this.setmenupics(menu);
    }

    this.setmenupics=function(menu){
        for(var i=0;i<menu.items.length;i++){
            var menuitem=menu.items[i];
            var isend=(i==menu.items.length-1);
            this.setmenuitempics(menuitem,isend);
            if(menuitem.menu!=""){
                var popmenu=this.objshpmenu.getmenu(menuitem.menu);
                popmenu.ppics=menu.ppics.slice(0);
                if(this.showtype)
                    popmenu.ppics[popmenu.ppics.length]=this.iconpath+"leer11.gif";
                else if(isend)
                    popmenu.ppics[popmenu.ppics.length]=this.iconpath+"leer16.gif";
                else
                    popmenu.ppics[popmenu.ppics.length]=this.iconpath+"llm.gif";

                this.setmenupics(popmenu);
            }
        }
    }

    this.setmenuitempics=function(menuitem,isend) {
        if (menuitem.menu!="") {
            if (this.showtype){
                menuitem.ppic=this.iconpath+"crdfile1plus.gif";
                menuitem.mpic=this.iconpath+"crdfile3minus.gif";
            }
            else if(isend){
                menuitem.ppic=this.iconpath+"pob.gif";
                menuitem.mpic=this.iconpath+"mob.gif";
            }
            else {
                menuitem.ppic=this.iconpath+"pom.gif";
                menuitem.mpic=this.iconpath+"mom.gif";
            }
        }
        else {
            if (this.showtype){
                menuitem.ppic=this.iconpath+"crdfile1.gif";
                menuitem.mpic=this.iconpath+"crdfile1.gif";
            }
            else if(isend){
                menuitem.ppic=this.iconpath+"mtb.gif";
                menuitem.mpic=this.iconpath+"mtb.gif";
            }
            else {
                menuitem.ppic=this.iconpath+"mtm.gif";
                menuitem.mpic=this.iconpath+"mtm.gif";
            }
        }
    }

    this.makedividpic=function(parentdivid,itemidx){
        return parentdivid+"pic"+itemidx;
    }

    this.makedividpopmenu=function(parentdivid,itemidx){
        return parentdivid+"pop"+itemidx;
    }

    this.setitemcode=function(divid,code){
        var divitem=document.getElementById(divid);
        if (divitem!=null){
          divitem.innerHTML=code;
          divitem.style.display=(code==null||code=="")?"none":"block";
      	}
    }

    //init
    this.setmenupics(this.objshpmenu.getmenu("ctmenu_top"));
}












//class2
//------------------------------------------------------------------------------
function shpmenushowclass2(iconpath, menus){
    this.iconpath=iconpath;
    this.objshpmenu=new shpmenuclass(menus);

    this.showshpmenu=function(topmenuame,divid){
        if (document.getElementById(divid)==null)
            return;

        var code='<div align="center"><center>';
        code+='<table cellSpacing="0" cellPadding="4" width="100%" border="0"><tr><td>';
        code+='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
        code+='<tr bgColor="#ffeeb5" align="left"><td>Alle Kategorien</td></tr>';
        code+='<tr><td><div id="divmenu_top"></div></td></tr>';
        code+='</table>'
        code+='</td></tr></table>';
        code+='</center></div>';
        this.setitemcode(divid,code);

        this.showmenu(topmenuame,"divmenu_top");
    }

    this.showmenu=function(menuname,divid){
        var menu=this.objshpmenu.getmenu(menuname);
        var code='<div align="center"><center>';
        code+='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
        for(var i=0;i<menu.items.length;i++){
            code+='<tr>';
            code+=this.makemenuitemshowcode(menu,i,menuname);
            code+='</tr>';
        }
        code+='</table>'
        code+='</center></div>';
        this.setitemcode(divid,code);

        for(var i=0;i<menu.items.length;i++){
            var menuitem=menu.items[i];
            if (menuitem.menu!=""&&menuitem.onff=="on"){
                var dividpopmenu=this.makedividpopmenu(menu.name,i);
                this.showpopmenu(menuitem.menu,dividpopmenu);
            }
        }
    }

    this.showpopmenu=function(popmenuname,divid){
        var dividpopmenu=divid+"_";
        var codepop='<table cellSpacing="0" cellPadding="0" width="100%" border="0"><tr><td width="11"></td><td><div id="'+dividpopmenu+'"></div></td></tr></table>';
        this.setitemcode(divid,codepop);
        this.showmenu(popmenuname,dividpopmenu);
    }

    this.makemenuitemshowcode=function(menu,itemidx,divid){
        var menuitem=menu.items[itemidx];
        var pic=this.getmenuitempic(menuitem);
        var dividpic=this.makedividpic(divid,itemidx);
        var dividpopmenu=this.makedividpopmenu(divid,itemidx);

        var ahrefpic='<div id="'+dividpic+'"><img src="'+pic+'" align="absmiddle" border="0"></div>';
        if (menuitem.menu!="")
            ahrefpic='<a href="javascript:OBJSHOWMENU.menuitemplusclick('+itemidx+',\''+menu.name+'\',\''+dividpic+'\',\''+dividpopmenu+'\',false)">'+ahrefpic+'</a>';

        var ahreftext='<a href="javascript:OBJSHOWMENU.menuitemplusclick('+itemidx+',\''+menu.name+'\',\''+dividpic+'\',\''+dividpopmenu+'\',true)">'+menuitem.text+'</a>';
        if(menuitem.href=="-1"){
            ahreftext=menuitem.text;
            if(ahreftext=="-")
                ahreftext=="<hr>";
        }

        var code='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
        code+='<tr>';
        code+='<td align="right" width="29">'+ahrefpic+'</td>';
        code+='<td align="right" width="3"></td>';
        code+='<td align="left">'+ahreftext+'</td>';
        code+='</tr>';
        code+='</table>';
        if (menuitem.menu!=""){
            code+='<div id="'+dividpopmenu+'" display="none"></div>';
        }

        return code;
    }

    this.menuitemplusclick=function(itemidx,menuname,dividpic,dividpopmenu,isonhref){
        var menu=this.objshpmenu.getmenu(menuname);
        var menuitem=menu.items[itemidx];
        if (isonhref==true||menuitem.onff!="on")
            menuitem.onff="on";
        else
            menuitem.onff="off";

        //show-pic
        var pic=this.getmenuitempic(menuitem);
        var codepic='<img src="'+pic+'" align="absmiddle" border="0">';
        this.setitemcode(dividpic,codepic);

        //show-popmenu
        if(menuitem.menu!=""){
            if(menuitem.onff=="on")
                this.showpopmenu(menuitem.menu,dividpopmenu);
            else
                this.setitemcode(dividpopmenu,"");
        }

        //href
        if(isonhref==true&&menuitem.href!="-1"){
            tosearchcatalog(menuitem.href);
        }
    }

    this.getmenuitempic=function(menuitem) {
        var pic=this.iconpath+"crdfile1.gif";
        if (menuitem.menu!="") {
            pic=this.iconpath+"crdfile1plus.gif";
            if(menuitem.onff=="on")
                pic=this.iconpath+"crdfile3minus.gif";
            /*
            if(menuitem.href=="-1") {
                pic=this.iconpath+"crdfile2plus.gif";
                if(menuitem.onff=="on")
                    pic=this.iconpath+"crdfile2minus.gif";
            }
            else {
                pic=this.iconpath+"crdfile1plus.gif";
                if(menuitem.onff=="on")
                    pic=this.iconpath+"crdfile3minus.gif";
            }
            */
        }
        else {
            pic=this.iconpath+"crdfile1.gif";
            /*
            if(menuitem.href=="-1")
                pic=this.iconpath+"crdfile2.gif";
            else if(menuitem.onff=="on")
                pic=this.iconpath+"crdfile3.gif";
            else
                pic=this.iconpath+"crdfile1.gif";
            */
        }

        return pic;
    }

    this.makedividpic=function(parentdivid,itemidx){
        return parentdivid+"pic"+itemidx;
    }

    this.makedividpopmenu=function(parentdivid,itemidx){
        return parentdivid+"pop"+itemidx;
    }

    this.setitemcode=function(divid,code){
        var divitem=document.getElementById(divid);
        if (divitem!=null){
          divitem.innerHTML=code;
          divitem.style.display=(code==null||code=="")?"none":"block";
      	}
    }
}



