//------- Spezielle Funktionen fŸr R+W

function switchpulldownNav(navObj)
{
	if (navObj.value != "-" && navObj.value.length > 0)
	{
		location.href = navObj.value;
	}
	else
	{
		navObj.selectedIndex = 0;
	}
}

function changePrdtxt(tarObj,txtnr)
{
	var textContainer= Array();
	var aktDiv = document.getElementById("pu-prdtext");
	var browsertyp=navigator.userAgent.toLowerCase();

	if(aktDiv.style.visibility == "hidden" || window.prdAkt != "ok")
	{
		textContainer[0] = '<b>Compacts et absolument sans jeu !<div class="pu-prd-txt-hl">Limiteurs de couple</div></b><ul><li>design extra compact<li>protection garantie contre les surcharges<li>prinzipe breveté R+W</ul>';

		textContainer[1] = "<b>Flexibles et rigides à la torsion !<div class='pu-prd-txt-hl'>Accouplements à soufflet</div></b><ul><li>pour applications ultra dynamiques<li>absolument sans jeu<li>versions à systéme d'accouplement rapide<li>compensation des désalignements</ul>";

		textContainer[2] = "<b>Insurable, sans entretien !<div class='pu-prd-txt-hl'>Lignes d'arbre</div></b><ul><li>montage facile<li>longueurs standard jusqu' à 6 mètres<li>pas de palier intermédiaire nécessairek</ul>";

		textContainer[3] = '<b>Universels et précis !<div class="pu-prd-txt-hl">Accouplement miniatures</div></b><ul><li>fabrication ultra précise<li>absolument sans jeu<li>compensation des désalignements<li>pour tout type de système de mesure et de contrôle</ul>';

		textContainer[4] = "<b>Préis et compact !<div class='pu-prd-txt-hl'>Accouplements élastomére</div></b><ul><li>longueur réduite d'un tiers<li>usure extrêmement faible<li>concentricité optmale</ul>";

		textContainer[5] = '<b>Sans jeu axial !<div class="pu-prd-txt-hl">Accouplements linéaires</div></b><ul><li>compact et léger<li>adapté à des forces axiales élevées<li>compensation des désalignments latéral et angulaire</ul>';

		aktDiv.innerHTML = textContainer[txtnr];
		//aktDiv.style.left = getLeft(tarObj)+tarObj.offsetWidth;
		//aktDiv.style.top = getTop(tarObj);

		aktDiv.style.left = getLeft(tarObj);
		aktDiv.style.top = getTop(tarObj)-aktDiv.offsetHeight;

		//////////// zu weit rechts?

		if (getLeft(aktDiv)+aktDiv.offsetWidth >= document.body.offsetWidth)
		{
			aktDiv.style.left = getLeft(tarObj) - aktDiv.offsetWidth;
		}

		//////////// zu weit rechts? Ende


		aktDiv.style.visibility = "visible";

		window.prdAkt = "ok";

	}
}

function clearPrdtxt()
{
	var aktDiv = document.getElementById("pu-prdtext");
	aktDiv.style.visibility = "hidden";
	window.prdAkt = false;
}

function showPrdTable(table,linkObj)
{
	aktTab = document.getElementById(table);

	if (aktTab.style.visibility != "visible")
	{
		aktTab.style.top = getTop(linkObj)+12;
		aktTab.style.left = getLeft(linkObj);
		aktTab.style.visibility ='visible';

		linkObj.lastChild.src = "../../images/menue/prdtable1.gif";

		newonMouseOver = document.createAttribute("onMouseOver");
 		newonMouseOver.nodeValue = "";
		newonMouseOut = document.createAttribute("onMouseOut");
 		newonMouseOut.nodeValue = "";
 		newName = document.createAttribute("name");
 		newName.nodeValue = "";

		linkObj.setAttributeNode(newName);
		linkObj.setAttributeNode(newonMouseOver);
		linkObj.setAttributeNode(newonMouseOut);
	}
	else
	{
		aktTab.style.visibility ='hidden';
		linkObj.lastChild.src = "../../images/menue/prdtable.gif";
	}
}

function mo_submenue(nummer)
{
	//------ Autor: Andreas JŠhrling
	//------ Erstellt: 02.11.04
	//------ Kommentar: FŸllt (Selektiert) die Zelle mit der ID "sub"+nummer mit der Farbe "color"

	if(akt_sub_ == nummer) //-------- akt_sub_ ("Aktuelles SubmenŸ") wird im ersten Script "Initialisierung" definiert
	{
		return;
	}

	var color="#A9006B";
	var zelle = document.getElementById("sub"+nummer);

	zelle.style.backgroundColor = color;
}



