	var commentspage=1,
		commentstotalpages=1,
		commentspagelength=20;
	
	function commentsNavigate(commentstotal){
		commentstotalpages = Math.ceil(commentstotal/commentspagelength);
		$('commentnav').getElements('li').dispose();

		new Element('li',{'class':'nolink'}).inject($('commentnav')).set('text','Sida: ');

		if(commentspage != 1){
			new Element('a', {
				'href': 'javascript:;',
				'events': {
					'click': function() {
						commentspage=commentspage-1;
						commentsLoad();
					}
				}
			}).inject(
				new Element('li', {
					'class': 'previous'
				}).inject($('commentnav'))
			).set('text','Förra');
		}

		for(var a=(commentspage-4);a<(commentspage+4);a++) {
			if(a < 1 || a > commentstotalpages ) continue;
		
			var liob = new Element('li').inject($('commentnav'));
			var aob = new Element('a',{
				'href': 'javascript:;',
				'class': (a==commentspage?'active':''),
				'events': {
					'click': function(){
						commentspage=this.retrieve('page');
						commentsLoad();
					}
				}
			}).inject(liob);
			aob.store('page',a);
			aob.set('text',a);

		}
		if(commentspage != commentstotalpages){
			new Element('a', {
				'href': 'javascript:;',
				'events': {
					'click': function() {
						commentspage=commentspage+1;
						commentsLoad();
					}
				}
			}).inject(
				new Element('li', {
					'class': 'next'
				}).inject($('commentnav'))
			).set('text','Nästa');
		}

	}
	
	function commentsLoad(){
		var x = new Request({
			'url':commentsurl+((commentspage-1)*commentspagelength),
			'onSuccess':function(ret){
				var comments = JSON.decode(ret);
				if(!comments.data || comments.data.length == 0) {
					var divent = new Element('div', {'class': 'content'}).inject($('comments')).set('text','Bli den förste att kommentera!');
					return;
				}
				$('comments').getElements('div').dispose();
				for(var a=0;a<comments.data.length;a++){
					commentsObject(comments.data[a],a);
				}
				if(comments.totalcomments>commentspagelength) {
					commentsNavigate(comments.totalcomments);
				}
			}	
		}).send();
		
	}


	function commentsVote(e){
		var ob = this;
		new Request({
			url:this.retrieve('voteurl'),
			data:'x='+this.id,
			onSuccess:function(ret){
				var r = JSON.decode(ret);
				if(r.status<0){
					switch(r.status){
						case -2:
							gMessage('register','','Du måste vara inloggad för att kunna rösta!');
						break;
						case -1:
						gMessage('info','Du har redan röstat på det här meddelandet!');
					}
					return;
				}
				rarr = ob.id.split(':');
				$('commid'+rarr[1]).set('text',(r.newq>0?'+'+r.newq:r.newq));
				ob.parentNode.getElements('a').dispose();
			}
		}).send();
		
	}
	
	function commentsObject(cob,x){
                
		var divent = new Element('div', {'class': 'comments entry'}).inject($('comments'));
			var divob = new Element('div', {'class':'textmass'}).inject(divent);
			if(x%2) divob.addClass('even');
                                var aob;
				var pob = new Element('p', {'class': 'posted'}).inject(divob).set('html','Postad '+cob.date);
				if(cob.removable){
					pob.innerHTML += ' | ';
					aob = new Element('a', {'href' : 'javascript:deleteComment('+cob.messageid+')' }).inject(pob).set('html','Ta bort');
				}
                                pob.innerHTML += ' | ';
                                aob = new Element('a', {'href' : 'mailto:abuse@kapitel1.se?subject=Anmäl kommentar av '+cob.user_name+'&body=Thread_id='+cob.threadid+'%0AMessage_id='+cob.messageid+'%0ASkriven='+cob.date+'%0AMessage='+cob.text.replace(/"/gi,"'").replace(/&/gi,"&amp;")+'%0AURL='+location.href+'%0A%0AFyll i din anledning här:%0A','class' : 'abuse' }).inject(pob).set('html','Anm&auml;l');
                                
				var scorediv = new Element('div', {'class': 'score'}).inject(divob);
					var votediv = new Element('div', {'class': 'vote'}).inject(scorediv);
						if(!cob.vote){
							new Element('a', {'id': 'pos:'+cob.messageid,'class': 'plus', 'href': 'javascript:;', 'events': {
								'click': commentsVote
									
							}}).inject(votediv).store('voteurl',cob.voteurl);
							new Element('a', {'id': 'neg:'+cob.messageid,'class': 'minus', 'href': 'javascript:;', 'events': {
								'click': commentsVote
									
							}}).inject(votediv).store('voteurl',cob.voteurl);
						}
						
					scorediv.appendText('Kvalitet: ');
					var scorespan = new Element('span',{'id':'commid'+cob.messageid}).inject(scorediv);
					scorespan.set('text',cob.message_quality);
					
				new Element('p').inject(divob).set('html',cob.text);
			
                                var divob = new Element('div', {'class': 'author'}).inject(divent);
				aob = new Element('a').inject(divob);
					new Element('img', {'src': cob.imageurl}).inject(aob);
				var h3ob = new Element('h3').inject(divob);
				if(cob.realname.trim() == "") {
					new Element("a").inject(h3ob).set("text", cob.user_name);
					
					if(cob.registerdate != "") {
						new Element("p").inject(divob).set("text", cob.registerdate);
					}
				}
				else {
					new Element("a",{"href": cob.authorurl}).inject(h3ob).set('text',cob.realname.trim()==''?cob.user_name:cob.realname);
					
					if(cob.registerdate != "") {
						new Element("p").inject(divob).set("text", cob.registerdate);
					}
					aob = new Element('a',{'href':cob.authorurl}).inject(divob);
						aob.appendText(cob.bookcount+(cob.bookcount==1?' bok':' böcker')+' | ');
						new Element('span').inject(aob).set('text','Profilsida');

                                        aob = new Element('a',{'href':cob.libraryurl}).inject(divob);
						aob.appendText(' | ');
						new Element('span').inject(aob).set('text','Bibliotek');
				}
		
	}
	
	function deleteComment(id){
		if(confirm('Vill du ta bort kommentaren? ')){
			//var deletecommentlink = "http://www.kapitel1.se/index.php?option=com_awaveuser&task=deleteComment";
			
			window.location.href = deletecommentlink+"&id="+id+"&return="+window.location.href;
		}
	}



