(function(){
        //MENUES OPEN/CLOSE
        OpenMenuLeft = function(){
                menuCountry = $('country');
                if(menuCountry.hasClassName('close')){
                        new Effect.Move('country', { x: 90, y: 0, mode: 'relative', duration: 0.6, fps: 50, transition: Effect.Transitions.EaseToR,
                                afterFinish: function(){
                                        menuCountry.removeClassName('close');
                                }
                        });
                }else{
                        new Effect.Move('country', { x: -90, y: 0, mode: 'relative', duration: 0.6, fps: 50, transition: Effect.Transitions.EaseToR,
                                afterFinish: function(){
                                        menuCountry.addClassName('close');
                                }
                        });
                }
        };
        OpenMenuRight = function(){
                menuAudio = $('audioplayer');
                var posLeft = Element.positionedOffset(menuAudio).left;
                menuAudio.setStyle({left: posLeft+'px'});
                menuAudio.down('.playlist').hide();
                if(menuAudio.hasClassName('close')){
                        new Effect.Move('audioplayer', { x: -120, y: 0, mode: 'relative', duration: 0.6, fps: 50, transition: Effect.Transitions.EaseToR,
                                afterFinish: function(){
                                        menuAudio.removeClassName('close');
                                        Effect.BlindDown(menuAudio.down('.playlist'), { duration: 0.6 });
                                }
                        });
                }else{
                        new Effect.Move('audioplayer', { x: 120, y: 0, mode: 'relative', duration: 0.6, fps: 50, transition: Effect.Transitions.EaseToR,
                                afterFinish: function(){
                                        menuAudio.addClassName('close');
                                }
                        });
                }
        };
        OpenMenu = function(){
                menuTop = $('menu');
                if(menuTop.hasClassName('close')){
                        menuTop.down('nav').show();
                        new Effect.Morph('menu', {style: 'width: 892px;', duration: 0.5, transition: Effect.Transitions.EaseToR,
                                afterFinish: function(){
                                        menuTop.down('nav').setOpacity(0);
                                        menuTop.down('nav').appear({duration: 0.4});
                                        menuTop.removeClassName('close');
                                }
                        });
                }else{
                        menuTop.down('nav').hide();
                        menuTop.addClassName('close');
                        new Effect.Morph('menu', {style: 'width: 200px;', duration: 0.5, transition: Effect.Transitions.EaseToR});
                }
        };
        
        //BOTTOM
        var posBottom;
        SetBottom = function(){
                menuBottom = $('bottom');
                posBottom = Element.positionedOffset(menuBottom).top;
                menuBottom.setStyle({top: posBottom+'px', left: '0px'});
        };
        OpenBottom = function(col_position){
                bottom = $('bottom');
                new Effect.Move(bottom, { x: 0, y: 160, mode: 'absolute', duration: 0.6, fps: 50, transition: Effect.Transitions.EaseToR,
                        afterFinish: function(){
                                menuBottom.removeClassName('close');
                        }
                });
                scrollBottomActive = false;
                scrollBottomStart = bottom.down('.slide-content').positionedOffset().left;
                new Effect.Move(bottom.down('.slide-content'), { x: (scrollBottomStart-(bottom.down('.slide-content').positionedOffset().left+(960*col_position))), y: 0, mode: 'absolute', duration: 0.7, fps: 50, transition: Effect.Transitions.EaseToR,
                    afterFinish: function(){
                        scrollBottomActive = true;
                    }
                });
                
                aBtnBottom = ['.btl', '.tm', '.sm', '.timon'];
                new Effect.Move(bottom.down('.slide-marker'), { x: (bottom.down(aBtnBottom[col_position]).positionedOffset().left+30), y: 66, mode: 'absolute', duration: 0.8, fps: 50, transition: Effect.Transitions.EaseToR});
                
                return false;
        };
        CloseBottom = function(){
                new Effect.Move('bottom', { x: 0, y: posBottom, mode: 'absolute', duration: 0.6, fps: 50, transition: Effect.Transitions.EaseToR,
                        afterFinish: function(){
                                menuBottom.addClassName('close');
                        }
                });
        };
        SetBottom();
        
        //AUDIO
        AudioOnOff = function(){};
        AudioAllOff = function(){};
        AudioPlayTrack = function(){};
        
        //INSTRUCCIONES
        InstruccionesIn = function(){
                $('instructions').appear({duration: 0.5});
        };
        InstruccionesOut = function(){
                $('instructions').fade({duration: 0.5});
        };
        
        //OVERLAY
        OpenOverlay = function(content, className){
                $('job-overlay').appear({duration: 0.8, fps: 50, transition: Effect.Transitions.EaseToR,
                        beforeStart: function(effect){
                                effect.element.down('.content').update(content).hide();
                                if(className != undefined){
                                        effect.element.down('.content').addClassName(className);
                                }
                        },
                        afterFinish: function(effect){
                                effect.element.down('.content').appear();
                        }
                });
        }
        closeOverlay = function(){
                $('job-overlay').fade({duration: 0.8, fps: 50, transition: Effect.Transitions.EaseToR,
                        afterFinish: function(effect){
                                effect.element.down('.content').update().removeClassName('novedades'); //remove className
                                
                        }
                });
        }
        
        //GRAY EFFECT
        grayscaleImageIE = function(imgObj){
                imgObj.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
        };
        
        grayscaleImage = function(imgObj){
                var canvas = document.createElement('canvas');
                var canvasContext = canvas.getContext('2d');
                
                var imgW = imgObj.width;
                var imgH = imgObj.height;
                canvas.width = imgW;
                canvas.height = imgH;
                
                canvasContext.drawImage(imgObj, 0, 0);
                var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);
                
                for(var y = 0; y < imgPixels.height; y++){
                    for(var x = 0; x < imgPixels.width; x++){
                        var i = (y * 4) * imgPixels.width + x * 4;
                        var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
                        imgPixels.data[i] = avg; 
                        imgPixels.data[i + 1] = avg; 
                        imgPixels.data[i + 2] = avg;
                    }
                }
                
                canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
                return canvas.toDataURL();
        };
        
        setGreyscaleImage = function(imgObj){
                if(Prototype.Browser.IE){
                        grayscaleImageIE(imgObj);
                } else {
                        imgObj.src = grayscaleImage(imgObj);
                }
        }
        
        function resetGreyscaleImage(imgObj){
                imgObj.src = imgObj.alt;
        }
        
})();
