function makemenuitem(){
  this.id=arguments[0];
  this.paramstr=arguments[1][0];
  this.text=arguments[1][1]; 
  this.children=new Array;
  this.cont=null;
  this.tbl=null;
  this.parentid=arguments[2];
  if (this.text.charAt(0)=='$') {
    this.text=this.text.substr(1,this.text.length-1);
    this.paramstr=this.text.substr(0,this.text.indexOf('$'))+';'+this.paramstr;
    this.text=this.text.substr(this.text.indexOf('$')+1);
   };
  this.reper=1;
  this.direction=2;
  this.dx=0;
  this.dy=0;
  this.selclass='';
  this.unselclass='';
  this.tableclass='';
  this.unselelclass='';
  this.selelclass='';
  this.onclick='';
  this.onmouseover='';
  this.onmouseout='';
  this.decodemod=decodemodf;
    this.onMouseOver=onMouseOverf;
    this.onMouseOut=onMouseOutf;
    this.createbody=createbodyf;
    this.makechildtable=makechildtablef;
  if (qpzNN) {
    this.NNhide=hidef; 
    this.NNshow=showf; 
  };
  this.decodemod(); 
  if (this.selelclass!='') this.selclass=this.selelclass;
  if (this.unselelclass!='') this.unselclass=this.unselelclass;
  if ((!qpzNN)&&(this.enableiecorrection)) {
   if (this.reper<3) this.dx+=1;
   if (this.reper>2) this.dx-=1;
   if ((this.reper==4)||(this.reper==1)) this.dy-=1;
   if ((this.reper==2)||(this.reper==3)) this.dy+=1;
  };
 var i=2;
 var dataarray=new Array();
 dataarray[dataarray.length]=this.paramstr;
while (i<=arguments[1].length) {
 if ((i==arguments[1].length) || ((dataarray.length>0)&&(arguments[1][i].substr(0,2)!='~~'))) {
   if (dataarray.length>1) {
         eval(this.id+'L'+i+' = new makemenuitem("'+this.id+'L'+i+'",dataarray,this);');
         this.children[this.children.length] = eval(this.id+'L'+i);
   };
   dataarray.length = 0;
   dataarray[dataarray.length]=this.paramstr;
 };
 if (i!=arguments[1].length) {
   dataarray[dataarray.length]=arguments[1][i].substr(1,arguments[1][i].length-1);
 };
 i++;
};
};
function makemenuhead()
{ this.id=arguments[0];         
  this.paramstr=arguments[1][0];
  this.text=arguments[1][1];    
  this.children=new Array;     
  this.cont=null;
  this.tbl=null;
  this.parentid=null;
  this.reper=1;
  this.direction=2;
  this.dx=0;
  this.dy=0;
  this.selclass='';
  this.unselclass='';
  this.tableclass='';
  this.unselelclass='';
  this.selelclass='';
  this.onclick='';
  this.onmouseover='';
  this.onmouseout='';
    this.createmaincontainer=createmaincontainerf;
    this.decodemod=decodemodf;
    
    this.onMouseOver=onMouseOverf;
    this.onMouseOut=onMouseOutf;
    this.makechildtable=makechildtablef;

  if (qpzNN) {
    this.NNhide=hidef;
    this.NNshow=showf; 
    this.hidelist=new Array;
    this.showlist=new Array;
  };

    this.decodemod();
 var i=2;
 var dataarray=new Array();
 dataarray[dataarray.length]=this.paramstr;
while (i<=arguments[1].length) {
 if ((i==arguments[1].length) || ((dataarray.length>0)&&(arguments[1][i].substr(0,2)!='~~'))) {
   if (dataarray.length>1) {
         eval(this.id+'L'+i+'=new makemenuitem("'+this.id+'L'+i+'",dataarray,this);');
         this.children[this.children.length] = eval(this.id+'L'+i);
    };
   dataarray.length=0;
   dataarray[dataarray.length]=this.paramstr;
 };
 if (i!=arguments[1].length) {
   dataarray[dataarray.length]=arguments[1][i].substr(1,arguments[1][i].length-1);
 };

 i++;
};

this.createmaincontainer();

};


