$(document).ready(function(){
	
var wordcount = $("#wordCount").text();
Feedback.feedbackPagination(wordcount);
/**
 * Clear fields
 */
$('#basic-modal-content .post-title input').click(function(){	
	if($(this).val() == 'your title here'){
		$(this).val('');
	}
})
$('#basic-modal-content .post-description textarea').click(function(){	
	if($(this).val() == 'describe your feedback here'){
		$(this).val('');
	}
})
$('#basic-modal-content .post-title input').blur(function(){	
	if(Feedback.trimWord($(this).val()) == ''){
		$(this).val('your title here');
	}
})
$('#basic-modal-content .post-description textarea').blur(function(){	
	if(Feedback.trimWord($(this).val()) == ''){
		$(this).val('describe your feedback here');
	}
})
/**
 * 
 */
$("#feedback-all").click(function(){
	if($("#feedback-date").attr('class') == 'feedback-date date-active'){
		var $sort = 'date';
	}else var $sort = 'vote';
	if ($("#feedback-solution-all").attr('class') == 'feedback-solution-all sall-active') {
		var $resolved = 'feedback-solution-all';
	}
	else 
		if ($("#feedback-fixed").attr('class') == 'feedback-fixed fixed-active') {
			var $resolved = 'feedback-fixed';
		}
		else 
			if ($("#feedback-unfixed").attr('class') == 'feedback-unfixed unfixed-active') {
				var $resolved = 'feedback-unfixed';
			}
		
	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('all-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'display': $(this).attr('id'),
				'sort': $sort,
				'resolved':$resolved
				//'page':$page
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
			 $("#feedback-all").html(loading);
				$("#feedback-onm").removeClass('onlymine-active');
			},
			success: function(data){
				$("#feedback-all").empty();
				$("#feedback-all").addClass('all-active').text('all');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);
			}
		});
	}
});
$("#pagination a").livequery("click",function(){
		var paginateFind;
		var mydata='';
		var pagination = $(".wrap-pagin div:first").attr('class');		
		if(pagination=='pagination'){
			//paginateFind = 'translatePhrase';
		}				
		if($(this).text() == 'Next'){
			$parentId = $(this).parent().attr('id');
			var $page = parseInt($("#"+$parentId+" span[id^='page_']").text());
			$page = $page+1;
		}else if($(this).text() == 'Prev'){
			$parentId = $(this).parent().attr('id');
			var $page = parseInt($("#"+$parentId+" span[id^='page_']").text());
			if ($page > 1) {
				$page = $page - 1;
			}else $page=1;
		}
		else var $page = $(this).text();
		if($("#feedback-date").attr('class') == 'feedback-date date-active'){
		var $sort = 'date';
	}else var $sort = 'vote';		
	if($("#feedback-all").attr('class') == 'feedback-all all-active'){
		var $display = 'feedback-all';
	}else var $display = 'feedback-onm';	
		if ($("#feedback-solution-all").attr('class') == 'feedback-solution-all sall-active') {
		var $resolved = 'feedback-solution-all';
	}
	else 
		if ($("#feedback-fixed").attr('class') == 'feedback-fixed fixed-active') {
			var $resolved = 'feedback-fixed';
		}
		else 
			if ($("#feedback-unfixed").attr('class') == 'feedback-unfixed unfixed-active') {
				var $resolved = 'feedback-unfixed';
			}
		var $query = Feedback.getId($('#search-text').attr('name'));
		$(this).attr('id',"curPage");
	$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'display': $display,
				'sort': $sort,
				'resolved':$resolved,
				'page':$page,
				'query':$query				
			},
			afterSend: function(){
					var loading = "<img src='img/feedback/loading.gif' >";		   	
	                $('#pagination span').html(loading);
			},
			success: function(data){				
				$("#feedback-contentload").html(data);
			}
		});
	});
/**
 * Resolved
 */
