
/**
 * $Id: menu.js 18 2008-06-18 08:50:00Z eric $
 */

// create the menu
var menu = new Array();

// {{{ MenuItem "class"
function MenuItem(strID, strParentID, strName, strUrl, strTarget) {
	this.strID = strID ;				// itemID
	this.strParentID = strParentID ;	// who is parent?
	this.strName = strName ;			// node name
	this.strUrl = strUrl ;				// where to go?
	this.strTarget = strTarget ;		// target of link
}
// }}} MenuItem
		
function WriteMenu(strParentID, menu, strPath, cur_item) {
	var iOffset 	= 0 ;				// position offset
	var curItem 	= strParentID ;		// curItem for "tree"
	var outBuffer	= new Array() ;		// final "tree"
	var strList 	= new Array() ;		// list of id's
	var strQuery	= location.search;	// da browsers query string
	
	// "stay-menu"-feature
	if ( (iPosition = strQuery.search(/area=/)) != -1 ) {
		strAfterArea = strQuery.substr(iPosition + 5) ;
		iSep = strAfterArea.search (/&/) ;

		if ( iSep != -1 )
			curItem = strQuery.substr(iPosition + 5, iSep) ;
		else
			curItem = strQuery.substr(iPosition + 5) ;
			
		strParentID = curItem ;
	}
	
	//strList.push(curItem) ;	// add first entry to "tree"-list
	strList[strList.length] = curItem ;
	
	// loop through items to find the position
	// of the last suitable entry
	for (var i = 0; i < menu.length; i++)
	{
		if (menu[i].strParentID == strParentID)
			iOffset = i ; // set position
		else if(iOffset != 0 && menu[i].strParentID != strParentID)
			break ; // leave loop if id's are different
	} // for
	
	// build first part of the final "tree"
	// "tree" from 0 to offset
	for (var i = iOffset; i >= 0; i--)
	{
		// item found => add to final "tree"
		if (menu[i].strParentID == curItem) {
			//outBuffer.push(menu[i]) ;
			outBuffer[outBuffer.length] = menu[i] ;
		} else if (menu[i].strID == curItem) {	
			// parent "node" found =>
			// change the curItem to its ID
			//outBuffer.push(menu[i]) ;
			outBuffer[outBuffer.length] = menu[i] ;
			curItem = menu[i].strParentID ;
			//strList.push(curItem) ;
			strList[strList.length] = curItem ;
		} // else if
	} // for
	
	// in order to "append" more items
	// to the final "tree" a reverse order
	// is needed!
	outBuffer.reverse() ; 
	
	// reverse "tree" list to get the right order
	strList.reverse() ;
	
	// the last - 1 item of the list is the
	// starting parentID of the second part
	// of the final "tree"
	curItem = strList[strList.length - 2] ;
	
	// build second part of the final "tree"
	// from offset + 1 to the end
	for (var i = iOffset + 1; i < menu.length; i++) {
		// entry belongs to parentID => add to buffer
		if (menu[i].strParentID == curItem) {
			//outBuffer.push(menu[i]) ;
			outBuffer[outBuffer.length] = menu[i] ;
		} else { // check if item is in "tree" list
			// loop through "tree"-list
			for (var j = 0; j < strList.length; j++) {
				if (strList[j] == menu[i].strParentID)
					//outBuffer.push(menu[i]) ;
					outBuffer[outBuffer.length] = menu[i] ;
			} // for
		} // else
	} // for
	
	// loop through the final "tree" and output
	// its items
	for (var i = 0; i < outBuffer.length; i++) {
		// calculate the intendt of each "node"
		for (var j = 0; j < strList.length; j++) {
			// item found => intend = j
			if (strList[j] == outBuffer[i].strParentID)
				break ;
		} // for
		
		// write the intend
		//for (k = 0; k <= j - 1; k++)
		//	document.write("&nbsp;&nbsp;&nbsp;") ;
			
		// build "tree node"
		if (j == 0 && i != 0) {
			document.write('<div class="menulink" style="border-top: 1px solid #FFFFFF;">') ;
		} else if (j == 0 && i == 0) {
			document.write('<div class="menulink">') ;
		} else if (j > 0) {
			document.write('<div class="menucelle-sublink">') ;
		}
		
		if (outBuffer[i].strUrl.indexOf('http') == 0) {
            document.write('<a href="' + outBuffer[i].strUrl + '" onfocus="this.blur()" target="_blank"');
        } else {
            document.write('<a href="' + strPath + outBuffer[i].strUrl + '" onfocus="this.blur()"');
        }
		if (cur_item == outBuffer[i].strID) {
			document.write(' style="color:#FFF;"');	
		}
		document.write('>') ;
		document.write(handle_html (outBuffer[i].strName) + "</a></div>") ;
	} // for
	document.write('<div class="menulink" style="border-top: 1px solid #FFFFFF;">&nbsp;</div>') ;
} // WriteMenu