function onMouseOverf() {
  if (qpzNN) this.NNshow() 
  else {
    this.cont.className=this.selclass; 
    if (this.tbl) this.tbl.style.display='block';
    eval(this.onmouseover);
  };
};


function onMouseOutf() {
 if (qpzNN) this.NNhide()
 else {
    if (this.tbl) this.tbl.style.display='none';
    this.cont.className=this.unselclass; 
    eval(this.onmouseout);
 };
};

function hidef() {
  if (this.hidelist) {
   if (this.hidelist.length<=0) eval(this.onmouseout);
   this.hidelist[this.hidelist.length]=this;
   for (var i=0;i<this.hidelist.length;i++) {
     this.hidelist[i].cont.className=this.hidelist[i].unselclass; 
     if (this.hidelist[i].tbl) this.hidelist[i].tbl.style.display = 'none';
   };
   this.hidelist=new Array();
  } else {
   var t=new Array();
   var p=this;
   while (!p.hidelist) {
     t[t.length]=p;
     p=eval(p.parentid);
   };
   if (p.hidelist.length<=0) {
       p.hidelist=t;  
       eval(this.onmouseout);
   };
  };
};

function showf(sender) {
  if (this.showlist) {
   if (this.showlist.length<=0) eval(this.onmouseover);
   this.showlist[this.showlist.length]=this;
   var t=this;
   for (var i=0;i<this.showlist.length;i++) {
     t=this.showlist[i];
     t.cont.className=t.selclass; 
     if (t.tbl) t.tbl.style.display='block';
     if (t.children.length>0)
       for (var j=0;j<t.children.length;j++)
         if ((i==0)||(this.showlist[i-1]!=t.children[j])) {
            t.children[j].cont.className=t.children[j].unselclass; 
            if (t.children[j].tbl) t.children[j].tbl.style.display='none';
         };

   };
   this.showlist=new Array();
  } else {
   var t=new Array();
   var p=this;
   while (!p.showlist) {
     t[t.length]=p;
     p=eval(p.parentid);
   };
   if (p.showlist.length<=0) {
    p.showlist=t;
    eval(this.onmouseover);
   };
  };
};

