var domain = 'building-equipment.com';

function initCufon() {
  Cufon.replace('#site-nav span, #site-nav a', { textShadow: '1px 1px 0px #838383' });
  Cufon.replace('.gg');
  Cufon.replace('.gg.bold', { fontWeight: 'bold' });
}


function siteNavigationHandler() {
  var $ul = $('#site-nav ul'),
      t = 300;
  /*
  $ul.find('li.slideDown').hover(function () {
    $(this).find('ul:first').animate({ height: 'toggle' }, t);
  },
  function () {
    $(this).find('ul:first').animate({ height: 'toggle' }, t);
  });

  $ul.find('li li:has(ul)').hover(function () {
    $(this).find('ul:first').animate({ width: 'toggle' }, t);
  },
  function () {
    $(this).find('ul:first').animate({ width: 'toggle' }, t);
  });
  */
  $ul.find('li:has(ul)').hover(function() {
	$(this).find('ul:first').show();
  },
  function () {
	$(this).find('ul:first').hide();
  });
}


function galleryFrontHandler() {
  $front = $('.front');

  if (!$front.length)
    return;

  $front.find('.media').cycle({ fx: 'fade', timeout: 5000 });
}

function galleryProductHandler() {
  var $sections = $('.overview .sections'),
      $gallery = $sections.find('#photo-gallery'),
      $gallery_cycle = $gallery.find('.media'),
      $technical_data = $('#technical-data'),
      $video = $('#video'),
      $controls = $('.controls'),
      $video_play = $controls.find('.video a'),
      $gallery_nav = $controls.find('.photos a');

  $gallery.addClass('show');
  $gallery_cycle.cycle({ fx: 'fade', timeout: 4000 });

  $technical_data.addClass('hide');
  $video.addClass('hide');


  $video_play.click(function () {
    if ($video.hasClass('show')) {
      return false;
    }

    if ($gallery.hasClass('show')) {
      $gallery.removeClass('show').addClass('hide');
      $gallery_cycle.cycle('stop');
      $sections.cycle({ fx: 'scrollVert', speed: 500 }).cycle(2).cycle('stop');
    }

    if ($technical_data.hasClass('show')) {
      $technical_data.removeClass('show').addClass('hide');
      $sections.cycle({ fx: 'scrollVert', speed: 500, startingSlide: 1 }).cycle(2).cycle('stop');
    }

    $video.removeClass('hide').addClass('show');
    

    return false;
  });

  $gallery_nav.each(function (i) {
    $(this).click(function () {

      if ($gallery.hasClass('show')) {
        $gallery_cycle.cycle(i).cycle('pause');
      }

      if ($video.hasClass('show')) {
        $f().stop();
        $video.removeClass('show').addClass('hide');
        $sections.cycle({ fx: 'scrollVert', speed: 500, startingSlide: 2 }).cycle(0).cycle('stop');
        $gallery_cycle.cycle({ fx: 'fade', timeout: 4000, startingSlide: i }).cycle('pause');
      }

      if ($technical_data.hasClass('show')) {
        $technical_data.removeClass('show').addClass('hide');
        $sections.cycle({ fx: 'scrollVert', speed: 500, startingSlide: 1 }).cycle(0).cycle('stop');
        $gallery_cycle.cycle({ fx: 'fade', timeout: 4000, startingSlide: i }).cycle('pause');
      }


      if ($gallery.hasClass('hide')) {
        $gallery.removeClass('hide').addClass('show');
      }


      return false;
    });
  });

  $('.button-technical-data').click(function () {
    if ($technical_data.hasClass('show')) {
      return false;
    }

    if ($(window).scrollTop() > 200) {
      $.scrollTo(140, 800);
    }

    if ($gallery.hasClass('show')) {
      $gallery.removeClass('show').addClass('hide');
      $gallery_cycle.cycle('stop');
      $sections.cycle({ fx: 'scrollVert', speed: 500 }).cycle(1).cycle('stop');
    }

    if ($video.hasClass('show')) {
      $f().stop();
      $video.removeClass('show').addClass('hide');
      $sections.cycle({ fx: 'scrollVert', speed: 500, startingSlide: 2 }).cycle(1).cycle('stop');
    }

    if ($technical_data.hasClass('hide')) {
      $technical_data.removeClass('hide').addClass('show');
    }

    return false;
  });
}

function flowPlayer(playlist) {
  $(document).ready(function () {
    if (typeof playlist === 'object') {
      flowplayer("flash-container", "/js/flowplayer-3.2.4-0.swf", {
        playlist: playlist
      }).playlist(".p-list", { loop: true });
    } else {
      
      flowplayer("flash-container", "/js/flowplayer-3.2.4-0.swf", {
        clip: {
          url: playlist
        }
      });
    }
  });
}

function showMails() {
  $mails = $('.email');

  if (!$mails.length)
    return;

  $mails.each(function () {
    var name = $(this).text();
    $(this).html('<a href=' + 'mailto:' + name + '@' + domain + '>' + name + '@' + domain + '</a>');
  });
}

function handler_share() {
  $links = $('#share-buttons a');

  $links.click(function () {
    window.open(this.href, 'Share', 'width=500,height=400,left=' + (screen.availWidth / 2 - 250) + ',top=' + (screen.availHeight / 2 - 200) + ''); 

    return false;
  });
}

function handler_tempLangFix() {
  $li = $('#page-language li');

  $li.filter('.es').find('a').attr('href', 'http://spanish.building-equipment.com');
  $li.filter('.el').find('a').attr('href', 'http://greek.building-equipment.com/');
  $li.filter('.fr').find('a').attr('href', 'http://french.building-equipment.com/');
}

$(document).ready(function () {
  siteNavigationHandler();
  initCufon();
  galleryFrontHandler();
  showMails();
  galleryProductHandler();
  handler_share();
  handler_tempLangFix();
});



var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16892182-2']);
_gaq.push(['_trackPageview']);

(function () {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
