tilt.attachEvent(document, "contentreceived", function(){

	//try {
	var nbsp = String.fromCharCode(160);
	var body = document.body;
	var isHome = true;
	var form = document.getElementById("form");
	var SCRIPTBASE = "";
	if (form) {
		var cas = new ElementIdBag(
			"login",
			"properties",
			"presentation",
			"titling",
			"search",
			"content",
			"navigation",
			"footer",
			"cataloglinks"
		);

		// break down the titles
		var siteTitle = [];
		var pageTitle;
		var sectionTitle = [];
		var otherTitle = [];
		var siteImage = [];
		var sectionImage = [];
		var pageImage;
		var otherImage = [];
		var parent;
		var searchSubmit;
		var searchBox;
		
		var excludePeers = (
			(document.getElementById("documentCollection") != null) 
			|| (document.getElementById("documentInfo") != null)
			|| (findFirstElementOfClass(document,"div","image-list") != null)
		);
		
		foreach(cas.titling, function(child) {
			var className = child.className;

			if (child.getElementsByTagName("img").Length > 0) {
				if (className.indexOf("page") >= 0) {
					pageImage = child;
				} else if (className.indexOf("Site") >= 0) {
					siteImage.push(child);
				} else if (className.indexOf("Section") >= 0) {
					sectionImage.push(child);
				} else {
					otherImage.push(child);
				}
			} else {
				if (className.indexOf("page") >= 0) {
					pageTitle = child;
				} else if (className.indexOf("Site") >= 0) {
					siteTitle.push(child);
				} else if (className.indexOf("Section") >= 0) {
					sectionTitle.push(child);
				} else {
					otherTitle.push(child);
				}
			}
		});
		
		var catalogTitle;
		
		if (cas.cataloglinks) {
			catalogTitle = pageTitle.firstChild.nodeValue.replace(" ", "_");
			var pricelistlink = findFirstElementOfClass(cas.cataloglinks, "a", "pricelist");
			if (pricelistlink) {
				pricelistlink.href += "#" + catalogTitle;
			}
		}
		
		// add "Search " to search box
		if (cas.search) {
			var inputs = cas.search.getElementsByTagName("input");
			searchBox = first(inputs);
			if (searchBox) {
				var defaultValue = "Search ";
				var defaultClassName = searchBox.className;
				searchBox.value = defaultValue;
				tilt.attachEvent(searchBox, "focus", function(box) {
					if (searchBox.value == defaultValue) {
						searchBox.value = "";
						searchBox.className = defaultClassName + " active";
					}
				});
				tilt.attachEvent(searchBox, "blur", function(box) {
					if (searchBox.value.length === 0) {
						searchBox.value = defaultValue;
						searchBox.className = defaultClassName;
					}
				});
			}
			searchSubmit = inputs[1];
			if (searchSubmit) {
				searchSubmit.value = "";
			}
		}
		
		var nav = cas.navigation && first(cas.navigation.getElementsByTagName("ul"));
		var nav4bc = nav;
		if (nav) {
		
			if (excludePeers) {
				var nodelist = findFirstElementOfClass(nav,"ul","Peers");
				if (nodelist) {
					nodelist.parentNode.removeChild(nodelist);
				}
			}


			var home = first(nav.getElementsByTagName("li"));
			var homea = first(home.getElementsByTagName("a"));
			if (!homea || homea.rel != "Home") {
				home = null;
			}
			homea.className = homea.className + " Home";
			nav = first(nav.getElementsByTagName("ul"));
			nav.className = "l-sections";
			foreach(nav.getElementsByTagName("a"), function(a) {
				if (a.className.indexOf("current") >= 0) {
					if (a.className.indexOf("extra") >= 0) {
						extra = a;
					}
					return true;
				} else {
					if (a.className.indexOf("crumb") >= 0) {
						section = a;
						return true;
					}
				}
			})
			// add 'last' class to last li element in Peers list
			foreach(nav.getElementsByTagName("ul"), function(u) {
				if (hasClass(u,"Peers"))
				{
					var uchildren = children(u);
					if (uchildren.length > 0)
					{
						uchildren[uchildren.length - 1].className = uchildren[uchildren.length - 1].className + " last";
					}
				}
			})
		}
		
		// add 'first' class to all first li elements
		/*
		foreach(["ul", "ol"], function(tag){
			foreach(form.getElementsByTagName(tag), function(ul) {
				var items = ul.getElementsByTagName("li");
				if (items.length > 0) {
					var li = items[0];
					li.className += " first";
				}
			});
		});
		*/
		
		// find the anchor that classified as 'current' in the navigation
		var currentAnchor = null;
		var currentParent = null;
		foreach(cas.navigation.getElementsByTagName("A"),function(el) {
			if (hasClass(el,"current"))
			{
				currentAnchor = el;
				return;
			}
		});
		if (currentAnchor)
		{
			currentParent = currentAnchor.parentNode;
			currentAnchor.parentNode.className = currentAnchor.parentNode.className + " current";
		} else {
			var currentDiv = null;
			foreach(cas.navigation.getElementsByTagName("div"),function(el) {
				if (hasClass(el,"current"))
				{
					currentDiv = el;
					return;
				}
			});
			if (currentDiv)
			{
				currentParent = currentDiv.parentNode;
				currentDiv.parentNode.className = currentDiv.parentNode.className + " current";
			}
		}
		if (currentParent) {
			var uls = currentParent.getElementsByTagName("ul");
			if (uls.length > 0) {
				uls[0].className += " child-list";
			}
		}
		
		//spanitize(cas.navigation);
		
		var breadcrumb = null;
		if (nav4bc) {
			/*
			* Clone navigation as breadcrumb
			*/
			var bc = nav4bc.cloneNode(true);
			var childlist = findFirstElementOfClass(bc,"ul","child-list");
			breadcrumb = document.createElement("div");
			breadcrumb.id = "breadcrumb";
			breadcrumb.appendChild(bc);
			if (childlist) {
				breadcrumb.appendChild(childlist);
			}
		}
		
		// break down the feeds
		var f1 = [];
		var f2 = [];
		var feeds = [];
		foreach(cas.feeds, function(item) {
			var classNames = item.className.split(" ");
			if (classNames[0] == "feed") {
				if (classNames.length > 0) {
					var type = classNames[1];
					switch(classNames[1]) {
						case "f1":
							f1.push(item);
							break;
						case "f2":
							f2.push(item);
							break;
						default:
							feeds.push(item);
							break;
					}
				}
				else {
					feeds.push(item);
				}
			}
		});

		form.appendChild(
			tilt.createTable(
			{
				"l-header":
					[
						siteTitle,
						siteImage,
						sectionTitle,
						sectionImage,
						otherTitle,
						otherImage,
						tilt.createDiv(
							[
								tilt.createDiv( [searchBox,	searchSubmit], "search")
							], "l-search")

					],
				"l-navigation":
					[
						tilt.createDiv(
							[
								cas.navigation
							], "l-navigation"),
						tilt.createDiv(
							[
								breadcrumb
							], "l-breadcrumb")
					],
				"l-middle":
					{
						"l-middle": tilt.createTable(
						{
							"l-body":
							{
								"l-left": f1,
								"l-center":
									tilt.createTable(
									{
										"l-titling": pageTitle,
										"l-content":  function() {
											
											var imagelist = findFirstElementOfClass(cas.content, "div", "image-list");
											if (imagelist) {
												var imageitems = getChildren(imagelist, true, "ol", "images");
												if (!imageitems || (imageitems.length == 0)) {
													var div = document.createElement("div");
													div.className = "Message";
													div.innerHTML = "No items found.";
													imagelist.appendChild(div);
												}
											}
											
											var imagedetails = findFirstElementOfClass(cas.content, "div", "image-details");
											if (imagedetails) {
												var classbag = new ElementClassBag(imagedetails, ["description", "properties"]);
												var tags = findFirstElementOfClass(cas.content, "div", "tags");
												if (tags) {
													var tagitems = getChildren(tags, false, "li");
													if (tagitems && tagitems.length > 0) {
														tagitems.pop();
														foreach(tagitems, function(li) {
															li.innerHTML += ",";
														});
													}
												}
												var img = first(imagedetails);
												img.src = img.src.replace("version=4", "version=1");
												//ItemListLayout(findFirstElementOfClass(classbag.Elements["properties"][0], "dd", "itemlist"), "Item|Item Number|Size");
												imagedetails.appendChild(
													tilt.createTable(
													{
														"": 
														{ 
															"l-image": img, 
															"l-info": [classbag.Elements["description"][0], classbag.Elements["properties"][0], cas.cataloglinks, tags],
															"l-shim": " "
														}
													}, "l-image-details")
												);
								
												classbag = new ElementClassBag(imagedetails, ["file-size", "content-type", "file-name", "author", "created-on"]);
												foreach(classbag.AllElements, function(el) {
													el.className += " l-hidden";
												});

												if (hasClass(imagedetails.parentNode, "Message")) {
													imagedetails.parentNode.parentNode.insertBefore(imagedetails, imagedetails.parentNode);
												}
											}
											
											foreach(getChildren(cas.content, false, "div", "Form"), function(tag) {
												if (hasClass(tag, "Form")) {
													tag.appendChild(BasicFormLayout(tag));
												}
											});
											
											return cas.content;
										}()
									}, "l-maincontent"),
								"l-right": [f2, feeds]
							}
						}, "l-body")
					},


				"l-footer":
					[
						cas.footer
					]
			}, "l-main")
		);

		// mark first li as "first"
		var firstitem = false;
		var nodename;
		var cnt;
		foreach(form.getElementsByTagName("ul"), function(ul) {
			var items = ul.getElementsByTagName("li");
			if (items.length > 0) {
				var li = items[0];
				li.className = li.className + " first";
				cnt = 0;
				foreach(li.childNodes, function(node) {
					
					nodename = node.nodeName.toLowerCase();
					//alert(nodename + " " + cnt)
					if ((nodename == "a") || (nodename == "div")) {
						++cnt;
						if (!firstitem) {
							firstitem = true;
							li.className += " firstitem";
						}
						return true;
					}
				});
				//alert("[" + li.childNodes.length + "] [" + cnt + "]");
				//if (cnt == li.childNodes.length) {
				if (cnt == 0) {
					li.className += " noitem";
				}
			}
		});

		//**

		foreach(cas.navigation.getElementsByTagName("A"), function(a) {
			if (a.getAttribute("rel") == "Home")
			{
				isHome = false;
			}
		});
		
		if (isHome)
		{
			body.className = body.className + " Home";
		} else {
			body.className = body.className + " Inner";
		}

		// replace images with flash by convention
		foreach(map(document.getElementsByTagName("img")), function(img) {
			var imgparent = img.parentNode
			 var src = img.src;
			 if (src && src.indexOf(".swf.") > 0) {
				replaceWithFlash(img);
			 }
		});

		// include script for datetime picker, if needed
		if (filter(document.getElementsByTagName("input"), function(input) {
			//return input.className.indexOf("date") >= 0;
			return hasClass(input, "date datetime");
		}).length > 0) {
			tilt.addScript("datetime.js");	
		}
		if (cas.content) {
			if (foreach(cas.content.getElementsByTagName("div"), function(div) {
				if (div.className == "visibility") {
					div.id = "grid-visibility";
					return true;
				}
			})) {
				tilt.addScript("grid.js");
			}
		}
		// include script for category-editor, if needed
		if (filter(document.getElementsByTagName("div"), function(div) {
			return div.className.indexOf("category-editor") >= 0;
		}).length > 0) {
			tilt.addScript("dynamictree.js");	
		}
		
		/* this replaces the span rendered in the grid for a sorted column with an img */
		var sortimg;
		foreach(document.getElementsByTagName("span"), function(sortspan) {
			if (sortspan.className.indexOf("ascending") >= 0) {
				sortimg = document.createElement("div");
				sortimg.className="ascending";
				sortimg.innerHTML = '<img src="../../assets/presentation-utility/1-0-1-0/images/sort-ascending.gif" width="16" height="16" border="0" />';
				sortspan.parentNode.replaceChild(sortimg, sortspan);
			} else if (sortspan.className.indexOf("descending") >= 0) {
				sortimg = document.createElement("div");
				sortimg.className="descending";
				sortimg.innerHTML = '<img src="../../assets/presentation-utility/1-0-1-0/images/sort-descending.gif" width="16" height="16" border="0" />';
				sortspan.parentNode.replaceChild(sortimg, sortspan);
			}
		});
		
		// create authoring UI
		createAdminUI();
		
		
		if (cas.titling) {
			cas.titling.parentNode.removeChild(cas.titling);
		}
		if (cas.search) {
			cas.search.parentNode.removeChild(cas.search);
		}
		
		// open all external links in a new window
		window.status = "Making external links open in new window...";
		var anchors = document.getElementsByTagName("A");
		var host = location.protocol + "//" + location.host;
		var href;
		for(var i = 0; i < anchors.length; i ++)
		{
			href = anchors[i].getAttribute("href");
			if ((href.indexOf("/") != 0) &&
					((href.indexOf("http:") == 0) && (href.indexOf(host) != 0)) &&
					(href.indexOf("estrada3.dll") < 0) &&
					(href.indexOf("javascript") < 0))
			{
				anchors[i].setAttribute("target", "_blank");
			}
		}
		window.status = window.defaultStatus;
		
	}
	//}catch(e){alert(e)}
	
	function children(node) {
		var result = [];
		var child = node.firstChild;
		while(child) {
			if (child.nodeType == 1) {
				result.push(child);
			}
			child = child.nextSibling;
		}
		return result;
	}
	
	function findFirstElementOfClass(start, element, classname)
	{
		var foundElement = null;
		foreach(start.getElementsByTagName(element), function(el) {
			//if (element == "dd") alert(el.className);
			if (el.className.indexOf(classname) >= 0)
			{
				foundElement = el;
				return true;
			}
		});
		return foundElement;
	}
	
	function spanitize(node) {
		foreach(node.getElementsByTagName("A"), function(a) {
			if (hasClass(a,"current"))
			{
				a.innerHTML ='<span class="over">&#32;</span>' +  a.innerHTML;
			} else {
				a.innerHTML ='<span class="notover">&#32;</span>' +  a.innerHTML;
			}
		})
	}
	
	function ElementIdBag()
	{
		this.contains = function()
		{
			for(var i = 0; i < arguments.length; i++)
			{
				if (!this[arguments[i]])
				{
					return false;
				}
			}
			return true;
		}
		
		for(var i = 0; i < arguments.length; i++)
		{
			var id = arguments[i];
			var element = document.getElementById(id);
			if (element)
			{
				this[id] = element;
			}
		}
	}
		
	
	function hasClass(node, className)
	{
		var classNames = node.className.split(" ");
		var classNamesMatch = className.split(" ");
		if (classNames && classNames.length > 0)
		{
			for (var y=0; y < classNames.length; ++y)
			{
				for (var z=0; z < classNamesMatch.length; z++) {
					if (classNames[y] == classNamesMatch[z])
					{
						return true;
					}
				}
			}
		}
		return false;	
	}
	
	function replaceWithFlash(img)
	{
		var width = img.currentStyle ? img.currentStyle.width.replace(/px/, "") : img.width;
		var height = img.currentStyle ? img.currentStyle.height.replace(/px/, "") : img.height;
		var src = img.src;
		if (width && height && src) {

			var movie = src.replace(/\.swf\..+/, ".swf");
			var version = 4;
			var useNetscapePlugins = navigator.plugins && navigator.mimeTypes.length;
			
			if (detectFlash())
			{
				var child = img;
				var parent = img.parentNode;
				if (parent.nodeName.toUpperCase() == "A") {
					child = parent;
					parent = parent.parentNode;
				}
				var classname = child.className;
				var flashDiv = document.createElement("div");
				flashDiv.className = classname;
				flashDiv.innerHTML = createMovieHtml();
				parent.replaceChild(flashDiv, child);
				//parent.removeChild(child);
				//parent.innerHTML = parent.innerHTML + "<div class=\"" + classname + "\">" + createMovieHtml() + "</div>";
			}
			
		}

		function createMovieHtml()
		{
			var sizeAttributes = "width=\"" + width + "\" height=\"" + height + "\"";
			return useNetscapePlugins ?
				"<embed type=\"application/x-shockwave-flash\" src=\"" + movie + "\" " + sizeAttributes + "wmode=\"transparent\"></embed>"
				:
				"<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" " + sizeAttributes + "><param name=\"movie\" value=\"" + movie + "\" /><param name=\"wmode\" value=\"transparent\" /></object>";		}
		
		function detectFlash()
		{
			return getFlashVersion() >= version;

			function getFlashVersion()
			{
				if (useNetscapePlugins)
				{
					var plugin = navigator.plugins["Shockwave Flash"];
					if(plugin && plugin.description)
					{
						var description = plugin.description;
   						return description.charAt(description.indexOf('.')-1);
					}
				} 
				else
				{
					var version = 0;
					for(var i = 4; i >= 3; i--)
					{
						var testObject;
						try
						{
							testObject = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." +  i);
						}
						catch(e)
						{
							continue;
						}
						return i;
   					}
				}
				return 0;
			}
		}
	}
	
	function addScript(script, base) {
		if (script && document.body) {
			var scriptbase = base;
			var e = document.body.appendChild(document.createElement("script"));
			e.type = "text/javascript";
			if (base == null || base =="")
			{
				scriptbase = SCRIPTBASE;
			}
			e.src =  scriptbase + script;
		}
	}
	
	function getNextChild(node, validTypes) {
		var el = node.firstChild;
		while (el) {
			if ((el.nodeType == 1) && isValidType(el, validTypes)) {
				return(el);
			} 
			else {
				el = el.nextSibling;
			}
		}
		return(null);
	}
	
	function isValidType(el, validTypes) {
		if (!validTypes || validTypes.length == 0) {
			return true;
		}
		var tag = el.tagName.toLowerCase();
		for (var i = 0; i < validTypes.length; i++) {
			if (tag == validTypes[i]) {
				return true;
			}
		}
		return false;
	}
	
	function ElementClassBag(node, classes)
	{
		var Classes = classes;
		this.Elements = [];
		this.AllElements = [];
		
		this.contains = function()
		{
			for(var i = 0; i < Classes.length; i++)
			{
				if (!this.Elements[Classes[i]])
				{
					return false;
				}
			}
			return true;
		}
		
		for(var i = 0; i < Classes.length; i++)
		{
			var className = Classes[i];
			this.Elements[className] = [];
			traverse(node, className, this);
			for(var j = 0; j < this.Elements[className].length; j++) {
				this.AllElements.push(this.Elements[className][j]);
			}
		}
		
		function traverse(node, className, classbag) {
			foreach(node, function(child) {
				//alert(child.nodeName + " " + child.className);
				if (hasClass(child, className)) {
					classbag.Elements[className].push(child);
					//alert("push:" + classbag.Elements[className][classbag.Elements[className].length-1]);
				}
				traverse(child, className, classbag);
			})
		}
	}
	
	function next(col) {
		if (col) {
			if (col.length) {
				return col.length > 0 && col[0];
			}
			else {
				var next = col.nextSibling;
				while(next) {
					if (next.nodeType == 1) {
						return next;
					}
					next = next.nextSibling;
				}
			}
		}
		return null;
	}
	
	function getChildren(node, directOnly, tagName, className, result) {
		if (!result) {
			result = [];
		}
		var el = node.firstChild;
		while (el) {
			if (el.nodeType == 1) {
					if ((!tagName || ((tagName.length > 0) && (el.nodeName.toLowerCase() == tagName)))
						&& (!className || ((className.length > 0) && (el.className == className)))) {
						result.push(el);
					}
				if (!directOnly) getChildren(el, false, tagName, className, result);
			}
			el = el.nextSibling;
		}
		return result;
	}
	
	function BasicFormLayout(element) {
		var formTable = tilt.createTable({

		}, "l-form-layout");
		var tbody = formTable.getElementsByTagName("TBODY")[0];
		LayoutForm_Message();
		switch (element.className) {
			case "Form":
				LayoutType_Form();
				break;
		}
		LayoutForm_Commands();
		return formTable;
		
		function LayoutType_Form() {
			foreach(map(getChildren(element, true, "div", "Property")), function(tag) {
				var row = tbody.appendChild(document.createElement("TR"));
				row.className = "l-form-row";
				var cell1 = row.appendChild(document.createElement("TD"));
				cell1.className = "l-name";
				var classbag = new ElementClassBag(tag, ["Name", "Value"]);
				cell1.appendChild(classbag.AllElements[0]);
				var cell2 = row.appendChild(document.createElement("TD"));
				cell2.className = "l-value";
				cell2.appendChild(classbag.AllElements[1]);
				tag.parentNode.removeChild(tag);
				var cell3 = row.appendChild(document.createElement("TD"));
				cell3.className = "l-shim";
				cell3.appendChild(document.createTextNode(" "));
			});
		}
		
		function LayoutForm_Message() {
			var msg = findFirstElementOfClass(element, "span", "Message");
			if (msg) {
				var row = tbody.appendChild(document.createElement("TR"));
				var cell = row.appendChild(document.createElement("TD"));
				cell = row.appendChild(document.createElement("TD"));
				cell.className = "l-message";
				cell.colSpan = 2;
				cell.appendChild(msg);
			}
		}
		
		function LayoutForm_Commands() {
			var cmds = findFirstElementOfClass(element, "div", "Commands");
			if (!cmds) {
				cmds = findFirstElementOfClass(element, "ul", "commands");
			}
			if (cmds) {
				var row = tbody.appendChild(document.createElement("TR"));
				var cell = row.appendChild(document.createElement("TD"));
				cell = row.appendChild(document.createElement("TD"));
				cell.className = "l-commands";
				cell.colSpan = 2;
				cell.appendChild(cmds);
			}
		}
	}
	
	function ItemListLayout(element, colHeadings) {
		var itemTable;
		if (element) {
			itemTable = tilt.createTable({

			}, "l-item-layout");
			var tbody = itemTable.getElementsByTagName("TBODY")[0];
			addRow(colHeadings, tbody, "head");
			var ul = element.getElementsByTagName("ul")[0];
			if (ul) {
				foreach(map(getChildren(first(element), true, "li")), function(li) {
					addRow(li.innerHTML, tbody);
				});
				ul.parentNode.removeChild(ul);
			}
			element.appendChild(itemTable);
		}
		
		function addRow(rowdata, tbody, className) {
			var row = tbody.appendChild(document.createElement("TR"));
			row.className = "l-item-row" + (className && className.length > 0) ? " " + className : "";
			var itemColData = rowdata.split("|");
			if (itemColData.length > 0) {
				for (var i = 0; i < itemColData.length; i++) {
					addCell(itemColData[i], row);
				}
			}
		}
		
		function addCell(celldata, row) {
			var cell = row.appendChild(document.createElement("TD"));
			appendContent(cell, celldata);
		}
		
		
	}
	
	function trimString (str) {
		//str = this != window? this : str;
		return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
	}
	/*String.prototype.trim = trimString;*/
	
	function isContent(data)
	{
		return isInstanceOf(data,Array) || typeof(data) == "string" || data.nodeName;
	}
	
	function appendContent(node, content)
	{
		if (content)
		{
			var contentType = typeof(content);
			if (contentType == "string")
			{
				node.appendChild(document.createTextNode(content));	
			}
			else if (isInstanceOf(content, Array))
			{
				for(var i = 0; i < content.length; i++)
				{
					appendContent(node, content[i]);
				}
			}
			else if (content.nodeName)
			{
				node.appendChild(content);
			}
		}
	}
	
	function createAdminUI() {
        var form = document.getElementById("form");
        var authoring = document.body.insertBefore(document.createElement("form"), document.body.firstChild);
        authoring.method = form.method;
        authoring.action = form.action;
        authoring.id = "l-authoring";
	    var trigger = authoring.appendChild(document.createElement("a"));
	    trigger.href = "admin";
	    trigger.className = "l-trigger";
	    tilt.attachEvent(trigger, "click", function(a) {
		    var currentClassName = a.parentNode.className;
		    if (currentClassName.indexOf("l-admin-open") >= 0) {
			    a.innerHTML = "Authoring";
			    a.parentNode.className = "l-admin-closed";
			    document.cookie = "keep-authoring-open=false;path=/";
		    }
		    else {
			    a.innerHTML = "Close";
			    a.parentNode.className = "l-admin-open";
			    document.cookie = "keep-authoring-open=true;path=/";
		    }
		    return false;
	    });
	    var properties = document.getElementById("properties");
	    if (properties) {
	        authoring.appendChild(properties);
		    foreach(properties.getElementsByTagName("input"), function(input) {
		        if (input.type == "text") {
		            tilt.attachEvent(input, "keydown", function(node, e) {
		                if (e.keyCode == 13) {
	                        window.setTimeout("document.getElementById(window.__authoringPropertiesApplyId).click()", 0);
	                        return false;
		                }
		                return true;
		            });
		        }
		        else {
		            window.__authoringPropertiesApplyId = input.id;
		        }
		    });
		    var pid;
		    foreach(properties.getElementsByTagName("a"), function(a) {
		        if (a.className == "admin") {
		            var href = a.href;
		            var pos = href.indexOf("durki=");
		            if (pos >= 0) {
		                pid = href.substring(pos + 6);
		            }
		        }
		    });
		    if (pid) {
		        var div = properties.appendChild(document.createElement("div")); 
		        div.className = "l-pid";
		        div.innerHTML = "page id: " + pid;
		    }
	    }
	    var isOpen = document.cookie.indexOf("keep-authoring-open=true") >= 0;
	    if (isOpen) {
	        authoring.className = "l-admin-open";
		    trigger.innerHTML = "Close";
	    }
	    else {
	        authoring.className = "l-admin-closed";
		    trigger.innerHTML = "Authoring";
	    }
	    var login = authoring.appendChild(document.getElementById("login"));
	    foreach(login.getElementsByTagName("input"), function(input) {
	        if (input.type == "text") {
	            tilt.attachEvent(input, "keydown", function(node, e) {
	                if (e.keyCode == 13) {
                        window.setTimeout("document.getElementById(window.__authoringLoginId).click()", 0);
                        return false;
	                }
	                return true;
	            });
	        }
	        else {
	            window.__authoringLoginId = input.id;
	        }
	    });
	    foreach(authoring.getElementsByTagName("legend"), function(legend) {
	        var value = legend.innerHTML;
	        var parent = legend.parentNode;
	        var div = parent.insertBefore(document.createElement("div"), legend);
	        div.className = "l-legend";
	        div.innerHTML = value;
	        parent.removeChild(legend);
	    });
	    foreach(authoring.getElementsByTagName("fieldset"), function(fieldset) {
	        var parent = fieldset.parentNode;
	        var div = parent.insertBefore(document.createElement("div"), fieldset);
	        div.innerHTML = fieldset.innerHTML;
	        parent.removeChild(fieldset);
	    });
    }
});
