var Mokkotsu;
if(!Mokkotsu) Mokkotsu = {};

Mokkotsu.Page = {
  init: function() {
    this.args = Object.extend(this.getArgs(), {});
    this.require('/common/js/cookiemanager.js');
  },
  load: function() {
    this.getCookieManager();
    this.setupButtons();
    this.setupSwitches();
    new Mokkotsu.SearchButtons();
  },
  getArgs: function() {
    var args = {};
    if(window.location.search.length == 0) return args;
    window.location.search.substring(1).split('&').each(function(value) {
      var pair = value.split('=');
      args[pair[0].toLowerCase()] = decodeURIComponent(pair[1]);
    });
    return args;
  },
  getCookieManager: function() {
    if(this._cookieManager == null) {
      this._cookieManager =  new CookieManager();
      this._cookieManager.cookieShelfLife = 1;
    }
    return this._cookieManager;
  },
  require: function(libraryName) {
    document.write('<script src="' + libraryName + '" type="text/javascript"><\/script>');
  },
  setupButtons: function() {
    $$('a.button').each(Mokkotsu.Page.setupButton);
  },
  setupButton: function(anchor){
    anchor = $(anchor);
    var img = anchor.down();
    anchor.observe('mouseover', function(){
      if(!anchor.hasClassName('nochange')) img.src=img.src.replace(/_off\./,'_on.');
    });
    anchor.observe('mouseout', function(){
      if(!anchor.hasClassName('nochange')) img.src=img.src.replace(/_on\./,'_off.');
    });
  },
  setupSwitches: function() {
    $$('.switches').each(function(list){
      var switching = function(b) {
        list.select('.switch').each(function(button){
          if(b == button) return;
          var img = button.down();
          img.src = img.src.replace(/_(on|roll)\./,'_off.');
          button.removeClassName('on').addClassName('off');
        });
      };
      list.select('.switch').each(function(button){
        if(button.hasClassName('no')) return;
        var img = button.down();
        button.observe('mouseover', function(){
          img.src = img.src.replace(/_off\./,'_roll.');
        });
        button.observe('mouseout', function(){
          if(button.hasClassName('on')) img.src = img.src.replace(/_roll\./,'_on.');
          if(button.hasClassName('off')) img.src = img.src.replace(/_roll\./,'_off.');
        });
        button.observe('click', function(){
          if(!button.hasClassName('off')) return;
          switching(button);
          img.src = img.src.replace(/_(off|roll)\./,'_on.');
          button.removeClassName('off').addClassName('on');
        });
      });
    });
  },
  tracker: function(page) {
    try{
      urchinTracker(page);
      // console.log(page);
    }catch(e){
      // alert(e);
    }
  }
};
Mokkotsu.Page.init();
document.observe('dom:loaded', Mokkotsu.Page.load.bind(Mokkotsu.Page));


Mokkotsu.SearchButtons = Class.create({
  initialize: function() {
    this.node = $('search_buttons_container');
    if(!this.node) return;
    $('search_buttons_container').select('ul li a').each(this.setupButton);
  },
  setupButton: function(button){
    if(!button) return;
    button.observe('click', function(event){
      try{
        var tab = 'example';
        if(button.hasClassName('shop')) tab = 'shop';
        var cookieManager = Mokkotsu.Page.getCookieManager();
        if(tab == 'shop') cookieManager.setCookie('default_menu', button.up().className);
        cookieManager.setCookie('default_tab', tab);
        window.location = '/';
        event.stop();
      }catch(e){
        // alert(e);
      }
    });
  }
});

