var disqus_developer = true;
var disqus_iframe_css = "/public/themes/utrovortu/comments.css";
var filter = '';

function mail_protect(){
   e = $(this).text()+ '@' + this.rel + '.' + this.lang;
   this.href = 'mailto:' + e;
   $(this).text(e).removeClass('mail_protect');
}

function decline_ru(count, nom_sg, gen_sg, gen_pl){
   result = count+' ';

   if ( ((count % 10) == 1) && ((count % 100) != 11) ){
      result += $nom_sg;
   }else if( ((count % 10) >= 2 && (count % 10) <= 4) && ((count % 100) < 11 || (count % 100) > 14) ){
      result += gen_sg;
   }else{
      result += gen_pl;
   }
   return result;
}

function decline_ru_com(num){
  return decline_ru(num, 'комментарий','комментария','комментариев');
}

function serialize_filter(){
      filter = '';
      $("#col1 .category_content_wrapper").each(function(index, elm){
         if( $(this).css("display") != "none"){
           filter += ''+(index+1)+'.';
           var none = true;
           $(this).find(".music_sub_slide").each(function(index, elm){
              if($(this).css("display") != "none"){
                var id = $(this).attr("class").match(/id_\d+/g)[0];
                id = id.replace(/id_/, '');
                filter += id+',';
                none = false;
              }
           });
         }
         if(none) filter += "0,";
         filter = filter.replace(/\,$/, ':');
      });
      filter = filter.replace(/\:$/, '');
}
function deserialize_filter(){
      $("#col1 .category_content_wrapper").each(function(index, elm){
         var re = new RegExp(''+(index+1)+'\\.', '');
         if( filter.match(re) ){
           filter = filter.replace(re,'');
           filter = filter.replace(/^0[:]?/,'');
           $(this).show();
           $(this).find(".music_sub_slide").each(function(index, elm){
              var id = $(this).attr("class").match(/id_\d+/g)[0];
              id = id.replace(/id_/, '');
              var re2 = new RegExp('^'+id+'[,:]?', '');
              if( filter.match(re2) || filter.match(/^all[:]?/i) ){
                  $(this).show();
                  $(this).prev().prev().children(":first").children(":first").addClass("radio_checked"); 
                  filter = filter.replace(re2,'');
              }else{
                  $(this).hide();
                  $(this).prev().prev().children(":first").children(":first").removeClass("radio_checked");
              }
           });
           filter = filter.replace(/^all[:]+/i,'');
         }else{
          $(this).hide();
         }
      });
}

function setMaxWidth(elementId, width){ 
  var container = document.getElementById(elementId); 
  container.style.width = (container.clientWidth > (width - 1)) ? width + "px" : "auto"; 
}     

