window.addEvent('domready', function() {
	
	Element.implement({
		//implement show
		toggle: function() {
			if(this.getStyle('display') == 'none'){
				this.setStyle('display','block');
			}else{
				this.setStyle('display','none');
			}
		}
	});
	
	/**
	 * Startpage gegg
	 */
	
	if ($$('.puffMenuLink')) {
		$$('.puffMenuLink').addEvent('click', function(){
			$$('.puffBody').each(function(el,index){

				el.setStyle('display','none');
			});
			var elementToShow = 'puffBody'+this.get('rel') ;
			$(elementToShow).toggle();
		});
	}
	
	/**
	 * Grade. 
	
	if($$('.doGrade')){
		$$('.doGrade').addEvent('click', function(){
			var grade = this.getProperty('rel'); 
			var gradeServiceId = this.getParent().getPrevious().innerHTML;
			var gradeService = this.getParent().getPrevious().get('rel');
			var object = this; 

			var jSonRequest = new Request.JSON({
				url: '/?service=grade&action=doGrade&grade='+grade+'&gradeServiceId='+gradeServiceId+'&gradeService='+gradeService,
				method: 'get',
				onSuccess: function(inData){
					if(inData == 'confirmUpdate'){
						if(confirm("Du har redan röstat. Klicka OK om du vill ändra din röst")){
							var jSonRequest = new Request.JSON({
								url: '/?service=grade&action=doGrade&grade='+grade+'&gradeServiceId='+gradeServiceId+'&gradeService='+gradeService+'&check=true',
								method: 'get',
								onSuccess: function(inData2){
									object.getParent().set('class','stars grade'+inData2.grade);
								}
							}).send();
						}
					}else{
						object.getParent().set('class','stars grade'+inData.grade);
						$$('.numVotes').set('text',inData.gradeNum);
					}
				}
			}).send();
		});
	}	
*/	
	/**
	 * Comment. 
	 */
	
	if($$('.deleteComment')){
		$$('.deleteComment').addEvent('click', function(){	
			var objectItem = this.getParent().getParent();
			var iCommentId = objectItem.get('id');
			var commentServiceId = objectItem.get('rel');
			var commentService = this.getParent().get('rel');
			if(confirm("Vill du verkligen ta bort kommentaren?")){
				var jSonRequest = new Request.JSON({
					url: '/?service=comment&action=doDelete&commentId='+iCommentId+'&commentService='+commentService+'&commentServiceId='+commentServiceId,
					method: 'get',
					onSuccess: function(inData){
						if(inData == 'confirmDelete'){
							objectItem.setStyle('display', 'none');
						}
						if(inData == 'deleteFailed'){
							alert('Du måste radera dina svar på kommentaren först');
						}
					}
				}).send();
			}
		});
	}	
	
	if($$('.answerComment')){
		$$('.answerComment').addEvent('click', function(){
					
			var objectItem = this.getParent().getParent();
			var objectAnswer = objectItem.getNext();
			
			if(objectAnswer.hasClass('commentAnswer')){
				objectAnswer.destroy();
			}else{			
				var iCommentId = objectItem.get('id');
				var commentServiceId = objectItem.get('rel');
				var commentService = this.getParent().get('rel');
				
				// Declare answer div and inject it		
				var divContents = '<label>Svara på kommentaren:</label><form id="form'+iCommentId+'" method="post" action="/?service=comment&action=doAnswer">' ;
				var divContents2 = '<input type="hidden" name="commentServiceId" value="'+commentServiceId+'" />';
				var divContents3 = '<input type="hidden" name="commentService" value="'+commentService+'" />';
				var divContents4 = '<input type="hidden" name="commentAnswerId" value="'+iCommentId+'" />';
				var divContents5 = '<div class="formTextarea"><textarea name="commentText"></textarea></div><div class="formSubmit knapp"><input class="button commentAnswerButton" type="submit" accesskey="s" value=" Svara " name="knapp"/></div></form>';

				var newDiv = new Element('div', {html:divContents+divContents2+divContents3+divContents4+divContents5,"class":"commentAnswer"});  	
				newDiv.inject($(iCommentId), 'after');
				
				// New listener for the answer form
				if($('form'+iCommentId)){
					$('form'+iCommentId).addEvent('submit', function(e) {

						e.stop();
						this.set('send', {onComplete: function(response) { 
							var objectForm = $('form'+iCommentId);

							if(response == 'ok'){
								objectForm.getPrevious().set('text','Kommentaren är sparad');
								objectForm.destroy();

							}else{
								objectForm.getPrevious().set('text','Kommentaren kunde inte sparas');
								objectForm.destroy();
							}
						}});
						//Send the form.
						this.send();
							
					});
				}
			}
		});
	}	
});

