
	function hideInputBg(field)
	{
		ipField = document.getElementById(field);
		ipField.style.background = "#fff";
	}
	
	
	function IE_Refresh(){
		if (document.all) location.reload();
	}
	window.onresize = IE_Refresh;
	
	
/* >> Standard Popup functions */
	function StandardPopup(Attrs){
		// @params IE and Gecko-Browser compatible window parameter attributes.
		this.params = ['left', 'top', 'location', 'menubar', 'resizable', 'scrollbars', 'status', 'toolbar', 'height', 'width'];
		this.href = Attrs.href ? Attrs.href : 'http://www.google.de'; // url to the popup content
		this.name = Attrs.name ? Attrs.name : 'standardPopup'; // standard window name
		this.height = Attrs.height ? Attrs.height : '550'; // standard height opened window
		this.width = Attrs.width ? Attrs.width : '650'; // standard width opened window
		this.left = Attrs.left ? Attrs.left : null; // window left position from the upper left corner of the client screen
		this.top = Attrs.top ? Attrs.top : null; // window top position from the top of the client screen
		this.locationbar = Attrs.location ? Attrs.location : 'no'; // ['yes', 'no'] display the locationbar
		this.menubar = Attrs.menubar ? Attrs.menubar : 'no'; // ['yes', 'no'] display the menubar
		this.resizable = Attrs.resizable ? Attrs.resizable : 'yes'; // ['yes', 'no'] allows the user to change the window size
		this.scrollbars = Attrs.scrollbars ? Attrs.scrollbars : 'yes'; // ['yes', 'no'] show scrollbars if necessary
		this.status = Attrs.status ? Attrs.status : 'no'; // ['yes', 'no'] show statusbar
		this.toolbar = Attrs.toolbar ? Attrs.toolbar : 'no'; // ['yes', 'no'] show toolbar
		this.blank = Attrs.blank ? Attrs.blank : 'false'; // ['true', 'false'] show window as popup or blank window
		this.wRef = null // window reference to make changes on the opened windowe
	}
	
	StandardPopup.prototype._formatParams = function()
	{
		var str = '\'';
		var objParam;
		for (var i = 0; i < this.params.length; ++i){
			objParam = this.params[i] == 'location' ? 'locationbar' : this.params[i];
			p = eval("this." + objParam);
			if (p){
				str += this.params[i] + '=' + p + ',';
			}
		}
		str = str.substring(0, str.length -1);
		str += '\'';
		return str;
	}
	
	StandardPopup.prototype.open = function(){
		if (this.blank){
			this.wRef = window.open(this.href);
		}else{
			var paraStr = this._formatParams();
			this.wRef = window.open(this.href, this.name, paraStr);
		}
		if (this.wRef)
			this.wRef.focus();
		return false;
	}
/* << */


