function showImageComments(postid,id) {//called if the ribbon on the thumb is clicked 
	var json = $('json-comment-'+id);
	var content = '';
	
	var thumb_src = $$('#galleryLink-'+id+' img').getProperty('src');
	content+= '<div id="sb_commentInfo">';
	content+= '<img src="'+thumb_src+'" alt="" onclick="toggleToLightbox('+id+')" />';
	content+= '<div id="sb_commentInput">'+addFormular(postid,id)+'</div>';
	content+= '</div>';
	
	content+= '<div id="sb_singleComment">'+getCommentsForSmoothBox(json)+'</div>';
    
    var params = new Object();
    params['width'] = 500;
    params['height'] = 400;
    $('lbCloseLink').fireEvent('click', 0); 
	TB_show("<strong>Kommentare ansehen</strong>",content,params);
	
	$('TB_title').innerHTML = '<div id="TB_BackToLightbox" onclick="toggleToLightbox('+id+')"></div>'+$('TB_title').innerHTML;
	
	$("TB_closeWindowButton").onclick = TB_remove;
	
	function addFormular(postid,id) {
		var result = '';
		if($('galleryOutOfBusiness')!=null) {
			result+= '<h3>Kommentarfunktion deaktiviert<h3>';
		} else {
			result+= '<h4>Kommentar hinzufügen</h4>';
			result+= '<fo'+'rm id="comment-form" methode="" acti'+'on="">';//put some breaks in to prevent spiders
			result+= '  <small>Name</small><in'+'put id="comment_name" class="name" type="text" name="comment[name]" />';
			result+= '  <small>Kommentar</small><textarea id="comment_text" name="comment[text]"></textarea>';
			result+= '  <in'+'put id="comment_imageid" type="hidden" name="comment[imageid]" value="'+id+'"/>';
			result+= '  <in'+'put id="comment_postid" type="hidden" name="comment[postid]" value="'+postid+'"/>';
			result+= '  <in'+'put type="button" name="submit" value="abschicken" onclick="ajaxCommentsSubmit()"/>';
			result+= '</fo'+'rm>';
			result+= '<div id="TB_waiting" class="hidden"></div>';
		}
		return result;
	}
}

function toggleToLightbox(id) {
	TB_remove();
	$('galleryLink-'+id).fireEvent('click',0);
}

function getCommentsForSmoothBox(json) {
	var content = '';
	
	content+= '<div class="commentsList">';
	if(json!=null && json.innerHTML!='') {
		var comments = JSON.decode(json.innerHTML);
		for (var key in comments) {
	    	content+= '<div id="commentID-'+key+'" class="comment">';
	    	content+= '  <div class="name">'+comments[key]['name'].replace(/&amp;/g,"&")+'</div>';
	    	content+= '  <div class="date">'+comments[key]['date']+'</div>';
	    	content+= '  <div class="text">'+nl2br(comments[key]['text'].replace(/&amp;/g,"&"))+'</div>';
	    	content+= '</div>';
	    }
	    content+= '<div class="commentSpacer"></div>';
	} else {
		content+= 'Bisher sind keine Kommentare vorhanden.';
	}
	content+= '</div>';
    return content;
}

function nl2br(string) {
	return string.replace(/\n/g,'<br />');
}

function ajaxCommentsSubmit() {//called if submit is clicked
	$('comment-form').setProperty('class','hidden');
	$('TB_waiting').setProperty('class','');
	
	var myHTMLRequest = new Request(
		{
			url:jsStylesheetLocation+'/../../../wp-content/plugins/galleryhack_pro/ajaxService.php', 
			onSuccess: function(txt) { handleSuccess(txt); },
		
			onFailure: function() {	handleFailure(); }
		}
	).post($('comment-form'));
	
	function handleSuccess(txt) {
		$('TB_waiting').setProperty('class','hidden');
		if(txt=='failure') {
			handleFailure();
			return;
		}
		var imageid = $('comment_imageid').value;
		var postid = $('comment_postid').value;
		if($('json-comment-'+imageid)!=null) { 
			$('json-comment-'+imageid).innerHTML = txt;
		}
		
		//if first entry
		var parent = $('json-comment-'+imageid).getParent(); 
		if(parent.getProperty('class')!='imageCommentOverlay') {
			parent.setProperty('class','imageCommentOverlay');
		}
		$('sb_commentInput').innerHTML = '<div class="success">Eintrag erfolgreich.</div>';
		$('sb_singleComment').innerHTML = getCommentsForSmoothBox( $('json-comment-'+imageid) );
	}
	
	function handleFailure() {
		$('TB_waiting').setProperty('class','hidden');
		$('sb_commentInput').innerHTML = '<div class="failure">Eintrag fehlgeschlagen</div>';
	}
}
///////////////////////
function showAllComments() {
	var myjsons = $$('.json-commentValue');
	var content = '';
	content+= '<ul id="allComments">';
	for(var i = 0; i < myjsons.length; i++) {
		if(myjsons[i].innerHTML!='') {
			var id = myjsons[i].getProperty('id');
			id = id.substr(13);
			var thumb_src = $$('#galleryLink-'+id+' img').getProperty('src');
			content+= '<li>';
			content+= '<img src="'+thumb_src+'" alt="" onclick="toggleToLightbox('+id+')" />';
			content+= getCommentsForSmoothBox(myjsons[i]);
			content+= '<div class="clear"></div>';
			content+= '</li>';
		}
	}
	content+='</ul>';
	
    var params = new Object();
    params['width'] = 700;
    params['height'] = 450;
	TB_show("<strong>Kommentare ansehen</strong>",content,params);
	if($('galleryCommentsAreDeletable')!=null) {
		admin_addFunctionality();
	}
}

function admin_addFunctionality() {
	var div = $$('#allComments div.comment');
	for(var i = 0; i < div.length; i++) {
		if(div[i]=='[object HTMLDivElement]') {
			div[i].addClass('adminComments');
			div[i].addEvent('click',function() {
				this.toggleClass('doDelete');
			});
		}
	}
	var content = '';
	content+= '<form id="deleteCommentsForm" action="" method="post">';
	content+= '<input id="deleteCommentsButton" style="float:left;" type="button" value="Markierte Kommentare löschen" />';
	content+= '<input id="deleteComments" name="deleteComments" type="hidden" value="" />';
	content+= '</form>';
	$('TB_title').innerHTML = content + $('TB_title').innerHTML
	
	$('TB_closeWindowButton').onclick = TB_remove;
	$('deleteCommentsButton').onclick = function() {
		var div = $$('#allComments div.comment');
		var id_batch = '';
		for(var i = 0; i < div.length; i++) {
			if(div[i]=='[object HTMLDivElement]' 
			   && div[i].hasClass('doDelete')) {
				id_batch+= div[i].get('id').replace('commentID-','') + ',';
			}
		}

		if (confirm("Wollen Sie die rot Markierten Kommentare wirklich löschen?")) {
			$('deleteComments').set('value',id_batch);
			$('deleteCommentsForm').submit();
		}
	} 
}
