

function getElementbyClass(classname)
{
 var inc=0;
 var customcollection=new Array();
 var alltags=document.all? document.all : document.getElementsByTagName("*");
 for (i=0; i<alltags.length; i++)
 {
   if (alltags[i].className==classname)
     customcollection[inc++]=alltags[i];
 }
 return customcollection;
} 



function mauspfeil ( pfeil )
{
 this.style.cursor = pfeil;
}


function link ( wohin )
{
	window.location.href = wohin;
}

function linkout ( wohin )
{
	window.open ( wohin, "_blank", "top=20,left30,resizable=yes,scrollbars=yes,statusbar=yes,toolbar=yes,location=yes,menubar=yes" );
}

var Vorladen = new Array();
function BilderVorladen()
{
	for(var i = 0; i < BilderVorladen.arguments.length; i++)
	{
		Vorladen[i] = new Image();
		Vorladen[i].src = BilderVorladen.arguments[i];
	}
}




/***************
Textfarbe ändern
***************/
function highlight ( id, da )
{
	if ( da == 1 )
	{
		document.getElementById( id ).style.color="#ee0000";
	}
	else
	{
		document.getElementById( id ).style.color="#000000";
	}
}

function itemsymbole ( id, da )
{
 
 
  if ( da == 1 )
	{
		document.getElementById( id + "_raute" ).style.visibility="visible";
		document.getElementById( id + "_pfeil" ).style.visibility="visible";
		document.getElementById( id + "_zoom" ).style.visibility="visible";
	}
	else
	{
		document.getElementById( id + "_raute" ).style.visibility="hidden";
		document.getElementById( id + "_pfeil" ).style.visibility="hidden";
		document.getElementById( id + "_zoom" ).style.visibility="hidden";
	}


}

var m_Sticky = false;
var m_PrevId = 0;
function ElementAnAus ( id, da, sticky )
{
	var tmp = false;
	if ( sticky != '' )
	{
		if ( m_Sticky && da == 1 )
		{
			da = -1;
			m_Sticky = false;
		}
		else
		{
			m_Sticky = sticky;
		}
	}
	
	if ( id != m_PrevId && m_PrevId!=0 )
	{
		document.getElementById( m_PrevId ).style.visibility="hidden";
		document.getElementById( m_PrevId ).style.display="none";
		m_Sticky = false;
	}
	
  if ( da == 1 )
	{
		document.getElementById( id ).style.visibility="visible";
		document.getElementById( id ).style.display="block";
		m_PrevId = id;
	}
	else
	{
		if ( !m_Sticky )
		{
			document.getElementById( id ).style.visibility="hidden";
			document.getElementById( id ).style.display="none";
		}		
	}
}




/*
 * Alles fürs Bier
 */
function neueZeileTabelle ( id, Zeile )
{
	Zeile = decodeURIComponent(Zeile);
	var Elemente = document.getElementById ( id ).childNodes;
	var i = 0;
	var lastnummer = 0;
	alert ( Elemente.length );
	for ( i=0;i<Elemente.length;i++ )
	{
		if ( Elemente[i].nodeName == "TR" )
		{
			lastnummer++;
		}
		
	}
	var newChild = document.createElement("tr");
	Elemente[0].appendChild( newChild );
	
}


/**************
Für die Eingabe
**************/
function Choose ( Form )
{
	var tmp;
	var tmp2;
	var i;
	var arTmp;
	var arTmp2;
	
	tmp = document.Lager.TBFelder.value;
	if ( tmp.length == 0 )
	{
		tmp2 = document.getElementsByName( Form )[0].value;
		document.Lager.TBFelder.value = Form + "##" + tmp2;
	}
	else
	{
		tmp2 = document.getElementsByName( Form )[0].value;
		tmp = tmp + "###" + Form + "##" + tmp2;

		arTmp = tmp.split ( "###" );
		for ( i=0; i < arTmp.length;i++ )
		{
			arTmp2 = arTmp[i].split ("##");
			if ( arTmp2[0] == Form )
			{
				if ( i == 0 )
				{
					i = arTmp.length;
					tmp = arTmp2[0] + "##" + tmp2;
				}
				else
				{
					i = arTmp.length;
					tmp = tmp + "###" + arTmp2[0] + "##" + tmp2;
				}

				document.Lager.TBFelder.value = tmp;
			}
			else
			{
				if ( i > 0 )
				{
					tmp = tmp + "###" + arTmp2[0] + "##" + arTmp2[1];
				}
				else
				{
					tmp = arTmp2[0] + "##" + arTmp2[1];
				}
			}
		}
	}
	document.Lager.submit ();
}



/***************
Für den Kalender
***************/
function Monate ( richtung )
{
	if ( richtung == "zur" )
	{
		document.Kalender.richtung.value = "zurueck";
	}
	else if ( richtung == "vor" )
	{
		document.Kalender.richtung.value = "vor";
	}
	document.Kalender.submit();
}


