var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie4up = (is_ie && (is_major >= 4));
var is_opera = (agt.indexOf("opera") != -1);
var is_gecko = ((agt.indexOf('gecko') != -1) && (agt.indexOf("konqueror") == -1));


	function focusTextField (form) {
        if ((typeof form != 'object') || (typeof form.elements != 'object')) {
            return false;
        }

        var elements = form.elements;
        for (var i = 0; i < elements.length; i++) {
            if ((elements[i].type != 'text') && (elements[i].type != 'password')
                && (elements[i].type != 'textarea')) {
                continue;
            }
            if (elements[i].value == '') {
                elements[i].focus();
                break;
            }
        }
        return true;
    }


    //Funktionen für die Codeblöcke -->
	function toggleCode(id) {
		theCode = document.getElementById('code'+id);
		plus = document.getElementById('plusFor'+id);
		minus = document.getElementById('minusFor'+id);
		hint = document.getElementById('hintFor'+id);

		if (theCode.style.display == 'none') {
			theCode.style.display = '';
			minus.style.display = '';
			plus.style.display = 'none';
			hint.style.display = 'none';

		} else {
			theCode.style.display = 'none';
			plus.style.display = '';
			minus.style.display = 'none';
			hint.style.display = '';

		}
	}

	function toggleScroll(id, theHeight) {
		theCode = document.getElementById('code'+id);
		full = document.getElementById('fullFor'+id);
		half = document.getElementById('halfFor'+id);

		if (theCode.style.height != '') {
			theCode.style.height = '';
			full.style.display = 'none';
			half.style.display = '';

		} else {
		    theCode.style.height = theHeight+'px';
			full.style.display = '';
			half.style.display = 'none';

		}
		if (theCode.style.display == 'none')
			toggleCode(id);
	}
	//<--
    function setCheckboxes(theForm, elementName, isChecked)
    {
        var chkboxes = document.forms[theForm].elements[elementName];
        var count = chkboxes.length;

        if (count)
        {
            for (var i = 0; i < count; i++)
            {
                chkboxes[i].checked = isChecked;
            }
        }
        else
        {
            chkboxes.checked = isChecked;
        }

        //return true;
    }

	function selectAll(codeId) {
	  var code = document.getElementById("code" + codeId);
	  var tables = code.getElementsByTagName("table");
	  var tds = tables[0].getElementsByTagName("td");
	  var pres = tds[1].getElementsByTagName("pre");
	  var pre = pres[0];
	  if (document.selection) {
	    var range = document.body.createTextRange();
	    range.moveToElementText(pre);
	    range.select();
	  }
	  else if (window.getSelection) {
	    var range = document.createRange();
	    range.selectNodeContents(pre);
	    var codeSelection = window.getSelection();
	    codeSelection.removeAllRanges();
	    codeSelection.addRange(range);
	  }
	  else
	  	alert( 'Dein Browser unterstützt diese Funktion leider nicht.' );
	}
	
	
	function html_entity_decode(text)
	{		
		text = text.replace(/&gt;/g, ">");
		text = text.replace(/&lt;/g, "<");
		text = text.replace(/&#039;/g, "'");
		text = text.replace(/&quot;/g, "\"");
		text = text.replace(/&amp;/g, "&");
		text = text.replace(/&#8364;/g, "€");
		
		return text;
	}

	function umlaut_decode(text)
	{
		text = text.replace(/&uuml;/g, "ü");
		text = text.replace(/&Uuml;/g, "Ü");
		text = text.replace(/&auml;/g, "ä");
		text = text.replace(/&Auml;/g, "Ä");
		text = text.replace(/&ouml;/g, "ö");
		text = text.replace(/&Ouml;/g, "Ö");
		text = text.replace(/&szlig;/g, "ß");

		
		return text;
	}
	
	function ownGetElementsByName(name)
	{

	    result = new Array();
	    spans = document.getElementsByTagName("span");

	    for (i = 0; i < spans.length; i++)
		{
		    thisTag = spans[i];					
			if (thisTag != null) {
			    if (thisTag.innerHTML == '__ID' + name)
			      if(thisTag.parentNode != null)
			          result.push(thisTag.parentNode);
			}				
		}
				
		return result;

}

function toggleInlineAttachmentsTable(id) {
    var attachmentTable = document.getElementById('inlineAttachments'+id);
    if (attachmentTable)
        attachmentTable.style.display = (attachmentTable.style.display == '') ? "none" : "";
}
