/* (C) 2008 YOOtheme.com */

var YOOTools = {
		
	start: function() {
		
		/* Match height of div tags */
		YOOTools.setDivHeight();

		/* Background fx */
		var bgColors = false;
		var duration = 9000;

		switch (YtSettings.pulse) {
			case 'color':
				duration = 5000;
				switch (YtSettings.itemColor) {
					case 'red':
						bgColors = ['#C8001E', '#6E000F'];
				  		break;
					case 'blue':
						bgColors = ['#00BED2', '#005A6E'];
				  		break;
					case 'pink':
						bgColors = ['#C800C8', '#640064'];
				  		break;
					case 'orange':
						bgColors = ['#DC5000', '#6E2800'];
				  		break;
					case 'green':
						bgColors = ['#78C800', '#3C6400'];
				  		break;
					case 'yellow':
						bgColors = ['#FFC800', '#6E5500'];
				  		break;
					case 'lilac':
						bgColors = ['#6432C8', '#371E6E'];
				  		break;
					case 'turquoise':
						bgColors = ['#00DCB4', '#006E5A'];
				  		break;
				}
		  		break;
			case 'rainbow':
				duration = 3000;
				bgColors = ['#C8001E', '#DC5000', '#FFC800', '#78C800', '#00DCB4', '#00BED2', '#6432C8', '#C800C8'];
		  		break;
		}

		if (bgColors) {
			new YOOBackgroundFx({ 'colors': bgColors, 'duration': duration });
		}
		
		/* Accordion menu */
		new YOOAccordionMenu('div#middle ul.menu li.toggler', 'ul.accordion', { accordion: 'slide' });

		/* Fancy menu */
		new YOOFancyMenu($E('ul', 'menu'), { mode: 'fade', transition: Fx.Transitions.linear, duration: 500 });

		/* Dropdown menu */
		new YOODropdownMenu('div#menu li.parent', { mode: 'height', transition: Fx.Transitions.Expo.easeOut });

		/* Main menu (tab) color settings */
		var enterColorRed = '#ff0000';
		var enterColorBlue = '#5ae1f0';
		var enterColorPink = '#FF82FF';
		var enterColorOrange = '#f59641';
		var enterColorGreen = '#c3e63c';
		var enterColorYellow = '#ffdc57';
		var enterColorLilac = '#956ce8';
		var enterColorTurquoise = '#45f4d4';
		
		var leaveColor = '#646464';

		var menuEnterRed = { 'color': enterColorRed };
		var menuEnterBlue = { 'color': enterColorBlue };
		var menuEnterPink = { 'color': enterColorPink };
		var menuEnterOrange = { 'color': enterColorOrange };
		var menuEnterGreen = { 'color': enterColorGreen };
		var menuEnterYellow = { 'color': enterColorYellow };
		var menuEnterLilac = { 'color': enterColorLilac };
		var menuEnterTurquoise = { 'color': enterColorTurquoise };
		
		var menuLeave = { 'color': leaveColor };
		
		new YOOMorph('div#menu li.red', menuEnterRed, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.blue', menuEnterBlue, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.pink', menuEnterPink, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.orange', menuEnterOrange, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.green', menuEnterGreen, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.yellow', menuEnterYellow, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.lilac', menuEnterLilac, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		new YOOMorph('div#menu li.turquoise', menuEnterTurquoise, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, '.level1');
		
		enterColorRed = '#C8001E';
		enterColorBlue = '#00BED2';
		enterColorPink = '#C800C8';
		enterColorOrange = '#DC5000';
		enterColorGreen = '#78C800';
		enterColorYellow = '#FFC800';
		enterColorLilac = '#6432C8';
		enterColorTurquoise = '#00DCB4';
		
		leaveColor = '#464646';

		menuEnterRed = { 'color': enterColorRed };
		menuEnterBlue = { 'color': enterColorBlue };
		menuEnterPink = { 'color': enterColorPink };
		menuEnterOrange = { 'color': enterColorOrange };
		menuEnterGreen = { 'color': enterColorGreen };
		menuEnterYellow = { 'color': enterColorYellow };
		menuEnterLilac = { 'color': enterColorLilac };
		menuEnterTurquoise = { 'color': enterColorTurquoise };
		
		new YOOMorph('div#menu li.red', menuEnterRed, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		new YOOMorph('div#menu li.blue', menuEnterBlue, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
				
		new YOOMorph('div#menu li.pink', menuEnterPink, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		new YOOMorph('div#menu li.orange', menuEnterOrange, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		new YOOMorph('div#menu li.green', menuEnterGreen, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		new YOOMorph('div#menu li.yellow', menuEnterYellow, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		new YOOMorph('div#menu li.lilac', menuEnterLilac, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		new YOOMorph('div#menu li.turquoise', menuEnterTurquoise, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 500, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 500 }, 'span.sub');
		
		/* Main menu (sub) color settings */
		var currentColor = '#282828';
		var leaveColor = '#141414';

		var menuEnter = { 'background-color': currentColor };
		var menuLeave = { 'background-color': leaveColor };
		
		new YOOMorph('div#menu li.level2 a, div#menu li.level2 span.separator', menuEnter, menuLeave,
			{ transition: Fx.Transitions.expoOut, duration: 300 },
			{ transition: Fx.Transitions.sineIn, duration: 500 });

		/* Sub menu color settings */
		/* color default */
		var currentColor = '#282828';
		var leaveColor = '#141414';
		
		/* Sub menu all levels */
		var submenuEnter = { 'background-color': currentColor};
		var submenuLeave = { 'background-color': leaveColor};

		new YOOMorph('div#middle ul.menu a, div#middle ul.menu span.separator', submenuEnter, submenuLeave,
			{ transition: Fx.Transitions.expoOut, duration: 300 },
			{ transition: Fx.Transitions.sineIn, duration: 500 });

		/* Style switcher */
		new YOOStyleSwitcher($ES('.wrapper'), { 
			widthDefault: YtSettings.widthDefault,
			widthThinPx: YtSettings.widthThinPx,
			widthWidePx: YtSettings.widthWidePx,
			widthFluidPx: YtSettings.widthFluidPx,
			afterSwitch: YOOTools.setDivHeight,
			transition: Fx.Transitions.expoOut,
			duration: 500
		});		
		
		/* Smoothscroll */
		new SmoothScroll({ duration: 500, transition: Fx.Transitions.Expo.easeOut });
	},

	/* Include script */
	include: function(library) {
		$ES('script').each(function(s, i){
			var src  = s.getProperty('src');
			var path = '';
			if (src && src.match(/yoo_tools\.js(\?.*)?$/)) path = src.replace(/yoo_tools\.js(\?.*)?$/,'');
			if (src && src.match(/template\.js\.php(\?.*)?$/)) path = src.replace(/template\.js\.php(\?.*)?$/,'');
			if (path != '') document.write('<script language="javascript" src="' + path + library + '" type="text/javascript"></script>');
		});
	},

	/* Match height of div tags */
	setDivHeight: function() {
		YOOBase.matchDivHeight('div.topbox div.deepest', 0, 40);
		YOOBase.matchDivHeight('div.bottombox div.deepest', 0, 40);
		YOOBase.matchDivHeight('div.maintopbox div.deepest', 0, 40);
		YOOBase.matchDivHeight('div.mainbottombox div.deepest', 0, 40);
		YOOBase.matchDivHeight('div.contenttopbox div.deepest', 0, 40);
		YOOBase.matchDivHeight('div.contentbottombox div.deepest', 0, 40);
	}

};

/* Add functions on window load */
window.addEvent('domready', YOOTools.start);

/* Load IE6 fix */
if (window.ie6) {
	YOOTools.include('addons/ie6fix.js');
	YOOTools.include('yoo_ie6fix.js');
}

