/** 

---- ajax добавление сообщений и тем на форум
---- by ВэйДлин - uPost.su

**//*
<div id="forumAjax">$BODY$</div>
<script type="text/javascript" src="http://upost.su/js/ajaxForum.js"></script>
<script type="text/javascript">
<?if($PAGE_ID$='threadpage')?>ajaxForum.messages();<?endif?><?if($PAGE_ID$='addthread' || $PAGE_ID$='addpoll')?>ajaxForum.topic();<?endif?>
</script>
*/


var ajaxForum = {
  interval: 10,
  url: document.location.href,
  messages: function(){
    $('form[name="addform"]').removeAttr('onsubmit').submit(function (){
      var frF16 = $('#frF16').val();
      $('#frF16').val('Загрузка...').attr('disabled', true);;
      _uPostForm($(this),{dataType:'html',success:function(post){
        var err = $.trim($('#frM2', post).text());
        if(err != ''){
          $('#frF16').val(frF16).attr('disabled', false);;
          _uWnd.alert('<br>'+err,'Ошибка',{close:1,w:270,h:90,tm:3000,align:'center'});
          return false;
        }
        ajaxForum.url = $('a', post).attr('href').split('#')[0];
        var html = $.ajax({
          type: 'GET',
          url: ajaxForum.url+'?'+Math.floor(Math.random()*9999),
          dataType: 'html',
          async: false
        }).responseText;
        history.pushState(null, null, ajaxForum.url); 
        $('#forumAjax .switches').html($('#forumAjax .switches', html).html());
        $('#forumAjax .gTable:first').html($('#forumAjax .gTable:first', html).html());
        $('body').scrollTo({ top:$('tr[id^="post"]:last').offset().top-22, left:0}, 500); 
        $('#frF16').val(frF16).attr('disabled', false);;
        $('#frF17').click();
        $('.gTable td:first, .postSeparator').css({border:'none',padding:0});
        $('.gTableTop:first').css({borderTop:'1px solid #F1F1F1'});
        _uWnd.alert('<br>Сообщение добавлено!','Готово',{close:1,w:270,h:90,tm:3000,align:'center'});
      }});
      return false;
    });
    setInterval(function(){
      $.get(ajaxForum.url+'?'+Math.floor(Math.random()*9999), function(html){
        $('#forumAjax .switches').html($('#forumAjax .switches', html).html());
        $('#forumAjax .gTable:first tr[id^="post"]', html).each(function(i){
          var tpost = $('#forumAjax .gTable:first tr[id^="post"]').eq(i);
          if(typeof tpost.html() == 'object'){
            return $('#forumAjax .gTable:first tr[id^="post"]:last').after('<tr id="'+$(this).attr('id')+'">'+$(this).html()+'</tr>');
          }
          if(tpost.html() != $(this).html() && $(this).html().indexOf('<!--uSpoiler-->')==-1 && tpost.html().indexOf('<!--uSpoiler-->')==-1 && $(this).html().indexOf('<!--BBvideo-->')==-1 && tpost.html().indexOf('<!--BBvideo-->')==-1){
            tpost.html($(this).html());
          }
        });
      });
    }, ajaxForum.interval*1000);
  },
  
  topic: function(){
    $('form[name="addform"]').removeAttr('onsubmit').submit(function (){
      var frF16 = $('#frF16').val();
      $('#frF16').val('Загрузка...').attr('disabled', true);;
      _uPostForm($(this),{dataType:'html',success:function(post){
        var err = $.trim($('#frM2', post).text());
        if(err != ''){
          $('#frF16').val(frF16).attr('disabled', false);;
          _uWnd.alert('<br>'+err,'Ошибка',{close:1,w:270,h:90,tm:3000,align:'center'});
          return false;
        }
    	$('#forumAjax').hide().html($('#forumAjax', post).html()).fadeIn();
	    ajaxForum.url = $('#forumAjax .forumBarA', post).attr('href');
	    history.pushState(null, null, ajaxForum.url); 
        ajaxForum.messages();
      }});
      return false;
    });
  }
}