function init() {
	loadbookmarks();
}

function loadbookmarks() {
	var div = document.getElementById('bookmarks');
	if (!div)
		return;
	printfire('findooks ', profileName);
  communityFunctionalityService.findBookmarksForProfile(profileName, onload);
	waitStart("666666");

	function onload(bookmarks){
		var bookmarkslength = bookmarks.length;
		setUitleg(bookmarkslength > 0, isMijnProfiel);
		waitStop();
		for(var i=0, ln=bookmarks.length; i < ln; ++i){
			var template = makebookmark(bookmarks[i].url, bookmarks[i].title, bookmarks[i].description, bookmarks[i].number);
			div.appendChild(template);
		}

		function makebookmark(url, title, description, number) {
			var template = document.getElementById('bookmarktemplate').cloneNode(true);
			template.id = '';
			var a = template.getElementsByTagName('a')[0];
			a.href = url;
			if (/\/speler\//.test(url))
				a.rel = 'speler';
			a.innerHTML = title;
			var a = template.getElementsByTagName('p')[0];
			a.innerHTML = description;
			var input = template.getElementsByTagName('input')[0];
			input.value = number;
			return template;
		}	
		
		attach('#bookmarks img.deleteimg', del);
		attach('#bookmarks img.editimg', edit);
		attach("div.mouseover", highlight, div);

		if (isMijnProfiel) {
			attach("#bookmarks div.header img", function(elt){addClass(elt, 'show')});
			document.getElementById('new').style.visibility = 'visible';
		}
		setCommunitybarText(bookmarkslength+' bookmark'+(bookmarkslength!=1?'s':''));
		
		attach("#new", slider, {slide: 'bookmarkdialoog2', radio: true, after: inputFocus});
		attach("#bookmarkok2", bookmark2);
		
		function inputFocus() {
			var bookmarkdialoog = document.getElementById('bookmarkdialoog2');
			var urlInput = bookmarkdialoog.getElementsByTagName('input')[0];
			urlInput.select();
			//urlInput.focus();
		}
		
		function edit(elt) {
			elt.onclick = function(evt) {
				var o = (evt && evt.target) || window.event.srcElement;
				var div = getParentByTagName(o, 'div').parentNode;
				var contentdiv = div.getElementsByTagName('div')[1];
				var number = contentdiv.getElementsByTagName('input')[0].value;
				var title = contentdiv.parentNode.getElementsByTagName('a')[0].innerHTML;
				var url = contentdiv.parentNode.getElementsByTagName('a')[0].href;
				var description = contentdiv.parentNode.getElementsByTagName('p')[0].innerHTML;
				slide(contentdiv, {after: openeditor});
				function openeditor() {
					div.removeChild(contentdiv);
					var bookmarkdialoog = document.getElementById('bookmarkeditdialoog');
					bookmarkdialoog.getElementsByTagName('input')[0].value = url;
					bookmarkdialoog.getElementsByTagName('input')[1].value = title;
					bookmarkdialoog.getElementsByTagName('textarea')[0].value = description;
					bookmarkdialoog.getElementsByTagName('input')[2].onclick = ok;
					bookmarkdialoog.getElementsByTagName('input')[3].onclick = annuleer;
					div.appendChild(bookmarkdialoog);
					slide(bookmarkdialoog);

					function ok() {
						slide(bookmarkdialoog, {after: resetbookmarkdialoog});
						var url = bookmarkdialoog.getElementsByTagName('input')[0].value;
						var title = bookmarkdialoog.getElementsByTagName('input')[1].value;
						var description = bookmarkdialoog.getElementsByTagName('textarea')[0].value;
						communityFunctionalityService.updateBookmark(number, url, title, description, updated);
						waitStart();

						function updated() {
							waitStop();
							slide(bookmarkdialoog, {after: resetbookmarkdialoog});
							var template = makebookmark(url, title, description, number);
							var bookmark = template.getElementsByTagName('div')[1];
							div.appendChild(bookmark);
							attach("div.mouseover", highlight, div);
						}
					}
					function annuleer() {
						slide(bookmarkdialoog, {after: resetbookmarkdialoog});
						var template = makebookmark(url, title, description, number);
						var bookmark = template.getElementsByTagName('div')[1];
						div.appendChild(bookmark);
						attach("div.mouseover", highlight, div);
					}
					function resetbookmarkdialoog() {
						document.body.appendChild(bookmarkdialoog);
					}
				}
			}
		}
		
		function bookmark2(elt) {
			elt.onclick = function() {
				var title = document.getElementById('bookmarktitle2').value;
				var description = document.getElementById('bookmarkomschrijving2').value;
				var url = document.getElementById('bookmarkurl2').value;
				communityFunctionalityService.bookmark(url, title, description, added);
				var urlInput = document.getElementById('bookmarkurl2');
				slide(document.getElementById('bookmarkdialoog2'));
				waitStart();
				function added(number) {
					waitStop();
					var template = makebookmark(url, title, description, number);
					template.style.height = 0;
					div.appendChild(template);
					slide(template);
					attach("div.mouseover", highlight, div);
					attach('#bookmarks img.deleteimg', del, div);
					bookmarkslength++;
					setCommunitybarText(bookmarkslength+' bookmarks');
				}
			}
		}

		function del(elt) {
			elt.onclick = function(evt) {
				var o = (evt && evt.target) || window.event.srcElement;
				var div = getParentByTagName(o, 'div');
				var number = div.parentNode.getElementsByTagName('input')[0].value;
				var title = div.parentNode.getElementsByTagName('a')[0].innerHTML;
				if (confirm('Bookmark \''+title+'\' wissen?')) {
					communityFunctionalityService.deleteBookmark(number, deleted);
					waitStart();
				}
				function deleted() {
					waitStop();
					slide(div.parentNode, {after: deleted2});
					function deleted2() {
						div.parentNode.parentNode.removeChild(div.parentNode);
						bookmarkslength--;
						setCommunitybarText(bookmarkslength+' bookmarks');
					}
				}
			}
		}
	}
}
