/* Author: 

*/

$(document.body).removeClass('no-js');



$(function () {
    
   
    $('#news').drawers();
    $('#events').drawers();
	$('.membership-nav').fancyDropdowns();
    
	$(window).resize(function(){
		
		if (document.documentElement.clientWidth > 480) {
			$.equalHeights('.equal');
		}
		else
		{
			$.removeEqualHeights('.equal');
		}
		
	});
    
    if (document.documentElement.clientWidth > 480) {
    	
    	$.equalHeights('.equal');
    	
    	twitter.init();
    	input.init();
    }
    
    
    if ($('.tabs').length) tabs.init();
    
    if ($('.board').length) {
        tabs.init({
			container: '.board-wrapper',
            holder: '.board-holder',
            wrapper: '.board-holder ul',
            tab: '.board-holder li',
            navigation: '.board-navigation',
            active: 'active',
            speed: 200
        });
    }
});




/*********************************************** 
			Input field value toggler
***********************************************/

$('input:text:not(.search-field), input:password, textarea')
	.each(function () { 
		var $el = $(this); 
		$el.data('default', $el.val()); 
	})
	.bind({
	    focus: function () {
	    	var $el = $(this);
	        if ($el.val() === $el.data('default'))
	            $el.val('');
	    },
	    blur: function () {
	    	var $el = $(this);
	        if ($el.val() === '')
	            $el.val($el.data('default'));
	    }
	});


/*********************************************** 
			Search box focus
***********************************************/

var input = {
	
	settings : {
		container : '.search',
		text : 'Enter keywords'
	},
	
	init : function(container, text) {
		
		var	me = this,
			settings = this.settings;
		
		if(container != null) 
			settings.container = container;
		if(text != null) 
			settings.text = text;
			
		var	$container = $(settings.container),
			$element = $container.find('label'),
			$input = $container.find('input[type=text]');
			
		$element.text(settings.text).css({ 'overflow' : 'hidden', 'white-space' : 'nowrap' }).show();
		$input.attr('value', '');
		
		var textwidth = $element.width();
		var textsize = $element.css('font-size');
		
		$element.click(function(){
			$input.focus();
		});
				
		$input.keyup(function() {
			$element.animate({ width: 0, fontSize: "0px", opacity: 0 }, 20);
		});
			
		$input.blur(function(){
			if($input.val().length === 0) {
				$element.animate({ width: textwidth, fontSize: textsize, opacity: 1 }, 20);
			}
		});
		
	}	
}

/*********************************************** 
			twitter
***********************************************/

var twitter = {

    settings: {
        container: '#twitter',
        interval: 8000
    },

    init: function () {

        var settings = this.settings;

        $(settings.container).jTweetsAnywhere({
            username: 'EphMRA',
            count: 5,
            showTweetFeed: {
                showInReplyTo: false
            }
        }).find('ul').addClass('clearFix');
        intervalID = setInterval(twitter.slideSwitch, 6000);

    },

    slideSwitch: function () {

        var settings = twitter.settings,
            $container = $(settings.container);

        var $active = $container.find('li.active');

        if ($active.length == 0) $active = $container.find('li:first').addClass('active').css('opacity', 1);

        var $next = $active.next().length ? $active.next() : $container.find('li:first');

        $active.animate({ opacity: 0.0 }, 1000, function () {
            $(this).removeClass('active last-active')
            $next.css('opacity', 0).addClass('active').animate({ opacity: 1.0 }, 1000);
        });

    }

}

/*********************************************** 
			tabs
***********************************************/

var tabs = {

    settings: {
        container: '.tab-container',
        holder: '.tab-holder',
        wrapper: '.tab-wrapper',
        tab: '.tab',
        navigation: '.tab-nav',
        active: 'tab-active',
        speed: 200
    },

    init: function (settings) {

        if (settings != null)
            tabs.settings = settings;

        settings = tabs.settings;

        $(settings.container).each(function () {

            var $container = $('#' + $(this).attr('id')),
                $wrapper = $(settings.wrapper, $container),
			    $tabs = $(settings.tab, $container),
			    $navigation = $(settings.navigation, $container);

           
            $('li:first a', $navigation).addClass(settings.active);
            
            $tabs
            	.css({ 
            		position: 'absolute', 
            		top: '0px', 
            		left: '0px' 
            	})
            	.each(function (index, value) {
	                $item = $(this);
	
	                if (index != 0) {
	                    $item.css({ opacity: 0, zIndex: 0 });
	                }
	                else {
	                    $item.addClass(settings.active).css('z-index', 1000);
	                }
	            });
            
            
            $wrapper.css({ position: 'relative', height: $tabs.eq(0).outerHeight() });

            $('a', $navigation).click(function () {
                tabs.switchTab($(this), $container);
                return false;
            });

        });

    },

    switchTab: function (item, $container) {
    
        $item = $(item);
        settings = tabs.settings;
        
        if (!$item.hasClass(settings.active)) {

            var $id = $($item.attr('href')),
                $wrapper = $(settings.wrapper, $container),
                $navigation = $(settings.navigation, $container);
                
            
            if ($id != null) {
                $('.' + settings.active, $navigation).removeClass(settings.active);
                $item.addClass(settings.active);
                $('.' + settings.active, $wrapper).animate({ opacity: 0 }, settings.speed).css('z-index', 0).removeClass(settings.active);
                $id.animate({ opacity: 1 }, settings.speed).css('z-index', 1000).addClass(settings.active);
                $wrapper.animate({ height: $id.outerHeight() }, settings.speed);
            }

        }
    }

}


/*********************************************** 
			CSS2 fix for type selectors
***********************************************/


var changeInputs = function() {

	var $inputs = $('input');
	
	$inputs.each(function(){
	
		$el = $(this);
		
		if ($el.attr('type')) {
		
			switch($el.attr('type')){
				
				case 'text':
					$el.addClass('text-field');
					break;
				
				case 'password':
					$el.addClass('password-field');
					break;
					
				case 'button':
					$el.addClass('button');
					break;					
			}
		}
	})

}()
