var logger;

var init = function ()
{
  logger = new Log;
  
  if(ENV === 'dev')
  {
    logger.enableLog();
  }
  
  if(ENV == 'dev')
  {
    sfWebDebugToggleMenu();
  }
  
  $(document.body).removeClass('no-js');
  $(document.body).addClass('js-enabled');
  
  if(Browser.Engine.trident && Browser.Engine.version == 4)
  {
    $(document.body).removeClass('not-a-crappy-browser');
  }
  
  primaryNav();
};

var primaryNav = function ()
{
  $$('ul#navigation li a').each(
    function (a)
    {
      var fx = new Fx.Tween(a,{property:'color', link: 'cancel', duration: 'short'});
      a.addEvents({
        'mouseenter':     function (ev)
        {
          if(isCurrentPage(this)) return;
          fx.start('#e21350');
        },
        'mouseleave':     function (ev)
        {
          if(isCurrentPage(this)) return;
          fx.start('#000');
        },
        'click':          function (ev)
        {
          if(isCurrentPage(this)) return;
          this.getParent('ul').getElements('li').removeClass('active');
          this.getParent().addClass('active');
          fx.set('#FFF');
        }
      });
    }
  );
};

var isCurrentPage = function (link)
{
  classes = link.getParent().get('class').split(' ');

  if(link.getParent().hasClass('active')) return true;
  
  for(i = 0; i < classes.length; i++)
  {
    if($(document.body).hasClass(classes[i])) return true;
  }
  
  return false;
};

/*
---

script: Log.js

description: Provides basic logging functionality for plugins to implement.

license: MIT-style license

authors:
- Guillermo Rauch
- Thomas Aylott
- Scott Kyle

requires:
- core:1.2.4/Class
- /MooTools.More

provides: [Log]

...
*/

(function(){

var global = this;

var log = function(){
	if (global.console && console.log){
		try {
			console.log.apply(console, arguments);
		} catch(e) {
			console.log(Array.slice(arguments));
		}
	} else {
		Log.logged.push(arguments);
	}
	return this;
};

var disabled = function(){
	this.logged.push(arguments);
	return this;
};

this.Log = new Class({
	
	logged: [],
	
	log: disabled,
	
	resetLog: function(){
		this.logged.empty();
		return this;
	},

	enableLog: function(){
		this.log = log;
		this.logged.each(function(args){
			this.log.apply(this, args);
		}, this);
		return this.resetLog();
	},

	disableLog: function(){
		this.log = disabled;
		return this;
	}
	
});

Log.extend(new Log).enableLog();

// legacy
Log.logger = function(){
	return this.log.apply(this, arguments);
};

})();

window.addEvent('domready', init);
