function multiReplace(replaceVars,replaceWith,subject)
{
	var onevalue = replaceWith.length == 1;
	for(var i = 0; i < replaceVars.length; i++)
	{
		subject = subject.split(replaceVars[i]).join(replaceWith[onevalue ? 0 : i]);
	}
	return subject;
}

var flashInstalledCheck = false;
var flashInstalledVersion = 0;
function flashGetInstalledVersion()
{
	if(flashInstalledCheck)
	{
		return;
	}
	
	var maxversion = 0;
	var flash = null;
	if(window.ActiveXObject)
	{
		for(var i = 6; i <= 10; i++)
		{
			try
			{
				flash = new ActiveXObject(("ShockwaveFlash.ShockwaveFlash." + i));
				maxversion = i;
			}
			catch(e)
			{
				
			}
		}
	}
	else if(navigator.plugins && navigator.mimeTypes.length > 0)
	{
		flash = navigator.plugins["Shockwave Flash"];
		if(flash)
		{
			maxversion = navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/, "$1");
		}
	}
	
	flashInstalledCheck = true;
	flashInstalledVersion = Number(maxversion);
}

function refreshPage()
{
	window.location.reload();
}
 
function flashReplace(id,swf,w,h,params,flashvars,version)
{
	flashGetInstalledVersion();
	var el = document.getElementById(id);
	if(version = null)
	{
		version = 9;
	}
	
	if(el && flashInstalledVersion >= version)
	{
		var fvstr = "";
		for(var i in flashvars)
		{
			fvstr += (fvstr == '' ? '?' : '') + i + '=' + flashvars[i] + '&';
		}
		if(fvstr != '')
		{
			fvstr = fvstr.substr(0,fvstr.length - 1);
		}
		
		var obj = '<object' + (window.ActiveXObject ? ' id="' + id + '_flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" data="' + swf + fvstr + '"' : '');
			obj += ' width="' + w + '"';
			obj += ' height="' + h + '"';
			obj += '>';
			var param = '<param';
			param += ' name="movie"';
			param += ' value="' + swf + fvstr + '"';
			param += '>';
 
			var extraParams = '';
			var extraAttributes = '';
			for(var i in params)
			{
				extraParams += '<param name="' + i + '" value="' + params[i] + '">';
				extraAttributes += ' ' + i + '="' + params[i] + '"';
			}
			var embed = '<embed id="' + id + '_flash" src="' + swf + fvstr + '" type="application/x-shockwave-flash" width="' + w + '" height="' + h + '"';
			var embedEnd = extraAttributes + '></embed>';
			var objEnd = '</object>';
			el.innerHTML = obj + param + extraParams + embed + embedEnd + objEnd;
	}
	else
	{
		el.innerHTML = 'Flash element error.';
	}
}

function getClassDiv(el,name)
{
	for(var i = 0; i < el.childNodes.length; i++)
	{
		if(el.childNodes[i].className == name)
		{
			return el.childNodes[i];
		}
	}
	
	return null;
}

function getFlashMovie(movieName)
{
	if (window.document[movieName])
	{
		return window.document[movieName];
	}
	if (navigator.appName.indexOf("Microsoft Internet") == -1)
	{
		if (document.embeds && document.embeds[movieName])
		{
			return document.embeds[movieName];
		}
	}
	else
	{
		return document.getElementById(movieName);
	}
}

function createTag(tag,id,className)
{
	var el = document.createElement(tag);
	if(id && id != "")
	{
		el.setAttribute('id',id);
	}
	if(className && className != "")
	{
		el.setAttribute('class',className);
	}
	return el;
}

function getAttribute(xml,name)
{
	for(var i = 0; i < xml.attributes.length; i++)
	{
		if(xml.attributes[i].nodeName == name)
		{
			return xml.attributes[i];
		}
	}
	return null;
}

function getAttributeValue(xml,name)
{
	var node = getAttribute(xml,name);
	return (node == null || node.firstChild == null) ? "" : node.firstChild.nodeValue;
}

function getXmlNode(xml,name)
{
	for(var i = 0; i < xml.childNodes.length; i++)
	{
		if(xml.childNodes[i].nodeName == name)
		{
			return xml.childNodes[i];
		}
	}
	return null;
}