/*******
Fürn rss
*******/
var Fenster
function rsscom ( id )
{
	var w = window.name;
	Fenster = window.open ("comm.php?d=" + id + "&w=" + w,"Kommentarfenster","height=360,width=460,dependent=yes,screenY=250,screenX=260,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
}


function senden()
{
	window.setTimeout("fensterzu()", 1000 );
}

function fensterzu ()
{
	window.close();
}

function test()
{
	window.name = "hauptfenster";
	var strURL = document.URL;

	if ( strURL.indexOf("intern/chat/") != -1  )
	{
		getMsgs();
	}
}

/********
 FORUM Edit
 *********/
 
function postedit ( wo, id )
{
	var w = window.name;
	Fenster = window.open ("../../include/postedit.php?wo=" + wo + "&d=" + id + "&w=" + w,"Editieren","height=360,width=460,dependent=yes,screenY=250,screenX=260,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
	
} 

function forumedit ( wo, threadid, id )
{
	var w = window.name;
	Fenster = window.open ("../../include/postedit.php?wo=" + wo + "&threadid=" + threadid +"&d=" + id + "&w=" + w,"Editieren","height=360,width=460,dependent=yes,screenY=250,screenX=260,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
	
} 

function forumaus (welches, id)
{
  window.location.href = '../../include/postedit.php?wo=' + welches +'&d=' + id;
	
}

function internpostedit ( wo, id )
{
	var w = window.name;
	Fenster = window.open ("../../../include/postedit.php?wo=" + wo + "&d=" + id + "&w=" + w,"Editieren","height=360,width=460,dependent=yes,screenY=250,screenX=260,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
	
} 

function internforumedit ( wo, threadid, id )
{
	var w = window.name;
	Fenster = window.open ("../../../include/postedit.php?wo=" + wo + "&threadid=" + threadid +"&d=" + id + "&w=" + w,"Editieren","height=360,width=460,dependent=yes,screenY=250,screenX=260,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
	
} 

function internforumaus (welches, id)
{
  window.location.href = '../../../include/postedit.php?wo=' + welches +'&d=' + id;
	
}

function bibbipostedit ( wo, id )
{
	var w = window.name;
	Fenster = window.open ("../../../include/postedit.php?wo=" + wo + "&d=" + id + "&w=" + w,"Editieren","height=360,width=460,dependent=yes,screenY=250,screenX=260,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
	
} 


/*************
Für den Ticker
*************/

var iFBreite = window.innerWidth - 200;
var iZeit = 20;
var iWeite = 2;
var iAktx = iFBreite;
var iAktright = 100;


function guggn ()
{
	clearTimeout(pid);
}

function Tick ()
{
	iAktx -= iWeite;
	if ( iAktx <= -300 )
	{
		iAktx = iFBreite; 
		//alert( "einmal rumm" );
	}
	
	if ( document.all == true )
	{
		document.all.tickerdiv.style.setAttribute( "left", iAktx );
	}
	else
	{
		if ( iAktx > -300 )
		{
			document.getElementById( "tickerdiv" ).style.left = iAktx + "px";
			pid = window.setTimeout( "Tick (  )", iZeit );
		}
	}
}

function moveDiv ()
{
	document.getElementById( "tickerdiv" ).onmouseover = guggn;
	document.getElementById( "tickerdiv" ).onmouseout = Tick;
	Tick ();
}


/*********************************************
Überprüfen ob da auch Zahlen eingegeben werden
*********************************************/
function Zahl ()
{
	var objForm = document.getElementById("punktevergabe");
	
	for ( i = 0; i < objForm.elements.length; i++ )
	{
	    if ( objForm.elements[i].value == "")
    	{
			alert("Hier steht nix drinne!");
			objForm.elements[i].focus();
			return false;
		}
		else if ( isNaN ( objForm.elements[i].value ) )
		{
			alert("Hey du Kopp, das ist keine Zahl!");
			objForm.elements[i].focus();
			return false;		
		}
		
		return true;
	}
}

function leer ()
{
	var objForm = document.getElementById("createvote");
	
	for ( i = 1; i < objForm.elements.length; i++ )
	{
	    if ( objForm.elements[i].value == "")
    	{
			alert("Hier steht nix drinne!");
			objForm.elements[i].focus();
			return false;
		}
		
		return true;
	}
}
/************************
Assilexikon Ton abspielen
************************/
function playsound( id, file )
{
	document.getElementById( id ).innerHTML = "<embed src=\"ton/" + file + "\" type=\"audio/x-wav\" autostart=\"true\" loop=\"false\" hidden=\"true\"></embed>";
	
	//document.embeds['file'].play();
}


/************************************
Im Voting weitere Meinungen eintragen
************************************/
function addTextbox ()
{
	var tmpFeld = document.getElementById("Meinungsfeld").innerHTML;
	var tmpID = document.getElementById("Meinungen").value;
	var Feld;

	var tmp = document.createAttribute("class");
	tmp.nodeValue = "votefeld";	

	tmpID++;

	var oTextBox = document.createElement ( "input" );	
	oTextBox.type = "text";
	oTextBox.name = "mind" + tmpID;
	oTextBox.id = "mind" + tmpID;
	oTextBox.value = "mind" + tmpID;
	oTextBox.size = "30";
	oTextBox.maxlength = "200";
	oTextBox.tabindex = "5";
	oTextBox.className = "votefeld";

	//Feld = "<input class=\"votefeld\" type=\"text\" name=\"mind" + tmpID + "\" tabindex=\"4\" maxlength=\"200\" size=\"30\" value=\"guhl"+tmpID+"\" />\n";
	var id = "mind" + tmpID;
	//document.getElementById("Meinungsfeld").innerHTML = tmpFeld + Feld;
	document.getElementById("Meinungsfeld").appendChild( oTextBox );
	//document.getElementById(id).setAttributeNode(tmp);
	document.getElementById("Meinungen").value = tmpID;
}

/*****************************
Funktionen für die Fotogalerie
Versuche mit AJAX
*****************************/
function getGalerie ( id )
{
	var strNavi = "<div class=\"diaarschleiste\" id=\"diaarschleiste\"></div>";

	var strNegativ = "<div class=\"negativbg\">\n<div class=\"thumbhide\"></div>\n<div class=\"thumb\"> <img src=\"bild1.jpg\" /> </div></div>";
	var objXMLHttp  = new XMLHttpRequest();
	var objXMLHttp2  = new XMLHttpRequest();
	
	objXMLHttp.open ( "GET", "getthumbs.php?id=" + id, true );
	
	objXMLHttp.onreadystatechange = function ()
	{
		if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
		{
			document.getElementById("galeriethumbs").innerHTML = objXMLHttp.responseText;
			document.getElementById("galerieliste").innerHTML = "";
		}
	}
	objXMLHttp.send( null );

	objXMLHttp2.open ( "GET", "getthemes.php?id=" + id, true );
	
	objXMLHttp2.onreadystatechange = function ()
	{
		if ( ( objXMLHttp2.readyState == 4 ) && ( objXMLHttp2.status == 200 ) )
		{
			document.getElementById("diaarschleiste").innerHTML = objXMLHttp2.responseText;
			document.getElementById("diaarschleiste").style.visibility="visible";
			//document.getElementById("diaarschleiste_0").style.display="block";
		}
	}
	objXMLHttp2.send( null );
}



function getImage ( id )
{
	var Fenster = window.open ("getbig.php?id=" + id+"#" + id ,"Popop","height=670,width=850,dependent=yes,screenY=40,screenX=80,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
	
}


/*******
Assitest
*******/
//Events initialisieren
function initEvents (  )
{
	var oElementA = document.getElementById( "idA" );
	oElementA.onclick = setchecked;

	var oElementB = document.getElementById( "idB" );
	oElementB.onclick = setchecked;

	var oElementC = document.getElementById( "idC" );
	oElementC.onclick = setchecked;

	var oElementD = document.getElementById( "idD" );
	oElementD.onclick = setchecked;

}

var checked = "-1";

function setchecked ( oEvent )
{
	var oEvent = oEvent || window.event;
	var id = oEvent.target || oEvent.srcElement;
	
	document.getElementById( "idA" ).src = "png/antwort_a.png";
	document.getElementById( "idB" ).src = "png/antwort_b.png";
	document.getElementById( "idC" ).src = "png/antwort_c.png";
	document.getElementById( "idD" ).src = "png/antwort_d.png";
	
	var sBild = document.getElementById( id.id ).src;
	var arBild = sBild.split("/inhalt/assitest/");
	arBild = arBild[1].split(".");
	sBild = arBild[0] + "_aktiv." + arBild[1];
	document.getElementById( id.id ).src = sBild;
	checked = id.id;
	document.getElementById( "idABCD" ).value = checked.substr(2,1);
	document.getElementById( "idOK" ).src = "png/okknopp_aktiv.png";
}


function antworten ()
{
	var strAntwort = document.getElementById( "idABCD" ).value;
	var objXMLHttp  = new XMLHttpRequest();
	
	if ( document.getElementById( "idABCD" ).value != "nix" )
	{
		objXMLHttp.open ( "POST", "frage.php", true );
		objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
		objXMLHttp.onreadystatechange = function ()
		{
			if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
			{
				document.getElementById("Fragerahmen").innerHTML = objXMLHttp.responseText;
			}
		}
		objXMLHttp.send( "id=" + strAntwort );
	}
}


/*****
NIKKIS
*****/
function bigbild ( bild, eid, tab )
{
	var objXMLHttp  = new XMLHttpRequest();
	
	objXMLHttp.open ( "POST", "bigimg.php", true );
	objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	objXMLHttp.onreadystatechange = function ()
	{
		if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
		{
			document.getElementById( eid ).innerHTML = objXMLHttp.responseText;
		}
	}
	objXMLHttp.send( "id=" + bild + "&was=" + tab );
	
}



function bildwechsel ( id, bild )
{
	document.getElementById( id ).style.backgroundImage = "url(\"" + bild + "\")";
}

/****
DUDEN
****/
function anzeigen ( id )
{
	var oDiv = document.getElementById ( id );
	if ( oDiv.style.visibility == "hidden" )
	{
		oDiv.style.visibility="visible";
		oDiv.style.display="";
	}
	else if ( oDiv.style.visibility == "visible" || oDiv.style.visibility == "" )
	{
		oDiv.style.visibility="hidden";
		oDiv.style.display="none";
	}
}

function saeule ( mode )
{
	if ( mode == 0 )
	{
		document.getElementById("stat").style.visibility="hidden";
	}
	else if ( mode == 1 )
	{
		document.getElementById("stat").style.visibility="visible";
	}
}

/****
EMIAL
****/
function testmail ( id )
{
	var mail = document.getElementById( "absender" ).value;
	var objXMLHttp  = new XMLHttpRequest();
	objXMLHttp.open ( "POST", "mailtest.php", true );
	objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	objXMLHttp.onreadystatechange = function ()
	{
		if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
		{
			if ( -1 == objXMLHttp.responseText )
			{
				document.getElementById( id ).style.visibility = "visible";
				document.getElementById( "SBsend" ).disabled = true;
			}
			else if ( 1 == objXMLHttp.responseText )
			{
				document.getElementById( id ).style.visibility = "hidden";
				document.getElementById( "SBsend" ).disabled = false;
			}
		}
	}
	objXMLHttp.send( "mail=" + mail );
	
}

var azeit = 0;
var neutext = false;

/****
CHAT!
****/
function getMsgs ()
{
	var buddies = document.getElementById( "Chatbuddies" );
	var nachrichten = document.getElementById( "Chatmsgs" );
	var text = "";
	var buddylist = "";
	//"<embed src=\"ton/" + file + "\" type=\"audio/x-wav\" autostart=\"true\" loop=\"false\" hidden=\"true\"></embed>"

	var objXMLHttp  = new XMLHttpRequest();
	var objXMLHttp1  = new XMLHttpRequest();

	azeit++;
	if ( azeit >= 245 && neutext )
	{
		document.getElementById( "ton" ).innerHTML = "<embed src=\"ton/zehn.wav\" type=\"audio/x-wav\" autostart=\"true\" loop=\"false\" hidden=\"true\"></embed>";
		azeit = 0;
		neutext = false;
	}

	objXMLHttp.open ( "POST", "assic.php", true );
	objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	objXMLHttp.onreadystatechange = function ()
	{
		if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
		{
			text = objXMLHttp.responseText;
			if ( text.indexOf("---###---") == -1 )
			{
				if ( text.indexOf(" ist zum labbn bereit!!") != -1 )
				{
					document.getElementById( "ton" ).innerHTML = "<embed src=\"ton/login.wav\" type=\"audio/x-wav\" autostart=\"true\" loop=\"false\" hidden=\"true\"></embed>";
				}
				if ( text.indexOf(" hat sich abgemeldet!!") != -1 )
				{
					document.getElementById( "ton" ).innerHTML = "<embed src=\"ton/logout.wav\" type=\"audio/x-wav\" autostart=\"true\" loop=\"false\" hidden=\"true\"></embed>";
				}				
				nachrichten.innerHTML = text + nachrichten.innerHTML;
				neutext = true;
				if ( azeit < 245 )
				{
					azeit = 0;
				}
			}
			else
			{
				neutext = false;
			}
		}
	}
	objXMLHttp.send( "status=liste" );

	objXMLHttp1.open ( "POST", "assic.php", true );
	objXMLHttp1.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	objXMLHttp1.onreadystatechange = function ()
	{
		if ( ( objXMLHttp1.readyState == 4 ) && ( objXMLHttp1.status == 200 ) )
		{
			buddylist = objXMLHttp1.responseText;
			if ( buddylist.indexOf("nix") == -1 )
			{
				buddies.innerHTML = buddylist;
			}
			window.setTimeout ( "getMsgs( )", 2000 );
		}
	}
	objXMLHttp1.send( "status=buddies" );
}




function sendmsg ()
{
	var buddies = document.getElementById( "Chatbuddies" );
	var nachrichten = document.getElementById( "Chatmsgs" );
	var name = document.getElementById( "name" ).value;
	var nachricht = escape( document.getElementById( "nachricht" ).value );
	var text = "";
	document.getElementById( "nachricht" ).value = "";

	if ( nachricht != "" )
	{
		var objXMLHttp  = new XMLHttpRequest();
		objXMLHttp.open ( "POST", "assic.php", true );
		objXMLHttp.setRequestHeader ( "Accept-Charset", "iso-8859-1" );
		objXMLHttp.setRequestHeader ( "Accept-Language", "de-DE" );
		objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
		objXMLHttp.onreadystatechange = function ()
		{
			if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
			{
				text = objXMLHttp.responseText;
				text = text.split("----##----");
				if ( text[1].indexOf("nix") == -1 )
				{
					buddies.innerHTML = text[1];
				}
				nachrichten.innerHTML = text[0] + nachrichten.innerHTML;
				//nachrichten.scrollTo(0,30);
			}
		}
		objXMLHttp.send( "status=eintragen&Nutzer="+ name +"&Nachricht=" + nachricht );
	}
}


/*********

WM Zeug

**********/
function tippen ( id, name )
{
	var DivID = document.getElementById( id );
	var text = "";
	var iID = id

		var objXMLHttp  = new XMLHttpRequest();
		objXMLHttp.open ( "POST", "tippen.php", true );
//		objXMLHttp.setRequestHeader ( "Accept-Charset", "iso-8859-1" );
//		objXMLHttp.setRequestHeader ( "Accept-Language", "de-DE" );
		objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
		objXMLHttp.onreadystatechange = function ()
		{
			if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
			{
				text = objXMLHttp.responseText;
				DivID.innerHTML = text;
			}
		}
		objXMLHttp.send( "id=" + iID +"&name=" + name );
}

function setbet ( iId, name )
{
	var DivID = document.getElementById( iId );
	var Form = document.getElementById( "spiel" + iId )
	var text = "";
	var t1 = Form.t1.value;
	var t2 = Form.t2.value;
	var mt1 = Form.mt1.value;
	var mt2 = Form.mt2.value;
	var runde = Form.runde.value;
	var verl = Form.verl.value;
	var gruppe = Form.grp.value;

	var objXMLHttp  = new XMLHttpRequest();

	objXMLHttp.open ( "POST", "tippen.php", true );
//	objXMLHttp.setRequestHeader ( "Accept-Charset", "iso-8859-1" );
//	objXMLHttp.setRequestHeader ( "Accept-Language", "de-DE" );
	objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	objXMLHttp.onreadystatechange = function ()
	{
		if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
		{
			text = objXMLHttp.responseText;
			DivID.innerHTML = text;
			tippen ( iId, name );
		}
	}
	objXMLHttp.send( "mode=i&id="+ iId +"&name=" + name + "&pt1=" + t1 + "&pt2=" + t2 + "&t1=" + mt1 + "&t2=" + mt2 + "&rnd=" + runde + "&ver=" + verl + "&grp=" + gruppe );
}

function spielstand ( mode )
{
	var SpielID = document.getElementById( "spieleliste" ).value;
	var text = "";
	var t1 = document.getElementById( "t1r" ).value;
	var t2 = document.getElementById( "t2r" ).value;

	if ( mode == "le" )
	{
		var objXMLHttp  = new XMLHttpRequest();
		objXMLHttp.open ( "POST", "tippen.php", true );
		objXMLHttp.setRequestHeader ( "Accept-Charset", "iso-8859-1" );
		objXMLHttp.setRequestHeader ( "Accept-Language", "de-DE" );
		objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
		objXMLHttp.onreadystatechange = function ()
		{
			if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
			{
				text = objXMLHttp.responseText;
				var sStand = text.split("####");
				document.getElementById( "t1r" ).value = sStand[0];
				document.getElementById( "t2r" ).value = sStand[1];
			}
		}
		objXMLHttp.send( "mode=gr&id="+ SpielID );
	}
	else if ( mode == "sch" )
	{
		var objXMLHttp  = new XMLHttpRequest();
		objXMLHttp.open ( "POST", "tippen.php", true );
//		objXMLHttp.setRequestHeader ( "Accept-Charset", "iso-8859-1" );
//		objXMLHttp.setRequestHeader ( "Accept-Language", "de-DE" );
		objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
		objXMLHttp.onreadystatechange = function ()
		{
			if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
			{
				text = objXMLHttp.responseText;
			}
		}
		objXMLHttp.send( "mode=sr&id="+ SpielID + "&pt1=" + t1 + "&pt2=" + t2 );
	}
}









/*********

KIOSK ZEUG

*********/
var sSchluessel = "nix";
var bRichtung = "fr";
var sAktiverBereich = "proj_brust";
var sAktivVorWenden = "proj_ruecken";
var sAktuellesMotiv = "";
var sColor = "";
var iColorId = "";
var sCTarget = "shirtfenster";
var sCDir = "";
var iCScale = 1;
var iCRatio = 1;
var sPrevVisible = "";
var sPrevFolieVisible = "";

function open_window ( datei )
{
	window.open(datei,"popupfenster","height=390,width=490,dependent=yes,screenY=240,screenX=250,location=no,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no").focus();
}


function set_Drapery_Color ( dir, color, target, colorid )
{
	if(dir.length>2 && color.length>3)
	{
		sColor = color;
		sCTarget = target;
		sCDir = dir;
		iColorId = colorid;
		var Element = document.getElementById ( target );
		Element.style.backgroundImage = "url(\"" + g_linkRoot + "inhalt/webkiosk/bilder/roh/" + dir + "/" + color + "_" + bRichtung + ".png\")";

		document.getElementById ( "form_scolor" ).value = colorid;

		document.getElementById ( "form_sposition" ).value = sAktiverBereich;
		document.getElementById ( "form_sseite" ).value = bRichtung;
	}
}
//Funktion um die aktuell gewählte farbe kurzzeitig auszublenden
function fade_out ( id, color )
{
	document.getElementById ( id ).innerHTML = sPrevVisible;
	/*
	if ( ( sPrevVisible != "" ) && ( sPrevVisible != color ) )
	{
		document.getElementById ( sPrevVisible ).style.visibility = "hidden";
		//document.getElementById ( sPrevVisible ).style.display = "none";
	}
	*/
}
function fade_in ( id, color )
{
	sPrevVisible = document.getElementById ( id ).innerHTML;
	document.getElementById ( id ).innerHTML = color;
	/*
	if ( ( sPrevVisible != "" ) )
	{
			document.getElementById ( sPrevVisible ).style.visibility = "visible";
			//document.getElementById ( sPrevVisible ).style.display = "block";
	}
	*/
}
function setAktDrapColor ( id,colorname )
{
	sPrevVisible = colorname;
	document.getElementById ( id ).innerHTML = colorname;
}

function setAktFolieColor ( id,colorname )
{
	sPrevVisible = colorname;
	document.getElementById ( id ).innerHTML = colorname;
}

/*
 * Motivlayer abschicken, zum Bild basteln
 */

function send_Motivlayer ( scale, ratio )
{
	var sLyFarben = document.formular.form_layer1.value + "," + document.formular.form_layer2.value + "," + document.formular.form_layer3.value + "," + document.formular.form_layer4.value;
	
	var breite = 110;
	
	var hoehe = breite*ratio;
	
	breite = scale * breite;
	hoehe = hoehe*scale;
	
	document.getElementById ( sAktiverBereich ).innerHTML = "<object data=\"image.php?mo="+document.formular.form_id.value+"&sly="+sLyFarben+"\" width=\""+breite+"\" height=\""+hoehe+"\" type=\"image/svg+xml\" ></object>";
	
}


function ladeposition ( sPosition, sSeite )
{
	switch(sSeite)
	{
		default:
			bRichtung = "ba";
			sAktivVorWenden = sAktiverBereich;
		break;
		case "hinten":
			bRichtung = "fr";
		break;
	}

	if(sPosition.length > 3)
		sAktivVorWenden = sPosition;

	turn_shirt();
}

function bereichaktivieren ( id )
{
	if (id != sAktiverBereich)
	{
		document.getElementById ( id ).innerHTML=document.getElementById ( sAktiverBereich ).innerHTML;
		document.getElementById ( "form_sposition" ).value = id;
		document.getElementById ( "form_sseite" ).value = bRichtung;
		document.getElementById ( sAktiverBereich ).innerHTML="";
		sAktiverBereich = id;
	}
}


function cycle_drapery_color ( dir )
{
	var sFarbenliste = document.getElementById ( "listemitfarben" ).value;
	var aFarben = sFarbenliste.split ( "#####" );
	var iTeile = aFarben.length;
	var i = 0;
	var aFarbe;
	var result = new Array();
	for ( i=0; i<iTeile-1; i++ )
	{
		result = aFarben[i].match('(.*)\#\#('+sColor+')\#\#(.*)');
		if ( result )
		{
			if ( ( dir == "hin" ) && ( i<iTeile-2 ) )
			{
				result = aFarben[i+1].split("##");
				sColor = result[1];
				iColorId = result[0];
				sColorName = result[2];
			}
			if ( ( dir == "rueck" ) && ( i > 0 ) )
			{
				result = aFarben[i-1].split("##");
				sColor = result[1];
				iColorId = result[0];
				sColorName = result[2];
			}
			set_Drapery_Color ( sCDir, sColor, sCTarget, iColorId );
			setAktDrapColor ( 'colorbezeichnung',sColorName );
			showpreis ( 'wird' );
			break;
		}
	}
}


function turn_shirt ()
{
	var tmp;
	if ( bRichtung == "fr" )
	{
		bRichtung = "ba";
		tmp = sAktiverBereich;
		document.getElementById ( "gruppe_proj_fr" ).style.visibility = "hidden";
		document.getElementById ( "gruppe_proj_ba" ).style.visibility = "visible";
		sAktiverBereich = sAktivVorWenden;
		sAktivVorWenden = tmp;
	}
	else if ( bRichtung == "ba" )
	{
		bRichtung = "fr";
		tmp = sAktiverBereich;
		document.getElementById ( "gruppe_proj_fr" ).style.visibility = "visible";
		document.getElementById ( "gruppe_proj_ba" ).style.visibility = "hidden";
		sAktiverBereich = sAktivVorWenden;
		sAktivVorWenden = tmp;
	}
	set_Drapery_Color ( sCDir, sColor, sCTarget, iColorId );
	send_Motivlayer( iCScale, iCRatio );
}

function formcheck ()
{	
	if ( document.getElementById ( "form_scolor" ).value == "" )
	{
		alert ( "Bitte Textilfarbe auswählen!" );
		return false;
	}
	else
	{
		aGroesse = document.formular.groesse;
		bChecked = false;
		for ( i=0; i < aGroesse.length; i++ )
		{
			if ( aGroesse[i].checked == true )
			{
				bChecked = true;
			}
		}
		if ( bChecked == false )
		{
			alert ( "Bitte Größe auswählen!" );
			return false;
		}
	}	
}

function showpreis ( wird )
{
		if ( document.formular.stueck.value != "" && document.formular.stueck.value != 0 )
		{
			var aGroesse = document.formular.groesse;
			var iGid = 0;
			for ( i=0; i < aGroesse.length; i++ )
			{
				if ( aGroesse[i].checked == true )
				{
					iGid = aGroesse[i].value;
					break;
				}
			}
			var aTextil = document.formular.rohware;
			var iTid = 0;
			for ( i=0; i < aTextil.length; i++ )
			{
				if ( aTextil[i].selected == true )
				{
					iTid = aTextil[i].value;
					break;
				}
			}
			
			var sTextil =  encodeURIComponent ( document.formular.form_id.value + "#" + document.formular.stueck.value + "#" + iTid + "#" + iGid + "#" + document.formular.form_layer1.value + "#" + document.formular.form_layer2.value + "#" + document.formular.form_layer3.value + "#" + document.formular.form_layer4.value + "#" + document.formular.form_scolor.value );
	
			var Http = new XMLHttpRequest ();
			var aResponse;
			var sResponse;
			Http.open ( "GET", "rohware.php?id=" + sTextil, true );
	
			Http.onreadystatechange = function ()
			{
				if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
				{
					sResponse = Http.responseText;
					if ( sResponse == -2 )
					{
						document.getElementById ( "aktuellerpreis" ).innerHTML = sResponse;
						document.formular.Los.disabled = true;
					}
					else
					{
						var aWare = sResponse.split("###");
						document.getElementById ( "aktuellerpreis" ).innerHTML = aWare[0];
						document.getElementById ( "sofortbestand" ).innerHTML = aWare[1];
						document.formular.Los.disabled = false;
					}
				}
			}
			Http.send(null);
		}
}

/**
 * Link erzeugen fürn Shop
 */
function createShopLink ()
{
		if ( document.formular.stueck.value != "" && document.formular.stueck.value != 0 )
		{
			var aGroesse = document.formular.groesse;
			var iGid = 0;
			for ( i=0; i < aGroesse.length; i++ )
			{
				if ( aGroesse[i].checked == true )
				{
					iGid = aGroesse[i].value;
					break;
				}
			}
			var aTextil = document.formular.rohware;
			var iTid = 0;
			for ( i=0; i < aTextil.length; i++ )
			{
				if ( aTextil[i].selected == true )
				{
					iTid = aTextil[i].value;
					break;
				}
			}
		}
	var sTextil =  "?id=" + document.formular.form_id.value + "&m=23&row=" + iTid + "&gr=" + iGid + "&mf1=" + document.formular.form_layer1.value + "&mf2=" + document.formular.form_layer2.value + "&mf3=" + document.formular.form_layer3.value + "&mf4=" + document.formular.form_layer4.value + "&sf=" + document.formular.form_scolor.value;
	var lestring = "<div>"
                  +"<span class=\"h2\">So jetz hier.</span><br>Kannste weiterschicken.<br><br>"
                  +"<a class=\"link\" href=\"https://www.assistuff.de/inhalt/webkiosk/nikkis/"+sTextil+"\">https://www.assistuff.de/inhalt/webkiosk/nikkis/"+sTextil+"</a>"
                  +"<br><br><br><br><br><span onclick=\"klappezu();\" class=\"linksmall_nul\">Klappe zu!</span>"
                  +"</div>";
	document.getElementById("linkpopup").innerHTML = lestring;
	document.getElementById("linkpopup").style.display = 'block';
	document.getElementById("linkpopup").style.visibility = 'visible';
	
	document.getElementById("linkpopupbg").style.display = 'block';
	document.getElementById("linkpopupbg").style.visibility = 'visible';
}


function klappezu() {
	document.getElementById("linkpopup").style.display = 'none';
	document.getElementById("linkpopup").style.visibility = 'hidden';

	document.getElementById("linkpopupbg").style.display = 'none';
	document.getElementById("linkpopupbg").style.visibility = 'hidden';

}






function set_Motive_Layer ( layer, motive, color, target, colorbezeichnung, scale, ratio )
{
	var Element = document.getElementById ( target );
	Element.innerHTML = "<object data=\"image.php?mo="+motive+"&ly="+layer+"&cl="+color+"\" width=\"520\" height=\"250\" type=\"image/svg+xml\" ></object>";

	document.getElementById ( "ebenes" + layer ).innerHTML = colorbezeichnung;
	document.getElementById ( "form_layer" + layer ).value = color;

	//document.getElementById ( "form_sfolientyp" ).value = folie;
	showpreis ();
	iCScale = scale;
	iCRatio = ratio;
	send_Motivlayer ( scale, ratio );

	return true;
}


function set_Drapery ( dir, color, target )
{
	var Element = document.getElementById ( target );
	Element.style.backgroundImage = "";
	Element.style.backgroundImage = "url(\"/inhalt/webkiosk/bilder/roh/" + dir + "/" + color + "_fr.png\")";

	document.getElementById ( "form_scolor" ).value = color;

	return true;
}


function set_Cloth_Type ( index )
{
	//alert ( index );
}

function changePrice ( id )
{
	var Http = new XMLHttpRequest ();
	var aResponse;
	var sResponse;
	var iStueck = document.getElementById("zeile" + id + "stk" ).value;
	
	if ( isNaN(iStueck) )
		iStueck = 1

	Http.open ( "GET", "modcart.php?id=" + id + "&s=" + iStueck, true );
	Http.onreadystatechange = function ()
	{
		if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
		{
			sResponse = Http.responseText;
			aResponse = sResponse.split ( "##-----##" );
			document.getElementById ( "zeile" + id + "preis" ).innerHTML = aResponse[0];
			document.getElementById ( "warenwert" ).innerHTML = aResponse[3];
			document.getElementById ( "zahlungpreis" ).innerHTML = aResponse[5] + "&euro;uro";
			document.getElementById ( "zahlungmwst" ).innerHTML = aResponse[4];

			document.getElementById ( "sachen" ).innerHTML = aResponse[6];
			document.getElementById ( "eulen" ).innerHTML = aResponse[5];

		}
	}
	Http.send(null);
}

function del_onEnter ( id )
{
	var iStueck = document.getElementById("zeile" + id + "stk" ).value;
	if ( iStueck <= 0 || iStueck == "" )
	{
		var bCheck = confirm ( "Wirklich löschen?" );
		if ( bCheck )
		{
			delart ( id );
		}
	}
}

function changestk ( id )
{
	var Http = new XMLHttpRequest ();
	var aResponse;
	var sResponse;
	var iStueck = document.getElementById("zeile" + id + "stk" ).value;
	if ( iStueck <= 0 && iStueck != "" )
	{
		var bCheck = confirm ( "Wirklich löschen?" );
		if ( bCheck )
		{
			delart ( id );
		}
	}
	else
	{
		if ( iStueck == "" )
			iStueck = 1;

		Http.open ( "GET", "modcart.php?id=" + id + "&is=12&s=" + iStueck, true );
		Http.onreadystatechange = function ()
		{
			if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
			{
				sResponse = Http.responseText;
				if ( sResponse == -2 )
				{
					changePrice ( id );
				}
			}
		}
		Http.send(null);
	}
}

function reloadlist ( id )
{
	var Http = new XMLHttpRequest ();
	var aResponse;
	var sResponse;

	Http.open ( "GET", "modcart.php?is=18", true );
	Http.onreadystatechange = function ()
	{
		if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
		{
			sResponse = Http.responseText;
			if ( sResponse == 122 )
			{
				location.href = "./";
			}
			else
			{
				aResponse = sResponse.split("##-----##");
				//document.getElementById ( "ZeileNR" + id ).outerHTML = " ";
				document.getElementById ( "ZeileNR" + id ).innerHTML = " ";
				document.getElementById ( "ZeileNR" + id ).style.display = "none";
				document.getElementById ( "warenwert" ).innerHTML = aResponse[0];
				document.getElementById ( "zahlungpreis" ).innerHTML = aResponse[2] + "&nbsp;&euro;uro";
				document.getElementById ( "zahlungmwst" ).innerHTML = aResponse[1];

				document.getElementById ( "sachen" ).innerHTML = aResponse[3];
				document.getElementById ( "eulen" ).innerHTML = aResponse[2];
			}
		}
	}
	Http.send(null);
}

function refreshBeutel ()
{
	var Http = new XMLHttpRequest ();
	var aResponse = new Array ( '0','0','0' );
	var sResponse;

	Http.open ( "GET", "/inhalt/webkiosk/einkaufsbeutel/modcart.php?is=18", true );
	Http.onreadystatechange = function ()
	{
		if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
		{
			sResponse = Http.responseText;
			aResponse = sResponse.split("##-----##");
			if ( aResponse[3] )
			{
				document.getElementById ( "sachen" ).innerHTML = aResponse[3];
				document.getElementById ( "eulen" ).innerHTML = aResponse[2];
			}
		}
	}
	Http.send(null);
}


function delart ( id )
{
	var Http = new XMLHttpRequest ();
	var aResponse;
	var sResponse;
	//var iStueck = document.getElementById("zeile" + id + "stk" ).value;

	Http.open ( "GET", "modcart.php?id=" + id + "&is=16", true );
	Http.onreadystatechange = function ()
	{
		if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
		{
			sResponse = Http.responseText;

			if ( sResponse == -2 )
			{
				reloadlist ( id );
			}
		}
	}
	Http.send(null);
}

function anzeige ( id1, id2 )
{
	var oDiv1 = document.getElementById ( id1 );
	var oDiv2 = document.getElementById ( id2 );
	oDiv2.style.visibility = "visible";
	oDiv2.style.display = "block";
	oDiv1.style.visibility = "hidden";
	oDiv1.style.display = "none";
	//Div1.outerHTML = "";
}

function showHideDiv ( id1, mode )
{
	var oDiv1 = document.getElementById ( id1 );
	if(mode==1)
	{
		oDiv1.style.visibility = "visible";
		oDiv1.style.display = "block";	
	}
	else
	{
		oDiv1.style.visibility = "hidden";
		oDiv1.style.display = "none";
	}
}


function rabatts ()
{
	var Http = new XMLHttpRequest ();
	var aResponse;
	var sResponse;
	var code = document.getElementById ( "zeile" ).value;

	code = code.replace( "ä", "&auml;" );
	code = code.replace( "ö", "&ouml;" );
	code = code.replace( "ü", "&uuml;" );

	code = code.replace( "Ä", "&Auml;" );
	code = code.replace( "Ö", "&Ouml;" );
	code = code.replace( "Ü", "&Uuml;" );

	code = code.replace( "ß", "&szlig;" );


	code = encodeURIComponent ( code );

	Http.open ( "GET", "modcart.php?is=22&c=" + code, true );
	Http.onreadystatechange = function ()
	{
		if ( ( Http.readyState == 4 ) && ( Http.status == 200 ) )
		{
			sResponse = Http.responseText;
			aResponse = sResponse.split("##-----##");
			if ( aResponse[0] == -2 )
			{
				document.getElementById ( "warenwert" ).innerHTML = aResponse[1];
				document.getElementById ( "zahlungpreis" ).innerHTML = aResponse[3] + "&nbsp;&euro;uro";
				document.getElementById ( "zahlungmwst" ).innerHTML = aResponse[2];

				document.getElementById ( "rabattbetrag" ).innerHTML = aResponse[4];

				document.getElementById ( "rabatts" ).style.visibility = "visible";
				document.getElementById ( "rabatts" ).style.display = "block";
				
				document.getElementById ( "knopp" ).outerHTML = "";
				document.getElementById ( "zeile" ).outerHTML = "";
				refreshBeutel ();
			}
		}
	}
	Http.send(null);	
}

/********************************
Neuer Käufer, formular überprüfen
********************************/
var iMail = -1;

function newusercheck ( formname )
{
	var Formular = document.getElementById(formname); 
	var iFelder = Formular.length;
	var iZahl = 0;
	iMail = -1;
	document.getElementById("wasvergessen").style.visibility = "hidden";
	document.getElementById("emailfalsch").style.visibility = "hidden";
	document.getElementById("keinpass").style.visibility = "hidden";
	document.getElementById("passungleich").style.visibility = "hidden";
	document.getElementById("zukurz").style.visibility = "hidden";


	if ( ( Formular.elements[0].type == "radio" && Formular.elements[0].checked == false ) && ( Formular.elements[1].type == "radio" && Formular.elements[1].checked == false ) )
	{
		document.getElementById("wasvergessen").style.visibility = "visible";
		return false;
	}
	else
	{
		iZahl++;
	}

	for ( i=4; i < 9; i++ )
	{
		if ( Formular.elements[i].value == "" )
		{
			document.getElementById("wasvergessen").style.visibility = "visible";
			return false;
		}
		else
		{
			iZahl++;
		}
	}

	var mail = document.getElementById( "email" ).value;
	var iID;
	
	var objXMLHttp  = new XMLHttpRequest();
	
	objXMLHttp.open ( "POST", "mailtest.php", true );
	objXMLHttp.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	objXMLHttp.onreadystatechange = function ()
	{
		if ( ( objXMLHttp.readyState == 4 ) && ( objXMLHttp.status == 200 ) )
		{			
			iID = objXMLHttp.responseText;
			if ( iID == -1)
			{
				document.getElementById("emailfalsch").style.visibility = "visible";
				return false;	
			}
			else if ( iID == 1 )
			{
				iZahl++;

				var iPw = checkpass ( formname );
				
				if ( Formular.elements[11].value == ""  )
				{
					document.getElementById("keinpass").style.visibility = "visible";
					return false;
				}
				else
				{
					iZahl++;
				}
				
				if ( iPw == -2 )
				{
					document.getElementById("passungleich").style.visibility = "visible";
					return false;
				}
				else
				{
					iZahl++;
				}
			
				if ( iPw == -1 )
				{
					document.getElementById("zukurz").style.visibility = "visible";
					return false;
				}
				else
				{
					iZahl++;
				}
				if ( iZahl == 10 )
				{
					var iPwn = checkpass ( formname );
					document.getElementById("itze").value = iPwn;
					Formular.submit();
				}

			}
		}
	}
	objXMLHttp.send( "mail=" + mail );
	return false;	
}


function checkpass ( formname )
{
	var Formular = document.getElementById(formname); 
	pw1 = Formular.elements[11].value;
	pw2 = Formular.elements[12].value;
	if ( pw1.length < 5 )
	{
		return -1;
	}
	else if ( pw1 != pw2 )
	{
		return -2;
	}
	else
	{
		return 23;
	}
}
function sendform ()
{
	if ( ( document.kontoform.ja.checked ) && ( document.kontoform.konto_bank.value != "" ) && ( document.kontoform.konto_inhaber.value != "" ) && ( document.kontoform.konto_nummer.value != "" ) && !isNaN ( document.kontoform.konto_nummer.value ) && !isNaN ( document.kontoform.konto_blz.value ) && ( document.kontoform.konto_blz.value != "" ) )
	{
		document.kontoform.submit();
		return true;
	}
	else if ( !document.kontoform.ja.checked )
	{
		document.kontoform.konto_nummer.disabled = false;
		document.kontoform.konto_blz.disabled = false;
		document.kontoform.konto_inhaber.disabled = false;
		document.kontoform.konto_bank.disabled = false;
		document.getElementById("gehtklar").style.visibility = "hidden";
	}

}

function is_full ()
{
/*
	if ( ( !document.kontoform.ja.checked ) && ( document.kontoform.konto_bank.value != "" ) && ( document.kontoform.konto_inhaber.value != "" ) && ( document.kontoform.konto_nummer.value != "" ) && ( document.kontoform.konto_blz.value != "" ) )
	{
		document.kontoform.ja.checked = true;
		document.kontoform.konto_nummer.disabled = true;
		document.kontoform.konto_blz.disabled = true;
		document.kontoform.konto_inhaber.disabled = true;
		document.kontoform.konto_bank.disabled = true;
		document.getElementById("gehtklar").style.visibility = "visible";
	}
	else
	{
		document.getElementById("gehtklar").style.visibility = "hidden";
	}
	*/
}

function checkplz ( sid )
{
	if ( isNaN ( document.getElementById(sid).value ) )
	{
		return false;
	}
	else
	{
		return true;
	}
}


function eraseTextArea ( name )
{
	document.getElementById( name ).value = "";
}

function insertLiefer ()
{
	var sNameElement = document.getElementById("lieferadressenauswahl").value;
	var sName = document.getElementById( sNameElement ).value;
	var aName = sName.split (",");
	document.getElementById("lvorname").value = aName[0];
	document.getElementById("lfamname").value = aName[1];
	document.getElementById("lstrasse").value = aName[2];
	document.getElementById("lplz").value = aName[3];
	document.getElementById("lstadt").value = aName[4];
	document.getElementById("lwildid").value = sNameElement;

	document.getElementById("lvorname").focus();
	document.getElementById("SBliefer").selected = true;
}

function lieferAus ()
{
	if ( !isNaN ( document.getElementById("lplz").value ) && document.getElementById("lvorname").value != "" && document.getElementById("lfamname").value != "" && document.getElementById("lstrasse").value != "" && document.getElementById("lplz").value != "" && document.getElementById("lstadt").value != "" )
	{
		document.getElementById("SBliefer").disabled = false;
		document.getElementById("SBliefer").selected = true;
	}
	else
	{
		document.getElementById("SBliefer").disabled = true;
	}
}

function mailzusatz ( was, wo )
{
	document.getElementById ( wo ).value = was;
}

function checkAGB ( sName )
{
	if ( document.getElementById( sName ).checked )
	{
		return true;
	}
	return false;
}


function barzahler2 ( x )
{

if (x == 1)
  {
    document.getElementById ( "versandart_abholung" ).checked = true;
    document.getElementById ( "versandart_paket" ).style.display = "none";
    
  }
  
if (x == 0)
  {
    document.getElementById ( "versandart_paket" ).style.display = "block";
    document.getElementById ( "versandart_paket" ).checked = true;

  } 


}

/* gloobe is veraltet jetz */
function barzahler ( was )
{
	if ( was == 0 )
	{
		document.getElementById ( "lieferaddi" ).style.visibility = "hidden";
		document.getElementById ( "bestaetigen" ).value = "Ich hol mein Zeug selber"
		document.getElementById ( "bestaetigen" ).selected = true;
	}
	else
	{
		document.getElementById ( "lieferaddi" ).style.visibility = "visible";
		document.getElementById ( "bestaetigen" ).value = "An meine Adresse senden"
	}
}





function Verschiebeabfrage (id, elementid, formname)
{
	if ( document.getElementById(elementid).value == 5 || document.getElementById(elementid).value == 6 )
	{
		var bfrage = confirm("Die Bestellung wirklich auf fertig setzen??");
		if (bfrage)
		{
			document.getElementById(id).value=12;
			document.forms[formname].submit();
		}
	}
	else
		document.forms[formname].submit();
}

































/**
 * Bierzeug
 */
function FirmenLiveSuche( elem )
{
	var reqObj  = new xmlReq();
	var formObj = new managForms( "requestForm" );
  reqObj.xmlReq( "askbier.php" );
  var _val = formObj.getFormValue( elem );

	reqObj.setXmlReqParam( "post", _val, true  );
	reqObj.sendXmlReq( writeToElement );
}

function writeToElement( text )
{
	if( text == "no" || text == "" )
		document.getElementById ( "ergebnisdiv" ).style.visibility = "hidden";
	else
	{
		document.getElementById ( "ergebnisdiv" ).innerHTML = text;
		document.getElementById ( "ergebnisdiv" ).style.visibility = "visible";
	}
	//document.getElementById ( "Details" ).innerHTML = "";
}












function selectAllCheck( cbox, name )
{
	var elemente = document.getElementsByName(name);
	var i = 0;
//	if ( !document.getElementsByName(cbox)[0].checked )
//		document.getElementsByName(cbox).checked = true;
//	else
//		document.getElementsByName(cbox).checked = false;

	var Checkbx = document.getElementsByName(cbox)[0].checked;
	for ( i=0;i<elemente.length;i++ )
	{
		if ( Checkbx == true )
			elemente[i].checked="checked";
		else
			elemente[i].checked="";
	}
}














var anim;
var anim2;
var sActDiv = "";
var Anim1;
var Anim2;

//Ein Div aus und einblenden
function setFadeOneElement (id, time, endOpa)
{
	var display= document.getElementById(id).style.display;
	var opacity= document.getElementById(id).style.opacity;
	if(display == "")
    display = cssRule(readid(id), 'display');
	if(opacity == "")
    opacity = cssRule(readid(id), 'opacity');

	if(opacity == "" && display == "none")
		opacity = 0.0
	
	if(opacity == "" && display == "")
		opacity = 1.0
	

	if(opacity<endOpa)
		setFadeSplash (id, time, endOpa);
	else
		setFadeSplash (id, time, 0.0);
}


//Zwei Divs in einander überblenden
function setFade (id, text)
{
	try
	{
		if(Anim1.oAnim)
			Anim1.stopFade();

		if(Anim2.oAnim)
			Anim2.stopFade();
	}
	catch(e)
	{
		//
	}
	
	if (id!=sActDiv)
	{
		Anim2 = new fadeParam ('15','0','25',id,'off',text);
		Anim2.startFade('on');
		
		if(sActDiv!="")
		{
			Anim1 = new fadeParam ('15','0','25',sActDiv,'on',text);
			Anim1.startFade('off');
			Anim1.oAnim = window.setInterval("Anim1.setOpacityLevel()",Anim1.iInterval);
		}
		Anim2.oAnim = window.setInterval("Anim2.setOpacityLevel()",Anim2.iInterval);
	
	}
	sActDiv=id;
}

//Verwaltet die Animation
function setOpacity (id,id2,text)
{
	try
	{
		if(Anim1.oAnim)
			Anim1.stopFade();

		if(Anim2.oAnim)
			Anim2.stopFade();
	}
	catch(e)
	{
		//alert("Fählor");
	}
	Anim1 = new fadeParam ('20','0','25',id,'off',text);
	Anim2 = new fadeParam ('20','3','25',id2,'on',text);

	if(document.getElementById(id2).style.opacity<1 && document.getElementById(id2).style.opacity!="")
	{
		Anim1.startFade('off');
		Anim2.startFade('on');
		Anim1.oAnim = window.setInterval("Anim1.setOpacityLevel()",Anim1.iInterval);
		Anim2.oAnim = window.setInterval("Anim2.setOpacityLevel()",Anim2.iInterval);
	}
	else if(document.getElementById(id2).style.opacity==1 || document.getElementById(id2).style.opacity=="" )
	{
		Anim1.startFade('on');
		Anim2.startFade('off');
		Anim2.oAnim = window.setInterval("Anim2.setOpacityLevel()",Anim2.iInterval);
		Anim1.oAnim = window.setInterval("Anim1.setOpacityLevel()",Anim1.iInterval);
	}
}


//Verwaltet die Animation
function setSplashOpacity (id,anaus, startOpac, endOpac)
{
	var text="";
	try
	{
		if(Anim1.oAnim)
			Anim1.stopFade();
	}
	catch(e)
	{
		//alert("Fählor");
	}
	Anim1 = new fadeParam (startOpac,endOpac,'25',id,anaus,text);

	Anim1.startFade(anaus);
	Anim1.oAnim = window.setInterval("Anim1.setOpacityLevel()",Anim1.iInterval);
}



//Klasse zur Fadefunktion
function fadeParam ( staOpacity,enOpacity,Interval, id, status, text )
{
	var iIteration = staOpacity;
	var endOpacity = enOpacity;
	this.iInterval = Interval;
	var sId = id;
	var sStatus = status;
	var sText = text;
	var iCountIteration = 0;
	var bSticky = false;
	var bNewText = false;
	this.oAnim;

	//start der Animation
	this.startFade = function ( status )
	{
		sStatus = status;
	}

	this.stopFade = function ( )
	{
		//iCountIteration=iIteration-endOpacity;
		//showAddres();
		window.clearInterval(this.oAnim);
	}

	//Wird von setOpacity im Interval gestartet und ruft showAddress auf
	this.setOpacityLevel = function ()
	{
		showAddress();
		iCountIteration++;
		if ( (iIteration-endOpacity) < iCountIteration )
			window.clearInterval(this.oAnim);
	}

	this.getOpacityLevel = function ()
	{
		return document.getElementById(sId).style.opacity;
	}
	

	function showAddress ()
	{
		var oDiv = document.getElementById(sId);
	
		switch (sStatus)
		{
			case "on":
				if(!bSticky || oDiv.style.opacity<1)
				{
					if ((iCountIteration == 0))
					{
						if (sText!=-1)		
						{
							oDiv.innerHTML = sText;
							bNewText = false;
						}
						oDiv.style.visibility = "visible";
					}
					oDiv.style.opacity = 1/iIteration*(Number(endOpacity)+Number(iCountIteration));
				}
			break;
			
			case "sticky":
				if (bSticky && oDiv.style.opacity>0)
				{
					//window.clearInterval(anim);
					bSticky = false;
					if (sText!=-1)
						activateAnim(sId,'off'," ");
					else
						activateAnim(sId,'off',sText);
				}
				else
				{
					//window.clearInterval(anim);
					bSticky = true;
					activateAnim(sId,'on',sText);
				}
			break;		
			
			
			case "off":
				if (!bSticky)
				{
					oDiv.style.opacity = 1-1/iIteration*(Number(iCountIteration)-Number(endOpacity));		
					if (endOpacity < 1 && (iCountIteration == iIteration))
					{
						if (sText!=-1)
							oDiv.innerHTML = " ";
						oDiv.style.visibility = "hidden";
					}
				}
			break;
		}
	}

}




// christians versuch mit dem splashfade ^^
/*
function splashfadevonchristian (id, von, bis)
{

this.id = id;
this.von = von;
this.bis = bis;
this.vontotal = von;


var fading = this.window.setInterval("opacityaendern()", 10);


this.opacityaendern = function()
  {
     
     document.getElementById(this.id).style.opacity = this.von;

     if (this.vontotal > this.bis)
        {
        this.von = Math.floor((this.von - 0.01)*100)/100;
        //alert(this.von);
        if (this.von <= this.bis)
          {
          window.clearInterval(fading);
          document.getElementById(this.id).style.opacity = this.bis;
          //alert(this.von);
          }
        }



     if (this.vontotal < this.bis)
        {
        this.von = Math.round((this.von + 0.01)*100)/100;
        //alert(this.von);
        if (this.von >= this.bis)
          {
          window.clearInterval(fading);
          document.getElementById(this.id).style.opacity = this.bis;
          //alert(this.von);
          }
        }
        
     
     
  }


}


*/










/************* christians splashfade *****************/
/*++++++++  franks improvement noch dazu  +++++++++ */

var m_fadeListe = Array();
var m_fenster;

// wemmer id benutzt
function setFadeSplash (id, zeit, bis)
{
	var i=0;
	var bExists = false;
	//document.getElementById("live").innerHTML += "<br /><br />Liste ist lang: "+m_fadeListe.length;
	for(i=0;i<m_fadeListe.length;i++)
	{
		if(m_fadeListe[i].id==id)
		{
			bExists = true;
			//document.getElementById("live").innerHTML += "Nr " + i + " ("+m_fadeListe[i].id+") gibs";
			break;
		}
	}
	if(bExists)
	{
    m_fadeListe[i].stopFading(); // bisherige animation stoppen
    m_fadeListe[i].von = getOpacity(id); // das neue "von", hoffe das is die richtige stelle;
    m_fadeListe[i].vontotal = getOpacity(id);
 		m_fadeListe[i].bis = bis;
 		m_fadeListe[i].init();
		m_fadeListe[i].startFading();
	}
	else
	{
		i=m_fadeListe.length;
		//document.getElementById("live").innerHTML += "Neu: " + i;
    //alert(document.getElementById(id).style.opacity); // dürfte NICHTS anzeigen
    
    // sucht sich hier die opacity und alles aus dem CSS raus
    var startopacity = cssRule(readid(id), 'opacity');
    //alert(startopacity);
    var hidden = cssRule(readid(id), 'visibility');
    //alert(hidden);
    var display = cssRule(readid(id), 'display');
    
    
    if (startopacity == '') startopacity = 1; // wenns gar nicht gefunden wurde, dann 1 by default, weil heest ja, dasses sichtbar is ganz normal
    if (hidden == 'hidden')                   // wenns als hidden gewollt war, dann zu beginn auf visible setzen und bei 0 beginnen
    {
    	document.getElementById(id).style.opacity = '0';
      document.getElementById(id).style.visibility = 'visible';
      //document.getElementById(id).style.display = 'block';
      startopacity = 0;
    } 
    if (display == 'none')                    // hier nochma guggen obs vllt ne sogar display:none; war, dann aber ma sofort ändern den spaß!
    {
      document.getElementById(id).style.opacity = '0';
      document.getElementById(id).style.visibility = 'visible';
      document.getElementById(id).style.display = 'block';
      startopacity = 0;
    }
    
    m_fadeListe[i] = new splashfadevonchristian (id, startopacity, bis, zeit);
 		m_fadeListe[i].init();
    m_fadeListe[i].startFading();
	}

}



function readid (id) { // guggt nach was die id fürn tag is und welche css-klasse das is
var tag = document.getElementById(id).tagName.toLowerCase();
var css = document.getElementById(id).className;
var lestring = tag+'.'+css;
return lestring;
}


function getOpacity (id)
{
  // nimmt die opacity die während des fadens entstanden ist
  return  Number(document.getElementById(id).style.opacity);
}





// christians versuch mit dem splashfade ^^
function splashfadevonchristian (id, von, bis, zeit)
{

	this.id = id;
	this.von = von;
	this.bis = bis;
	this.vontotal = von;
	this.interval = 8; // is quasi die smuhfness, wies fadet, sollte nich über 10 liegen.
  this.zeit = zeit;
	this.schrittweiterund = 0;
	//Aktuelles Objekt im Speicher behalten
	//wichtig für setInterval Funktion
	var thisObjekt = this;

	var opacityId="";
	this.fading;

	this.init = function()
	{
	  // fading-zeit irgendwie ermitteln.
  	var fadeweite = Math.abs(thisObjekt.bis - thisObjekt.vontotal) // wieviel is denn überhaupt zu faden?
	  var schritte = Math.round(parseFloat(thisObjekt.zeit) / parseFloat(thisObjekt.interval));
  	//alert(schritte);
	  var schrittweite = parseFloat(fadeweite) / parseFloat(schritte);
  	var schrittweiterund = parseFloat(Math.round(schrittweite*1000))/1000.0;
	  //alert(schrittweiterund);
  	thisObjekt.schrittweiterund = schrittweiterund;
	  //alert(this.schrittweiterund +' & '+ schrittweite);	
	}


	this.getOpacityId = function()
	{
		return opacityId;
	}

	this.setOpacityId = function(id)
	{
		opacityId=id;
	}

	this.startFading = function()
	{
		//document.getElementById("live").innerHTML += "<br><br><b>Start Fade</b>";
		thisObjekt.fading = window.setInterval(thisObjekt.opacityaendern, thisObjekt.interval);
	}
	
	this.stopFading = function ()
	{
		window.clearInterval(thisObjekt.fading);
		//document.getElementById("live").innerHTML += "<br><br><b>Start Fade</b>";
	}


	this.opacityaendern = function()
  {
		if (document.getElementById(thisObjekt.id).style.opacity <= 0)
			document.getElementById(thisObjekt.id).style.display = 'block';
			
    document.getElementById(thisObjekt.id).style.opacity = thisObjekt.von;

    if (thisObjekt.vontotal >= thisObjekt.bis) // wenns ein ausblenden wird
		{
    	thisObjekt.von = Math.floor((thisObjekt.von - thisObjekt.schrittweiterund)*1000)/1000.0;   // oldschool-schrittweite: 0.005
      if (thisObjekt.von <= thisObjekt.bis)
      {
      	window.clearInterval(thisObjekt.fading);
        document.getElementById(thisObjekt.id).style.opacity = thisObjekt.bis;
        if (document.getElementById(thisObjekt.id).style.opacity <= 0)
        	document.getElementById(thisObjekt.id).style.display = 'none';
      }
		}



		if (thisObjekt.vontotal < thisObjekt.bis) // wenns ein einblenden wird
    {
		
    	thisObjekt.von = Math.ceil( (Number(thisObjekt.von) + Number(thisObjekt.schrittweiterund) )*1000)/1000.0;  // oldschool-schrittweite: 0.01 //neuartig: thisObjekt.schrittweiterund
      if (thisObjekt.von >= thisObjekt.bis)
      {
      	window.clearInterval(thisObjekt.fading);
        document.getElementById(thisObjekt.id).style.opacity = thisObjekt.bis;
      }
		}
	}

}


/****************************************************/



















function setKundenAsPartner (isEnable, ckName, sUId)
{
	var bIsSeller = document.getElementById(isEnable).checked;
	var sUId = document.getElementsByName(sUId)[0].value;
	var oHTTP = new XMLRequest();
	var sResponse;
	
	var chBoxen = document.getElementsByName(ckName);
	var Kette="";
	var i, j=0;
	
	if( !bIsSeller )
	{
		for( i=0;i<chBoxen.length; i++ )
		{
			chBoxen[i].checked = false;
		}
		Kette = "-11"
	}
	else
	{
		for( i=0;i<chBoxen.length; i++ )
		{
			if( chBoxen[i].checked == true )
			{
				if( j==0 )
					Kette += chBoxen[i].value;
				else
					Kette += ","+chBoxen[i].value;
				j++;
			}
		}
	}

	oHTTP.open ( "GET", "kundenliste.php?uid=" + sUId+"&ka="+Kette, true );
	oHTTP.onreadystatechange = function ()
	{
		if ( ( oHTTP.readyState == 4 ) && ( oHTTP.status == 200 ) )
		{
			sResponse = oHTTP.responseText;
		}
	}
	oHTTP.send(null);
}


	

function setTextarea (id, text)
{
	document.getElementById(id).value = unescape(text);
}

	var bAnAus = "an";

	function schalter ()
	{
		switch(bAnAus)
		{
			case "an":
				bAnAus = "aus";
			break;
			
			case "aus":
				bAnAus = "an";
			break;
		}
		bliBlaBlinkSchalten ('top0', '/inhalt/webkiosk/bilder/grafiken/top0_lauf1.gif', '/inhalt/webkiosk/bilder/grafiken/top0_aus.gif');
		bliBlaBlinkSchalten ('top104', '/inhalt/webkiosk/bilder/grafiken/top104_lauf1.gif', '/inhalt/webkiosk/bilder/grafiken/top104_aus.gif');
		bliBlaBlinkSchalten ('top212', '/inhalt/webkiosk/bilder/grafiken/top212_lauf1.gif', '/inhalt/webkiosk/bilder/grafiken/top212_aus.gif');
		bliBlaBlinkSchalten ('top371', '/inhalt/webkiosk/bilder/grafiken/top371_lauf1.gif', '/inhalt/webkiosk/bilder/grafiken/top371_aus.gif');
		document.cookie = "blinkn="+bAnAus+";";
	}
	
	function bliBlaBlinkSchalten ( id, Blinkbild, Normalbild )
	{
		switch(bAnAus)
		{
			case "an":
				document.getElementById(id).style.backgroundImage="url("+Blinkbild+")";
			break;
			
			case "aus":
				document.getElementById(id).style.backgroundImage="url("+Normalbild+")";
			break;
		}
	}
	
	
	
	function bliBlaBlinkCookie()
	{
		if(document.cookie)
		{
			var aCookie = document.cookie.match('blinkn=(.*?)(;|$)');
			if (aCookie)
			{
				bAnAus = aCookie[1];
			}
			switch(bAnAus)
			{
				case "an":
					bAnAus = "aus";
				break;
				
				case "aus":
					bAnAus = "an";
				break;
				
				default:
					bAnAus = "aus";
				break;
			}
			schalter();
		}
	}
	
	//iCountIteration++;
//	if ( iIteration < iCountIteration )
	//	window.clearInterval(anim);





function XMLRequest ( )
{
	if ( typeof XMLHttpRequest != "undefined" )
	{
		return new XMLHttpRequest ();
	}
	else
	{
		var arVersion = [ "MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp" ];
		
		for ( i=0; i< arVersion.length; i++ )
		{
			try
			{
				var oHttp = new ActiveXObject ( arVersion[i] );
				return oHttp;
			}
			catch ( objError )
			{
				//1 = 1;
			}
		}
	}
	throw new Error ( "XMLHttp Objekt konnte nicht erzeugt werden" );
}


//Interne Adresse und Bestellung listen
function inInsertLAdrOrd( id, nr )
{
	var uid = document.getElementById(id).value;
	var oHTTP = new XMLRequest();
	var aResponse;
	
	oHTTP.open ( "GET", "optlists.php?uid=" + uid + "&kid=" + nr, true );
	oHTTP.onreadystatechange = function ()
	{
		if ( ( oHTTP.readyState == 4 ) && ( oHTTP.status == 200 ) )
		{
			aResponse = oHTTP.responseText;

			aResponse = aResponse.split( "###" );
			
			document.getElementById ( "HdLieferAdresse" ).innerHTML = "<select class=\"bestkunde\" id=\"lieferadressenauswahl\" name=\"SlLieferId\" onchange=\"exInsertLiefer();\">	<option>Lieferadresse wählen...</option>"+decodeURIComponent(unescape(aResponse[0]))+"</select>"+ unescape(aResponse [1]);
			
			document.getElementById ( "HdBestellungListe" ).innerHTML = "<select class=\"bestkunde\" id=\"bestellungauswahl\" name=\"SlBestellId\" onchange=\"this.form.submit();\" >	<option value=\"-2\">Bestellung wählen...</option>"+decodeURIComponent(unescape(aResponse[2]))+"</select>";
		
		}
	}
	
}

function insertAdresse (id, nr)
{
	//rechnungadressenauswahl
	var sNameElement = document.getElementById(id).value;
	var oHTTP = new XMLRequest();
	var aResponse;
	
	if(sNameElement=="" || sNameElement==-2)
	{
		insertAdr ( "", "l" );
		insertAdr ( "", "r" )

		document.getElementById ( "lieferadressenauswahl" ).innerHTML = "<option value=\"\">Lieferadresse wählen...</option>";
				
		document.getElementById ( "bestellungauswahl" ).innerHTML = "<option value=\"-2\">Auftragsnummer...</option>";

		document.getElementById ( "fertigerechungsauswahl" ).innerHTML = "<option value=\"-2\">Rechnungsnummer...</option>";
		
		document.getElementById ( "HdLiefer" ).value = "";
		document.getElementById ( "HdUserId" ).value = "";
 		
		document.forms["Rechnungsformular"].submit();
	}
	else
	{
		oHTTP.open ( "GET", "optlists.php?uid=" + sNameElement + "&kid=" + nr, true );
		oHTTP.onreadystatechange = function ()
		{
			if ( ( oHTTP.readyState == 4 ) && ( oHTTP.status == 200 ) )
			{
				aResponse = oHTTP.responseText;
	
				aResponse = aResponse.split( "###" );
	
	
				document.getElementById ( "lieferadressenauswahl" ).innerHTML = "<option value=\"\">Lieferadresse wählen...</option>" + decodeURIComponent(unescape(aResponse[0]));
				
				document.getElementById ( "HdLiefer" ).innerHTML = decodeURIComponent(unescape(aResponse [1]));
				
				document.getElementById ( "bestellungauswahl" ).innerHTML = "<option value=\"-2\">Auftragsnummer...</option>" + decodeURIComponent(unescape(aResponse[2]));

				document.getElementById ( "fertigerechungsauswahl" ).innerHTML = "<option value=\"-2\">Rechnungsnummer...</option>" + decodeURIComponent(unescape(aResponse[3]));
				
				document.getElementById ( "HdUserId" ).value = sNameElement;
	
				insertAdr ( "", "l" )
			}
		}
		oHTTP.send(null);
		insertAdr ( sNameElement, "r" )
	}
}

function insertAdr ( uid, prefx )
{
	if(uid=="")
	{
		var sName = " , , , , , , , , ";
	}
	else
	{
		var sName = document.getElementById( uid ).value;
	}
	var aName = sName.split (",");

	document.getElementById(prefx+"firma").value = aName[1];
	document.getElementById(prefx+"anrede").value = aName[0];
//	document.getElementById("ltitel").value = aName[2];
	document.getElementById(prefx+"vorname").value = aName[2];
	document.getElementById(prefx+"famname").value = aName[3];
	document.getElementById(prefx+"strasse").value = aName[4];
	document.getElementById(prefx+"zusatz").value = aName[5];
	document.getElementById(prefx+"plz").value = aName[6];
	document.getElementById(prefx+"stadt").value = aName[7];
	document.getElementById(prefx+"land").value = aName[8];
	
	if(prefx=="l")
		document.getElementById("HdLieferId").value = uid;
}


function exNewLine(sZeile, IdRahmen, IdListe)
{
	var sZeileLeer = decodeURIComponent(unescape(sZeile));
	var HdListId = document.getElementById(IdListe).value;

	var Elemente = HdListId.split("##");
	var i=0, j=0, k=0;
	var Werte = new Array();
	var InputWerte;

	for (i=0;i<Elemente.length;i++)
	{
		Werte[i] = new Array();
		Werte[i][0]=document.getElementById("leistung"+Elemente[i]).value;
		Werte[i][1]=document.getElementById("beschreibung"+Elemente[i]).value;
		Werte[i][2]=document.getElementById("stueck"+Elemente[i]).value;
		Werte[i][3]=document.getElementById("netto"+Elemente[i]).value;
		Werte[i][4]=document.getElementById("brutto"+Elemente[i]).value;
		Werte[i][5]=document.getElementById("gesamt"+Elemente[i]).value;
		Werte[i][6]=document.getElementById("bruttogesamt"+Elemente[i]).value;

		if (Number(Elemente[i])<0)
			j=Number(Elemente[i])-1;
		else
			j=-1;
	}
	document.getElementById(IdListe).value += "##"+j;

	sZeile = sZeileLeer.replace(/#ID#/g,j);
	sZeile = sZeile.replace(/#\S.+#/gi,'');
	document.getElementById(IdRahmen).innerHTML += sZeile;

	for (i=0;i<Elemente.length;i++)
	{
		document.getElementById("leistung"+Elemente[i]).value=Werte[i][0];
		document.getElementById("beschreibung"+Elemente[i]).value=Werte[i][1];
		document.getElementById("stueck"+Elemente[i]).value=Werte[i][2];
		document.getElementById("netto"+Elemente[i]).value=Werte[i][3];
		document.getElementById("brutto"+Elemente[i]).value=Werte[i][4];
		document.getElementById("gesamt"+Elemente[i]).value=Werte[i][5];
		document.getElementById("bruttogesamt"+Elemente[i]).value=Werte[i][6];
	}
}





function ZeileWeg (id,IdListe)
{
	var HdListId = document.getElementById(IdListe).value;

	var Elemente = HdListId.split("##");
	var i=0, j=0, k=0;
	var Werte = new Array();
	var ListId = new Array();
	var oHTTP = new XMLRequest();


	if(Elemente.length>1)
	{
		document.getElementById(IdListe).value = "";
		for (i=0;i<Elemente.length;i++)
		{
			if (id!=Elemente[i])
			{
				Werte[i] = new Array();
				Werte[i][0]=document.getElementById("leistung"+Elemente[i]).value;
				Werte[i][1]=document.getElementById("beschreibung"+Elemente[i]).value;
				Werte[i][2]=document.getElementById("stueck"+Elemente[i]).value;
				Werte[i][3]=document.getElementById("netto"+Elemente[i]).value;
				Werte[i][4]=document.getElementById("gesamt"+Elemente[i]).value;
	
				ListId[j]=Elemente[i];
				j++;
			}
		}
		for (i=0;i<ListId.length;i++)
		{
			if (i<ListId.length-1)
				document.getElementById(IdListe).value += ListId[i]+"##";
			else
				document.getElementById(IdListe).value += ListId[i];
		}
	
		document.getElementById("postenliste"+id).innerHTML = "";
		document.getElementById("postenliste"+id).style.display = "none";
		document.getElementById("postenliste"+id).style.visibility = "hidden";
		
		if ( Number(id)>0 )
		{
			oHTTP.open ( "GET", "optlists.php?uid=23&id=" + id, false );
			oHTTP.send(null);
			if (oHTTP.status == 200)
			{
				//alert("Gelöscht");
			}
		}
	
		for (i=0;i<Elemente.length;i++)
		{
			if (id!=Elemente[i])
			{
				document.getElementById("leistung"+Elemente[i]).value=Werte[i][0];
				document.getElementById("beschreibung"+Elemente[i]).value=Werte[i][1];
				document.getElementById("stueck"+Elemente[i]).value=Werte[i][2];
				document.getElementById("netto"+Elemente[i]).value=Werte[i][3];
				document.getElementById("gesamt"+Elemente[i]).value=Werte[i][4];
			}
		}
	}
	gesamtPreis(IdListe);
}



function stopsubmit (Ereignis)
{
  if (Ereignis.keyCode == 13) return false;
}




function kaufm(x) {
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
}


// die, die das brutto so lästt und nur das netto anzeigt,
// statt davon aus nochma alles neu zuberechnen, dasses scheiße aussieht
function multiply(stueck,netto,brutto,gesamt,gesamtBr, welches)
{

// abholen
	var Netto = document.getElementById(netto).value;
	var Brutto = document.getElementById(brutto).value;
	var GNetto = document.getElementById(gesamt).value;
	var GBrutto = document.getElementById(gesamtBr).value;
	var stueck = document.getElementById(stueck).value;

// evtl komma zu punkt
  var PreisN = Netto.split(",");
	 if ( PreisN.length>1 )
	 Netto = PreisN[0]+"."+PreisN[1];

  var PreisB = Brutto.split(",");
	 if ( PreisB.length>1 )
	Brutto = PreisB[0]+"."+PreisB[1];

  var PreisG = GNetto.split(",");
	 if ( PreisG.length>1 )
	 GNetto = PreisG[0]+"."+PreisG[1];

	PreisG = GBrutto.split(",");
	 if ( PreisG.length>1 )
	 GBrutto = PreisG[0]+"."+PreisG[1];

// total zach aufs neue netto kommen
  switch(welches)
	{
    case "ne":
      var neuesnetto = Netto;
      document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto));
      

      //  nochma neu berechnen
    var mwst = Number(kaufm(neuesnetto * 0.19));

    var neuesbrutto = Number(neuesnetto) + mwst;
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));

    var neuesgesamt = kaufm(neuesnetto * stueck);
  	 document.getElementById(gesamt).value = convPointToComma(convNumToStr( neuesgesamt));

  	var neuesgesamtbrutto = kaufm(neuesbrutto * stueck);
  	 document.getElementById(gesamtBr).value = convPointToComma(convNumToStr( neuesgesamtbrutto));

		break;
		
		
		
		
		

    case "br":
      var neuesnetto = kaufm(Brutto / 1.19);
      document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto));
      
      
      //  nochma neu berechnen
    var mwst = Number(kaufm(neuesnetto * 0.19));

    var neuesbrutto = Number(Brutto);
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));

    var neuesgesamt = kaufm(neuesnetto * stueck);
  	 document.getElementById(gesamt).value = convPointToComma(convNumToStr( neuesgesamt));

  	var neuesgesamtbrutto = kaufm(neuesbrutto * stueck);
  	 document.getElementById(gesamtBr).value = convPointToComma(convNumToStr( neuesgesamtbrutto));

    break;













		case "gne":
      var neuesnetto = kaufm(GNetto / stueck);
      document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto));
      
      
      //  nochma neu berechnen
    var mwst = Number(kaufm(neuesnetto * 0.19));

    var neuesbrutto = Number(neuesnetto) + mwst;
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));

    var neuesgesamt = kaufm(neuesnetto * stueck);
  	 document.getElementById(gesamt).value = convPointToComma(convNumToStr( neuesgesamt));

  	var neuesgesamtbrutto = kaufm(neuesbrutto * stueck);
  	 document.getElementById(gesamtBr).value = convPointToComma(convNumToStr( neuesgesamtbrutto));

		break;










		case "gbr":
      var neuesbrutto = kaufm(GBrutto/stueck);
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));

			var neuesnetto = kaufm(neuesbrutto / 1.19);
			document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto ));


    //  nochma neu berechnen
    var mwst = Number(kaufm(neuesnetto * 0.19));

    var neuesbrutto = Number(neuesbrutto);
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));

    var neuesgesamt = kaufm(neuesnetto * stueck);
  	 document.getElementById(gesamt).value = convPointToComma(convNumToStr( neuesgesamt));

  	var neuesgesamtbrutto = kaufm(neuesbrutto * stueck);
  	 document.getElementById(gesamtBr).value = convPointToComma(convNumToStr( neuesgesamtbrutto));
		break;
		
		
		
		

	}


}




