/**
 * YtTools
 * requires mootools version 1.1
 *
 * @version 1.0.13 (13.08.2007)
 * @author yootheme.com
 * @copyright Copyright (C) 2007 YOOtheme Ltd. & Co. KG. All rights reserved.
 */ 
var YtTools = {
		
	start: function() {
		
		/* Match height of div tags */
		YtTools.setDivHeight();

		/* Color settings */
		var page = $('page');
		var enterColor = '#756B60'; /* default */	
		var leaveColor = '#4B433B'; /* default */
		var leaveColorSub = '#1e1e1e'; /* default */
		
		if (page.hasClass('red')) {
			enterColor    = '#7D2222';
		 	leaveColor    = '#461414';
			leaveColorSub = '#381010';
		} else if (page.hasClass('blue')) {
			enterColor    = '#344569';
		 	leaveColor    = '#192841';
			leaveColorSub = '#142136';
		} else if (page.hasClass('green')) {
			enterColor    = '#646E3C';
		 	leaveColor    = '#373C1E';
			leaveColorSub = '#2C3018';
		} else if (page.hasClass('grey')) {
			enterColor    = '#505050';
		 	leaveColor    = '#333333';
			leaveColorSub = '#282828';
		} else if (page.hasClass('lilac')) {
			enterColor    = '#960050';
		 	leaveColor    = '#3C0032';
			leaveColorSub = '#2F0026';
		} else if (page.hasClass('turquoise')) {
			enterColor    = '#009DAA';
		 	leaveColor    = '#005050';
			leaveColorSub = '#003C3C';
		} else if (page.hasClass('lemon')) {
			enterColor    = '#4F5638';
		 	leaveColor    = '#333333';
			leaveColorSub = '#282828';
		} else if (page.hasClass('lightblue')) {
			enterColor    = '#505050';
		 	leaveColor    = '#333333';
			leaveColorSub = '#282828';
		} else if (page.hasClass('lightmint')) {
			enterColor    = '#505050';
		 	leaveColor    = '#333333';
			leaveColorSub = '#282828';
		} else if (page.hasClass('lightorange')) {
			enterColor    = '#505050';
		 	leaveColor    = '#333333';
			leaveColorSub = '#282828';
		} else if (page.hasClass('lightpink')) {
			enterColor    = '#505050';
		 	leaveColor    = '#333333';
			leaveColorSub = '#282828';
		}

		/* Accordion menu */
		var accordionFx = new YtAccordionMenu('li.toggler', 'ul.accordion', { accordion: 'slide' });

		/* menu level1 */
		var submenuEnter = { 'background-color': enterColor };
		var submenuLeave = { 'background-color': leaveColor };

		var submenuFx1 = new YtMorph('#menu .level1, #othermenu .level1', submenuEnter, submenuLeave,
			{ transition: Fx.Transitions.expoOut, duration: 300 },
			{ transition: Fx.Transitions.sineIn, duration: 500 });
		
		var submenuLeave = { 'background-color': leaveColorSub };
		
		/* menu level2 */
		var submenuFx2 = new YtMorph('#menu .level2, #othermenu .level2', submenuEnter, submenuLeave,
			{ transition: Fx.Transitions.expoOut, duration: 300 },
			{ transition: Fx.Transitions.sineIn, duration: 500 });
		
		/* Top panel */
		var toppanelFx = new YtSlidePanel($E('#toppanel'), $E('#toppanel-wrapper'),
			YtSettings.heightToppanel, { transition: Fx.Transitions.expoOut, duration: 500 });
		toppanelFx.addTriggerEvent('#toppanel-container .trigger');
		toppanelFx.addTriggerEvent('#toppanel .close');

		/* Style switcher */
		var switcherFx = new YtStyleSwitcher($ES('.wrapper'), { 
			widthDefault: YtSettings.widthDefault,
			widthThinPx: YtSettings.widthThinPx,
			widthWidePx: YtSettings.widthWidePx,
			widthFluidPx: YtSettings.widthFluidPx,
			afterSwitch: YtTools.setDivHeight,
			transition: Fx.Transitions.expoOut,
			duration: 500
		});		

		/* Lightbox */
		if (YtSettings.lightbox) {

			/* Lightbox behavior */
			YtBase.setupLightbox();		

			/* Lightbox/Slimbox */
			Lightbox.init();
		}
		
		/* Spotlight */
		var spotlightFx = new YtSpotlight('div.spotlight, span.spotlight');

	},

	/* Include addons */
	include: function(library) {
		$ES('script').each(function(s, i){
			var src = s.getProperty('src');
			if (src && src.match(/yt_tools\.js(\?.*)?$/)) {
				var path = src.replace(/yt_tools\.js(\?.*)?$/,'') + 'addons/';
				document.write('<script language="javascript" src="' + path + library + '" type="text/javascript"></script>');		
			}
		});
	},

	/* Match height of div tags */
	setDivHeight: function() {
		YtBase.matchDivHeight('div.bottombox div div div div', 0, 40);
		YtBase.matchDivHeight('div.maintopbox div div div', 2);
		YtBase.matchDivHeight('div.mainbottombox div div div', 2);
		YtBase.matchDivHeight('div.contenttopbox div div div', 2);
		YtBase.matchDivHeight('div.contentbottombox div div div', 2);
	}

};

/* Include addons */
YtTools.include('base.js');
YtTools.include('morph.js');
YtTools.include('accordionmenu.js');
YtTools.include('slidepanel.js');
YtTools.include('styleswitcher.js');
YtTools.include('spotlight.js');

/* Add functions on window load */
window.addEvent('load', YtTools.start);

