/************************************************
* c_01.js
* Copyright (c) 2008, 2009 Marcel Böhnert, www.boehnert.com
* All rights reserved
* Date: 2008, Revision: 03
************************************************/

var RequestPath = "./MBC/includes/"; 
var pop   	= false;
var isIE  	= false;
var isIE7 	= false;

/*@cc_on
isIE = true;
@if (@_jscript_version >= 5.7)
  isIE7 = true;
@end
@*/

function init()
{
	window.onunload = unload;
	window.onfocus  = popdown;

	if (document.getElementById && document.createTextNode)
	{
		var i, j;
		var elems = new Array();

		if (document.getElementById('setLang'))
		{
			// Sprachauswahl highlighten

			elems = document.getElementById('setLang').getElementsByTagName('input');
			for( j=0 ; j<elems.length ; j++ )
			{		
				elems[j].onmouseover = function() { this.className = 'hover'; return false };
				elems[j].onmouseout  = function() { this.className = ''; return false };
			}	
		}
		
		if (document.getElementById('search'))
		{
			// auf Suche-Seite Submenü-Option "Suche" highlighten 
			document.getElementById('fp3').className = 'active';
		}

		if (document.getElementById('nav_func'))
		{
			// PopUp für Sitemap und Impressum eintragen
			document.getElementById('fp1').onclick = function() {return popup(this,0,0,'scrollbars')};
			document.getElementById('fp2').onclick = function() {return popup(this,0,0,'scrollbars')};

			// Logout eintragen
			if (document.getElementById('off')) document.getElementById('off').onclick = logoff;
		}

		elems = document.getElementsByTagName('a');
		for (i = 0; i < elems.length; i++) 
		{
			if (elems[i].className && elems[i].className=='mail')
			{
				// tooltip für Email-Links eintragen
				elems[i].title = elems[i].title+elems[i].href.substring(7)+" ";
			}
		}

		// Tooltips
 		elems = getElementsByClassName (document.getElementById('c_c2'), '*', 'ttiptag');
 		if (elems)
 		{
			for( j=0 ; j<elems.length ; j++ )
			{		
				elems[j].id = "ttiptag"+j;
				elems[j].style.display = "none";
			}
			elems = getElementsByClassName (document.getElementById('c_c2'), '*', 'ttiplnk');
			for( j=0 ; j<elems.length ; j++ )
			{		
				elems[j].id = "tiptag"+j;
				elems[j].onmouseover = function(){ this.className+= ' hover'; return false };
				elems[j].onmouseout  = function(){ this.className = this.className.replace(new RegExp(' hover\\b'), ''); return false };
				elems[j].onclick     = function(){ var elem=document.getElementById("t"+this.id); if (elem) elem.style.display = (elem.style.display == "none") ? "block" : "none"; return false };
			}	
		}
		
		if (isIE && !isIE7)
		{
			// Tabellen-Zeilen highlighten (für IE < 7)
			var tb = document.getElementsByTagName('tbody');

			for( i=0 ; i<tb.length ; i++ ) 
			{
				if (tb[i].className == "tbbox")
				{
					// Tabellen-Zeilen highlighten für IE
					elems = tb[i].getElementsByTagName('tr');

					for( j=0 ; j<elems.length ; j++ )
					{		
						elems[j].onmouseover = function(){ this.className+= ' hover'; return false };
						elems[j].onmouseout  = function(){ this.className = this.className.replace(new RegExp(' hover\\b'), ''); return false };
					}	
				}
			}
		}
	}
}


function popdown () 
{
  if (!pop || pop.closed) return;
  
  pop.close();
  pop = false;
}

function unload ()
{
	// PopUps schließen
	popdown ();

	// Abbruch
	return;
	
	// für unload folgende Punkte klären ...
	// - reload der Seite
	// - zurück-Button

	// Session beenden
	// var url  = "./includes/sessionend.php";
	// var http = getHTTPObject();
	// http.open("GET", url, false);
	// http.send(null);
}

function popup (obj, w, h, arg) 
{
  var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
  if (!url) return true;

  var scr_w = screen.width;
  var scr_h = screen.height;

  var w = (w>0) ? w += 20 : 430;
  var h = (h>0) ? h += 25 : 592;

  w = Math.min (w,(scr_w-40));
  h = Math.min (h,(scr_h-100));

  var x = (scr_w-w)/2;
  var y = (scr_h-h-100)/2;

  var args = 'width='+w+',height='+h+',top='+y+',left='+x+','+arg;

  popdown();

  pop = window.open(url, '', args);
  
  return (pop ? false : true);
}

function getElementsByClassName (oElm, strTagName, strClassName)
{
	var arrElements       = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName   	      = strClassName.replace(/\-/g, "\\-");

	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;

	for(var i=0; i<arrElements.length; i++)
	{
		oElement = arrElements[i];     
        	if(oRegExp.test(oElement.className))
        	{
            		arrReturnElements.push(oElement);
        	}   
    	}
    	return (arrReturnElements)
}

function MB_getMeta(name, attr) 
{ 
	// MB_getMeta("content-language", "content");   // de, en, ...
	// MB_getMeta("language", "content");		// deutsch, english, ... 
	// MB_getMeta("identifier", "content");		// Content-Ordner der aktiven Seite
	// MB_getMeta("page-topic", "content");		// Link-Titel bei Seitenaufruf


	var metas = document.getElementsByTagName("meta");

	for (var i = 0; i < metas.length; i++) 
	{
 		if (name == (metas[i].name))
    		{
			switch (attr)
			{
				case "content":
					return metas[i].content; break;

				case "httpEquiv":
					return metas[i].httpEquiv; break;

				default:
					return "not found"; break;
    			}
 		}
 	}   		
	return "";
}

// ---------------------------------------------------------
// Private, Backend, Formular
// ---------------------------------------------------------

function logoff(e)
{
	var e = e || window.event;
	
	var url  = RequestPath + "logout.php";
    	var http = getHTTPObject();
	http.open("GET", url, false);
    	http.send(null);

	if (document.getElementById("private"))
	{
		if (http.readyState == 4 && http.status == 200)
			createLoginForm (this, http.responseText);
	}

	// Seite refreshen
	location.reload();
}

function removeAllChildren (node)
{
	if(node == undefined || node == null) return;
	while (node.firstChild) node.removeChild(node.firstChild);
}

function getHTTPObject () 
{ 
	var xmlhttp = false;
	
	if (typeof XMLHttpRequest != 'undefined') 
	{
		try 
		{
			xmlhttp = new XMLHttpRequest();
			
			// if (xmlhttp.overrideMimeType)
			//	xmlhttp.overrideMimeType('text/xml'); ergibt Fehler im ff
		} 
		catch (e) {
			xmlhttp = false;
		}
	} 
	else 
	{
	/*@cc_on
	@if (@_jscript_version >= 5)
	    try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (e) {
		try {
		    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
		    xmlhttp = false;
		}
	    }
	@end @*/
	}
	
	if (!xmlhttp) 
		alert('Error: XMLHTTP-Request undefined.');

	return xmlhttp;
}

// ---------------------------------------------------------

if (window.addEventListener)
	window.addEventListener ("load", init, false);
else if (window.attachEvent)
	window.attachEvent("onload", init);
else if (document.getElementById)
	window.onload = init;