/*
// die, die das netto immer neu berechnet

function multiply(stueck,netto,brutto,gesamt,gesamtBr, welches)
{

// abholen
	var Netto = document.getElementById(netto).value;
	var Brutto = document.getElementById(brutto).value;
	var GNetto = document.getElementById(gesamt).value;
	var GBrutto = document.getElementById(gesamtBr).value;
	var stueck = document.getElementById(stueck).value;

// evtl komma zu punkt
  var PreisN = Netto.split(",");
	 if ( PreisN.length>1 )
	 Netto = PreisN[0]+"."+PreisN[1];

  var PreisB = Brutto.split(",");
	 if ( PreisB.length>1 )
	Brutto = PreisB[0]+"."+PreisB[1];

  var PreisG = GNetto.split(",");
	 if ( PreisG.length>1 )
	 GNetto = PreisG[0]+"."+PreisG[1];

	PreisG = GBrutto.split(",");
	 if ( PreisG.length>1 )
	 GBrutto = PreisG[0]+"."+PreisG[1];

// total zach aufs neue netto kommen
  switch(welches)
	{
    case "ne":
      var neuesnetto = Netto;
      document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto));

		break;
		
    case "br":
      var neuesnetto = kaufm(Brutto / 1.19);
      document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto));

    break;
		

		case "gne":
      var neuesnetto = kaufm(GNetto / stueck);
      document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto));
      
		break;


		case "gbr":
      var neuesbrutto = kaufm(GBrutto/stueck);
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));
      
			var neuesnetto = kaufm(neuesbrutto / 1.19);
			document.getElementById(netto).value = convPointToComma(convNumToStr( neuesnetto ));
			
		break;

	}
	
// alles nochma neu berechnen
    var mwst = Number(kaufm(neuesnetto * 0.19));

    var neuesbrutto = Number(neuesnetto) + mwst;
      document.getElementById(brutto).value = convPointToComma(convNumToStr( neuesbrutto ));

    var neuesgesamt = kaufm(neuesnetto * stueck);
  	 document.getElementById(gesamt).value = convPointToComma(convNumToStr( neuesgesamt));

  	var neuesgesamtbrutto = kaufm(neuesbrutto * stueck);
  	 document.getElementById(gesamtBr).value = convPointToComma(convNumToStr( neuesgesamtbrutto));

}
*/




