<!--//

// -----------------------------------------------------------------
// -----------------------------------------------------------------
// 
// Aeon Blu Content Management System
// 
// JavaScript/Jquery Sweetness
// Date: 11/17/09
// Version: 1.0.0
// 
// -----------------------------------------------------------------
// -----------------------------------------------------------------

// Sets a delay. This function is a "jquery plugin", and is chainable
(function($) {
	$.fn.idle = function(time) {
		return this.each(function() {
			var el = $(this);
			el.queue(function() { 
				setTimeout(function() {
					el.dequeue(); 
				}, time);
			});
		});
	}
})(jQuery);

// fixes clear type issues with ie *note: causes conflict with prettyPhoto
/*jQuery.fn.fadeIn = function(speed, callback) { 
    return this.animate({opacity: 'show'}, speed, function() { 
        if (jQuery.browser.msie)  
            this.style.removeAttribute('filter');  
        if (jQuery.isFunction(callback)) 
            callback();  
    }); 
};*/

jQuery.preloadImages = function() {
	var a = (typeof arguments[0] == 'object')? arguments[0] : arguments;
	for(var i = a.length -1; i > 0; i--) {
		jQuery("<img>").attr("src", a[i]);
	}
}

$(document).ready(function() {
	
	if(page == 'home') {
		//$("html,body").scrollTo(0,1500);
	}

	$("#content").fadeIn("slow");

	SiteConfig.init();
	
	Characters.init();
	
	Books.init();
	
	Downloads.init();
	
	Gadgets.init();
	
	Contact.init();
	
	if(page=="home") {
	$(".gallery a[rel^='prettyPhoto']").prettyPhoto({
		theme:'dark_square', // light_rounded / dark_rounded / light_square / dark_square / facebook
		hideflash: true,
		opacity: 1.00,
		callback: function(){ AutoVerticalScroll.goTo("#lab"); },
		markup: '<div class="pp_pic_holder"> \
				<div class="pp_top"> \
					<div class="pp_left"></div> \
					<div class="pp_middle"></div> \
					<div class="pp_right"></div> \
				</div> \
				<div class="pp_content_container"> \
					<div class="pp_left"> \
					<div class="pp_right"> \
						<div class="pp_content"> \
							<div class="pp_fade"> \
								<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
								<div class="pp_loaderIcon"></div> \
								<div class="pp_hoverContainer"> \
									<a class="pp_next" href="#">next</a> \
									<a class="pp_previous" href="#">previous</a> \
								</div> \
								<div class="pp_details clearfix"> \
									<a class="pp_close" href="#">Close</a> \
									<p class="pp_description"></p> \
									<div class="pp_nav"> \
										<a href="#" class="pp_arrow_previous">Previous</a> \
										<p class="currentTextHolder">0/0</p> \
										<a href="#" class="pp_arrow_next">Next</a> \
									</div> \
								</div> \
								<div id="pp_full_res"></div> \
							</div> \
						</div> \
					</div> \
					</div> \
				</div> \
				<div class="pp_bottom"> \
					<div class="pp_left"></div> \
					<div class="pp_middle"></div> \
					<div class="pp_right"></div> \
				</div> \
			</div> \
			<div class="pp_overlay"></div> \
			<div class="ppt"></div>'
	});
	}
	
});



SiteConfig = {
	
	init: function() {		
		$(".modal_content>.content p:last-child").addClass("last");
	}
	
}

