// JavaScript Document
$(document).ready(function(){
	//Konami Komando
	if ( window.addEventListener ) {
			var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
			window.addEventListener("keydown", function(e){
					kkeys.push( e.keyCode );
					if ( kkeys.toString().indexOf( konami ) >= 0 )
							window.location = "http://onenyne.com/";
			}, true);
	};
	
	//Login Button
	$('.loginbutton').click(function(){$('.loginbox').animate({height:'80px', padding:'20px'}, {duration:500, easing:'easeOutExpo'});});
	$('.loginclose').click(function(){$('.loginbox').animate({height:'0px', padding:'0px 20px'}, {duration:500, easing:'easeOutExpo'});});
	
	//Submenu
	$('nav > ul > li').has('ul').addClass("submenu");

    //Controls
	var viewport = $('.rotator .items');
    if (Browser.isWebkit && Browser.supportsTouch) {
        var controller = new OneNyne.SwipeObject();
    } else {
        var controller = new OneNyne.SliderObject();
    }

    // Main Slider
    controller.init(viewport, {
        next: $('.rotatornext'),
        previous: $('.rotatorprev')
        });

    controller.subscribe('transition_end', function(c) {
        var page_num = c.page(c.current_x);
        var current = viewport.find('.item').eq(page_num);

        toggleArrows(c, {
            hide: true
        });
    });
    controller.subscribe('end_no_move', function(c) {
        unBindEvent(c.element[0], 'webKitTransitionEnd', c);
    });

    // Scrubber
	$('.rotatorpager').append('<ul class="pagerbuttonholder"></ul>');
	
    for (var i = 0; i < viewport.find('.item').size(); i++) {
        var dot = $('<li class="pagerbutton"><a href="#"></a></li>');
        $('.rotatorpager .pagerbuttonholder').append(dot);
    }
    $('.rotatorpager .pagerbutton').click(function() {
        var index = $(this).index();
        controller.current_x = controller.pageX(index);
        controller.update(controller.current_x);
        return false;
    });

    //Toggle Prev/Next
    function toggleArrows(controller, opts) {
        var opts = jQuery.extend({
            hide: false
        }, opts);

        var page_num = controller.page(controller.current_x);
        if (page_num === controller.structure.item_count - 1) {
            if (opts.hide) {
                controller.opts.next.css({
                    display: 'none'
                });
            } else {
                controller.opts.next.css('opacity', 0.25);
            }
        } else {
            if (opts.hide) {
                controller.opts.next.css({
                    display: 'block'
                });
            } else {
                controller.opts.next.css('opacity', 1);
            }
        }
        if (page_num === 0) {
            if (opts.hide) {
                controller.opts.previous.css({
                    display: 'none'
                });
            } else {
                controller.opts.previous.css('opacity', 0.25);
            }
        } else {
            if (opts.hide) {
                controller.opts.previous.css({
                    display: 'block'
                });
            } else {
                controller.opts.previous.css('opacity', 1);
            }
        }
		$('.rotatorpager .pagerbutton').removeClass('active');
		$('.rotatorpager .pagerbutton:nth-child('+(page_num+1)+')').addClass('active');
    }

    // Autoslide the Features slider
    var ap_count = 1;
    var autoplay = setInterval(function() {
        if (ap_count < $('.rotatorpager .pagerbutton').size()) {
            controller.current_x = controller.limitXBounds(controller.nextPageX(controller.current_x));
            controller.update(controller.current_x, true);
            controller.runHook('move', controller);
            ap_count += 1;
        } else {
            clearTimeout(this);
        }
    }, 15000);

    //Timer Reset
    $('.rotatornext, .rotatorprev, .rotatorpager .pagerbutton').click(function() {
        clearTimeout(autoplay);
    });
    if (Browser.isWebkit && Browser.supportsTouch) {
        window.addEventListener('scroll', function() {
            clearTimeout(autoplay);
        }, false);
    }
    controller.subscribe('first_move', function(c) {
        clearTimeout(autoplay);
    });
	
	toggleArrows(controller, {
            hide: true
	});
});