/* die originale vom fr[ae]nk
function multiply(stueck,netto,brutto,gesamt,gesamtBr, welches)
{
	var Netto = document.getElementById(netto).value;
	var Brutto = document.getElementById(brutto).value;
	var GNetto = document.getElementById(gesamt).value;
	var GBrutto = document.getElementById(gesamtBr).value;

	var PreisG = GNetto.split(",");
	if ( PreisG.length>1 )
		GNetto = PreisG[0]+"."+PreisG[1];

	PreisG = GBrutto.split(",");
	if ( PreisG.length>1 )
		GBrutto = PreisG[0]+"."+PreisG[1];

	var PreisN = Netto.split(",");
	if ( PreisN.length>1 )
		Netto = PreisN[0]+"."+PreisN[1];
	var PreisB = Brutto.split(",");
	if ( PreisB.length>1 )
		Brutto = PreisB[0]+"."+PreisB[1];

	var fNetto = convNumToStr(Number(Brutto)/1.19);
	var fBrutto = convNumToStr(Number(Netto)*1.19);

	var fGNetto = convNumToStr(Number(GBrutto)/1.19);
	var fGBrutto = convNumToStr(Number(GNetto)*1.19);

	switch(welches)
	{
		case "br":
			document.getElementById(gesamt).value = convPointToComma(convNumToStr(Number(document.getElementById(stueck).value)*Number(fNetto)));
			document.getElementById(gesamtBr).value = convPointToComma(convNumToStr(Number(document.getElementById(stueck).value)*Number(Brutto)));
			document.getElementById(netto).value = convPointToComma(fNetto);
		break;

		case "ne":
			document.getElementById(gesamt).value = convPointToComma(convNumToStr(Number(document.getElementById(stueck).value)*Number(Netto)));
			document.getElementById(gesamtBr).value = convPointToComma(convNumToStr(Number(document.getElementById(stueck).value)*Number(fBrutto)));
			document.getElementById(brutto).value = convPointToComma(fBrutto);
		break;

		case "gne":
			document.getElementById(netto).value = convPointToComma(convNumToStr(Number(GNetto)/Number(document.getElementById(stueck).value)));
			document.getElementById(brutto).value = convPointToComma(convNumToStr(Number(fGBrutto)/Number(document.getElementById(stueck).value)));
			document.getElementById(gesamtBr).value = convPointToComma(fGBrutto);
		break;

		case "gbr":
			document.getElementById(netto).value = convPointToComma(convNumToStr(Number(fGNetto)/Number(document.getElementById(stueck).value)));
			document.getElementById(brutto).value = convPointToComma(convNumToStr(Number(GBrutto)/Number(document.getElementById(stueck).value)));
			document.getElementById(gesamt).value = convPointToComma(fGNetto);
		break;

	}

}


*/

