var editorSpaceHeight = 105;
var editorSpaceHeightHigh = 140;
var animationRate = 800;


/**
 * odpoved na konkretni komentar
 */ 
$(document).ready(function() {
   $('.reply').click( function() {
      showcommentform( $(this) ); 
      return false;
   });
});

function blockHeight(elem) {
  var editHeight = $(elem).parent().parent().find('.hiddenElement').height();
  var editHeight2 = $(elem).parent().parent().find('.hiddenElement').parent().height();
    
  //var blockheight = $(parent2).height()+editorSpace;
  var blockheight = editHeight+editHeight2-10;
  return blockheight;
}

function existCode() {
  return $('input:[name=code]').length;
}

function showcommentform(elem) {
    var parent2 = $(elem).parent().parent().parent().parent().parent().parent();
    //var blockheight = blockHeight($(elem));
    
    if(existCode())
      var blockheight = $(parent2).height()+editorSpaceHeightHigh;
    else
      var blockheight = $(parent2).height()+editorSpaceHeight;

    $(elem).parent().parent().find('.skrytcomment').css('display','none');
    
    $(parent2).animate({ 
          height: blockheight+"px"
        }, animationRate, function() {
                            $(elem).parent().parent().find('.skrytcomment').css('display','block');
                            $(parent2).find('textarea').focus();
                        }
    );    
    
    $(elem).parent().parent().find('.hiddenElement').css("display","block");
    $(elem).parent().css("display","none");
    //existuje znackovani
    var ismarkup = $(elem).parent().parent().find('.markItUp').length;
    if(!ismarkup)
      markup( $(elem).parent().parent().find('textarea'), 'markupdown' );
}


/**
 * skryt editor konkretniho prispevku
 */ 
$(document).ready(function() {
   $('.skrytcomment').click( function() {
      hidecommentform( $(this) );
      return false;
   });
});

function hidecommentform(elem ) {
    var parent = $(elem).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();
    
    if(existCode())
      var blockheight = $(parent).height()-editorSpaceHeightHigh;
    else
      var blockheight = $(parent).height()-editorSpaceHeight;
                                            
    $(parent).animate({ 
      height: blockheight+"px"
    }, animationRate, function() {
        var prom = $(par).find('.odpovedet');
        $(prom).css('display',"block"); 
      }
  );
      
  var par = $(elem).parent().parent().parent().parent().parent().parent();
  $(par).find('.hiddenElement').css("display","none");
} 



/**
 * mazani komentaru 
 */
$(document).ready(function() {
   $('.removecomment').click( function() {
      removecomment($(this));
   });
});

function removecomment(elem) {
  //var elem = $(this);
  Boxy.confirm("Opravdu si přejete provést smazání?", function() { smazanikomentare(elem); }, {title: 'Smazat'});
  return false;
}

function smazanikomentare(elem) {

       var parent = $(elem).parent().parent().parent().parent().parent();//.parent().parent();
       var id = $(parent).attr('id'); 
       var identificator = id.split('-')[1]; //ziskani id aby se vedelo co vse se bude mazat
       var searchclass = "commentParent-"+identificator; 

       $.ajax({
                url: $(elem).attr("href"),
                data: 'exit=1',
                dataType: 'json',
                type: 'post',
                success: function (j) {                            
              }   });
      
       //skryti podrizenych komentu
       $(parent).parent().find("."+searchclass).slideUp(animationRate, this.remove);
       //skryti samostatneho rodice
       $(parent).slideUp(animationRate, this.remove);
}


/**
 * mazani komentare nastenky
 */
$(document).ready(function() {
   $('.removenastenkacomment').click( function() {
       removenastenkacomment( $(this) );
   });
});

function removenastenkacomment(elem) {
  Boxy.confirm("Opravdu si přejete provést smazání?", function() { smazaninastenkakomentare(elem); }, {title: 'Smazat'});
      
  return false;
} 

function smazaninastenkakomentare(elem) {

       var parent = $(elem).parent().parent().parent().parent();
       var id = $(parent).attr('id');  

       $.ajax({
                url: $(elem).attr("href"),
                data: 'exit=1',
                dataType: 'json',
                type: 'post',
                success: function (j) {                            
              }   });
       $(parent).slideUp(animationRate, this.remove);
}




/**
 * vkladani komentare
 */
$(document).ready(function() {
   $('.commentform').submit( function() {
      sendData( $(this), 'commentform' );
      return false;   
   });
   
   $('.onepagecommenttop').submit( function() {
      sendData( $(this), 'onepagecommenttop' );
      return false;   
   });

   $('.commentformrika').submit( function() {
      sendData( $(this), 'commentformrika' );
      return false;   
   });   

   $('.walloneofmany').submit( function() {
      sendData( $(this), 'walloneofmany' );
      return false;   
   });   
   
});


