$(function()
{

	/* GLOBAL VARIABLES */
	$curLoading = false;
	$curPage = "";
	$stdNavButtons = "";
	$blueFrameElements = '<span class="frameElements"><span class="topBorder"></span><span class="topLeftAccent"></span><span class="bottomRightAccent"></span><span class="bottomBorder"></span></span>';
	
	$contentLoadStateArray = { 
							'home':false, 
							'aboutUsTab':false, 
							'contactTab':false, 
							'weddingsTab':false, 
							'babyTab':false, 
							'birthdaysTab':false,
							'weddingGallery':false,
							'birthdayGallery':false,
							'babyGallery':false,
							};
	
	/* INJECT DEFAULT PAGE STRUCTURE AND NAVIGATION */
	$('#mainContentHolder').prepend("<span class='shadowContainer'><span class='ul'></span><span class='top'></span><span class='ur'></span><span class='right'></span><span class='lr'></span><span class='bottom'></span><span class='ll'></span><span class='left'></span></span>")
	.prepend('<span class="navigation"><span id="navToggle" class="navToggleClass_open useTooltip" title="You can hide the nav... if you like"></span><span id="sectionIcons"><span id="weddingsTab" class="sectionButton useTooltip" title="Weddings"></span><span id="babyTab" class="sectionButton useTooltip" title="Babies"></span><span id="birthdaysTab" class="sectionButton useTooltip" title="Birthdays"></span></span><span id="contactUsTab" class="navTabs"></span><span id="aboutUsTab" class="navTabs"></span><span id="homeTab" class="navTabs useTooltip" title="Like Dorothy... just click your heels three times"></span></span>')
	.prepend($blueFrameElements)
	.find('#sectionIcons, #contactUsTab, #aboutUsTab, #homeTab');//.css('marginTop', '1.55em');
	$('#loadingIndicator').hide();
	
	$('.panel').hide();
	
	
	/* FUNCTION TO SHOW / HIDE NAVIGATION */
	$secIconsVisible = true;
	$("#navToggle").click(function(){
		if(!$secIconsVisible)
		{	
			$(this).removeClass('navToggleClass').addClass('navToggleClass_open');
			$('#sectionIcons').animate({marginTop: '0em'}, 200).delay(100, function(){
				$('#contactUsTab').animate({marginTop: '0em'}, 200);
			}).delay(200, function(){
				$('#aboutUsTab').animate({marginTop: '0em'}, 200);
			}).delay(200, function(){
				$('#homeTab').animate({marginTop: '0em'}, 300);
			});
		}else{
			$(this).removeClass('navToggleClass_open').addClass('navToggleClass');
			$('#homeTab').animate({marginTop: '1.55em'}, 200).delay(100, function(){
				$('#aboutUsTab').animate({marginTop: '1.55em'}, 200);
			}).delay(200, function(){
					$('#contactUsTab').animate({marginTop: '1.55em'}, 200);
			}).delay(300, function(){
				$('#sectionIcons').animate({marginTop: '1.55em'}, 200);
			});		
		};
		$secIconsVisible = !$secIconsVisible;
	});
	
	
	/* NAVIGATION BUTTON FUNCTION */
	$('.sectionButton, .navTabs').click(function(){
		$('#slider .sliderNavigation').find('a[href$="' + ( $(this).attr('id').substr(0, $(this).attr('id').length- 3) )+'"]').click();
	});
	
	
	
	
	var $scroll = $('#slider .scroll').css({overflow:'hidden', position:'relative'});



	function trigger(data){	
		var el = $('#slider .sliderNavigation').find('a[href$="' + data.id +'"]').get(0);
		selectNav.call(el);	
	};	
	
	
	$('#slider .sliderNavigation').find('a').click(selectNav);
	$('#slider .sliderNavigation').find('a').click(function(){ 
		$('#loadingIndicator').show();
		var destPage = $(this).attr("href").split("#")[1];
		loadTabData({ id: destPage });
		$contentLoadStateArray[destPage] = true;
	});
	
	$('a.navToPage').click(function(){
		$('#loadingIndicator').show();
		var destPage = $(this).attr("href").split("#")[1];
		loadTabData({ id: destPage });
		$contentLoadStateArray[destPage] = true;
	});
	
	
	function selectNav(){
		$(this)
		.parents('ul:first')
			.find('a')
				.removeClass('selected')
			.end()
		.end()
		.addClass('selected');
	};	
	
		
	
	function loadTabData(contentID)
	{
		if($curLoading == false)
		{
			$curLoading = true;
			var pageName = contentID.id;
			
			if( $('#'+pageName).length == 0 )
			{
				$('div.scrollContainer').append('<div class="panel" id="'+pageName+'"></div>');
			}
			
			$.ajax({
			  url: 'subpages/'+pageName+'.php',
			  type: 'POST',
			  dataType: 'html',
			
			  complete: function(html) {
					    //called when complete
					if(contentID.firstToLoad)
					{
						$("#"+pageName).show();
					}else{
						$('#'+$curPage).fadeOut(100).delay(100,function(){ 
																$('#'+pageName).fadeIn('100'); 
																});
					}
					
					$(this).delay(200, function(){
						trigger(contentID);
						applyTooltips();
						
						switch(pageName)
						{
							case "weddingGallery":
								setupGallery();
							break;
						}
						
						$('a.email').nospam({replaceText:true});
						
						Shadowbox.setup("a.shadowbox", {
						    gallery: pageName,
						    counterType:'skip'
						});
						
						$('#loadingIndicator').hide(200);
						$curPage = pageName;
						$curLoading = false;
						
						$.ga.trackEvent( "Subpage Visits", pageName );
					});
					
					
			  },
			
			  success: function(html) {	
				
					$('#'+pageName).empty().append(html);
					
					if(pageName == "contactUs")
					{
						
						$fieldArray = [
										{fieldID:"firstName", fieldLabelID:"firstNameLabel"},
										{fieldID:"lastName", fieldLabelID:"lastNameLabel"},
										{fieldID:"emailAddress", fieldLabelID:"emailAddressLabel"},
										{fieldID:"phoneNumber", fieldLabelID:"phoneNumberLabel"}
										];
						
						for(var i = 0; i < $fieldArray.length; i++)
						{
							$('#'+$fieldArray[i].fieldLabelID).hide();
							var labelText = $('#'+$fieldArray[i].fieldLabelID).text();
							if($('#'+$fieldArray[i].fieldID).val() == "")
							{
							  $('#'+$fieldArray[i].fieldID).addClass('placeholder_text').val(labelText)
							  .focus(function() {
							    if (this.value == $(this).prev().text()) {
							      $(this).removeClass('placeholder_text').val('');
							    };
							  }).blur(function() {
							    if (this.value == '') {
							      $(this).addClass('placeholder_text').val($(this).prev().text());
							    };
							  });
							};
						}
						
						$('#eventDate').datepicker({
													changeMonth: true,
													changeYear: true,
													minDate: new Date(2010, 1 - 1, 1),
													maxDate: '+6y',
													beforeShow:function(){
														$('#ui-datepicker-div').css('zIndex',100);
													}
													});
													
						//guestsSlider
						$("#guestsSlider").slider({
									range:"min",
									value:20,
									min: 20,
									max: 300,
									step: 20,
									slide: function(event, ui) {
										$("#guestCount").val(ui.value);
									}
								});
								$("#guestCount").val($("#guestsSlider").slider("value"));
								
						
						$('#formSubmit').click(function(){
							
							$(this).fadeTo(200, 0.5).attr('disabled', 'disabled');
							
							$.ajax({
									url: 'subpages/contactSend.php',
									type: 'POST',
									dataType: 'text',
									data: $('#contactForm').serialize(),
							
									complete: function() {
									 //called when complete
									},
							
									success: function(data, textStatus) {
										//$('#feedback').text(data).removeClass('formFieldError').addClass('formSuccess');
										
										$('#formSubmit').attr('disabled','disabled').fadeOut(200, function(){ $('#formSubmitFeedback').fadeIn(200); });
									},
							
									error: function(XMLHttpRequest, textStatus, errorThrown) {
										$('#formSubmitFeedback').empty().text("There was an error sending. Please try again later.");
										//$('#feedback').text(errorThrown).removeClass('formSuccess').addClass('formFieldError');
									 //called when there is an error
									}
							});
						});		
						
						$('div.ui-state-default').hover(function() {
							$(this).addClass('ui-state-hover');
						}, function() {
							$(this).removeClass('ui-state-hover');
						});
						
					}
					
					
					
					$('a.navToPage').click(function(){
						var destPage = $(this).attr("href").split("#")[1];
						loadTabData({ id: destPage });
						$contentLoadStateArray[destPage] = true;
					});
					
						// INJECT FONTS 
						Cufon.replace('.trajan', { fontFamily: 'trajan' });
						Cufon.replace('.highTower', { fontFamily: 'highTower' });
						Cufon.now();
					    //called when successful
					    
					    //applyTooltips();
			 },
			
			  error: function() {
					    //called when there is an error
			  }
			});
		}	
	};
	
	
	if(window.location.hash){
		$('#loadingIndicator').show();
		var destPage = window.location.hash.substr(1);
		trigger({id: destPage });
		loadTabData({ id: destPage, firstToLoad:true });
		$contentLoadStateArray[destPage] = true;
	}else{
		var destPage = "home";
		$('#loadingIndicator').show();
		//$('ul.sliderNavigation a:first').click();
		loadTabData({ id: 'home', firstToLoad:true });
		$contentLoadStateArray['home'] = true;
	};
	
	
	
	function applyTooltips(){
		$('.useTooltip').qtip({
			position:{
				corner:{
					target:'bottomMiddle',
					tooltip: 'topMiddle'
				}
			},
			style: { 
				background:'#5e514c',
				color:'#ffffff',
				textAlign:'center',
				border:{
					width:1,
					radius:3,
					color:'#5e514c'
				},
				padding:1,
				tip:'topMiddle'
			}
		});
	};
	
	
	
	
	
	
	/* CODA SLIDER DEVELOPMENT */		
	/*	var $panels = $('#slider .scrollContainer > div');
		var $container = $('#slider .scrollContainer');
		
		var horizontal = true;
		
		if(horizontal){
			$panels.css({
				'float':'left',
				'position':'relative'
			});
			
			$container.css('width', $panels[0].offsetWidth * $panels.length);
		};
		
		var $scroll = $('#slider .scroll').css('overflow','hidden');
		
		$('#slider .sliderNavigation').find('a').click(selectNav);

		function selectNav(){
			$(this)
			.parents('ul:first')
				.find('a')
					.removeClass('selected')
				.end()
			.end()
			.addClass('selected');
		};

		function trigger(data){	
			var el = $('#slider .sliderNavigation').find('a[href$="' + data.id +'"]').get(0);
			selectNav.call(el);	
		};
		
		function beforeLoad(e, data, $cont)
		{
			if(!$contentLoadStateArray[data.id]){
				$('#loadingIndicator').show();
				loadTabData(data);
				$contentLoadStateArray[data.id] = true;
			};
		};

		if(window.location.hash){
			trigger({id: window.location.hash.substr(1)});
		}else{
			$('ul.sliderNavigation a:first').click();
		};
		
		var offset = parseInt((horizontal ? $container.css('paddingTop') : $container.css('paddingLeft')) || 0) *-1;
		
		var scrollOptions = {
			target: $scroll,
			items: $panels,
			navigation: '.sliderNavigation a',
			prev:'',
			next:'',
			axis:'xy',
			onAfter:trigger,
			onBefore:beforeLoad,
			offset:offset,
			duration:500,
			easing:'swing'
		};
		
		$('#slider').serialScroll(scrollOptions);
		$.localScroll(scrollOptions);
		scrollOptions.duration = 1;
		$.localScroll.hash(scrollOptions);
		
	
	function loadTabData(contentID)
	{
		var pageName = contentID.id;
		
		$.ajax({
		  url: 'subpages/'+pageName+'.php',
		  type: 'POST',
		  dataType: 'html',
		
		  complete: function(html) {
				    //called when complete
				$('#loadingIndicator').hide();
				trigger(contentID);
		  },
		
		  success: function(html) {	
				$('#'+pageName).empty().append(html);
					// INJECT FONTS 
					Cufon.replace('.trajan', { fontFamily: 'trajan' });
					Cufon.replace('.highTower', { fontFamily: 'highTower' });
					Cufon.now();
				    //called when successful
		 },
		
		  error: function() {
				    //called when there is an error
		  }
		});
		
	};
	
	
	loadTabData({id:"home"});
	$contentLoadStateArray['home'] = true;*/


	/* INJECT FONTS */
	Cufon.replace('.trajan', { fontFamily: 'trajan' });
	Cufon.replace('.highTower', { fontFamily: 'highTower' });
	Cufon.now();

	$.ga.load('UA-6700499-7');

});