function handle_html (str) {
/*
	str = str.replace ("?", "&ouml;");
	str = str.replace ("?", "&auml;");
	str = str.replace ("?", "&uuml;");
	str = str.replace ("?", "&szlig;");
	str = str.replace ("?", "&Ouml;");
	str = str.replace ("?", "&Auml;");
	str = str.replace ("?", "&Uuml;");
	*/
	
	return (str);
}

// append menu items

// {{{ Unternehmen
menu[menu.length] = new MenuItem("unternehmen", "menu", "Unternehmen", "unternehmen/index.html") ;
menu[menu.length] = new MenuItem("werIst", "unternehmen", "Wer ist BPW?", "unternehmen/wer_ist.html") ;
menu[menu.length] = new MenuItem("wasMacht", "unternehmen", "Was macht BPW?", "unternehmen/was_macht.html") ;
menu[menu.length] = new MenuItem("woSteht", "unternehmen", "Wof&uuml;r steht BPW?", "unternehmen/wofuer_steht.html") ;
menu[menu.length] = new MenuItem("blick", "unternehmen", "BPW auf einen Blick", "unternehmen/blick.html") ;
menu[menu.length] = new MenuItem("Geschichte", "unternehmen", "Geschichte", "unternehmen/geschichte/index.html") ;
/*menu[menu.length] = new MenuItem("Werksmuseum", "unternehmen", "BPW Werksmuseum", "unternehmen/werksmuseum.html") ;*/
// }}} Unternehmen

// {{{ Karriere
menu[menu.length] = new MenuItem("karriere", "menu", "Karriere", "karriere/index.html") ;
menu[menu.length] = new MenuItem("stellenangebote", "karriere", "Stellenangebote", "karriere/stellenangebote.html") ;
menu[menu.length] = new MenuItem("ausbildung", "karriere", "Ausbildung", "karriere/ausbildung/index.html") ;
menu[menu.length] = new MenuItem("schuelertag", "karriere", "Sch&uuml;lertag 2011", "karriere/schuelertag/index2011.html") ;
menu[menu.length] = new MenuItem("praktika", "karriere", "Praktika & Diplomarbeiten", "karriere/praktika.html") ;
/*menu[menu.length] = new MenuItem("hochschulpraktika", "karriere", "Sch&uuml;ler-/Hochschulpraktika", "karriere/schueler-hochschul-praktikum.html") ;*/
menu[menu.length] = new MenuItem("studienfoerderung", "karriere", "BPW Studienf&ouml;rderung", "karriere/studienfoerderung.html") ;
menu[menu.length] = new MenuItem("application", "karriere", "Online-Bewerbung", "index.php/career/applicationStep1") ;
// }}} Karriere