function convNumToStr(num)
{
	return String(Number(num).toFixed(2));
}

function convPointToComma(sVal)
{
	return sVal.replace(/\./gi,',');
}






function gesamtPreis(listId)
{
	var HdListId = document.getElementById(listId).value;
	var Elemente = HdListId.split("##");
	var i = 0;
	var netto = 0;
	var brutto = 0;
  var mwst = 0;
  var aPreis = new Array();
	var fNetto;
	var fBrutto;

 if(document.getElementById("checkGewerbe").checked == true)
  {
    for(i=0;i<Elemente.length;i++)
    	{
    		fNetto = document.getElementById("gesamt"+Elemente[i]).value;

    		aPreis = fNetto.split(",");
    		 if ( aPreis.length>1 )
    		 fNetto = aPreis[0]+"."+aPreis[1];

     	  netto += Number(fNetto);
     	}

    mwst = Number(kaufm(netto * 0.19));
    brutto = netto + mwst;

  }
  
 if(document.getElementById("checkKunde").checked == true)
  {
    for(i=0;i<Elemente.length;i++)
    	{
    		fBrutto = document.getElementById("bruttogesamt"+Elemente[i]).value;

    		aPreis = fBrutto.split(",");
    		 if ( aPreis.length>1 )
    		 fBrutto = aPreis[0]+"."+aPreis[1];

     		brutto +=	Number(fBrutto);
    	}

    netto = Number(kaufm(brutto / 1.19));
    mwst = brutto - netto;

  }
  
  document.getElementById("gesamtsummenetto").value = convPointToComma(netto.toFixed(2));
	document.getElementById("gesamtsummebrutto").value = convPointToComma(brutto.toFixed(2));
	document.getElementById("gesamtsummemwst").value = convPointToComma(mwst.toFixed(2));

}




