var currentMarathon = 0;
var currentPage = 'i01';
var firstTime = true;
   
function showMarathon(marathon) {
    if (marathon == 0) {
        $('marathons').style.visibility = 'visible';
        $('marathon-content').style.visibility = 'hidden';
        if (currentMarathon != 0) {
            $(currentMarathon).style.visibility = 'hidden';
        }
    } else {
        currentMarathon = 'd' + marathon;
        $(currentMarathon).style.visibility = 'visible';
        $('marathon-content').style.visibility = 'visible';
        $('marathons').style.visibility = 'hidden';
    }
}

function pageFlip(page) {
    
    $(currentPage).style.visibility = 'hidden';
    
    magazineFlip(page.substring(1).toInt());

    currentPage = page;
    $(page).style.visibility = 'visible';
    
}

function magazineFlip(page) {
  
    var cP = currentPage.substring(1).toInt();
    var dir = page - cP;
    var flag = true;
    
    if (dir >= 0) {
      
        if (dir == 0 && !firstTime) {
            return;
        }
    
        $('rightpage').setStyle('background-position', '-155px ' + (-189 * page) + 'px');
              
        (function() {
                $('flip').setStyle('background-position', 'top center');
                $('leftpage').setStyle('background-position', '0 ' + (-189 * page) + 'px');
            }
        ).delay(200);
        $('flip').setStyle('background-position', '0 ' + (-210 * (page - 1)) + 'px');
  
        firstTime = false;
  
    } else if (dir < 0) {
          $('leftpage').setStyle('background-position', '0 ' + (-189 * page) + 'px');
                
          (function() {
                  $('flip').setStyle('background-position', 'top center');
                  $('rightpage').setStyle('background-position', '-155px ' + (-189 * page) + 'px');
              }
          ).delay(200);
              
          $('flip').setStyle('background-position', '0 ' + (-210 * page) + 'px');
    }
 
}

Fx.FlyingScroller = Fx.Styles.extend({
    initialize: function(el, options) {
        this.parent(el, options);
        this.options = Object.extend(this.options || {}, Object.extend({
            paddingLeft: 0,
            paddingTop: 0
        }, options || {}));
    },
    increase: function() { 
        for (var p in this.now) {
            this.element[p] = this.now[p];
        }
    },  
    toElement: function(el, paddingLeft, paddingTop) {
        this.goTo(el.offsetLeft - (paddingLeft || this.options.paddingLeft || 0), el.offsetTop - (paddingTop || this.options.paddingTop || 0));
    },
    goTo: function(x, y) {
        this.start({
            'scrollLeft': [this.element.scrollLeft, x],
            'scrollTop': [this.element.scrollTop, y]
        })
    }
});

var configMain = {
  
    start: function() {
        window.defaultStatus = '';
        configMain.prepareNavigation();
    },
    
    prepareNavigation: function() {
        var images = ['images/loading-bar.gif',
                      'images/loader.jpg',
                      'images/bg0.jpg',
                      'images/alt/marathons.jpg',
                      'images/alt/interviews.jpg',
                      'images/alt/friends.jpg',
                      'images/alt/teddy.jpg',
                      'images/sponsors/puma.gif',
                      'images/sponsors/aida.gif',
                      'images/sponsors/kilometro43.gif',
                      'images/sponsors/fotorengifo.gif'
                      ]
        new Asset.images(images, {
            onComplete: function() {
                var fx = new Fx.Styles($('progress'), {duration:2000, wait:false });
                fx.start({ 'opacity': 0 });
                $('main-container').setStyle('visibility', 'visible');
            }
        });
    }
}

var configInterviews = {
  
    start: function() {
        window.defaultStatus = '';
        configInterviews.prepareNavigation();
    },
    
    prepareNavigation: function() {
        var images = ['images/loading-bar.gif',
                      'images/interviews-bg.jpg',
                      'images/text-bg.png',
                      'images/interviews/3d.png',
                      'images/interviews/magazine.png']
        new Asset.images(images, {
            onProgress: function(i) {
                var percent = (i*100 / images.length).toInt(); 
                $E('#progress .bar').setHTML(percent + ' %');
            },          
            onComplete: function() {
                var fx = new Fx.Styles($('progress'), {duration:2000, wait:false });
                fx.start({ 'opacity': 0 });
                $('content').setStyle('visibility', 'visible');
            }
        });
    }
}

