﻿//------------------------------------
//	ENGAGE.JS
//	Author: 	Engage Interactive
//	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/giraffe/images/giraffefacts/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/giraffe/images/giraffefacts/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;
    }
});