$("#feedback-solution-all").click(function(){	
    if($("#feedback-date").attr('class') == 'feedback-date date-active'){
		var $sort = 'date';
	}else var $sort = 'vote';
	if($("#feedback-all").attr('class') == 'feedback-all all-active'){
		var $display = 'feedback-all';
	}else var $display = 'feedback-onm';

	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('onlymine-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'resolved': $(this).attr('id'),
				'sort': $sort,
				'display':$display
				//'page': $page			
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
				$("#feedback-solution-all").html(loading);				
				$("#feedback-fixed").removeClass('fixed-active');
				$("#feedback-unfixed").removeClass('unfixed-active');
			},
			success: function(data){
				$("#feedback-solution-all").empty();
				$("#feedback-solution-all").addClass('sall-active').text('all');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);	
			}
		});
	}
});
$("#feedback-fixed").click(function(){	
    if($("#feedback-date").attr('class') == 'feedback-date date-active'){
		var $sort = 'date';
	}else var $sort = 'vote';
	if($("#feedback-all").attr('class') == 'feedback-all all-active'){
		var $display = 'feedback-all';
	}else var $display = 'feedback-onm';

	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('onlymine-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'resolved': $(this).attr('id'),
				'sort': $sort,
				'display':$display
				//'page': $page			
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
				$("#feedback-fixed").html(loading);				
				$("#feedback-solution-all").removeClass('sall-active');
				$("#feedback-unfixed").removeClass('unfixed-active');
			},
			success: function(data){
				$("#feedback-fixed").empty();
				$("#feedback-fixed").addClass('fixed-active').text('resolved');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);	
			}
		});
	}
});
$("#feedback-unfixed").click(function(){	
    if($("#feedback-date").attr('class') == 'feedback-date date-active'){
		var $sort = 'date';
	}else var $sort = 'vote';
	if($("#feedback-all").attr('class') == 'feedback-all all-active'){
		var $display = 'feedback-all';
	}else var $display = 'feedback-onm';

	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('onlymine-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'resolved': $(this).attr('id'),
				'sort': $sort,
				'display':$display
				//'page': $page			
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
				$("#feedback-unfixed").html(loading);				
				$("#feedback-solution-all").removeClass('sall-active');
				$("#feedback-fixed").removeClass('fixed-active');
			},
			success: function(data){
				
				$("#feedback-unfixed").empty();
				$("#feedback-unfixed").addClass('unfixed-active').text('unresolved');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);	 
			}
		});
	}
});


/**
 * 
 */
$("#feedback-onm").click(function(){	
if($("#feedback-date").attr('class') == 'feedback-date date-active'){
		var $sort = 'date';
	}else var $sort = 'vote';
		if ($("#feedback-solution-all").attr('class') == 'feedback-solution-all sall-active') {
		var $resolved = 'feedback-solution-all';
	}
	else 
		if ($("#feedback-fixed").attr('class') == 'feedback-fixed fixed-active') {
			var $resolved = 'feedback-fixed';
		}
		else 
			if ($("#feedback-unfixed").attr('class') == 'feedback-unfixed unfixed-active') {
				var $resolved = 'feedback-unfixed';
			}
	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('onlymine-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'display': $(this).attr('id'),
				'sort': $sort,
				'resoloved':$resolved
				//'page': $page			
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
				$("#feedback-onm").html(loading);				
				$("#feedback-all").removeClass('all-active');
			},
			success: function(data){
				$("#feedback-onm").empty();
				$("#feedback-onm").addClass('onlymine-active').text('only mine');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);	
			}
		});
	}
});
/**
 * 
 */
$("#feedback-date").click(function(){	
	if($("#feedback-all").attr('class') == 'feedback-all all-active'){
		var $display = 'feedback-all';
	}else var $display = 'feedback-onm';
		if ($("#feedback-solution-all").attr('class') == 'feedback-solution-all sall-active') {
		var $resolved = 'feedback-solution-all';
	}
	else 
		if ($("#feedback-fixed").attr('class') == 'feedback-fixed fixed-active') {
			var $resolved = 'feedback-fixed';
		}
		else 
			if ($("#feedback-unfixed").attr('class') == 'feedback-unfixed unfixed-active') {
				var $resolved = 'feedback-unfixed';
			}
	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('date-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'sort': 'date',
				'display':$display,
				'resolved':$resolved
				//'page':$page
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
			 $("#feedback-date").html(loading);
				$("#feedback-vote").removeClass('vote-active');
			},
			success: function(data){
				$("#feedback-date").empty();
				$("#feedback-date").addClass('date-active').text('date');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);
			}
		});
	}	
});
/**
 * 
 */