Characters = {

	init: function() {
		
		var target = window.location.hash;
		var charactersArr = new Array();
		
		$("#charactersPage .modal .content").each(function() {
			charactersArr.push("#"+$(this).attr("id"));
		});
		
		if( (target.length) && (target != "#") ) {
			if( jQuery.inArray(target, charactersArr) != -1 ) {
				Characters.manualChange(target.replace(/#/,''));
			} else {
				Characters.manualChange("allCharacters");
			}
		}
		
		$("#charactersPage .sideNav .imageNav #characterNav a, #charactersPage .modal .imageNav a, .listNav a").click(function(e) {
			e.preventDefault();
			if(character = this.hash.replace(/#/,'')) {
				Characters.manualChange( character );
			}
		});
		
		$("#charactersPage .sideNav .imageNav #phoneNav a").click(function(e) {
			e.preventDefault();
			if(character = this.hash.replace(/#/,'')) {
				Characters.scrollChange( character );
			}
		});
	},
	
	manualChange: function(character) {
		$("#characters .content").each(function() {
			$(this).css("display","none");
		});
		$("#characters #"+character).fadeIn();
	},
	
	scrollChange: function(nav) {
		var characterCount = $("#characters .content").siblings().length;
		var currentCharacter;
		var nextCharacter;
		var prevCharacter;
						
		$("#characters .content").each(function() {
			
			if($(this).css("display") == "block") {
				var index = $("#characters .content").index(this);
				currentCharacter = $(this).attr("id");
				
				if(index>0) {
					prevCharacter = $(this).prev().attr("id");
				}
				
				if(index<characterCount) {
					nextCharacter = $(this).next().attr("id");
				}
			}
		});
		
		switch(nav) {
			case "prev":
				if(prevCharacter) {
					$("#characters #"+currentCharacter).hide();
					$("#characters #"+prevCharacter).fadeIn();
				}
				break;
				
			case "next":
				if(nextCharacter) {
					$("#characters #"+currentCharacter).hide();
					$("#characters #"+nextCharacter).fadeIn();
				}
				break;
				
			default:
				Characters.manualChange("allCharacters");
				break;
		}
	}

}

Books = {

	init: function() {
		
		var target = window.location.hash;
		var booksArr = new Array();
		
		$("#booksPage .modal .content").each(function() {
			booksArr.push("#"+$(this).attr("id"));
		});
		
		if( (target.length) && (target != "#") ) {
			if( jQuery.inArray(target, booksArr) != -1 ) {
				Books.manualChange(target.replace(/#/,''));
			}
		}
		$(".bookThumb a").click(function(e) {
			e.preventDefault();
			if(currentBook = this.hash.replace(/#/,'')) {
				switchFlipBook(currentBook);
				Books.manualChange(currentBook);
			}
		});
		
		FlipBook.init();
	},
	
	manualChange: function(book) {
		$(".flippingBook").hide();
		$("#"+book).show();
			
		$("#books .content").each(function() {
			$(this).hide();
		});
		$("#books #"+book).fadeIn();		
	}

}

FlipBook = {
	init: function() {
		$("#books h3.title a").click(function(e) {
			e.preventDefault();
			var target = $(this).parent().parent().attr("id");
			$("#"+target).hide();
			$(".flippingBook").fadeIn();
		});
	}
}

Downloads = {
	
	init: function() {
		$("#downloadsPage .contentNav a").click(function(e) {
			e.preventDefault();
			$("#downloadsPage #downloads .content").hide();
			$("#downloadsPage #downloads .content").eq(($(this).attr('rel')-1)).show();			
		});
	}
	
}

Gadgets = {
	
	init: function() {
	
		$("#gadgetThumbs a").click(function(e) {
			e.preventDefault();
			if(currentGadget = this.hash.replace(/#/,'')) {
				Gadgets.manualChange(currentGadget);
			}
		});
	},
	
	manualChange: function(gadget) {
		$("#"+gadget).show();
			
		$("#gadgets .content").each(function() {
			$(this).hide();
		});
		$("#gadgets #"+gadget).fadeIn();		
	}
	
}

Contact = {
	
	init: function() {
		$("#contactPage .listNav a").click(function() {
			if(character = this.hash.replace(/#/,'')) {
				Contact.manualChange( character );
				
				switch(character) {
					case "li":
						characterFullName = 'Li Yung';
						break;
						
					case "zia":
						characterFullName = 'Zia Mendoza';
						break;
						
					case "alek":
						characterFullName = 'Alek Filipov';
						break;
						
					case "kobe":
						characterFullName = 'Kobe Shakur';
						break;
					
					case "max":
						characterFullName = 'Max Johnson';
						break;
						
					case "kate":
						characterFullName = 'Kate Jones';
						break;
						
					case "jack":
						characterFullName = 'Jack Stevens';
						break;
						
					case "mrcain":
						characterFullName = 'Mr. Cain';
						break;
						
					default:
						characterFullName = '';
						break;
					
				}
				
				$("#contactCharacter").attr("value",characterFullName);
			}
		});
	},
	
	manualChange: function(character) {
		$("#contact .content .contactImage").each(function() {
			$(this).css("display","none");
		});
		$("#contact .content #"+character).fadeIn();		
	}
	
}

AutoVerticalScroll = {
	
	init: function() {
		
		AutoVerticalScroll.goTo();
	},
	
	/*
	goTo: function() {
		
		$('a[rel=autoScrollNav]').live("click",function() {
			if ( this.hash.replace(/#/,'') ) {
				var $targetId = $(this.hash), $targetAnchor = $('[name=' + this.hash.slice(1) +']');
				var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;
				if ($target) {
					var targetOffset = $target.offset().top;
					AutoVerticalScroll.scrollTo($target,3000);
				}
			}
						
			return false;

		});
		
	},
	*/
	goTo: function(selector) {
		var targetOffset = $(selector).offset().top;
		$("html,body").scrollTo($(selector));
	},
	
	scrollTo: function(selector,speed) {
		var targetOffset = $(selector).offset().top;
		$("html,body").scrollTo($(selector), speed, {easing:"easeInOutQuad"} );
	}
}


//-->