// {{{ Produkte
menu[menu.length] = new MenuItem("produkte", "menu", "Produkte", "produkte/index.html") ;
menu[menu.length] = new MenuItem("nfzprog", "produkte", "f&uuml;r LKW-Anh&auml;nger und Auflieger", "http://www.bpw.de/produkte_tl/index.php/fahrwerksysteme.html") ;
menu[menu.length] = new MenuItem("agrarprog", "produkte", "f&uuml;r die Landwirtschaft", "http://www.bpw.de/produkte_tl/index.php/agrar.html") ;
menu[menu.length] = new MenuItem("trailerprog", "produkte", "f&uuml;r Caravans, Industrie- und Arbeitsmaschinen, kommerzielle Trailer", "http://www.bpw-fahrzeugtechnik.de") ;
// }}} Produkte

// {{{ Vertrieb
menu[menu.length] = new MenuItem("vertrieb", "menu", "Vertrieb", "vertrieb/index.html") ;
menu[menu.length] = new MenuItem("v_dland", "vertrieb", "NFZ-Programm", "vertrieb/deutschland/index.html") ;
menu[menu.length] = new MenuItem("agrar", "vertrieb", "Agrar-Programm", "vertrieb/aftermarket/team.html");
menu[menu.length] = new MenuItem("pkw", "vertrieb", "PKW-Programm", "http://www.bpw-fahrzeugtechnik.de/home/");
menu[menu.length] = new MenuItem("endkundenbetreuung", "vertrieb", "Endkundenbetreuung", "vertrieb/endkundenbetreuung/index.html") ;
menu[menu.length] = new MenuItem("flottenbetreuung", "vertrieb", "Flottenbetreuung", "vertrieb/flottenbetreuung/index.html");
menu[menu.length] = new MenuItem("aftermarket", "vertrieb", "Aftermarket", "vertrieb/aftermarket/index.html");
menu[menu.length] = new MenuItem("stellen", "vertrieb", "Weltweit", "include/service-network/frontend/") ;
// }}} Vertrieb

// {{{ Service
menu[menu.length] = new MenuItem("service", "menu", "Service", "service/index.html") ;
menu[menu.length] = new MenuItem("kunden", "service", "Kundendienst", "service/kundendienst.html") ;
menu[menu.length] = new MenuItem("stellen_direct", "service", "BPW Service-Netz", "include/service-network/frontend/") ;
menu[menu.length] = new MenuItem("servicemassnahme_eco_disc", "service", "Servicema&szlig;nahme<br>ECO Disc", "service/servicemassnahme-eco-disc.html") ;
menu[menu.length] = new MenuItem("partner_service", "service", "Partner-Service-Paket", "service/partner-service-paket.html");
menu[menu.length] = new MenuItem("engineering", "service", "Engineering", "service/engineering.html") ;
menu[menu.length] = new MenuItem("logistic", "service", "Logistikkonzepte", "service/logistikkonzepte.html") ;
menu[menu.length] = new MenuItem("service_seminare", "service", "Seminare", "aktuell/seminare/index.html") ;
/*menu[menu.length] = new MenuItem("registrations", "service", "Registrierungen", "service/registrierungen.html") ;*/
menu[menu.length] = new MenuItem("prospekte", "service", "Brosch&uuml;ren", "scripts/service/brochures/index.php");
// }}} Service

// {{{ Einkauf
menu[menu.length] = new MenuItem("purchase", "menu", "Einkauf", "einkauf/index.html");
menu[menu.length] = new MenuItem("products_overview", "purchase", "Produktionsmaterial im &Uuml;berblick", "einkauf/produktionsmaterial/index.html");
menu[menu.length] = new MenuItem("become_distributor", "purchase", "Lieferant werden", "einkauf/lieferant-werden.html");
menu[menu.length] = new MenuItem("request_distribution", "purchase", "Lieferantenfragebogen", "einkauf/lieferantenfragebogen.php");
menu[menu.length] = new MenuItem("conditions", "purchase", "BPW Einkaufsbedingungen", "einkauf/einkaufsbedingungen.html");
menu[menu.length] = new MenuItem("signGoods", "purchase", "Warenkennzeichnung", "einkauf/warenkennzeichnung/index.html");
menu[menu.length] = new MenuItem("initial_sample", "purchase", "Produkt-/Prozessfreigabe", "einkauf/erstmuster.html");
menu[menu.length] = new MenuItem("report", "purchase", "8D-Report", "einkauf/8d-report.html");
menu[menu.length] = new MenuItem("bauabweichungsantrag", "purchase", "Bauabweichungsantrag", "einkauf/bauabweichungsantrag.html");
menu[menu.length] = new MenuItem("purchase_contact", "purchase", "Kontakt", "einkauf/kontakt.html");
// }}} Einkauf

