//Dieser Code basiert auf:

//Pop-it menu- By Dynamic Drive
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use

//Wurde aber stark überarbeitet.
//Beispielsweise wurde der Einfügecode, die Positionierung überarbeitet und
//die Netscape4 Unterstützung entfernt(sah scheisse aus)

//var btpic = "http://www.activevb.de/images/buchtipp/dotnet_7.gif";

var lnk1 = "<tr><td valign=\"middle\" class=\"menu\" onclick=\"window.location='%lnk%'; hidemenu()\" onmouseover=\"className='hover'; status='%lnk%'\" onmouseout=\"className='menu'; status=''\">";
lnk1 += "&nbsp;<img src=\"/images/pfeil-blau.gif\" width=\"15\" height=\"11\">&nbsp;&nbsp;<a class=\"submenu\" href=\"%lnk%\" target=\"_top\">";
var lnk2 = "</a>&nbsp;&nbsp;</td></tr>"; //</a>

var lnk1ex = "<td valign=\"middle\" class=\"menu\" onclick=\"window.location='%lnk%'; hidemenu()\" onmouseover=\"className='hover'; status='%lnk%'\" onmouseout=\"className='menu'; status=''\">";
lnk1ex += "&nbsp;<img src=\"/images/pfeil-blau.gif\" width=\"15\" height=\"11\">&nbsp;&nbsp;<a class=\"submenu\" href=\"%lnk%\" target=\"_top\">";
var lnk2ex = "</a>&nbsp;&nbsp;</td>"; //</a>

var lnk1dbl = "<td valign=\"middle\" class=\"menu\" onclick=\"window.location='%lnk%'; hidemenu()\" onmouseover=\"className='hover'; status='%lnk%'\" onmouseout=\"className='menu'; status=''\" colspan=\"2\">";
lnk1dbl += "&nbsp;<img src=\"/images/pfeil-blau.gif\" width=\"15\" height=\"11\">&nbsp;&nbsp;<a class=\"submenu\" href=\"%lnk%\" target=\"_top\">";

var linkset=new Array();
linkset[0]='<table border="0" cellspacing="0" cellpadding="0">';

/*
Ändert die Links wie folgt: Zwischen den
lnk1 und lnk2 steht ein String. Dieser stellt den Link-Text dar.
Der dritte und letzte Parameter der fr-function ist der Link.
BITTE das %lnk% nicht ändern!
*/

