var box_tsnua = {

  right_poll:{
    init:function(){      $('#right_poll .s_woman').click(function(){
        $('#poll_form_type').attr('value','female');
        $('#right_poll form').submit();
      });
      $('#right_poll .s_man').click(function(){
        $('#poll_form_type').attr('value','male');
        $('#right_poll form').submit();
      });
      return false;    },

    before:function(o){      var o = o||{};
      if(!o.fields) return true;
      var status = false;
      $(o.fields).each(function(){        if(this.name=='id_answer' && Number(this.value)>0) status=true;      });
      if(!status) alert('Виберіть, будь-ласка, варіант відповіді.');
      return status;
    }
  },

  news_informer:{    initialize:function(id){      $('form.'+id).parent().attr('id', id);
      $('#'+id+' .tabs a').click(function(){        $('.type', $(this).parent().parent().parent()).attr('value', $(this).parent().attr('id').replace('news_informer_tab_',''));
        $('#'+id + ' form').submit();
      });
    },    init:function(){    }
  },

  comments_form:{    init:function(){      if($('#login_tw_button').attr('href')) {        $('#c_login_tw_button').attr('href', $('#login_tw_button').attr('href'));      }

      box_tsnua.comments_form.hide_form((parseInt($('#comment #num_comments').attr('value'))>0)?true:false);

      $('#comment #tab_hide_form .link').live('click', function(){        box_tsnua.comments_form.hide_form(true);      });

      $('#comment #tab_show_form .link').live('click', function(){        $('form.main').appendTo('#comment .form_holder');
        box_tsnua.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_tsnua.comments_form.hide_form(false);
        $('#comment #c_id_parent').attr('value', 0);
        $('#comment #c_id_root').attr('value', 0);
      });
      setInterval(function(){try{box_tsnua.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_tsnua.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('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;
    }
  },

  right_tabbed_section_news:{
    init:function(id){      $('#'+id+' #category_sel .selected a').click(function(){        $(this).parent().parent().toggleClass('sel_box_closed');
        $(this).parent().parent().toggleClass('sel_box_opened');      });

      $('#'+id+' #category_sel .item').not('.selected').find('a').click(function(){        $('.type', $(this).parent().parent().parent()).attr('value', $(this).parent().attr('id').replace('news_informer_tab_',''));
        $('#'+id+' #sel_id_section').attr('value', $(this).parent().attr('id').replace('sel_section_',''));        $('#'+id+' form.category_selector').submit();      });
    }
  },

  central_video_section:{    init:function(){      box_tsnua.central_video_section.scrollpane('#central_video .scrollpane');

      $('#central_video .menu_list .item a').click(function(){        $('#central_video .menu_list .item').each(function(){
          $(this).removeClass('selected');
        });

        $(this).parent().addClass('selected');
        $('#central_video #cv_id_section').attr('value', $(this).parent().attr('id').replace('cv_section_',''));
        $('#central_video form').submit();
      });
    },

    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');
        }
      });
    }
  },

  central_photo_list: {    init:function(){      $('#central_photo_list a.page').live('click', function(){
        $('#central_photo_list form #cp_page').attr('value', $(this).text());
        $('#central_photo_list form').submit();
      });

      $('#central_photo_list .navigate .prev a').live('click', function(){
        var page = parseInt($('#central_photo_list form #cp_page').attr('value'))-1;
        $('#central_photo_list form #cp_page').attr('value', page);
        $('#central_photo_list form').submit();
      });

      $('#central_photo_list .navigate .next a').live('click', function(){
        var page = parseInt($('#central_photo_list form #cp_page').attr('value'))+1;
        $('#central_photo_list form #cp_page').attr('value', page);
        $('#central_photo_list form').submit();
      });

      $('#central_photo_list .tabs .item a').live('click', function(){        $('#central_photo_list form #cp_page').attr('value', '1');
        $('#central_photo_list form #cp_type').attr('value', $(this).parent().attr('id').replace('photo_tab_',''));
        $('#central_photo_list form').submit();
      });
    }  },

  bottom_video_list: {    init:function(){      $('#bottom_video_list a.page').live('click', function(){
        $('#bottom_video_list form #bv_page').attr('value', $(this).text());
        $('#bottom_video_list form').submit();
      });

      $('#bottom_video_list .navigate .prev a').live('click', function(){
        var page = parseInt($('#bottom_video_list form #bv_page').attr('value'))-1;
        $('#bottom_video_list form #bv_page').attr('value', page);
        $('#bottom_video_list form').submit();
      });

      $('#bottom_video_list .navigate .next a').live('click', function(){
        var page = parseInt($('#bottom_video_list form #bv_page').attr('value'))+1;
        $('#bottom_video_list form #bv_page').attr('value', page);
        $('#bottom_video_list form').submit();
      });

      $('#bottom_video_list .tabs .item a').live('click', function(){
        $('#bottom_video_list form #bv_page').attr('value', '1');
        $('#bottom_video_list form #bv_type').attr('value', $(this).parent().attr('id').replace('video_tab_',''));
        $('#bottom_video_list form').submit();
      });
    }  },

  central_news_list: {
    init:function(){      $('#central_news_list a.page').live('click', function(){
        $('#central_news_list form #cn_page').attr('value', $(this).text());
        $('#central_news_list form').submit();
      });

      $('#central_news_list .navigate .prev a').live('click', function(){
        var page = parseInt($('#central_news_list form #cn_page').attr('value'))-1;
        $('#central_news_list form #cn_page').attr('value', page);
        $('#central_news_list form').submit();
      });

      $('#central_news_list .navigate .next a').live('click', function(){
        var page = parseInt($('#central_news_list form #cn_page').attr('value'))+1;
        $('#central_news_list form #cn_page').attr('value', page);
        $('#central_news_list form').submit();
      });
    }
  },

  central_article: {    init:function(){      $(document).keydown(function(event){        if (event.which == 13 && event.ctrlKey) {          var text = getSelectedText();
          if (text && text.toString().length > 0) {            var confirmMessage = 'Ви вказали на орфографічну або смислову помилку в тексті:\n'+text+'\n\nДля повідомлення редакції, натисніть - ОК.\nДякуємо за співпрацю.';
            var confirmResult = confirm(confirmMessage);
            if(confirmResult) {
              $('#mistake_text').attr('value', text);
              $('#mistake_form').submit();
            }
          }
        };
      });
    }  },

  central_viktorina_question:{
    before:function(o){
      var o = o||{};
      if(!o.fields) return true;
      var status = false;
      $(o.fields).each(function(){
        if(this.name=='answer_key' && Number(this.value)>0) status=true;
      });
      if(!status) alert('Виберіть, будь-ласка, варіант відповіді.');
      return status;
    }
  },

  viktorina_mypoints:{    init:function(){      $('a.open-mypoints').live('click', function(){box_tsnua.viktorina_mypoints.open()});
      return false;
    },

    open:function(){      jQuery.modal.close();
      jQuery.ajax({
        type:'GET',
        url:'/viktorina/mypoints/',
        success:function(response){
          jQuery('<div class="passportUI"></div>').html(response).modal({minWidth:460,maxWidth:460,minHeight:540});
          jQuery.core.ajax.init();
        },
        error:jQuery.core.passport.open.message
      });
      return false;
    }  },

  central_news_section: {
    init:function(){
      $('#central_news_section a.page').live('click', function(){
        $('#central_news_section form #cn_page').attr('value', $(this).text());
        $('#central_news_section form').submit();
      });

      $('#central_news_section .navigate .prev a').live('click', function(){
        var page = parseInt($('#central_news_section form #cn_page').attr('value'))-1;
        $('#central_news_section form #cn_page').attr('value', page);
        $('#central_news_section form').submit();
      });

      $('#central_news_section .navigate .next a').live('click', function(){
        var page = parseInt($('#central_news_section form #cn_page').attr('value'))+1;
        $('#central_news_section form #cn_page').attr('value', page);
        $('#central_news_section form').submit();
      });
    }
  }
};