/* originale vom frank
function gesamtPreis(mwst,gesamt,gesamtNe,listId)
{
	var HdListId = document.getElementById(listId).value;
	var Elemente = HdListId.split("##");
	var i=0;
	var netto =0;
	var brutto =0;
	var aPreis = new Array();
	var fNetto;
	var fBrutto;

 for(i=0;i<Elemente.length;i++)
	{
		fNetto = document.getElementById("netto"+Elemente[i]).value;
		fBrutto = document.getElementById("brutto"+Elemente[i]).value;

		aPreis = fNetto.split(",");
		if ( aPreis.length>1 )
			fNetto = aPreis[0]+"."+aPreis[1];

		aPreis = fBrutto.split(",");
		if ( aPreis.length>1 )
			fBrutto = aPreis[0]+"."+aPreis[1];

 	netto +=	Number(document.getElementById("stueck"+Elemente[i]).value)*Number(fNetto);
		brutto +=	Number(document.getElementById("stueck"+Elemente[i]).value)*Number(fBrutto);
	}
	var mwstp = brutto-netto;

	document.getElementById(gesamtNe).value = convPointToComma(netto.toFixed(2));
	document.getElementById(gesamt).value = convPointToComma(brutto.toFixed(2));
	document.getElementById(mwst).value = convPointToComma(mwstp.toFixed(2));
}
*/