$("#feedback-vote").click(function(){	
if($("#feedback-all").attr('class') == 'feedback-all all-active'){
		var $display = 'feedback-all';
	}else var $display = 'feedback-onm';
		if ($("#feedback-solution-all").attr('class') == 'feedback-solution-all sall-active') {
		var $resolved = 'feedback-solution-all';
	}
	else 
		if ($("#feedback-fixed").attr('class') == 'feedback-fixed fixed-active') {
			var $resolved = 'feedback-fixed';
		}
		else 
			if ($("#feedback-unfixed").attr('class') == 'feedback-unfixed unfixed-active') {
				var $resolved = 'feedback-unfixed';
			}
	//var $page = parseInt($(".ajax-pagination span[id^='page_']").text());
	if (!$(this).hasClass('vote-active')) {
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/displayFeedback",
			data: {
				'sort': 'vote',
				'display':$display,
				'resolved':$resolved
				//'page':$page
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
				$("#feedback-vote").html(loading);				
				$("#feedback-date").removeClass('date-active');
			},
			success: function(data){
				$("#feedback-vote").empty();
				$("#feedback-vote").addClass('vote-active').text('vote');
				$("#feedback-contentload").html(data);				
				var wordcount = $("#wordCount").text();
				Feedback.feedbackPagination(wordcount);
				
				
			}
		});
	}
});
/**
 * Post new feedback
 */
$('#basic-modal-content .post-submit').click(function(e){  
  var title       = Feedback.trimWord($('#basic-modal-content .post-title input').val());
  var description = Feedback.trimWord($('#basic-modal-content .post-description textarea').val());  
  if (title != '' && description != '' && (description!='describe your feedback here' && title !='your title here')) {
  	$.ajaxq('testqueue',{
  		type: "post",
  		url: "feedbacks/postFeedback",
  		data: {
  			'data[Feedback][title]': title,
  			'data[Feedback][description]': description  			
  		},
  		beforeSend: function(){ 
		var loading = "<img src='img/feedback/loading.gif' >";
			  $('#basic-modal-content .post-submit').html(loading);			
  		},
  		success: function(data){
			$("#feedback-contentload").prepend(data);
			$('#basic-modal-content .post-submit').text("Post feedback");
			$.modal.close();
		}
  	});
  }else alert("Please fill all fields");	 
});
$('.feedback-comment .feedback-resolve').live('click',function(e){
	e.preventDefault();		
	var $feedbackId = Feedback.getId($(this).parent().attr('id'));
	var match = $(this).text().match(/^Resolved/);	
	if (match != null) {
		$(this).text($(this).text().replace(/Resolved/, "Un Resolved"));
		$resolvedImage="<p class='topic-check'></p>";
		$("#top-" + $feedbackId + " .topic-title").before($resolvedImage);
		$("#top-"+$feedbackId+" .topic-title").removeClass('checked').addClass('checked');						
		var $resolvedFlag = 1;		
	}
	else {
		$(this).text($(this).text().replace(/Un Resolved/, "Resolved"));
		$("#top-" + $feedbackId + " .topic-check").remove();
		$("#top-"+$feedbackId+" .topic-title").removeClass('checked');		
		var $resolvedFlag = 0;
		
	}	
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/resolvedFeedback",	
			dataType: "json",		
			data: {
				'feedbackId' : $feedbackId,
				'resolvedFlag': $resolvedFlag				
			},
			beforeSend: function(){				 
			},			
			success: function(data){								
			}
		});	
});
/**
 * 
 */
$('.feedback-comment .delete-feedback').live('click',function(e){
	e.preventDefault(); 
	var $confirm = confirm("Do you really want to delete?");
	if ($confirm) {
		var $feedbackId = Feedback.getId($(this).parent().attr('id'));
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/deleteFeedback",			
			data: {
				'feedbackId': $feedbackId				
			},
			beforeSend: function(){
				$("#fb-" + $feedbackId+ " .main-topic").animate({
					'backgroundColor': '#fb6c6c'
				},1500); 
			},
			success: function(){				
				$("#fb-" + $feedbackId).slideUp(500,function() {
					$("#fb-" + $feedbackId).remove();
				});
			}
		});
		
		
	}
});
/**
 * 
 */
