// www.design-bonn.de JavaScript Document
function $(id)
{
	return generaljs.getElement(id);
}/*
function DoBild(url)
{
	generaljs.DoBild(url);
}*/
/*################ BEGIN Images-functions ##################*/
function BildDown(DownURL,winfeatures) {
	window.open(DownURL,'Filedown','top=0,left=0' + (winfeatures ? (','+winfeatures) : '') );
}
function getAttrib(selEl, nm, default_value)
{
	if(typeof(default_value) == "undefined") default_value = "";
	var v = default_value;
	if (selEl.getAttribute)
	{
		if (selEl.getAttribute(nm,0) != null) v = selEl.getAttribute(nm,0);
	}
	else if (selEl.attributes)
	{
		var oAttrColl = selEl.attributes;
		var oAttr = oAttrColl.getNamedItem(nm);
		if(oAttr != null) v = oAttr.value;
	}
	if (nm == "noWrap") v = selEl.noWrap;
	if (nm == "class") v = selEl.className;
	return '' + v;
}

var langTimeout = false;
function showLangList()
{
	if (langTimeout) clearTimeout(langTimeout);
	$('dLangList').style.visibility='visible';	
}

function hideLangList()
{
	if (langTimeout) clearTimeout(langTimeout);
	langTimeout = setTimeout(function() { $('dLangList').style.visibility='hidden';	langTimeout = false;}, 1000);
}