var configMarathons = {
  
    start: function() {
        window.defaultStatus = '';
        configMarathons.prepareNavigation();
    },
    
    prepareNavigation: function() {
        var images = ['images/loading-bar.gif',
                      'images/subway.jpg',
                      'images/ref.png',
                      'images/marathons-bg.jpg',
                      'images/close.jpg',
                      'images/tedy-orange.jpg',
                      'images/flags.png',
                      'images/certs/certificados-018-mini.jpg',
                      'images/42k/maratones-002-mini.jpg',
                      'images/certs/certificados-000-mini.jpg',
                      'images/42k/maratones-003-mini.jpg',
                      'images/42k/maratones-004-mini.jpg',
                      'images/certs/certificados-001-mini.jpg',
                      'images/42k/maratones-005-mini.jpg',
                      'images/certs/certificados-002-mini.jpg',
                      'images/42k/maratones-007-mini.jpg',
                      'images/certs/certificados-003-mini.jpg',
                      'images/certs/certificados-019-mini.jpg',
                      'images/numbers/numbers-001-mini.jpg',
                      'images/certs/certificados-019-mini.jpg',
                      'images/42k/maratones-010-mini.jpg',
                      'images/42k/maratones-011-mini.jpg',
                      'images/certs/certificados-004-mini.jpg',
                      'images/42k/maratones-013-mini.jpg',
                      'images/certs/certificados-005-mini.jpg',
                      'images/42k/maratones-014-mini.jpg',
                      'images/42k/maratones-015-mini.jpg',
                      'images/certs/certificados-006-mini.jpg',
                      'images/42k/maratones-017-mini.jpg',
                      'images/certs/certificados-007-mini.jpg',
                      'images/42k/maratones-018-mini.jpg',
                      'images/numbers/numbers-003-mini.jpg',
                      'images/42k/maratones-020-mini.jpg',
                      'images/42k/maratones-021-01-mini.jpg',
                      'images/42k/maratones-021-02-mini.jpg',
                      'images/42k/maratones-022-mini.jpg',
                      'images/42k/maratones-023-01-mini.jpg',
                      'images/42k/maratones-023-02-mini.jpg',
                      'images/42k/maratones-023-03-mini.jpg',
                      'images/42k/maratones-024-mini.jpg',
                      'images/42k/maratones-025-mini.jpg',
                      'images/42k/maratones-026-mini.jpg',
                      'images/42k/maratones-027-mini.jpg',
                      'images/certs/certificados-020-mini.jpg',
                      'images/numbers/numbers-002-mini.jpg',
                      'images/42k/maratones-028-mini.jpg',
                      'images/42k/maratones-029-mini.jpg',
                      'images/42k/maratones-030-mini.jpg',
                      'images/42k/maratones-034-mini.jpg',
                      'images/42k/maratones-035-mini.jpg',
                      'images/numbers/numbers-004-mini.jpg',
                      'images/42k/maratones-037-mini.jpg',
                      'images/numbers/numbers-005-mini.jpg',
                      'images/numbers/numbers-006-mini.jpg',
                      'images/42k/maratones-039-mini.jpg',
                      'images/42k/maratones-040-mini.jpg',
                      'images/certs/certificados-022-mini.jpg',
                      'images/42k/maratones-041-mini.jpg',
                      'images/numbers/numbers-007-mini.jpg',
                      'images/42k/maratones-042-01-mini.jpg',
                      'images/42k/maratones-042-02-mini.jpg',
                      'images/certs/certificados-023-mini.jpg',
                      'images/numbers/numbers-008-mini.jpg',
                      'images/42k/maratones-044-01-mini.jpg',
                      'images/42k/maratones-044-02-mini.jpg',
                      'images/numbers/numbers-009-mini.jpg',
                      'images/42k/maratones-045-01-mini.jpg',
                      'images/42k/maratones-045-02-mini.jpg',
                      'images/certs/certificados-024-mini.jpg',
                      'images/numbers/numbers-010-mini.jpg',
                      'images/certs/certificados-025-mini.jpg',
                      'images/42k/maratones-049-mini.jpg',
                      'images/42k/maratones-050-01-mini.jpg',
                      'images/42k/maratones-050-02-mini.jpg',
                      'images/42k/maratones-051-01-mini.jpg',
                      'images/42k/maratones-051-02-mini.jpg',
                      'images/42k/maratones-051-03-mini.jpg',
                      'images/42k/maratones-052-mini.jpg',
                      'images/42k/maratones-053-01-mini.jpg',
                      'images/42k/maratones-053-02-mini.jpg',
                      'images/certs/certificados-026-mini.jpg',
                      'images/42k/maratones-054-01-mini.jpg',
                      'images/42k/maratones-054-02-mini.jpg',
                      'images/42k/maratones-055-01-mini.jpg',
                      'images/42k/maratones-055-02-mini.jpg',
                      'images/42k/maratones-055-03-mini.jpg',
                      'images/42k/maratones-056-mini.jpg',
                      'images/42k/maratones-057-01-mini.jpg',
                      'images/42k/maratones-057-02-mini.jpg',
                      'images/42k/maratones-057-03-mini.jpg',
                      'images/42k/maratones-057-04-mini.jpg',
                      'images/certs/certificados-027-mini.jpg',
                      'images/42k/maratones-058-01-mini.jpg',
                      'images/42k/maratones-058-02-mini.jpg',
                      'images/certs/certificados-028-mini.jpg',
                      'images/42k/maratones-059-01-mini.jpg',
                      'images/42k/maratones-059-02-mini.jpg',
                      'images/42k/maratones-060-01-mini.jpg',
                      'images/42k/maratones-060-02-mini.jpg',
                      'images/certs/certificados-029-mini.jpg',
                      'images/medals/medal-001.jpg',
                      'images/medals/medal-002.jpg',
                      'images/medals/medal-003.jpg',
                      'images/medals/medal-004.jpg',
                      'images/medals/medal-005.jpg',
                      'images/medals/medal-006.jpg',
                      'images/medals/medal-007.jpg',
                      'images/medals/medal-008.jpg',
                      'images/medals/medal-009.jpg',
                      'images/medals/medal-010.jpg',
                      'images/medals/medal-011.jpg',
                      'images/medals/medal-012.jpg',
                      'images/medals/medal-013.jpg',
                      'images/medals/medal-014.jpg',
                      'images/medals/medal-015.jpg',
                      'images/medals/medal-016.jpg',
                      'images/medals/medal-017.jpg',
                      'images/medals/medal-018.jpg',
                      'images/medals/medal-019.jpg',
                      'images/medals/medal-020.jpg',
                      'images/medals/medal-021.jpg',
                      'images/medals/medal-022.jpg',
                      'images/medals/medal-023.jpg',
                      'images/medals/medal-024.jpg',
                      'images/medals/medal-025.jpg',
                      'images/medals/medal-026.jpg',
                      'images/medals/medal-027.jpg',
                      'images/medals/medal-028.jpg',
                      'images/medals/medal-029.jpg',
                      'images/medals/medal-030.jpg',
                      'images/medals/medal-031.jpg',
                      'images/medals/medal-032.jpg',
                      'images/medals/medal-033.jpg',
                      'images/medals/medal-034.jpg',
                      'images/medals/medal-035.jpg',
                      'images/medals/medal-036.jpg',
                      'images/medals/medal-037.jpg',
                      'images/medals/medal-038.jpg',
                      'images/medals/medal-039.jpg',
                      'images/medals/medal-040.jpg',
                      'images/medals/medal-041.jpg',
                      'images/medals/medal-042.jpg',
                      'images/medals/medal-043.jpg',
                      'images/medals/medal-044.jpg',
                      'images/medals/medal-045.jpg',
                      'images/medals/medal-046.jpg',
                      'images/medals/medal-047.jpg',
                      'images/medals/medal-048.jpg',
                      'images/medals/medal-049.jpg',
                      'images/medals/medal-050.jpg',
                      'images/medals/medal-051.jpg',
                      'images/medals/medal-052.jpg',
                      'images/medals/medal-053.jpg',
                      'images/medals/medal-054.jpg',
                      'images/medals/medal-055.jpg',
                      'images/medals/medal-056.jpg',
                      'images/medals/medal-057.jpg',
                      'images/medals/medal-058.jpg',
                      'images/medals/medal-059.jpg',
					  'images/medals/medal-060.jpg']
        new Asset.images(images, {
            onProgress: function(i) {
                var percent = (i*100 / images.length).toInt();
                if (percent > 100) { percent = 100; }
                $E('#progress .bar').setHTML(percent + ' %');
            },          
            onComplete: function() {
                var fx = new Fx.Styles($('progress'), {duration:2000, wait:false });
                fx.start({ 'opacity': 0 });
                $('marathons').setStyle('visibility', 'visible');
            }
        });
    }
}