/* >> rss publisher, requires Mochikit 1.4+*/
	RSSPublisher = {
		publishers: false,
		register: function(args){
			this.append(args);
		},
		append: function(args){
			var RSSObj = new RSS();
			RSSObj.target = args.target;
			RSSObj.source = args.source;
			RSSObj.tags = args.tags;
			RSSObj.descLength = args.descLength;
			RSSObj.descLengthEnding = args.descLengthEnding
			RSSObj.pubDateFormat = args.pubDateFormat;
			RSSObj.refresh = args.refresh;
			RSSObj.itemsCount = args.itemsCount ? args.itemsCount : 5;
			RSSObj.staticTest = args.staticTest;
			if (args.acceptMimeTypes && typeof args.acceptMimeTypes == 'object'){
				RSSObj.acceptMimeTypesCgiStr = this.createMimeTypeCgiStr(args.acceptMimeTypes);
			}
			if (typeof this.publishers != 'boolean'){
				this.publishers.push(RSSObj);
			}else{
				this.publishers = [RSSObj];
			}
			RSSObj.getSource();
		},
		createMimeTypeCgiStr: function(mtList){
			var str = '&mimetypes=';
			for (var i = 0; i < mtList.length; ++i){
				str += encodeURIComponent(this.strTrim(mtList[i])) + ',';
			}
			return str.substring(0, str.length -1);
		},
		strTrim: function(str){
			var ccSpace = 32;
			var ps = 0;
			var pe = 0;
			var psLock = false;
			var peLock = false;
			for (var i = 0; i < str.length; ++i){
				if (str.charCodeAt(i) == ccSpace){
					if (! psLock) ps++;
					if (str.charCodeAt(str.length - 1 - i) == ccSpace){
						if (! peLock) pe++;
					}else{
						peLock = true;
					}
				}else{
					psLock = true;
					if (str.charCodeAt(str.length - 1 - i) == ccSpace){
						if (! peLock) pe++;
					}else{
						peLock = true;
					}
				}
			}
			var string = str.substring(ps, str.length);
			return string.substring(0, str.length - pe - ps);
		}
	}


	function RSS(){
		this.root = DIV(null);
		this.target = null;
		this.source = null;
		this.tags = ['title', 'description'];
		this.descLength = null;
		this.descLengthEnding = 32;
		this.pubDateFormat = 2;
		this.refresh = null;
		this.itemsCount = null;
		this.staticTest = false;
		this.acceptMimeTypesCgiStr = null;
		this.charCount = 0;
		this.stop = false;
	}
	
	RSS.prototype.getSource = function(){
		this.charCount = 0;
		this.stop = false;
		this.root.innerHTML = '';
		if (this.staticTest){
			var url = this.source;
		}else{
			var url = '/urlfetcher/?url=' + encodeURIComponent(this.source);
		}
		if (this.acceptMimeTypesCgiStr && ! this.staticTest) url += this.acceptMimeTypesCgiStr;
		var def = doSimpleXMLHttpRequest(url);
		def.addCallbacks(bind('handleSource', this), bind('handleSourceError', this));
		if (this.refresh) callLater(this.refresh, bind('getSource', this));
	}
	
	RSS.prototype.handleSource = function(def){
		var xmlElements = def.responseXML.documentElement;
		var items = xmlElements.getElementsByTagName('item');
		var count = items.length;
		if (this.itemsCount <= items.length) count = this.itemsCount;
		var tags = this.tags;
		for (var i = 0; i < count; ++i){
			var href = this.getLink(items[i]);
			this.appendElement(this.getItem(items[i], tags, href, i), this.root);
		}
		this.publish();
	}
	
	RSS.prototype.handleSourceError = function(def){
		log(def.message);
		this.target.appendChild(DIV(null, 'Service ist voruebergehend nicht verfuegbar.'));
	}
	
	RSS.prototype.appendElement = function(elm, root){
		if (elm){
			root.appendChild(elm);
			return true;
		}
		return false;
	}

	RSS.prototype.cloneXML2DOM = function(src, tar, igRoot, len, correctHyphen){
		for (var i = 0; i < src.childNodes.length; i++){
			var node = src.childNodes[i];
			switch (node.nodeType){
				case 1:
					if (! igRoot){
						var newNode = tar.appendChild(document.createElement(node.nodeName));
						for (var j = 0; j < node.attributes.length; j++){
							newNode.setAttribute(node.attributes[j].nodeName, node.attributes[j].nodeValue);
						}
						this.cloneXML2DOM(node, newNode, false, correctHyphen);
						break;
					}else{
						this.cloneXML2DOM(node, tar, false, correctHyphen);
						break;
					}
				case 3:
					if (len){
						var text = node.nodeValue;
						if (this.charCount + text.length < len){
							this.charCount += text.length;
						}else{
							var pos = 0;
							var t = '';
							while(1){
								t += text.substr(pos, 1);
								if (t.length + this.charCount >= len){
									var cCode = t.charCodeAt(t.length -1);
									if (cCode == this.descLengthEnding || pos == t.length){
										this.charCount += t.length;
										if (cCode == this.descLengthEnding){
											t += cCode == 32 ? '....' : ' ....';
											this.stop = true;
										}else{
											this.stop = false;
										}
										text = t;
										break;
									}
								}else if(text.length + this.charCount < len){
									var cCode = text.charCodeAt(text.length -1);
									this.charCount += text.length;
									text += cCode == 32 ? '....' : ' ....';
									this.stop = true;
									break;
								}
								pos++;
							}
						}
					}else{
						text = node.nodeValue;
					}
					if (correctHyphen) text = this.correctHyphenatedText(text);
					subNode = document.createTextNode(text);
				tar.appendChild(subNode);
			}
			if (this.stop){
				this.charCount = 0;
				break;
			}
		}
	}
	
	RSS.prototype.correctHyphenatedText = function(text){
		return text.replace(/-/g, '- ');
	}
	
	RSS.prototype.cloneContent = function(src, len, correctHyphen){
		var root = DIV(null);
		if (len){
			this.charCount = 0;
			this.stop = false;
		}
		this.cloneXML2DOM(src, root, false, len, correctHyphen);
		return root.childNodes;
	}

	RSS.prototype.getFirstNodeMatch = function(nName, parent, type){
		var n = parent.childNodes;
		var nName = nName.toLowerCase();
		type = type ? type : 1;
		for (var i = 0; i < n.length; ++i){
			if (n[i].nodeType == type && n[i].nodeName.toLowerCase() == nName){
				return n[i];
			}
		}
		return false;
	}
	
	RSS.prototype.getLink = function(item){
		var link = this.getFirstNodeMatch('link', item);
		if (link && link.childNodes.length > 0) return link.childNodes[0].nodeValue;
		return false;
	}
	
	RSS.prototype.getItem = function(item, tags, href, count){
		var sty = count % 2 == 0 ? 'item' : 'item odd';
		var itemShell = DIV({'class': sty});
		for (var j = 0; j < tags.length; ++j){
			switch (tags[j]){
				case 'title':
					this.appendElement(this.getTitle(item, href), itemShell);
					break;
				case 'description':
					this.appendElement(this.getDescription(item), itemShell);
					break;
				case 'pubDate':
					this.appendElement(this.getPubDate(item), itemShell);
					break;
			}
		}
		return itemShell;
	}

	RSS.prototype.getTitle = function(item, href){
		var title = this.getFirstNodeMatch('title', item);
		if (title && title.childNodes.length > 0){
			return Layout.getTitle(this.cloneContent(title, false, true), href);
		}
		return false;
	}
	
	RSS.prototype.getDescription = function(item){
		var description = this.getFirstNodeMatch('description', item);
		if (description && description.childNodes.length > 0) {
			return Layout.getDescription(this.cloneContent(description, this.descLength, true));
		}
		return false;
	}
	
	RSS.prototype.getPubDate = function(item){
		var pubDate = this.getFirstNodeMatch('pubDate', item);
		if (pubDate && pubDate.childNodes.length > 0) {
			var dateGMT = pubDate.childNodes[0].nodeValue;
			pubDate.childNodes[0].nodeValue = this.formatDate(dateGMT);
			return Layout.getPubDate(this.cloneContent(pubDate, false, false));
		}
		return false;
	}
	
	RSS.prototype.formatDate = function(dateStr){
		var date = toISODate(new Date(dateStr));
		var time = toISOTime(new Date(dateStr));
		date = date.split('-');
		if (this.pubDateFormat == 1 || this.pubDateFormat == 4){
			var y = (date[0] % 1000);
			date[0] = y < 10 ? '0' + y : y;
			date[1] = Math.abs(date[1]);
			date[2] = Math.abs(date[2]);
			if (this.pubDateFormat == 4) return date[1] + '/' + date[2] + '/' + date[0];
			return date[2] + '.' + date[1] + '.' + date[0];
		}else if(this.pubDateFormat == 2 || this.pubDateFormat == 5){
			if (this.pubDateFormat == 5) return date[1] + '/' + date[2] + '/' + date[0];
			return date[2] + '.' + date[1] + '.' + date[0];
		}else if(this.pubDateFormat == 3 || this.pubDateFormat == 6){
			if (this.pubDateFormat == 6) return date[1] + '/' + date[2] + '/' + date[0] + ' ' + time;
			return date[2] + '.' + date[1] + '.' + date[0] + ' ' + time;
		}else{
			if (this.pubDateFormat == 5) return date[1] + '/' + date[2] + '/' + date[0];
			return date[2] + '.' + date[1] + '.' + date[0];
		}
	}
	
	RSS.prototype.publish = function(){
		$(this.target).innerHTML ='';
		$(this.target).innerHTML = this.root.innerHTML;
	}
	
	Layout = {
		getTitle: function(t, href){
			if (href) t = A({'href': href, 'target': '_blank'}, t);
			return DIV(
				{'class': 'rssElementTitle'},
				H3(null, SPAN(null, t))
			);
		},
		getDescription: function(desc){
			return DIV(
				{'class': 'rssElementDesc'},
				DIV({'class': 'inner'}, desc)
			);
		},
		getPubDate: function(d){
			return DIV(
				{'class': 'rssElementPubDate'},
				SPAN(null, d)
			);
		}
	}