function OpenFoto(BildURL, x, y) {
	var win = "";
	win = window.open("","bild",'height=' + y + ',width=' + x +',location=0,status=0,toolbar=no,resizable=0,scrollbar=no,top=0,left=0');
	win.document.writeln('<html><head><title>Das Bild</title>');
	win.document.writeln('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">');
	win.document.writeln('</head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">');
	win.document.writeln('<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">');
	win.document.writeln('<tr><td align="center">');
	win.document.writeln('<a href="javascript:window.close()">');
	win.document.writeln('<img src="' + BildURL + '" border=0  alt="Fenster schließen">');
	win.document.writeln('</a></td></tr></table></body></html>');
	win.document.close();
	win.focus();
}
function in_array(needle, arr)
{
	var CurStr = new String("," + arr + ",");
	if (CurStr.indexOf("," + needle + ",") == -1) return false;
	else return true;
}
function getTitle(node)
{
	if (typeof(node) == "undefined") return "";
	if (node.childNodes.length == 0) return "";
	for (var i = 0; i < node.childNodes.length; i++)
	{
		if (typeof(node.childNodes[i].tagName) == "undefined") continue;
		if (node.childNodes[i].tagName.toLowerCase() == "img")
		{
			if (node.childNodes[i].title != "") return node.childNodes[i].title.substr(0,90);
			else if (node.childNodes[i].alt != "")
			{
				if(node.childNodes[i].alt == "Bitte klicken zum Vergrößern" || node.childNodes[i].alt == "Bitte klicken zum Vergößern") return document.title.substr(0,90);
				else return node.childNodes[i].alt.substr(0,90);
			}
		}
	}
	return "";
}
var allCollection = new Array();
var allImgTitles = new Array();
var curPos = 0;
var setLoupe = false;
var http_host = "/";
function getDoBildImgs(BILD)
{
	allCollection = new Array();
	if (document.getElementsByTagName)
		var elements=document.getElementsByTagName('a');
	else if (document.all)
		var elements=document.all('a');
	var txt;
	if(elements.length > 0)
	{
		var re=new RegExp("[ \t\n\r\f]","gi");
		for (var i = 0; i < elements.length; i++)
		{
			txt = new String(elements[i].href);
			if (txt.toLowerCase().indexOf("javascript:") == -1)
			{
				txt = new String(getAttrib(elements[i],"onclick"));
				if (txt.indexOf("DoBild(") != -1) txt = "javascript:"+txt;
			}
			txt = txt.replace(re, "");
			if (txt.toLowerCase().indexOf("javascript:") != -1 && txt.indexOf("DoBild(") != -1)
			{
				txt = txt.substring(txt.indexOf("'")+1, txt.lastIndexOf("'"));
				if (!setLoupe)
				{
					elements[i].style.cursor = "url('"+http_host+"npics/loupe.png'), url("+http_host+"npics/loupe.cur), pointer";
				}
				if (!in_array(txt, allCollection))
				{
					if (txt == BILD) curPos = allCollection.length;
					allCollection.push(txt);
					allImgTitles[allCollection.length-1] = getTitle(elements[i]);
				}
			}
		}
	}
	setLoupe = true;
}
var currentSize = {w:320,h:128};
function DoBild(BILD)
{
	getDoBildImgs(BILD);
	var DoBildWindowClose = "Bitte klicken zum Verkleinern";
	var x = 0;
	var y = 0;

	if (typeof window.pageXOffset != 'undefined')
	{
		x = window.pageXOffset;
		y = window.pageYOffset;
	}
	else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (typeof document.body != 'undefined')
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}

	if (!$("sashadow"))
	{
		var b = document.createElement("div");
		b.id = "sashadow";
		b.style.display = "none";
		b.innerHTML = "&nbsp;";
		generaljs.addEvent(b, "click", HideImage);
		generaljs.addEvent(b, "click", generaljs.closeDialog);
		document.getElementsByTagName("body")[0].appendChild(b);
	}
	if (!$("imagelayer"))
	{
		var b = document.createElement("div");
		b.id = "imagelayer";
		b.style.display = "none";
		document.getElementsByTagName("body")[0].appendChild(b);
	}
	
	var b_g = $("sashadow");
	var b_i = $("imagelayer");

	b_i.style.left = x+"px";
	b_i.style.top = y+"px";

	var h = 0, w = 0;
	if (document.documentElement) h = parseInt(document.documentElement.scrollHeight);
	if (document.body.scrollHeight > h) h = parseInt(document.body.scrollHeight);
	if (document.body.clientHeight > h) h = parseInt(document.body.clientHeight);
	if (h > 0)
	{
		if (!document.all) h += 20;
		b_g.style.height = h+"px";
	}

	if (document.documentElement) w = parseInt(document.documentElement.scrollWidth);
	if (w == 0) h = parseInt(document.body.scrollWidth);
	if (document.body.clientWidth > w) w = parseInt(document.body.clientWidth);
	if (w > 0) b_g.style.width = w+"px";


	b_i.innerHTML = "<table border=0 cellspacing=0 cellpadding=1 style='width:100%;height:100%;'><tr><td align='center' valign='middle'><table border=0 cellspacing=0 cellpadding=8 bgcolor=#FFFFFF><tr><td bgcolor=#FFFFFF><div style='text-align:center;clear:both;height:26px;'><img src='" +  http_host + "npics/img_close.gif' border='0' style='cursor:pointer;float:right;' onclick='HideImage();'><span id='cmsImageTitle' style='line-height:26px;'>&nbsp;</span></div><div style='clear:both;'><img src='" +  http_host + "npics/pixel.gif' border='0' width='1' height='1'></div><a href='#' onclick='HideImage();return false;' id='cmsResizedLink'><img src='" + BILD + "' alt='" + DoBildWindowClose + "' title='" + DoBildWindowClose + "' onLoad='resizeImage()' width='1' height='1' id='cmsResizedImage' style='display:none;'><img src='" +  http_host + "npics/pixel.gif' id='cmsLoadImage' style='width:" + currentSize.w + "px;height:" + currentSize.h + "px;background-image:url(" +  http_host + "npics/img_load.gif);background-position: center;background-repeat:no-repeat;' border='0' onClick='HideImage();'></a><div id='ArraowsLayer' style='padding-top:3px;'><img src='" +  http_host + "npics/pixel.gif' style='width:150px;height:26px;' align='right'><img src='" +  http_host + "npics/pixel.gif' style='width:150px;height:26px;' align='left'></div></td></tr></table></td></tr></table>";

	b_g.style.display = "";
	b_i.style.display = "";
}
function HideImage()
{
	var b_g = $("sashadow");
	var b_i = $("imagelayer");
	b_g.style.display = "none";
	if(b_i) b_i.style.display = "none";
	currentSize = {w:128,h:128};
}
var cS = 10;
function resizeImage()
{
	var ibj = $("cmsResizedImage");
	var img = new Image();
	img.src = ibj.src;
	var sta = (img.width - currentSize.w)/cS;
	var stb = (img.height - currentSize.h)/cS;
	$("cmsLoadImage").style.backgroundImage = "";
	
	dynamicImage(currentSize.w,currentSize.h,img.width,img.height,sta, stb);
}
function dynamicImage(wc,hc,w,h,sta,stb, curCS)
{
	var ibj = $("cmsLoadImage");
	if (typeof(curCS) == "undefined") curCS = 0;
	curCS++;
	wc = Math.round(wc + sta);
	hc = Math.round(hc + stb);
	ibj.style.width = wc.toString()+"px";
	ibj.style.height = hc.toString()+"px";
	if (curCS >= cS)
	{
		ibj.style.backgroundImage = "url(" + $("cmsResizedImage").src + ")";
		currentSize.w = w;
		currentSize.h = h;

		$("cmsImageTitle").innerHTML = (allImgTitles[curPos] == "" || typeof(allImgTitles[curPos]) == "undefined") ? "&nbsp;" :  allImgTitles[curPos];

		var  HTML = "";
		if (curPos < (allCollection.length -1))
			HTML = "<img src='" +  http_host + "npics/img_arrow_r.gif' style='width:150px;height:26px;cursor:pointer;' align='right' onClick='DoBild(\"" + allCollection[parseInt(curPos)+1] + "\");'>";
		else
			HTML = "<img src='" +  http_host + "npics/pixel.gif' style='width:150px;height:26px;' align='right'>";
		if (curPos > 0)
			HTML += "<img src='" +  http_host + "npics/img_arrow_l.gif' style='width:150px;height:26px;cursor:pointer;' align='left' onClick='DoBild(\"" + allCollection[parseInt(curPos)-1] + "\");''>";
		else
			HTML += "<img src='" +  http_host + "npics/pixel.gif' style='width:150px;height:26px;' align='left'>";
		$("ArraowsLayer").innerHTML = HTML;
		return;
	}
	window.setTimeout("dynamicImage(" + wc + ","+ hc +"," + w + "," + h + "," + sta + "," + stb + "," + curCS + ")", 0);
}
/*################ END Images-functions ####################*/

