(function() {

  var Greyscale = {
    convert : function(element) {
      if (element.get('original_src')) return element;

      var canvas = document.createElement('canvas');
      var canvasContext = canvas.getContext('2d');

      var imgW = element.width;
      var imgH = element.height;
      canvas.width = imgW;
      canvas.height = imgH;
      canvasContext.drawImage(element, 0, 0);

      var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);

      for(var y = 0; y < imgPixels.height; y++){
        for(var x = 0; x < imgPixels.width; x++){
          var i = (y * 4) * imgPixels.width + x * 4;
          var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
          imgPixels.data[i] = avg;
          imgPixels.data[i + 1] = avg;
          imgPixels.data[i + 2] = avg;
        }
      }
      canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);

      url = canvas.toDataURL();

      $(element).set('original_src', $(element).get('src'));
      $(element).set('greyscale_src', url);
      $(element).set('src', url);
      return element;
    }
  };

  Element.implement({
    toGreyscale: function() {
      if (this.get('tag') != 'img') return element;

      if (Browser.Engine.trident)
      {
        return this.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
      } else {
        if (!!document.createElement('canvas').getContext)
        {
          if (this.get('greyscale_src')) {
            return this.set('src', this.get('greyscale_src'))
          } else {
            return Greyscale.convert(this);
          }
        }
        return this;
      }
    },
    toSaturated: function() {
      if (this.get('tag') != 'img') return element;

      if (Browser.Engine.trident)
      {
        return this.style.filter = '';
      } else {
        if (!!document.createElement('canvas').getContext && this.get('original_src'))
        {
          return this.set('src', this.get('original_src'));
        }
        return this;
      }
    }
  });
})();