var configFriends = {
  
    start: function() {
        window.defaultStatus = '';
        configFriends.prepareNavigation();
    },
    
    prepareNavigation: function() {
        var images = ['images/loading-bar.gif',
                      'images/friends-bg.jpg',
                      'images/text-bg.png',
                      'images/friends/amigos-001-mini.jpg',
                      'images/friends/amigos-002-mini.jpg',
                      'images/friends/amigos-003-mini.jpg',
                      'images/friends/amigos-004-mini.jpg',
                      'images/friends/amigos-007-mini.jpg',
                      'images/friends/amigos-005-mini.jpg',
                      'images/friends/amigos-006-mini.jpg',
                      'images/friends/amigos-008-mini.jpg',
                      'images/friends/amigos-009-mini.jpg',
                      'images/friends/amigos-010-mini.jpg',
                      'images/friends/amigos-011-mini.jpg',
                      'images/friends/amigos-012-mini.jpg',
                      'images/friends/amigos-013-mini.jpg',
                      'images/friends/amigos-014-mini.jpg',
                      'images/friends/amigos-015-mini.jpg',
                      'images/friends/amigos-016-mini.jpg',
                      'images/friends/amigos-017-mini.jpg',
                      'images/friends/amigos-018-mini.jpg',
                      'images/friends/amigos-019-mini.jpg',
                      'images/friends/amigos-021-mini.jpg',
                      'images/friends/amigos-020-mini.jpg',
                      'images/friends/amigos-020-mini.jpg',
                      'images/friends/amigos-022-mini.jpg',
                      'images/friends/amigos-023-mini.jpg',
                      'images/friends/amigos-025-mini.jpg',
                      'images/friends/amigos-026-mini.jpg',
                      'images/friends/amigos-027-mini.jpg',
                      'images/friends/amigos-028-mini.jpg',
                      'images/friends/amigos-024-mini.jpg',
                      'images/friends/amigos-030-mini.jpg',
                      'images/friends/amigos-031-mini.jpg']
        new Asset.images(images, {
            onProgress: function(i) {
                var percent = (i*100 / images.length).toInt(); 
                $E('#progress .bar').setHTML(percent + ' %');
            },          
            onComplete: function() {
                var fx = new Fx.Styles($('progress'), {duration:2000, wait:false });
                fx.start({ 'opacity': 0 });
                $('friends-container').setStyle('visibility', 'visible');
                $('menu-bar').setStyle('visibility', 'visible');
            }
        });
        
        var scroll = new Fx.Scroll('friends-container', {
            wait: false,
            duration: 2500,
            offset: {'x': -200, 'y': -50},
            transition: Fx.Transitions.Quad.easeInOut
        });
        
        $('link1').addEvent('click', function(event) {
            event = new Event(event).stop();
            scroll.toElement('quad1');
        });
        $('link2').addEvent('click', function(event) {
            event = new Event(event).stop();
            scroll.toElement('quad2');
        });
        $('link3').addEvent('click', function(event) {
            event = new Event(event).stop();
            scroll.toElement('quad3');
        });
        $('link4').addEvent('click', function(event) {
          	event = new Event(event).stop();
          	scroll.toElement('quad4');
        });        
    }
}

