/* 
	FDNY Foundation JavaScript
	Author: Michael Adamek
	Email: michael.adamek@gmail.com
*/


var FDNY = FDNY || {};

FDNY.global = FDNY.global || {};

FDNY.global.init =  function() {
	
	//Add placeholder
	function placeHolder() {
		alert('HERE!');
		$('input#email').placeholder();
		$('input#search').placeholder();
	}

	//Add hover class
	var dropdowns = $('#header .nav li.page_item');
	
	dropdowns.each(function() {
		submenu = $(this).find('ul.children');
		$(this).mouseover(function(){
			$(this).find('ul.children').parent().addClass('hover');
			$(this).find('ul.children').css('display', 'block');
		}).mouseout(function(){	
			$(this).find('ul.children').parent().removeClass('hover');
			$(this).find('ul.children').css('display', 'none');
		})
	});
	
	//sets height ~ fixes IE bug
	var height = $(document).height();
	var main = $('#main');
	if (height < 900) {
		main.css('height', '900px');
	}
	
	//Add hover state to IE
	if ($.browser.msie) {
		
		// headerNav = $('#header ul.children li a');
		// headerNav.mouseenter(function() {
		// 	console.log('mouseover');
		// 	thisLink = $(this);
		// 	console.log(thisLink);
		// 	thisLink.css('content', ' >');
		// }).mouseleave(function(){
		// 	console.log('mouseout');
		// 	thisLink.css('content', '');
		// });
		
		asideNav = $('#aside ul.nav li a');
		asideNav.append(' >');
	}		
		
	
};	

FDNY.home = FDNY.home || {};

FDNY.home.init = function() {

	//Slideshow - http://ekallevig.com/jshowoff/
	if ($('#slidingFeatures').length !== 0) {
	
		$('#slidingFeatures').jshowoff({
			changeSpeed	:		600,
			cssClass	:		'custom-nav',
			effect		:		'slideLeft',
			hoverPause	:		false,
			speed		:		5000
		}); 
	
	}	
	
	//var controls = $('.jshowoff-controls').css('display','none');
	var progress = $('.jshowoff-slidelinks').css('display','none');
	
	$('div.jshowoff').mouseover(function(){
		//controls.css('display','block');
		progress.css('display','block');
	}).mouseout(function(){
		//controls.css('display','none');
		progress.css('display','none');
	});

	//Grey scale ~ http://webdesignerwall.com/tutorials/html5-grayscale-image-hover
	if (!$.browser.msie) {
		$(window).load(function(){
		
			// Fade in images so there isn't a color "pop" document load and then on window load
			$(".callout-box img").css('visibility', 'visible');
		
			// clone image
			$('.callout-box img').each(function(){
				var el = $(this);
				el.css({"position":"absolute"}).wrap("<div class='img_wrapper' style='display: inline-block'>").clone().addClass('img_grayscale').css({"position":"absolute","z-index":"998","opacity":"0"}).insertBefore(el).queue(function(){
					var el = $(this);
					el.parent().css({"width":this.width,"height":this.height});
					el.dequeue();
				});
				this.src = grayscale(this.src);
			});
		
			// Fade image 
			$('.callout-box').mouseover(function(){
				rgb = $(this).find('img');
				rgb.parent().find('img:first').stop().animate({opacity:1}, 100);
			})
			$('.callout-box').mouseout(function(){
				bw = $(this).find('.img_grayscale');
				bw.stop().animate({opacity:0}, 100);
			});		
		});
	
		// Grayscale w canvas method
		function grayscale(src){
			var canvas = document.createElement('canvas');
			var ctx = canvas.getContext('2d');
			var imgObj = new Image();
			imgObj.src = src;
			canvas.width = imgObj.width;
			canvas.height = imgObj.height; 
			ctx.drawImage(imgObj, 0, 0); 
			var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);
			for(var y = 0; y < imgPixels.height; y++){
				for(var x = 0; x < imgPixels.width; x++){
					var i = (y * 4) * imgPixels.width + x * 4;
					var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
					imgPixels.data[i] = avg; 
					imgPixels.data[i + 1] = avg; 
					imgPixels.data[i + 2] = avg;
				}
			}
			ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
			return canvas.toDataURL();
	    }
	}
    
    //Fire zone map
    function initialize() {
	    var latlng = new google.maps.LatLng(-34.397, 150.644);
	    var myOptions = {
	    	zoom: 8,
	        center: latlng,
      		mapTypeId: google.maps.MapTypeId.ROADMAP
	    };
	    
	    var map = new google.maps.Map(document.getElementById('map-canvas'), myOptions);
	}    
	
};

FDNY.events = FDNY.events || {};

FDNY.events.init = function() {

	$('.monthformat').each(function(index) {
		d = new Date($(this).text());
		$(this).replaceWith($.format.date(d, "MMM"));
	});
	$('.dayformat').each(function(index) {
		d = new Date($(this).text());
		$(this).replaceWith($.format.date(d, "dd"));
  	});
	$('.learnmore a').each(function(index) {
		$(this).text('Learn more >');
  	});
		
}	

//Dom ready
jQuery(document).ready(function($) { 

    FDNY.global.init();
    FDNY.home.init();
	FDNY.events.init();

});