/*############## BEGIN Comment-functions ###################*/
/***   Editable: ***/
var backcolor	= '#ffffe1';		// Hintergrund
var bordercolor	= '#000';			// Ramenfarbe
var textcolor	= '#000';			// Textfarbe
var displaytime	=  30000;		// Zeit
var tablewidth	=  230;			// Tabellenbreite in px
var object	= 'Layer2';		// objekt - Ebene ID
/*******************/
var tipTimer = false;			// dHTML Toolltip Timer

function hideKommentar() 
{
	var obj = $(object);
	if (!obj || obj == null) return true;

	if (tipTimer) window.clearTimeout(tipTimer);
	tipTimer = false;
	obj.style.display="none";
	obj.style.left = -200;
	obj.style.top = -200;
	return false;
}

function showKommentar(e, tipContent)
{
	var obj = generaljs.getElement(object,true);
	if (!obj || obj == null) return true;
	if (tipTimer) window.clearTimeout(tipTimer);
	obj.innerHTML='<div style="text-align:left; font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; border: 1px solid '+bordercolor+'; background-color: '+backcolor+'; padding:4px; width:'+tablewidth+'px; max-width:'+tablewidth+'px; color: '+textcolor+';">'+unescape(tipContent)+'</div>';
	var top = 0, left = 0;

	if (typeof window.pageXOffset != 'undefined')
	{
		left = window.pageXOffset;
		top = window.pageYOffset;
	}
	else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
	{
		left = document.documentElement.scrollLeft;
		top = document.documentElement.scrollTop;
	}
	else if (typeof document.body != 'undefined')
	{
		left = document.body.scrollLeft;
		top = document.body.scrollTop;
	}
	left = parseInt(left);
	top = parseInt(top);
	if (e.x)
	{
		left += e.x;
		top += e.y;
		if ( (left + tablewidth + 20) > (document.body.clientWidth + document.body.scrollLeft)) left =  left - tablewidth;
	}
	else if (e.clientX)
	{
		left += e.clientX;
		top += e.clientY;
		if ( (left + tablewidth + 20) > (window.pageXOffset + window.innerWidth) ) left =  left - tablewidth;
	}
	left = parseInt(left) - 10;
	top = parseInt(top) + 20;

	obj.style.top = top.toString()+"px";
	obj.style.left = left.toString()+"px";
	obj.style.display="";
	tipTimer = window.setTimeout("hideKommentar('"+object+"')", displaytime);
	return true;
}
/*############### END Comment-functions ####################*/

