$(document).ready(function() {
	
	var destination = 10;
	var googleAPIKey = 'ABQIAAAA9bByhFZHObZBg46083iSVBQSkl4zmlXjV-tFzMTE97U1YrVVsBQ1dXmWgekY4UUQfpUNr2hhaZHdjQ';
	
	function init(){
		
		// MaxImage Background
		$('img#backgroundImage').maxImage({
			isBackground: true,
			verticalAlign: 'bottom',
			horizontalAlign: 'right',
			zIndex: -10,
			overflow: 'auto'
		});
		
		$('#nav li:last-child').after('<li class="nav_gallery last"><a href="'+siteurl+'pdf/'+partyplanner+'">Party Planner</a></li>');
		
		// Menu Button on side bar
		$('#toggleMenu').click(function(){return false;});		
		if($('body#pg_home').length != 0){
			$('div#container').css("margin-left", "-410px");
			$('div#header').css("margin-left", "-470px");
			$('div#navigation').css("margin-left", "-470px");
			$('div#content').css("display", 'none');
			slideMenu();
		}
		
		if ($('#printPage').length != 0){
			$('#printPage').click(function() {
				window.print();
				return false;
			});
		};
		
		// Render Homepage
		if($('body#pg_home').length == 0) {
			$('img#menu_txt').css('display','none');
			$('#toggleMenu').fadeTo(0, .2).hover(function(){
				$(this).stop().fadeTo("slow", 1);
			}, function(){
				$(this).stop().fadeTo("slow", .2);
			}).click(function(){					
					collapseColumns();
				});			
		}
		
		// Render Menu
		if ($('div#food_menu').length != 0 ) foodMenu();
		
		$('body').supersleight({shim: siteurl+'img/transparent.gif'});		
		
		// DyadCredit
		$('a#dyad_credit').hover(function(){
			$(this).animate({
				'width': '214px',
				'background-position': '0px -13px'
			}, 200);
		}, function(){
			$(this).animate({
				'width': '14px',
				'background-position': '-219px 0px'
			}, 200);
		});
	}
	
	function collapseColumns(){
		var delay = 0;
				
		if ($('#toggleMenu').hasClass('collapsed')){
			
			if ($('#food_menu').length != 0) delay = 250;
							
			$('div#header').animate({"left": "35px"}, {duration: 1000, easing: 'easeOutCubic'});
			$('div#navigation').animate({"left": "35px"}, {duration: 1000, easing: 'easeOutCubic'});
			$('div#container').animate({"left": "0px"}, {duration: 1000, easing: 'easeOutCubic'});
			$('div#content').fadeIn();
							
			if ($('#food_menu').length != 0){	
				window.setTimeout(function(){				
					$('div#food_menu').animate({"left": "445px"}, {duration: 1000, easing: 'easeOutCubic'});
				},delay);
			
				window.setTimeout(function(){
					$('div#menuTop').animate({"opacity": 1}, {duration: 2000, easing: 'easeOutCubic'});
				},delay+900);
			}
			
			$('#toggleMenu').removeClass('collapsed');
		}
		
		else{
			if ($('#food_menu').length != 0) delay = 250;

			if ($('#food_menu').length != 0){
				$('div#menuTop').animate({"opacity": 0}, {duration: 200, easing: 'easeOutCubic'});
				$('div#food_menu').animate({"left": "-505px"}, {duration: 1000, easing: 'easeOutCubic'});
			}		
			window.setTimeout(function(){
				$('div#header').animate({"left": "-505px"}, {duration: 1000, easing: 'easeOutCubic'});
				$('div#navigation').animate({"left": "-505px"}, {duration: 1000, easing: 'easeOutCubic'});
				$('div#container').animate({"left": "-410px"}, {duration: 1000, easing: 'easeOutCubic'});
				$('div#content').fadeOut();
			},delay);
			
			$('#toggleMenu').addClass('collapsed');
		}		
	}
	
	function foodMenu(){		
		var scrollD = true;
		var scrollU = false;		
				
		if ($.browser.msie && $.browser.version == '7.0') { 
			
		}
		else if($.browser.msie){
			if($('body#pg_gallery').length==0) $('#inside').css({'opacity': .73}); 
		}
		else { $('#food_menu').css({'background-color': 'rgba(254,255,255,0.73)'});	}
						
		$('.scroll').mousehold(function(){					
			var direction = $(this).attr("id");			
			if (direction == 'scrollUp') scrollUp();
			if (direction == 'scrollDown') scrollDown();			
			return false;
		});
	}
	
	function scrollDown(){
		var checkOut = checkLimit('down', $("#inside").innerHeight()+destination, destination-10);
		
		if (checkOut){
			destination = destination-10;
			$("#inside").animate({ top: destination}, 80);
		} 		
	}
	
	function scrollUp(){
		var checkOut = checkLimit('up', $("#inside").innerHeight()+destination, destination+10);	
					
		if (checkOut){
			destination = destination+10;
			$("#inside").animate({ top: destination}, 80);
		} 
	}
	
	function checkLimit(dir, diff, destination){		
		if (dir == 'down'){
			if (diff <= 100){ return false }
			else{ return true; }			
		}
		
		else if(dir == 'up'){
			if (destination > 0){ return false; }
			else{ return true; }			
		}	
			
		else{ return false;	};	
	}
	
	function slideMenu(){		
		$('#toggleMenu').click(function(){
			if ($(this).hasClass('expanded')) {
					$(this).removeClass('expanded').fadeTo("slow", 1);
					$('img#menu_txt').fadeIn();
					$('div#header').animate({"left": "0px"}, {duration: 1000, easing: 'easeOutCubic'});
					$('div#navigation').animate({"left": "0px"}, {duration: 1000, easing: 'easeOutCubic'});
					$('div#container').animate({"left": "0px"}, {duration: 1000, easing: 'easeOutCubic'});
					$('div#content').fadeOut();
					return false;
			}
			
			else{
				$(this).addClass('expanded').fadeTo("slow", .2);
				$('img#menu_txt').fadeOut();
				$('div#header').animate({"left": "505px"}, {duration: 1000, easing: 'easeOutCubic'});
				$('div#navigation').animate({"left": "505px"}, {duration: 1000, easing: 'easeOutCubic'});
				$('div#container').animate({"left": "410px"}, {duration: 1000, easing: 'easeOutCubic'});
				$('div#content').fadeIn();
				return false;
			}			
		});
	}
		
	init();
});

jQuery.fn.mousehold = function(timeout, f) {
	if (timeout && typeof timeout == 'function') {
		f = timeout;
		timeout = 100;
	}
	if (f && typeof f == 'function') {
		var timer = 0;
		var fireStep = 0;
		return this.each(function() {
			jQuery(this).mousedown(function() {
				fireStep = 1;
				var ctr = 0;
				var t = this;
				timer = setInterval(function() {
					ctr++;
					f.call(t, ctr);
					fireStep = 2;
				}, timeout);
			})

			clearMousehold = function() {
				clearInterval(timer);
				if (fireStep == 1) f.call(this, 1);
				fireStep = 0;
			}
			
			jQuery(this).mouseout(clearMousehold);
			jQuery(this).mouseup(clearMousehold);
		})
	}
}