function getXmlNodeValue(xml,name)
{
	var node = getXmlNode(xml,name);
	return (node == null || node.firstChild == null) ? "" : node.firstChild.nodeValue;
}

function receiveXml()
{
	if (xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{
			var root = null;
			for(var i = 0; i < xmlhttp.responseXML.childNodes.length; i++)
			{
				if(xmlhttp.responseXML.childNodes[i].nodeName == "root")
				{
					root = xmlhttp.responseXML.childNodes[i];
					break;
				}
			}
			if(root)
			{
				if(receiveFunc)
				{
					receiveFunc(root);
				}
				
				processing = false;
			}
		}
	}
}

var processing = false;
var curTarget = null;
var htmlToAdd = "";
var receiveFunc = null;
var xmlhttp;

function submitData(data,target,url,insertHTML,f)
{
	if(processing)
	{
		alert('Kan niet versturen, nog bezig met voorgaande opdracht.\nProbeer het nogmaals.');
		return;
	}
	receiveFunc = f;
	curTarget = target;
	htmlToAdd = insertHTML;
	if (window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	xmlhttp.onreadystatechange = receiveXml;
	
	var params = "";
	for(var i = 0; i < data.length; i++)
	{
		params += data[i].name + "=" + encodeURIComponent(data[i].value) + (i == data.length - 1 ? "" : '&');
	}
	
	xmlhttp.open("POST",url,true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	xmlhttp.send(params);
}

function showRegister()
{
	document.getElementById("register").style.visibility = "visible";
	var mv = getFlashMovie("register");
	mv.init();
}

function showProfile()
{
	document.getElementById("profile").style.visibility = "visible";
	var mv = getFlashMovie("profile");
	mv.init();
}

function showLoggedIn(username,avatar)
{
	var mv = getFlashMovie("login");
	mv.showLoggedIn(username,avatar);
}

function hideRegister()
{
	document.getElementById("register").style.visibility = "hidden";
}

function hideProfile()
{
	document.getElementById("profile").style.visibility = "hidden";
}

function hideLogin()
{
	$('#login').css('visibility','hidden');
}

var loginCheckTries = 0;
var loginTimeId = 0;
function startPolling()
{
	clearInterval(loginTimeId);
	loginCheckTries = 0;
	loginTimeId = setInterval('checkLogin()',500);
}

function checkLogin()
{
	loginCheckTries++;
	var mv = getFlashMovie("login");
	var n = mv.getLoginData();
	if(n != "")
	{
		clearInterval(loginTimeId);
		showCommentBlock(n);
	}
	if(loginCheckTries > 10)
	{
		clearInterval(loginTimeId);
	}
}

function showCommentBlock(username)
{
	userLoggedIn = true;
	
	if(document.getElementById("responseNoLogin"))
	{
		var el = document.getElementById("responseNoLogin");
		el.style.display = "none";
		el = document.getElementById("responseLoggedIn");
		el.style.display = "block";
		el = document.getElementById("respondLogin");
		el.innerHTML = "[ingelogd als " + username + "]";
		
		el = document.getElementById("comments");
		for(var i = 0; i < el.childNodes.length; i++)
		{
			if(el.childNodes[i].className.indexOf("comment") > -1 && el.childNodes[i].className.indexOf("indentedComment") == -1 && el.childNodes[i].innerHTML.indexOf("commentTitleNee") == -1)
			{
				var cmt = el.childNodes[i];
				if(cmt.innerHTML.indexOf("responseSubmit") == -1)
				{
					var ext = cmt.className.indexOf("uneven") > -1 ? "_white" : "_grey";
					cmt.innerHTML += '<a onclick="showResponseBox(this);" href="javascript:;"><img height="12" width="48" class="responseSubmit" alt="respondto.png" src="img/respondto.png"/></a><div style="clear: both;"></div>';
				}
			}
		}
	}
}

function showResponseBox(el)//element, parent id
{
	var comments = document.getElementById("comments");
	var next = null;
	for(var i = 0; i < comments.childNodes.length; i++)
	{
		if(comments.childNodes[i] == el.parentNode)
		{
			if(i + 1 < comments.childNodes.length)
			{
				next = comments.childNodes[i + 1];
			}
		}
	}
	
	if(next && String(next.innerHTML).indexOf("<form>") > -1)
	{
		comments.removeChild(next);
		return;
	}
	
	var box = createTag('div','','responseContainer');
	var table = currentPage;
	if(currentPage == "index_meer")
	{
		table = "weblog";
	}
	if(currentPage == "profielen")
	{
		table = "profile";
	}
	var id = String(el.parentNode.id).split("_")[1];
	box.innerHTML = '<form><textarea class="responseBox" onfocus="resetResponse(this,true);" onblur="resetResponse(this,false);">Typ \'t...</textarea><br></form><a href="javascript:;" onclick="submitComment(' + id + ',this,\'' + table + '\');"><img src="img/respond.png" alt="respond.png" id="responseSubmit" width="62" height="16"></a><div style="clear: both;"></div>';
	
	if(next)
	{
		comments.insertBefore(box,next);
	}
	else
	{
		comments.appendChild(box);
	}
}

var timeLastComment = 0;
function submitComment(parentid,el,table)
{
	var msg = "";
	var box = null;
	if(el)
	{
		box = el.parentNode;
		var ar = box.getElementsByTagName("textarea");
		msg = ar[0].value;
	}
	else
	{
		msg = document.getElementById("response").value;
		document.getElementById("response").value = "Typ 't...";
	}
	if(msg == "Typ 't...")
	{
		alert("Je hebt nog geen bericht getypt!");
		return;
	}
	
	var t = (new Date()).getTime();
	if(t - timeLastComment < 12000)
	{
		alert('Ontspan je anus, over ' + (12 - Math.round((t - timeLastComment) / 1000)) + ' seconden mag je weer posten');
		return;
	}
	timeLastComment = t;
	
	var data = [{name:"cmd",value:"com_add"},{name:"msg",value:msg},{name:"id",value:rowId},{name:"table",value:table}];
	if(parentid)
	{
		data.push({name:"parentid",value:parentid});
	}
	var cmt = createTag('div','comment' + cmt_cnt,(el ? 'indentedC' : 'c') + 'omment');
	cmt_cnt++;
	var tb = createTag('div','','commentTextBlock');
	var img = createTag('div','','commentAvatar');
	var rating = createTag('div','','commentRating');
	var ja = createTag('a','','');
	var nee = createTag('a','','');
	var corner = createTag('div','','commentCorner');
	var tm = createTag('div','','commentTime');
	var title = createTag('div','','commentTitle');
	var cont = createTag('div','','commentContent');
	var clear = createTag('div','','');
	clear.style.clear = "both";
	tb.appendChild(title);
	tb.appendChild(cont);
	if(currentPage != 'profielen')
	{
		corner.appendChild(rating);
		corner.appendChild(ja);
		corner.appendChild(nee);
	}
	corner.appendChild(tm);
	cmt.appendChild(img);
	cmt.appendChild(corner);
	cmt.appendChild(tb);
	cmt.appendChild(clear);
	var comments = document.getElementById("comments");
	if(el)
	{
		for(var i = 0;  i < box.parentNode.childNodes.length; i++)
		{
			if(box.parentNode.childNodes[i] == box)
			{
				break;
			}
		}
		i++
		while(i < box.parentNode.childNodes.length && box.parentNode.childNodes[i].className.indexOf("indented") > -1)
		{
			i++;
		}
		if(i == box.parentNode.childNodes.length)
		{
			box.parentNode.appendChild(cmt);
		}
		else
		{
			box.parentNode.insertBefore(cmt,box.parentNode.childNodes[i]);
		}
		//update all following nodes to _uneven / even accordingly
		box.parentNode.removeChild(box);
	}
	else
	{
		if(comments.childNodes.length > 0 && String(comments.childNodes[comments.childNodes.length - 1].id).indexOf("commentNav") > -1)
		{
			comments.insertBefore(cmt,comments.childNodes[comments.childNodes.length - 1]);
		}
		else
		{
			comments.appendChild(cmt);
		}
	}
	submitData(data,cmt,'process.php','',commentPlaced);
}

function commentPlaced(xml)
{
	var id = getXmlNodeValue(xml,"id");
	
	curTarget.setAttribute('id','comment_' + id);
	var uneven = curTarget.className.indexOf('_uneven') > -1;
	
	var el = getClassDiv(curTarget,"commentAvatar");
	el.innerHTML = '<img src="' + getXmlNodeValue(xml,'avatar') + '" alt="" width="40" height="40"/>';

	var corner = getClassDiv(curTarget,"commentCorner");
	el = getClassDiv(corner,"commentTime");
	el.innerHTML = getXmlNodeValue(xml,'time');
	if(currentPage != 'profielen')
	{
		el = getClassDiv(corner,"commentRating");
		el.innerHTML = '0';
		var ar = corner.getElementsByTagName('a');
		ar[0].innerHTML = '<img height="11" width="11" class="commentJa" alt="jabut.gif" src="img/jabut' + (uneven ? '' : '_grey') + '.gif">';
		ar[0].setAttribute('href','javascript:;');
		ar[0].setAttribute('onclick','rateComment(' + id + ',1);');
	 	ar[1].innerHTML = '<img height="11" width="19" class="commentNee" alt="neebut.gif" src="img/neebut' + (uneven ? '' : '_grey') + '.gif">';
		ar[1].setAttribute('href','javascript:;');
		ar[1].setAttribute('onclick','rateComment(' + id + ',0);');
	}
	
	var txt = getClassDiv(curTarget,"commentTextBlock");
	el = getClassDiv(txt,"commentTitle");
	el.innerHTML = getXmlNodeValue(xml,'title');
	
	el = getClassDiv(txt,"commentContent");
	el.innerHTML = getXmlNodeValue(xml,'content');
	
	curTarget.scrollIntoView();
}

function resetResponse(el,gotfocus)
{
	if(gotfocus && el.value == "Typ 't...")
	{
		el.value = "";
	}
	if(!gotfocus && el.value == "")
	{
		el.value = "Typ 't...";
	}
}

function getComments(table,id,offset,num)
{
	var data = [{name:"cmd",value:"get_com"},{name:"table",value:table},{name:"id",value:id},{name:"offset",value:offset},{name:"num",value:num}];
	submitData(data,null,"process.php",'',commentsReceived);
}

function commentsReceived(xml)
{
	var cmtBlock = document.getElementById("comments");
	cmtBlock.innerHTML = "";
	var html = "";
	var c = 0;
	
	var info = getXmlNode(xml,"info");
	var comments = getXmlNode(xml,"comments");
	
	var total = Number(getAttributeValue(info,"total"));
	var offset = Number(getAttributeValue(info,"offset"));
	var table = getAttributeValue(info,"table");
	var id = Number(getAttributeValue(info,"id"));
	var totalcomments = comments.childNodes.length;

	for(var i = 0; i < comments.childNodes.length; i++)
	{
		var child = comments.childNodes[i];
		var isnee = getAttributeValue(child,"nee") == "1";
		var extra = '';
		if(currentPage == 'profielen' && rowId == loggedInId)
		{
			extra = ' onmouseover="handleEnterComment(event);" onmouseout="handleExitComment(event);"';
		}
		
		var comuser = getXmlNode(child,"username");
		html += '<div id="comment_' + getAttributeValue(child,"id") + '" class="comment' + (c % 2 == 0 ? '' : '_uneven') + '"' + extra + '>';
			html += '<a title="Klik om het profiel te bekijken" href="profielen.php?id=' + getAttributeValue(comuser,'id') + '">';
			html += '<img src="' + getXmlNodeValue(child,"avatar") + '" alt="" width="40" height="40" class="commentAvatar"/>';
			html += '</a>';
			
			html += '<div class="commentCorner">';
				if(currentPage != 'profielen')
				{
					html += '<div class="commentRating">' + getXmlNodeValue(child,"rating") + '</div>';
					html += '<a href="javascript:;" onclick="rateComment(' + getAttributeValue(child,"id") + ',1);"><img src="img/jabut' + (c % 2 == 0 ? '_grey' : '') + '.gif" alt="jabut.gif" class="commentJa"/></a>';
					html += '<a href="javascript:;" onclick="rateComment(' + getAttributeValue(child,"id") + ',0);"><img src="img/neebut' + (c % 2 == 0 ? '_grey' : '') + '.gif" alt="neebut.gif" class="commentNee"/></a>';
				}
				html += '<div class="commentTime">' + getXmlNodeValue(child,"time") + '</div>';
			html += '</div>';
			
			html += '<div class="commentTextBlock">';
				html += '<div class="commentTitle' + (isnee ? 'Nee' : '') + '"><a href="profielen.php?id=' + getAttributeValue(comuser,"id") + '">' + comuser.firstChild.nodeValue + '</a> zegt:</div>';
				var content = getXmlNodeValue(child,"content");
				if(isnee)
				{
					content = '<i>Deze reactie is een NEE.</i> <span class="showComment">(<a href="javascript:;" onclick="showNeeComment(' + getAttributeValue(child,"id") + ');">Toon reactie</a>)</span>';
				}
				html += '<div class="commentContent' + (isnee ? 'Nee' : '') + '">' + content + '</div>';
			html += '</div>';
			html += '<div style="clear: both;"></div>';
			if(userLoggedIn && !isnee)
			{
				html += '<a href="javascript:;" onclick="showResponseBox(this);">';
				html += '<img src="img/reageerbut_' + (c % 2 == 0 ? 'grey' : 'white') + '.gif" alt="" width="48" height="12" class="responseSubmit"/>';
				html += '</a>';
				html += '<div style="clear: both;"></div>';
			}
		html += '</div>';
		
		c++;
		
		var subcomments = getXmlNode(child,'comments');
		for(var j = 0; j < subcomments.childNodes.length; j++)
		{
			child = subcomments.childNodes[j];
			comuser = getXmlNode(child,'username'); 
			isnee = getAttributeValue(child,"nee") == "1";
			html += '<div id="comment_' + getAttributeValue(child,"id") + '" class="indentedComment' + (c % 2 == 0 ? '' : '_uneven') + '"' + extra + '>';
				html += '<a title="Klik om het profiel te bekijken" href="profielen.php?id=' + getAttributeValue(comuser,'id') + '">';
				html += '<img src="' + getXmlNodeValue(child,"avatar") + '" alt="" width="40" height="40" class="commentAvatar"/>';
				html += '</a>';

				html += '<div class="commentCorner">';
					if(currentPage != 'profielen')
					{
						html += '<div class="commentRating">' + getXmlNodeValue(child,"rating") + '</div>';
						html += '<a href="javascript:;" onclick="rateComment(' + getAttributeValue(child,"id") + ',1);"><img src="img/jabut' + (c % 2 == 0 ? '_grey' : '') + '.gif" alt="jabut.gif" class="commentJa"/></a>';
						html += '<a href="javascript:;" onclick="rateComment(' + getAttributeValue(child,"id") + ',0);"><img src="img/neebut' + (c % 2 == 0 ? '_grey' : '') + '.gif" alt="neebut.gif" class="commentNee"/></a>';
					}
					html += '<div class="commentTime">' + getXmlNodeValue(child,"time") + '</div>';
				html += '</div>';

				html += '<div class="commentTextBlock">';
					html += '<div class="commentTitle' + (isnee ? 'Nee' : '') + '"><a href="profielen.php?id=' + getAttributeValue(comuser,"id") + '">' + comuser.firstChild.nodeValue + '</a> zegt:</div>';
					var content = getXmlNodeValue(child,"content");
					if(isnee)
					{
						content = '<i>Deze reactie is een NEE.</i> <span class="showComment">(<a href="javascript:;" onclick="showNeeComment(' + getAttributeValue(child,"id") + ');">Toon reactie</a>)</span>';
					}
					html += '<div class="commentContent' + (isnee ? 'Nee' : '') + '">' + content + '</div>';
				html += '</div>';
				html += '<div style="clear: both;"></div>';
			html += '</div>';			
			c++;
		}
	}
	
	var links = "";
	var newoffset = 0;
	var newnum = 0;
	var numPerPage = currentPage == 'profielen' ? 5 : 20;
	if(offset + totalcomments < total)
	{
		newoffset = Math.min(offset + totalcomments, total - numPerPage);
		newnum = Math.min(numPerPage,total - newoffset);
		links += '<div style="float: right;"><a href="javascript:;" onclick="getComments(\'' + table + '\',' + id + ',' + newoffset + ',' + newnum + ');">&gt;&gt;</a></div>';
	}
	
	if(offset > 0)
	{
		newoffset = Math.max(offset - numPerPage, 0);
		newnum = Math.min(numPerPage,offset);
		links += '<div><a href="javascript:;" onclick="getComments(\'' + table + '\',' + id + ',' + newoffset + ',' + newnum + ');">&lt;&lt;</a></div>';
	}
	if(links != '')
	{
		links += '<div style="clear: both;"></div>';
	}
	
	cmtBlock.innerHTML = '<div id="commentNavTop">' + links + '</div>' + html + '<div id="commentNavBottom">' + links + '</div>';
}

function gotNeeComment(xml)
{
	var id = getXmlNodeValue(xml,"id");
	var ava = getXmlNodeValue(xml,"ava");
	var content = getXmlNodeValue(xml,"content");
	
	var cmt = document.getElementById("comment_" + id);
	var txt = getClassDiv(cmt,"commentTextBlock");
	var el = getClassDiv(txt,"commentContentNee");
	el.innerHTML = content;
	el.className = "commentContent";
	el = getClassDiv(txt,"commentTitleNee");
	el.className = "commentTitle";
	
	var img = getClassDiv(cmt.childNodes[1],"commentAvatar");
	img.src = ava;
	
	//if comment is not indented add respond button, if user is logged in
	if(userLoggedIn && cmt.className.indexOf('indented') == -1)
	{
		var uneven = cmt.className.indexOf('_uneven') > -1;
		cmt.innerHTML += '<a onclick="showResponseBox(this,' + id + ');" href="javascript:;"><img height="12" width="48" class="responseSubmit" alt="reageerbut.gif" src="img/reageerbut' + (uneven ? '_white' : '_grey') + '.gif"></a><div style="clear: both;"></div>';
	}
}

function showNeeComment(id)
{
	var data = [{name:"cmd",value:"getneecom"},{name:"id",value:id}];
	submitData(data,null,"process.php",'',gotNeeComment);	
}

function makeCommentNee(cmt,id)
{
	var txt = getClassDiv(cmt,"commentTextBlock");
	el = getClassDiv(txt,"commentContent");
	el.innerHTML = '<i>Deze reactie is een NEE.</i> <span class="showComment">(<a href="javascript:;" onclick="showNeeComment(' + id + ');">Toon reactie</a>)</span>';
	el.className = "commentContentNee";
	el = getClassDiv(txt,"commentTitle");
	el.className = "commentTitleNee";
	
	for(var i = 0; i < cmt.childNodes.length; i++)
	{
		if(cmt.childNodes[i].nodeName.toLowerCase() == "a")
		{
			cmt.removeChild(cmt.childNodes[i]);
			break;
		}
	}
	
	var img = getClassDiv(cmt,"commentAvatar");
	img.src = "img/nee_ava.gif";
}

function gotRatingResult(xml)
{
	if(xml.firstChild.nodeName == "error")
	{
		alert("Je hebt deze reactie al voorzien van een ja of nee!");
		return;
	}
	
	var id = getAttributeValue(xml.firstChild,"id");
	var num = Number(getAttributeValue(xml.firstChild,"num"));
	var rating = Number(getXmlNodeValue(xml,"rating"));
	
	var el = document.getElementById("comment_" + id);
	el = getClassDiv(el,"commentCorner");
	el = getClassDiv(el,"commentRating");
	el.innerHTML = rating == 0 ? '0' : (rating < 0 ? rating : '+' + rating);
	
	if(num >= 10 && rating < 0)
	{
		el = document.getElementById("comment_" + id);
		if(el.innerHTML.indexOf('commentTitleNee') == -1)
		{
			makeCommentNee(el,id);
		}
	}
	else
	{
		el = document.getElementById("comment_" + id);
		if(el.innerHTML.indexOf('commentTitleNee') > -1)
		{
			showNeeComment(id);
		}
	}
}

function rateComment(id,choice)
{
	if(userLoggedIn)
	{
		var data = [{name:"cmd",value:"ratecom"},{name:"id",value:id},{name:"choice",value:choice}];
		submitData(data,null,"process.php",'',gotRatingResult);
	}
	else
	{
		alert('Log in om deze reactie een ' + (choice == 0 ? 'nee' : 'ja') + ' te geven.');
	}
}

function openPopup(url,name,w,h,center,options)
{
	options = options ? options : '';
	var top = center ? Math.round((screen.availHeight - h) / 2) : 100;
	var left = center ? Math.round((screen.availWidth - w) / 2) : 100;
	window.open(url,name,options + (options == '' ? '' : ',') + 'width=' + w + ',height=' + h + ',top=' + top + ',left=' + left);
}

function showEmailPopup(iscomic)
{
	var d = createTag('div','overlay');
	var el = document.getElementById('container');
	var last = el.nextSibling;
	el.parentNode.insertBefore(d,last);
	
	d = createTag('div','apiPopup');
	var tl = createTag('div','apiPopupTopLeft');
	var crn = createTag('div','apiPopupCorner');
	crn.innerHTML = '<a href="javascript:;" onclick="closeApiPopup();"><img id="popupClose" src="img/popupclose.gif"/></a>';
	d.appendChild(crn);
	d.appendChild(tl);

	var frm = createTag('iframe','emailiFrame');
	frm.setAttribute('frameborder','0');
	frm.setAttribute('src','http://www.kudsite.nl/share_email.php?&id=' + rowId + (iscomic == 1 ? '&c=1' : ''));
	d.appendChild(frm);
	
	el.parentNode.insertBefore(d,last);
	
	pageTracker._trackPageview('/buttons/share/email');
}

function showApiPopup(w,iscomic)
{
	if(w == 'facebook')
	{
		var top = Math.round((screen.availHeight - 400) / 2);
		var left = Math.round((screen.availWidth - 700) / 2);
		var link = 'http://www.kudsite.nl/' + (iscomic ? 'comics' : 'videos') + '.php?id=' + rowId;
		var url = 'http://www.facebook.com/connect/prompt_feed.php?message=Dit is mijn leven: ' + encodeURIComponent(link);
		url += '&action_links=' + encodeURIComponent(encodeURIComponent('[{"text":"' + link + '","href":"' + link + '"}]'));
		url += '&user_message_prompt=Bericht%20over%20Kud&preview=true&api_key=ff153eb3106ba0d19be8bbef5e442bcb';
		var fbpopup = window.open(url,'kud_facebook','width=700,height=400,top=' + top + ',left=' + left);
		if(fbpopup.focus)
		{
			fbpopup.focus();
		}
		pageTracker._trackPageview('/buttons/share/' + w);
		return;
	}
	
	var d = createTag('div','overlay');
	var el = document.getElementById('container');
	var last = el.nextSibling;
	el.parentNode.insertBefore(d,last);
	
	d = createTag('div','apiPopup');
	var tl = createTag('div','apiPopupTopLeft');
	var crn = createTag('div','apiPopupCorner');
	crn.innerHTML = '<a href="javascript:;" onclick="closeApiPopup();"><img id="popupClose" src="img/popupclose.gif"/></a>';
	d.appendChild(crn);
	d.appendChild(tl);

	var frm = createTag('iframe','apiiFrame');
	frm.setAttribute('frameborder','0');
	frm.setAttribute('src','http://www.kudsite.nl/apis/' + w + '/index.php?start=1&id=' + rowId + (iscomic == 1 ? '&c=1' : ''));
	d.appendChild(frm);
	
	el.parentNode.insertBefore(d,last);
	
	pageTracker._trackPageview('/buttons/share/' + w);
}

function closeApiPopup()
{
	var el = document.getElementById('apiPopup');
	el.parentNode.removeChild(el);
	
	el = document.getElementById('overlay');
	el.parentNode.removeChild(el);
}

function favouriteResult(xml)
{
	switch(xml.firstChild.firstChild.nodeValue)
	{
		case 'FAVOURITE_ADDED':
			alert('Aan je favorieten toegevoegd!');
		break;
		case 'ALREADY_ADDED':
			alert('Deze was al aanwezig in je favorieten!');
		break;
	}
}

function addFavourite()
{
	if(userLoggedIn)
	{
		var iscomic = currentPage == 'comics' ? 1 : 0;
		var data = [{name:"cmd",value:"addfav"},{name:"id",value:rowId},{name:"comic",value:iscomic}];
		submitData(data,null,"userprocess.php",'',favouriteResult);
	}
	else
	{
		alert('Maak een Kud-account aan om deze ' + (iscomic ? 'comic' : 'video') + 'aan je favorieten toe te voegen.');
	}
}