function out_submenue(nummer)
{
	//------ Autor: Andreas JŠhrling
	//------ Erstellt: 02.11.04
	//------ Kommentar: FŸllt (Deselektiert) die Zelle mit der ID "sub"+nummer mit der Farbe "color"

	if(akt_sub_ == nummer) //-------- akt_sub_ ("Aktuelles SubmenŸ") wird im ersten Script "Initialisierung" definiert
	{
		return;
	}


	var color="#CDCDCD";
	var zelle = document.getElementById("sub"+nummer);


	zelle.style.backgroundColor = color;
}

//------------------- PopUp Funktionen


function popup_loeschen(objekt)
{
	//------ Autor: Andreas JŠhrling
	//------ Erstellt: 05.06.04
	//------ Kommentar: Lšscht alle Inhalt aus einem Popup
	var NeuerEintrag = new Option("", "");
	objekt.options[0] = NeuerEintrag;
	objekt.value = "";

	objekt.length=0;
	objekt.selectedIndex=0;
}




function popup_fuellen(objekt, texte, werte)
{
	//------ Autor: Andreas JŠhrling
	//------ Erstellt: 05.06.04
	//------ Kommentar: Schreibt die Werte aus den Arrays "texte", "werte" in ein Popup und selektiert den ersten Eintrag

	objekt.length=0;

	for(var i=0; i<werte.length; i++)
	{
		var NeuerEintrag = new Option(texte[i], werte[i]);
		objekt.options[objekt.length] = NeuerEintrag;
		objekt.value = "";
	}
	objekt.selectedIndex=0;
}


function colortxt(zelle)
{
	// Autor : Thomas BŸchler
	// Erstellt : 29.06.2004
	// Kommentar : Im Body-Tag als onload eingesetzt, kann man hiermit bestimmte SchlŸsselworte einfaerben oder anderweitig filtern sowie Ausnahmen definieren
	// Benštigt: str_replace

	textzelle = document.getElementById(zelle);
	haystack = textzelle.innerHTML;

	//alert(haystack);

	var Filtern = new Array;

	Filtern[0] = "BLAU,<span class='blau'>BLAU</span>";


	//-- HL-DIVs filtern

	var Umgehen = new Array;
	var Ersatz = new Array;

	Umgehen[0] = "<DIV class=\"hl\">,</DIV>";				// ELEMENTE, DIE NICHT GEFILTERT WERDEN DUERFEN!

	var f=0;
	for(var i=0;i<Umgehen.length;i++)
	{
		var begriffe = Umgehen[i].split(",");
		umgehen1 = begriffe[0];
		umgehen2 = begriffe[1];

		var Pos = haystack.indexOf(umgehen1);



		while (Pos >= 0)
    	{
    		var Pos2 = haystack.indexOf(umgehen2, Pos);

    		len_umgehung = haystack.substring(Pos,Pos2);

			haystack = str_replace(len_umgehung+umgehen2, "*"+f+"*", haystack);


			Ersatz[f] = len_umgehung+umgehen2;

			Pos = haystack.indexOf(umgehen1,Pos);

    		f++;
    	}

	}
	//-- HL-DIVs filtern

	for(var i=0;i<Filtern.length;i++)
	{
		var begriffe = Filtern[i].split(",");
		var strsearch = begriffe[0];
		var strreplace = begriffe[1];

		haystack = str_replace(strsearch, strreplace, haystack);

	}


	for(var i=0;i<Ersatz.length;i++)
	{
		if (haystack.indexOf("*"+i+"*") != -1)
		{
			haystack = str_replace("*"+i+"*", Ersatz[i], haystack);
		}
	}
	textzelle.innerHTML = haystack;
}


function str_replace(strsearch, strreplace, haystack)
{
	// Autor : Thomas BŸchler
	// Erstellt : 13.04.2004
	// Kommentar : Ersetzt alle strsearch innerhalb haystack durch strreplace

	if ((haystack == null) || (strsearch == null))
	{
		return null;
	}

   	if ((haystack.length == 0) || (strsearch.length == 0))
   	{
   		return haystack;
   	}

    if ((strreplace == null) || (strreplace.length == 0))
    {
    	strreplace = "";
    }

    var len_strsearch = strsearch.length;
    var len_strreplace = strreplace.length;
    var Pos = haystack.indexOf(strsearch, 0);

    while (Pos >= 0)
    {
    	haystack = haystack.substring(0, Pos) + strreplace + haystack.substring(Pos + len_strsearch);
    	Pos = haystack.indexOf(strsearch, Pos + len_strreplace);
    }

  	//  alert(haystack);

    return haystack;
}


