function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function showItem(element)
{
	myElement = $(element);
	myElement.currentOpacity.clearTimer();
	myElement.currentOpacity.goTo(1);
}

function hideItem(element)
{
	myElement = $(element);
	myElement.currentOpacity.clearTimer();
	myElement.currentOpacity.goTo(0);
}

var standardEffects = new Class({
	initialize: function () {
		this.initializeLinks();
		this.initializeDynamicFooter();
		//this.initializeRightAccordion();
		this.initializeMainMenu();
	},
	initializeLinks : function () {
		$S('a.axah', 'a.smoothlink').action({
			onclick: function() {
				loadLink = function ()
				{
					document.location = this.href;
				}
				mainContentEffect = new Fx.Style('maincontent', 'opacity', {
					duration: 1000,
					onComplete: loadLink.bind(this)
				});
				mainContentEffect.custom(1, 0);
				return false;
			}
		});
		window.onunload = function(){
			mainContentEffect = new Fx.Style('maincontent', 'opacity', {
				duration: 1000
			});
			mainContentEffect.custom(1, 0);
		}
	},
	initializeDynamicFooter : function () {
		$S('a.fallback').action({
			onclick : function () {
				return false;
			}
		});
		$S('.footer_content').action({
			initialize: function () { this.removeClass('hidden'); this.addClass('shown'); }
		});
		$S('.footer').action({
			initialize : function () {
				//$('aboutitem').hide();
				this.slider = new Fx.Slide('aboutitem', {duration: 500});
				this.slider.hide();
			},
			onclick : function () {
				this.slider.toggle();
			}
		});
	},
	initializeRightAccordion : function () {
		var myDivs = $S('.infoblock p');
		var myLinks = $S('.infoblock h4');

		//then we create the effect.
		if(navigator.appName != "Microsoft Internet Explorer")
		{
			this.RightAccordion = new fx.Accordion(myLinks, myDivs, {opacity: true});
		} else {
			this.RightAccordion = new fx.Accordion(myLinks, myDivs, {opacity: false});
		}
		try{
			if ((accordionShow=='articles')|(accordionShow=='blog'))
				this.RightAccordion.showThisHideOpen('ct_infoblock_articles');
			else if (accordionShow=='realisations')
				this.RightAccordion.showThisHideOpen('ct_infoblock_projets');
		} catch (e) {
		}
	},
	initializeMainMenu : function () {
		var subMenusIter = 0;
		var subMenusEffects = [];
		$('nav').className="";
		$S('.menu li ul.submenu', '.menu li ul.submenu ul').action({
			initialize: function() {
				this.style.display = "block";
				this.currentOpacity = new fx.Style(this, 'opacity', {duration: 500, transition: Fx.Transitions.circOut});
				this.currentOpacity.set(0);
				this.currentOpacity.now = 0;
				this.id = "sub_" + subMenusIter;
				var curIter = subMenusIter;
				$('sub_' + curIter).menuTimer = "";
				//sendDebug(this.id);
				this.parentNode.onmouseover = function () {
					window.clearTimeout($('sub_' + curIter).menuTimer);
					showItem($('sub_' + curIter));
				}
				this.parentNode.onmouseout = function (e) {
					$('sub_' + curIter).menuTimer = window.setTimeout('hideItem($(\'sub_' + curIter + '\'))',100);
				}
				subMenusIter++;
			}
		})
	}
});
var pageEffects = "";
applyEffects = function () {
	pageEffects = new standardEffects();
}
addLoadEvent(applyEffects);