var box_zhinka4 = {

    scrollpane:function(xpath,options){
      var defaults = {step:5};
      var xpath = xpath || false;
      var options = options || {};
      var settings = $.merge(defaults,options);
      if(!xpath) return false;
      $(xpath).each(function(){
        var o = this;
        if(!$(o).is('.scrollable-ready')){
          $('.scrollable',o).serialScroll({
            items:$('.item',o),
            prev:$('.btn_prev',o),
            next:$('.btn_next',o),
            step:settings['step'],
            cycle:true,
            lazy:true,
            force:true,
            exclude:3,
            easing:'easeOutQuart',
            onBefore:function(event,item,obj,collection,index){
            }
          });
          $(o).addClass('scrollable-ready');
        }
      });
    },

    comments_form:{
    init:function(){

      box_zhinka4.comments_form.hide_form((parseInt($('#comment #num_comments').attr('value'))>0)?true:false);

      $('#comment #nick').live('focus', function(){
        if($(this).attr('value')==$(this).attr('rel')) {
          $(this).attr('value','');
        }
      });

      $('#comment #nick').live('blur', function(){
        if($(this).attr('value').length==0) {
          $(this).attr('value',$(this).attr('rel'));
        }
      });

      $('#comment #tab_hide_form .link').live('click', function(){
        box_zhinka4.comments_form.hide_form(true);
      });

      $('#comment #tab_show_form .link').live('click', function(){
        $('form.main').appendTo('#comment .form_holder');

        box_zhinka4.comments_form.hide_form(false);
        $('#comment #c_id_parent').attr('value', 0);
        $('#comment #c_id_root').attr('value', 0);
      });

      $('#comment .list_comments .btn_close_form').live('click', function(){
        if($('#comment .form_holder').children('form.main').html()==null) {
          $('form.main').appendTo('#comment .form_holder');
        }
        box_zhinka4.comments_form.hide_form(false);
        $('#comment #c_id_parent').attr('value', 0);
        $('#comment #c_id_root').attr('value', 0);
      });

      setInterval(function(){try{box_zhinka4.comments_form.maxLength('#comment textarea','#comment_length',1000);}catch(e){};}, 1000);

      $('#comment a.page').live('click', function(){
        $('#comment form.main #c_action').attr('value', 'paging');
        $('#comment form.main #c_page').attr('value', $(this).text());
        $('#comment form.main').submit();
      });

      $('#comment .navigate.prev a').live('click', function(){
        $('#comment form.main #c_action').attr('value', 'paging');
        var page = parseInt($('#comment form.main #c_page').attr('value'))-1;
        $('#comment form.main #c_page').attr('value', page);
        $('form.main').submit();
      });

      $('#comment .navigate.next a').live('click', function(){
        $('#comment form.main #c_action').attr('value', 'paging');
        var page = parseInt($('#comment form.main #c_page').attr('value'))+1;
        $('#comment form.main #c_page').attr('value', page);
        $('#comment form.main').submit();
      });

      $('#comment .btn_answer').live('click', function(){
        var parent_id = $(this).attr('rel');
        var root_id = $(this).attr('rev');

        $('#comment form.main .quote_holder').html('');
        $('#comment form.main #qnick').attr('value', '');
        $('#comment form.main #qdate').attr('value', '');
        $('#comment form.main #qtext').attr('value', '');

        box_zhinka4.comments_form.hide_form(true);
        $('#comment form.main').show();
        $('#comment form.main').insertAfter($(this).parent().parent());

        $('#comment #c_id_parent').attr('value', parent_id);
        $('#comment #c_id_root').attr('value', root_id);
      });

      $('#comment .btn_quote').live('click', function(){
        var prefix = '.c_';

        if($(this).is('.child')) {
          prefix = '.ch_';
        }

        var qnick = $('#comment .list_comments '+prefix+$(this).attr('rel')+' .caption:first .title').text();
        var qdate = $('#comment .list_comments '+prefix+$(this).attr('rel')+' .caption:first .date').text();
        var qtext = $('#comment .list_comments '+prefix+$(this).attr('rel')+' .comment_text:first').text();

        var quotation =  "<div class='quotation'>";
              quotation += "<span class='nick'>"+qnick+"</span> ";
              quotation += "<span class='date'>"+qdate+"</span> ";
              quotation += "<span class='text'>"+qtext+"</span>";
              quotation += "<div>";
                quotation += "<a href='javascript:void(0)' class='btn_close_form'>закрити</a>";
                quotation += "<div class='clear'></div>";
              quotation += "</div>";
            quotation += "</div>";
        $('#comment form.main .quote_holder').html(quotation);
        $('#comment #tab_show_form .link').click();

        $('#comment form.main #qnick').attr('value', qnick);
        $('#comment form.main #qdate').attr('value', qdate);
        $('#comment form.main #qtext').attr('value', qtext);
      });

      $('#comment .quotation .btn_close_form').live('click', function(){
        $('#comment form.main .quote_holder').html('');
        $('#comment form.main #qnick').attr('value', '');
        $('#comment form.main #qdate').attr('value', '');
        $('#comment form.main #qtext').attr('value', '');
      });

      $('#comment .btn_spam').live('click', function(){
        $('#comment #c_action').attr('value', 'spam');
        $('#comment #c_id_comment').attr('value', $(this).attr('rel'));
        $('#comment form.main').submit();
      });

      var last_vote = '';
      $('#comment .btn_down').live('click', function(){
        if(last_vote != $(this).attr('rel')) {
          last_vote = $(this).attr('rel');
          $('#comment #c_action').attr('value', 'voting');
          $('#comment #c_id_comment').attr('value', $(this).attr('rel'));
          $('#comment #c_vote').attr('value', '0');
          $('#comment form.main').submit();
        }
      });

      $('#comment .btn_up').live('click', function(){
        if(last_vote != $(this).attr('rel')) {
          last_vote = $(this).attr('rel');
          $('#comment #c_action').attr('value', 'voting');
          $('#comment #c_id_comment').attr('value', $(this).attr('rel'));
          $('#comment #c_vote').attr('value', '1');
          $('#comment form.main').submit();
        }
      });

      $('#comment #sort_date_desc').live('click', function(){
        $('#comment #c_action').attr('value', 'sort');
        $('#comment #c_sortname').attr('value', 'date');
        $('#comment #c_sortorder').attr('value', 'desc');
        $('#comment form.main').submit();
      });

      $('#comment #sort_date_asc').live('click', function(){
        $('#comment #c_action').attr('value', 'sort');
        $('#comment #c_sortname').attr('value', 'date');
        $('#comment #c_sortorder').attr('value', 'asc');
        $('#comment form.main').submit();
      });

      $('#comment #sort_rating_desc').live('click', function(){
        $('#comment #c_action').attr('value', 'sort');
        $('#comment #c_sortname').attr('value', 'rating');
        $('#comment #c_sortorder').attr('value', 'desc');
        $('#comment form.main').submit();
      });

      $('#comment #sort_rating_asc').live('click', function(){
        $('#comment #c_action').attr('value', 'sort');
        $('#comment #c_sortname').attr('value', 'rating');
        $('#comment #c_sortorder').attr('value', 'asc');
        $('#comment form.main').submit();
      });
    },

    hide_form: function(mode){
      if(mode) {
        $('#comment #tab_hide_form').addClass('selected');
        $('#comment #tab_show_form').removeClass('selected');
        $('#comment form.main').hide();
      }
      else {
        $('#comment #tab_hide_form').removeClass('selected');
        $('#comment #tab_show_form').addClass('selected');
        $('#comment form.main').show();
      }
    },

    maxLength: function(obj, xPath, max) {
      var current = $(obj).attr('value').length;
      var limit = (!isNaN(new Number(max - current))) ? (max - current) : 0;
      if(limit >= 0) $(xPath).text(limit);
      else {
        $(obj).val(($(obj).attr('value')).substring(0, (max)));
        $(xPath).text(0);
      }
      return false;
    },

    after:function(o){
    },

    before:function(o){
      var o = o||{};
      if(!o.fields) return true;
      var status = true;
      var action = $('#comment form.main #c_action').attr('value');
      switch(action) {
        case('comment'):
          $(o.fields).each(function(){
            switch(this.name) {
              case('captcha'):
                if(this.value.length<=0) {
                  alert('Заповніть поле символами, зображеними на картинці!');
                  status = false; return false;
                }
              break;

              case('nick'):
                if(this.value.length<=0 || this.value==$('#comment #nick').attr('rel')) {
                  alert('Заповніть поле ім\'я!');
                  status = false; return false;
                }
              break;

              case('comment'):
                if(this.value.length<=0) {
                  alert('Додайте коментар!');
                  status = false; return false;
                }
              break;
            }
          });
        break;
      }
      return status;
    }
  }
};