function getSelectedText() {
  if (document.getSelection)/* Mozilla */    return document.getSelection();
  else if (document.selection) /* IE */      return document.selection.createRange().text;
  else if (window.getSelection) /* Safari */ return window.getSelection();
  return false;
}

function setcookie(name, value) {
  var argv = this.setcookie.arguments;
  var argc = this.setcookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  var path = (argc > 3) ? argv[3] : null;
  var domain = (argc > 4) ? argv[4] : null;
  var secure = (argc > 5) ? argv[5] : false;
  document.cookie = name + "=" + escape(value) +
  ((expires == null) ? "" : ("; expires=" + expires)) +
  ((path == null) ? "" : ("; path=" + path)) +
  ((domain == null) ? "" : ("; domain=" + domain)) +
  ((secure == true) ? "; secure" : "");
}

function unset_social_reload() {
  setcookie('social_auth', '', 100000000, '/', '.tsn.ua');
  setcookie('current_social', '', 100000000, '/', '.tsn.ua');
  window.location.reload();
}

function screenW() {
  var w;
  w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
  return w;
}

function screenH() {
  var h;
  h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight));
  return h;
}

function addLink() {
  var bodyEl = document.getElementsByTagName('body')[0];

  var selection;
  var browser = getNameBrouser();

  switch(browser) {
    case('gecko'):
      selection = window.getSelection();
    break;

    case('opera'):
    break;

    case('msie'):
      selection =  document.selection.createRange().text;
    break;

    default:
    break;
  }

  var pagelink = "<br />Більше читайте тут: <a href="+document.location.href+">"+document.location.href+"</a>";
  var copytext = selection + pagelink;

  var newEL = document.createElement('p');
  bodyEl.appendChild(newEL);
  newEL.innerHTML = copytext;
  selection.selectAllChildren(newEL);

  window.setTimeout(function() {
    bodyEl.removeChild(newEL);
  },0);
}

function getNameBrouser() {
 var ua = navigator.userAgent.toLowerCase();
 if(ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) {
   return "msie"
 }
 if(ua.indexOf("opera") != -1) {
   return "opera"
 }
 if(ua.indexOf("gecko") != -1) {
   return "gecko";
 }
 if(ua.indexOf("safari") != -1) {
   return "safari";
 }
 if(ua.indexOf("konqueror") != -1) {
   return "konqueror";
 }
 return "unknown";
}