function resize ()
{
	var l_height = 768;
	var l_width = 1024;
	
	window.resizeTo(l_width, l_height);
}




















/* 'CSS-Regeln lesen/aendern 290907' (c) by cybaer@binon.net
   ---------------------------------
 Inhalt    : Kann eine komplette CSS-Regel oder eine einzelne Eigenschaft auslesen oder aendern
 Aufruf    : cssRule([target[,attribute[,value]]])
 Parameter : target (mixed (optional): wahlweise String oder Objekt.
                     1) Kein Parameter: Es findet nur eine
                        technische Pruefung des Browsers statt
                     2) String mit dem gewuenschten Selektor (case-insensitive!)
                        oder der "Adresse" der Regel in der Form "Nr. des
                        Stylesheets/Nr. der Regel", jeweils beginnend bei 0,
                        z.B. "0/0". Einem Selektor kann ausserdem ein Begrenzer
                        (Clipper) angehaengt werden (selector@clipper), um die
                        Suche zu beschraenken; gueltige Begrenzer sind Medientypen
                        (z.B. um nur Stylesheets fuer den Screen zu durchsuchen:
                        selector@screen) oder die Nummer eines Stylesheets
                        (fuer Suche im 2. Stylesheet: selector@1).
                        Wird kein Begrenzer uebergeben (oder "selector@*"), so
                        werden alle Stylesheets durchsucht. Haengt man einen
                        "leeren" Begrenzer an ("selector@"), so werden nur
                        Stylesheets durchsucht, bei denen kein Medientyp angegeben
                        wurde.
                     3) Style-Objekt: Es wird direkt dieses Objekt verarbeitet.)
                     4) Integer mit der gewuenschten Nummer des Stylesheets -
                        der Parameter wird umgewandelt in einen String: "x/0"
             attribute (String (optional), mit wahlweise folgendem Inhalt:
                        1) gewuenschte Eigenschaft die bearbeitet werden soll,
                           in der Syntax von CSS ("font-size") oder JavaScript
                           ("fontSize");
                        2) "rule" (oder leer), fuer die komplette Regel
                        3) weitere spezifische Anweisungen:
                         a) "Objekt-Schluesselwoerter":
                            - "ruleobject" ermittelt das Objekt der gefundenen Regel selbst
                            - "styleobject" ermittelt das Style-Objekt der Regel
                            - "sheetobject" ermittelt das StyleSheet-Objekt der Regel
                            - "rulecollection" ermittelt die Objekt-Collection dem die Regel angehoert
                            - "ownerobject" ermittelt das Objekt des HTML-Elements der Regel
                         b) "sonstige Schluesselwoerter":
                            - "sheetindex" ermittelt die Index-Nummer des Stylesheets der Regel
                            - "rulepointer" ermittelt einen Pointer auf die Regel
                            - "ownermarkup" ermittelt den (interpretierte) HTML-Quellcode des Sylesheets der Regel
             value (String (optional): neuer Wert, ggf. auch leer, der
                       geschrieben werden soll; wird der Parameter nicht
                       uebergeben, so wird der aktuelle Wert ausgelesen)
 Sprache   : JavaScript 1.1 (ungesichert), JavaScript 1.5 (gesichert)
 Quelle    : http://Coding.binon.net/CSS-Rules (cybaer@binon.net)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
             Lizenz CC <http://creativecommons.org/licenses/by-nc-sa/2.5/>
 InlineFunc: unifySelectorText(), propertyToStyle(), sheetAccessible()
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : -
 Rueckgabe : 1) (bool) false wenn Funktion nicht moeglich ist (Browser zu alt
                oder zu bearbeitende Regel existiert nicht - beim Browser
                Konqueror wird ggf. nur ein false zurueckgegeben, falls
                attribute leer ist, da alte Versionen einen Bug bei der dann
                verwendeten JavaScript-Eigenschaft cssText haben).
             2a) (object) wenn attribute ein "Objekt-Schluesselwort" enthaelt.
              b) Je nach "sonstigem Schluesselwort" ein (mixed) Datentyp:
                  - (integer) bei "sheetindex" (oder NaN bei Misserfolg)
                  - (mixed) bei "rulepointer": (string) bei Erfolg (Leerstring,
                    wenn Zugriff nicht erlaubt ist) oder (bool) false, wenn
                    keine Regel gefunden wurde
                  - (string) bei "ownermarkup"
             3a) Wenn value nicht uebergeben wurde:
                 (string) aktuelle Regel wenn attribute "rule" oder leer ist
                 oder den Stil der Eigenschaft, die in attribute definiert wurde.
              b) Wenn value uebergeben wurde (auch leer):
                 (bool) true, wenn value neu gesetzt werden konnte, sonst false
 Anmerkung : 1. Vorsicht bei der Benutzung von @import! Wird @import benutzt,
                koennen bei Direktaddressierung nur Styles *vor* dem ersten
                @import browseruebergreifend identisch bearbeitet werden. Bei
                Angabe eines Selektors werden zwar die Stylesheets (intern
                wie extern) durchsucht, nicht jedoch die importierten Regeln!
             2. Bei sehr großen und mehreren Stylesheets empfiehlt sich ggf.
                die direkte Adressierung, um das Durchsuchen zu vermeiden. Bei
                Angabe eines Selektors sollte der gesuchte Selektor moeglichst
                weit hinten im Quelltext aufgefuehrt werden, da die Regeln von
                hinten durchsucht werden (bei mehreren identischen Selektoren
                ueberstimmen die Eigenschaften des letzten Selektors ggf.
                identische Eigenschaften eines frueheren Selektors.
             3. Wird eine Regel oder Eigenschaft geloescht, ist natuerlich zu
                beachten, dass nunmehr Regeln oder Eigenschaften eines ggf.
                im Quelltext vorstehenden identischen Selektors aktiv werden!
             4. Gruppen-Selektoren (h1, p { color: blue; }) koennen nicht
                so einfach verarbeitet werden, da u.a. der IE sie intern trennt!
                Die Bestandteile des Gruppen-Selektors koennen aber einzeln
                angesprochen werden: alert(cssRule("h1")); alert(cssRule("p"))
                ACHTUNG: Setzt man in diesem Fall die Regel neu, so wirkt die
                Aenderung beim IE auch *nur* beim gewaehlten (Teil-)Selektor,
                waehrend bei den sonstigen Browsern sich die Aenderung auch
                auf die anderen Teile des Mehrfach-Selektors auswirkt! Um also
                auch im IE bei h1 *und* p die Farbe zu aendern, muss es lauten:
                cssRule("h1","color","red"); cssRule("p","color","red");
                ACHTUNG: Im Browser Safari kann man einen Gruppen-Selektor
                nur unter dem 1. Selektor der Gruppe finden und ansprechen!
 Beispiele : HTML  : <style>
                       .aStil { font-size: 2em; font-weight: bold; }
                     </style>
                     <style media="screen">
                       .bStil { color: red; background-color: blue; }
                       #cStil { }
                     </style>
                     <style media="print">
                       .bStil { color: black; background-color: white; }
                       #cStil { }
                     </style>
                     <span class="aStyle">Text A</span>
                     <span class="bStyle">Text B</span>
                     <span id="cStyle">Text C</span>
             Script: alert(cssRule("0/0"));
             -> Alert: "font-size: 2em; font-weight: bold"
             Script: alert(cssRule(".aStil","font-size)); oder auch
                     alert(cssRule(".astil","fontSize)); oder auch
                     alert(cssRule(".aStil","styleobject").fontSize);
             -> Alert: "2em"
             Script: cssRule("0/0","","");
             -> "Text A" erscheint im "Normalstil" (Stile der 1. Regel werden
                geloescht was <style> .aStyle { } </style> entspricht)
             Script: cssRule("1/0","color","black");
             -> die rote Schriftfarbe von "Text B" (1. Regel im 2. Sheet)
                wird in schwarz geaendert
             Script: cssRule("#cStil","display","none");
             -> "Text C" (ID ist "cStil") wird versteckt
             Script: alert(cssRule(".bStil","color"));
             -> Alert: "black" (erster gefundener ".bStil" ist im Printer-Stylesheet)
             Script: alert(cssRule(".bStil@screen","color"));
             -> Alert: "red" (erster gefundener ".bStil" fuer das Medium "screen")
             Script: alert(cssRule(".bStil@","color"));
             -> Alert: false (kein ".bStil" in einem allgemeinen Stylesheet)
             Script: alert(cssRule(".aStil@","font-size"));
             -> Alert: "2em"
*/

