$(document).ready(function (){

/*********** ОБЩИЕ ДЛЯ ВСЕХ СТРАНИЦ *********/

  $.browser.opera = window.opera != undefined;

  var isOldIE = $.browser.msie && $.browser.version < 8,
      isIOS = navigator.platform.match(/(ipad|ipod|iphone)/i) != null,
      isOpera9 = $.browser.opera && parseInt($.browser.version) == 9,
      //not init additional script on big pages in IE
      initAdditionalScripts = !($('body')[0].innerHTML.length > 300000 && $.browser.msie && $.browser.version < 9),
	  isIE6 = $.browser.msie && $.browser.version == 6;

  if (isIOS) {
    $('body').addClass('ios');
  }

/*~~~~~~Сообщения~~~~~~~~~~~~~~~~*/

  //всплывающее сообщение об ошибке/информации/успешном действии
  showMessage = function(messageText, messageType, delay) {
    var titles = {
      error: 'Ошибка!',
      info:  'Информация',
      done:  'Успешно!'
    };

    if (typeof messageType == 'undefined')
      messageType = 'error';
    if (typeof delay == 'undefined')
      delay = 5000;

    $('.b-message-info, .b-message-error, .b-message-done').remove();

    var d = $('<div class="b-message-' + messageType + '"><div><span>Х</span>' +
      '<h3>' + titles[messageType] + '</h3>' +
      '<p>' + messageText + '</p>' +
       '</div></div>').appendTo($('body'));

     if ($.browser.msie && $.browser.version == 6)
       d.css({
         top: $(window).scrollTop(),
         left: $(window).width() / 2
       });

     setTimeout(function() {
       if ($.browser.msie)
         d.show();
       else
         d.fadeIn();

       closeFunc = function() {
         if ($(this).length)
         {
           var v = $(this).parent().parent();
           if ($.browser.msie)
             v.hide().remove();
           else
             v.fadeOut(function() {
               v.remove();
             });
         }
       }

       var t = d.find('div > span').click(closeFunc);

       setTimeout(function() {
         t.click();
       }, delay)
     }, 300);
  }

/*~~~~~~Меню~~~~~~~~~~~~~~~~*/

  var curMenuitem = null,
      hideMenuTimer = null,
      showSubmenuTimer = null;

  $('#menu li.mainitem').hover(
    function() {

      var self = $(this),
          selfId = self.attr('id'),
          lft = self.position().left + $('#sub-menu-' + selfId).width() >= 1000 ?
                  960 - $('#sub-menu-' + selfId).width() - 10 :
                  self.position().left + 10;

      showSubmenuTimer = setTimeout(function() {
        $('#sub-menu-' + selfId)
          .css({
            left: lft,
            top:  self.position().top + 267
          })
          .show();
      }, 250);

      curMenuitem = $(this);
      $(this).addClass('hover');
    },
    function() {
      var self = this, id = $(this).attr('id');
      hideMenuTimer = setTimeout(function() {
        $('#sub-menu-' + id).hide();
        $(self).removeClass('hover');
      }, 50);
      clearInterval(showSubmenuTimer);
    }
  );

  $('.sub-menu').hover(
    function() {
      clearInterval(hideMenuTimer);
    },
    function() {
      $(this).hide();
      $('.mainitem').removeClass('hover');
    }
  );

/*~~~~~~форма Авторизация~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

  if (initAdditionalScripts) {
    $('#show-autoriz').click(
      function() {
        $('#autorize').toggle();
        if ($('#autorize').is(':visible'))
          $('#autorize input[name=USER_LOGIN]').focus();
        return false;
      }
    );

    $('#auth-logout').click(function() {
      $(this).next().submit();
      return false;
    });
  }

/*~~~~~~Фокус для полей ввода~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    $('form input[type=text]:not(.ft-disabled),form textarea,form input[type=password]').focus(
      function () {
        if ($(this).val() == $(this).attr('title')){
          $(this).val('');
        }
      }
    );
    $('form input[type=text]:not(.ft-disabled),form textarea,form input[type=password]').blur(
      function () {
        if (this.value == ''){
          $(this).val($(this).attr('title'));
        }
      }
    );

  if (initAdditionalScripts) {
    setInputHover = function() {
      if (isOldIE) {
         $('.form-text-big,.form-text,.form-textarea-big,.feedback input,.feedback textarea,textarea')
         .focus(
           function() {
             $(this).css({
               'background':'#ffffe6'
             })
           }
         )
         .blur(
           function() {
             $(this).css({
               'background':'#fff'
             })
           }
         )
      }
    }
    setInputHover();
  }

  //форма поиска, добавлен поиск по плашкам
  $('#top-search, #foot-search, #blog-search').submit(function() {
  var sQ = $.trim($('input[type=text]', $(this)).val());
  if (sQ == '') {
      showMessage('Введите, пожалуйста, поисковый запрос.', 'error');
      return false;
    }
  });

  if (initAdditionalScripts) {

/*~~~~~~Блоги депутатов~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    var blogWidth = 245,
        curBlogLi = 1,
        totalBlogLi = $('.r-bd-blog li').length;

    checkBlogArrows = function() {
      if (curBlogLi == 1)
        $('.blog-arrow.left').addClass('not-active2');
      else
        $('.blog-arrow.left').removeClass('not-active2');

      if (curBlogLi == totalBlogLi)
        $('.blog-arrow.right').addClass('not-active1');
      else
        $('.blog-arrow.right').removeClass('not-active1');
    }

    $('.blog-arrow.left').click(function() {
      if ($(this).hasClass('not-active2') || curBlogLi == 1)
        return;

      curBlogLi--;
      checkBlogArrows();

      $('.r-bd-blog').animate({ left: '+=' + blogWidth + 'px' });
    });

    $('.blog-arrow.right').click(function() {
      if ($(this).hasClass('not-active1') || curBlogLi == totalBlogLi)
        return;

      curBlogLi++;
      checkBlogArrows();

      $('.r-bd-blog').animate({ left: '-=' + blogWidth + 'px' });
    });

  /*~~~~~~~~~~~~ кнопки down-up ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    function btnMouseDown(btnDownClass) {
      $('.'+btnDownClass).live('mousedown',
        function() {
          $(this).addClass(btnDownClass+'-down')
        }
      )
      .mouseup(
      );
      $('.'+btnDownClass).live('mouseup',
        function() {
          $(this).removeClass(btnDownClass+'-down')
        }
      )
      .mouseleave(
      );
      $('.'+btnDownClass).live('mouseleave',
        function() {
          $(this).removeClass(btnDownClass+'-down')
        }
      );
    }

    var arrayBtnDownClass = ['page-nave-prev1','page-nave-next1','page-nave-prev','page-nave-next','submit-big','submit','btn-calendar','ui-datepicker-trigger'];

    for (i=0;i<arrayBtnDownClass.length;i++) {
      btnMouseDown (arrayBtnDownClass[i])
    }

    $('.submit-disabled').live(
      'click',
      function() {
        return false
      }
    );

    if (($.browser.msie) && ($.browser.version == 6)) {
       $('.page-nave-prev.pg-disabled span').css({
         'backgroundPosition':'0 -40px'
       });
    }

    if ($.browser.safari) {
      $('.submit-big span').css({ 'padding-right': '5px' });
    }

  /*~~~~~~~~~~ открытие ссылок в новом окне ~~~~~~~~~~~~~~~~~~~~*/

    $('a.external').click(function() {
    // we should hide the element if its parent is in the list
    parentClassName = $(this).parent().get(0).className;
    if(parentClassName=='add-goog' ||
       parentClassName=='add-delic' ||
       parentClassName=='add-digg' ||
       parentClassName=='add-memori' ||
       parentClassName=='add-yand')
      $('ul.bookmarks-list').hide();  // close da box
      window.open($(this).attr('href'));
      return false;
    });

  } //end of initAdditionalScripts

/*~~~~~~~~~~~~ отправка формы голосования ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

  sendVoteForm = function() {
    $('#r-vote').css('opacity', 0.5);
    $('.submit', $(this)).addClass('submit-disabled');

    $.ajax({
      url: '/s/vote.ajax.php',
      cache: false,
      type: 'POST',
      data: $(this).serialize(),
      dataType: 'html',
      success: function(data) {
        $('#r-vote')
          .css('opacity', '')
          .html(data);
        //чтобы включилось сглаживание текстов в блоке
        if ($.browser.msie)
          $('#r-vote').attr('style', '');

        $('#vote').submit(sendVoteForm);
      }
    });

    return false;
  }

  $('#vote').submit(sendVoteForm);

/*********** ЧАСТНЫЕ ДЛЯ ГЛАВНОЙ/ВНУТРЕННИХ *********/

  var t =location.toString().split('/');

  //IS NOT MAIN PAGE
  if (t.length > 4)
  {
    /*~~~~~~~~~~~~ форматирование текста ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    if (initAdditionalScripts) {

      $('.text-with-hidden-part > .hidden-part').hide();
      $('<span class="show-hidden-part">...</span>')
        .insertBefore('.text-with-hidden-part > .hidden-part')
        .click(function() {
          if ($.browser.msie)
            $(this).next().show();
          else
            $(this).next().fadeIn();
          $(this).remove();
        })
        .each(function() {
          var v = $(this).parent().text();
          $(this).attr('title', v.length > 100 ? v.substr(0, 200) + '...' : v);
        });

      /*~~~~~~~~~~~~ просмотр увеличенного фото новости ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
      $('.foto-news a').click(function() {
        var lb = $('<div class="light-box"></div>').appendTo($('body'));
        if ($.browser.msie)
          lb.css({ opacity: 0.2 });

        var lbc = $('<div class="light-box-content-abs">' +
          '<div class="add-param-head"><div class="l"><div class="r">' + 'Фото' + '</div></div></div>' +
          '<div class="popup-close light-box-close"><span class="popup-close-text"></span><span class="popup-close-ico"></span></div>' +
          '<div class="content-text"></div>' +
          '</div>').appendTo($('body'));

        var img = $(this).children('img').clone().removeAttr('width').removeAttr('height'),
            ct = $('.content-text', lbc);

        lbc.css({
          visibility: 'hidden',
          display: 'block'
        });

        img.appendTo(ct);

        img.load(function() {
            ct.width(img.width());
            var
        	wndW = $(window).width(),
        	wndH = $(window).height(),
        	ctW = ct.width(),
        	ctH = ct.height(),
        	deltaH = 46,
        	deltaW = 10,
        	lbcLeft, lbcTop;
            if ((ctH + deltaH) > wndH) {
        	var prevCtH = ctH;
        	ctH = wndH - 2 * deltaH;
		var coeff = ctH / prevCtH;
    		ctW = ctW * coeff;
    		lbcTop = deltaH / 2;
    		lbcLeft = (wndW - ctW) / 2;
            } else if ((ctW + deltaW) > wndW) {
    		var prevCtW = ctW;
    		ctW = wndW - 2 * deltaW;
    		var coeff = ctW / prevCtW;
    		ctH = ctH * coeff;
    		lbcTop = (wndH - ctH) / 2;
    		lbcLeft = deltaW / 2;
            } else {
        	lbcTop = (wndH - ctH) / 2;
        	lbcLeft = (wndW - ctW) / 2;
            }

            img.attr({
		width: ctW,
		height: ctH
	    });

            var imgText = $(this).next();
            if (imgText.length && imgText.hasClass('foto-descr'))
              imgText.clone().appendTo(ct);

            lbc.css({
              width: ctW + deltaW,
              height: ctH + deltaH,
              left: lbcLeft,
              top: lbcTop
            });

            lbc.css({
              display: 'none',
              visibility: 'visible'
            });

            lbc.click(function() {
              lbc.hide();
              lb.fadeOut();
            });

            if (isOldIE) {
              lb.show();
              lbc.show();
              if (($.browser.msie) && ($.browser.version == 6))
                lbc.css({
                  top: $(window).scrollTop() + lbc.position().top
                });
            }
            else {
              lb.fadeIn();
              lbc.fadeIn();
            }
        })

        return false;
      });

    }

    //таблицы в всплывающих окнах
    makePopupTable = function(table) {
      var self = (typeof table == 'number' ? $(this) : table);
      self.hide();
      //текст из h3 используем в качестве текста ссылки и заголовка окна
      var title = self.children('h3').length ? $(this).children('h3').text() : 'Посмотреть таблицу';
      self.children('h3').remove();

      var lb = $('<div class="light-box"></div>').appendTo($('body'));

      if ($.browser.msie)
        lb.css({ opacity: 0.2 });

      var lbc = $('<div class="light-box-content">' +
        '<div class="add-param-head"><div class="l"><div class="r">' + title + '</div></div></div>' +
        '<div class="popup-close light-box-close"><span class="popup-close-text">закрыть окно</span><span class="popup-close-ico"></span></div>' +
        ($('.h-tags-print a').length ? '<a class="popup-print" title="Версия для печати" href="' + $('.h-tags-print a').attr('href') + '"></a>' : '') +
        '<div class="content-text"></div>' +
        '</div>').appendTo($('body'));

      self.children().appendTo($('.content-text', lbc));

      var p = $('<p class="table-link">')
                .insertAfter(self);
      $('<a href="#">' + title + '</a>')
        .appendTo(p)
        .click(function() {
	    $('.content-text').css({
		'position': 'absolute',
    		'top': $('.add-param-head').height() + 40,
    		'left': 0,
    		'right': 5,
    		'bottom': 15
    	    });
    	    $('.table-link').hide();
    	    $('body').css('overflow', 'hidden');
    	    if (isOldIE) {
        	lb.show();
        	lbc.show();
                if (($.browser.msie) && ($.browser.version == 6)) {
                  lbc.css({
            	    top: $(window).scrollTop() + 20
                  })
	          .width($(window).width() - 40)
        	  .height($(window).height() - 40);
        	 $('.content-text', lbc)
            	    .width(lbc.width() - 20)
        	    .height(lbc.height() - 51);
                }
            }
            else {
		lb.fadeIn();
                lbc.fadeIn();
            }
	    $(window).resize();
	    return false;
        });

        $('.light-box-close', lbc).click(function() {
    	    $('.table-link').show();
    	    $('body').css('overflow','auto');
    	    $('.content-text').css({
    		'position': 'static',
    		'width': 'auto'
    	    });
            lbc.hide();
            lb.fadeOut();
      });


    }

    if (isOldIE)
    {
      var tables = $('.popup');
      //чтобы обработка шла легко и играючи
      /*if (tables.length > 2)
      {
      }
      else*/
        tables.each(makePopupTable);
    }
    else
      $('.popup').each(makePopupTable);
    //закрытие light-box по esc
    $(document).keydown(function(ev) {
      if (ev.keyCode && ev.keyCode == 27 && $('.light-box:visible').length) {
        $('body').css('overflow','auto');
        if ($('.table-link').length > 0)
	    $('.table-link').show();
        if (isOldIE)
          $('.light-box-content:visible, .light-box-content-abs:visible, .light-box:visible').hide();
        else
          $('.light-box-content:visible, .light-box-content-abs:visible, .light-box:visible').fadeOut();
	if ($('.content-text').length > 0)
    	    $('.content-text').css({
            	'position': 'static',
    		'width': 'auto'
    	    });
      }
    });

    if (initAdditionalScripts)
    {

      /*~~~~~~~~~~~~ кнопка Play (страница парламентский час) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

      if (($.browser.msie) && ($.browser.version == 6)) {
        $('.btn-play').hover(
          function() {
            $(this).css('background-position','0 -42px');
          },
          function() {
            $(this).css('background-position','0 0');
          }
        )
      }

      /*~~~~~~~~~~~~ списки селект ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

      if (isOldIE) {
        $('.form-select-big,.form-select,.form-select-smi').css('display','none');

        for (i=0;i<$('.form-select-big').length;i++) {
          if ($('.form-select-big').eq(i).width() < 190) {$('.form-select-big').eq(i).width('190');}
          if ($('.form-select-big').eq(i).width() > 400) {$('.form-select-big').eq(i).width('400');}
        }
        for (i=0;i<$('.form-select').length;i++) {
          if ($('.form-select').eq(i).width() < 150) {$('.form-select').eq(i).width('150');}
          if ($('.form-select').eq(i).width() > 360) {$('.form-select').eq(i).width('360');}
        }
        for (i=0;i<$('.form-select-smi').length;i++) {
          if ($('.form-select-smi').eq(i).width() < 150) {$('.form-select-smi').eq(i).width('150');}
          if ($('.form-select-smi').eq(i).width() > 360) {$('.form-select-smi').eq(i).width('360');}
        }
      }

    function getYearRedirectUrl( selYear ) {
            var curSearch = document.location.search;
            if ( -1 < curSearch.indexOf( "year" ) ) {
                curSearch = curSearch.replace( /year\=Y\d{4}/, "" );
            }
            if ( "" !== curSearch ) {
                if ( "?" === curSearch) {
                    curSearch += "year=" + selYear;
                } else {
                    curSearch += "&year=" + selYear;
                    curSearch = curSearch.replace( /&{2,}/ , "&" );
                }
            } else {
                curSearch += "?year=" + selYear;
            }

            return curSearch;
    }

      if (!isIOS) {
        $('.form-select-big.input-select').selectbox({inputType: 'input'});
        $('.form-select.input-select').selectbox({
          inputType: 'input',
          inputClass: 'selectbox-small',
          containerClass: 'selectbox-small-wrapper'
        });
        $('.form-select-big:not(.input-select)').selectbox();
        $('.form-select:not(.input-select)').selectbox({
          inputClass: 'selectbox-small',
          containerClass: 'selectbox-small-wrapper'
        });

        /* Селект с выбором года доходов */
        $( ".form-select-nano" ).selectbox( {
            inputClass: 'selectbox-small',
            containerClass: 'selectbox-small-wrapper',
            onChangeCallback: function( val ) {
                var yearSel$ = $( "#inc_year" ),
                    curYear = yearSel$.data( "sel-year" ),
                    selYear = val.selectedVal;

                if ( selYear !== curYear ) {
                    yearSel$.data( "sel-year" , selYear );
                    document.location.search = getYearRedirectUrl( selYear );
                }
            }
        } );

        /* workaround для возврата значения в спрятанный селект */
        var smiCallback = function() { return true; };
        $('.form-select-smi').selectbox({ onChangeCallback: smiCallback });
      } else {
          $( "#inc_year" ).change( function() {
            document.location.search = getYearRedirectUrl( $( this ).val() );
          } );
      }

      if (isOldIE) {
         $('.selectbox-small-left-corn.fs-disabled').css('backgroundPosition','0 -79px');
         $('.selectbox-small-left-corn.fs-disabled .selectbox-small-right-corn').css('backgroundPosition','100% -79px');
      }

      /*~~~~~~~~~~~~ поиск по законопроектам ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

      //коррекция выпадающих списков селектов в ие6-7
      if (isOldIE) {
        $('.ex.extended').addClass('section-line');
        $('.law-search-form .section-line').each(function(index) {
          $(this).addClass('z' + index);
        });
      }

      $('#deputy-letter').change(function() {
          var val = $(this).val();
          if (val == '')
              $('#deputy-select').html('');
          else{
              $.ajax({
                  url: lawScriptUrl,
                  data:{
                      'deputy-letter': val,
                      'ajax' : 'Y'
                  },
                  success: function(html){
                      $('#deputy-select').html(html);
                      if (!isIOS) {
                        $('.form-select:not(:disabled)', $('#deputy-select')).selectbox({
                          inputType: 'input',
                            inputClass: 'selectbox-small',
                            containerClass: 'selectbox-small-wrapper'
                        });
                      }
                  }
              })
          }
      });
      $('.filter-table input[type=submit], .law-search-form input[type=submit]').click(
        function()
        {
          var form = this.form;
          $('.submit-big', $(form)).addClass('submit-big-disabled');
          $('.submit', $(form)).addClass('submit-disabled');
        }
      );
      if (!$('#deputy-select select').length)
        $('#deputy-letter').change();

      $('#search-mode').change(function() {
          var val = $(this).val();
          if (val == '') {
            $('.event-search-row').addClass('hidden');
          }
          else {
            $('.event-search-row').removeClass('hidden');
            if (val == '3') {
              $('.event-period-row').addClass('hidden');
            }
          }
      });
      $('#search-mode').change();
      $('#show-search-form').click(function() {
        if ($(this).hasClass('active')) {
          $(this).removeClass('active').text('показать условия поиска');
          $('.law-string').slideDown();
          $('.law-search-form').slideUp(function() {
            $(this).addClass('hidden').show();
          });
        }
        else {
          $(this).addClass('active').text('cкрыть условия поиска');
          $('.law-string').slideUp();
          $('.law-search-form').hide().removeClass('hidden').slideDown();

        }
      });
      $('#show-extended-search-form').click(function() {
        if ($(this).hasClass('active')) {
          $(this).removeClass('active');
          if ($.browser.msie)
            $('.extended').addClass('hidden');
          else
            $('.extended').slideUp(function() {
              $(this).addClass('hidden');
              if ($.browser.msie)
                $(this).removeAttr('style');
            });
        }
        else {
          $(this).addClass('active');
          if ($.browser.msie)
            $('.extended').removeClass('hidden');
          else
            $('.extended').hide().removeClass('hidden').slideDown(function() {
            });
        }
      });
      if (isOpera9) {
        $('.extended.hidden').hide();
      }
      var periodFields = ['event', 'registration'];
      function setPeriodHandler(basicId)
      {
        $('#'+basicId+'-period').change(function(){
          var value = $(this).val();
          var startDateField = $('#'+basicId+'-start');
          var endDateField = $('#'+basicId+'-end');
          if (value == '')
          {
            startDateField.val('');
            endDateField.val('');
          }else{
            startDateField.val(periodDates[value][0]);
            endDateField.val(periodDates[value][1]);
          }
        });
        $('#'+basicId+'-start, #'+basicId+'-end').change(function(){
          $('#'+basicId+'-period_input').html('');
          $('#'+basicId+'-period').val('');
        });
      }
      for (var i = 0; i < periodFields.length; i++)
      {
        var basicId = periodFields[i];
        setPeriodHandler(basicId);
      }

    function generateSelect(listName, list, enabledIds)
    {
      var id = listName + '-select';
      var wrapId = listName + '-select-wrap';
      var html = '<select class="form-select" name="'+listName+'" id="'+id+'">', i, currentValue;
      currentValue = $('#'+id).val();
      if (currentValue === '' || currentValue === null || currentValue === undefined)
        html += '<option value="" selected="selected"></option>';
      else
        html += '<option value=""></option>';
      for (i in list)
      {
        if (!(i in enabledIds)) continue;
        var label = list[i];
        if (i == currentValue)
          html += '<option value="'+i+'" selected="selected">'+label+'</option>';
        else
          html += '<option value="'+i+'">'+label+'</option>';
      }
      html += '</select>';
      $('#' + wrapId).html(html);
      if (!isIOS) {
        $('#' + id).selectbox({
          inputClass: 'selectbox-small',
          containerClass: 'selectbox-small-wrapper'
        });
      }
      if (listName != 'phase')
        setSelectChangeHandler(listName);
    }

    function setSelectChangeHandler(listName)
    {
      $('#'+listName+'-select').change(function(){
        var values = {}, enabledIds, val;
        var i, j, k, len = links.length;
        for (i in lists)
        {
          val = $('#'+i+'-select').val();
          if (val !== '' && val !== null && val !== undefined)
            values[i] = val;
        }
        delete values.phase;
        for (j in lists)
        {
          enabledIds = {}
          if (j == listName) continue;
          for (i = 0; i < len; i++)
          {
            var f = true;
            for (k in lists)
            {
              if ((k in values) && k !== j && links[i][k] != values[k])
              {
                f = false;
                break;
              }
            }
            if (f)
            {
              enabledIds[links[i][j]] = true;
            }
          }
          if (j == 'phase' && !('stage' in values))
            $('#'+j+'-select-wrap').html('<span class="font-gray small">Выберите стадию рассмотрения</span>')
          else
            generateSelect(j, lists[j], enabledIds);
        }
      });
    }

      setListsFunction = function()
      {
      var listName;
      for (listName in lists)
      {
        if (listName != 'phase')
          setSelectChangeHandler(listName);
      }
      if ($('#instance-select').val() != '') $('#instance-select').change();
      $('#stage-select').change();
    };
    if (typeof lists != 'undefined')
      setTimeout(setListsFunction, 10);


      /*~~~~~~~~~~~~ статистика законодательного процесса ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

      $('.law-statistic-filter .hider').click(function() {
        if ($(this).hasClass('active'))
          $(this).text('показать детали');
        else
          $(this).text('скрыть детали');
        $(this).toggleClass('active');
        $('#filter-details').slideToggle();
      });

      $('.law-statistic-filter .convocation li').click(function() {

      if ($(this).hasClass('active'))
          return;

        $('.law-statistic-filter .convocation li').removeClass('active');
        $(this).addClass('active');

        $('.law-statistic-filter .convocation-years').hide();

        if ($('#filter-details').is(':hidden')) {
          $('#' + $(this).attr('id') + '-years').show();
          $('.law-statistic-filter .hider').click();
        }
        else {
          if ($.browser.msie)
            $('#' + $(this).attr('id') + '-years').show();
          else
            $('#' + $(this).attr('id') + '-years').fadeIn();
        }
      });

      /*~~~~~~Страница авторизации~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
      $('#auth_type_bitrix, #auth_type_openid, #auth_type_liveid').click(function() {
        var v = $('input[name=BX_AUTH_TYPE]:checked').val(),
            auth_types = ['bitrix', 'openid', 'liveid'];

        for(var i = 0, n = auth_types.length; i < n; i++)
          if (v == auth_types[i])
            $('#at_' + auth_types[i]).show();
          else
            $('#at_' + auth_types[i]).hide();
      });

      if ($('#main input[name=USER_LOGIN]').length && $('#main input[name=USER_LOGIN]').val().length > 0) {
        if ($('#main input[name=USER_PASSWORD]').length) {
          $('input[name=USER_PASSWORD]').focus();
        }
        else {
          $('#main input[name=USER_EMAIL]').focus();
        }
      }
      else {
        $('#main input[name=USER_LOGIN]').focus();
      }

      /*~~~~~~~~~~ фильтры на страницы список депутатов filter-table-show ~~~~~~~~~~~~~~~~~~~~*/

      $('.filter-table-show').live('click',
        function () {
          $(this).toggleClass('filter-table-show-act');

          if (($.browser.msie) && ($.browser.version == 6)) {
            if ($(this).hasClass('filter-table-show-check'))
              $(this).toggleClass('ie6-filter-sheck-act');
        if ($(this).hasClass('ie6-filter-sheck-act')) {
          $('.filter-table-shad').css('height','0')
        } else {
          $('.filter-table-shad').css('height','6px')
        };
          }
          $('.filter-table').toggleClass('filter-table-open');
        }
      );
      $('input.reset').live('click',
        function(){
          var form = $(this).closest('form');
          $('input[type=text]', form).val('');
          $('select', form).attr('selectedIndex', 0);
          $('select', form).each(function(){
            var index = $(this).attr('selectedIndex');
            var value = $('option:eq('+index+')', $(this)).html();
            $(this).prev().prev().children().children().html(value);
          });
          return false;
        }
      );

     /* ~~~~~~~~~~~~~~~~~~~  Универсальные таблицы ~~~~~~~~~~~~~~~~~~~~~*/
     var dateCurrent = new Date(),
         yearRange = '1993:' + dateCurrent.getFullYear(),
         bornYearRange = (dateCurrent.getFullYear() - 70) + ':' + (dateCurrent.getFullYear() - 16);

     $('.filter-table-conteiner input[type=text]').addClass('form-text');
      if (!isIOS) {
        $('.filter-table-conteiner select').addClass('selectbox-small');
        $('.filter-table-conteiner select').selectbox({
          inputClass: 'selectbox-small',
          containerClass: 'selectbox-small-wrapper'
        });
      }
      $('.filter-table-conteiner .calendar-field, .section-line .calendar-field, .calendar-video-conteiner .calendar-field').datepicker({
         changeMonth: true,
         changeYear: true,
         onChangeMonthYear: function(year, month, inst) {
           setTimeout(initCalendarSelects, 30);
         },
         beforeShow: function() {
           setTimeout(initCalendarSelects, 30);
         },
        showOn: 'button',
        buttonText: '',
        yearRange: yearRange,
        showAnim: $.browser.msie ? '' : 'fadeIn'
      });

      $('#smi-born-date .calendar-field').datepicker({
		 changeMonth: true,
         changeYear: true,
         onChangeMonthYear: function(year, month, inst) {
           setTimeout(initCalendarSelects, 30);
         },
         beforeShow: function() {
           setTimeout(initCalendarSelects, 30);
         },
        showOn: 'button',
        buttonText: '',
        yearRange: bornYearRange,
        showAnim: $.browser.msie ? '' : 'fadeIn'
	  });

      $('input.filter-clear').click(function()
      {
            var form = this.form;
            for(var i=0, n=form.elements.length; i<n; i++)
            {
                var el = form.elements[i];
                switch(el.type.toLowerCase())
                {
                    case 'text':
                    case 'textarea':
                        el.value = '';
                        break;
                    case 'select-one':
                        el.selectedIndex = 0;
                        break;
                    case 'select-multiple':
                        for(var j=0, l=el.options.length; j<l; j++)
                            el.options[j].selected = false;
                        break;
                    case 'checkbox':
                        el.checked = false;
                        break;
                    default:
                        break;
                }
            }

            if ($(form).hasClass('no-empty'))
            {
                manualNoEmptySubmit($(form));
            }else{
                if(form.onsubmit)
                    form.onsubmit();
                form.submit();
            }
      });
      $('.table-data th').click(function(event){
        if ($('a', $(this)).length > 0)
          window.location = $('a', $(this)).attr('href');
      });

      /*~~~~~~~~~~~~ страница поиска облако тегoв ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

      $('#link-key-words').click( function() {
        $(this).toggleClass('active');
         $('.search-tags-cloud').slideToggle(0);
      });

      /*~~~~~~~~~~ новости ~~~~~~~~~~~~~~~~~~~~*/
      $(function() {
        if ($('#datepicker_lang_en').length>0)
          $.datepicker.setDefaults($.extend($.datepicker.regional["en"]))
      });
      $("#news-datepicker").datepicker({
        defaultDate: typeof selectedDate != 'undefined' ? selectedDate : null,
        beforeShowDay: function(date) {
          return [date <= curDate, ''];
        },
        yearRange: yearRange,
        changeMonth: true,
         changeYear: true,
         onChangeMonthYear: function(year, month, inst) {
           setTimeout(initCalendarSelects, 30);
           location = newsUrl + '?date=' + (month < 10 ? '0' + month : month) + '.' + year;
         },
        onSelect: function(selectedDate) {
            var instance = $(this).data("datepicker");
            var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
            location = newsUrl + '?date=' + selectedDate;

            return false;
          }
      });

      if ($('#datepicker_lang_en').length>0)
      {
        var monthNames = {
          'January':   '01',
          'February':  '02',
          'March':     '03',
          'April':     '04',
          'May':       '05',
          'June':      '06',
          'July':      '07',
          'August':    '08',
          'September': '09',
          'October':   '10',
          'November':  '11',
          'December':  '12'
         },
         errorStr = "You have entered the date in wrong format.\nPlease enter a date in the form of «July 23, 2010»",
         patt = /^(\S+)(\s+)(\d{1,2}),(\s+)(\d{2,4})/i,
         isEngDate=true;
      }
      else
      {
        var monthNames = {
          'января':   '01',
          'февраля':  '02',
          'марта':    '03',
          'апреля':   '04',
          'мая':      '05',
          'июня':     '06',
          'июля':     '07',
          'августа':  '08',
          'сентября': '09',
          'октября':  '10',
          'ноября':   '11',
          'декабря':  '12'
         },
         errorStr = "Вы ввели дату в неверном формате.\nПожалуйста, вводите дату в виде «23 июля 2010»",
         patt = /^(\d{1,2})(\s+)(\S+)(\s+)(\d{2,4})/i,
         isEngDate=false;

         //set current date in input field
         if (typeof selectedDate != 'undefined' && selectedDate != null) {
           var nd = selectedDate.split('.');
           if (nd.length == 3) {
             for(i in monthNames) {
               if (monthNames[i] == nd[1]) {
                 nd[1] = i;
                 break;
               }
             }

             $('.news-datepicker-show-day-text input').val(nd[0] + ' ' + nd[1] + ' ' + nd[2] + ' года');
           }
         }
      }

      $('#news-datepicker-show-day').submit(function() {
        var v = $.trim($(this).find('input[type=text]').val()),
            res = patt.exec(v);
        if (res) {
          if (isEngDate)
          {
            if (monthNames[res[1]] === undefined) {
              return false;
            }
            var dt = res[3] + '.' + monthNames[res[1]] + '.' + res[5];
            location = newsUrl + '?date=' + dt;
            return false;
          }
          else
          {
            if (monthNames[res[3]] === undefined) {
              return false;
            }
            var dt = res[1] + '.' + monthNames[res[3]] + '.' + res[5];
            location = newsUrl + '?date=' + dt;
            return false;
          }
        }
        else {
          return false;
        }
      });

    /*~~~~~~~~~~ Страница раздела видео ~~~~~~~~~~~~~~~~~~~~*/
    $('.calendar-video-container .calendar-field').datepicker({
		beforeShowDay: function(date) {	return [date <= curDate, '']; },
		changeMonth: true,
        changeYear: true,
		onChangeMonthYear: function(year, month, inst) {
			setTimeout(initCalendarSelects, 30);
		},
		beforeShow: function() {
			setTimeout(initCalendarSelects, 30);
		},
        showOn: 'button',
        buttonText: '',
        yearRange: yearRange,
        showAnim: $.browser.msie ? '' : 'fadeIn'
      });

	$('#vd-calendar').submit(function() {
		var
			newLoc = $(this).attr('action'),
			dateFrom = $.trim($('#video-from').val()),
			dateTo = $.trim($('#video-to').val());
		if (0 < dateFrom.length)
			newLoc += 'date_from=' + dateFrom
		if (0 < dateFrom.length && 0 < dateTo.length)
			newLoc += '&';
		if (0 < dateTo.length)
			newLoc += 'date_to=' + dateTo;
		location = newLoc;
		return !1;
	});

	/*~~~~~~~~~~ Страница фотогалерей ~~~~~~~~~~~~~~~~~~~~*/
		$('#gl-calendar').submit(function() {
		var
			newLoc = $(this).attr('action'),
			dateFrom = $.trim($('#gallery-from').val()),
			dateTo = $.trim($('#gallery-to').val());
		if (0 < dateFrom.length)
			newLoc += 'date_from=' + dateFrom
		if (0 < dateFrom.length && 0 < dateTo.length)
			newLoc += '&';
		if (0 < dateTo.length)
			newLoc += 'date_to=' + dateTo;
		location = newLoc;
		return !1;
	});

      /*~~~~~~~~~~ блоги депутатов ~~~~~~~~~~~~~~~~~~~~*/
      $("#blog-datepicker").datepicker({
        changeMonth: true,
         changeYear: true,
         onChangeMonthYear: function(year, month, inst) {
           setTimeout(initCalendarSelects, 30);
         },
        yearRange: yearRange,
        defaultDate: typeof selectedDate != 'undefined' ? selectedDate : null,
        beforeShowDay: function(date) {
          var dateString = date.getDate() + '.' + (1 + date.getMonth()) + '.' + date.getFullYear();
          return [date <= curDate && $.inArray(dateString, blogDates) >= 0, ''];
        },
        onSelect: function(selectedDate) {
          var instance = $(this).data("datepicker");
          var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
          location = blogUrl + '?year=' + date.getFullYear() + '&month=' + date.getMonth() + '&day=' + date.getDate();

          return false;
        }

      });

      //выравнивание блоков на странице блогов
      var currentTallest = 0;
      $('ul.m-bd-blog li .item').each(function(){
        if ($(this).height() > currentTallest)
          currentTallest = $(this).height();
      });
      if (currentTallest > 0) {
        if ($.browser.msie && $.browser.version == 6.0)
          $('ul.m-bd-blog li .item').height(currentTallest);
        $('ul.m-bd-blog li .item').css({ 'min-height': currentTallest });
      }

      currentTallest = 0;
      $('.parlament-hour-item.phi-mt').each(function(){
        if ($(this).height() > currentTallest)
          currentTallest = $(this).height();
      });
      if (currentTallest > 0) {
        if ($.browser.msie && $.browser.version == 6.0)
          $('.parlament-hour-item.phi-mt').height(currentTallest);
        $('.parlament-hour-item.phi-mt').css({ 'min-height': currentTallest });
      }

      /*~~~~~~~~~~ селекты в календаре ~~~~~~~~~~~~~~~~~~~~*/
      initCalendarSelects = function() {
        var isIE6 = $.browser.msie && $.browser.version == 6;
        $('.ui-datepicker-month').selectbox({
          inputClass: 'month' + (isIE6 ? '-' : ' ') + 'selectbox-small',
          containerClass: 'month' + (isIE6 ? '-' : ' ') + 'selectbox-small-wrapper'
        });
        $('.ui-datepicker-year').selectbox({
          inputClass: 'year' + (isIE6 ? '-' : ' ') + 'selectbox-small',
          containerClass: 'year' + (isIE6 ? '-' : ' ') + 'selectbox-small-wrapper'
        });
      }
      if ($('.ui-datepicker-title').length)
        initCalendarSelects();

      /*~~~~~~~~~~ пропуск пустых значений при отправке ~~~~~~~~~~~~~~~~~~~~*/
      manualNoEmptySubmit = function(form)
      {
        var data = form.serializeArray(), i, newData = {};
        for (i = 0; i < data.length; i++)
        {
          if (data[i].value != '')
            newData[data[i].name] = data[i].value;
        }
        var href = window.location.href;
        href = href.substr(0, href.lastIndexOf("?"));
        window.location = href + '?' + $.param(newData);
      }

      $('form.no-empty').live('submit', function(){
        manualNoEmptySubmit($(this));
        return false;
      });

      $('form.no-empty input[type=submit]').live('click', function(){
        manualNoEmptySubmit($(this.form));
        return false;
      });

      /*~~~~~~~~~~~~~~~~ Переключатель биографий на странице депутата ~~~~~~~~~~~~~~~~~~~~*/
      $('.bio-header a').hover(
        function() {
          if (!$(this).hasClass('b-active')) {
            $('.bio-header b.' + $(this)[0].className).show();
            $('.bio-header b.b-active').hide();
          }
        },
        function() {
          if (!$(this).hasClass('b-active')) {
            $('.bio-header b.' + $(this)[0].className).hide();
            $('.bio-header b.b-active').show();
          }
        }
      ).click(function() {
        if (!$(this).hasClass('b-active')) {
          $('.bio-header b.b-active').hide().removeClass('b-active');
          $('.bio-header b.' + $(this)[0].className).show().addClass('b-active');

          $('.bio.b-active').removeClass('b-active').hide();

          if (!isOldIE)
            $('.bio.' + $(this)[0].className).fadeIn();
          else
            $('.bio.' + $(this)[0].className).show();
          $('.bio.' + $(this)[0].className).addClass('b-active');

          $('.bio-header a.b-active').removeClass('b-active');
          $(this).addClass('b-active');
        }

        return false;
      });

    }

    /*~~~~~~~~показать/скрыть, "добавить в закладки, добавить блок"~~~~~~~~~~~*/
    $('.add-blog a').click(function() {
      var next$ = $(this).next();
      if (next$.hasClass('add-blog-box') || next$.hasClass('add-video-box')) {
		next$.toggle();
		if (next$.hasClass('add-video-box')) {
			var curHtml = $('.add-video-iframe').html();
			$('.add-video-iframe').html(
				curHtml == ''? iframeCode: '');
		}
	  }
      $('.add-mark ul').hide();
    });
    $('.add-mark a').click(
    function() {
    //$(this).next('ul').toggle();  // i had to remove this cause ie6 doesn't understand it
    $('ul.bookmarks-list').toggle();
    $('.add-blog-box').hide();
    }
    );


    $('.param-search li').click( function() {
        var context$ = $( this ).closest( "ul" );
        $( "li" , context$ ).removeClass( "ps-act" );
        $( this ).addClass( "ps-act" );
        $('.add-blog-tab').removeClass('ab-tab-act');
        $('.add-blog-tab').eq($(this).index()).addClass('ab-tab-act');
    } );

    $('.add-blog-cod').click( function() { $(this).select(); } );

    /*~~~~~~~~~~~~~~~~~~~~ Добавление в закладки браузера ~~~~~~~~~~~~~~~~~*/
    $('li.add-brow a').click(function() {
      var ua = navigator.userAgent.toLowerCase();
      var isKonq = (ua.indexOf('konqueror')!=-1);
      var isSafari = (ua.indexOf('webkit')!=-1);
      var isMac = (ua.indexOf('mac')!=-1);
      var buttonStr = isMac ? 'Command/Cmd' : 'CTRL';
      // lets get parameters
      var url = $(this).attr('href');
      var name = $(this).attr('title');
      if(window.external && (!document.createTextNode ||
          (typeof(window.external.AddFavorite)=='unknown'))) {
          // IE4/Win generates an error when you
          // execute "typeof(window.external.AddFavorite)"
          // In IE7 the page must be from a web server, not directly from a local
          // file system, otherwise, you will get a permission denied error.
          window.external.AddFavorite(url, name); // IE/Win
        } else if(isKonq) {
          showMessage('Нажмите CTRL + B, чтобы добавить данную страницу в Избранное.', 'info');
        } else if(window.opera) {
          showMessage('Нажмите ' + buttonStr + ' + D, чтобы добавить данную страницу в Избранное.', 'info');
        } else if(window.home || isSafari) { // Firefox, Netscape, Safari, iCab
          showMessage('Нажмите ' + buttonStr + ' + D, чтобы добавить данную страницу в Избранное.', 'info');
        } else if(!window.print || isMac) { // IE5/Mac and Safari 1.0
          showMessage('Нажмите Command/Cmd + D, чтобы добавить данную страницу в Избранное.', 'info');
        } else {
          showMessage('Вам необходимо зайти в раздел Избранное вашего браузера, чтобы добавить сайт в Избранное.', 'info');
        }
      $('ul.bookmarks-list').hide();  // close da box
      return false;  // in the end: we shouldn't follow the link
    });

      /*~~~~~~~~~~~~~~~~ Закрытие слоя "Вставить в блог" на странице видео ~~~~~~~~~~~~~~~~~~~~*/
    $('div.add-blog-sub input#btn-close').click(function() {
      $('.add-blog a').click();
    });

    /* кнопка копировать */
    if ($('#btn-copy').length)
    {
      //на случай, если не работает флеш
      $('#btn-copy input').click(function() {
        showMessage('Выделите текст выше и выберите в контекстном меню браузера Копировать.', 'info')
      });

      $('#btn-copy').empty();
      swfobject.embedSWF(
        '/tpl/duma1/img/copy-button.swf',
        "btn-copy",
        "103", "20", "9.0.0","",
        {}, { allowScriptAccess: 'always', wmode: 'opaque' },
        {}
      );

      // передается во флеш-кнопку текст для копирования
      getCopiedStringForFlashButton = function() {
        return $('.add-blog-cod').val();
      }
    }
  }
  //******** IS MAIN PAGE ********
  else {
    /*~~~~~~Табы~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    var baseLocation = document.location.toString().split('#'),
		photoThumbsLoaded = !1;

    $('#tab1 li').click(
      function () {
        $('#tab1 li').removeClass('act-tab');
        $(this).addClass('act-tab');
        $('#tab1-cont .c-tabs').removeClass('c-tabs-act');
        $('#tab1-cont .c-tabs').eq($('#tab1 li').index(this)).addClass('c-tabs-act');

        location = baseLocation[0] + '#' + $(this).attr('id').replace('tab1-li-', '');

 	    // скролл на вкладке "законопроекты"
		if ($('#tab1 li').index(this)==2 && !($('.laws-table').eq(0).children().hasClass('laws-table-scroll'))) {
		  $('.laws-table').eq(0).children()
		    .addClass('laws-table-scroll')
		    .jScrollPane();
		} else if ( $( '#tab1 li' ).index(this) == 4 && photoThumbsLoaded === false) {
			// подгрузка картинок для фотогалерей
			photoThumbsLoaded = !0;
			$( '.gallery-item' ).each(function() {
				var this$ = $( this ),
					thumbId = this$.data( 'thumb-id' ),
					picPath = photoThumbs[thumbId];
				if ( picPath !== '' ) {
					$( '.gallery-preview img', this$).attr('src', picPath);
				}
			});
		}
      }
    );

	// доп-меню при наведение на заноловок вкладки "законопректы"
	$('.laws-header span').live('click', function(){
	  $(this).next()
	    .css('left',$(this).position().left-6)
		.toggle()
	});

    //если нужно открыть определенную вкладку
    if (baseLocation.length > 1)
      $('#tab1-li-' + baseLocation[1]).click();

    $('#tab2 li.real-tab a').click(
      function () {
        $('#tab2 li').removeClass('act-tab');
        $(this).parent().addClass('act-tab');
        $('#tab2-cont .tab-content').addClass('hidden');
        $('#tab2-cont .tab-content.' + $(this).attr('id')).removeClass('hidden');


        //первичная инициализация списков во вкладках
        if ($(this).attr('id') == 'deputy-fraction-tab' && curDeputatColumn.fraction == -1) {
          $('.frak-head li:first').click();
        }

        //первичная инициализация списков во вкладках
        if ($(this).attr('id') == 'deputy-comitet-tab' && curDeputatColumn.comitet == -1) {
          $('#list-comitet').jScrollPane();
          $('.list-comitet-ul li:first').click();
        }

        if ($(this).attr('id') == 'deputy-region-tab' && curDeputatColumn.region == -1) {
          //определение региона по IP и его выделение на карте
          $.get( '/s/ipgeo_l.php', function( data ) {
            //инициализация регионов
            var t = [];
            if (data != 'false' && data != 'not found' && data.length < 200)
              t = $('.list-region-ul ul li:contains("' + data + '")');

            if (!t.length)
              t = $('#list-region-31577');

            if (!t.length)
              t = $('.list-region-ul ul li:first');

            t.click();
          } );
        }

        if ($.browser.opera || $.browser.safari || $.browser.mozilla) {
          if ($(this).attr('id') == 'deputy-region-tab') {
            $('#flash-map-region').show();
          }
          else {
            $('#flash-map-region').hide();
          }
        }

        return false;
      }
    );

    /*~~~~~~списки депутатов~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    //активирует/деактивирует кнопки влево/вправо
    checkDeputatListArrows = function(idx) {
      if (curDeputatColumn[idx] == 1)
        $('.tab-content.deputy-' + idx + '-tab .deputat-nav.left').addClass('not-active-d1');
      else
        $('.tab-content.deputy-' + idx + '-tab .deputat-nav.left').removeClass('not-active-d1');

      if (curDeputatColumn[idx] == totalDeputatLi[idx])
        $('.tab-content.deputy-' + idx + '-tab .deputat-nav.right').addClass('not-active-d2');
      else
        $('.tab-content.deputy-' + idx + '-tab .deputat-nav.right').removeClass('not-active-d2');
    }

    updateDeputatListCounter = function(idx) {
      $('.tab-content.deputy-' + idx + '-tab .counter-from').text((curDeputatColumn[idx] - 1) * deputyPerColumn + 1);
      $('.tab-content.deputy-' + idx + '-tab .counter-to').text(curDeputatColumn[idx] * deputyPerColumn > deputatsCount[idx] ? deputatsCount[idx] : curDeputatColumn[idx] * deputyPerColumn);
    }

    getDeputatTabIndex = function(navObj) {
      var p = navObj.parent().parent().parent();
      if (p.hasClass('deputy-region-tab'))
        return 'region';
      if (p.hasClass('deputy-fraction-tab'))
        return 'fraction';

      return 'comitet';
    }

    //обновление списка депутатов в соответствии с выбранным фильтром
    formDeputyList = function(listType, compareCallback) {
      var dHtml = '<li><ul class="deputat-col">';

      deputatsCount[listType] = 0;
      totalDeputatLi[listType] = 1;
      for(var i = 0, j = 1, n = cDeputies.length; i < n; i++) {
        if (compareCallback(cDeputies[i])) {
          var item = cDeputies[i];

          if (j > deputyPerColumn) {
            j = 1;
            totalDeputatLi[listType]++;
            dHtml += '</ul></li><li><ul class="deputat-col">';
          }
          dHtml += '<li class="' + (j == 1 ? 'ld-first' : '') + (listType == 'fraction' ? " deputy-item-" + item.id : '') + '">'
                     + '<a href="' + item.link + '"><span>' + item.surname + '</span> ' + item.name + '</a>'
                     + '<div>' + (item.img.length ? '<img srct="' + item.img + '" src="/tpl/duma1/img/1px.gif" width="36" height="50" /><b></b>' : '')
                     + ' <a href="' + item.link + '"><span>' + item.surname + '</span> ' + item.name + '</a> <i>' + cFractions['f' + item.fraction].name + '</i></div>'
                     + '</li>';

          deputatsCount[listType]++;
          j++;
        }
      }
      dHtml += '</ul></li>';

      $('.tab-content.deputy-' + listType + '-tab .deputat-lenta')
        .empty()
        .html(dHtml)
        .animate({ left: 0 })
        ;
      $('.deputy-' + listType + '-tab.tab-content .deputat-col li').hover(
        function() {
          $(this).addClass('hover');
          //отложенная загрузка фотографий
          var im = $(this).find('img');
          if (im.attr('srct') != '')
            im.attr('src', im.attr('srct'));
            im.removeAttr('srct');
        },
        function() {
          $(this).removeClass('hover')
        }
      );

      curDeputatColumn[listType] = 1;
      $('.tab-content.deputy-' + listType + '-tab .counter-from').text(1);
      $('.tab-content.deputy-' + listType + '-tab .counter-to').text(deputyPerColumn < deputatsCount[listType] ? deputyPerColumn : deputatsCount[listType]);
      $('.tab-content.deputy-' + listType + '-tab .counter-total').text(deputatsCount[listType]);
      checkDeputatListArrows(listType);
    }

    var deputatColWidth = 223,
        deputyPerColumn = 7,
        curDeputatColumn   = { region: -1, fraction: -1, comitet: -1 },
        deputatsCount  = { region: 0, fraction: 0, comitet: 0 },
        totalDeputatLi = { region: 0, fraction: 0, comitet: 0 };

    $('.deputat-nav.left').click(function() {
      if ($(this).hasClass('not-active-d1'))
        return;

      var idx = getDeputatTabIndex($(this));

      curDeputatColumn[idx]--;
      checkDeputatListArrows(idx);

      $('.tab-content.deputy-' + idx + '-tab .deputat-lenta').animate({ left: '+=' + deputatColWidth + 'px' }, function() {
        updateDeputatListCounter(idx);
      });
    });

    $('.deputat-nav.right').click(function() {
      if ($(this).hasClass('not-active-d2'))
        return;

      var idx = getDeputatTabIndex($(this));

      curDeputatColumn[idx]++;
      checkDeputatListArrows(idx);

      $('.tab-content.deputy-' + idx + '-tab .deputat-lenta').animate({ left: '-=' + deputatColWidth + 'px' }, function() {
        updateDeputatListCounter(idx);
      });
    });

    /*~~~~~~регионы~~~~~~~~~~~~~~~~*/

    var selectedRegionId = 0;

    $('.region_head li a').click(
      function () {
        $('.region_head li').removeClass('rh_act');
        $(this).parent().addClass('rh_act');
        $('.region-tab').addClass('hidden');
        var cIndex = $('.region_head li a').index(this),
            c = $('.region-tab').eq(cIndex);

        if ($.browser.safari || $.browser.opera || $.browser.mozilla) {
          if (cIndex)
            $('#flash-map-region').hide();
          else
            $('#flash-map-region').show();
        }
        c.removeClass('hidden');
        return false;
      }
    );

    formRegionDeputyList = function( selRegId ) {
        var regId = typeof selRegId === 'undefined'?
            selectedRegionId : selRegId;

      formDeputyList('region', function(v) {
        return $.inArray(regId, v.regions) >= 0;
      });
    }

    //выбор региона из списка
    $('.list-region-ul ul li').click(function(e) {
      var lId = $(this).attr('id');
      if (lId.length)
        selectedRegionId = parseInt(lId.replace('list-region-', ''), 10);

      $('.list-region-ul ul li').removeClass('active');
      $(this).addClass('active');

      formRegionDeputyList();
      if ( gdMap !== null )
        gdMap.changeRegion( selectedRegionId );

      if (e.cancelBubble != undefined)
        e.cancelBubble = true;
      if (e.stopPropagation)
        e.stopPropagation();

      return false;
    });

    //скрываем/раскрываем округа
    $('.list-region-ul > li').click(
      function () {
        $(this).toggleClass('list-region-act');
         $('#list-region').jScrollPane();
      }
    );

    /*~~~~~~фракции~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

//    var arrayPlace=['pf-blue','pf-red','pf-yellow','pf-green'];
    if ($('#lang_en').length>0)
      var arrayPlace=['af-red','af-green','af-yellow','af-blue'];
    else
      var arrayPlace=['af-blue','af-red','af-yellow','af-green'];

    $('.frak-head li').click(
      function() {
        var color = arrayPlace[$(this).index()];
        $('.frak-head li').removeClass('frak-head-check');
        $(this).addClass('frak-head-check');

        if ($('#place-frak-img')[0])
          $('#place-frak-img')[0].className = color;
/*
        //работа со схемой из отдельных мест
        $('.pf-item.' + color)
          .addClass(color + '-active');
        var o = $('.pf-item.not-' + color);
        for(var j = 0; j < arrayPlace.length; j++)
          if (arrayPlace[j] != color)
            o.removeClass(arrayPlace[j] + '-active');
*/

        var selectedId = parseInt($(this).attr('id').replace('frak-', ''), 10);
        if (selectedId <= 0)
          return false;

        $('.frak-link a').attr('href', cFractions['f' + selectedId].url);

        formDeputyList('fraction', function(v) {
          return selectedId == v.fraction;
        });
      }
    );

    /*~~~~~~клик по схеме~~~~~*/

    $('#place-frak-img').click(function(event) {
      var off = $(this).offset(),
          x = parseInt(event.pageX - off.left, 10), y = parseInt(event.pageY - off.top, 10);
      if ($('#lang_en').length>0)
      {
        //единая россия
        var factionId = 139131;
        //справедливая россия
        if ((y >= 112 && x >= 309) || (y <= 112 && x >= 295))
          factionId = 139132;
        //кпрф
        if ((y >= 112 && x < 102) || (y <= 112 && x <= 51))
          factionId = 139129;
        //лдпр
        if ((y < 25 && x >= 32 && x <= 49) || (x > 50 && x <= 154 && y > 43 && y < 112) || (x > 154 && x < 206 && y > 56 && y < 112))
          factionId = 139130;
      }
      else
      {
        //единая россия
        var factionId = 131017;
        //справедливая россия
        if ((y > 112 && x >= 309) || (y <= 112 && x >= 295))
          factionId = 131018;
        //кпрф
        if ((y > 112 && x < 102) || (y <= 112 && x <= 51))
          factionId = 131015;
        //лдпр
        if ((y < 25 && x >= 32 && x <= 49) || (x > 50 && x <= 154 && y > 43 && y < 112) || (x > 154 && x < 206 && y > 56 && y < 112))
          factionId = 131016;
      }

      $('#frak-' + factionId).click();
    });

    /*~~~~~~комитеты~~~~~~~~~~~~~~~~*/

    //выбор комитета
    $('.list-comitet-ul li').click(function() {
      var selectedId = parseInt($(this).attr('id').replace('committee-', ''), 10);
      if (selectedId <= 0)
        return false;

      $('.list-comitet-ul li').removeClass('active');
      $(this).addClass('active');

      formDeputyList('comitet', function(v) {
        return $.inArray(selectedId, v.committees) >= 0;
      });
    });

    //в старом ие инициализируем комитеты
    if (isOldIE) {
      curDeputatColumn.comitet = 1;
      $('#list-comitet').jScrollPane();
      $('.list-comitet-ul li:first').click();
    }
    else {  // так как регионы пока отсутствуют - активируем фракции
      curDeputatColumn.fraction = 1;
    $('#tab2 li.real-tab a').click();
    $('.frak-head li:first').click();
    }

    /*~~~~~~~~~~~~ вывод законопроектов на главной ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    $('.laws-filter.homepage li').click(function() {

      if ($(this).hasClass('laws-filter-act'))
        return;

      $('.laws-filter.homepage li').removeClass('laws-filter-act');
      $(this).addClass('laws-filter-act');

      $('.laws-table').hide();

      if ($.browser.msie)
        $('#' + $(this).attr('id') + '-laws').show();
      else
        $('#' + $(this).attr('id') + '-laws').fadeIn();

 	  // скролл на вкладке "законопроекты"
	  if (!($('.laws-table').eq($('.laws-filter.homepage li').index(this)).children().hasClass('laws-table-scroll')))
		  $('.laws-table').eq($('.laws-filter.homepage li').index(this)).children()
		    .addClass('laws-table-scroll')
		    .jScrollPane();
    });

    /*~~~~~~~~~~ hover для ие6 ~~~~~~~~~~~~~~~~~~~~*/
    $('.list-region-ul li,.list-comitet-ul li,.list-region-ul li a,.table-data th').hover(
      function() {
        $(this).addClass('ie6-hover');
      },
      function() {
        $(this).removeClass('ie6-hover');
      }
    );
  }

  // Табы для графиков
  $('.tabs-grafik li').click(
    function () {
      var p = $(this).parent().parent();
      $('li', p).removeClass('act-tab');
      $(this).addClass('act-tab');
      $('.c-tabs',p).removeClass('c-tabs-act');
      $('.c-tabs',p).eq($('li', p).index(this)).addClass('c-tabs-act');
    }
  );

  // Табы как на страницы депутатов
  $('.tab-2-nave li').click(
    function () {
      var p = $(this).parent().parent();
      $('li',p).removeClass('act-tab-2');
      $(this).addClass('act-tab-2');
      $('.c-tab-2',p).removeClass('c-tab-2-act');
      $('.c-tab-2',p).eq($('li', p).index(this)).addClass('c-tab-2-act');
    }
  );
  // преключатель "обьекты недвижимости" на страницы депутаты
  $('.param-search li').click(
    function () {
      var p = $(this).parent().parent();
      $('.ps-2-tab',p).removeClass('ps-2-tab-act');
      $('.ps-2-tab',p).eq($('li', p).index(this)).addClass('ps-2-tab-act');
    }
  );

  // подсветка нечетных строк в таблицах data-2
  $('.data-2-has-even').each(
    function (i) {
    $(this).find('tr:even td').addClass('data-2-td-even');
  }
  );
    // вкладки в таблицы на страницы финансы депутатов
    $( ".table-tabs li" ).click( function () {
        var this$ = $ ( this ),
            curIdx = this$.attr( "id" ).split( "-" ).pop();
        $( ".table-tabs li" ).removeClass( "table-tab-act" );
        this$.addClass( "table-tab-act" );
        $( ".for-tabs-1, .for-tabs-2, .for-tabs-3, .for-tabs-4" ).removeClass( "for-tabs-act" );
        $( ".for-tabs-" + curIdx ).addClass( "for-tabs-act" );
        $( ".table-in-td" )
            .removeClass( "tit-bg-2 tit-bg-3" );
        var classToAdd = $( this ).data( "class-add" );
        if ('' !== classToAdd)
            $( ".table-in-td" ).addClass( classToAdd );
        // для фиксации шапки таблицы(финанcы депутатов)
        if (eInd>0) {
            var prevElH=448,el1=$('#financy-table tr:not(td table tr)');
            for (i=0;i<eInd+1;i++)
                prevElH=prevElH+el1.eq(i).height();
            $(window).scrollTop(eSc+(prevElH-aElH));
        };
        return false;
    } );

  // прижимаем шапку основной таблицы к верху
  if ($('#main').hasClass('p-financy-table') && $('#financy-table').length!=0) {
    var dScroll=$(document).scrollTop(),
      eOffset=$('#financy-table').offset().top-132,
    eHeight=$('#financy-table').height();
    if (dScroll>eOffset&&dScroll<eOffset+eHeight)
      $('#financy-table-head-shad,.table-data-head').addClass('scroll-top')
  else
    $('#financy-table-head-shad,.table-data-head').removeClass('scroll-top');
  }

  // страница депутатов, скрыть\показать таблицу с финансами депутатов
  $( ".deput-finance-arw, .deput-finance-sh .header3-shadow" ).click( function () {
    var contxt$ = $( this ).closest( "div.page-deputat" );
    $( ".deput-finance-arw", contxt$).toggleClass( "deput-finance-arw-act" );
    $( ".deput-finance-sh", contxt$).toggleClass( "deput-finance-sh-act" );
  } );

  // сокрытие полей формы
  var fieldId = $('input[name=radio]:radio:checked').val();
  if ($('input[name=radio]:radio').length) activateFields(fieldId);

  $('input[name=radio]:radio').click(function() {
    fieldId = $(this).val();
    activateFields(fieldId);
  });

  // активация и деактивация полей формы
  function activateFields(fieldId) {
    $.each(arAllFields, function(i, n) {
      $('#' + n).show();
      $('#label_' + n).show();
    });
    $.each(objRadio[fieldId] ,function(i, n) {
      $('#' + n).hide();
      $('#label_' + n).hide();
    });
  }

  // ховер в ссылках deputy-link для ie6
  if (isIE6) {
    $('.deputy-popup').hover(
      function() {
		$(this).children('.deputy-popup-content')
		  .show()
      },
      function() {
		$(this).children('.deputy-popup-content')
		  .hide()
      }
    )
  };


  /* события при поиске по введенным символам */
  var searchField$ = $( "#block-loc-search-text" );
  if ( 0 < searchField$.length ) {
    var inputEvent = $.browser.msie ? 'keyup' : 'input',
        regionIdField$ = $( "#region-id" ),
        autocomplete$ = $( "#regions-autocomplete" ),
        timeoutId = false,
        ajaxInProgress = false;
    searchField$.live( inputEvent , function() {
      if ( !ajaxInProgress ) {
        if ( timeoutId )
          clearTimeout( timeoutId );
        var qText = $.trim( searchField$.val() );
        if ( 2 < qText.length ) {
          ajaxInProgress = true;
          $.ajax( {
            url: "/s/autocomplete_location.php",
            data: { locationQuery: qText },
            dataType: "json",
            success: function(data) {
              var lis = "";
              if ( 0 < data.length ) {
                $.each( data , function( i, e ) {
                    lis += "<li data-select-name='" + e.select_name + "' data-region-id='" + e.region_id + "'>" + e.name + "</li>" ;
                } );
              } else {
                lis = "<li data-region-id='0'>По запросу " + qText + " ничего не найдено.</li>";
              }
              $( 'ul', autocomplete$ ).html( lis );
              $( autocomplete$ ).show();
              ajaxInProgress = false;
              if ( data.length < 1) {
                timeoutId = setTimeout(function() { $( autocomplete$ ).hide(); }, 3500);
              }
            },
            error: function() {
              ajaxInProgress = false;
              var lis = "<li data-region-id='0'><b>Поиск по населенному пункту недоступен.</b></li>";
              $( 'ul', autocomplete$ ).html( lis );
              $( autocomplete$ ).show();
              timeoutId = setTimeout(function() { $( autocomplete$ ).hide(); }, 3500);
            }
          } );
        } else if ( qText.length === 0 ) {
            regionIdField$.val( "" );
        }
      }

      return !1;
    } );

    $( 'li' , autocomplete$ ).live( 'click' , function () {
      var regionId = $.trim( $( this ).data( "region-id" ) ),
        locName = $.trim( $( this ).data( "select-name") );

      if ( '' !== locName && 0 < regionId) {
        searchField$.val( locName );
        regionIdField$.val( regionId );
        autocomplete$.hide();
      }
    } );

    $( 'li' , autocomplete$ ).live( 'hover' , function() {
        $( this ).toggleClass( "current" );
    } );

    $( "#example_location" ).click( function() {
      if ( 0 < searchField$.length && 0 < regionIdField$.length ) {
        var this$ = $ ( this );
            regionId = this$.data( "region-id" ),
            regionName = $.trim( this$.text() );
        if ( '' !== regionName ) {
            searchField$.val( regionName );
            regionIdField$.val( regionId );
        }
      }

      return !1;
    } );

    $( "#block-loc-search" ).submit( function() {
        var locName = $.trim( searchField$.val() );

        return 0 < locName.length;
    } );
  }

  var mtTableObj = {
    requestDone: false,
    requestInProgress: false,
    lb$: false,
    lbc$: false,
    showTable: function( bodyObj$ ) {
      $('.content-text').css( { 'position': 'absolute' } );
      bodyObj$.css('overflow', 'hidden');
      if (isOldIE) {
        this.lb$.show();
        this.lbc$.show();
        if (($.browser.msie) && ($.browser.version == 6)) {
            this.lbc$.css({ top: $(window).scrollTop() + 20 })
                .width($(window).width() - 40)
                .height($(window).height() - 40);
            $('.content-text', this.lbc$)
                .width(this.lbc.width() - 20)
                .height(this.lbc.height() - 51);
        }
      } else {
        this.lb$.fadeIn();
        this.lbc$.fadeIn();
      }
      $( window ).resize();
    }
  }
  $( "#showMTTable" ).click( function () {
        var this$ = $ ( this ),
            actionUrl = this$.attr( "href" ),
            body$ = $( 'body' ),
            title = $( '#mTTableHeader' ).text(),
            curTxt = this$.text(),
            replaceTetxtAttr = "replace-text";

        if ( '' !== actionUrl && !mtTableObj.requestDone ) {
            if ( !mtTableObj.requestInProgress ) {
                mtTableObj.requestInProgress = !0;
                this$.text( this$.data( replaceTetxtAttr ) );
                this$.data( replaceTetxtAttr , curTxt );
                $.get( actionUrl, function( data ) {
                    mtTableObj.lb$ = $( '<div class="light-box"></div>' ).appendTo( body$ ),
                    mtTableObj.lbc$ = $('<div class="light-box-content">' +
                        '<div class="add-param-head"><div class="l"><div class="r">' + title + '</div></div></div>' +
                        '<div class="popup-close light-box-close"><span class="popup-close-text">закрыть окно</span><span class="popup-close-ico"></span></div>' +
                        '<a class="popup-print" title="Версия для печати" target="_blank" href="' + this$.data( 'print-link' )  + '"></a><div class="content-text"></div>' +
                        '</div>').appendTo( body$ );

                    if ( $.browser.msie )
                        mtTableObj.lb$.css( { opacity: 0.2 } );

                    $( '.content-text' ).html( data ).css( {
                        'top': $('.add-param-head').height() + 40,
                        'left': 0,
                        'right': 5,
                        'bottom': 15
                    } );

                    mtTableObj.showTable( body$ );
                    mtTableObj.requestInProgress = !1;
                    curTxt = this$.text();
                    this$.text( this$.data( replaceTetxtAttr ) );
                    this$.data( replaceTetxtAttr , curTxt );

                    $('.light-box-close', mtTableObj.lbc$).click(function() {
                        body$.css('overflow','auto');
                        $('.content-text').css( {
                            'position': 'static',
                            'width': 'auto'
                        } );
                        mtTableObj.lbc$.hide();
                        mtTableObj.lb$.fadeOut();
                    });
                } , "html" );
                mtTableObj.requestDone = true;
            }
        } else {
            mtTableObj.showTable( body$ );
        }

        return !1;
    } );

    function setCookie(name, value, expires, path, domain, secure) {
        if (!expires) {
            var exdate = new Date();
            exdate.setTime(exdate.getTime() + 60 * 60 * 24 * 30);
            expires = exdate.toUTCString();
        }
        document.cookie = name + "=" + escape(value) +
            ((expires) ? "; expires=" + expires : "") +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "");
    }

    infoPopup$ = $( '#info_popup_lb' );
    if ( 0 < infoPopup$.length ) {
        var ipLbc$ = $( "#info_popup_lbc" ),
            ipLbcW = $( "#info_popup_lbc" ).width(),
            winW = $( window ).width();

        $( "#info_popup_txt" ).css( { 'position': 'absolute' } );
        ipLbc$.css( { "left" : ( ( winW - ipLbcW ) / 2 ) + "px" } );
        $( window ).resize();

        $( "#close_info_popup" ).click( function () {
            var lastUpdated = ipLbc$.data( "last-updated" );
            $( "#info_popup_lb, #info_popup_lbc" ).hide().remove();
            setCookie("showIndexPopup", lastUpdated, false, "/");
        } );
    }

}); //end

var aElH=0,eInd=0,eSc;
$(window).scroll(
  function() {
    if ($('#main').hasClass('p-financy-table') && $('#financy-table').length!=0) {
      // прижимаем шапку основной таблицы к верху
    var dScroll=$(document).scrollTop(),
      eOffset=$('#financy-table').offset().top-132,
    eHeight=$('#financy-table').height();
      if (dScroll>eOffset&&dScroll<eOffset+eHeight)
        $('#financy-table-head-shad,.table-data-head').addClass('scroll-top')
    else
      $('#financy-table-head-shad,.table-data-head').removeClass('scroll-top');
    };

    // для фиксации шапки таблицы(финанcы депутатов)
  var elH=448,el=$('#financy-table tr:not(td table tr)');
    for (i=0;i<el.length;i++) {
    elH=elH+el.eq(i).height();
    if ((elH)>$(window).scrollTop()) {
      eInd=i;
    break;
    }
    }
  aElH=elH;
  eSc=$(window).scrollTop();
  }
);

$(window).resize(function() {
    if ($('.light-box-content').length > 0 && $('.light-box-content').css('display')!='none') {
        $('.content-text').css({
	    'top': $('.add-param-head').height() + 5
    	});
    }
});