linkset[0]+= fr(lnk1+'VB.NET'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=6");
linkset[0]+= fr(lnk1+'C#'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=21");
linkset[0]+= fr(lnk1+'VB 5/6'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=4");
linkset[0]+= fr(lnk1+'VBA'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=7");
linkset[0]+= fr(lnk1+'Access'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=8");
linkset[0]+= fr(lnk1+'DirectX'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=12");
linkset[0]+= fr(lnk1+'Hardware'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=10");
linkset[0]+= fr(lnk1+'Mobile Endgeräte'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=16");
linkset[0]+= fr(lnk1+'C und C++'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=3");
linkset[0]+= fr(lnk1+'Physik'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=17");
linkset[0]+= fr(lnk1+'Projekte'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=11");
linkset[0]+= fr(lnk1+'Stammtisch'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=5");
linkset[0]+= fr(lnk1+'SQL'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=9");
linkset[0]+= fr(lnk1+'Compilerbau'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=18");
linkset[0]+= fr(lnk1+'Hilfe zu Foren und Club'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/hilfe.pl");
linkset[0]+= fr(lnk1+'Forenarchive'+lnk2, "%lnk%", "http://www.activevb.de/cgi-bin/forenarchive/forenarchive.pl");
//linkset[0]+= fr(lnk1+'Chat'+lnk2, "%lnk%", "http://www.activevb.de/dasteam/chat.html");
linkset[0]+='</table>';

linkset[1]='<table border="0" cellspacing="0" cellpadding="0">';
linkset[1]+= fr(lnk1+'API-Katalog'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/apikatalog/index-apikatalog.html");
linkset[1]+= fr(lnk1+'API-Wiki'+lnk2, "%lnk%", "http://www.activevb.de/cgi-bin/apiwiki/Hauptseite");
linkset[1]+= fr(lnk1+'ApiViewer'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/apiviewer/index-apiviewer.html");
linkset[1]+= fr(lnk1+'Ausschreibungen'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/ausschreibungen/index-ausschreibungen.html");
linkset[1]+= fr(lnk1+'Bestellungen'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/bestellungen/index-bestellungen.html");
linkset[1]+= fr(lnk1+'Bücher'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/buecher/index-buecher.html");
linkset[1]+= fr(lnk1+'Dateiformate'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/fileformats/index-formats.html");
linkset[1]+= fr(lnk1+'Fachbegriffe'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/fachbegriffe/index-fachbegriffe.html");
linkset[1]+= fr(lnk1+'FAQ'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/faq/index-faq.html");
linkset[1]+= fr(lnk1+'Klassen'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/klassen/index-klassen.html");
linkset[1]+= fr(lnk1+'Kolumne'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/kolumne/index-kolumne.html");
linkset[1]+= fr(lnk1+'Komponenten'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/komponeten/index-komponenten.html");
linkset[1]+= fr(lnk1+'Links'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/links/index-links.html");
linkset[1]+= fr(lnk1+'Messenger'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/messenger/index-messenger.html");
linkset[1]+= fr(lnk1+'Mindstorms'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/mindstorms/index-mindstorms.html");
linkset[1]+= fr(lnk1+'Newsletterarchiv'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/newsletter/index-newsletter.html");
linkset[1]+= fr(lnk1+'Projekte & Tools'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/projekte/index-projekte.html");
linkset[1]+= fr(lnk1+'VB.NET'+lnk2, "%lnk%", "http://www.activevb.de/rubriken/vbdotnet/index-vbdotnet.html");
//linkset[1]+= fr(lnk1+'VB.NET Tipps'+lnk2, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/index-vbdotnettipps.html");
linkset[1]+='</table>';

// inkset[2] wird von den Büchern verwendet

linkset[3]='<table border="0" cellspacing="0" cellpadding="0">';
linkset[3]+='<tr style="height: 1.4em"><td>&nbsp;&nbsp;<b>VB .NET</b>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;<b>VB 5/6</b>&nbsp;&nbsp;</td></tr>'
linkset[3]+= fr(lnk1+'Algorithmen'+lnk2ex, "%lnk%", "http://www.activevb.de/tips/vbnetkat/kat15.html");
linkset[3]+= fr(lnk1ex+'Algorithmen'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat1.html");
linkset[3]+= '<tr><td valign="middle" class="submenu">&nbsp;<img src=\"/images/pfeil-grau.gif\" width=\"15\" height=\"11\">&nbsp;&nbsp;Assembler und VB</td>';
//linkset[3]+= '<tr><td>&nbsp;</td>';
linkset[3]+= fr(lnk1ex+'Assembler und VB'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat2.html");
linkset[3]+= fr(lnk1+'Dateien und Laufwerke'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat1.html");
linkset[3]+= fr(lnk1ex+'Dateien und Laufwerke'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat4.html");
linkset[3]+= fr(lnk1+'Datenbanken und XML'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat7.html");
linkset[3]+= fr(lnk1ex+'Datenbanken und XML'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat3.html");
linkset[3]+= fr(lnk1+'Drucker'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat6.html");
linkset[3]+= fr(lnk1ex+'Drucker'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat5.html");
linkset[3]+= fr(lnk1+'Fenster'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat10.html");
linkset[3]+= fr(lnk1ex+'Fenster'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat6.html");
linkset[3]+= fr(lnk1+'Grafik'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat4.html");
linkset[3]+= fr(lnk1ex+'Grafik'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat7.html");
linkset[3]+= fr(lnk1+'Internet und Netzwerke'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat2.html");
linkset[3]+= fr(lnk1ex+'Internet und Netzwerk'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat8.html");
linkset[3]+= fr(lnk1+'Listensteuerelemente'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat12.html");
linkset[3]+= fr(lnk1ex+'Listensteuerelemente'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat9.html");
linkset[3]+= fr(lnk1+'Mathematik'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat8.html");
linkset[3]+= fr(lnk1ex+'Mathematik'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat10.html");
//linkset[3]+= '<tr><td>&nbsp;</td>';
linkset[3]+= '<tr><td valign="middle" class="submenu">&nbsp;<img src=\"/images/pfeil-grau.gif\" width=\"15\" height=\"11\">&nbsp;&nbsp;Maus und Tastatur</td>';
linkset[3]+= fr(lnk1ex+'Maus und Tastatur'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat11.html");
linkset[3]+= fr(lnk1+'Menüs'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat11.html");
linkset[3]+= fr(lnk1ex+'Menüs'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat12.html");
linkset[3]+= fr(lnk1+'Multimedia'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat5.html");
linkset[3]+= fr(lnk1ex+'Multimedia'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat13.html");
linkset[3]+= fr(lnk1+'Sonstiges'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat9.html");
linkset[3]+= fr(lnk1ex+'Sonstiges'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat14.html");
linkset[3]+= fr(lnk1+'Sprachmerkmale'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat13.html");
//linkset[3]+= '<td>&nbsp;</td></tr>';
linkset[3]+= '<td valign="middle" class="submenu">&nbsp;<img src=\"/images/pfeil-grau.gif\" width=\"15\" height=\"11\">&nbsp;&nbsp;Sprachmerkmale</td></tr>';
linkset[3]+= fr(lnk1+'Steuerelemente'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat14.html");
linkset[3]+= fr(lnk1ex+'Steuerelemente'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat15.html");
linkset[3]+= fr(lnk1+'System'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat3.html");
linkset[3]+= fr(lnk1ex+'System'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat16.html");
linkset[3]+= fr(lnk1+'TextBox und RichTextBox'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat17.html");
linkset[3]+= fr(lnk1ex+'TextBox und RichTextBox'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat17.html");
linkset[3]+= fr(lnk1+'Timer und Zeiten'+lnk2ex, "%lnk%", "http://www.activevb.de/tipps/vbnetkat/kat16.html");
linkset[3]+= fr(lnk1ex+'Timer und Zeiten'+lnk2, "%lnk%", "http://www.activevb.de/tipps/tipkat/kat18.html");
linkset[3]+='<tr style="height: 1.4em; text-align: center;"><td colspan="2">&nbsp;&nbsp;<b>Gemeinsames</b>&nbsp;&nbsp;</td></tr>';
linkset[3]+= fr(lnk1+'Tipp-Upload'+lnk2ex, "%lnk%", "http://www.activevb.de/cgi-bin/tippupload/index.pl");
linkset[3]+= fr(lnk1ex+'T&amp;T-Board'+lnk2, "%lnk%", "http://foren.activevb.de/cgi-bin/foren/list.pl?forum=13");
linkset[3]+='</table>';


//AB HIER SOLLTE NICHTS MEHR GEÄNDERT WERDEN!

linkset[2]='';

// some known objects
var nc      =  !!(document.captureEvents    &&  !document.getElementById);
var nc6     =  !!(document.captureEvents    &&  document.documentElement);
var opera   =  !!(document.getElementById   &&  !document.documentElement);
var ie      =  !!document.all;
var ie4     =  !!(document.all              &&  !document.documentElement);
var ie5     =  !!(document.all              &&  document.documentElement);
var dom     =  !!document.getElementById;
var mac     =  !!(navigator.userAgent.indexOf("Mac")!=-1);

function mPI() { //v3.0
 var d=document;
 if(d.images){
  if(!d.MM_p)d.MM_p=new Array();
  var i,j=d.MM_p.length,a=mPI.arguments;
  for(i=0; i<a.length; i++)if (a[i].indexOf("#")!=0){
   d.MM_p[j]=new Image;
   d.MM_p[j++].src=a[i];}
 }
}

function PreloadImages() {
        mPI("/images/pfeil-blau.gif");
        //mPI(btpic, "/images/pfeil-blau.gif");
}

// Groesse Browserfenster / Dokument
function winSize() {
        var breit=0,hoch=0,fbreit=0,fhoch=0;

        if(ie) {
                breit  = document.body.clientWidth;
                hoch   = document.body.clientHeight;
                fbreit  = document.body.scrollWidth;
                fhoch  = document.body.scrollHeight;
        }
        if (nc || nc6 || opera) {
                breit  = self.innerWidth;
                hoch   = self.innerHeight;
                fbreit  = self.document.width;
                fhoch  = self.document.height;
        }

        return {clientwidth: breit, width: fbreit, clientheight: hoch, height: fhoch};
}

//Ersetzt Text innerhalb eines Strings komplett
function fr(strText, strNeedle, strReplace)
{
        return strText.replace(eval("/"+strNeedle+"/g"), strReplace);
}
function showmenu(e,which,el){
        if (nc) return;
        if (!document.all&&!document.getElementById&&!document.layers)
                return;
        clearhidemenu();

        var tmpPos = findPos(el);
        var x = tmpPos.xPos;
        var y = tmpPos.yPos;

        menuobj=ie ? document.all.popmenu :
        nc6 ? document.getElementById("popmenu") :
        nc ? document.popmenu : "";

        menuobj.thestyle=(ie||nc6)? menuobj.style : menuobj;

        if (ie||nc6)
                menuobj.innerHTML=which;
        else{
                menuobj.document.write('<layer name=gui bgColor="white" width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>');
                menuobj.document.close();
        }

        menuobj.contentwidth=(ie||nc6)? menuobj.offsetWidth : menuobj.document.gui.document.width;
        menuobj.contentheight=(ie||nc6)? menuobj.offsetHeight : menuobj.document.gui.document.height;
        eventX=ie? event.clientX : nc6? e.clientX : e.x;
        eventY=ie? event.clientY : nc6? e.clientY : e.y;

        //Find out how close the mouse is to the corner of the window
        var rightedge=ie? document.body.clientWidth-eventX : window.innerWidth-eventX;
        var bottomedge=ie? document.body.clientHeight-eventY : window.innerHeight-eventY;

        //Mozilla/Netscape6 positionieren die Layers ohne die Rahmen einzurechnen
        if (nc6) {
                menuobj.thestyle.left= x+1;
                menuobj.thestyle.top=y+24;
        } else {
                menuobj.thestyle.left= x-1;
                menuobj.thestyle.top=y+23;
        }
	
	hideobject("SELECT", -1, menuobj);
	hideobject("OBJECT", -1, menuobj);
	hideobject("IFRAME", -1, menuobj);
	
	hideobject 
        menuobj.thestyle.visibility="visible";
        return false;
}

function hideobject(tagName, change, obj)
{
	if (opera) return;
	var els=nc6 ? document.getElementsByTagName(tagName) : document.all.tags(tagName);
	var i;
	for (i=0;i<els.length;i++)
	{
		var el=els.item(i);
		
		if (el.visLevel)
			el.visLevel+=change;
		else
			el.visLevel=change;
		if (change==-1 && elements_overlap(obj, el))
		{
			if(typeof(el.visSave)=='undefined')
				el.visSave=el.style.visibility;
			el.style.visibility="hidden";
		}
		else if (change==0)
			if(typeof(el.visSave)!='undefined') el.style.visibility=el.visSave;
	}
}

function elements_overlap(el,obj)
{
	var elPos = findPos(el);
	var objPos = findPos(obj);
	
	//alert (elPos.yPos+elPos.ySize>objPos.yPos);//((elPos.yPos+elPos.ySize)+" "+objPos.yPos);
	return ((elPos.xPos<objPos.xSize+objPos.xPos) && (elPos.xPos+elPos.xSize>objPos.xPos) && (elPos.yPos<objPos.ySize+objPos.yPos) && (elPos.yPos+elPos.ySize>objPos.yPos));
	
}
// Position eines Elementes
function findPos() {

        var el      = arguments[0];
        var xPos    = 0;
        var yPos    = 0;
        var xSize    = el.offsetWidth;
        var ySize    = el.offsetHeight;

        while(el){
        	xPos += el.offsetLeft;
                yPos += el.offsetTop;
        	if (xSize==0) xSize = el.offsetWidth;
                if (ySize==0) ySize = el.offsetHeight;
                if(!(ie4 && mac))   el  = el.offsetParent;  // alle anderen machens falsch...
                else el = el.parentElement; // nur ie am mac nicht ;-)
        }
        return {xPos: xPos, yPos: yPos, xSize: xSize, ySize: ySize};
}

function contains_nc6(a, b) {
    //Determines if 1 element in contained in another- by Brainjar.com
    while (b.parentNode)
        if ((b = b.parentNode) == a) return true;

    return false;
}

function hidemenu(){
//    if (nc) return;
    if (window.menuobj)
        menuobj.thestyle.visibility=(ie||nc6)? "hidden" : "hide";

	hideobject("SELECT", 0);
	hideobject("OBJECT", 0);
	hideobject("IFRAME", 0);
}

function dynamichide(e){
    if (nc) return;
    if (ie&&!menuobj.contains(e.toElement))
        hidemenu();
    else if (nc6&&e.currentTarget!= e.relatedTarget&& !contains_nc6(e.currentTarget, e.relatedTarget))
        hidemenu();
}

function delayhidemenu(){
    if (nc) return;
    if (ie||nc6)
        delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
    if (nc) return;
    if (window.delayhide)
        clearTimeout(delayhide);
}

if (nc6) document.onclick=hidemenu;
