//------------------------------------
//	ENGAGE.JS
//	Author: 	Cesar Mejia
//	Requires:	jquery 1.3.2
//				cufon.js
//				gazz.js
//------------------------------------

//CUFON
Cufon.replace('#other_stuff_slider ul li a', {
	hover: true
});
Cufon.replace('ul.page_nav li a', {
	hover: true
});
Cufon.replace('h2.setCufon');
Cufon.replace('h3');
Cufon.replace('dt.setCufon');
Cufon.replace('a.button');

Cufon.replace('#menu_items .menu_item h3');
Cufon.replace('#menu_list dl dt');

$(function(){
//BEGIN jQuery

	//Replacement for target="_blank"
	$('.external').attr('target','_blank');
	
	//OTHER STUFF NAVIGATION
	$('#other_stuff').mouseenter(function(){
		os = $(this);
		h = os.children('div#other_stuff_slider').outerHeight();
		os.addClass('hover').children('span.top');
		os.stop([]).animate({height:h},400,'easeInOutExpo');
	});
	$('#other_stuff').mouseleave(function(){
		os = $(this);
		os.stop([]).animate({height:65},400,'easeInOutExpo',function(){
			$(this).removeClass('hover');
		});
	});
	
	$('#other_stuff a.top').click(function(){
		return false;
	});
	
	
	// FORM VALUE TITLE SWAP THINGY	
	$('form input[title]').each(function(){
		$(this).attr('value', $(this).attr('title'));
	});
	$('form input[title]').focus(function(){
		if($(this).attr('value') == $(this).attr('title')){
			$(this).attr('value', '');
		}
	});
	$('form input[title]').blur(function(){
		if($(this).attr('value') == $(this).attr('title') || $(this).attr('value') == ''){
			$(this).attr('value', $(this).attr('title'));
		}
	});
	
	
	//POPUP FOR BORING STUFF
	
	popup = false;
	
	$('#privacy, #legal, #ife #adult, #ife #family').click(function(){
		if(popup == false){
			makePopup($(this).attr('href'));
			popup = true;
			return false;
		}
	});


	//POPUP FUNCTION
	function makePopup(url){
		$('html').css({cursor:'wait'});
		$.get(url,function(data){			
			code =
				'<div id="popup">'+
					'<div id="popup_wrapper">'+
						'<a href="#" id="close_popup">Close this popup</a>'+
						data+
					'</div>'+
					'<span class="background"></span>'+
				'</div>';
			$('body').append(code);
			Cufon.refresh('h2.setCufon');
			$('#popup span.background').css({opacity:0.4});
			$('html').removeAttr('style');
		});
	}
	
	//Close the popup and destroy its html! RAAAR!
	$('a#close_popup, #popup span.background').live('click',function(){
		$('#popup').remove();
		popup = false;
		return false;
	});

	
	// RANDOM BAR!
	var iRan = Math.floor( Math.random() * 7 );
	var iCurr = 0;
	$('#random_reload').click(function(){
		var iRan = Math.floor( Math.random() * 7 );
		if(iCurr != iRan){
			$('#randombar').append('<img src="assets/files/images/unefacts/fact_' + iRan + '.gif" alt="A random fact" class="new" />');
			$('#randombar img.new').css({opacity:0}).animate({opacity:1},400,function(){
				$(this).removeClass('new').siblings('img').remove();
			});
			iCurr = iRan;
		}else{
			$(this).click();
		}
		
	});
	
	$('#randombar img').attr('src','assets/files/images/unefacts/fact_' + iRan + '.gif');
	
	
//END jQuery
});

//////////////////////////
// TEENY PLUGINS

/*
 * jQuery Timer Plugin
 * http://www.evanbot.com/article/jquery-timer-plugin/23
 *
 * @version      1.0
 * @copyright    2009 Evan Byrne (http://www.evanbot.com)
 */

jQuery.timer = function(time,func,callback){
	var a = {timer:setTimeout(func,time),callback:null}
	if(typeof(callback) == 'function'){a.callback = callback;}
	return a;
};

jQuery.clearTimer = function(a){
	clearTimeout(a.timer);
	if(typeof(a.callback) == 'function'){a.callback();};
	return this;
};

//EASING

jQuery.extend(jQuery.easing,{
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutExpo: function(x,t,b,c,d){
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	}
});