window.addEvent('domready', function(){

  /* Slideshow */

  try {

    var slideWidth = 900;
    var numberOfSlides = $$('#slide-wrapper .slide').length; //number of slides
    var slides = $$('#slide-wrapper .slide');
    var sumWidth = slideWidth * (numberOfSlides - 2); //slide wrapper width
    var clic = 1; //current slide
    var active_button =true;
    if ($('slideshow-index')) {


      $('arrow-next-index').addEvent('click', function(){
        if(active_button == false){
          return;
        }else{
          active_button = false;
          for(var y = 0; y <= numberOfSlides-1; y++) {


            var leftPosition = slides[y].getStyle('left');
            slides[y].tween('left', parseInt(leftPosition) - slideWidth);
            slides[y].get('tween').addEvent('complete',function(){
              active_button = true;
            });
            slides[y].setStyle('z-index', parseInt(leftPosition) - slideWidth);
            if (parseInt(leftPosition) <= -slideWidth) {
              slides[y].tween('left', sumWidth);
              slides[y].setStyle('z-index', -sumWidth);
            }
          }
        }
      });

      $('arrow-prev-index').addEvent('click', function(){
        if(active_button == false){
          return;
        }else{
          active_button = false;
          for(var y = 0; y <= numberOfSlides-1; y++) {

            var leftPosition = slides[y].getStyle('left');
            leftPosition =  Math.floor(parseInt(leftPosition)/900)*900;
            slides[y].tween('left', parseInt(leftPosition) + slideWidth);
            slides[y].get('tween').addEvent('complete',function(){
              active_button = true;
            });

            slides[y].setStyle('z-index', parseInt(leftPosition)+ slideWidth);
            if (parseInt(leftPosition) >= sumWidth) {
              slides[y].tween('left', -slideWidth);
              slides[y].setStyle('z-index', -slideWidth);
            }
          }
        }
      });

      var next = function() {
        $('arrow-next-index').fireEvent('click');
      }
      next.periodical(5000);
    }
  } catch(e){}


  /* Slideshow on Inner page */

  try {

    var slideWidthInner = 753;
    var numberOfSlidesInner = $$('#slide-wrapper-inner .slide-inner').length; //number of slides
    var slidesInner = $$('#slide-wrapper-inner .slide-inner');
    var sumWidthInner = slideWidthInner * (numberOfSlidesInner - 2); //slide wrapper width
    var clicInner = 1; //current slide
    var active_buttonInner =true;
    if ($('slideshow-inner')) {


      $('arrow-next-inner').addEvent('click', function(){
        if(active_buttonInner == false){
          return;
        }else{
          active_buttonInner = false;
          for(var y = 0; y <= numberOfSlidesInner-1; y++) {


            var leftPosition = slidesInner[y].getStyle('left');
            slidesInner[y].tween('left', parseInt(leftPosition) - slideWidthInner);
            slidesInner[y].get('tween').addEvent('complete',function(){
              active_buttonInner = true;
            });
            slidesInner[y].setStyle('z-index', parseInt(leftPosition) - slideWidthInner);
            if (parseInt(leftPosition) <= -slideWidthInner) {
              slidesInner[y].tween('left', sumWidthInner);
              slidesInner[y].setStyle('z-index', -sumWidthInner);
            }
          }
        }
      });

//      $('arrow-prev-inner').addEvent('click', function(){
//        if(active_buttonInner == false){
//          return;
//        }else{
//          active_buttonInner = false;
//          for(var y = 0; y <= numberOfSlides-1; y++) {
//
//            var leftPositionInner = slidesInner[y].getStyle('left');
//            leftPositionInner =  Math.floor(parseInt(leftPositionInner)/753)*753;
//            slidesInner[y].tween('left', parseInt(leftPositionInner) + slideWidthInner);
//            slidesInner[y].get('tween').addEvent('complete',function(){
//              active_buttonInner = true;
//            });
//
//            slidesInner[y].setStyle('z-index', parseInt(leftPositionInner)+ slideWidthInner);
//            if (parseInt(leftPositionInner) >= sumWidthInner) {
//              slidesInner[y].tween('left', -slideWidthInner);
//              slidesInner[y].setStyle('z-index', -slideWidthInner);
//            }
//          }
//        }
//      });

      var nextInner = function() {
        $('arrow-next-inner').fireEvent('click');
      }
      nextInner.periodical(5000);
    }
  } catch(e){}

  try {
    $$('.main-content .w-text')[0].addClass('content-text');
    $$('.main-content .w-text')[1].addClass('w-text-center');

  } catch(e){}

  /* Module History */

  try {
    if(_['history']) {

      var History = new Hash({
        yearFrom: 2001,
        yearTo: 2015,
        history: new Hash(_['history']),
        ruler: $('history-graph-ruler'),
        companies: $('history-graph-companies'),
        content: $('history-graph-content'),
        nav: $('history-graph-nav'),

        // method poses History to an aimed state
        goto: function(year) {
          this.poseRuler(year);
          this.buildCompanies(year);
          this.buildNavigator(year);
          return this;
        },


        // method build Ruler and bind events
        buildRuler: function(){
          var _this_ = this;
          for (var i = this.yearFrom; i <= this.yearTo; i++) {
            new Element( (i%10 == 0) ? 'h4' : (i%5 == 0) ? 'h5' :'h6', {
              'class': (this.history[i]) ? 'enabled' : 'disabled',
              'title': i,
              'html': '<span>'+ i +'</span><strong>'+ i +'</strong>',
              events: {
                'click': function(){
                  if (this.hasClass('enabled')) {
                    var year = this.get('title').toInt();
                    _this_.goto(year, null);
                  }
                  return this;
                }
              }
            })
            .inject(this.ruler);
          }
          return this;
        },


        // method pose Ruler's Pointer
        poseRuler: function(year){
          this.ruler.getElements('h4, h5, h6').removeClass('this');
          this.ruler.getElements('[title="'+ year +'"]').addClass('this');
          return this;
        },


        // method build Companies
        buildCompanies: function(year){
          var _this_ = this;
          var companies = new Hash(_this_.history[year]);

          // 1. Clear old content
          this.companies.empty();

          // 2. Create Year
          this.companies.set('html', '<h2>'+ year +'</h2>');

          // 3. For each company Create Link wrapped by DIV
          companies.each(function(companyObj){
            new Element('div', {
              'class': (_this_.history[year].image) ? 'img' : 'noimg'
            }).wraps(
              new Element('a', {
                'href': '#',
                'html': companyObj.company,
                events: {
                  'click': function(){
                    _this_.companies.getElements('a').removeClass('this');
                    this.addClass('this');
                    _this_.buildContent(year);
                    return false;
                  }
                }
              }).inject(_this_.companies)
              );
          });

          // 4. Call buildContent
          return this.buildContent(year);
        },


        // method build Content
        buildContent: function(year){
          var _this_ = this;
          var image = this.history[year].image;
          var title = this.history[year].title;
          var content = this.history[year].content;

          // 1. Clear old content
          this.content.empty();

          // 2. Add Image
          if (image) {
            new Element('img', {
              'src': image
            }).inject(this.content);
          }

          // 3. Add Caption
          if (title) {
            new Element('h3', {
              'html': title
            }).inject(this.content);
          }

          // 4. Add Content
          if (content) {
            new Element('div', {
              'html': content
            }).inject(this.content);
          }

          return this;
        },


        // method build Navigator
        buildNavigator: function(year){
          var _this_ = this;
          var years = this.history.getKeys();
          var yearIndex = years.indexOf(year.toString());
          var yearPrevious = (yearIndex == 0) ? null : years[yearIndex-1] ;
          var yearNext = (yearIndex == years.length-1) ? null : years[yearIndex+1] ;

          // 1. Clear old content
          this.nav.empty();

          // 2. Add Previous button
          if (yearPrevious) {
            new Element('a', {
              'href': '#',
              'class': 'previous',
              'html': yearPrevious,
              events: {
                'click': function(){
                  _this_.goto(yearPrevious, null);
                  return false;
                }
              }
            }).inject(this.nav);
          }

          // 3. Add Next button
          if (yearNext) {
            new Element('a', {
              'href': '#',
              'class': 'next',
              'html': yearNext,
              events: {
                'click': function(){
                  _this_.goto(yearNext, null);
                  return false;
                }
              }
            }).inject(this.nav);
          }

          return this;
        },


        // Call function GOTO with initial parameters
        init: function() {
          var firstYear = this.history.getKeys()[0];
          var companies = new Hash(this.history[firstYear]);
          var firstYearCompany = companies.getKeys()[0];
          this.buildRuler();
          return this.goto(firstYear, firstYearCompany);
        }
      });
      History.init();

    }
  } catch(e){}


  /* News list */

  try {
    $$('.item-date-news')[0].setStyle('background-image','url(../design/img/index.time.bg.active.png)')
    $$('')
    $$('.item-date-news').addEvent('click',function(){
      $$('#news-list-index article').setStyle('display','none')
      $(this).getNext().setStyle('display','block')
      $$('.item-date-news').setStyle('background-image','url(../design/img/index.time.bg.disabled.png)')
      $(this).setStyle('background-image','url(../design/img/index.time.bg.active.png)')

    });

  } catch(e){}


  /* Facts and figures */
  /*Remove H3 right 1-st widjet*/
  try {
    $$('h3').each(function(item,i){
      if(item.get('text') == 'Video dly skachivaniy'){
        item.getPrevious().destroy();
        item.getParent().setStyles({
          background:'none',
          border:'0 solid #ffffff',
          padding:'10px 15px 2px 25px'
        });
        item.destroy();
      }
    })
  $$('h3').each(function(item,i){
    if(item.get('text') =='Strategiy razvitiy'){
      item.destroy();
    }
  })
} catch(e){}


});

