// JavaScript Document
$(document).ready(function(){
	
	// preload images
	jQuery.preloadImages = function()
	{
	  for(var i = 0; i<arguments.length; i++)
	  {
		jQuery('<img>').attr('src', arguments[i]);
	  }
	}
	$.preloadImages('/images/arrow-left.png','/images/arrow-right.png');

	// set nav
	$('body.home #nav-home').addClass('current');
	$('body.portfolio #nav-portfolio').addClass('current');
	$('body.social #nav-social').addClass('current');
	$('body.bio #nav-bio').addClass('current');
	$('body.contact #nav-contact').addClass('current');
	$('body.journal #nav-journal').addClass('current');
	$('body.clients #nav-clients').addClass('current');

// setup slides
	var content = $('#content').html(); // save original content
	var bcls = $('body').attr('class'); // body class name for current page
	$('#content').html(''); // empty content
	$('#content').append('<div class="slide weddings"></div>');
	$('#content').append('<div class="slide engagements"></div>');
	$('#content').append('<div class="slide portraits"></div>');
	$('#content').append('<div class="slide home"></div>');
	$('#content').append('<div class="slide connect"></div>');
	$('#content').append('<div class="slide pricing"></div>');
	$('#content').append('<div class="slide blog"></div>');
	$('#content').append('<div class="slide clients"></div>');
	buildSlide(bcls, content);
	
	function buildSlide(slideClass, content){
		$('.slide').html('');
		$('.slide.'+slideClass).html(content);
	}

	// intercept navigation links
    $('#nav .weddings').click(function() { loadWeddings(); return false; });
    $('#nav .engagements').click(function() { loadEngagements(); return false; });
    $('#nav .portraits').click(function() { loadPortraits(); return false; });
    $('#nav .home').click(function() { loadHome(); return false; });
    $('#nav .connect').click(function() { loadConnect(); return false; });
    $('#nav .pricing').click(function() { loadPricing(); return false; });
    $('#nav .blog').click(function() { loadBlog(); return false; });
    $('#nav .clients').click(function() { loadClients(); return false; });
		
	function loadWeddings(){
		$.get('weddings.php', function(data){
			setNav('weddings');
			buildSlide('weddings',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('weddings');
			$('#nav li:eq(0) a').triggerHandler('click');
			$('.slide #gallery').cycle({ fx: 'scrollHorz', speed: 500, timeout: 0, prev: '#prev', next: '#next' });
			window.location='#weddings';
		});
	}
	
	function loadEngagements(){
		$.get('engagements.php', function(data){
			setNav('engagements');
			buildSlide('engagements',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('engagements');
			$('#nav li:eq(1) a').triggerHandler('click');
			$('.slide #gallery').cycle({ fx: 'scrollHorz', speed: 500, timeout: 0, prev: '#prev', next: '#next' });
			window.location='#engagements';
		});
	}

	function loadPortraits(){
		$.get('portraits.php', function(data){
			setNav('portraits');
			buildSlide('portraits',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('portraits');
			$('#nav li:eq(2) a').triggerHandler('click');
			$('.slide #gallery').cycle({ fx: 'scrollHorz', speed: 500, timeout: 0, prev: '#prev', next: '#next' });
			window.location='#portraits';
		});
	}

	function loadHome(){
		$.get('index.php', function(data){
			setNav('home');
			buildSlide('home',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('home');
			$('#nav li:eq(3) a').triggerHandler('click');
			window.location='#home';
		});
	}

	function loadConnect(){
		$.get('connect.php', function(data){
			setNav('connect');
			buildSlide('connect',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('connect');
			$('#nav li:eq(4) a').triggerHandler('click');
			window.location='#connect';
			$('#type').focus(function(){
				if("wedding, engagement, or portrait"==$(this).val()){
					$(this).val('');	
				}
			});
			$(function() {
				$(".datepicker").datepicker();
			});
			// submit form
			$('#frmc').submit(function(){			
				// check required fields
				var count = 0;
				$('.required').removeClass('error');
				$('.required').each(function(index){
					if(""!=$(this).val()){
						count++;
					}else{
						$(this).addClass('error');	
					}
				});
				if(count == $('.required').size()){
					$.post('mailer.php', {
						   name: $('#name').val(),
						   email: $('#email').val(),
						   phone: $('#phone').val(),
						   type: $('#type').val(),
						   date: $('#date').val(),
						   venue: $('#venue').val(),
						   whatdo: $('#whatdo').val()
						}, function(data){
						$('#submit').attr('disabled','true');
						$('#submit').val(data);
						$('input:text').val('').attr('disabled','true');
						$('textarea').text('').attr('disabled','true');
					});
				}
				return false;
			});

		});
	}

	function loadPricing(){
		$.get('pricing.php', function(data){
			setNav('pricing');
			buildSlide('pricing',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('pricing');
			$('#nav li:eq(5) a').triggerHandler('click');
			window.location='#pricing';
			// 'click here' on pricing page
			$('a#clickhere').click(function() { loadConnect(); return false; });
		});
	}

	function loadBlog(){
		window.location=$('#nav ul .blog a').attr('href');
	}

	function loadClients(){
		$.get('clients.php', function(data){
			setNav('clients');
			buildSlide('clients',$(data).find('#content').html());
			$('body').removeClass($('body').attr('class')).addClass('clients');
			$('#nav li:eq(7) a').triggerHandler('click');
			window.location='#clients';
			$('#userid').focus(function(){
				if("enter password"==$(this).val())
					$(this).val('');
			});
		});
	}

	$('#content').cycle({
        fx:     'fade',
        speed:  'fast',
        timeout: 0,
        pagerAnchorBuilder: function(idx, slide) {
            return '#nav ul li:eq(' + (idx) + ') a';
        }
    });

	function setNav(className){
		$('#nav li.current').removeClass('current');
		$('#nav li.'+className).addClass('current');
	}

	if(null!=$.url.attr("anchor") && ""!=$.url.attr("anchor")){
		var anchor = $.url.attr("anchor");
		if("weddings"==anchor)
			loadWeddings();
		if("engagements"==anchor)
			loadEngagements();
		if("portraits"==anchor)
			loadPortraits();
		if("home"==anchor)
			loadHome();
		if("connect"==anchor)
			loadConnect();
		if("pricing"==anchor)
			loadPricing();		
		if("clients"==anchor)
			loadClients();		
	}else if("/"==$.url.attr("path") || "/index.php"==$.url.attr("path")){
		loadHome();
	}else if("/wedding.php"==$.url.attr("path")){
		loadWeddings();
	}else if("/engagements.php"==$.url.attr("path")){
		loadEngagements();
	}else if("/portraits.php"==$.url.attr("path")){
		loadPortraits();
	}else if("/connect.php"==$.url.attr("path")){
		loadConnect();
	}else if("/pricing.php"==$.url.attr("path")){
		loadPricing();
	}else if("/clients.php"==$.url.attr("path")){
		loadClients();
	}

	// start slideshow
	$('.slide #gallery').cycle({ fx: 'scrollHorz', speed: 500, timeout: 0, prev: '#prev', next: '#next' });

	// vertical align container to center
	function vcenter(){
		var cntr = ($(window).height()-$("#container").height())/2;
		if(cntr > 0){
			$("#container").css("margin-top",cntr + "px");
		}
	}
	vcenter();
	$(window).resize(function(){vcenter();});

});