$(document).ready(function() {
  if(jQuery.browser.msie && jQuery.browser.version <= 6.0){
    //setMaxWidth('colmasksub', 1340);
    //setMaxWidth('footer_wrapper', 1340);
    IEPNGFix.update();
  }

  var $tabs = $("#tabs").tabs({ select: function(event, ui) { $("#tabs ul li a span").removeClass("radio_checked"); $(ui.tab).blur().children(":first").addClass("radio_checked"); $.cookie('tab_selected', ui.index); } });
  $("#tabs ul").removeClass("ui-tabs-hide");
  if($tabs) $tabs.tabs('select', ($.cookie('tab_selected')!=null)?$.cookie('tab_selected'):js_tab_selected);

  $("a").click(function(event){
    $(this).blur();
  });

  $("map").hover(
    function () { // fade 
      el = $(this).attr('id').replace(/^circle/i,"").replace(/_map_.*$/i,"");
      if(jQuery.browser.msie && jQuery.browser.version <= 6.0){
        $('#c'+el).css("top","0px");
      }else{
        $('#c'+el).fadeTo(200,1);
      }
    },
    function () { // appear 
      el = $(this).attr('id').replace(/^circle/i,"").replace(/_map_.*$/i,"");
      if(jQuery.browser.msie && jQuery.browser.version <= 6.0){
         $('#c'+el).css("top","-400px");
      }else{
        $('#c'+el).fadeTo(200,0);
      }
    }
  );
 
  $('.ajax').live('click', function(event) {
    if(pagePlayer){
      if(pagePlayer.lastSound != null){
        pagePlayer.stopSound(pagePlayer.lastSound);
        pagePlayer.lastSound = null;
      }
      for(i=0; i<pagePlayer.soundCount; i++){
        soundManager.destroySound(pagePlayer.sounds[i].sID);
        soundManager._writeDebug("destroying: "+pagePlayer.sounds[i].sID);
      }
      pagePlayer.sounds = [];
      pagePlayer.soundCount = 0;
      pagePlayer.links = [];
      pagePlayer.soundsByObject = [];
    }
    $.History.setHash(event.target.rel);
    event.preventDefault();
  }); 

  $("#accordion_author").accordion({ autoHeight: false, change: function(event, ui) { 
      $.cookie('acc_author_selected', ui.newHeader.attr('id')); 
      }, active: ($.cookie('acc_author_selected'))?$('#'+$.cookie('acc_author_selected')):0 });
  $("#accordion_type").accordion({ autoHeight: false, change: function(event, ui) { 
      $.cookie('acc_type_selected', ui.newHeader.attr('id')); 
      }, active: ($.cookie('acc_type_selected'))?$('#'+$.cookie('acc_type_selected')):0 });

  $(".slide_toggler").each(function (index, elm) {
     if( $.cookie($(this).attr("id")) == 'true' ){
         $(this).next("div").show();
         $(this).children(":first").addClass("radio_checked");
     }else{
         $(this).next("div").hide();
         $(this).children(":first").removeClass("radio_checked");
     }
  });

  if($.cookie('filter') != null){
     filter = $.cookie('filter');
     deserialize_filter();
  }

  $("#search").focus(function(){
    if($(this).val() == 'Поиск...')
       $(this).val('');
  });
  $('#search').blur(function() {
    if($.trim($(this).val()) == '')
       $(this).val('Поиск...');
  });

  $("#search_form").bind("submit", function() {
      if ($.trim( $("#search").val() ).length < 3 ) {
          return false;
      }
      $.fancybox.showActivity();
          $('#col1').load('/search-results/ #search_results', { search: $('#search').val()}, function() { 
               $('a.mail_protect').each(mail_protect);
               $.fancybox.hideActivity(); } );
      return false;
  });


  $("#volume").slider({
     step: 2,
     slide: function(event, ui) { 
       soundManager.defaultOptions.volume = ui.value;
       pagePlayer.lastSound.setVolume(ui.value);
       $.cookie('volume', ui.value, {path: '/'} );
    }
  });
  if(soundManager){
     soundManager.defaultOptions.volume = ($.cookie('volume'))?$.cookie('volume'):70;
     $("#volume" ).slider( "option", "value", soundManager.defaultOptions.volume );
  }

  $(function(){
      $(".photo").fancybox({ 'speedIn': 200, 'speedOut': 200, 'overlayOpacity': 0.5, 'overlayColor': '#000', 
      'transitionIn': 'elastic', 'transitionOut': 'elastic', 'titlePosition': 'inside' 
      /*
       Extra options are available
      You can play around and see what fits your needs best.
      If you does't need this extra options, please delete everything in between marks.
      'overlayShow': true, //choose between true or false
      'overlayOpacity': 0.3, //choose opacity between 0.1 - 1, default is 0.3
      'overlayColor': '#666', //choose any color for overlay, default is #666
      'titleShow': true, //choose between: true or false, default is set to true
      'titlePosition': 'outside', //choose between: 'outside','inside' or 'over', default is 'outside'
      'transitionIn': 'fade', //chose between: 'fade', 'elastic' or 'none', default is 'fade'
      'transitionOut': 'fade' //chose between: 'fade', 'elastic' or 'none', default is 'fade'        
      'transitionOut': 'fade' //chose between: 'fade', 'elastic' or 'none', default is 'fade'
      */
    });
  });
  
  
  var $state = $('#col1');
  $.History.bind(function(state){
    
    if(state.match(/disqus_thread/gi)){
       //do nothin
       //alert(state);
       return false;
    }else{
      if(state.charAt(0)=='/'){
        _state = state;
      }else{
        _state = location.pathname;
      }
      $.fancybox.showActivity();
      $('#col1').load('/ajax/', { page: _state }, function() { 
        $(function(){
            if(pagePlayer){
              pagePlayer.init(true);
            }
            $("#volume").slider({
               value: ($.cookie('volume'))?$.cookie('volume'):70,
               step: 2,
               slide: function(event, ui) { 
                 soundManager.defaultOptions.volume = ui.value;
                 pagePlayer.lastSound.setVolume(ui.value);
                 $.cookie('volume', ui.value, {path: '/'} );
              }
            });
            $('a.mail_protect').each(mail_protect);

            $(".photo").fancybox({ 'speedIn': 200, 'speedOut': 200, 'overlayOpacity': 0.5, 'overlayColor': '#000', 
            'transitionIn': 'elastic', 'transitionOut': 'elastic', 'titlePosition': 'inside' 
            /*
             Extra options are available
            You can play around and see what fits your needs best.
            If you does't need this extra options, please delete everything in between marks.
            'overlayShow': true, //choose between true or false
            'overlayOpacity': 0.3, //choose opacity between 0.1 - 1, default is 0.3
            'overlayColor': '#666', //choose any color for overlay, default is #666
            'titleShow': true, //choose between: true or false, default is set to true
            'titlePosition': 'outside', //choose between: 'outside','inside' or 'over', default is 'outside'
            'transitionIn': 'fade', //chose between: 'fade', 'elastic' or 'none', default is 'fade'
            'transitionOut': 'fade' //chose between: 'fade', 'elastic' or 'none', default is 'fade'
            */
            });
            if(state.match(/(filter)/gi)){
              filter = state.replace('filter=','');
              deserialize_filter();
            } 

        });
        $.fancybox.hideActivity();
      }); //.load()
    }
    //alert(state);
    //$state.html("<div id='loading'>Loading state: "+state+"...</div>");
  });
  
  $('.pager>a').live('click', function(event) {
    var arr = event.target.rel.split('=');
       //alert ('/ajax/?'+event.target.rel+' #'+arr[0]+'_list'); 
    
    $('#'+arr[0]+'_list').fadeTo('fast', 0.01, function() {
       //alert ('/ajax/?'+event.target.rel+' #'+arr[0]+'_list'); 

       $('#'+arr[0]+'_list').load('/ajax/?'+event.target.rel+' #'+arr[0]+'_list', { page: "/", part: "sidebar" }, function(){
          $(".photo").fancybox({ 'speedIn': 200, 'speedOut': 200, 'overlayOpacity': 0.5, 'overlayColor': '#000', 
          'transitionIn': 'elastic', 'transitionOut': 'elastic', 'titlePosition': 'inside' });
          $('a.mail_protect').each(mail_protect);
          $('#'+arr[0]+'_list').fadeTo('fast', 1);
       });
    });
    event.preventDefault();
  });

  $('a.mail_protect').each(mail_protect);

}); //.ready()

