$(document).ready(function() {
		    $("h1.rooftop_header").lettering();
		    $("h1.rooftop_header2").lettering();
		    $("h1.danceclub_header").lettering();
		    $("h1.play_header").lettering();
		   
		    onPageLoad();

});


function isScrolledIntoView(elem)
{
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();
	elem = $(elem);
    var elemTop = elem.offset().top + ( elem.attr("rel") ? parseInt( elem.attr("rel")) : 0 );
    var elemBottom = elemTop + elem.height();
	return ((elemTop + 20 >= docViewTop));
    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
}

function scrollCheckNav() {
	
var vi = -1;
	i = _navLinks.length;
	while(--i > -1) {
			if ( isScrolledIntoView(_navLinks[i]) ) {
			
			vi = i;
			}
	}
	

	if (vi >=0) {
	i=vi;
	if (_lastNavIndex != i) {
				_lastNavIndex = i;
				_navMenuLinks.removeClass("active");
				//window.location.hash = "_"+$(navMenuLinksA[i]).attr("href").slice(1);
				$(_navMenuLinks[i]).addClass("active");
			}
	}
	
	//bgimage

	//$("#thespace").css("background-position", "0 "+ Math.round( $(window).scrollTop() * -.5) +"px");
	
	
}

function timerMethod() {
		if (_gotScrolled) {
			
			_gotScrolled = false;
			
			scrollCheckNav();
		}
}

function navigateToMethod(e) {
		 var pageId = $(this).attr("href").slice(1);
		 var targetA =  $("a.navlink[data-pageId="+pageId+"]");
		var targScrollTop = targetA.offset().top + ( targetA.attr("rel") ? parseInt( targetA.attr("rel")) : 0);
		var targ = $('html,body');
		targ.stop();
		targ.animate({
			scrollTop: targScrollTop
}, 2000, "easeInOutCubic"); 

	window.location.hash = "_"+pageId;

	e.preventDefault();
	return false;
}

var _lastNavIndex = -1;
var _scrollParallax = new ScrollParallaxUtil();
var _navLinks;
var _navMenuLinks;
var _gotScrolled = false;
var validator;

function showMsg(msg) {
	$("#subscribe_form").css("display", "none");
	$("#subscribe_done").css("display", "block");
	$("#subscribe_done>p").html(msg);
}

function setupForm() {
	
	
	var elem = $("#subscribe_form");

		validator = elem.validate({
		rules: {
			email: {
				required: true
				,email: true
				,maxlength:40
			},
			mobile: {
				required: true,
				number:true
			},
			"name": {
				required: true
			},
			"dob": {
				required: true
			}
		},
		errorPlacement: function(error, element) {
			
		},
		submitHandler: function(form) {
			//form.submit();
			showMsg("Submitting...");
			///*
			$(form).ajaxSubmit( {
				success: function(responseText) { 
					if (responseText.charAt(responseText.length-1) == "1") {
						showMsg("Thank your for your subscription.");
						form.reset();
					}
					else {
						showMsg("We failed to submit. Please try again later");
						}	
					}
				});
			//	*/
			//form.submit();
		},
		messages: {
			email: "Please enter a valid email",
			"name": "Required name",
			"dob": "Required date of birth",
			"mobile": "Required mobile"
		}
		
	  });
	 // elem.submit( function() { return validator.validate(); } );
	 
	  validator.resetForm();
	 // elem.submit( function() {  return false; } );
	return validator;
}
	