function getLeft(targetObject)
{
/*
	Info: Gibt die absolute x_Position eines Objektes im Dokument zurŸck (DOM 2)
	Autor: Thomas BŸchler
	Erstellt: 05.02.2004
	Letzte €nderung: 05.02.2004

*/
	if (targetObject.offsetParent) return (targetObject.offsetLeft + getLeft(targetObject.offsetParent));
	else return (targetObject.offsetLeft);
}


function getTop(targetObject)
{
/*
	Info: Gibt die absolute y_Position eines Objektes im Dokument zurŸck (DOM 2)
	Autor: Thomas BŸchler
	Erstellt: 05.02.2004
	Letzte €nderung: 05.02.2004

*/

	if (targetObject.offsetParent) return (targetObject.offsetTop + getTop(targetObject.offsetParent));
	else return (targetObject.offsetTop);
}

function pageOffset(win)
{
	/*
	Info: Hilft bei IE scrolloffset-Problem (wenn fenster gescrollt, mausposition falsch)
	Autor: Thomas BŸchler
	Erstellt: 03.12.2004
*/

    if(!win) win = window;
    var pos = {left:0,top:0};
    pos.left = typeof win.pageXOffset != 'undefined' ?
               win.pageXOffset : // MZ
               (document.compatMode && document.compatMode == "CSS1Compat") ?
               document.documentElement.scrollLeft : // IE Strict Modus
               win.document.body.scrollLeft;

    pos.top = typeof win.pageYOffset != 'undefined' ?
              win.pageYOffset : // MZ
              (document.compatMode && document.compatMode == "CSS1Compat") ?
              document.documentElement.scrollTop : // IE Strict Modus
              win.document.body.scrollTop;
    return pos;
}

