window.addEvent('domready', function() {
  var menu = $('menu');
  if (menu.hasClass('collapsed')) {
    menu.addEvents({
      mouseenter: function() { this.removeClass('collapsed'); },
      mouseleave: function() { this.addClass('collapsed'); }
    });
  }
  
  var gallery = $('gallery');
  if (gallery) {
    var params = gallery.get('photoset').split(':');
    var photos = [], currentPhoto;
    for (var i = 1; i <= params[1].toInt(); i++) {
      photos.push(i + '.jpg');
    }
    var photosFolder = 'images/photos/' + params[0] +'/';
    var slideshow = new Slideshow(gallery, photos, {
      width: 964,
      height: 525,
      hu: photosFolder,
      loader: true,
      controller: false
    });
    
    var zoom = gallery.getElement('.zoom');
    if (zoom) {
      // var fullScreenImage = new FullScreenImage(zoom, { swf: 'js/FullScreenImage.swf' });
      var zoomView = new Element('div', {
        'id': 'zoom-view', 'class': 'hidden',
        events: {
          click: function() {
            this.addClass('hidden');
          }
        }
      }).inject(document.body);
      zoom.addEvent('click', function() {
        slideshow.pause(1);
        var slide = slideshow.slide || params[1].toInt();
        zoomView.setStyle('background-image', 'url(' + photosFolder + 'big/' + slide + '.jpg)').removeClass('hidden');
        // fullScreenImage.show(photosFolder + 'big/' + slide + '.jpg');
      });
    }
    
    var bottomNav = $('bottom_nav');
    if (bottomNav) {
      var pager = bottomNav.getElement('.pager');
      slideshow.addEvent('start', function() {
        currentPhoto && currentPhoto.removeClass('current');
        currentPhoto = bottomNav.getElement('.pager li[rel=' + (slideshow.slide + 1) + ']').addClass('current');
      });
      new Element('li', { 'class': 'playpause' }).inject(pager).addEvent('click', function() {
        this.toggleClass('paused');
        slideshow.pause(this.hasClass('paused'));
      });
      for (var i = 1; i <= params[1].toInt(); i++) {
        new Element('li', { rel: i, text: i }).inject(pager);
      }
      pager.getElements('li[rel]').addEvent('click', function(event) {
        if (this.get('rel') == 'next') {
          slideshow.next();
        } else {
          slideshow.go(this.get('rel') - 1);
        }
        slideshow.fireEvent('start');
      });
    }
    
    if ($('infra_items')) {
      var infraItems = $$('#infra_items li');
      slideshow.addEvent('start', function() {
        infraItems.removeClass('current')[slideshow.slide].addClass('current');
      });
    }
  }
  
  var imgmap = $('imgmap');
  if (imgmap) {
    var view = $('view').getElement('img');
    var links = imgmap.getElements('a').addEvents({
      mouseover: function() {
        links.removeClass('current');
        this.addClass('current');
        view.set('src', this.get('href'));
      },
      click: function(event) { event.stop(); }
    })
  }

	var aptsMenu = $('apts_menu');
	if (aptsMenu) {
		aptsMenu.getElements('li').addEvents({
			mouseenter: function() {
				$('f' + this.addClass('on').getElement('i').get('text').toInt()).addClass('on');
			},
			mouseleave: function() {
				$$('.floor_hilite').removeClass('on');
				aptsMenu.getElements('li').removeClass('on');
			}
		});
		$$('.floor_hilite').addEvents({
			mouseenter: function() {
				var n = this.addClass('on').get('id').substr(1).toInt();
				$('apts_menu').getElements('li')[8-n].addClass('on');
			},
			mouseleave: function() {
				var n = this.removeClass('on').get('id').substr(1).toInt();
				$('apts_menu').getElements('li').removeClass('on');
			}
		})
	}
	
	var flatNums = $$('#flat_nums li'), flatAreas = $$('#flat_areas li');
	if (flatNums.length && flatAreas.length) {
		cvi_map.add($('floor_plan_details'), {
			opacity: 100,
			areacolor: '#d47328',
			noborder: true,
			nofade: true
		});
	  $$('area').addEvents({
	    mouseover: function() {
	      flatNums.removeClass('on')[this.getAllPrevious().length].addClass('on');
			  if (this.get('href')) {
	        flatAreas.removeClass('on')[this.getAllPrevious().length].addClass('on');
        }
	    },
	    mouseout: function() {
	      flatNums.removeClass('on');
	      flatAreas.removeClass('on');
	    }
	  });
		flatNums.addEvents({
			mouseover: function() {
				this.addClass('on');
				extAreaOver('floor_plan_details', $$('area')[this.getAllPrevious().length]);
				if (!this.hasClass('sold')) {
				  flatAreas.removeClass('on')[this.getAllPrevious().length].addClass('on');
				}
			},
			mouseout: function() {
				this.removeClass('on');
				extAreaOut('floor_plan_details', $$('area')[this.getAllPrevious().length]);
				flatAreas.removeClass('on');
			}
		});
	}
  
  window.addEvent('resize', function() {
    var size = window.getSize();
    if (size.x < 1162 || size.y < 640) {
      $('media_friends').setStyle('display', 'none')
    } else {
      $('media_friends').setStyle('display', '');
    }
  }).fireEvent('resize');
});
