/************************************************************************
 *  Fx matrix-editeur.com (animation titres, menus, images, scroll...)
 *  Avril 2007
 ************************************************************************/

var mSite = {

	start: function(){
          try {
                // message
                setTimeout("document.getElementById('message').style.display = 'none'",20000); // hide the user's msg after 20'

                // mSite.createPage();
		mSite.appearMenu();  // animation menu
		mSite.appearTitle();  // animation on titles
		mSite.createLink();  // animation links
		mSite.makeAccordion();  // animation accordions

                /* NOTE : les variables createHeight et createImage sont définies dans le controler php */
                if(createProject){
                  mSite.createProject();
                }
                if(createImage){  // animation on images
                  mSite.createImage();
                }
          }
          catch(e){
                 alert(e);
          }
	},

        /** *******************
         *  Animation de la page (au chargement uniquement)
         ******************* */
	createPage: function(){
        /*	var el = $$('#centre');

        	// el[0] = Objet HTMLDivElement
        	// el[0].style = Objet CSSStyleDeclaration
        	el[0].style.setProperty('height', '0%', '');

                var overfxs = new Fx.Styles(el[0], {'duration': 2000, 'wait': false, 'unit':'%'});
                overfxs.start({   'height': '100'});
          */
        },

        /** *******************
         *  Animation menu
         ******************* */
	appearMenu: function(){
		var timer = 0;
		var sideblocks = $$('#left .stretchtoggle');

                sideblocks.each(function(el){
                     mSite.createOverMenu(el)
                     mSite.createOverMenu.pass(el);
                 });


       /* var slidefxs = [];
		var colorfxs = [];
        sideblocks.each(function(el, i){
            // NOTE : la variable appearMenu est défini dans le controler php
			el.setStyle('margin-left', appearMenu);
			timer += 150;
			slidefxs[i] = new Fx.Style(el, 'margin-left', {
				duration: 400,
				transition: Fx.Transitions.linear,
				wait: false,
				onComplete: mSite.createOverMenu.pass([el, i])
			});

			slidefxs[i].start.delay(timer, slidefxs[i], 0);
		}, this);*/
	},

	createOverMenu: function(el){
		var first = el.getFirst();

		// if (!first || first.getTag() != 'a' && first.getTag() != 'h3' && first.getTag() != 'span') return;
		var overfxs = new Fx.Styles(first, {'duration': 400, 'wait': false});

		var bgcolor = 'F9B614'; /*'2E2E2E';*/
		if(first.id == 'current'){ bgcolor = 'FFFFFF'; }
        /*if(first.id == 'home'){ bgcolor = '2E2E2E'; }
        if(first.id == 'product'){ bgcolor = '2E2E2E'; }
        if(first.id == 'client'){ bgcolor = '2E2E2E'; }
        if(first.id == 'info'){ bgcolor = '2E2E2E'; }
        if(first.id == 'contact'){ bgcolor = '2E2E2E'; }*/

		el.addEvent('mouseover', function(){
			overfxs.start({
				'color': 'FFFFFF'//'FC7905'
				/*,'padding-left': 5 */
				,'background-color': 'F8C959'//'373737' //1D1D20' //1F1F1F
				/*,'padding-top': 5
				,'padding-bottom': 5*/
			});
		});
		el.addEvent('mouseout', function(){
			overfxs.start({
				'color': 'FFFFFF'
				/*,'padding-left': 0*/
				 ,'background-color': bgcolor
				/*,'padding-top': 0
				,'padding-bottom': 0*/
			});
		});
	},

        /** *******************
         *  Animation des titres
         ******************* */
       	appearTitle: function(){
		var timer = 0;
		var sideblocks = $$('#centre h1');

		var slidefxs = [];
		var colorfxs = [];

		sideblocks.each(function(el, i){
			el.setStyle('margin-left', '+400px');
			timer += 150;
			slidefxs[i] = new Fx.Style(el, 'margin-left', {
				duration: 800,
				transition: Fx.Transitions.bounceOut,
				wait: false,
				onComplete: mSite.createOverTitle.pass([el, i])
			});
			slidefxs[i].start.delay(timer, slidefxs[i], 0);
		}, this);

	},
	createOverTitle: function(el, i){
		var first = el/*.getFirst()*/;
		if (!el /*|| first.getTag() != 'a'*/) return;
		var overfxs = new Fx.Styles(el, {'duration': 200, 'wait': false});
		var tocolor = 'FC7905';
		var fromcolor = '333333';

		el.addEvent('mouseover', function(){
                        overfxs.start({
				'color': tocolor,
				'margin-left': 10
			});
		});
		el.addEvent('mouseout', function(){
			overfxs.start({
				'color': fromcolor,
				'margin-left': 0
			});
		});
	},

        /** *******************
         *  Animation des liens
         ******************* */
	createLink: function(){
           $$('.up').each(function(el){
            	el.onclick = function() {
	            new Fx.Scroll(window).toTop();
	            return false;
	        };
           });
           /*$('up').onclick = function() {
	   new Fx.Scroll(window).toTop();
	   return false;
	  };
	  */
	  /*var as = $$('#content a');
          as.each(function(el){
          	var overfxs = new Fx.Styles(el, {'duration': 500, 'wait': false});
		var tocolor = 'BF3F00';
		var fromcolor = 'FC7905';

		el.addEvent('mouseover', function(){
                        overfxs.start({
				'color': tocolor
			});
		});
		el.addEvent('mouseout', function(){
			overfxs.start({
				'color': fromcolor
			});
		});
            });
            */
        },


        /** *******************
         *  Animation des blocs accordéons
         ******************* */
        makeAccordion: function(){
            $$('ul.Accordion').each(function(el){
    		new Accordion(el.getElements('li.stretchtoggle'), el.getElements('li.stretcher'),{'display': defaultTab, 'duration': 300,'alwaysHide':true });
               /* NOTE : la variable defaultTab est défini dans le controler php */
   
    	    });
    	    
            // affichage des articles en accordéons
            if(accordionMode){    // design accordionMode de la BD

                $$('#content').each(function(el){
        	    new Accordion(el.getElements('.h'), el.getElements('.in'),{'display': -1,'duration': 400,'alwaysHide':true});
                   /* NOTE : la variable accordionMode est défini dans le controler php */
                });
            }

            // affichage des articles en mode tabMode
            if(tabMode){   // mode avec onglets
                 var stretchers = document.getElementsByClassName('box2');
		 var toggles = document.getElementsByClassName('tab');
		 var myAccordion = new Fx.Accordion(
		     toggles, stretchers, {opacity: false, height: true, duration: 600,  fixedHeight: 2000}
		     );

		toggles.each(function(el){
            	    var overfxs = new Fx.Styles(el, {'duration': 200, 'wait': false});
        	    el.addEvent('mouseover', function(){
                               overfxs.start({
        				'margin-left': 8
        				,'margin-right': 8
        			});
        	    });
        	    el.addEvent('mouseout', function(){
        			overfxs.start({
        				'margin-left': 0
        				,'margin-right': 1
                	    });
                	});
                });

                //hash functions
		/*var found = false;
		toggles.each(function(h3, i){
			var div = Element.find(h3, 'nextSibling');
			if (window.location.href.indexOf(h3.title) > 0) {
				myAccordion.showThisHideOpen(div);
				found = true;
			}
		});
		if (!found) myAccordion.showThisHideOpen(stretchers[0]);*/
	    }

        } ,
        
        /** *******************
         *  Animation page projet
         ******************* */
        createProject: function(){
    	    //height effect
    	    var myHeight2 = new Fx.Height('box2');
    	    $('project2').onclick = function() {
    		myHeight2.toggle();
    		};

    	    //height effect
    	    var myHeight3 = new Fx.Height('box3');
    	    $('project3').onclick = function() {
    		myHeight3.toggle();
    		};

    	    //height effect
    	    var myHeight4 = new Fx.Height('box4');
            $('project4').onclick = function() {
    		myHeight4.toggle();
    		};

            myHeight2.hide();
    	    myHeight3.hide();
    	    myHeight4.hide();

            // liste déroulante : choix type de document
            $('type_proj').onchange = function(){
                 if($('type_proj').options[$('type_proj').selectedIndex].text != "site web"){
                    myHeight2.show();
                    myHeight3.start(0);
                 }
                 else{
                    myHeight3.show();
                    myHeight2.start(0);
                 }
            }

            var sideblocks = $$('.head-box');
            sideblocks.each(function(el){
                var overfxs = new Fx.Styles(el, {'duration': 200, 'wait': false});
                el.addEvent('mouseover', function(){
                     overfxs.start({
			'padding-left': 10
		  });
      	        });
    	        el.addEvent('mouseout', function(){
		overfxs.start({
			'padding-left': 0
		  });
	        });
            });
        } ,

        /** *******************
         *  Animation des images
         ******************* */
        createImage: function(){
             $$('#content img').each(function(el){
                var overfxs = new Fx.Styles(el, {'duration': 200, 'wait': false});

		el.addEvent('mouseover', function(){
                        overfxs.start({
				'width': '205px'
			});
		});
		el.addEvent('mouseout', function(){
			overfxs.start({
				'width': '200px'
			});
		});
             });
        }
};

window.addEvent('domready', mSite.start);