// {{{ Aktuell
menu[menu.length] = new MenuItem("aktuell", "menu", "Aktuell", "aktuell/index.html") ;
menu[menu.length] = new MenuItem("bpw_news", "aktuell", "BPW NEWS", "download/news/index.html?area=aktuell") ;
/*menu[menu.length] = new MenuItem("neue_produkte", "aktuell", "Neue Produkte", "ecoplus2/index.html?area=aktuell");*/
menu[menu.length] = new MenuItem("messen", "aktuell", "Messen", "aktuell/messen.html") ;
menu[menu.length] = new MenuItem("seminare", "aktuell", "Seminare", "aktuell/seminare/index.html") ;
menu[menu.length] = new MenuItem("trailerworld", "aktuell", "trailer world", "aktuell/trailerworld/index.html") ;
/*menu[menu.length] = new MenuItem("trailermanager", "aktuell", "Trailer-Software", "index.php/trailermanager") ;*/
// }}} Aktuell

// {{{ Presse
menu[menu.length] = new MenuItem("presse", "menu", "Presse", "presse/index.html") ;
menu[menu.length] = new MenuItem("pressekontakt", "presse", "Pressekontakt", "presse/kontakt/index.html") ;
menu[menu.length] = new MenuItem("fakten", "presse", "Fakten zu BPW", "presse/fakten/index.html") ;
menu[menu.length] = new MenuItem("pressemitteilungen", "presse", "Pressemitteilungen", "presse/pressemitteilungen/index.html") ;
menu[menu.length] = new MenuItem("bildmaterial", "presse", "Bildmaterial", "presse/bildmaterial/index.html") ;
//menu[menu.length] = new MenuItem("archiv", "presse", "Pressearchiv", "presse/pressearchiv/index.html") ;
menu[menu.length] = new MenuItem("messen", "presse", "Termine / Messen", "aktuell/messen.html") ;
// }}} Presse

// {{{ Downloads
menu[menu.length] = new MenuItem("download", "menu", "Downloads", "download/index.html") ;
menu[menu.length] = new MenuItem("bpw_news", "download", "BPW NEWS", "download/news/index.html") ;
menu[menu.length] = new MenuItem("bremse", "download", "Gutachten", "download/gutachten/index.html") ;
menu[menu.length] = new MenuItem("trailermanager", "download", "Trailer-Software", "download/trailer-software/index.php") ;
menu[menu.length] = new MenuItem("formulare", "download", "Formulare", "download/formulare/index.html") ;
menu[menu.length] = new MenuItem("abe", "download", "ABE f&uuml;r Alur&auml;der", "download/alu/index.html") ;

// }}} Downloads

// {{{ Kontakt
menu[menu.length] = new MenuItem("kontakt", "menu", "Kontakt", "kontakt/index.html") ;
menu[menu.length] = new MenuItem("wiehl", "kontakt", "Wiehl", "kontakt/index.html") ;
menu[menu.length] = new MenuItem("deutschland", "kontakt", "Deutschland", "kontakt/deutschland.html") ;
menu[menu.length] = new MenuItem("weltweit", "kontakt", "Weltweit", "kontakt/weltweit.html") ;
menu[menu.length] = new MenuItem("k_request", "kontakt", "Kontaktaufnahme", "kontakt/request.html") ;
// }}} Kontakt