function decodemodf() {
 var s=';'+this.paramstr+';';
 s=s.replace(/\s*:/g,':');
  this.selclass='';
  this.unselclass='';
  var t=s.match(/(;selclass:)([^;]*)(;)/i); if (t) this.selclass=t[2]; 
  var t=s.match(/(;unselclass:)([^;]*)(;)/i); if (t) this.unselclass=t[2];
  var t=s.match(/(;tableclass:)([^;]*)(;)/i); if (t) this.tableclass=t[2]; 
  var t=s.match(/(;unselelclass:)([^;]*)(;)/i); if (t) this.unselelclass=t[2]; 
  var t=s.match(/(;selelclass:)([^;]*)(;)/i); if (t) this.selelclass=t[2]; 
  var t=s.match(/(;reper:)([^;]*)(;)/i); if (t) this.reper=t[2]; 
  var t=s.match(/(;direction:)([^;]*)(;)/i); if (t) this.direction=t[2];
  var t=s.match(/(;dx:)([^;]*)(;)/i); if (t) this.dx=t[2];
  var t=s.match(/(;dy:)([^;]*)(;)/i); if (t) this.dy=t[2];
  var t=s.match(/(;showlabel:)([^;]*)(;)/i); if (t) this.showlabel=t[2];
  var t=s.match(/(;onclick:)([^;]*)(;)/i); if (t) this.onclick=t[2];
  var t=s.match(/(;onmouseover:)([^;]*)(;)/i); if (t) this.onmouseover=t[2];
  var t=s.match(/(;onmouseout:)([^;]*)(;)/i); if (t) this.onmouseout=t[2];
  var t=s.match(/(;enableiecorrection:)([^;]*)(;)/i); if (t) this.enableiecorrection=t[2];
if (qpzNN) {
  var t= s.match(/(;NNselclass:)([^;]*)(;)/i); if (t) this.selclass=t[2];
  var t= s.match(/(;NNunselclass:)([^;]*)(;)/i); if (t) this.unselclass=t[2]; 
  var t= s.match(/(;NNtableclass:)([^;]*)(;)/i);  if (t) this.tableclass=t[2]; 
  var t= s.match(/(;NNunselelclass:)([^;]*)(;)/i); if (t) this.unselelclass=t[2]; 
  var t= s.match(/(;NNselelclass:)([^;]*)(;)/i); if (t) this.selelclass=t[2]; 
  var t= s.match(/(;NNreper:)([^;]*)(;)/i); if (t) this.reper=t[2]; 
  var t= s.match(/(;NNdirection:)([^;]*)(;)/i); if (t) this.direction=t[2];
  var t= s.match(/(;NNdx:)([^;]*)(;)/i); if (t) this.dx=t[2];
  var t= s.match(/(;NNdy:)([^;]*)(;)/i); if (t) this.dy=t[2];
  var t= s.match(/(;NNshowlabel:)([^;]*)(;)/i); if (t) this.showlabel=t[2];
  var t= s.match(/(;NNonclick:)([^;]*)(;)/i); if (t) this.onclick=t[2];
  var t= s.match(/(;NNonmouseover:)([^;]*)(;)/i); if (t) this.onmouseover=t[2];
  var t= s.match(/(;NNonmouseout:)([^;]*)(;)/i); if (t) this.onmouseout=t[2];
} else {
  var t=s.match(/(;IEselclass:)([^;]*)(;)/i); if (t) this.selclass=t[2];
  var t=s.match(/(;IEunselclass:)([^;]*)(;)/i); if (t) this.unselclass=t[2]; 
  var t=s.match(/(;IEtableclass:)([^;]*)(;)/i);  if (t) this.tableclass=t[2];
  var t=s.match(/(;IEunselelclass:)([^;]*)(;)/i); if (t) this.unselelclass=t[2]; 
  var t=s.match(/(;IEselelclass:)([^;]*)(;)/i); if (t) this.selelclass=t[2]; 
  var t=s.match(/(;IEreper:)([^;]*)(;)/i); if (t) this.reper=t[2]; 
  var t=s.match(/(;IEdirection:)([^;]*)(;)/i); if (t) this.direction=t[2];
  var t=s.match(/(;IEdx:)([^;]*)(;)/i); if (t) this.dx=t[2];
  var t=s.match(/(;IEdy:)([^;]*)(;)/i); if (t) this.dy=t[2];
  var t=s.match(/(;IEshowlabel:)([^;]*)(;)/i); if (t) this.showlabel=t[2];
  var t=s.match(/(;IEonclick:)([^;]*)(;)/i); if (t) this.onclick=t[2];
  var t=s.match(/(;IEonmouseover:)([^;]*)(;)/i); if (t) this.onmouseover=t[2];
  var t=s.match(/(;IEonmouseout:)([^;]*)(;)/i); if (t) this.onmouseout=t[2];
};
};
function makechildtablef() {
    if (qpzNN) document.write('<layer style=" ')
      else document.write('<DIV style="position:relative; ');
    document.write(' width:0px; height:0px;');
    if (this.showlabel) document.write('border-color:yellow; border-style: solid;'); 
    if (this.reper==1) document.write('float: right; top:0; right:0px;')
    else if (this.reper==2) document.write('float: right; bottom:0; right:0px;')
    else if (this.reper==3) document.write('float: left; bottom:0; left:0px;')
    else document.write('float: left; top:0; left:0px;');
   document.write('">');
    if (qpzNN) document.write('<layer ')
      else document.write('<TABLE');
    document.write(' id="'+this.id+'table" style=" position:absolute; display:none; ');
    if (qpzNN) {
      document.write('"><div style="position:relative;');
      if (this.direction==1) document.write(' left:0; top:-100%;')
      else if (this.direction==2) document.write(' left:0; top:0;')
      else if (this.direction==3) document.write(' left:-100%; top:0; ')
      else document.write(' left:-100%; top:-100;');
      if (this.dx!=0) document.write(' left:'+this.dx+';');
      if (this.dy!=0) document.write(' top:'+this.dy+';');
      document.write(' "><TABLE style="');
    } else {
      if (this.direction==1) document.write(' left:'+this.dx+'px; bottom:'+this.dy+'px;')
      else if (this.direction==2) document.write(' left:'+this.dx+'px; top:'+this.dy+'px;')
      else if (this.direction==3) document.write(' right:'+this.dx+'px; top:'+this.dy+'px;')
      else document.write(' right:'+this.dx+'px; bottom:'+this.dy+'px;');
    };

    document.write('" class="'+this.tableclass+'">');
      for (var i=0;i<this.children.length;i++)  this.children[i].createbody();
    document.write('</TABLE>');
    if (qpzNN) document.write('</div></layer></layer>')
      else document.write('</DIV>');
};


