var getRandomBetween = function(max, min){
    return Math.floor(Math.random()*(max-min+1))+min;
}

var loadRandomVideo = function(){
    $$('div.video').find(function(e){e.style.display = 'none';});
    var vidNumber = Math.floor(getRandomBetween(19, 0)/4);
    videoId = 'video-'+vidNumber;
    $(videoId).style.display = 'block';
}

var hideVideos = function(){
    $('video-guard').style.display = 'none';
    $('videos').style.display = 'none';
}

var removeHash = function(hash){
    if(hash.charAt(0) == '#'){
        return hash.substring(1);
    }else{
        return hash;
    }
}

var S = function(){
    $$('#text div.column').find(function(e){e.style.display = 'none';});
    $('videos').fade({duration: 0.4});
    $('text').style.display = 'block';
    setTimeout(function(){
        new VSC.Effect.DisplayProgressively('#text div.column', 'cols', {interval: 280, duration: 0.6})
    }, 300);
}

var goToHash = function(hash){
    
    if(hash == 'text'){
        S();
    }else if(hash == 'video'){
        loadRandomVideo();
        $('videos').appear({duration: 1.5});
    }else{
        $(hash).appear({duration: 1.5});
    }
    
    if($(currentHash)){
        $(currentHash).fade({duration: 0.7});
    }
    
    currentHash = hash;
}

var currentHash;

Event.observe(window, "load", function() {
    
    $('loading').fade();
    
    $('mce-EMAIL').observe('focus', function(){
        if($F('mce-EMAIL') == 'enter your email address here'){
            $('mce-EMAIL').value = '';
            $('mce-EMAIL').style.color = '#000';
            $('submit-button').disabled = true;
        }
    });
    $('mce-EMAIL').observe('blur', function(){
        if($F('mce-EMAIL') == ''){
            $('mce-EMAIL').value = 'enter your email address here';
            $('mce-EMAIL').style.color = '#999';
        }
    });
    $('mce-EMAIL').observe('keypress', function(){
        $('submit-button').disabled = false;
    });
    
    var hash = removeHash(window.location.hash);
    
    if(!hash){
        goToHash('video');
    }
    
});

document.observe("hash:changed", function(){
    var hash = removeHash(window.location.hash);
    goToHash(hash);
});
