/* (C) 2008 YOOtheme.com */

var YOOTools = {

    start: function() {

        /* Match height of div tags */
        YOOTools.setDivHeight();

        /* Accordion menu */
        new YOOAccordionMenu('div#middle ul.menu li.toggler', 'ul.accordion', { accordion: 'slide' });

        /* Fancy menu */
        new YOOFancyMenu($E('ul', 'menu'), { mode: 'move', transition: Fx.Transitions.Expo.easeOut, duration: 700 });

        /* Dropdown menu */
        new YOODropdownMenu('div#menu li.parent', { mode: 'height', transition: Fx.Transitions.Expo.easeOut });

        /* Morph: main menu (tab) */
        switch (YtSettings.color) {
            case "green": var enterColor = '#ffffff';
                var leaveColor = '#D8F75B';
                break;

            case "red": var enterColor = '#ffffff';
                var leaveColor = '#FF4628';
                break;

            case "pink": var enterColor = '#ffffff';
                var leaveColor = '#FF75D6';
                break;

            case "lilac": var enterColor = '#ffffff';
                var leaveColor = '#DA79FF';
                break;

            case "orange": var enterColor = '#ffffff';
                var leaveColor = '#FF9628';
                break;

            case "turquoise": var enterColor = '#ffffff';
                var leaveColor = '#79FFDC';
                break;

            case "black": var enterColor = '#ffffff';
                var leaveColor = '#B4C8DC';
                break;

            case "white": var enterColor = '#ffffff';
                var leaveColor = '#3C4650';
                break;

            case "lightgreen": var enterColor = '#ffffff';
                var leaveColor = '#D7FD00';
                break;

            case "lightblue": var enterColor = '#ffffff';
                var leaveColor = '#55F2FF';
                break;

            default: var enterColor = '#ffffff';
                var leaveColor = '#64E1FF'; //'#00AEDE'; //'#64E1FF';
        }

        var menuEnter = { 'color': enterColor };
        var menuLeave = { 'color': leaveColor };

        new YOOMorph('div#menu li.level1', menuEnter, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 300, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 700 }, '.level1');

        switch (YtSettings.color) {
            case "green": var enterColor = '#ffffff';
                var leaveColor = '#93BD00';
                break;

            case "red": var enterColor = '#ffffff';
                var leaveColor = '#DC0000';
                break;

            case "pink": var enterColor = '#ffffff';
                var leaveColor = '#FF3EBB';
                break;

            case "lilac": var enterColor = '#ffffff';
                var leaveColor = '#C828FF';
                break;

            case "orange": var enterColor = '#ffffff';
                var leaveColor = '#FF6C00';
                break;

            case "turquoise": var enterColor = '#ffffff';
                var leaveColor = '#00FFD2';
                break;

            case "black": var enterColor = '#ffffff';
                var leaveColor = '#7891AA';
                break;

            case "white": var enterColor = '#ffffff';
                var leaveColor = '#1E2832';
                break;

            case "lightgreen": var enterColor = '#ffffff';
                var leaveColor = '#ABFC14';
                break;

            case "lightblue": var enterColor = '#ffffff';
                var leaveColor = '#00E2F4';
                break;

            default: var enterColor = '#ffffff';
                var leaveColor = '#00aede';
        }

        var menuEnter = { 'color': enterColor };
        var menuLeave = { 'color': leaveColor };

        new YOOMorph('div#menu li.level1', menuEnter, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 300, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 700 }, 'span.sub');

        /* Morph: main menu (drop down) */
        switch (YtSettings.color) {
            case "green": var enterColor = '#ffffff';
                var leaveColor = '#D8F75B';
                break;

            case "red": var enterColor = '#ffffff';
                var leaveColor = '#FF4628';
                break;

            case "pink": var enterColor = '#ffffff';
                var leaveColor = '#FF75D6';
                break;

            case "lilac": var enterColor = '#ffffff';
                var leaveColor = '#DA79FF';
                break;

            case "orange": var enterColor = '#ffffff';
                var leaveColor = '#FF9628';
                break;

            case "turquoise": var enterColor = '#ffffff';
                var leaveColor = '#79FFDC';
                break;

            case "black": var enterColor = '#ffffff';
                var leaveColor = '#B4C8DC';
                break;

            case "white": var enterColor = '#ffffff';
                var leaveColor = '#3C4650';
                break;

            case "lightgreen": var enterColor = '#ffffff';
                var leaveColor = '#D7FD00';
                break;

            case "lightblue": var enterColor = '#ffffff';
                var leaveColor = '#55F2FF';
                break;

            default: var enterColor = '#ffffff';
                var leaveColor = '#64E1FF'; //'#00AEDE'; //'#64E1FF';
        }

        var menuEnter = { 'color': enterColor };
        var menuLeave = { 'color': leaveColor };

        new YOOMorph('div#menu li.level2 a, div#menu li.level2 span.separator', menuEnter, menuLeave,
			{ transition: Fx.Transitions.linear, duration: 0, ignoreClass: 'active' },
			{ transition: Fx.Transitions.sineIn, duration: 700 });

        /* Morph: sub menu */
        switch (YtSettings.color) {
            case "green": var enterColor = '#ffffff';
                var leaveColor = '#D8F75B';
                break;

            case "red": var enterColor = '#ffffff';
                var leaveColor = '#FF4628';
                break;

            case "pink": var enterColor = '#ffffff';
                var leaveColor = '#FF75D6';
                break;

            case "lilac": var enterColor = '#ffffff';
                var leaveColor = '#DA79FF';
                break;

            case "orange": var enterColor = '#ffffff';
                var leaveColor = '#FF9628';
                break;

            case "turquoise": var enterColor = '#ffffff';
                var leaveColor = '#79FFDC';
                break;

            case "black": var enterColor = '#ffffff';
                var leaveColor = '#B4C8DC';
                break;

            case "white": var enterColor = '#ffffff';
                var leaveColor = '#3C4650';
                break;

            case "lightgreen": var enterColor = '#ffffff';
                var leaveColor = '#D7FD00';
                break;

            case "lightblue": var enterColor = '#ffffff';
                var leaveColor = '#55F2FF';
                break;

            default: var enterColor = '#0000FF'; //'#ffffff';
                var leaveColor = '#00AEDE'; //'#64E1FF';
        }

        var submenuEnter = { 'color': enterColor };
        var submenuLeave = { 'color': leaveColor };

        new YOOMorph('div#middle ul.menu a, div#middle ul.menu span.separator', submenuEnter, submenuLeave,
			{ transition: Fx.Transitions.expoOut, duration: 0, ignoreClass: 'current' },
			{ transition: Fx.Transitions.sineIn, duration: 700 });

        /* Morph: module border */
        var enterColor = '#b4b4b4';
        var leaveColor = '#F0F0F0';

        var moduleEnter = { 'background-color': enterColor };
        var moduleLeave = { 'background-color': leaveColor };

        //Feroz Commented out morphing for border
        /*
        new YOOMorph('#main div.mod-border div.module', moduleEnter, moduleLeave,
			{ transition: Fx.Transitions.sineIn, duration: 200 },
			{ transition: Fx.Transitions.expoOut, duration: 600 });
        */
        
        /* 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');
}

