(function($){
  //спец параметр, котрый будет передавться на сервер в случае если это AJAX запрос
  var ax = 'ax=1';
  //определение АЯКС фильтра ссылок 
  $.Filter.add({url:'*', id:'flax', params:ax});
  
  //определение "волшебной" модели запроса один-ко-многим 
  $.Model2Blocks['flax'] = {
      'block1':'info',
      'block2':'content'
  }
  
  //определение настроек для ЧПУ - преобразования АЯКС ссылок в удобочитаемый вид
  $.linkEqual[':ax:flax:/index.php[~q~]item='] = ':';
  $.linkEqual['&'+ax] = '.html';
   
  //#:ax:flax:/pages/content.php[~q~]id=page1.html&ax=1
  
  var info = $.Fx('info'), content = $.Fx('content'), delta = window.innerWidth || document.documentElement.clientWidth,
  curAx = $.parseAxHash($.getHash()), isDirectLink = 0;
  
  //для уcтранения эффекта промаргивания при прямых АЯКС ссылках
  //при наличии прямой АЯКС ссылки - временное "прятание" блоков, куда будет всавлен новый контент  
  if (curAx['flax']) {
      $.addCss('#info,#content{display:none}');
      isDirectLink = 1;
  }
  
  //Опредеение эффекта смены контента
  $.Effect.add({id:'flax',
      start:function(id, request){
          if (isDirectLink) request(); else {
              info.anim({left:delta, cb:request, d:0.5});
              content.anim({right:delta, d:0.5});
          }
      },
      end:function(id){    
          if (isDirectLink) {
              //для уcтранения эффекта промаргивания при прямых АЯКС ссылках
              //при наличии прямой АЯКС ссылки - после загрузки контента АЯКС ссылки отображаем предвариельно спрятанные блоки             
              isDirectLink = 0;
              $.addCss('#info,#content{display:block}');
          } else {
              info.anim({left:0, d:0.5});
              content.anim({right:0, d:0.5});
          }                 
      }
  })

  $.onReady(function(){
    
      var as = id('menu').getElementsByTagName('a'), curSel = as[0];
      //Обработка клика по ссылке Home
      curSel.href = "#";
      curSel.onclick = function(){}
      
      //функция для выделения текщуего пункта меню
      $.Html.on('flax', 'load', function(ops){
          curSel.className = curSel.className.replaceAll('selected', '').replaceAll('  ', ' ');
          curSel = as[0];
          for (var i = 0, l = as.length; i < l; i++){          
              if ($.delHost(as[i].href).indexOf(ops.url.replace('&'+ax,'')) > -1){
                  curSel = as[i];     
                  break;
              }
          }
          curSel.className += ' selected';
      })
      
      //отключение повторного запроса страницы которая отображается в текущий момент (последняя)
      $.Html.on('flax', 'beforerequest', function(ops){
          var hist = ops.thread.history, current = hist.storage[hist.current];
          return current ? current[0].replace('&'+ax,'') != ops.url : true;
      })
  })
  
  //Включение функции обработки прямых АЯКС ссылок 
  $.directLink();
})(FLAX)