/* << */

/* >> Generic Multimedia CMS tool, requires Mochikit 1.4+*/
	function GenericMultimedia(args){
		this.lang = this.getLang();
		this.altText = args.altText;
		this.altImg = args.altImg;
		this.data = args.data;
		if ($(args.target)) this.target = $(args.target);
		this.htmlSrcDom = this.getHtmlSrcDom(args.htmlSrc);
		this.javaApplet = this.isJavaApplet();
		this.modifyAndWriteDocumentElements();
	}
	
	GenericMultimedia.prototype.getLang = function(){
		var htmlEl = document.getElementsByTagName('html')[0];
		if (getNodeAttribute(htmlEl, 'lang')){
			return this.formatLang(getNodeAttribute(htmlEl, 'lang'));
		}else if(getNodeAttribute(htmlEl, 'xml:lang')){
			return this.formatLang(getNodeAttribute(htmlEl, 'xml:lang'));
		}
		return 'en';
	}
	
	GenericMultimedia.prototype.formatLang = function (lang){
		if (lang.search(/-/) > -1) return lang.substring(0, lang.search(/-/));
		return lang;
	}
	
	GenericMultimedia.prototype.getHtmlSrcDom = function(htmlSrc){
		if (typeof htmlSrc == 'string' && htmlSrc.length > 0){
			var outer = DIV(null);
			outer.innerHTML = '<xml>' + htmlSrc + '</xml>';
			return outer;
		}
		return null;
	}
	
	GenericMultimedia.prototype.isJavaApplet = function(){
		var elms = this.htmlSrcDom.childNodes[0].childNodes;
		if (elms.length > 0){
			for (var i = 0; i < elms.length; ++i){
				var elm = elms[i];
				if (elm.nodeType == 1 && elm.nodeName.toLowerCase() == 'object'){
					var classidAttr = getNodeAttribute(elm, 'classid');
					if (classidAttr){
						if (classidAttr.search('java:') > -1) return true;
					}
				}
			}
		}
		return false;
	}
	
	GenericMultimedia.prototype.modifyAndWriteDocumentElements = function(){
		var output = '';
		var elms = this.htmlSrcDom.childNodes[0].childNodes;
		var onlyEmbed = false;
		var model;
		if (elms.length > 0){
			for (var i = 0; i < elms.length; ++i){
				var node = elms[i];
				var name = elms[i].nodeName.toLowerCase();
				var type = elms[i].nodeType;
				if (this.javaApplet || (! this.useEmbed() && ! this.javaApplet)){
					if (type == 1 && name == 'object'){
						model = false;
						output += this.startElement('object', this.getNodeAttributes(node), model);
						var objChilds = node.childNodes;
						for (var j = 0; j < objChilds.length; ++j){
							node = objChilds[j];
							name = objChilds[j].nodeName.toLowerCase();
							type = objChilds[j].nodeType;
							if (type == 1 && name == 'param'){
								model = true;
								output += this.startElement('param', this.getNodeAttributes(node), model);
							}
							if (type == 1 && name == 'embed'){
								model = true;
								output += this.startElement('embed', this.getNodeAttributes(node), model);
							}
						}
					}
				}else{
					onlyEmbed = true;
					var objChilds = node.childNodes;
					for (var j = 0; j < objChilds.length; ++j){
						node = objChilds[j];
						name = objChilds[j].nodeName.toLowerCase();
						type = objChilds[j].nodeType;
						if (type == 1 && name == 'embed'){
							model = true;
							output += this.startElement('embed', this.getNodeAttributes(node), model);
						}
					}
				}
			}
			if (this.altText || this.altImg){
				if (this.altText) var text = '<p>' + this.altText + '</p>';
				if (this.altImg) var img = '<img src="' + this.altImg + '" alt="" title="" />';
				if (this.useEmbed() && ! this.javaApplet){
					output += '<noembed>' + text + img + '</noembed>';
				}else{
					output += text + img;
				}
			}
			if (! onlyEmbed) output += this.endElement('object');
		}
		document.write(output);
	}
	
	GenericMultimedia.prototype.useEmbed = function(){
		var agent = navigator.userAgent;
		if (agent.search(/MSIE | Safari/) > -1) return false;
		return true;
	}
	
	GenericMultimedia.prototype.getNodeAttributes = function(node){
		var name = node.nodeName.toLowerCase();
		var codebase = false;
		if (node.attributes.length > 0){
			var attrs = {};
			var attrValue = '';
			for (var i = 0; i < node.attributes.length; ++i){
				var attrName = node.attributes[i].nodeName.toLowerCase();
				var attrValue = node.attributes[i].nodeValue;
				if (name == 'object' && (attrName == 'classid' || attrName == 'movie' || attrName == 'data')){
					if (attrName == 'classid'){
						attrs[attrName] = this.makeClassidAttribute(attrValue);
					}else if (this.javaApplet && attrName == 'codebase'){
						codebase = true;
						attrs[attrName] = this. makeJavaAppletCodebaseAttribute();
					}else{
						if (attrName == 'codebase') codebase = true;
						attrs[attrName] = this.data + this.copyCgiArgs(attrValue);
					}
				}else if (name == 'embed' && attrName == 'src'){
					attrs[attrName] = this.data + this.copyCgiArgs(attrValue);
				}else{
					attrs[attrName] = attrValue;
				}
			}
			if (this.javaApplet && ! codebase){
						codebase = true;
						attrs['codebase'] = this. makeJavaAppletCodebaseAttribute();
			}
			if (name == 'param'){
				attrNameValue = attrs.name.toLowerCase();
				attrValueValue = attrs.value;
				if (attrNameValue == 'filename' || attrNameValue == 'movie' || attrNameValue == 'src'){
					attrs.value = this.data + this.copyCgiArgs(attrValueValue);
				}
			}
			return attrs;
		}
		return null;
	}
	
	GenericMultimedia.prototype.copyCgiArgs = function(value){
		if (value.lastIndexOf('?') > -1){
			return value.substring(value.lastIndexOf('?'), value.length);
		}
		return '';
	}
	
	GenericMultimedia.prototype.startElement = function(name, attrs, single){
		var element = '<' + name;
		for (var attrName in attrs){
			element += ' ' + attrName + '="' + attrs[attrName] + '"';
		}
		if (single){
			element += '/>';
		}else{
			element += '>';
		}
		return element;
	}

	GenericMultimedia.prototype.endElement = function(name){
		return '</' + name + '>';
	}

	GenericMultimedia.prototype.makeClassidAttribute = function(value){
		var data = this.data;
		if (value.search('java:') > -1){
			return 'java:' + data.substring(data.lastIndexOf('/') +1, data.length) + this.copyCgiArgs(value);
		}
		return value;
	}
	
	GenericMultimedia.prototype.makeJavaAppletCodebaseAttribute = function(){
		var data = this.data;
		return data.substring(0, data.lastIndexOf('/') +1);
	}
