$(document).ready(function() {

  // Site Header Navigation
  $('#site_header_navigation li').hoverIntent(
    function() {
      $(this).children('ul').slideDown();
    },
    function() {
      $(this).children('ul').slideUp();
    }
  );

  // PromoBox
  $('#promobox_1').showcase({
    animation: {
      type : 'fade'
    },
    navigator: {
      css : {
        display : 'none'
      }
    },
    titleBar: {
      enabled : false
    }
  });

  $('#promobox_2').showcase({
    animation: {
      type : 'fade'
    },
    navigator: {
      css : {
        display : 'none'
      }
    },
    titleBar: {
      enabled : false
    }
  });

  // Cufon.replace
  Cufon.replace('#site_content h1');
  Cufon.replace('#font_size_switch .button');
  Cufon.replace('#promotion_content p');
  Cufon.replace('#promotion_content h2');

  // Promotion
  (function($) {
    var container  = $('#promotion_container');
    var items      = container.find('.item');
    var image      = $('#promotion_image');
    var content    = $('#promotion_content');
    var navigation = $('#promotion_navigation span');

    $.fn.promotion = function() {
      var i;

      for(i=0; i<items.length; i++) {
        var item = items[i];

        var anchorElement = document.createElement('a');
        anchorElement.setAttribute('style', 'cursor:pointer');
        anchorElement.appendChild(document.createTextNode(i+1));
        navigation.append(anchorElement);

        var imageElement = document.createElement('img');
        imageElement.setAttribute('src', item.getElementsByTagName('img')[0].getAttribute('src'));
        imageElement.setAttribute('alt', '');
        imageElement.setAttribute('style', 'display:none;');
        image.append(imageElement);

        var contentElement = document.createElement('div');
        contentElement.setAttribute('style', 'display:none;');
        contentElement.appendChild(item.getElementsByTagName('p')[0]);
        contentElement.appendChild(item.getElementsByTagName('h2')[0]);
        contentElement.appendChild(item.getElementsByTagName('a')[0]);
        content.append(contentElement);
      }

      navigation.find('a').click(function() {
        $.fn.promotion.selectPromo(this.text);
      });

      $.fn.promotion.selectPromo(1);

      setInterval("$.fn.promotion.nextPromo()", 5000);
    }

    $.fn.promotion.selectPromo = function(number) {
      number =-- number;
      var i;

      for(i=0; i<items.length; i++) {
        var checkedImage      = image.children('img:eq('+i+')');
        var checkedContent    = content.children('div:eq('+i+')');
        var checkedNavigation = navigation.children('a:eq('+i+')');

        if(i == number) {
          if(!checkedNavigation.hasClass('on')) {
            checkedImage.fadeIn();
            checkedContent.fadeIn();
            checkedNavigation.addClass('on');
          }
        } else {
          checkedImage.css('display', 'none');
          checkedContent.css('display', 'none');
          checkedNavigation.removeClass('on');
        }
      }
    }

    $.fn.promotion.nextPromo = function() {
      var currentNo = parseInt($('#promotion_navigation span a.on').text());

      currentNo++;

      if(currentNo > items.length)
        currentNo = 1;

      $.fn.promotion.selectPromo(currentNo);
    }
  })(jQuery); // end Promotion

  // Promotion run
  $().promotion();

});