$('.feedback-comment .comment-user').live('click',function(e){	
	var $parentId = Feedback.getId($(this).parent().attr('id'));		 
	var match = $(this).text().match(/^comments/);	
	if (match != null) {
		$(this).text($(this).text().replace(/comments/, "hide comments"));
	}else	$(this).text($(this).text().replace(/hide comments/, "comments"));
	$("#in-"+$parentId).toggle("fast");
});
$('.feedback-comment .comment-admin').live('click',function(e){
 	var $parentId = Feedback.getId($(this).parent().attr('id'));
	$("#adr-"+$parentId+ " .comments-adminList-edit").toggle("fast");
});
$('.feedback-comment .client-config-feedback').live('click',function(e){
 	var $parentId = Feedback.getId($(this).parent().attr('id'));
	$("#cc-"+$parentId+ " .configuration-list").toggle("fast");
});

/**
 * 
 */
$(".comments-list-edit .post-comment-button").live('click',function(e){
	var $parentId =($(this).parent().attr('id'));
	var $actualId  = Feedback.getId($parentId);
	var $comment  = Feedback.trimWord($("#"+$parentId+" .edit-area textarea").val());	
	var $userName = Feedback.getUsername($('#header .greeting').text());	
	if($comment!=''){
	$.ajaxq('testqueue',{
  		type: "post",
  		url: "feedbacks/postComment",
  		data: {
  			'data[Feedback][comment]': $comment,
  			'data[Feedback][feedbacks_id]': $actualId  			
  		},
  		beforeSend: function(){ 
		var $appendComment =  "<div class='comments-list'><p class='member'>["+$userName+"]</p><p class='story'>"+$comment+"</p></div>";
		$("#"+$parentId).before($appendComment);
		$("#"+$parentId+" .edit-area textarea").val('');
		var $matchNumber = $("#com-"+$actualId+" .comment-user").text().match(/[0-9]/g);
		    $matchNumber = parseInt($matchNumber)+1
		    $("#com-"+$actualId+" .comment-user").text($("#com-"+$actualId+" .comment-user").text().replace(/([0-9])/,$matchNumber));				
  		},
  		success: function(data){			
			//$("#feedback-contentload").prepend(data);
			
		}
  	});
  }else alert("Please fill all fields");	
	
	
});
/**
 * 
 */
$(".comments-adminList-edit .post-response-button").live('click',function(e){	
	var $parentId =($(this).parent().attr('id'));		
	var $actualId  = Feedback.getId($parentId);
	var $response  = Feedback.trimWord($("#"+$parentId+" .edit-area textarea").val());	
	//alert($response);
	var $userName = Feedback.getUsername($('#header .greeting').text());	
	if ($response != '') {
		//alert($parentId+' '+$comment+' '+$userName);
		$.ajaxq('testqueue',{
			type: "post",
			url: "feedbacks/postAdminResponse",
			data: {
				'data[Feedback][response]': $response,
				'data[Feedback][feedbacks_id]': $actualId
			},
			dataType: "json",
			beforeSend: function(){
			 var $appendComment = "<div class='comments-adminList'><p class='story'>" + $response + "</p><p class='member'>[" + $userName + "]</p><p class='response-delete' align='center' id='replaceme'>Delete</p></div>";
				$("#" + $parentId).before($appendComment);
				$("#" + $parentId + " .edit-area textarea").val('');
				$("#" + $parentId).toggle("fast");
			},
			success: function(data){
			  $("#replaceme").attr("id","fbr-"+data.feedbacks_comments.id);
			//$("#feedback-contentload").prepend(data);
						
			}
		});
	}
	else {		
		alert("Please fill all fields");
		e.preventDefault();
	}
});
/**
 * 
 */

    		
		
// use the helper function hover to bind a mouseover and mouseout event 
			$('.feedback-desc .rating-image').live('mouseover',function(){
				if (!$(this).hasClass('rated')) {
					$(this).next().text('I agree!');
				}				
			});
			$('.feedback-desc .rating-image').live('mouseout',function(){
				if (!$(this).hasClass('rated')) {
					$(this).next().text('');
				}		
			});
		    