var configAbout = {
    start: function() {
        window.defaultStatus = '';
        configAbout.prepareNavigation();
    },
    
    prepareNavigation: function() {
        var images = ['images/loading-bar.gif',
                      'images/teddy-bg.jpg',
                      'images/tedy-orange2.jpg',
                      'images/others/slider.png',
                      'images/others/knob.png',
                      'images/others/otras-001-mini.jpg',
                      'images/others/otras-002-mini.jpg',
                      'images/others/otras-003-mini.jpg',
                      'images/others/otras-004-mini.jpg',
                      'images/others/otras-005-mini.jpg',
                      'images/others/otras-006-mini.jpg',
                      'images/others/otras-007-mini.jpg',
                      'images/others/otras-008-mini.jpg',
                      'images/others/otras-009-mini.jpg',
                      'images/others/otras-010-mini.jpg',
                      'images/others/otras-011-mini.jpg',
                      'images/others/otras-012-mini.jpg',
                      'images/others/otras-013-mini.jpg',
                      'images/others/otras-014-mini.jpg',
                      'images/others/otras-015-mini.jpg',
                      'images/others/otras-016-mini.jpg',
                      'images/others/otras-017-mini.jpg',
                      'images/others/otras-018-mini.jpg',
                      'images/others/otras-019-mini.jpg',
					  					'images/others/otras-020-mini.jpg',
											'images/others/otras-021-mini.jpg',
											'images/others/otras-022-mini.jpg',
											'images/others/otras-023-mini.jpg',
											'images/others/otras-024-mini.jpg']
        new Asset.images(images, {
            onProgress: function(i) {
                var percent = (i*100 / images.length).toInt(); 
                $E('#progress .bar').setHTML(percent + ' %');
            },          
            onComplete: function() {
                var fx = new Fx.Styles($('progress'), {duration:2000, wait:false });
                fx.start({ 'opacity': 0 });
                $('about-container').setStyle('visibility', 'visible');
            }
        });
    
        var scroller = new Fx.Scroll('carrousel-container', {
            duration: 1500,
            transition: Fx.Transitions.Back.easeInOut,
	          wait: false
	      });
        
        var slide = new Slider($('slider-area'), $('gallery-slider'), {	
            steps: 1050,
            mode: 'horizontal',
            onChange: function(step) {
                scroller.scrollTo(step, 0);
            }
	      }).set(0);    
    
        this.navigation = new Fx.FlyingScroller($('about-content'), {
            transition: Fx.Transitions.Quad.easeInOut,
            duration: 1500,
            paddingLeft: 0,
            paddingTop: 0
        });
        this.navigation.clearTimer().toElement($('content1'));
    }
};

function menuClick(id) {
    configAbout.navigation.clearTimer().toElement($(id));
}