/* << */

/* >> bookmarking tool (require mochikit 1.4 and ll StandardPopup) */
	function BookmarkStoreAt(args){
		this.targetName = null;
		this.container = null;
		this.titleHTML = null;
		this.textHTML = null;
		this.descSliceStandard = ' ...';
		this.imgPath = null;
		this.bmItems = ['delicious', 'mrwong', 'blinklist', 'yahoo', 'yigg', 'furl', 'oneview', 'folkd', 'linkarena', 'google', 'webnews'];
		this.bmURL = null;
		this.bmTitle = null;
		this.bmTargets = {};
		this.init(args);
	}
	
	BookmarkStoreAt.prototype.init = function(args){
		this.targetName = args.targetName;
		if (document.getElementById(args.targetName)){
			this.container = document.getElementById(args.targetName);
		}
		if (args.bmItems){
			this.bmItems = args.bmItems;
		}
		this.imgPath = args.imgPath;
		this.titleHTML = args.titleHTML;
		this.textHTML = args.textHTML;
		this.bmURL = encodeURIComponent(location.href);
		this.bmTitle = encodeURIComponent(document.title);
		this.bmTargets['delicious'] = {'title': 'del.icio.us', 'desc': 'del.icio.us', 'url': 'http://del.icio.us/post?url=' + this.bmURL + '&title=' + this.bmTitle};
		this.bmTargets['mrwong'] = {'title': 'Mister Wong', 'desc': 'Mister Wong', 'url': 'http://www.mister-wong.de/index.php?action=addurl&bm_url=' + this.bmURL + '&bm_description=' + this.bmTitle};
		this.bmTargets['blinklist'] = {'title': 'BlinkList', 'desc': 'BlinkList', 'url': 'http://www.blinklist.com/index.php?Action=Blink/addblink.php&Description=&Url=' + this.bmURL + '&Title=' + this.bmTitle};
		this.bmTargets['yahoo'] = {'title': 'Yahoo MyWeb', 'desc': 'Yahoo MyWeb', 'url': 'http://myweb2.search.yahoo.com/myresults/bookmarklet?u=' + this.bmURL + '&t=' + this.bmTitle};
		this.bmTargets['yigg'] = {'title': 'YiGG', 'desc': 'YiGG', 'url': 'http://yigg.de/neu?exturl=' + this.bmURL + '&exttitle=' + this.bmTitle};
		this.bmTargets['furl'] = {'title': 'Furl', 'desc': 'Furl', 'url': 'http://www.furl.net/storeIt.jsp?u=' + this.bmURL + '&t=' + this.bmTitle};
		this.bmTargets['oneview'] = {'title': 'OneView', 'desc': 'OneView', 'url': 'http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL=' + this.bmURL + '&title=' + this.bmTitle};
		this.bmTargets['folkd'] = {'title': 'Folkd', 'desc': 'Folkd', 'url': 'http://www.folkd.com/submit/page/' + this.bmURL};
		this.bmTargets['linkarena'] = {'title': 'Linkarena', 'desc': 'Linkarena', 'url': 'http://linkarena.com/bookmarks/addlink/?url=' + this.bmURL + '&title=' + this.bmTitle + '&desc=&tags='};
		this.bmTargets['google'] = {'title': 'Google', 'desc': 'Google', 'url': 'http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk=' + this.bmURL + '&title=' + this.bmTitle};
		this.bmTargets['webnews'] = {'title': 'Webnews', 'desc': 'Webnews', 'url': 'http://www.webnews.de/einstellen?url=' + this.bmURL + '&title=' + this.bmTitle};
		this._createLayout();
	}

	BookmarkStoreAt.prototype.store = function(target){
		this.open(this.bmTargets[target].url);
	}
	
	BookmarkStoreAt.prototype.open = function(url){
		if (typeof StandardPopup == 'function'){
			var p = new StandardPopup({'href': url, 'blank': true})
			p.open();
		}else{
			window.open(url);
		}
	}
	
	BookmarkStoreAt.prototype.changeDescSlice = function(key){
		var el = 'bmDescSlice_' + this.targetName;
		if (key){
			$(el).innerHTML = '<span>' + this.bmTargets[key].desc + '</span>';
		}else{
			$(el).innerHTML = this.descSliceStandard;
		}
	}
	
	BookmarkStoreAt.prototype._getTitle = function(){
		var t = DIV({'class': 'bookmarkTitleOuter'});
		var th = H3(null, this.titleHTML);
		t.appendChild(th);
		return t
	}

	BookmarkStoreAt.prototype._getText = function(){
		var t = DIV({'class': 'bookmarkTextOuter'});
		var p = P(null, this.textHTML);
		var s = SPAN({'id': 'bmDescSlice_' + this.targetName, 'class': 'bmDescSlice'}, this.descSliceStandard);
		p.appendChild(s);
		t.appendChild(p);
		return t;
	}

	BookmarkStoreAt.prototype._getImageItems = function(){
		var bmi = this.bmItems;
		var imgOuter = DIV({'class': 'imgOuter'});
		var img;
		for (var i = 0; i < bmi.length; ++i){
			img = IMG({'src': this.imgPath + '/' + bmi[i] + '.gif', 'alt': this.bmTargets[bmi[i]].title, 'title': this.bmTargets[bmi[i]].title});
			connect(img, 'onclick', bind('store', this, bmi[i]));
			if (this.textHTML.length > 0){
				connect(img, 'onmouseover', bind('changeDescSlice', this, bmi[i]));
				connect(img, 'onmouseout', bind('changeDescSlice', this, false));
			}
			imgOuter.appendChild(img);
		}
		return imgOuter;
	}

	BookmarkStoreAt.prototype._createLayout = function(){
		var outer = DIV({'id': 'bookmarksOuter'});
		if (this.titleHTML.length > 0) outer.appendChild(this._getTitle());
		if (this.textHTML.length > 0) outer.appendChild(this._getText());
		outer.appendChild(this._getImageItems());
		this.container.appendChild(outer);
	}
/* << */