try {
  function slide1(){
    $('slidecontent1').setStyle('display','block');
    $('slidecontent2').setStyle('display','none');
    $('slidecontent3').setStyle('display','none');
    $('slidecontent4').setStyle('display','none');
    $('slidecontent5').setStyle('display','none');
    $$('.pointeractive')[0].setStyle('background-image','url(/design/img/Pointer.png)');
    $$('.pointeractive')[1].setStyle('background-image','');
    $$('.pointeractive')[2].setStyle('background-image','');
    $$('.pointeractive')[3].setStyle('background-image','');
    $$('.pointeractive')[4].setStyle('background-image','');
  };
  function slide2(){
    $('slidecontent1').setStyle('display','none');
    $('slidecontent2').setStyle('display','block');
    $('slidecontent3').setStyle('display','none');
    $('slidecontent4').setStyle('display','none');
    $('slidecontent5').setStyle('display','none');
    $$('.pointeractive')[0].setStyle('background-image','');
    $$('.pointeractive')[1].setStyle('background-image','url(/design/img/Pointer.png)');
    $$('.pointeractive')[2].setStyle('background-image','');
    $$('.pointeractive')[3].setStyle('background-image','');
    $$('.pointeractive')[4].setStyle('background-image','');
  };
  function slide3(){
    $('slidecontent1').setStyle('display','none');
    $('slidecontent2').setStyle('display','none');
    $('slidecontent3').setStyle('display','block');
    $('slidecontent4').setStyle('display','none');
    $('slidecontent5').setStyle('display','none');
    $$('.pointeractive')[0].setStyle('background-image','');
    $$('.pointeractive')[1].setStyle('background-image','');
    $$('.pointeractive')[2].setStyle('background-image','url(/design/img/Pointer.png)');
    $$('.pointeractive')[3].setStyle('background-image','');
    $$('.pointeractive')[4].setStyle('background-image','');
  };
  function slide4(){
    $('slidecontent1').setStyle('display','none');
    $('slidecontent2').setStyle('display','none');
    $('slidecontent3').setStyle('display','none');
    $('slidecontent4').setStyle('display','block');
    $('slidecontent5').setStyle('display','none');
    $$('.pointeractive')[0].setStyle('background-image','');
    $$('.pointeractive')[1].setStyle('background-image','');
    $$('.pointeractive')[2].setStyle('background-image','');
    $$('.pointeractive')[3].setStyle('background-image','url(/design/img/Pointer.png)');
    $$('.pointeractive')[4].setStyle('background-image','');
  };
    function slide5(){
    $('slidecontent1').setStyle('display','none');
    $('slidecontent2').setStyle('display','none');
    $('slidecontent3').setStyle('display','none');
    $('slidecontent4').setStyle('display','none');
    $('slidecontent5').setStyle('display','block');
    $$('.pointeractive')[0].setStyle('background-image','');
    $$('.pointeractive')[1].setStyle('background-image','');
    $$('.pointeractive')[2].setStyle('background-image','');
    $$('.pointeractive')[3].setStyle('background-image','');
    $$('.pointeractive')[4].setStyle('background-image','url(/design/img/Pointer.png)');
  };

} catch(e){}