function sendData(elem,type) {
      var jmeno = "";
      var code = "";
      var jmenoCon = true;
      
      var actione = $(elem).attr("action");
      var re1=/[?]+/;
      var result=actione.split(re1);
      
      var url = result[0]+"?B"+result[1].substr(1);
      var article_id = $(elem).find('input[name=article_id]').attr("value");
      var parent_id = parseInt( $(elem).find('input[name=parent_id]').attr("value") );
      var comment = $(elem).find('textarea').attr("value");
      
      var jmenoEle = $(elem).find('#jmenoAutor');
      var codeEle = $(elem).find('#codeEditor');
      
      jmeno = $(jmenoEle).val();
      code = $(codeEle).val();
      
      if($(jmenoEle).length) {
        jmeno = $(jmenoEle).val();
        if(trim(jmeno)=="" || trim(code)=="" ) {
          Boxy.alert('<span class=\"wrong bold\">Vyplňte všechna požadovaná pole!</span>');
          return false;
        } 
      }
      
      if(trim(comment)=="") {
        Boxy.alert('<span class=\"wrong bold\">Nebyl vyplněn text zprávy!</span>');
        return false;
      }
      
      if(trim(comment)!="") {
            
            $.ajax({
                url: url,
                data: 'article_id='+article_id+'&parent_id='+parent_id+'&comment='+encodeURIComponent(comment)+'&jmeno='+encodeURIComponent(jmeno)+'&code='+encodeURIComponent(code)+'&exit=true&submit=true',
                contentType: "application/x-www-form-urlencoded;charset=utf-8",
                dataType: 'text',
                type: 'post',
                beforeSend: function (j) { //deaktivace tlacitka
                  $(elem).find("input:[name=submit]").attr("disabled", "true");
                },
                success: function (j) {
                  if($(elem).find('#codeEditor').length) {                  
                    if(trim(j)=="wrongcode") {
                      Boxy.alert('<span class=\"wrong bold\">Chybný kód!</span>');
                      $(elem).find("input:[name=submit]").removeAttr("disabled"); //aktivace tlacitka                          
                      return false;
                    }
                  }

                  if(type=="commentformrika")         { commentformrika(elem,j); }
                  else if(type=="onepagecommenttop")  { onePageCommentTop(elem,j); }
                  else if(type=="commentform")        { commentform(elem,j); }
                  else if(type=="walloneofmany")      { walloneofmany(elem,j); }
                  else                                { alert("Nastala chyba!"); }

                  $(elem).find('#jmenoAutor').val(""); 
                  $(elem).find('#codeEditor').val(""); 
                  $(elem).find('textarea').val(""); //smazani textu v textaree
                  $(elem).find('textarea').val(""); //smazani textu v textaree
                  setznaku($(elem).find('.textlimitinfo'),"0","3000");//nastaveni pocitadla na nulu
                  $(elem).find("input:[name=submit]").removeAttr("disabled"); //aktivace tlacitka                          
                  
                  var timestamp = new Date().getTime();
                  $('.col-2').find('img:[alt=code]').attr('src','/img/captcha.php?'+timestamp);
      
                },
                error: function(request,error) {
                  alert('Nastala chyba při komunikaci se serverem!');
                  $(elem).find("input:[name=submit]").removeAttr("disabled");
                }
            });  
      }
      else {
         $(elem).find('.errorComment').addClass('bold');
         $(elem).find('.errorComment').attr('style','font-size: 1em');
         $(elem).find('.errorComment').addClass('wrong');
         $(elem).find('.errorComment').text("Chybný text!").show().fadeOut( (animationRate+animationRate) );
      }
}

function onePageCommentTop(elem,j) {
  var commentparent = $(elem).parent().parent().parent().parent().parent().parent().find(".comment-list");
                      
  $(commentparent).prepend(j); //vlozeni na zacatek
  showMessage( $(commentparent).find(".comm-box:first") );
}

function commentform(elem,j) {
  var add = 0; //z duvodu rozdilnosti a velikosti poli
  var parent_id = parseInt( $(elem).find('input[name=parent_id]').attr("value") );
  
  var celkem = $(".commentParent-"+parent_id).length;
  if(celkem)
      $(".commentParent-"+parent_id+":last").after(j);
  else
      $("#commentblock-"+parent_id).after(j);
                      
  var parentBlock = $(elem).parent().parent().parent().parent().parent().parent().parent();
  var parentBlockSize = parentBlock.height(); 
              /*
  if($(parentBlock).find('form').attr('onsubmit') != "undefined" )
    add = -35;
            */
  var skrytButton = $(parentBlock).find('a.skrytcomment');
  hidecommentform( skrytButton );
  showMessage( $(".commentParent-"+parent_id+":last") );
}


function commentformrika(elem,j) {
  var commentparent = $("#comment-list-block");
                      
  $(commentparent).prepend(j); //vlozeni na zacatek
  showMessage( $(commentparent).find(".comm-box:first") );
}


function walloneofmany(elem,j) {
  var commentparent = $(elem).parent().parent().parent().parent().parent().parent().find('.comment-list');
  
  $(commentparent).prepend(j); //vlozeni na zacatek
  showMessage( $(commentparent).find(".comm-box:first") );
  
  $(elem).parent().parent().parent().parent().parent().hide();
  var el = $(elem).parent().parent().parent().parent().parent().parent().parent().find('.showWallCommentFrom span');
  el.text('reagovat');
  el.parent().parent().find('.showWallCommentFrom').attr('name','show');
}

function showMessage(elem) {
    var height = $(elem).height();
    
    $(elem).height(0);
    $(elem).css("display","block");
                      
    $(elem).animate({ 
      height: "100%" //height+'px'
    }, animationRate );
}
