/*******************************************************************************

  CSS on Sails Framework
  Title: EFA Processing
  Author: XHTMLized (http://www.xhtmlized.com/)
  Date: May 2010

*******************************************************************************/


/* Home Carousel
------------------------------------------------------------------------------*/
var homecarousel = function(){
		
		var base;
		var nav;
		var content;
		var current = 0;
		var max = 2;
		var width = 940;
		
		var self = {
				init: function(selector){
					base = $(selector);
					nav = base.find('.carousel-nav');
					content = base.find('#carousel-content-wrapper');
					self.setActive(current);
					self.setupArrow();
					self.setupNav();
				},
				setActive: function(index){
					nav.find('li').removeClass('active');
					nav.find('li').eq(index).addClass('active');
					content.animate({ left: -1 * (width*index) });
					current = index;
				},
				setupArrow: function(){
					base.find('.carousel-arrownav .next').click(function(){
						if(current < max ) self.setActive(++current);
						else self.setActive(0);
						return false;
					});
					base.find('.carousel-arrownav .prev').click(function(){
						if(current > 0) self.setActive(--current);
						else self.setActive(max);
						return false;
					});
				},
				setupNav: function(){
					nav.find('a').click(function(){
						var index = nav.find('li').index($(this).parent());
						self.setActive(index);
						return false;
					});
				}
		};
		return self;
		
}();


/* Graph
var homegraph = function(){
		
		var base;
		var maxHeight 	= 252;
		var ValMax1 		= 900;
		var ValMin1 		= 300;
		var ValMax2 		= 180;
		var ValMin2 		= 60;
		var offset 			= 36;
		
		var self = {
				init: function(selector){
					var labelBottom = '';
					var theGraph = '';
						
					base = $(selector);
					base.find('li').each(function(){
						var bar1,bar2,source1,source2;
						
						source1 = $(this).find('.val-1').text();
						source2 = $(this).find('.val-2').text();
						
						bar1 = Math.ceil( (Number(source1) - ValMin1)  / (ValMax1 - ValMin1) * (maxHeight - offset) ) + offset;
						bar2 = Math.ceil( (Number(source2) - ValMin2)  / (ValMax2 - ValMin2) * (maxHeight - offset) ) + offset;
						
						theGraph += '<li><span class="bar-1" style="height:'+bar1+'px;"></span><span class="bar-2" style="height: '+bar2+'px;"></span></li>';
						labelBottom += '<li>' + $(this).find('strong').text() + '</li>\n';
					});
					self.build(labelBottom, theGraph);
				},
				build: function(labelBottom, theGraph){
					var html =[	'<div id="the-graph">',
											'	<ul class="label-left">',
											'		<li>$800M</li>',
											'		<li>$700M</li>',
											'		<li>$600M</li>',
											'		<li>$500M</li>',
											'		<li>$400M</li>',
											'		<li>$300M</li>',
											'	</ul>',
											'	<ul class="label-right">',
											'		<li>160K</li>',
											'		<li>140K</li>',
											'		<li>120K</li>',
											'		<li>100K</li>',
											'		<li>80K</li>',
											'		<li>60K</li>',
											'	</ul>',
											'	<div class="graph-holder">',
											'		<ul>',
											'			' + theGraph,
											'		</ul>',
											'		<span class="stat-grid"></span>',
											'	</div>',
											'	<ul class="label-bottom">',
											'		' + labelBottom,
											'	</ul>',
											'</div>'].join('\n');
					
					$(html).insertAfter(base);
				}
		};
		return self;
		
}();


------------------------------------------------------------------------------*/

/* Misc
------------------------------------------------------------------------------*/
var misc = function(){
		
		var self = {
				fixCategoryHeight: function(){
					$('#categories').each(function(){
						var active = $(this).find('li.active');
						var subnav = $(this).find('li.active .subcat').outerHeight();
						var index = $('#categories > li').index(active);
						var margin = ((index+1) * 70) + subnav - $(this).height();
						if(margin > 0) $(this).css({'margin-bottom': margin+'px'});
					});
				},
/*				addBullets: function(){
					var i = 1;
					$('.single .article ul > li').each(function(){
						$(this).prepend('<span class="bullet-green"></span>');
					});
					$('.single .article ol > li').each(function(){
						$(this).prepend('<span class="bullet-number">'+(i++)+'</span>');
					});
				},
*/
				btnSubmit: function(){
					$('.btn-submit').click(function(){
						$(this).parents('form').submit();
					});
				}
				
		};
		return self;
		
}();


/* Initialize JS
------------------------------------------------------------------------------*/

$(document).ready(function() {
	homecarousel.init('.section-carousel');
	/*homegraph.init('.stats-data');*/
	
	misc.fixCategoryHeight();
	misc.addBullets();
	misc.btnSubmit();
	
});


/* DD_belatedPNG fix for IE6
------------------------------------------------------------------------------*/
var PNG_fix_selectors = [
    '.carousel-arrownav a',
    '.btn',
		'.btn span',
		'.section-carousel '
];
 
if (typeof DD_belatedPNG !== 'undefined') {
    DD_belatedPNG.fix(PNG_fix_selectors.join(','));
}
