soundManager.url = '_base/files/swf/';
soundManager.debugMode = false;

soundManager.onload = function() {
  mySound = soundManager.createSound('jingleBells','_base/files/jingle-bells.mp3');

};

$(document).ready(function(){
    
    $('#upcoming').cycle({
            fx: 'fade',
            speed: 'slow',
            containerResize: 0,
            slideExpr: 'p',
            timeout: 6200
    });
    
    $('#facebook').cycle({
            fx: 'fade',
            speed: 'slow',
            containerResize: 0,
            slideExpr: 'p',
            timeout: 11000
    });
    
    $('#twitter').cycle({
            fx: 'fade',
            speed: 'slow',
            containerResize: 0,
            slideExpr: 'p',
            timeout: 9800
    });
    
    $('div.terms_overlay').dialog({ modal: true, closeOnEscape: true, position: 'center', draggable: false, width: 500, resizeable: false, autoOpen:false });
	$('p.terms a').click(function() { 
		$('div.terms_overlay').dialog('open');
		return false;		
	});
    
	var characterY = [];
	var headX = [];
	var danceTime = 600;
	var dancing = false;
	var danceInit;

	
	$('#characters section').each(function(){
		var id = $(this).attr('id');
		characterY[id] = $(this).css('top');
		characterY[id] = parseInt( characterY[id] );
		headX[id] = $(this).children().css('left');
		headX[id] = parseInt( headX[id] );
		// console.log( headX[id] );
	});

	
	
	$('#characters section').hover(function(){
		var id = $(this).attr('id');
		var bodyY = characterY[id];
		var hX = headX[id];
		$(this)
			.animate({top: bodyY - 10}, 70, 'swing')
			.animate({top: bodyY}, 70, 'swing');
		if( dancing == false ) {
			$(this).children()
					.animate({rotate: '-6deg', left: hX - 2}, 50)
					.animate({rotate: '6deg', left: hX + 2}, 100)
					.animate({rotate: '-6deg',  left: hX - 2}, 100)
					.animate({rotate: '0deg',  left: hX}, 50, 'swing');			
		}
		
		;
		// console.log(y);
	})
	.click(function(){
		if ( dancing == false ) {
			var id = $(this).attr('id');
			var hX = headX[id];
			$(this)
				.animate({rotate: '-6deg'}, 50)
				.animate({rotate: '6deg'}, 100)
				.animate({rotate: '-6deg'}, 100)
				.animate({rotate: '0deg'}, 50, 'swing');
			if ( dancing == false ) {
				$(this).children()
					.animate({rotate: '3deg', left: hX + 2}, 50)
					.animate({rotate: '-3deg', left: hX - 2}, 100)
					.animate({rotate: '3deg',  left: hX + 2}, 100)
					.animate({rotate: '0deg',  left: hX}, 50, 'swing');
			}
		}
	})
	.dblclick(function(){
		
		if ( dancing == false) {
	  		mySound.play();
			setTimeout(function(){
				dance();
				danceInit = setInterval( dance, danceTime);
				
			}, 1000)
			dancing = true;
			
		} else {
			// $('#characters section').children;			
			clearInterval( danceInit );
			$('#characters section').children().stop().animate({rotate: '0deg'}, danceTime/2);
			dancing = false;
			mySound.stop();
		}
	})
	
	function dance() {
		var dur = danceTime/2;
		$('#characters section').children()
			.animate({rotate: '-6deg'}, dur)	// head sway to
			.animate({rotate: '6deg'}, dur)	// head sway fro
		;
	}
	
	// Make Dem Flakes!
	setInterval(function(){
        snow_spawner(Math.random());
    }, 200);
    
	function snow_spawner(rand){
        var sizes = Array('tiny','small','medium','large');
        var types = Array('a','b','c','d','e');
        var size = sizes[Math.floor(Math.pow(Math.random(),4)*2)];
        var type = types[Math.floor(Math.random()*5)];
        var start = Math.random()*150;
        var end = start - (Math.random()*50);
        var opacity = Math.random()*.4 + .5;
        var duration = Math.max(.5,Math.random())*10000;
        
		$('#snow_flakes')
			.append('<div class="flake '+size+'-'+type+'">')
			.find('div.flake:last').css({top:-40, left:start+'%', opacity:opacity, zIndex: 50})
				.animate({top:"100%",left:end+'%'}, duration, 'linear',
					function(){$(this).remove()
				})
		;
	
	}
            
});
