//global var declarations
var sound_1up;

soundManager.url = '/system/application/assets/swf/';

//callback function for building the slider nav html
function pagerBuild(index, DOMelement)
{
	var src = String(DOMelement);
	src = src.replace('artwork/', 'artwork/thumbs1/');
	src = src.replace('screenshots/', 'screenshots/thumbs1/');
	return '<a href="#"><img src="'+src+'" alt="'+index+'" /></a>';
}

$(document).ready(function(){
    
    //preload necessary images
    var img_1 = new Image();
    var img_2 = new Image();
    img_1.src = '/system/application/assets/images/block_blank2.png';
    img_2.src = '/system/application/assets/images/1up_small.png';
    
    //PNG transparency fix for IE
    $('body').supersleight({shim: "/system/application/assets/images/transparent.gif"});
    
    //home page image slider
	$('#slider').cycle({
		fx: 'fade',
		speed: 1000,
		timeout: 10000,
		random: 0,
		fit: 1,
		pause: 1,
		pager: '#slider_nav',
		pagerAnchorBuilder: pagerBuild
	});
	
	//jquery corners
    $('.menu_first').corner('keep 4px tl');
    $('.menu_last').corner('4px tr');
    $('#error_404').corner('keep 6px');
    $('#slider_wrap').corner('keep 4px');
	$('#slider_nav a').corner('keep 4px');
    $('#login_head').corner('4px top');
    $('.login_error, .submit_wrap, .error_wrap, .success_wrap, .error_head, .success_head').corner('3px');
    $('.input_field input, .input_field textarea, .input_field select').corner('keep 3px');
    
    //page logo hover
    $('#logo').hover
    (
    	function()
    	{
    		$('#home_hover').show();
    	},
    	function()
    	{
    		$('#home_hover').hide();
    	}
    );
    
    //menu tooltips
    $('#menu a[title]').tooltip(
    {
    	delay: 30,
    	onShow: function()
    	{
    		$('.tooltip').supersleight({shim: "/system/application/assets/images/transparent.gif"});
    	}
    });
	
	//fancybox listeners
	$('a.fancybox').fancybox({
		cyclic: true,
		centerOnScroll: true,
		transitionIn: 'elastic',
		transitionOut: 'elastic',
		overlayOpacity: 0.6,
		overlayColor: '#000',
		titlePosition: 'over',
		titleShow: false
	});
    
    $('a.fancybox_titled').fancybox({
		cyclic: true,
		centerOnScroll: true,
		transitionIn: 'elastic',
		transitionOut: 'elastic',
		overlayOpacity: 0.6,
		overlayColor: '#000',
		titlePosition: 'outside',
		titleShow: true
	});
    
    //slider caption listener
    $('#slider a').hover(
        function() {
            $(this).children('div').fadeIn('fast');
        },
        function() {
            $(this).children('div').fadeOut('fast');
        }
    );
    
    //admin submenu listener
    $('#add_item').click(function(){
        $('.admin_submenu').slideToggle('fast');
        return false;
    });
    
    //twitter feed generation - do this last
    getTwitters('twitter_wrap', { 
        id: 'bulletzbill', 
        count: 1, 
        enableLinks: true, 
        ignoreReplies: false, 
        clearContents: true,
        newwindow: true
    });
});

//sound manager - preload sounds
soundManager.onready(function(oStatus) {
	if (oStatus.success) {
        sound_1up = soundManager.createSound({
	    	id: 'sound1',
            volume: 100,
	    	url: '/system/application/assets/sounds/1up.mp3'
	    });
	}
});


//konami code listener
$(document).konami(function(){
    var offset = $('#question_block').offset();
    
    //play question block sound
    
    //change question block to blank
    $('#question_block').attr('src','/system/application/assets/images/block_blank2.png');
    $('#question_block').attr('title', '');
    
    //create mushroom in DOM and position
    $('body').append('<div class="mushroom">&nbsp;</div>');
    $('.mushroom').css({'top': offset.top-13, 'left': offset.left});
    
    //create mario graphic in DOM and fade in
    $('body').append('<div class="mario">&nbsp;</div>');
    $('.mario').css({'top': offset.top-52, 'left': offset.left+830});
    $('.mario').fadeIn(100);

    $('.mushroom').fadeIn(100, function() //fade in mushroom
    {
    	$('.mushroom').animate({ top: '-=20' },500, function() //move mushroom up 20px
    	{
            $(this).animate({ left: '+=817' }, 7000, function() //move mushroom right 845px
            {
            	//play 1up sound
			    sound_1up.play();

                //remove mushroom from DOM
               $('.mushroom').remove(); 
                
                //fade out mario graphic
                $('.mario').fadeOut(2000);
            });
    	});
    }); 
});