<!--

	/*
	 * global variables
	 */
	 
		var writeScript = true;
		var ready = false;
		var images_1 = new Array();
		var images_2 = new Array();
		var menu = null;
		var timeout = null;
		var script;
		
		var language, node, id, context;
		
	/*
	 * stylesheet switcher
	 */
		
		function switchStylesheet ( element, choice ) {
			var styles = document.getElementsByTagName("link");
			if (styles) {
				var available = false;
				for (var i = 0; i < styles.length; i++) {
					if(styles[i].getAttribute("rel").indexOf("style") != -1 && styles[i].getAttribute("title")) {
						styles[i].disabled = (styles[i].getAttribute("title") != choice);
						if (!styles[i].disabled) {
							available = true;
						}
					}
				}
				if (available) {
					stylesheets.setStylesheet(choice);
				}
			}
		}
		
	/*
	 * navigation onmouseover/out effects
	 */	 

		var preloadedImages = {};
	
		function preloadImage ( sources ) {
			if (sources instanceof Array) {
				for (var s = 0; s < sources.length; s++) {
					var source = sources[s];
					if (source && typeof(source) == "string") {
						preloadSingleImage(source);
					}
				}
			} else {
				preloadSingleImage(sources);
			}
		}
		
		function preloadSingleImage ( source ) {
			preloadedImages[source] = new Image();
			preloadedImages[source].src = source;
		}
	
		function switchImage ( element, source ) {
			if (typeof(preloadedImages[source]) == "undefined") {
				preloadImage(source);
			}
			element.src = preloadedImages[source].src;
		}
		
	/*
	 * misc functions
	 */
	 
    function $() {
      var elements = new Array();
      for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string') {
          element = document.getElementById(element);
				}
        if (arguments.length == 1) {
          return element;
				}
        elements.push(element);
      }
      return elements;
    }
	 
		function reloadCaptcha ( cp ) {
			if (!cp) {
				cp = document.getElementById("captcha-image");
			}
			if (cp) {
				cr = new Image();
				cp.src = cr.src = cp.src + "?nocache=" + new Date().getTime();
			}
			return false;
		}
	 
		function getWindowWidth () {
		  var result = 0;
		  if(typeof(window.innerWidth) == 'number') {
		    result = window.innerWidth;
		  } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
		    result = document.documentElement.clientWidth;
		  } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
		    result = document.body.clientWidth;
		  }
		  return result;
		}

		function getX ( element ) {
			var result = element.offsetLeft;
			while ((element = element.offsetParent) != null) {
				if (element.tagName != "HTML") {
					result += element.offsetLeft;
				}
			}
			return result;
		}
		
	  function getY ( element ) {
			var result = element.offsetTop;
			while ((element = element.offsetParent) != null) {
				if (element.tagName != "HTML") {
					result += element.offsetTop;
				}
			}
			return result;
		}
		 
		function trim ( string ) {
			if (typeof(string) == "undefined") {
				string = "";
			}
			return string.replace(/^\s*|\s*$/g, "");
		}
		
		function openAdministration ( node ) {
			try {
				if (opener && !opener.closed) {
					var curnode = opener.parent.navigationWindow.node;
					if (curnode != node) {
						opener.parent.navigationWindow.navigate(node);
					}
					opener.focus();
				}
			} catch (e) {}
		}
		
		/*
		 * damned whitespaces - removes them for firefox only
		 */
		 
		/*
		 * workaround, adds missing constants
		 */
		 
	  (function () {
	    var nodeTypes = ['ELEMENT', 'ATTRIBUTE', 'TEXT', 'CDATA_SECTION', 'ENTITY_REFERENCE', 'ENTITY', 'PROCESSING_INSTRUCTION', 'COMMENT', 'DOCUMENT', 'DOCUMENT_TYPE', 'DOCUMENT_FRAGMENT', 'NOTATION'];
	    for(var i = 0; i < nodeTypes.length; i++){
	      window[nodeTypes[i] + '_NODE'] = (i + 1);
	    }
	  })();
  		
		function isNotCleanNode ( node ) {
			return !(/[^\t\n\r ]/.test(node.data) && node.nodeType !== COMMENT_NODE);
		}
				
		function cleanDOM ( node ) {
			for (var c = 0; c < node.childNodes.length; c++) {
				var childNode = node.childNodes[c];
				if (isNotCleanNode(childNode)) {
					node.removeChild(childNode);
					c--;
					continue;
				}
				if (childNode.hasChildNodes()) {
					cleanDOM(childNode);
				}
			}
		}
		
	/*
	 * userpanel extension
	 */
	 
		function updateDeleted (field, id) {
			document.getElementById("deleted" + id).value = field.checked ? 1 : 0;
		}	
	
	/*
	 * checks a given object/formular-name for missing values
	 */
	
		/*
		 * function deprecated 
		 * either checkNamedForm(object) or
		 * checkNamedForm('name')
		 *
		 */
	
		function check ( obj ) {
			if (typeof(obj) == "undefined") {
				obj = document.mail; // used by old systems
			}
			return checkNamedForm(obj);
		}
		
		function checkNamedForm ( _form ) {
			if (typeof(_form) == "string") {
					_form = document.getElementsByName(_form)[0];
			}
			if (typeof(_form) == "object") {
				markFormElements(_form, 'okay');
				var required = _form.elements["required"];
				var missingElements = new Array();
				var noneselectedElements = new Array();
				var selectedElements = new Array();
				if (required) {
					required = required.value.split(",");
					var _valid = true;
					var _obj = null;
					for (var x = 0; x < required.length; x++) {
						var _notchecked = 0, _total = 0;
						for (var y = 0; y < _form.length; y++) {
							if (_form.elements[y].name != required[x]) {
								continue;
							}
							var _type = _form.elements[y].type.toLowerCase();
							var _tag = _form.elements[y].tagName.toLowerCase();
							if ((_type == "text" || _tag == "textarea") && trim(_form.elements[y].value) == "") {
								_form.elements[y].onkeyup = checkFieldOnTheFly;
								missingElements.push(_form.elements[y]);
								_valid = false;
							}
							if ((_type == "radio" || _type == "checkbox")) {
								if (!_form.elements[y].checked) {
									noneselectedElements.push(_form.elements[y]);
									_notchecked++;
								} else {
									selectedElements.push(_form.elements[y]);
								}
								_total++;
							}
						}
						if (_total > 0 && _notchecked == _total) {
							for (var i = 0; i < noneselectedElements.length; i++) {
								var exists = false;
								for (var j = 0; j < selectedElements.length; j++) {
									if (selectedElements[j].name == noneselectedElements[i].name) {
										exists = true;
										break;
									}
								}
								if (!exists) {
									missingElements.push(noneselectedElements[i]);
									noneselectedElements[i].onclick = checkFieldOnTheFly;
								}
							}
							_valid = false;
						}
					}
					if (!_valid) {
						markFormElements(missingElements, 'missing');
						if (missingElements[0].focus) {
							missingElements[0].focus();
						}
						alert("Bitte f\xFCllen Sie alle Pflichtfelder aus.");
						return false;
					}
				}
			}
			return true;
		}
		
		function markFormElements ( elements, _classname ) {
			for (var i = 0; i < elements.length; i++) {
				if (typeof(elements[i].className) != "undefined" && (_classname == "missing" || _classname != "missing" && elements[i].className.indexOf("missing") > -1)) {
					var _type = elements[i].type.toLowerCase();
					var _class = (_type == "radio" || _type == "checkbox") ? "" : "form-fields ";
					elements[i].className = _class + _classname;
				}
			}
		}
		
		function checkFieldOnTheFly () {
			var _type = this.type.toLowerCase();
			var _tag = this.tagName.toLowerCase();
			if (_type == "radio" || _type == "checkbox") {
				var _form = this.form;
				var _elements = new Array();
				var _class = "missing";
				for (var i = 0; i < _form.length; i++) {
					if (_form.elements[i].name == this.name) {
						_elements.push(_form.elements[i]);
						if (_form.elements[i].checked) {
							_class = "okay";
						}
					}
				}
				for (var i = 0; i < _elements.length; i++) {
					_elements[i].className = _class;
				}
			} else {
				this.className = "form-fields " + (((_type == "text" || _tag == "textarea") && trim(this.value) != "") ? "okay" : "missing");
			}
		}
		
	/*
	 * extend dom used for sitemap and categories/tags (lucenesearch)
	 */
	
		var isIE = window.ActiveXObject ? true : false;
		var layout = null;
	
		var stylesheet, processor, template;
		
		if (isIE) {
			template = new ActiveXObject("MSXML2.XSLTemplate");
		}
		
		function newDomDocument () {
			return isIE ? new ActiveXObject("MSXML2.FreeThreadedDOMDocument") : document.implementation.createDocument("", "", null)
		}
		
		function extendSitemap ( node, language, target, element ) {
			if (layout == null) {
				layout = newDomDocument();
				layout.async = false;
				layout.resolveExternals = false;
				layout.load("../includestyles/layout_sitemap_client.xsl");	
			}
			extendDOM(node, language, target, element, layout);
		}
		
		function extendSearch ( node, language, target, element ) {
			if (layout == null) {
				layout = newDomDocument();
				layout.async = false;
				layout.resolveExternals = false;
				layout.load("../includestyles/layout_lucenesearch_client.xsl");	
			}
			extendDOM(node, language, target, element, layout, '&includeparameters=true');
			var lastinput = element.getElementsByTagName("input")[0];
			disableCheckBoxes(lastinput, element.lastChild, lastinput.name);
		}
		
		function disableCheckBoxes ( self, element, name) {
			if (typeof(element.getElementsByTagName) != "undefined") {
				var inputs = element.getElementsByTagName("input");
				if (inputs) {
					for (var i = 0; i < inputs.length; i++) {
						if (inputs[i].name == name && self != inputs[i]) {
							if (self.checked && inputs[i].checked) {
								inputs[i].checked = false;
							}
							inputs[i].disabled = self.checked || self.disabled;
						}
					}
				}
			}
		}
		
		function extendDOM ( node, language, target, element, stylesheet, queryext ) {
			if (element == null) {
				element = target.parentNode;
			}
			if (target.src.match(/\/down\.gif$/)) {
				target.src = "../images/up.gif";
				if (typeof(element.lastChild.style) == "undefined" || element.lastChild.style.display != "none") {
					if (isIE) {
						template.stylesheet = stylesheet;
						processor = template.createProcessor();
					} else {
						processor = new XSLTProcessor();
						processor.importStylesheet(stylesheet);
					}
					var query = "Public?command=extend-sitemap&node=" + node + "&language=" + language + "&dummy=" + new Date().getTime();
					if (typeof(queryext) != "undefined") {
						query += queryext;
					}
					var xml = newDomDocument();
					xml.async = false;
					xml.resolveExternals = false;
					xml.load(query);
					var checkboxname = typeof(element.getElementsByTagName("input")[0]) != "undefined" ? element.getElementsByTagName("input")[0].name : "category";
					if (isIE) {
						processor.input = xml;
						processor.addParameter("language", language);
						processor.addParameter("checkboxname", checkboxname);
						processor.transform();
						result = processor.output;
						element.innerHTML += result;
					} else {
						processor.setParameter(null, "language", language);
						processor.setParameter(null, "checkboxname", checkboxname);
						result = processor.transformToFragment(xml, document);
						element.appendChild(result);
					}
				} else {
					element.lastChild.style.display = "";
				}
			} else {
				target.src = "../images/down.gif";
				element.lastChild.style.display = "none";
			}
			return true;
		}
		
	/*
	 * used by image modul, creates a slideshow (fading-effect)
	 */
	
		var slideShowPosition = 1;
		var newImageSrc = null;
	
		function changeOpac ( opacity, id ) { 
			var object = document.getElementById(id).style; 
			
			object.opacity = (opacity / 100); 
			object.MozOpacity = (opacity / 100); 
			object.KhtmlOpacity = (opacity / 100); 
			object.filter = "alpha(opacity=" + opacity + ")"; 
		} 
		
		function blendimage ( divid, imageid, imagefile, millisec ) { 
			var speed = Math.round(millisec / 100); 
			var timer = 0; 
			
			document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
			
			changeOpac(0, imageid); 
			
			document.getElementById(imageid).src = imagefile.src; 
			
			for(i = 0; i <= 100; i++) { 
				setTimeout("changeOpac(" + i + ",'" + imageid + "')", (timer * speed));
				
				timer++; 
			}
			
			setTimeout("initSlideShow(" + millisec + ", '" + divid + "', '" + imageid + "')", ((timer * speed)+(millisec*2))); 
		}
		
		function initSlideShow (millisec, divid, imgid) {
			if (typeof(divid) == "undefined")
				divid = 'blenddiv';

			if (typeof(imgid) == "undefined")
				imgid = 'blendimage';

			newImageSrc = new Image();
			newImageSrc.src = slideshow[slideShowPosition];
			blendimage(divid, imgid, newImageSrc, millisec);

			if ((slideShowPosition+1) < slideshow.length)
				slideShowPosition++;
			else
				slideShowPosition = 0;
		}
	
		function loadImage ( path, description ) {
			try {
				var newimage = new Image();
				var oldimage = document.getElementById("imagepreview").firstChild;
				newimage.src = path;
				oldimage.src = newimage.src;
				
				if (typeof(description) == "string") {
					oldimage.title = description;
					oldimage.alt = description;
				}
			} catch (e) { alert(e.description); }
		}
		
	/*
	 * lucene stuff
	 */
	 
    function showAdvancedSearch ( elm, id ) {
			$(id).style.display = $(id).style.display == "none" ? "" : "none";
			var _img = elm.firstChild;
			var _newImg = new Image();
			_newImg.src = _img.src.indexOf("down") > -1 ? "../images/up.gif" : "../images/down.gif";
			_img.src = _newImg.src;
    }
    
    function resetToDefault ( id ) {
  		var inputs = $(id).getElementsByTagName("INPUT");
  		for (var i = 0; i < inputs.length; i++) {
  			if (inputs[i].disabled) {
  				inputs[i].disabled = !inputs[i].disabled;
  			}
  			if (inputs[i].type == "checkbox") {
 					inputs[i].checked = inputs[i].getAttribute("default") || false;
  			} else if (inputs[i].type == "text" || inputs[i].type == "password") {
  				inputs[i].value = inputs[i].getAttribute("default") || "";
  			}
  		}
    }
		
	/*
	 * sets up onload events
	 */

		if (window.addEventListener) {
			window.addEventListener("load",loadFuncs,false);
		} else if (window.attachEvent) {
			window.attachEvent("onload",loadFuncs);
		} else {
			window.previousLoadFunction = window.onload;
			window.onload = function() {
				window.previousLoadFunction();
				loadFuncs();
			}
		}
		
		function loadFuncs() {
			ready = true;
			var agent = navigator.userAgent.toLowerCase();
			if (!agent || agent.indexOf("opera") == -1) {
				try {
					cleanDOM(document.body);
				} catch (e) {
					// uhm, no body tag?
				}
			}
			if (window.location.search != "") {
				var languageRes, languageReg = /[?&]language=(\d+)(?:[&|$|])?/;
				languageRes = languageReg.exec(window.location.search);
				
				if (languageRes != null)
					language = parseInt(languageRes[1]);
				
				var nodeRes, nodeReg = /[?&]node=(\d+)(?:[&|$|])?/;
				nodeRes = nodeReg.exec(window.location.search);
				
				if (nodeRes != null)
					node = parseInt(nodeRes[1]);
					
				var idRes, idReg = /[?&]id=(\d+)(?:[&|$|])?/;
				idRes = idReg.exec(window.location.search);
				
				if (idRes != null)
					id = parseInt(idRes[1]);
					
				var contextRes, contextReg = /[?&]context=(\d+)(?:[&|$|])?/;
				contextReg.exec(window.location.search);
				
				if (contextRes != null)
					context = parseInt(contextRes[1]);
			}

/*
			tinyMCE_GZ.init({
				plugins : 'style,table,advimage,advlink,media,contextmenu',
				themes : 'advanced',
				languages : 'de',
				disk_cache : false,
				debug : false
			});
*/			
		
			activateEditableMode();
			
			
			
			
			
		}
		
	/*
	 * used by the shop basket (direct-order) to clone a single line
	 */
	 
		function cloneLine ( element ) {
			var cloned;
			for (var x = 0; x < 3; x++) {
				cloned = element.parentNode.parentNode.parentNode.firstChild.cloneNode(true);
				cloned.childNodes[0].firstChild.value = cloned.childNodes[0].firstChild.defaultvalue || cloned.childNodes[0].firstChild.getAttribute("defaultvalue");
				cloned.childNodes[1].firstChild.value = cloned.childNodes[1].firstChild.defaultvalue || cloned.childNodes[1].firstChild.getAttribute("defaultvalue");
				cloned.childNodes[2].style.display = "none";
				element.parentNode.parentNode.parentNode.insertBefore(cloned, element.parentNode.parentNode);
			}
		}

	/*
	 * editable contents
   */

		var editableTypes = {
			text : { tiny : true, elements : null },
			string  : { tiny : false, elements : null },
			date : { tiny : false, elements : null },
			number : { tiny : false, elements : null },
			document : { tiny : false, elements : null },
			image : { tiny : false, elements : null }
		};
		
		var tinyOriginalSource = new Array();
		var styledElements = new Array();
		var defaultValues = new Array();
		var updateValues = new Array();
		var updateQueue = new Array();
						   
		var tinyhasbeeninit = false;
		
		function doBlurEvent () {
			var ed = tinyMCE.activeEditor;
			if (typeof(ed) == "object") {
				var toolbar = document.getElementById(ed.editorId + "_external");
				if (typeof(toolbar) == "object") {
					toolbar.style.display = "none";
				}
			}
		}
		
		function enableBlurEvent () {
			var ed = tinyMCE.activeEditor;
			if (typeof(ed) == "object") {
				ed.getBody().onblur = doBlurEvent;
			}
		}
		
		function disableBlurEvent () {
			var ed = tinyMCE.activeEditor;
			if (typeof(ed) == "object") {
				ed.getBody().onblur = null;
			}
		}
		
		function delay (gap){
			var then,now;
			then=new Date().getTime();
			
			now=then;
			
			while((now-then)<gap)
				now = new Date().getTime();
		}
		
		function customTinyEvents ( ed ) {
			ed.onMouseUp.add(
				function(ed, e) {
					ed.getBody().onblur = doBlurEvent;
					if (typeof(tinyOriginalSource[ed.editorId]) != "string" || tinyOriginalSource[ed.editorId] == null) {
						tinyOriginalSource[ed.editorId] = ed.getContent();
					}
					var editor = document.getElementById(ed.editorId);
					if (typeof(editor) == "object") {
						editor = editor.parentNode;
						var toolbar = document.getElementById(ed.editorId + "_external");
						if (typeof(toolbar) == "object") {
							toolbar.onmouseover = disableBlurEvent;
							toolbar.onmouseout = enableBlurEvent;
							if (isIE) {
								toolbar.style.top = (parseInt(toolbar.style.top)-(editor.offsetHeight)) + "px";
							}
							var toolbarWidth = toolbar.offsetWidth;
							if (getX(toolbar)+toolbarWidth > getWindowWidth()) {
								var editorWidth = editor.offsetWidth;
								if (parseInt(editorWidth) == 0 && typeof(editor.parentNode) != "undefined") {
									editorWidth = editor.parentNode.offsetWidth;
								}
								toolbar.style.left -= (toolbarWidth-editorWidth);
							}
						}
					}
				}
			);
		}
		
		function callTinyInit () {
			if (tinyMCE) {
				tinyMCE.init({
					mode : "exact",
					language : language == 1 ? "de" : "en",
					theme : "advanced",
					plugins : "",
					add_form_submit_trigger : 0,
					add_unload_trigger : 0,
					init_instance_callback : "customTinyEvents",
					theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink",
					extended_valid_elements : "a[name|href|target|title],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
					theme_advanced_buttons2 : "",
					theme_advanced_buttons3 : "",
					theme_advanced_toolbar_location : "external",
					theme_advanced_toolbar_align : "left",
					theme_advanced_statusbar_location : "none",
					theme_advanced_resizing : false,			
					force_br_newlines : true,
        	forced_root_block : '',
					force_p_newlines : false,
					button_tile_map : true,
					relative_urls: false,
					convert_urls : false,
					verify_html : false,
					fix_list_elements : true,
					fix_table_elements : true,
					fix_nesting : true,
					entity_encoding : "numeric"
				});		
				tinyhasbeeninit = true;
			}
		}

		var pageMode = false; 
		var spans = null;
		
		function getEditableTags ( type ) {
			if (spans == null) {
				spans = document.getElementsByTagName("span");
			}
			var elements = new Array();
			if (spans != null) {
				for(var i = 0; i < spans.length; i++){
					var element = spans[i];
					if(element.id.indexOf(type + '_') > -1){
						if (element.getAttribute("editable") != null && new Boolean(element.getAttribute("editable"))) {
							elements.push(element);
						}
					}
				}
			}
			return elements;
		}
		
		function activateEditableMode () {
	  	var elements = ['editContent','saveContent'];
	  	if (document.getElementById(elements[0])) {
				var hasElements = false;
			  for (var t in editableTypes) {
			  	if (editableTypes[t].elements == null) {
				  	editableTypes[t].elements = getEditableTags(t);
				  	if (editableTypes[t].elements != null && editableTypes[t].elements.length > 0 && !hasElements) {
				  		hasElements = true;
				  	}
				  }
			  }
			  if (hasElements) {
			  	for (var x in elements) {
			  		var obj = document.getElementById(elements[x]);
			  		if (typeof(obj) != "undefined") {
			  			obj.onclick = function () {
			  				enableEditModus(pageMode)
			  			};
			  			obj.className = "fake-link";
			  		}
			  	}
			  }
			}
		}

		function enableEditModus ( mode ) {
			try {
				if (!tinyhasbeeninit) {
					callTinyInit();
				}
			  pageMode = !mode;
			  for (var t in editableTypes) {
			  	if (editableTypes[t].elements != null) {
					  for(var i = 0; i < editableTypes[t].elements.length; i++) {
					    try {
					    	if (editableTypes[t].elements[i].parentNode) { // inline elements look dump in firefox :(
					    		var childs = editableTypes[t].elements[i].parentNode.childNodes;
					    		for (var x = 0; x < childs.length; x++) {
					    			if (typeof(childs[x].className) == "string" && childs[x].className.indexOf("inline") != -1) {
					    				styledElements[t + x] = { element : childs[x], className : childs[x].className, padding : childs[x].style.paddingBottom };
					    				childs[x].className = "";
					    				childs[x].style.paddingBottom = "10px";
					    			}
					    		}
					    	}
					    	toggleEditableMode(editableTypes[t].elements[i], editableTypes[t].tiny, pageMode, t);
					    } catch (err) {
					    	alert(err.description);
					    	continue;
					    }
					  }
					}
				}
				if (!pageMode) {
					for (var i in styledElements) {
						var el = styledElements[i].element;
						el.className = styledElements[i].className;
	   				el.paddingBottom = styledElements[i].padding;
					}
				  for (var i in updateValues) {
				  	var putInQueue = false;
				  	if (editableTypes[updateValues[i].type].tiny) {
				  		putInQueue = typeof(tinyOriginalSource[i]) == "string" && updateValues[i].source != tinyOriginalSource[i];
				  		tinyOriginalSource[i] = null;
				  	} else {
				  		putInQueue = updateValues[i].source != defaultValues[i];
				  	}
				  	if (putInQueue) {
				  		updateQueue.push(i);
				  	}
					}
					if (updateQueue.length > 0) {
						prepareQueue();
					}
				}
			} catch (error) {
				alert(error);
			}
			document.getElementById("editContent").style.display = !pageMode ? "inline" : "none";
			document.getElementById("saveContent").style.display = !pageMode ? "none" : "inline";		
		}
		
		var queueElement = null;
		var queueElementTimeout = 15000;
		
		function prepareQueue () {
			if (updateQueue.length > 0) {
				queueElement = updateQueue[0];
				updateQueue.shift();
				try {
					var contentid = queueElement.replace(/[^0-9%]+/g, '');
					switch (updateValues[queueElement].type) {
						case "text":
							texts.updateText(contentid, updateValues[queueElement].source,
							{
								callback : updateCallBack,
								timeout : queueElementTimeout,
								errorHandler : queueUpdateFailed
							});
							break;
						case "string":
							strings.updateString(contentid, updateValues[queueElement].source,
							{
								callback : updateCallBack,
								timeout : queueElementTimeout,
								errorHandler : queueUpdateFailed
							});
							break;
						case "number":
							numbers.updateNumber(contentid, updateValues[queueElement].source,
							{
								callback : updateCallBack,
								timeout : queueElementTimeout,
								errorHandler : queueUpdateFailed
							});
							break;
						case "date":
							dates.updateDate(contentid, updateValues[queueElement].source,
							{
								callback : updateCallBack,
								timeout : queueElementTimeout,
								errorHandler : queueUpdateFailed
							});
							break;
					}
				} catch (error) {
					queueUpdateFailed(error.description ? error.description : error);
				}
			}
		}
				
		function queueUpdateFailed ( message ) {
			alert(message);
			prepareQueue();
		}
		
		function updateCallBack ( result ) {
			if (new Boolean(result) == true) {
				updateValues[queueElement].object.innerHTML = updateValues[queueElement].source;
			}
			prepareQueue();
		}
			
		function toggleEditableMode ( element, editor, state, contenttype ) {
			if (typeof(element) == "object") {
				var _uniqueid = "editable" + element.id;
				if (state) {
					var _defaultwidth = "100%";
					var _height = parseInt(element.offsetHeight) < 200 ? 200 : parseInt(element.offsetHeight);
					if (element.offsetWidth && parseInt(element.offsetWidth) > 150 && element.parentNode.offsetWidth && parseInt(element.parentNode.offsetWidth) < 200) {
						_defaultwidth = parseInt(element.offsetWidth);
					}
					defaultValues[_uniqueid] = element.innerHTML;
					if (editor) {
						element.innerHTML = "<textarea style=\"width: " + _defaultwidth + "; height: " + _height + "px;\" id=\"" + _uniqueid + "\">" +  defaultValues[_uniqueid] + "<\/textarea>";
						if (!tinyMCE.execCommand('mceAddControl', null, _uniqueid)) {
							element.innerHTML = defaultValues[_uniqueid];
						}
					} else {
						var _input = document.createElement("INPUT");
						_input.setAttribute("id", _uniqueid);
						_input.setAttribute("value", element.innerHTML.replace(/\t|\r|\n|\r\n/g, "").replace(/&gt;/g, ">").replace(/&lt;/g, "<"));
						_input.className = "editable-inputfield " + element.className;
						_input.style.width = _defaultwidth;
						element.innerHTML = "";
						element.appendChild(_input);
					}
				} else {
					if (editor) {
						var tiny = tinyMCE.getInstanceById(_uniqueid);
						if (typeof(tiny) == "object") {
							updateValues[_uniqueid] = { source : tiny.getContent(), type : contenttype, object : element };
							if (tinyMCE.execCommand('mceRemoveControl', null, _uniqueid)) {
								element.innerHTML = defaultValues[_uniqueid];
							}
						}
					} else {
						updateValues[_uniqueid] = { source : element.getElementsByTagName("INPUT")[0].value.replace(/>/g, "&gt;").replace(/</g, "&lt;"), type : contenttype, object : element  };
						element.innerHTML = defaultValues[_uniqueid];
					}
				}
			}
		}			

	/*
	 * old stuff starts here, used by new and old layouts
	 */	 
	
		var browser = navigator.appName;
		var version = navigator.appVersion;
		var code = navigator.appCodeName;
		var code_version = navigator.userAgent;
	
		var ne4 = (document.layers) ? true : false;
		var ne6 = (document.getElementById && !document.all) ? true : false;
		var ie = (document.all && document.styleSheets) ? true : false;
		var opera = (document.all && !document.styleSheets) ? true : false;
		var icab = (code_version.indexOf("icab") != -1) ? true : false;
	
		var os = navigator.platform.toLowerCase();
	
		var win = (os.indexOf("win") == 0) ? true : false;
		var mac = (os.indexOf("mac") == 0) ? true : false;
		var linux = (os.indexOf("inux") == 0) ? true : false;
		
		var background = "#efefef";
		var divTop = "";
		var divLeft = "";	

		function extras(print, favorites, homepage) {	
			document.write('<img src="../images/print.gif" width="18" height="17" alt="' + print + '" onclick="window.open(window.location.href + \'&mode=print\', \'_blank\')"/>');
			if (ie && win) {		
				document.write('&nbsp;&nbsp;<img src="../images/favorites.gif" width="18" height="17" alt="'+ favorites + '" onclick="window.external.AddFavorite(location.href, document.title)"/>');
				document.write('&nbsp;&nbsp;<img src="../images/home.gif" width="18" height="17" alt="' + homepage + '" onclick="this.style.behavior = \'url(#default#homepage)\'; this.setHomePage(location.href)"/>');
			}
		}

		function crossDOM (Style, objID) {	
			if (ne6) {			
				if (Style == 1)
					return (document.getElementById(objID).style);
				else
					return (document.getElementById(objID));
			}	else if (ie || opera) {
				if (Style == 1)
					return (document.all[objID].style);
				else
					return (document.all[objID]);
			}	else {		
				if (ne4)
					return (document.layers[objID]);
			}
		}
		
		function retard (script) {	
			if (ready) {		
				self.script = script;	
				timeout = setTimeout(script, 300);
			}
		}
		
		function set (menu, visible, block) {		
			if (ready) {		
				if (timeout) {			
					clearTimeout(timeout);
					timeout = null;		
					if (menu != self.menu)
						eval(script);
				}		
				var Left = getLeft("m" + menu);
				var Top = getTop("m" + menu);
				var Height = getHeight("m" + menu) + 8;
				var Width = getWidth("m" + menu);			
				var DOM = crossDOM(1, "layer_" + menu);
				DOM.top = (Top + Height) + "px";
				DOM.left = (Left + 10) + "px";			
				DOM.visibility = visible ? "visible" : "hidden";
				DOM.display = block ? "block" : "none";
				self.menu = menu;
			}
		}
		
		function retard2(script) {	
			if (ready) {		
				self.script = script;	
				timeout = setTimeout(script, 300);
			}
		}
	
		function set2(menu, visible, block) {		
			if (ready) {		
				if (timeout) {			
					clearTimeout(timeout);
					timeout = null;		
					if (menu != self.menu)
						eval(script);
				}		
				var Left = getLeft("m" + menu);
				var Top = getTop("m" + menu);
				var Height = getHeight("m" + menu);
				var Width = getWidth("m" + menu);			
				var DOM = crossDOM(1, "layer_" + menu);
				DOM.top = (Top) + "px";
				DOM.left = (Left + Width) + "px";			
				DOM.visibility = visible ? "visible" : "hidden";
				DOM.display = block ? "block" : "none";		
				self.menu = menu;
			}
		}
	
		function getHeight(objID) {
			var DOM = crossDOM (0, objID);
			if (DOM.offsetHeight)
				return DOM.offsetHeight;
			if (ne4)
				return DOM.clip.height;
			else
				return (null);
		}	
	
		function getWidth(objID) {
			var DOM = crossDOM (0, objID);
			if (DOM.offsetWidth)
				return DOM.offsetWidth;
			if (ne4)
				return DOM.clip.width;
			else
				return (null);
		}
			
		function getLeft(objID) {		
			var DOM = crossDOM(0, objID);
			var styleDOM = crossDOM(1, objID);
			if (DOM.offsetLeft)
				return DOM.offsetLeft;
			if (styleDOM.left)
				return styleDOM.left;
			if (styleDOM.pixelLeft)
				return styleDOM.pixelLeft;
			else
				return (null);		
		}	
		
		function getTop(objID) {
			var DOM = crossDOM(0, objID);
			var styleDOM = crossDOM(1, objID);
			if (DOM.offsetTop)
				return DOM.offsetTop;
			if (styleDOM.top)
				return styleDOM.top;
			if (styleDOM.pixelTop)
				return styleDOM.pixelTop;
			else
				return (null);	
		}
		
		function colorize(objID) {	
			var DOM = crossDOM (1, objID);		
			if (ne4)
				DOM.bgColor = background;
			else
				DOM.backgroundColor = background;
		}
	
		function decolorize(objID) {	
			var DOM = crossDOM (1, objID);		
			if (ne4)
				DOM.bgColor = "";
			else
				DOM.backgroundColor = "";
		}
	
		function navStyle(objID, stat) {		
			var DOM = crossDOM(0, objID);		
			if (stat == "0")
				DOM.className = "menu-2off";
			else
				DOM.className = "menu-2on";
		}

		function left() {	
			if (document.all)
				return document.body.clientWidth - 82;
			else
				return window.innerWidth - 82;
		}
		
		function top() {		
			if (document.all)
				return document.body.clientHeight - 282;
			else
				return window.innerHeight - 282;
		}
		
		function move() {		
			if (document.layers) {			
				var x = pageXOffset + left();		
				document.layers["menu"].left = x > 748 ? x : 748;
				document.layers["menu"].top = pageYOffset + top();
				document.layers["menu"].visibility = "show";
			}	else {			
				if (document.all) {				
					var x = document.body.scrollLeft + left();		
					document.getElementById("menu").style.left = x > 748 ? x : 748;
					document.getElementById("menu").style.top = document.body.scrollTop + top();
				} else {				
					var x = pageXOffset + left();		
					document.getElementById("menu").style.left = x > 748 ? x : 748;
					document.getElementById("menu").style.top = pageYOffset + top();
				}		
				document.getElementById("menu").style.visibility = "visible";
			}		
			setTimeout("move()", 100);
		}
		
		function autoLogin(form) {
			if (form == null || typeof(form) != "object")
				return;
				
			form.innerHTML += "<input type=\"hidden\" name=\"user\"/>";
			form.innerHTML += "<input type=\"hidden\" name=\"computer\"/>";
			form.innerHTML += "<input type=\"hidden\" name=\"domain\"/>";
			
			var wshNetwork = new ActiveXObject("WScript.Network");
			var strUser = wshNetwork.Username;
			
			form.user.value = strUser;
			form.computer.value = wshNetwork.ComputerName;
			form.domain.value = wshNetwork.UserDomain;
			document.getElementById("ldapUserLabel").innerHTML = strUser;			
		}

//-->