function cssRule(target,attrib,value) {
 // Lokale Variable definieren
 var s=0, r=0, i, result=false, clipper, sheetNo=NaN, startSheetNo, endSheetNo, mediaType, unifiedSelectorText, complete, write;
 var sheetObj=false, ruleColl=false, ruleObj=false, styleObj=false, ownerObj=false, rulePointer="", sheetIndex=NaN, mediaTextObj, mediaTypeIndex;

 // Kein Ziel uebergeben: Test, ob Zugriff ueberhaupt technisch moeglich ist
 if(!target && document.styleSheets) {
  result=true;
 }

 // Bereits ermitteltes Objekt uebergeben
 if(typeof(target)=="object") {
  sheetObj=true;
  styleObj=target;
  target=false;
 }
 // Existiert das benoetigte Objekt und gibt es ueberhaupt ein Stylesheet?
 if(document.styleSheets && document.styleSheets.length && (target || typeof(target)=="number")) {
  // Uebergebene Nummer (eines Stylesheets) umwandeln in Pointer ("x/0")
  if(typeof(target)=="number") { target+="/0"; }
  // Wurde eine direkte Adressierung der Regel ("x/y") uebergeben?
  if(!isNaN(parseInt(target)) && target.indexOf("/")>0) {
   // Adressierung aufteilen in Stylesheet-Nummer ...
   s=parseInt(target.split("/")[0],10);
   // ... und Regel-Nummer
   r=parseInt(target.split("/")[1],10);
   // Fortfahren, wenn Stylesheet existiert (mit Extra-Check als Opera-Workaround)
   if(typeof(document.styleSheets[s])=="object" && document.styleSheets[s]) {
    sheetObj=document.styleSheets[s];
    rulePointer=""+s;
    // HTML-Element ermitteln (W3C-/IE-DOM)
    ownerObj=(sheetObj.ownerNode)?sheetObj.ownerNode:sheetObj.owningElement;
    // Weitere Daten ermitteln, wenn Zugriff moeglich
    if(sheetAccessible(s)) {

     // Objekt nach IE-DOM (vor cssRules-Abfrage wg. IE/Mac, inkl. media-Abfrage wg. Konqueror) ...
     if(sheetObj.rules && typeof(sheetObj.media)=="string") {
      ruleColl=sheetObj.rules;
      // ... falls Regel existiert
      if(ruleColl[r]) {
       ruleObj=ruleColl[r];
       styleObj=ruleObj.style;
       rulePointer+="/"+r;
      }

     // Objekt nach W3C-DOM ...
     } else if(sheetObj.cssRules) {
      ruleColl=sheetObj.cssRules;
      // ... falls Regel existiert
      if(ruleColl[r]) {
       // Nur Typ 1 (Style), nicht 3 (importedStyle)
       if(ruleColl[r].type==1) {
        ruleObj=ruleColl[r];
        styleObj=ruleObj.style;
        rulePointer+="/"+r;
       }
      }
     }

    }
   }

  // Keine direkte Adressierung sondern Suche nach uebergebenem Selektor
  } else {
   // Uebergebenen Selektor in Kleinschrift umwandeln
   target=target.toLowerCase();
   // Wurde im ersten Parameter auch ein Begrenzer uebergeben?
   i=target.indexOf("@")+1;
   if(i) {
    // Ja: Begrenzer herausloesen
    clipper=target.substring(i);
    // Aus dem Rest den Selektor bilden
    target=target.substring(0,i-1);
    // Den Begrenzer als Zahl interpretieren
    sheetNo=parseInt(clipper);
    // Wenn der Begrenzer keine Zahl war, als Media-Type interpretieren - andernfalls: alle Media-Types ("*") verwenden
    mediaType=(isNaN(sheetNo))?clipper:"*"
   } else {
    // Kein Begrenzer: alle Media-Types ("*") verwenden
    mediaType="*";
   }

   // Zu durchsuchende Stylesheets festlegen
   if(!isNaN(sheetNo)) {
    // Stylesheet wurde im Begrenzer angegeben
    startSheetNo=sheetNo;
    endSheetNo=sheetNo;
   } else {
    // Vom letzten Stylesheet ...
    startSheetNo=document.styleSheets.length-1;
    // ... bis zum ersten durchsuchen
    endSheetNo=0;
   }

   // Fortfahren, wenn Start- & End-Sheet-Nummer zulaessig sind
   if(startSheetNo>=endSheetNo && startSheetNo<document.styleSheets.length && endSheetNo>=0) {

    // (Eingegrenzte) Stylesheets (rueckwarts) durchgehen
    for(s=startSheetNo; s>=endSheetNo; s-=1) {
     // Bereits vorhandene Positionsdaten sichern
     sheetObj=document.styleSheets[s];
     rulePointer=""+s;
     // HTML-Element ermitteln (W3C-/IE-DOM)
     ownerObj=(sheetObj.ownerNode)?sheetObj.ownerNode:sheetObj.owningElement;

     // Sofern der Zugriff erlaubt ist, alle Regeln (rueckwarts) nach dem gewuenschten Selektor durchsuchen
     if(sheetAccessible(s)) {

      // Zugriff nach IE-DOM (vor cssRules-Zugriff wg. IE/Mac, inkl. media-Abfrage wg. Konqueror)
      if(sheetObj.rules && typeof(sheetObj.media)=="string") {
       ruleColl=sheetObj.rules;
       for(r=ruleColl.length-1; r>=0; r-=1) {
        // Wenn passender Media-Type & passender Selektor:
        if(((mediaType && sheetObj.media.toLowerCase().indexOf(mediaType)>=0) || (!mediaType && !sheetObj.media) || mediaType=="*") && ruleColl[r].selectorText.toLowerCase().indexOf(target)>-1) {

         // Selektor-Text browseruebergreifend vereinheitlichen
         unifiedSelectorText=unifySelectorText(ruleColl[r].selectorText);

         // Wenn passender Selektor:
         if(unifiedSelectorText==target) {
          // Restliche Positionsdaten sichern und ...
          ruleObj=ruleColl[r];
          styleObj=ruleObj.style;
          rulePointer=s+"/"+r;
          // ... Rest des Stylesheets nicht mehr durchsuchen
          break;
         }
        }
       }

      // Zugriff nach W3C-DOM
      } else if(sheetObj.cssRules) {
       ruleColl=sheetObj.cssRules;
       for(r=ruleColl.length-1; r>=0; r-=1) {

        // Workaround fuer Safari, der bei mediaText===null bei toLowerCase() abbricht
        mediaTextObj=sheetObj.media.mediaText;
        mediaTypeIndex=(!mediaTextObj)?-1:mediaTextObj.toLowerCase().indexOf(mediaType);

        // Wenn Regulaere Style-Regel, Media-Type passend und gesuchter Selektor im Selektor-Text enthalten:
        if(ruleColl[r].type==1 && ((mediaType && mediaTypeIndex>=0) || (!mediaType && !sheetObj.media.mediaText) || mediaType=="*") && ruleColl[r].selectorText.toLowerCase().indexOf(target)>-1) {

         // Selektor-Text browseruebergreifend vereinheitlichen
         unifiedSelectorText=unifySelectorText(ruleColl[r].selectorText);

         // Wenn direkt passender Selektor:
         if(unifiedSelectorText==target) {
          // Restliche Positionsdaten sichern und ...
          ruleObj=ruleColl[r];
          styleObj=ruleObj.style;
          rulePointer=s+"/"+r;
          // ... Rest des Stylesheets nicht mehr durchsuchen
          break;

         // Wenn Gruppen-Selektor:
         } else if(unifiedSelectorText.indexOf(",")>-1) {
          // Selektor-Text aufteilen
          selectorArray=unifiedSelectorText.split(",");
          // Einzelne Selektoren durchgehen ...
          for(i=0; i<selectorArray.length; i++) {
           // ... trimmen ...
           while(selectorArray[i].charAt(0)==" ") { selectorArray[i]=selectorArray[i].substring(1,selectorArray[i].length); }
           while(selectorArray[i].charAt(selectorArray[i].length-1)==" ") { selectorArray[i]=selectorArray[i].substring(0,selectorArray[i].length-1); }
           // ... und bei Erfolg ...
           if(selectorArray[i]==target) {
            // Restliche Positionsdaten sichern und ...
            ruleObj=ruleColl[r];
            styleObj=ruleObj.style;
            rulePointer=s+"/"+r;
            // ... Rest des Gruppen-Selektors nicht mehr durchsuchen
            break;
           }
          }

          // Wenn Regel gefunden wurde, Rest des Stylesheets nicht mehr durchsuchen
          if(styleObj) { break; }
         }
        }
       }
      }

      // Wenn Regel gefunden wurde, restliche Stylesheets nicht mehr durchsuchen
      if(styleObj) { break; }
     }
    }
   }

   // Wenn kein Stylesheet spezifiziert und keine Regel gefunden wurde ...
   if(isNaN(sheetNo) && !styleObj) {
    // ... Zwischenergebnisse wieder loeschen
    sheetObj=false;
    ruleColl=false;
    ownerObj=false;
    rulePointer="";
   }

  }
 }

 // Stylesheet vorhanden?
 if(!sheetObj) {
  // Nein: Beim "sheetindex" anstelle des ueblichen false ein NaN zurueckgeben
  if(attrib=="sheetindex") { result=NaN; }
 } else {

  // Ja: Ueberpruefung auf Schluesselwort in attrib
  switch(attrib) {
   // War das Sheet-Objekt gewuenscht?
   case "sheetobject":
    result=sheetObj;
    break;
   // War die Rule-Collection gewuenscht?
   case "rulecollection":
    result=ruleColl;
    break;
   // War das Rule-Objekt gewuenscht?
   case "ruleobject":
    result=ruleObj;
    break;
   // War das Style-Objekt gewuenscht?
   case "styleobject":
    result=styleObj;
    break;
   // War das Owning-Objekt gewuenscht?
   case "ownerobject":
    result=ownerObj;
    break;
   // War der HTML-Markup gewuenscht?
   case "ownermarkup":
    /*@cc_on
    @if(@_jscript)
     // Wenn IE: outerHTML nutzen
     result=ownerObj.outerHTML;
     // Ergebnis trimmen
     while(result.charCodeAt(0)==13 || result.charCodeAt(0)==10) { result=result.substring(1); }
    @else @*/
     // Auf anderen Browsern: Markup manuell zusammenstellen, beginnend mit dem Tag-Namen
     result="<"+ownerObj.tagName;
     // Attribute des HTML-Elements ermitteln
     for(i=0; i<ownerObj.attributes.length; i++) { result+=' '+ownerObj.attributes[i].name+'="'+ownerObj.attributes[i].value+'"'; }
     // Tag schliessen
     result+=">";
     // Bei STYLE-Elementen auch den Inhalt ermitteln
     if(ownerObj.tagName=="STYLE") {
      // Alle Regeln durchgehen
      for(i=0; i<ruleColl.length; i++) { result+=ruleColl[i].selectorText+" { "+ruleColl[i].style.cssText+" }\n"; }
      // End-Tag hinzufuegen
      result+="</"+ownerObj.tagName+">";
     }
    /*@end @*/
    break;
   // War der Sheet-Index gewuenscht?
   case "sheetindex":
    result=parseInt(rulePointer);
    break;
   // War der Regel-Pointer gewuenscht?
   case "rulepointer":
    // Wenn
    // - Sheet & Regel gefunden -> "x/y"
    // - Sheet gefunden aber Regel nicht -> "x" -> false
    // - Regel nicht gefunden -> false
    // - Sheet gefunden aber Zugriff verboten -> ""
    result=(rulePointer.indexOf("/")>-1 || rulePointer===false)?rulePointer:(sheetAccessible(rulePointer)?false:"");
    break;

  // Kein Schluesselwort: Gewuenschte Regel/Eigenschaft bearbeiten
  default:

   // Komplette Regel bearbeiten oder nur ein gewuenschtes Attribut daraus?
   complete=(!attrib)?true:false;
   // Gibt es einen neuen Wert (=schreiben) oder nicht (=lesen)?
   write=(typeof(value)!="undefined")?true:false;

   // Nur spezifische Eigenschaft bearbeiten?
   if(!complete) {
    // Ggf. Syntax von CSS- auf Script-Schreibweise aendern:
    attrib=propertyToStyle(attrib);
    // Gewuenschte Eigenschaft bearbeiten
    if(write) {
     // (schreiben)
     styleObj[attrib]=value;
     result=true;
    } else {
     // (auslesen)
     result=styleObj[attrib];
    }

   // Konqueror-Bug abfangen
   } else if(styleObj.cssText!=null) {
    // Kompletten Text bearbeiten
    if(write) {
     // (schreiben)
     styleObj.cssText=value;
     result=true;
    } else {
     // (auslesen)
     result=styleObj.cssText.toLowerCase();
    }
   }

  }
 }
 return result;
}

// Selektor-Text browseruebergreifend vereinheitlichen
function unifySelectorText(selText) {
 // selText='.bStil[CLASS~="bStil"] #cStil[ID"cStil"] .aStil[CLASS~="aStil"]'; // Example
 var i, addSelectors, addSelectorsRegExp;
 // Safari-Workaround: Suche nach Klassen-Selektoren, um ...
 addSelectors=selText.match(/\.([A-Za-z]+[\w-]*\[)/g);
 if(addSelectors) {
  for(i=0; i<addSelectors.length; i++) {
   addSelectorsRegExp=new RegExp("\\"+addSelectors[i].substring(0,addSelectors[i].length-1)+"\\[(CLASS|class)~=["+'"'+"|']?"+addSelectors[i].substring(1,addSelectors[i].length-1)+"["+'"'+"|']?\\]","g");
   // ... ggf. ergaenzte Attribut-Selektoren zu entfernen (.Stil[CLASS~="Stil"] -> .Stil)
   selText=selText.replace(addSelectorsRegExp,addSelectors[i].substring(0,addSelectors[i].length-1));
  }
 }
 // Safari-Workaround: Suche nach ID-Selektoren, um ...
 addSelectors=selText.match(/#([A-Za-z]+[\w-]*\[)/g);
 if(addSelectors) {
  for(i=0; i<addSelectors.length; i++) {
   addSelectorsRegExp=new RegExp(addSelectors[i].substring(0,addSelectors[i].length-1)+"\\[(ID|id)["+'"'+"|']?"+addSelectors[i].substring(1,addSelectors[i].length-1)+"["+'"'+"|']?\\]","g");
   // ... ggf. ergaenzte Attribut-Selektoren zu entfernen (#Stil[ID"Stil"] -> #Stil)
   selText=selText.replace(addSelectorsRegExp,addSelectors[i].substring(0,addSelectors[i].length-1));
  }
 }
 // Generell Kleinschreibung
 selText=selText.toLowerCase();

 return selText;
}

// Style-Schreibweise von CSS auf JS aendern
function propertyToStyle(property) {
 var i, syntax;
 // 1. Eigenschaften mit reserviertem Bezeichner: Unterscheidung nach JScript- bzw. JavaScript-Syntax
 if(property=="float") { property=((typeof(window.cssFloat)=="undefined")?"style":"css")+property.charAt(0).toUpperCase()+property.substring(1); }
 // 2. Eigenschaften mit Bindestrich
 else if(property.indexOf("-")>=0) {
  // CSS-Syntax am "-" auftrennen, ...
  syntax=property.split("-");
  // ... ersten Teil uebernehmen und ...
  property=syntax[0];
  // ... folgende Teile mit grossem Anfangsbuchstaben
  for(i=1; i<syntax.length; i++) { property+=syntax[i].charAt(0).toUpperCase()+syntax[i].substring(1); }
 }
 return property;
}

// Pruefen, ob Zugriff auf ein Stylesheet moeglich ist (Same-Origin-Policy)
function sheetAccessible(sheetNo) {
 // Testzugriff
 try {
  // Wenn Zugriff nach W3C- oder IE-DOM moeglich
  if(document.styleSheets[sheetNo].cssRules || document.styleSheets[sheetNo].rules) {
   // Status "Zugriff auf Sheet moeglich"
   throw "sheetAccessible";
  }
 // Statusabfrage
 } catch(e) {
  // Wenn "Zugriff auf Sheet moeglich", Rueckgabe true
  return (e=="sheetAccessible");
 }
}


function checkuncheck(id)
{
	if(document.getElementById(id).checked == true)
		document.getElementById(id).checked = false;
	else
		document.getElementById(id).checked = true;
}

function enabledisable(id)
{
	if(document.getElementById(id).disabled == true)
		document.getElementById(id).disabled = false;
	else
		document.getElementById(id).disabled = true;
}

