Har man ikke pære, må man ævle...!!!
Nu startede jeg vist også med at slå fast, at du ikke tilhørte skuffens skarpeste knive, men at du vil udstille din tåbelighed ved at påstå, du blot blev inspireret - that beats me...!
Her kommer først den kode, du har skrevet udfra en inspireret åbenbaring og derefter Brattli\'s egen version. Læg iøvrigt mærke til kommentarerne....du har VIRKELIG ladet dig inspirere! BaWahhhhhhh...........
===================================================================
//Default browsercheck, added to all scripts!
function checkBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new checkBrowser()
//General variables
mainmenus=0; submenus=new Array()
/********************************************************************************
Object constructor and object functions
********************************************************************************/
function makePageCoords(){
this.x=0;this.x2=(bw.ns4 || bw.ns5)?innerWidth:document.body.offsetWidth-20;
this.y=0;this.y2=(bw.ns4 || bw.ns5)?innerHeight:document.body.offsetHeight-5;
this.x50=this.x2/2; this.y50=this.y2/2;
return this;
}
function makeMenu(obj,nest,type,num,subnum,subsubnum){
nest=(!nest) ? \'\':\'document.\'+nest+\'.\'
this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;
this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+\"document.layers.\" +obj):0;
this.height=bw.ns4?this.css.document.height:this.evnt.offsetHeight
this.width=bw.ns4?this.css.document.width:this.evnt.offsetWidth
this.moveIt=b_moveIt; this.bgChange=b_bgChange;
this.clipTo=b_clipTo;
if(type==0){
this.evnt.onmouseover=new Function(\"mmover(\"+num+\")\");
this.evnt.onmouseout=new Function(\"mmout(\"+num+\")\");
}else if(type==1){
this.clipIn=b_clipIn;
this.clipOut=b_clipOut;
this.clipy=0
if(bw.ns4 && menueventoff==\"mouse\"){
this.evnt.onmouseout=new Function(\"setTimeout(\'if(!nssubover) hidemain(-1);\',50)\")
this.evnt.onmouseover=new Function(\"nssubover=true\")
}
}else if(type==2){
this.evnt.onmouseover=new Function(\"submmover(\"+num+\",\"+subnum+\")\");
this.evnt.onmouseout=new Function(\"submmout(\"+num+\",\"+subnum+\")\");
}else if(type==3){
this.evnt.onmouseover=new Function(\"subsubmmover(\"+num+\",\"+subnum+\",\"+subsubnum+\")\");
this.evnt.onmouseout=new Function(\"subsubmmout(\"+num+\",\"+subnum+\",\"+subsubnum+\")\");
}
this.tim=100
this.obj = obj + \"Object\"; eval(this.obj + \"=this\")
}
function b_clipTo(t,r,b,l,h){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r
this.css.clip.bottom=b;this.css.clip.left=l
}else{this.css.clip=\"rect(\"+t+\",\"+r+\",\"+b+\",\"+l+\")\";
if(h){ if(bw.ie4 || bw.ie5){ this.css.height=b; this.css.width=r}}}}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function b_bgChange(color){if(bw.dom || bw.ie4) this.css.backgroundColor=color;
else if(bw.ns4) this.css.bgColor=color}
function b_clipIn(speed){
if(this.clipy>0){
this.clipy-=speed
if(this.clipy<0) this.clipy=0
this.clipTo(0,mainwidth,this.clipy,0,1)
this.tim=setTimeout(this.obj+\".clipIn(\"+speed+\")\",10)
}else{this.clipy=0; this.clipTo(0,mainwidth,this.clipy,0,1)}
}
function b_clipOut(speed){
if(this.clipy<this.clipheight){
this.clipy+=speed
this.clipTo(0,mainwidth,this.clipy,0,1)
this.tim=setTimeout(this.obj+\".clipOut(\"+speed+\")\",10)
}else{this.clipy=this.clipheight; this.clipTo(0,mainwidth,this.clipy,0,1)}
}
/********************************************************************************
Checking if the values are % or not.
********************************************************************************/
function checkp(num,lefttop){
if(num.toString().indexOf(\"%\")!=-1){
if(!lefttop){
if(menurows)num=(page.x2*parseFloat(num)/100)
else num=(page.y2*parseFloat(num)/100)
}else{
if(!lefttop) num=(page.x2*parseFloat(num)/100)
else num=(page.y2*parseFloat(num)/100)
}
}else num=parseInt(num)
return num
}
/********************************************************************************
Making menuobjects, placing them and clips them
********************************************************************************/
function menuInit(){
page=new makePageCoords()
mainwidth=checkp(mainwidth,0)
mainheight=checkp(mainheight,1)
subheight=checkp(subheight,1)
if(backgroundbar){ //Backgroundbar part
oBackgroundbar=new makeMenu(\'divBackgroundbar\',\'\',-1)
oBackgroundbar.moveIt(checkp(backgroundbarfromleft,0),checkp(backgroundbarfromtop,1))
if(menurows) oBackgroundbar.clipTo(0,checkp(backgroundbarsize),mainheight,0,1)
else oBackgroundbar.clipTo(0,mainwidth,checkp(backgroundbarsize),0,1)
oBackgroundbar.bgChange(backgroundbarcolor)
}
oMenu=new Array()
x=checkp(fromleft,0); y=checkp(fromtop,1);
for(i=0;i<mainmenus;i++){
oMenu[i]=new makeMenu(\'divMenuMain\'+i,\'\',0,i)
oMenu[i].clipTo(0,mainwidth,mainheight,0,1)
if(menuplacement!=0){
if(menurows) x=checkp(menuplacement[i])
else y=checkp(menuplacement[i])
}
oMenu[i].moveIt(x,y)
oMenu[i].bgChange(mainbgcoloroff)
if(!menurows) y+=mainheight+checkp(pxbetween)
else x+=mainwidth+checkp(pxbetween)
if(submenus[i]!=\'nosub\'){
oMenu[i].subs=new makeMenu(\'divMenuSub\'+i,\'\',1,i,-1)
if(!menurows) oMenu[i].subs.moveIt(mainwidth+oMenu[i].x,oMenu[i].y)
else oMenu[i].subs.moveIt(oMenu[i].x,oMenu[i].y+mainheight)
suby=0;
oMenu[i].sub=new Array()
for(j=0;j<submenus[i][\"main\"];j++){
oMenu[i].sub[j]=new makeMenu(\'divMenuSub\'+i+\'_\'+j,\'divMenuSub\'+i,2,i,j)
oMenu[i].sub[j].clipTo(0,mainwidth,subheight,0,1)
oMenu[i].sub[j].moveIt(0,suby)
oMenu[i].sub[j].bgChange(subbgcoloroff)
suby+=subheight
if(submenus[i][\"submenus\"][j]>0){
subsuby=0
oMenu[i].sub[j].subs=new makeMenu(\'divMenuSub\'+i+\'_\'+j+\'_sub\',\'\',1,i,j)
oMenu[i].sub[j].subs.moveIt(oMenu[i].subs.x+mainwidth/2,oMenu[i].sub[j].y+oMenu[i].subs.y+10)
oMenu[i].sub[j].sub=new Array()
for(a=0;a<submenus[i][\"submenus\"][j];a++){
oMenu[i].sub[j].sub[a]=new makeMenu(\'divMenuSub\'+i+\'_\'+j+\'_sub\'+a,\'divMenuSub\'+i+\'_\'+j+\'_sub\',3,i,j,a)
oMenu[i].sub[j].sub[a].clipTo(0,mainwidth,subheight,0,1)
oMenu[i].sub[j].sub[a].moveIt(0,subsuby)
oMenu[i].sub[j].sub[a].bgChange(subsubbgcoloroff)
subsuby+=subheight
}
oMenu[i].sub[j].subs.clipTo(0,mainwidth,0,0,1)
oMenu[i].sub[j].subs.clipheight=subsuby
}else oMenu[i].sub[j].subs=0
}
oMenu[i].subs.clipTo(0,mainwidth,0,0,1)
oMenu[i].subs.clipheight=suby
}else oMenu[i].subs=0
}
setTimeout(\"window.onresize=resized;\",500)
if(menueventoff==\"mouse\") document.onmouseover=docover;
}
function resized(){
page2=new makePageCoords()
if(page2.x2!=page.x2 || page.y2!=page2.y2) location.reload()
}
/*********************************************************************************************
Mouseevents
*********************************************************************************************/
function docover(){hidemain(-1);}; var nssubover;
function mmover(num){
oMenu[num].bgChange(mainbgcoloron)
if(menueventon==\"mouse\") {menumain(num,1);}
if(menueventoff==\"mouse\" || menueventon==\"mouse\"){if(bw.ie4 || bw.ie5) window.event.cancelBubble=true;}
}
function mmout(num){if(num>-1){ if(!stayoncolor || oMenu[num].subs==0 || menueventon==\"click\") oMenu[num].bgChange(mainbgcoloroff);} if(bw.ie4 || bw.ie5) window.event.cancelBubble=true;}
function submmover(num,subnum){
oMenu[num].sub[subnum].bgChange(subbgcoloron)
if(menueventon==\"mouse\") {menusub(num,subnum,1);}
if(menueventoff==\"mouse\" || menueventon==\"mouse\"){if(bw.ie4 || bw.ie5) window.event.cancelBubble=true;}
}
function submmout(num,subnum){if(subnum>-1){nssubover=false; if(!stayoncolor || oMenu[num].sub[subnum].subs==0 || menueventon==\"click\") oMenu[num].sub[subnum].bgChange(subbgcoloroff)}}
function subsubmmover(num,subnum,subsubnum){
oMenu[num].sub[subnum].sub[subsubnum].bgChange(subsubbgcoloron)
if(menueventoff==\"mouse\" || menueventon==\"mouse\"){if(bw.ie4 || bw.ie5) window.event.cancelBubble=true;}
}
function subsubmmout(num,subnum,subsubnum){if(subnum>-1){nssubover=false; oMenu[num].sub[subnum].sub[subsubnum].bgChange(subsubbgcoloroff)}}
/*********************************************************************************************
Showing submenus
*********************************************************************************************/
function menumain(num,mouse){
if(oMenu[num].subs!=0){
clearTimeout(oMenu[num].subs.tim)
if(oMenu[num].subs.clipy>=0 || mouse){
hidemain(num); oMenu[num].subs.clipOut(menuspeed)
}else if(oMenu[num].subs.clipy<=oMenu[num].subs.clipheight){
hidemain(num); oMenu[num].subs.clipIn(menuspeed)
}
}
}
/*********************************************************************************************
Showing subsubmenus
*********************************************************************************************/
function menusub(num,sub,mouse){
hidesubs(num,sub)
if(oMenu[num].sub[sub].subs!=0){
if(oMenu[num].sub[sub].subs.clipy==0 || mouse){
oMenu[num].sub[sub].subs.clipOut(menusubspeed)
}else if(oMenu[num].sub[sub].subs.clipy==oMenu[num].sub[sub].subs.clipy){
oMenu[num].sub[sub].subs.clipIn(menusubspeed)
}
}
}
/*********************************************************************************************
Hides the other sub menuitems if any are shown. Also calls the hidesubs to hide any showing
submenus.
*********************************************************************************************/
function hidemain(num){
for(i=0;i<oMenu.length;i++){
if(oMenu[i].subs!=0){
if(oMenu[i].subs.clipy<=oMenu[i].subs.clipheight){
hidesubs(i,100)
if(i!=num){
clearTimeout(oMenu[i].subs.tim)
if(stayoncolor) oMenu[i].bgChange(mainbgcoloroff)
if(menurows)oMenu[i].subs.clipIn(menuspeed)
else{oMenu[i].subs.clipy=0; oMenu[i].subs.clipTo(0,mainwidth,oMenu[i].subs.clipy,0,1)}
}
}
}
}
}
/*********************************************************************************************
Hides the other subsub menuitems if any are shown.
*********************************************************************************************/
function hidesubs(num,sub){
for(j=0;j<oMenu[num].sub.length;j++){
if(oMenu[num].sub[j].subs!=0 && j!=sub){
if(oMenu[num].sub[j].subs.clipy<=oMenu[num].sub[j].subs.clipy
|| oMenu[num].subs.clipy<oMenu[num].subs.clipheight){
clearTimeout(oMenu[num].sub[j].subs.tim)
if(stayoncolor) oMenu[num].sub[j].bgChange(subbgcoloroff)
oMenu[num].sub[j].subs.clipy=0
oMenu[num].sub[j].subs.clipTo(0,mainwidth,oMenu[num].sub[j].subs.clipy,0,1)
}
}
}
}
/*********************************************************************************************
These are the functions that writes the menus to the page.
*********************************************************************************************/
function makeMain(num,text,link){
str=\"\"
if(backgroundbar && num==0){str+=\'\\n<div id=\"divBackgroundbar\"></div>\\n\'}
str+=\'<div id=\"divMenuMain\'+num+\'\" class=\"clMenuMain\">\'
if(link){ str+=\'<a href=\"\'+link+\'\" class=\"clAMenuMain\">\'; submenus[num]=\'nosub\'
}else str+=\'<a href=\"#\" class=\"clAMenuMain\" onclick=\"menumain(\'+num+\')\">\'
str+=text+\'</a></div>\\n\'
mainmenus++;
document.write(str)
}
function makeSub(num,subnum,text,link,total){
str=\"\"
if(subnum==0) str=\'<div id=\"divMenuSub\'+num+\'\" class=\"clMenuSub\">\\n\'
str+=\'\\t<div id=\"divMenuSub\'+num+\'_\'+subnum+\'\" class=\"clMenuSub1\">\'
if(link) str+=\'<a href=\"\'+link+\'\" class=\"clAMenuSub\">\'; else str+=\'<a href=\"#\" class=\"clAMenuSub\" onclick=\"menusub(\'+num+\',\'+subnum+\')\">\'
str+=text+\'</a></div>\\n\'
if(subnum==total-1){
str+=\'</div>\\n\'; submenus[num]=new Array()
submenus[num][\"main\"]=total; submenus[num][\"submenus\"]=new Array()
}
document.write(str)
}
function makeSubSub(num,subnum,subsubnum,text,link,total){
str=\"\"
if(subsubnum==0) str=\'<div id=\"divMenuSub\'+num+\'_\'+subnum+\'_sub\" class=\"clMenuSub\">\\n\'
str+=\'\\t<div id=\"divMenuSub\'+num+\'_\'+subnum+\'_sub\'+subsubnum+\'\" class=\"clMenuSub1\">\'
if(link) str+=\'<a href=\"\'+link+\'\" class=\"clAMenuSubSub\">\'; else str+=\'<a href=\"#\" class=\"clAMenuSubSub\">\'
str+=text+\'</a></div>\\n\'
if(subsubnum==total-1){str+=\'</div>\\n\'; submenus[num][\"submenus\"][subnum]=total}
document.write(str)
}
/*********************************************************************************************
END Menu script
*********************************************************************************************/
===============================================================================
/*******************************************************************************
Copyright (c) 1999 Thomas Brattli (
www.bratta.com)
eXperience DHTML coolMenus - Get it at
www.bratta.comVersion 1.0
This script can be used freely as long as all copyright messages are
intact. Visit
www.bratta.com/dhtml for the latest version of the script.
This is the actual script page. You shouldn\'t really have to edit anything in
here.
*******************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
var bw=new checkBrowser()
//Ie var
var explorerev=\'\'
/********************************************************************************
Object constructor and object functions
********************************************************************************/
function makePageCoords(){
this.x=0;this.x2=(bw.ns4 || bw.ns5)?innerWidth:document.body.offsetWidth-20;
this.y=0;this.y2=(bw.ns4 || bw.ns5)?innerHeight:document.body.offsetHeight-5;
this.x50=this.x2/2; this.y50=this.y2/2;
return this;
}
function makeMenu(parent,obj,nest,type,num,subnum,subsubnum){
nest=(!nest) ? \'\':\'document.\'+nest+\'.\'
this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;
this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+\"document.layers.\" +obj):0;
this.height=bw.ns4?this.css.document.height:this.evnt.offsetHeight
this.width=bw.ns4?this.css.document.width:this.evnt.offsetWidth
this.moveIt=b_moveIt; this.bgChange=b_bgChange;
this.clipTo=b_clipTo;
this.parent=parent;
this.active=0;
this.nssubover=0
if(type==0){
this.evnt.onmouseover=new Function(\"mmover(\"+num+\",\"+this.parent.name+\")\");
this.evnt.onmouseout=new Function(\"mmout(\"+num+\",\"+this.parent.name+\")\");
}else if(type==1){
this.clipIn=b_clipIn;
this.clipOut=b_clipOut;
this.clipy=0
if((bw.ns5 || bw.ns4) && this.parent.menueventoff==\"mouse\"){ //Change for Netscape 6 ------------------------------------------------------------
this.evnt.onmouseout=new Function(\"setTimeout(\'if(!\"+this.parent.name+\"[\"+num+\"].nssubover)\"+this.parent.name+\".hideactive(\"+num+\");\',100)\")
this.evnt.onmouseover=new Function(this.parent.name+\"[\"+num+\"].nssubover=true\")
}
}else if(type==2){
this.evnt.onmouseover=new Function(\"submmover(\"+num+\",\"+subnum+\",\"+this.parent.name+\")\");
this.evnt.onmouseout=new Function(\"submmout(\"+num+\",\"+subnum+\",\"+this.parent.name+\")\");
}else if(type==3){
this.evnt.onmouseover=new Function(\"subsubmmover(\"+num+\",\"+subnum+\",\"+subsubnum+\",\"+this.parent.name+\")\");
this.evnt.onmouseout=new Function(\"subsubmmout(\"+num+\",\"+subnum+\",\"+subsubnum+\",\"+this.parent.name+\")\");
}
this.tim=100
this.obj = obj + \"Object\"; eval(this.obj + \"=this\")
return this
}
function b_clipTo(t,r,b,l,h){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r
this.css.clip.bottom=b;this.css.clip.left=l; this.clipx=r;
}else{this.css.clip=\"rect(\"+t+\",\"+r+\",\"+b+\",\"+l+\")\"; this.clipx=r;;
if(h){ if(!bw.ns4){ this.css.height=b; this.css.width=r}}}} //CHANGE DONE FOR NETSCAPE 6 --------------------------------------------------------------------------------------------------------------------
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function b_bgChange(color){if(bw.dom || bw.ie4) this.css.backgroundColor=color;
else if(bw.ns4) this.css.bgColor=color}
function b_clipIn(speed){
if(this.clipy>-speed){ //CHANGE DONE FOR NETSCAPE 6 ---------------------------------------------------------------------------
this.clipy-=speed
if(this.clipy<0) this.clipy=0
this.clipTo(0,this.clipx,this.clipy,0,1)
this.tim=setTimeout(this.obj+\".clipIn(\"+speed+\")\",10)
}else{this.clipy=0; this.clipTo(0,this.clipx,this.clipy,0,1)}
}
function b_clipOut(speed){
if(this.clipy<this.clipheight+10){ //CHANGE DONE FOR NETSCAPE 6 ---------------------------------------------------------------------------
this.clipy+=speed
this.clipTo(0,this.clipx,this.clipy,0,1)
this.tim=setTimeout(this.obj+\".clipOut(\"+speed+\")\",10)
}else{this.clipy=this.clipheight+10; this.clipTo(0,this.clipx,this.clipy,0,1)} //CHANGE DONE FOR NETSCAPE 6 ---------------------------------------------------------------------------
}
//Page variable, holds the width and height of the document. (see documentsize tutorial on bratta.com/dhtml)
var page=new makePageCoords()
/********************************************************************************
Checking if the values are % or not.
********************************************************************************/
function checkp(num,lefttop){
if(num){
if(num.toString().indexOf(\"%\")!=-1){
if(this.menurows)num=(page.x2*parseFloat(num)/100)
else num=(page.y2*parseFloat(num)/100)
}else num=parseFloat(num)
}else num=0
return num
}
/********************************************************************************
Menu object, constructing menu ++
********************************************************************************/
function menuObj(name){
this.makeStyle=makeStyle;
this.makeMain=makeMain;
this.makeSub=makeSub;
this.makeSubSub=makeSubSub
this.mainmenus=0;
this.submenus=new Array()
this.construct=constructMenu;
this.checkp=checkp;
this.name=name;
this.menumain=menumain;
this.hidemain=hidemain;
this.hideactive=hideactive;
this.menusub=menusub;
this.hidesubs=hidesubs;
}
function constructMenu(){
bw=new checkBrowser()
page=new makePageCoords()
//Checking numbers for %
this.mainwidth=checkp(this.mainwidth,0)
this.mainheight=checkp(this.mainheight,1)
this.subplacement=checkp(this.subplacement,1)
this.subwidth=checkp(this.subwidth,0)
this.subheight=checkp(this.subheight,1)
this.subsubwidth=checkp(this.subsubwidth,0)
this.subsubheight=checkp(this.subsubheight,1)
this.subsubXplacement=checkp(this.subsubXplacement,1)
this.subsubYplacement=checkp(this.subsubYplacement,1)
if(this.backgroundbar){ //Backgroundbar part
this.oBackgroundbar=new makeMenu(this,\'div\'+this.name+\'Backgroundbar\',\'\',-1)
this.oBackgroundbar.moveIt(this.checkp(this.backgroundbarfromleft,0),this.checkp(this.backgroundbarfromtop,1))
if(this.menurows) this.oBackgroundbar.clipTo(0,this.checkp(this.backgroundbarsize),this.mainheight,0,1)
else this.oBackgroundbar.clipTo(0,this.mainwidth,this.checkp(this.backgroundbarsize),0,1)
this.oBackgroundbar.bgChange(this.backgroundbarcolor)
}
this.x=this.checkp(this.fromleft,0); this.y=this.checkp(this.fromtop,1);
for(i=0;i<this.mainmenus;i++){
this[i]=new makeMenu(this,\'div\'+this.name+\'Main\'+i,\'\',0,i)
this[i].clipTo(0,this.mainwidth,this.mainheight,0,1)
if(this.menuplacement!=0){
if(this.menurows) this.x=this.checkp(this.menuplacement[i])
else this.y=this.checkp(this.menuplacement[i])
}
this[i].moveIt(this.x,this.y)
this[i].bgChange(this.mainbgcoloroff)
if(!this.menurows) this.y+=this.mainheight+this.checkp(this.pxbetween)
else this.x+=this.mainwidth+this.checkp(this.pxbetween)
if(this.submenus[i]!=\'nosub\'){
this[i].subs=new makeMenu(this,\'div\'+this.name+\'Sub\'+i,\'\',1,i,-1)
if(!this.menurows) this[i].subs.moveIt(this.subplacement+this[i].x,this[i].y)
else this[i].subs.moveIt(this[i].x,this[i].y+this.subplacement)
this.suby=0;
this[i].sub=new Array()
for(j=0;j<this.submenus[i][\"main\"];j++){
this[i].sub[j]=new makeMenu(this,\'div\'+this.name+\'Sub\'+i+\'_\'+j,\'div\'+this.name+\'Sub\'+i,2,i,j)
this[i].sub[j].clipTo(0,this.subwidth,this.subheight,0,1)
this[i].sub[j].moveIt(0,this.suby)
this[i].sub[j].bgChange(this.subbgcoloroff)
this.suby+=this.subheight
if(this.submenus[i][\"submenus\"][j]>0){
this.subsuby=0
this[i].sub[j].subs=new makeMenu(this,\'div\'+this.name+\'Sub\'+i+\'_\'+j+\'_sub\',\'\',1,i,j)
this[i].sub[j].subs.moveIt(this[i].subs.x+this.subsubXplacement,this[i].subs.y+this[i].sub[j].y+this.subsubYplacement)
this[i].sub[j].sub=new Array()
for(a=0;a<this.submenus[i][\"submenus\"][j];a++){
this[i].sub[j].sub[a]=new makeMenu(this,\'div\'+this.name+\'Sub\'+i+\'_\'+j+\'_sub\'+a,\'div\'+this.name+\'Sub\'+i+\'_\'+j+\'_sub\',3,i,j,a)
this[i].sub[j].sub[a].clipTo(0,this.subsubwidth,this.subsubheight,0,1)
this[i].sub[j].sub[a].moveIt(0,this.subsuby)
this[i].sub[j].sub[a].bgChange(this.subsubbgcoloroff)
this.subsuby+=this.subsubheight
}
this[i].sub[j].subs.clipTo(0,this.subsubwidth,0,0,1)
this[i].sub[j].subs.clipheight=this.subsuby
}else this[i].sub[j].subs=0
}
this[i].subs.clipTo(0,this.subwidth,0,0,1)
this[i].subs.clipheight=this.suby
}else this[i].subs=0
}
setTimeout(\"window.onresize=resized;\",500)
if(this.menueventoff==\"mouse\"){
if(!bw.ns5 && !bw.ns4){explorerev+=this.name+\".hidemain(-1);\" //CHANGE NETSCAPE 6 -------------------------------
document.onmouseover=new Function(explorerev)}//CHANGE NETSCAPE 6 --------------------------------------------------------------
}
}
function resized(){
page2=new makePageCoords()
if(page2.x2!=page.x2 || page.y2!=page2.y2) location.reload()
}
/*********************************************************************************************
Mouseevents (name==this (as in made object, not the event \"this\"))
*********************************************************************************************/
function cancelEv(){
if(bw.ie4 || bw.ie5) window.event.cancelBubble=true
}
function mmover(num,name){
name[num].bgChange(name.mainbgcoloron)
if(name.menueventon==\"mouse\") name.menumain(num,1)
name[num].nssubover=true
cancelEv()
}
function mmout(num,name){
if(!isNaN(num)){
if(name[num].subs==0 || !name.stayoncolor || !name[num].active)
name[num].bgChange(name.mainbgcoloroff);
name[num].nssubover=false
if(name.menueventoff==\"mouse\") if(bw.ns4) setTimeout(\"if(!\"+name.name+\"[\"+num+\"].nssubover) \"+name.name+\".hideactive(\"+num+\")\",100)
}
cancelEv()
}
function submmover(num,subnum,name){
name[num].sub[subnum].bgChange(name.subbgcoloron)
if(name.menueventon==\"mouse\") {name.menusub(num,subnum,1)}
name[num].nssubover=true
cancelEv()
}
function submmout(num,subnum,name){
if(!isNaN(subnum)){
name[num].nssubover=false;
if(!name.stayoncolor || !name[num].sub[subnum].active || name[num].sub[subnum].subs==0)
name[num].sub[subnum].bgChange(name.subbgcoloroff)
}
cancelEv()
}
function subsubmmover(num,subnum,subsubnum,name){
if(!isNaN(subnum)){
name[num].sub[subnum].sub[subsubnum].bgChange(name.subsubbgcoloron);
name[num].nssubover=true
}
cancelEv()
}
function subsubmmout(num,subnum,subsubnum,name){
if(!isNaN(subnum)){
name[num].nssubover=false;
name[num].sub[subnum].sub[subsubnum].bgChange(name.subsubbgcoloroff)
}
cancelEv()
}
/*********************************************************************************************
Showing submenus
*********************************************************************************************/
function menumain(num,mouse){
if(this[num].subs!=0){
clearTimeout(this[num].subs.tim)
if(this[num].subs.clipy==0 || mouse){
this.hidemain(num); this[num].subs.clipOut(this.menuspeed); this[num].active=1
}else{
this.hidemain(-1); this[num].active=0
}
}
}
/*********************************************************************************************
Showing subsubmenus
*********************************************************************************************/
function menusub(num,sub,mouse){
this.hidesubs(num,sub)
if(this[num].sub[sub].subs!=0){
if(this[num].sub[sub].subs.clipy==0 || mouse){
this[num].sub[sub].active=1
this[num].sub[sub].subs.clipOut(this.menusubspeed)
}else{
this[num].sub[sub].active=0
this[num].sub[sub].subs.clipIn(this.menusubspeed)
}
}
}
/*********************************************************************************************
Hides the other sub menuitems if any are shown. Also calls the hidesubs to hide any showing
submenus.
*********************************************************************************************/
function hidemain(num){
for(i=0;i<this.mainmenus;i++){
if(this[i].subs!=0){
if(this[i].subs.clipy<=this[i].subs.clipheight+10){
this.hidesubs(i,100)
if(i!=num){
clearTimeout(this[i].subs.tim)
this[i].active=0
this[i].bgChange(this.mainbgcoloroff)
if(this.menurows)this[i].subs.clipIn(this.menuspeed)
else{this[i].subs.clipy=0; this[i].subs.clipTo(0,this[i].subs.clipx,this[i].subs.clipy,0,1)}
}
}
}else this[i].bgChange(this.mainbgcoloroff)
}
}
/*********************************************************************************************
Hides the active submenuitems
*********************************************************************************************/
function hideactive(num){
if(this[num].subs!=0){
this.hidesubs(num,100)
clearTimeout(this[num].subs.tim)
this[num].active=0
this[num].bgChange(this.mainbgcoloroff)
if(this.menurows)this[num].subs.clipIn(this.menuspeed)
else{this[num].subs.clipy=0; this[num].subs.clipTo(0,this[num].subs.clipx,this[num].subs.clipy,0,1)}
}
}
/*********************************************************************************************
Hides the other subsub menuitems if any are shown.
*********************************************************************************************/
function hidesubs(num,sub){
for(j=0;j<this[num].sub.length;j++){
if(this[num].sub[j].subs!=0 && j!=sub){
if(this[num].sub[j].subs.clipy<=this[num].sub[j].subs.clipy
|| this[num].subs.clipy<this[num].subs.clipheight){
clearTimeout(this[num].sub[j].subs.tim)
this[num].sub[j].active=0
this[num].sub[j].bgChange(this.subbgcoloroff)
this[num].sub[j].subs.clipy=0
this[num].sub[j].subs.clipTo(0,this[num].sub[j].subs.clipx,this[num].sub[j].subs.clipy,0,1)
}
}
}
}
/*********************************************************************************************
These are the functions that writes the style and menus to the page.
*********************************************************************************************/
function makeStyle(){
str=\'\\n<style type=\"text/css\">\\n\'
//CHANGE DONE FOR NETSCAPE 6 (removed the copyright line)--------------------------------------------------------------------------------------------------------------------
str+=\'\\tDIV.cl\'+this.name+\'Main{position:absolute; z-index:51; clip:rect(0,0,0,0); overflow:hidden; width:\'+(this.mainwidth-10)+\'; \'+this.clMain+\'}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Sub{position:absolute; z-index:52; clip:rect(0,0,0,0); overflow:hidden; width:\'+(this.subwidth-10)+\'; \'+this.clSub+\'}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'SubSub{position:absolute; z-index:54; clip:rect(0,0,0,0); width:\'+(this.subsubwidth-10)+\'; \'+this.clSubSub+\'}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Subs{position:absolute; z-index:53; clip:rect(0,0,0,0); overflow:hidden}\\n\'
str+=\'\\t#div\'+this.name+\'Backgroundbar{position:absolute; z-index:50; clip:rect(0,0,0,0); overflow:hidden}\\n\'
str+=\'\\tA.clA\'+this.name+\'Main{\'+this.clAMain+\'}\\n\'
str+=\'\\tA.clA\'+this.name+\'Sub{\'+this.clASub+\'}\\n\'
str+=\'\\tA.clA\'+this.name+\'SubSub{\'+this.clASubSub+\'}\\n\'
str+=\'</style>\\n\\n\'
document.write(str)
}
function makeMain(num,text,link,target){
str=\"\"
if(this.backgroundbar && num==0){str+=\'\\n<div id=\"div\'+this.name+\'Backgroundbar\"></div>\\n\'}
str+=\'<div id=\"div\'+this.name+\'Main\'+num+\'\" class=\"cl\'+this.name+\'Main\">\'
if(link){ str+=\'<a href=\"\'+link+\'\"\'; this.submenus[num]=\'nosub\'
}else str+=\'<a href=\"#\" onclick=\"\'+this.name+\'.menumain(\'+num+\'); return false\"\'
if(target) str+=\' target=\"\'+target+\'\" \'
str+=\' class=\"clA\'+this.name+\'Main\">\'+text+\'</a></div>\\n\'
this.mainmenus++;
document.write(str)
}
function makeSub(num,subnum,text,link,total,target){
str=\"\"
if(subnum==0) str=\'<div id=\"div\'+this.name+\'Sub\'+num+\'\" class=\"cl\'+this.name+\'Subs\">\\n\'
str+=\'\\t<div id=\"div\'+this.name+\'Sub\'+num+\'_\'+subnum+\'\" class=\"cl\'+this.name+\'Sub\">\'
if(link) str+=\'<a href=\"\'+link+\'\"\'; else str+=\'<a href=\"#\" onclick=\"\'+this.name+\'.menusub(\'+num+\',\'+subnum+\'); return false\"\'
if(target) str+=\' target=\"\'+target+\'\" \'
str+=\' class=\"clA\'+this.name+\'Sub\">\'+text+\'</a></div>\\n\'
if(subnum==total-1){
str+=\'</div>\\n\'; this.submenus[num]=new Array()
this.submenus[num][\"main\"]=total; this.submenus[num][\"submenus\"]=new Array()
}
document.write(str)
}
function makeSubSub(num,subnum,subsubnum,text,link,total,target){
str=\"\"
if(subsubnum==0) str=\'<div id=\"div\'+this.name+\'Sub\'+num+\'_\'+subnum+\'_sub\" class=\"cl\'+this.name+\'Subs\">\\n\'
str+=\'\\t<div id=\"div\'+this.name+\'Sub\'+num+\'_\'+subnum+\'_sub\'+subsubnum+\'\" class=\"cl\'+this.name+\'SubSub\">\'
if(link) str+=\'<a href=\"\'+link+\'\"\'; else str+=\'<a href=\"#\"\'
if(target) str+=\' target=\"\'+target+\'\" \'
str+=\' class=\"clA\'+this.name+\'SubSub\">\'+text+\'</a></div>\\n\'
if(subsubnum==total-1){str+=\'</div>\\n\'; this.submenus[num][\"submenus\"][subnum]=total}
document.write(str)
}
/*********************************************************************************************
END Menu script
*********************************************************************************************/