/***********************
 * StyleSheet switcher *
 ***********************/
 
function setActiveStyleSheet (title)
{
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet ()
{
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet ()
{
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}


/*****************
 * Bild switcher *
 *****************/
 
function imgSwap (oImg)
{
   var strOver  = "_on"
   var strOff = "_off"
   var strImg = oImg.src
   if (strImg.indexOf(strOver) != -1) 
      oImg.src = strImg.replace(strOver,strOff)
   else
      oImg.src = strImg.replace(strOff,strOver)
}


// Zur Verwendung mit z.B. Formularfeldern, bei denen beim anklicken die HintergrundFarbe geändert wird
function setColor (objId, color)
{
	objId.style.backgroundColor = color;
}

function trim (str)
{
	if (typeof(str) == "string") return str.replace(/^\s+|\s+$/g,"");
    else return str;
}

/* Alle in der Variable "felder" angegebenen Felder
   werden überprüft, ob sie ausgefüllt wurden */
function checkForm (objForm, fields)
{
	var currField;	
	var currFieldToEval;
	var fieldArr;
	var entries;
	
	if (typeof objForm == "object" && fields == '')
	{
		currFieldToEval = "objForm.elements[i]";
		entries = objForm.length - 1;
	}
	else if (fields != '')
	{
		fieldArr = fields.split(';');
		currFieldToEval = "objForm.elements[fieldArr[i]]";
		entries = fieldArr.length - 1;
	}

	for (var i = 0; i <= entries; i++)
	{		
		currField = eval(currFieldToEval);
		//alert("value:"+currField.length);
		
		// Radiobutton oder Checkbox
		if (currField.length != undefined)	{

			currStatus = document.getElementById(currField[0].name);
			currStatus.style.display = "none";

			var isChecked = false;
			
			for(var i = 0; i < currField.length; i++)
			{
				if(currField[i].checked) {
					isChecked = true;
					break;
				}
			}
			
			if (!isChecked && !currField.disabled) {
					
				//currStatus.style.display = "table-row";				
				currField[0].focus();
				
				return false;
			}
		}
		else
		{
			currStatus = document.getElementById(currField.name);
		
			// Die Hintergrundfarbe eines Feldes wird auf den Ursprung zurückgesetzt
			currField.style.backgroundColor = '';
			
			//currStatus.style.display = "none";
			
				if (trim(currField.value) == "" 
							&& currField.type != "checkbox"
							&& currField.type != "radio"
							&& !currField.disabled)
				{
					
					//currField.style.backgroundColor = "#F8C9B7";					
					
					//currStatus.style.display = "table-row";				
					currField.focus();
					
					return false;
				}
				
				if (currField.name == "passwordRepeat" || currField.name == "passwortRepeat")
				{
					// Der Index wird für die eval-Auswertung, temporär um 1 erhöht, wodurch das nächste Feld aufgerufen wird; es muss das Feld mit dem namen = "password" sein
					i++; 
					nextField = eval(currFieldToEval);
					nextStatus = eval(currStatusToEval);
					i--;
					if (currField.value != nextField.value && (nextField.name == "password" || nextField.name == "passwort"))
					{
						nextField.value = "";
						currField.value = "";
						
						
						//currField.style.background = nextField.style.backgroundColor = "#F8C9B7";
						//currStatus.style.background = nextStatus.style.backgroundColor = "#F8C9B7";					
						
						//currStatus.style.display = nextStatus.style.display = "table-row";
						
						currField.focus();
		
						return false;
					}
				}
			}
	}	
}


function popup (path,width,height,resizable,scrollbars)
{
	var win = window.open(path,"popup","width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars);
	win.moveTo(screen.width/2-(width/2),screen.height/2-(height/2)-50);
	win.focus();
	
	return win;
}

function setDefaultValue (objId, defValue, check)
{
	if (objId == "[object INPUT]")
	{
		var writeInput = '#000';
		var defaultInput = '#CCC';
		
		// Steht bei onfocus noch der Standardwert im Feld, so wird der Feldinhalt gelöscht und die Schriftfarbe verändert
		if (!check && objId.value == defValue) 
		{
			objId.style.color = writeInput;
			objId.value = '';
			
		/*
		 * Ist das Feld leer oder ist der Feldinhalt gleich dem Standardwert, so wird die Schriftfarbe verändert
		 * und der Standardwert in das Feld geschrieben.
		 */
		}
		else if (objId.value == defValue || objId.value == '') 
		{
			objId.style.color = defaultInput;
			objId.value = defValue;
			
		// Steht ein Text im Feld, der nicht gleich dem Standardwert ist, so wird die Schriftfarbe auf 'writeInput' gesetzt
		}
		else
		{
			objId.style.color = writeInput;
		}
	}
	else
	{
		objId = document.getElementsByName(objId)[0];
		
		objId.style.color = '#CCC';
		objId.value = defValue;
	}	
}

function getObjectDisplayType ( id, displayProperty )
{
	if ( document.getElementById(id) == '[object DIV]' || document.getElementById(id) == '[object HTMLDivElement]' )		return 'block';
	if ( document.getElementById(id) == '[object TABLE]' || document.getElementById(id) == '[object HTMLTableElement]' )	return 'table';
	if ( document.getElementById(id) == '[object TH]' )	return 'table-cell';
	if ( document.getElementById(id) == '[object TD]'  || document.getElementById(id) == '[object HTMLTableCellElement]' )	return 'table-cell';
	if ( document.getElementById(id) == '[object TR]' || document.getElementById(id) == '[object HTMLTableRowElement]' )	return 'table-row';	
	
	// IE 6.0
	if ( document.getElementById(id) == '[object]' )	return 'inline';
	
	return ( displayProperty != '' ) ? displayProperty : 'inline';
	/*
	switch( document.getElementById(id) )
	{
		case '[object TABLE]'	: return 'table';
		case '[object TH]'		: return 'table-cell';
		case '[object TR]'		: return 'table-row';
		case '[object TD]'		: return 'table-cell';
		
		default				: return document.getElementById(id);
	}
	*/
}

function showElementId(id, displayProperty)
{
	if (document.getElementById(id) == null || document.getElementById(id) == undefined)
	{
		var i = 0;
		while(document.getElementById(id+"["+i+"]") != null && document.getElementById(id+"["+i+"]") != undefined)
		{
			document.getElementById(id+"["+i+"]").style.display = getObjectDisplayType( id+"["+i+"]", displayProperty );
			i++;
		}
	}
	else
	{	
		document.getElementById(id).style.display = getObjectDisplayType( id, displayProperty );
	}
}

function hideElementId(id) {
	
	if (document.getElementById(id) == null || document.getElementById(id) == undefined)
	{
		var i = 0;
		while(document.getElementById(id+"["+i+"]") != null && document.getElementById(id+"["+i+"]") != undefined)
		{
			document.getElementById(id+"["+i+"]").style.display = 'none';
			i++;
		}
	}
	else
	{
		document.getElementById(id).style.display = 'none';
	}	
}

function showElementName(name, howToDisplay) {
	if (!howToDisplay)	howToDisplay = 'inline';
	document.getElementsByName(name).style.display = howToDisplay;
	
}

function hideElementName(name) {
	document.getElementsByName(name).style.display = 'none';	
}

function disableIt(objForm, fields)
{
	var currField;	
	var currFieldToEval;
	var fieldArr;
	var entries;	
	
	if ((objForm == "[object FORM]" || objForm == "[object HTMLFormElement]") && fields == '')
	{
		currFieldToEval = "objForm.elements[i]";
		entries = objForm.length - 1;
	}
	else if (fields != '')
	{
		fieldArr = fields.split(',');
		currFieldToEval = "objForm.elements[fieldArr[i]]";
		entries = fieldArr.length - 1;
	}

	for (var i = 0; i <= entries; i++)
	{		
		currField = eval(currFieldToEval);
		//alert("value:"+currField.name);
		
		currField.disabled = !(currField.disabled);
	}
}

function rollOver( iName, imageFile )
{
	if(document.images)
	{
		document.images[iName].src = eval(imageFile + '.src');
	}
}

function setZindex (id, zIndex)
{
	//alert(document.getElementById(id).style.zIndex);
	if (document.getElementById(id) == null || document.getElementById(id) == undefined)
	{
		var i = 0;
		while(document.getElementById(id+"["+i+"]") != null && document.getElementById(id+"["+i+"]") != undefined)
		{
			document.getElementById(id+"["+i+"]").style.zIndex = zIndex;
			i++;
		}
	}
	else
	{	
		document.getElementById(id).style.zIndex = zIndex;
	}
}