$(document).ready(function() {

    /* Made by kuubi.fi */

    function ismobilesafari() {
        if( navigator.userAgent.match( /(iPod|iPhone|iPad)/ ) ) {
            return true;
        } else {
            return false;
        }
    } 
    
    var parallaxActive = true;
    
    if ( ismobilesafari() ) {
        //console.log("Client is an iDevice");
        parallaxActive = false;
        $('#top').css('background-position', '50% 400px');
        $('#bottom').css('background-position', '50% 500px');
    }
        
    var goAhead = true;

    function Controller(){
        
        this.active = 1;
        
        this.update = function(scrollPos) {
            if (goAhead) {

                var pointer = scrollPos+300;
        
                var pos1 = $('#block1 h2').offset().top;
                var pos2 = $('#block2 h2').offset().top;
                var pos3 = $('#block3 h2').offset().top;
                var pos4 = $('#block5 h2').offset().top;
                var pos5 = $('#block6 h2').offset().top;
                
                var pos6 = $('#process').offset().top;
                var pos7 = $('#findus h2').offset().top;

                var newActive;
                
                if ( pointer < pos2 ) {
                    newActive = 1;
                } else if ( pointer >= pos2 && pointer < pos3 ) {
                    newActive = 2;
                } else if ( pointer >= pos3 && pointer < pos4 ) {
                    newActive = 3;
                } else if ( pointer >= pos4 && pointer < pos5 ) {
                    newActive = 4;
                } else if ( pointer >= pos5 && pointer < pos6 ) {
                    newActive = 5;
                } else if ( pointer >= pos6 && pointer < pos7 ) {
                    newActive = 6;
                } else if ( pointer > pos7 ) {
                    newActive = 7;
                } 

                if (newActive != this.active) {

                    this.active = newActive;
                            
                    var scrollerpos = $('#controller'+this.active).position().left;
                    var scrollerwidth = $('#controller'+this.active).width();
                    var scrollercolor = $('#controller'+this.active).css('color');            
                    
                    $('#slider').stop(true).animate({
                        left: (scrollerpos+35),
                        width: scrollerwidth,
                        backgroundColor: scrollercolor
                    }, 300, function(){ goAhead = true; });
                                        
                }
            }
    
        }  
        
        this.activate = function(newActive) {
                    
            if (newActive != this.active) {
                if(goAhead) {
                    
                    goAhead = false;
                
                    this.active = newActive;
                    
                    var scrollerpos = $('#controller'+this.active).position().left;
                    var scrollerwidth = $('#controller'+this.active).width();
                    var scrollercolor = $('#controller'+this.active).css('color');            
                    
                    $('#slider').stop(true).animate({
                        left: (scrollerpos+35),
                        width: scrollerwidth,
                        backgroundColor: scrollercolor
                    }, 300, function(){ });             
                    
                    var newPosition = 0;
                    var scrolloffset = -100;

                    if(this.active == 1) {
                        newPosition = 1310+scrolloffset;
                    } else if(this.active == 2) {
                        newPosition = 1970+scrolloffset;
                    } else if(this.active == 3) {
                        newPosition = 2570+scrolloffset;
                    } else if(this.active == 4) {
                        newPosition = 3540+scrolloffset;
                    } else if(this.active == 5) {
                        newPosition = 4153+scrolloffset;
                    } else if(this.active == 6) {
                        newPosition = 5500+scrolloffset;
                    } else if(this.active == 7) {
                        newPosition = $(document).height() - $(window).height() + 20;
                    }
                    
                    $('html,body').animate({
                        scrollTop: newPosition
                    }, 600, function(){
                        goAhead = true;
                    });
                    
                }
            }
        }            
    }

    function arrowAnim(down) {

        if (down) $('#arrow').animate( { top: '+=10' }, 1000, function() {
            arrowAnim(false);             
        });

        else $('#arrow').animate( { top: '-=10' }, 1000, function() {
            arrowAnim(true); 
        });  

    }

    arrowAnim(true);

    var controller = new Controller();

    var offset = 200;
    
    $('.letter').each(function(){
        var self = $(this);
        
        var m = parseFloat(self.attr('multiplier'));
        
        self.css('background-position', '0px '+( m*offset )+'px');
    });  

    $(window).scroll(function () {
                
        var scroll = $(window).scrollTop();
        
        if (goAhead) controller.update( scroll );
        
        var scrollOffset = offset - (scroll*0.42);

        if (scrollOffset<0) scrollOffset = 0;
        
        $('.letter').each(function(){
            var self = $(this);

            var m = parseFloat(self.attr('multiplier'));
            
            self.css('background-position', '0px '+( m*scrollOffset )+'px');
        }); 
        
        $('#top').css('background-position', '50% '+( -scroll*0.8 )+'px');
                
        $('#bottom').css('background-position', '50% '+( -scroll*0.6 )+'px');
        
        /*if(scroll > 60) {

            var opacity = 1-(scroll - 20) / 600;
            
            if (opacity < 0) opacity = 0;
                        
            $('#bottom').css('opacity', opacity);
        
        } else {
        
            $('#bottom').css('opacity', 1);
            
        }*/

    });

    $('.navi').click(function(){
        if(goAhead) {
            var newActive = $(this).attr('id').substr(10);
            controller.activate(newActive);
        }
    });


    $('.rekrynappi').click(function(){
        $('.rekrybox').animate({height: 'toggle', width: 'toggle'});
    });

});
 