function testMousepos(targetDiv)
{
/*
	Info: PrŸft die Position des Mauszeigers relativ zum gewŸnschten Objekt >> true/false (DOM 2)
	Autor: Thomas BŸchler
	Erstellt: 05.02.2004
	Letzte €nderung: 3.12.2004

*/
	if (document.getElementById(targetDiv))
	{
		var targetDiv = document.getElementById(targetDiv);
	}

	var targetDivX = getLeft(targetDiv);
	var targetDivY = getTop(targetDiv);

	var targetDivW = targetDivX + targetDiv.offsetWidth;
	var targetDivH = targetDivY + targetDiv.offsetHeight;

	var browsertyp=navigator.userAgent.toLowerCase();

	//alert(browsertyp);

	if(((browsertyp.indexOf("netscape") != -1 || browsertyp.appName == "Netscape" || browsertyp.indexOf("mozilla") != -1) && browsertyp.indexOf("opera") == -1 && browsertyp.indexOf("msie") == -1) && browsertyp.indexOf("safari") == -1)
	{
		function handleMove(pos)
		{
			window.mousX=pos.clientX+pageOffset().left;
			window.mousY=pos.clientY+pageOffset().top;
		}
		document.addEventListener("mousemove", handleMove, true);
		document.addEventListener("mouseover", handleMove, true);
		document.addEventListener("mouseout", handleMove, true);
	}
	else  if(browsertyp.indexOf("msie") != -1 || browsertyp.indexOf("opera") != -1)
	{
			e = window.event;
			window.mousX = e.x+pageOffset().left;
			window.mousY = e.y+pageOffset().top;
	}
	else  if((browsertyp.indexOf("safari") != -1 ))
	{
			e = window.event;
			window.mousX = e.x;
			window.mousY = e.y;
	}

	if(!((window.mousX <= targetDivW) && (window.mousY <= targetDivH) && (window.mousX >= targetDivX) && (window.mousY >= targetDivY)) &&  window.mousX != -1 && window.mousY != -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}


function bild_geladen(objekt)
{
/*
	ACHTUNG !!!!!!! OnClick-Events dŸrfen nur auf dem Objekt liegen, das die funktion auslšst!!!

	Info: Legt Layer mit Lupensymbol zu gro§em Image Ÿber das gewŸnschte Objekt, wird bei normalerweise bei "zoombildern" aufgerufen (DOM 2)
	Autor: Thomas BŸchler
	Erstellt: 05.02.2004
	Letzte €nderung: 04.11.2004
*/

	if (objekt.parentNode.lastChild.nodeName != "DIV")
	{
		var newLayer = document.createElement("div");
		var newLink = document.createElement("a");
		var newpicLink = document.createElement("a");
		var newImg = document.createElement("img");

		aktImg = objekt;
		aktImg.setAttribute("onLoad","");
		aktImg.onload ="";

	//------------------
		var newLnkAttr = document.createAttribute("onload");
 		newLnkAttr.nodeValue = "";

		aktImg.setAttributeNode(newLnkAttr);		//----    <- FŸr MSIE
	//------------------

		newImg.src = homepfad_+"images/symbole/lens.gif";
		newImg.style.border = 0;

		objektname = objekt.src;
		l=objektname.length;
		pos = objektname.lastIndexOf("/");

		objektname = objektname.substring(pos+1, l);
		bpfad= "images/big/"+objektname;

		newLink.href = "javascript:zoom('"+bpfad+"','')";
		newLink.setAttribute("onClick", "zoom('"+bpfad+"','');");		//----    <- FŸr MSIE

		newpicLink.href = "javascript:zoom('"+bpfad+"','')";
		newpicLink.setAttribute("onClick", "zoom('"+bpfad+"','');");		//----    <- FŸr MSIE

		newLayer.style.zindex = 15;
		newLayer.style.visibility = "visible";
		//newLayer.style.position = "absolute";

		newLink.appendChild(newImg);
		newLayer.appendChild(newLink);

		newpicLink.appendChild(objekt.cloneNode(true));

	//	objekt.parentNode.appendChild(newpicLink);
		objekt.parentNode.appendChild(newLayer);
	//	objekt.parentNode.removeChild(objekt);

	}

}

function prdpic_zoom(objekt)
{
/*
	ACHTUNG !!!!!!! OnClick-Events dŸrfen nur auf dem Objekt liegen, das die funktion auslšst!!!

	Info: Legt Layer mit Lupensymbol und  auch Link zu gro§em Image Ÿber das gewŸnschte Objekt, wird bei normalerweise bei "zoombildern" aufgerufen (DOM 2)
	Autor: Thomas BŸchler
	Erstellt: 05.02.2004
	Letzte €nderung: 04.11.2004
*/

	if (objekt.parentNode.lastChild.nodeName != "DIV")
	{
		var newpicLink = document.createElement("a");

		aktImg = objekt;

		var newAttr = document.createAttribute("onLoad");
 		newAttr.nodeValue = "";
		aktImg.setAttributeNode(newAttr);

		objektname = objekt.src;
		l=objektname.length;
		pos = objektname.lastIndexOf("/");

		objektname = objektname.substring(pos+1, l);
		bpfad= "images/big/"+objektname;

		newpicLink.href = "javascript:zoom('"+bpfad+"','')";

		newLnkAttr = document.createAttribute("onClick");
 		newLnkAttr.nodeValue = "zoom('"+bpfad+"','');";

		newpicLink.setAttributeNode(newLnkAttr);		//----    <- FŸr MSIE

		newpicLink.appendChild(objekt.cloneNode(true));

		objekt.parentNode.appendChild(newpicLink);
		objekt.parentNode.removeChild(objekt);
	}

}

function markRow(rowObject)
{


	//------ Autor: Thomas Büchler
	//------ Erstellt: 08.11.04
	//------ Kommentar: Hebt eine per MouseOver aktivierte Reihe in einer Tabelle hervor

	var rowElems = rowObject.childNodes;	//-----Hat das aktuelle Objekt Kinder?
	var rowElemsNum = rowElems.length;

	for (var i=0;i<rowElemsNum;i++)
	{
		if(rowElems[i].nodeType == 1) 		//-----Kind ist ein HTML-ELEMENT (TD)
		{
			var actClass = rowElems[i].getAttributeNode('class').nodeValue;	//-----Aktuelle CSS-Klasse

			if (actClass.indexOf("sel-") == -1)	//-----Aktuelle CSS-Klasse ist keine Sel-Klasse
			{
				var newClass = document.createAttribute("class");
 				newClass.nodeValue = 'sel-'+actClass;

				rowElems[i].setAttributeNode(newClass);

			}
		}
	}

}

function unmarkRow(rowObject)
{

	//------ Autor: Thomas Büchler
	//------ Erstellt: 08.11.04
	//------ Kommentar: Macht markRow() rŸckgŠngig

	var rowElems = rowObject.childNodes;	//-----Hat das aktuelle Objekt Kinder?
	var rowElemsNum = rowElems.length;

	for (var i=0;i<rowElemsNum;i++)
	{
		if(rowElems[i].nodeType == 1) 		//-----Kind ist ein HTML-ELEMENT (TD)
		{
			var actClass = rowElems[i].getAttributeNode('class').nodeValue;	//-----Aktuelle CSS-Klasse

			if (actClass.indexOf("sel-") != -1)	//-----Aktuelle CSS-Klasse ist keine Sel-Klasse
			{
				var newClass = document.createAttribute("class");
 				newClass.nodeValue = actClass.substr(4,actClass.length);

				rowElems[i].setAttributeNode(newClass);

			}
		}
	}

}

//---****************** Zoomfunktionen **********************************


var akt_fensternummer=1; // wird um eins erhšht wenn ein neues Fenster mit zoom_datei gešfnet wird


function zoom_seite(pfad, x, y) //--------------- …ffnet eine bereits vorhandene HTML-Datei in definierter grš§e
{
	hl=akt_fensternummer; // -- somit wird immer ein neues Fenster gešffnet
	akt_fensternummer++;
	x=max_x(x);
	y=max_y(y);

	fenster = open(pfad,hl,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width="+x+",height="+y+",screenX=50,screenY=50,top=50,left=50");
}



function zoom(pfad, text)
{
/*
	Info: …ffnet ein Bild in einem neuen Fensterund passt dessen Grš§e der des Bildes an
	Autor: Anderas JŠhrling
	Erstellt: verdammt lang her
	Letzte €nderung: 29.03.2004 / Diverse Korrekturen
*/

	neues_fenster = window.open('', "Window", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=50,height=50,screenX=50,screenY=50,top=50,left=50");
	neues_fenster.document.open();

	with(neues_fenster.document)
	{
		writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">');
		writeln('<html>');
		writeln('<head>');
		writeln('<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">');

		writeln('<style type="text/css" type="text/css" media="screen"><!--');
		writeln('.zoombild { border: solid 1px gray; background-color: white; padding: 7px }');
		writeln('--></style>');
		writeln('<title>Zoom</title>');
		writeln('</head>');

		writeln('<body onload="resize();" bgcolor=#E6E6E6  leftmargin="0" marginheight="0" marginwidth="0" topmargin="5">');
		writeln('<div align="center"><a href="#" onclick="window.close();"><img class="zoombild" id="bild"  src="'+pfad+'" border="0" alt="" title=""></a></div>');

		writeln('<script language="javascript"><!--');
		writeln('function resize(){');

			writeln('var abstand_x = 50;');
			writeln('var abstand_y = 50;');
			writeln('var ausgleich = 0;');

			writeln('p_width=document.getElementById("bild").width;');
			writeln('p_height=document.getElementById("bild").height;');

			writeln('if (document.images[0]) window.resizeTo(p_width+abstand_x, p_height+abstand_y);');
			writeln('self.focus();}');

				writeln('setTimeout("resize()", 100);');//--------- muss wegen Safari rein :(

		writeln('//--></script>');



		writeln('</body>');
		writeln('</html>');
	}

	neues_fenster.document.close();

}


function show_picture(objekt)
{
	verzeichniss= "images/big/";
	datei=dateiname(objekt);
 	zoom(verzeichniss+datei, "");
}



function dateiname(objekt) // Zur Zeit nur mit IE ab Version 5 und NS ab Version 6 funktionsfŠhig
{

	if (navigator.appName == "Netscape")
	{
		pfad=objekt.target.src;
	}
	else
	{
		pfad=objekt.srcElement.src;
	}


	l=pfad.length;
	pos=pfad.lastIndexOf("/");

	return pfad.substring(pos+1, l);
}


//---******************************************************************************
function max_x(x)
{

	if(ScriptOK)
	{
		if(x>(screen.width-40))
		{
			x=screen.width-40;
		}
	}
	return x;
}



function max_y(y)
{
	if(ScriptOK)
	{
		if(y>(screen.height-40))
		{
			y=screen.height-40;
		}
	}
	return y;
}

//---*************** Cookies **************************************************************


function setCookie(name, wert, domain, expires, path, secure){
	if(path==""){path="/";}

   //var cook = name + "=" + unescape(wert);
   var cook = name + "=" + escape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "";
   cook += (secure) ? "; secure" : "";
   document.cookie = cook;

}



function eraseCookie(name, domain, path){
	if(path==""){path="/";}
   var cook="name=; expires=Thu, 01-Jan-70 00:00:01 GMT"
   cook += (domain) ? "domain="+domain : ""
   cook += (path) ? "path="+path : ""
   document.cookie = cook
}


function getCookie(name){
   var i=0  //Suchposition im Cookie
   var suche = name+"="
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length)
         ende = (ende>-1) ? ende : document.cookie.length
         var cook = document.cookie.substring(i+suche.length, ende)
         return unescape(cook)
      }
      i++
   }
   return ""
}


function checkCookie(){
   setCookie("CookieTest", "OK")
   if (!getCookie("CookieTest"))
      return false
   else{
      eraseCookie("CookieTest")
      return true
   }
}