function createbodyf() {
   document.write('<TR><TD id="'+this.id+'td"  class="'+this.unselelclass+'"');
    document.write('onMouseOver="'+this.id+'.onMouseOver()" ');
    document.write('onMouseOut="'+this.id+'.onMouseOut()" ');
    if (this.onclick!='') document.write('onClick=\''+this.onclick+'\' ');
   document.write('>');
   if ((this.reper!=1)&&(this.reper!=4)) document.write('<div style="width:100%">'+this.text+'</div>');
   if (this.children.length>0) this.makechildtable();
   if ((this.reper==1)||(this.reper==4)) document.write('<div style="width:100%">'+this.text+'</div>');
   document.write('</TD></TR>'); 
   if (document.all) this.cont=eval(this.id+'td')
      else if (document.getElementById) this.cont=document.getElementById(this.id+'td')
        else this.cont=null; 
  if (this.children.length>0) {
     if (document.all) this.tbl=eval(this.id+'table')
      else if (document.getElementById) this.tbl=document.getElementById(this.id+'table')
        else this.tbl=null; 
  };

};

function createmaincontainerf() {
   document.write('<DIV id="'+this.id+'div" ');
   if (this.unselclass!='') document.write('class="'+this.unselclass+'" ');
   document.write('onMouseOver="'+this.id+'.onMouseOver()" ');
   document.write('onMouseOut="'+this.id+'.onMouseOut()" ');
   if (this.onclick!='') document.write('onClick=\''+this.onclick+'\' ');
   document.write('>');
   if ((this.reper!=1)&&(this.reper!=4))  document.write('<div style="width:100%">'+this.text+'</div>');
   if (this.children.length>0) this.makechildtable();
   if ((this.reper==1)||(this.reper==4))  document.write('<div style="width:100%">'+this.text+'</div>');
   document.write('</DIV>');
   if (document.all) {this.cont=eval(this.id+'div'); this.tbl=eval(this.id+'table');}
      else if (document.getElementById) {this.cont=document.getElementById(this.id+'div'); this.tbl=document.getElementById(this.id+'table');}
        else {this.cont=null; this.tbl=null;};
};

function qpzmenu(){
 qpzNN=((document.getElementById)&&(!document.all));
 if (arguments.length<2) return false;
 var i=1;
 while (eval('typeof(QPZmenuhead'+i+')')!='undefined') i++;
 eval('QPZmenuhead'+i+'= new makemenuhead("QPZmenuhead'+i+'",arguments)');
}; 