$('.feedback-desc .rating-image').live('click',function(e){
	if (!$(this).hasClass('.rated')) {
		$(this).addClass('rated');
		var $parentId = ($(this).parent().attr('id'));
		var $actualId = Feedback.getId($parentId);
		var $rating = ($("#top-" + $actualId + " .topic-rating").text());	    
		//alert($parentId+' '+$comment+' '+$userName);
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/postRating",
			dataType: "json",
			data: {
				'rating': $rating,
				'feedbacks_id': $actualId
			},
			beforeSend: function(){
				var loading = "<img src='img/feedback/loading.gif' >";
				$("#top-" + $actualId + " .topic-rating").text('');
				$("#top-" + $actualId + " .topic-rating").append(loading);
								
			},
			success: function(data){				
				$("#top-" + data.feedbacks_id + " .topic-rating").text(data.rating);								
				$("#desc-" + data.feedbacks_id + " .rating-text").text('I agree!');
			}
		});
	}else e.preventDefault();
	
});
/**
 * 
 */
$("#search-text").keyup(function(e){
	if (e.keyCode == 13) {
		$('#search-feedback').trigger('click');
	}
	else 
		if (e.keyCode == 32) {
			$('#search-feedback').trigger('click');
		}
})

$('#search-feedback').click(function(e){
	//alert("search-feedback");
	var $value = $("#search-text").val();
	$("#search-text").attr("name","q-"+$value);
	$value = Feedback.trimWord($value);	
	if($value!=''){			
		$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/searchFeedback",			
			data: {
				'query': $value				
			},
			beforeSend: function(){
					var loading = "<img src='img/feedback/search-loader.gif'>";		
     				$("#search-feedback").css("background-image","none");	
	     			$("#search-feedback").html(loading);					
					$("#search-text").css({
						"background-color":"#FFFFCC",
						"color":"#000"
						});						
			},
			success: function(data){
				data = Feedback.trimWord(data)
				if (data.length != 0) {
					$("#feedback-contentload").html(data);
					$(".feedback-create-label").show();
					$(".feedback-or").show();
					$("#search-text").css({
						"background-color":"#FFF",
						"color":"#000"
						});
				}
				else {
					$("#feedback-contentload").html("<div class='main-topic' style='margin-top:2px;font-size:14px;font-wieght:bolder;' align ='center'>Search found results (0)</div>");
					$(".feedback-create-label").hide();
					$(".feedback-or").hide();
					$("#search-text").css({
						"background-color":"#EAE0DB",
						"color":"#000"
						});
				}
				$('#search-feedback').empty();							
				$('#search-feedback').css("background-image","url(	img/feedback/refresh-loader.png)");
				var wordcount = $("#wordCount").text();			
				Feedback.feedbackPagination(wordcount);
			}
		});
	}
});
/**
 * 
 */
$(".feedback-adminResponse .response-delete").live('click',function(){
	var $feedbackResponseId = Feedback.getId($(this).attr('id'));	
	$.ajaxq('testqueue',{
			type: "get",
			url: "feedbacks/deleteResponse",			
			data: {
				'feedbackResponseId': $feedbackResponseId				
			},
			beforeSend: function(){
				$("#fbr-" + $feedbackResponseId).parent().animate({
					'backgroundColor': '#fb6c6c'
				},500); 
			},
			success: function(){				
				$("#fbr-" + $feedbackResponseId).parent().slideUp(100,function() {
					$("#fbr-" + $feedbackResponseId).parent().remove();
				});
			}
		});
});
			
	});
var Feedback ={
				 test : function(){
				 	alert("hello");
				 },
				 trimWord : function(uName){
						      var ltrim = /^\s+/; 
						      var rtrim = /\s+$/;
							  var userName = uName; 
							  userName = userName.replace(ltrim,"");
						      userName = userName.replace(rtrim,"");
							  return userName;
                 },
				 getId  : function(id){
				 	 var id = id.split('-');
	                 id = id[1];
					 return id;
				 },
				 getUsername: function(name){
				 	var name = name.split(',');
					name = name[1];
					return name;
				 },
				 feedbackPagination :function (wordcount){				 
							wordmax = (wordcount*1) / 10;								 
							wordmax =  Math.ceil(wordmax);							  
							make_pagination('pagination', '', 1, wordmax);				 	
				 }
			}
	