function setupScrolling() {
	$(window).scroll( scrollCheckNav );
	//function() { _gotScrolled = true;  }
	//setInterval(timerMethod, 40);

	// -- Scrolling Parallax
	_scrollParallax.activate();
	var scrollTarget;
	_scrollParallax.addBGPropTween(scrollTarget=$("#thespace"), true, .4, 0, 0, 0); 	scrollTarget.css("background-attachment", "fixed");
	_scrollParallax.addPropTween(scrollTarget=$("#thespace .content"), "top", .2, 0, 0); scrollTarget.css("position", "relative"); 
	_scrollParallax.addBGPropTween(scrollTarget=$("#rooftop"), true, .4, 680, 0, 0); scrollTarget.css("background-attachment", "fixed");
	$("#rooftop").css("background-attachment", "fixed");
	_scrollParallax.addBGPropTween(scrollTarget=$("#danceclub"), true, .1, 1700, 0, 200); scrollTarget.css("background-attachment", "fixed");
	_scrollParallax.addPropTween(scrollTarget=$("#rooftop .header"), "top", .3, 800, 300);
	_scrollParallax.addPropTween(scrollTarget=$("#rooftop .shadow"), "top", -.15, 800, 400);  
	_scrollParallax.addBGPropTween(scrollTarget=$("#bottom"), true, .2, 3100, 0, 0); scrollTarget.css("background-attachment", "fixed");
	_scrollParallax.addPropTween2($("nav#main"), "margin-top", [
			4000, 0, 0,
			4600, 0, 1200
	]);
	_scrollParallax.addPropTween(scrollTarget=$("#radar"), "top", -.05, 2500, 0); scrollTarget.css("position", "relative"); scrollTarget.css("z-index", "9999");
	_scrollParallax.addPropTween(scrollTarget=$("#play"), "top", 0.05, 2500, 0); scrollTarget.css("position", "relative"); 

	//_scrollParallax.addPropTween(scrollTarget=$("#play .play_header"), "top", -.1, 2900, 0); scrollTarget.css("position", "relative"); 
}
var transitionIn =  function() {
	
	// -- Form
	setupForm(); 
	
	
	// -- Fancy box
	var fancyBoxParams = {
		hideOnOverlayClick: false,
		'hideOnContentClick': false,
		showCloseButton: true
	};

	
	$("#modal_boxes>a").fancybox(fancyBoxParams);
	$("#submit_subscribe").click( function() {
		$("#subscribe_form").css("display", "block");
		$("#subscribe_done").css("display", "none");
		$("#subscribe_link").click();
		$("#email").val($("#email2").val());
		return false;
	});

	// -- Nav links
	_navLinks=$("a.navlink");
	 
	 //nav#main li:hover, nav#main li.active {background-position:0 -23px; text-indent:10px; -webkit-transition:all
	 //-webkit-transition:all 0.25s ease-in-out; moz-transition:all 0.25s ease-in-out;-o-transition:all 0.25s ease-in-out;
	 
	 
	 _navMenuLinks = $("nav#main ul li");
	 
	 var navMenuLinksA = $("nav#main ul a");
	 /*
	_navLinks.each( function() {
		var pageId = $(this).attr("name");
		$(this).attr("data-pageId", pageId);
		$(this).attr("name", "xxxxx");
	});
	*/
	 $("#main .logo").click(navigateToMethod);
	 navMenuLinksA.click(navigateToMethod );
	$("#footer .footer_links a").click(navigateToMethod);


	// -- Scrolling Nav
	setupScrolling();

// -- Gallery
function gallerySeek(event, i) {
		var curPage = $($("#pages_gallery>.page")[i]);
		$("#gallery_title").html( $(curPage.children(".title")).html());
		$("#gallery_date").html( $(curPage.children(".date")).html());
}

$("#danceclub_next").click( function() {
	$("#itemHolder").stop();
	$("#itemHolder").animate( {"margin-left":"-800px"}, 800 , "easeInOutCubic");
	$("#danceclub_prev").css("display", "block");
	$(this).css("display", "none");
});

$("#danceclub_prev").click( function() {
	$("#itemHolder").stop();
	$("#itemHolder").animate( {"margin-left":"0px"}, 800 , "easeInOutCubic");
	$("#danceclub_next").css("display", "block");
	$(this).css("display", "none");
});

//.navigator("#main_navi")

$("#radar .slideshow").scrollable({
 // basic settings
	vertical: false,
	next:"#gallery_next",
	prev:"#gallery_prev",
	onSeek: gallerySeek
}).navigator("#main_navi");

$("#radar .scrollable").scrollable().navigator(".navi");

$("#radar .items img").click(function() {

	// see if same thumb is being clicked
	var thisElem = $(this);
	if (thisElem.hasClass("active")) { return; }

	// calclulate large image's URL based on the thumbnail URL (flickr specific)
	var url = thisElem.attr("src").replace("_t", "");

	// get handle to element that wraps the image and make it semi-transparent
	// todo: get parent reference image wrap instead
	var parentPage = $( thisElem.parents(".page")[0] );
	
	var wrap = parentPage.children(".image_wrap").fadeTo("medium", 0.5);

	// the large image from www.flickr.com
	var img = new Image();


	// call this function after it's loaded
	img.onload = function() {

		// make wrapper fully visible
		wrap.fadeTo("fast", 1);

		// change the image
		wrap.find("img").attr("src", url);

	};

	// begin loading the image from www.flickr.com
	img.src = url;

	// activate item
	$("#radar .items img").removeClass("active");
	$(this).addClass("active");

// when page loads simulate a "click" on the first image
}).filter(":first").click();

gallerySeek(null,0);

};

// PLAY
$(function() {

	// initialize scrollable
	$("#play .scrollable").scrollable({
	vertical: false,
	next:"#play_next",
	prev:"#play_prev",
	});

$("a#lightbox").fancybox();

});