window.addEvent('load', function(){
  $$('article.news img').each(function(element){
    // transform the image
    element.toGreyscale();
    // element.toSaturated will return image to saturated version if previously de-staurated with element.toGreyscale
    element.addEvent('mouseover', function(ev){
      this.toSaturated();
    })
    element.addEvent('mouseout', function(ev){
      this.toGreyscale();
    })
  })
})

/*History of biznes*/

window.addEvent('domready',function(){
  $$('.pointeractiveistoriaybiznesa').addEvent('click',function(){
    $$('.pointeractiveistoriaybiznesa').setStyle('background-image','');
    $(this).setStyle('background-image','url("/design/img/Pointer.png")');
    $$('.dateistoriaybiznesa').setStyle('color','#999')
    $(this).getChildren('.dateistoriaybiznesa').setStyle('color','#030')
    var src = ($(this).getChildren('div img').getProperty('src'))
    $('conteinerimgistoriaybiznesa').setProperty('src',src)
  ;
  })

  try {
    new Exm;
  } catch(e){}

})

window.addEvent('domready',function(){
  $$('.menuelements').filter(function(item, index){

    var property1 = (item.getProperty('href'))
    if(property1 == '/ru/business/assets')
    {
      item.getParent().setStyle('margin','10px 35px 0 20px')
      }
    })

$$('.menuelements').filter(function(item, index){

  var property2 = (item.getProperty('href'))
  if(property2 == '/ru/brands/meat-spring')
  {
    item.getParent().setStyle('width','150px')
    }
	else if(property2 == '/uk/brands/meat-spring')
  {
    item.getParent().setStyle('width','150px')
    }
	else if(property2 == '/en/brands/meat-spring')
  {
    item.getParent().setStyle('width','150px')
    }
	else if(property2 == '/uk/../../ru/brands/../../ru/brands/meat-spring')
  {
    item.getParent().setStyle('width','150px')
    }
	else if(property2 == '/en/../../ru/brands/../../ru/brands/meat-spring')
  {
    item.getParent().setStyle('width','150px')
    }
  })
})




window.addEvent('domready',function(){
  
  /* Add last class */
  
  try {
    var numberElements = $$('#director-index .i').length;
    $$('#director-index .i')[numberElements - 1].addClass('last');
  } catch(e){};

	// milkbox init
	try {
		new Milkbox({
			overlayOpacity: 0.8
		});
	} catch(e){}
	
});













