var starClicked = false;

$(function() {
      var ratingObj = $('div.ratingValue'); 
      
      $(ratingObj).find(".star").click(function() {
        $(this).children('.selected').addClass('is-animated');
        $(this).children('.selected').addClass('pulse');
        
        var target = this;    
        
        setTimeout(function() {
          $(target).children('.selected').removeClass('is-animated');
          $(target).children('.selected').removeClass('pulse');
        }, 1000);
    
        starClicked = true;
      })
          
      $(ratingObj).find('.full').click(function() {
            if (starClicked == true) { setFullStarState(this)}
            $(ratingObj).data('vote', $(this).data('value'));
            var star = " star";
            if($(this).data("value") > 1) var star = " stars";
            
            $(ratingObj).find("div").last().html("Vote " + $(this).data("value")+star);
      })
    
     
      $(ratingObj).find('.full').hover(function() {
        if (starClicked == false) {setFullStarState(this)}
      })

})

function updateStarState(target) {
  $(target).parent().prevAll().addClass('animate');
  $(target).parent().prevAll().children().addClass('star-colour');

  $(target).parent().nextAll().removeClass('animate');
  $(target).parent().nextAll().children().removeClass('star-colour');
}


function setFullStarState(target) {
  $(target).addClass('star-colour');
  $(target).parent().addClass('animate');
  updateStarState(target)
}



neviScript.saveComment = function(obj){
    if(!clickSave ) return;
    
    var box = $(obj).parents("div.box");
    var boxEditor = $(box).parents("div.boxEditor");
    
    
    $(box).find("span.loading").html("");
    
    var xml="<?xml version='1.0' encoding='UTF-8'?><root><itnet module='comment'>";
	xml += "<params task='"+moduleName+"'>";
    
    var rating_value = parseInt($('div.ratingValue').data("vote"));
    var reply_id = $(obj).next().val();
    
    if(rating_value == 0 && reply_id == 0){
        $(box).find("span.loading").html("<i class=\"fa fa-exclamation-triangle\"></i> Please check star!");
        return;
    }
    
    xml += "<node name='topic_id'><![CDATA["+$(obj).data('topic_id')+"]]></node>";
    xml += "<node name='reply_id'><![CDATA["+reply_id+"]]></node>";
    xml += "<node name='content'><![CDATA["+$(box).find("div.editor").html()+"]]></node>";
    xml += "<node name='rating'><![CDATA["+rating_value+"]]></node>";
	xml += "</params></itnet></root>";
    
    var star = "";
    for(var j = 1; j <= rating_value; j++){ star += "<i class=\"fa fa-star\"></i>";}
    for(j = rating_value+1; j <= 5; j++){ star += "<i class=\"fa fa-star-o\"></i>";}
    
    
    var aAvatar = $(boxEditor).find("img.avatar");
    
    var html = "<a class='avatar'><img src=\""+$(aAvatar).attr("src")+"\" alt=\""+$(aAvatar).attr("alt")+"\" height=\""+$(aAvatar).attr("height")+"\" width=\""+$(aAvatar).attr("width")+"\"/></a><div class='comment'>";
    html += "<strong>"+$(aAvatar).attr("alt")+"</strong>";
    html += "<span class='time'><i class=\"fa fa-clock-o\"></i> At the moment</span>";
    html += "<div class='star'>"+star+"</div>";
    html += "<p>"+$(box).find("div.editor").html()+"</p>";
    html += "</div>";
    html = $("<li></li>").append(html);
    
    
    clickSave  = false;
    $(box).find("span.loading").html("<img src='images/loading1.gif'/>");
    $.ajax({ type: "POST", url: "com.ajax.xml.php", data: xml}).done(function(txt){
        
        clickSave  = true;
        if(!isNumber(txt)){
            $(box).find("span.loading").html("<i class=\"fa fa-exclamation-triangle\"></i> "+txt);
        }
        else{
            $(box).find("span.loading").html("");
            var ul = $(boxEditor).next();
            if(reply_id > 0){
                ul = $(boxEditor).parent().next();
                if($(ul).attr("class") == 'comments'){
                    $(html).insertBefore($(ul).find("li:first-child"));
                }
                else{
                    var ul = $("<ul class='comments'></ul>").append(html);
                    $(boxEditor).parent().append(ul);
                }
            }
            else{
                if($(ul).find("li").length == 0){
                    $(ul).append(html);
                }
                else{
                    $(html).insertBefore($(ul).find("li:first-child"));
                }
            }
            
            $(boxEditor).hide();                     
        }
    });
}

neviScript.replyComment = function(obj){
    var editor = $("div.boxEditor");//.html();
    for(var i = 1; i < editor.length ; i++){
        $(editor[i]).prev().show();
        $(editor[i]).remove();  
    }
    $(obj).hide(); $(editor[0]).hide();
    var reply_id = $(obj).data("reply_id");    
    var topic_id = $(obj).data("topic_id");
    
    var boxEditor = $("<div class='boxEditor'>"+$(editor[0]).html()+"</div>");
    $(obj).parent().append(boxEditor);
    $(boxEditor).find("div.ratingValue").hide();
    $(boxEditor).find("input[name='reply_id']").val(reply_id);
    $(boxEditor).find("button[name='cancel']").show();    
}


neviScript.replyCancel = function(obj, flagHide){
    var boxEditor = $(obj).parents("div.boxEditor");
    $(boxEditor).prev().show();
    $(boxEditor).remove();
    if(flagHide == 0) $("div.boxEditor").show(); 
}