var generaljs = {
		lastZInd:100003,
		path:"",
		addEvent:function(o,n,h)
		{
			if(o.attachEvent) o.attachEvent("on"+n,h);
			else if (o.addEventListener) o.addEventListener(n,h,false);
		},
		removeEvent:function(o,n,h)
		{
			if(o.detachEvent) o.detachEvent("on"+n,h);
			else if (o.removeEventListener) o.removeEventListener(n,h,false);
		},
		cancelEvent:function (e)
		{
			try
			{
				if (typeof(e) == "undefined") e = window.event;
				if (typeof(e) == "undefined") return false;
				if(e.preventDefault)
				{
					e.preventDefault();
				}
				else
				{
					e.returnValue=false;
					e.cancelBubble=true;
				}
			}
			catch(e) {}
			return false;
		},
		
		getElement:function(id,create)
		{
			if (typeof(create) == "undefined") create = false;
			if (!document.getElementById) return;
			if (document.getElementById(id)) return document.getElementById(id);
			else if (create)
			{
				var g = document.createElement("div");
				var ind = generaljs.lastZInd;
				generaljs.lastZInd++;
				g.style.cssText='display:none;position:absolute;z-index:' + ind.toString() + ';';
				g.id = id;
				if (document.getElementsByTagName)
					document.getElementsByTagName("body")[0].appendChild(g);
				else if (document.all)
					document.all("body").parentNode.appendChild(g);
				return g;
			}
			else return false;
		},
		
		defaultTab : "description",
		showTab:function(tn)
		{
			if (tn != generaljs.defaultTab)
			{
				$("li_"+tn).className = "selected";
				$("li_"+generaljs.defaultTab).className = "";
				$("lay_"+tn).style.cssText = "";
				$("lay_"+generaljs.defaultTab).style.cssText = "display:none;";
				generaljs.defaultTab = tn;
			}
		},
		
		load:function()
		{
			//generaljs.getSearch();
			generaljs.path = generaljs.getPath("js/general.js");
			getDoBildImgs("");
		},
		
		getPath:function(scriptname)
		{
			var src = document.location.href;
			if(src.indexOf('?')!=-1) src = src.substring(0,src.indexOf('?'));
			src = src.substring(0,src.lastIndexOf('/'));
	
			if (typeof(scriptname) != "undefined")
			{
				if (document.getElementsByTagName) { elements=document.getElementsByTagName('script'); }
				else if (document.all) { elements=document.all('script'); }
				for(i = 0; i < elements.length; i++)
				{
					if(elements[i].src && elements[i].src.indexOf(scriptname) > 0)
					{
						if (elements[i].src.indexOf("://") != -1) src = elements[i].src.substring(0,elements[i].src.lastIndexOf(scriptname));
						else if (elements[i].src.indexOf("../") != -1)
						{
							var src2 = elements[i].src;
							do
							{
								src = src.substring(0, src.lastIndexOf(scriptname));
								src2 = src2.substring(3,src2.length);
							}
							while (src2.indexOf("../") != -1)
							src = src + "/"+src2;
							src = src.substring(0,src.lastIndexOf(scriptname));
						}
						else
						{
							src += "/" + elements[i].src.substring(0,elements[i].src.lastIndexOf(scriptname));
						}
						break;
					}
				}
			}
			return src;
		},
		
		getSearch:function()
		{
			var o = $("psform").prodsearch;
			if(o.value == "") o.value = "Produktsuche";
			generaljs.addEvent(o,"focus",function() { if(o.value == "Produktsuche") { o.value = ""; } });
			generaljs.addEvent(o,"blur",function() { if(o.value == "") { o.value = "Produktsuche"; } });
			generaljs.addEvent($("psform"),"submit",generaljs.searchStart);			
		},
		
		searchStart:function(e)
		{
			var o = $("psform").prodsearch;
			if(o.value == "Produktsuche" || o.value == "")
			{
				generaljs.cancelEvent(e);
				alert("Bitte geben Sie Suchbegriff ein.");
			}
		},
		
		CheckSendForm:function() {
			var dothis = true;
			
			for (i = 0; i < document.cmsform.elements.length; i++) {
				if (document.cmsform.elements[i].title != "") {
					if (document.cmsform.elements[i].type == "text" && document.cmsform.elements[i].value == "") {
						dothis = false;
					}
					else if (document.cmsform.elements[i].type == "radio")
					{
						var currentRadiochecked = false;
						for (j = 0 ; j < document.cmsform.elements.length; j++)
						{
							if (document.cmsform.elements[j].type == "radio" && document.cmsform.elements[i].name == document.cmsform.elements[j].name )
							{
								if (!currentRadiochecked) currentRadiochecked = document.cmsform.elements[j].checked;
								if (currentRadiochecked) break;
							}
						}
						
						if (!currentRadiochecked)
							dothis = false;
					}
					else if (document.cmsform.elements[i].type.indexOf("select") != -1)
					{
						var selOpt = 0;
						for (var j = 0; j < document.cmsform.elements[i].options.length; j++)
						{
							if (document.cmsform.elements[i].options[j].selected && document.cmsform.elements[i].options[j].value != "") selOpt ++;
						}
						if (selOpt == 0) dothis = false; 
					}
					else if (document.cmsform.elements[i].type == "checkbox" && document.cmsform.elements[i].checked == false)
						dothis = false;
						
					if (!dothis)
					{
						alert(document.cmsform.elements[i].title);
						document.cmsform.elements[i].focus();
						break;
					}
				}
			}	
			return dothis;
		},

		dialogWindow:function(settings)
		{
			if (typeof(settings) == "undefined") return true;
			if (typeof(settings.title) == "undefined") settings.title = "&nbsp;";
			if (typeof(settings.url) == "undefined") settings.url = "about:blank";
			if (typeof(settings.width) == "undefined") settings.width = 650;
			if (typeof(settings.height) == "undefined") settings.height = 500;
			
//			window.open(settings.url,null, "width="+settings.width.toString()+",height="+settings.height.toString()+",scrollbars=1"); return false;
			
			var o = generaljs.getElement("popupLayer",true);
			var html = '<div class="titlepopup" style="width:' + (settings.width-40).toString() + 'px;">' + settings.title + '</div><div class="closepopup" onclick="generaljs.closeDialog();"><img src="'+generaljs.path+'npics/pixel.gif" alt="close" title="Fenster schlie&szlig;en" /></div><div class="clear;"></div>';
			html += '<iframe src="' + settings.url + '" style="border: 0px solid ;" width="' + settings.width.toString() + '" frameborder="0" height="' + settings.height.toString() + '"></iframe>';
			o.innerHTML = html;
			
			// background
			if (!$("sashadow"))
			{
				var b = document.createElement("div");
				b.id = "sashadow";
				b.style.display = "none";
				b.innerHTML = "&nbsp;";
				generaljs.addEvent(b, "click", HideImage);
				generaljs.addEvent(b, "click", generaljs.closeDialog);
				document.getElementsByTagName("body")[0].appendChild(b);
			}		
			var h = 0, w = 0;
			if (document.documentElement) h = parseInt(document.documentElement.scrollHeight);
			if (document.body.scrollHeight > h) h = parseInt(document.body.scrollHeight);
			if (document.body.clientHeight > h) h = parseInt(document.body.clientHeight);
			if (h > 0)
			{
				if (!document.all) h += 20;
				$("sashadow").style.height = h+"px";
			}
			if (document.documentElement) w = parseInt(document.documentElement.scrollWidth);
			if (w == 0) h = parseInt(document.body.scrollWidth);
			if (document.body.clientWidth > w) w = parseInt(document.body.clientWidth);
			if (w > 0) $("sashadow").style.width = w+"px";
			$("sashadow").style.display = "block";
			
			// Window Position
			settings.height = settings.height + 22;
			var x=0;var y=0;
			if(typeof window.pageXOffset!='undefined') { x=window.pageXOffset;y=window.pageYOffset; }
			else if(typeof document.compatMode!='undefined'&&document.compatMode!='BackCompat') { x=document.documentElement.scrollLeft;y=document.documentElement.scrollTop; }
			else if(typeof document.body!='undefined') { x=document.body.scrollLeft;y=document.body.scrollTop; }
			if (window.innerWidth) { if(window.innerWidth > settings.width) x += parseInt((window.innerWidth-settings.width)/2); }
			else if (document.documentElement) { if (document.documentElement.clientWidth > settings.width) x += parseInt((document.documentElement.clientWidth-settings.width)/2); }
			if (window.innerHeight) { if(window.innerHeight > settings.height) y += parseInt((window.innerHeight-settings.height)/2); }
			else if (document.documentElement) { if(document.documentElement.clientHeight > settings.height) y += parseInt((document.documentElement.clientHeight-settings.height)/2); }

			o.style.width = settings.width.toString()+"px";
			o.style.height = settings.height.toString()+"px";
			o.style.left = x.toString()+"px";
			o.style.top = y.toString()+"px";
			o.style.display = "block";
			
			return false;
		},
		
		closeDialog:function()
		{
			$("sashadow").style.display = "none";
			if($("popupLayer")) $("popupLayer").style.display = "none";
		},
		
		openPopup:function(url,w,h)
		{
			window.open(url,null, "width="+w.toString()+",height="+h.toString()+",scrollbars=1");
		}
};
generaljs.addEvent(window, "load", generaljs.load);
