$.extend({
	getUrlVars: function(){
		var vars = [], hash;
		var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		for(var i = 0; i < hashes.length; i++){
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
		}
		return vars;
	},
	getUrlVar: function(name){
		return $.getUrlVars()[name];
	}
});

function photoMeInit()
{
	// Setup contact form
	$.validator.setDefaults({
		submitHandler: function() { 
		    var actionUrl = $('#contact_form').attr('action');
		    
		    $.ajax({
  		    	type: 'POST',
  		    	url: actionUrl,
  		    	data: $('#contact_form').serialize(),
  		    	success: function(msg){
  		    		$('#contact_form').hide();
  		    		$('#reponse_msg').html(msg);
  		    	}
		    });
		    
		    return false;
		}
	});
		    
		
	$('#contact_form').validate({
		rules: {
		    your_name: "required",
		    email: {
		    	required: true,
		    	email: true
		    },
		    message: "required"
		},
		messages: {
		    your_name: "Please enter your name",
		    email: "Please enter a valid email address",
		    agree: "Please enter some message"
		}
	});	
		
	
	// Setup slide event for anchor
	$('.slide').click(function(){
	
		$.fancybox.showActivity();
	
		$('#content_wrapper').animate({ 
        	top: "-800px"
      	}, 500 );
      	
      	var targetPage = $(this).attr('href');	
      	
		setTimeout(function(){ 
			$('#content_wrapper').load(targetPage, function() {
			
				$('.portfolio_gallery li a[rel=slide]').fancybox({ 
					'padding'		: 0,
					'overlayColor'	: '#000000', 
					'overlayOpacity': 0.8,
					'transitionIn'	:	'elastic',
					'transitionOut'	:	'elastic'
				});		
			
				//check if homepage			
				if(targetPage != 'home.html')
				{
					$('#content_wrapper').animate({ 
        				top: "40px"
      				}, 300, function() {
      					$.fancybox.hideActivity();
      				} );
      			}
      			else
      			{
      				$('#content_wrapper').animate({ 
        				top: "0px"
      				}, 0, function() {
      					$.fancybox.hideActivity();
      				} );
      			}
			
			});
		}, 500);
		
		return false;
	});
}

function folioInit()
{
	var $preferences = {
    	duration: 800,
    	adjustHeight: false,
    	easing: 'easeInOutQuad',
    	useScaling: false
  	};
		
	var $data = $(".portfolio_container ul.portfolio_photos").clone();

	$('ul.portfolio_tab li').click(function(e) {
		$('ul.portfolio_tab li').removeClass('active');
		var filterClass = $(this).attr('class').split(' ').slice(-1)[0];	
		if (filterClass == 'all') {
			var $filteredData = $data.find('li');
		} else {
			var $filteredData = $data.find('li[data-type=' + filterClass + ']');
		}
		$(".portfolio_container ul.portfolio_photos").quicksand($filteredData, $preferences, function(){
			photoMeInit();				
		});
		$(this).addClass('active');		
		return false;
	});
}

$(function(){ 
	$('#content_wrapper').load('home.html', function(){
		// Setup slider 5 second to change each slide
		$('#img_slider').nivoSlider({ effect: 'fold', directionNav:true, pauseTime: 3000 });
	});
	
	// Preload images
	$.preloadCssImages();
	
	// Setup left album menu
	if(BrowserDetect.browser != 'Opera')
	{
		$('#main_album li a').mouseover(function(){
			$(this).find('img').animate({ 
    	    	left: "+=10px"
    	  	}, 200 );
		});
		
		$('#main_album li a').mouseout(function(){
			$(this).find('img').animate({ 
    	    	left: "-=10px"
    	  	}, 200 );
		});
	}
	else
	{
		$('#main_album li a').mouseover(function(){
			$(this).find('img').animate({ 
    	    	marginLeft: "+=10px"
    	  	}, 200 );
		});
		
		$('#main_album li a').mouseout(function(){
			$(this).find('img').animate({ 
    	    	marginLeft: "-=10px"
    	  	}, 200 );
		});
	}
	
	photoMeInit();
	
	$('.nav li a').click(function(){
	
		$.fancybox.showActivity();
	
		$('#content_wrapper').animate({ 
        	top: "-2000px"
      	}, 1000 );
      	
      	var targetPage = $(this).attr('href')
		
		setTimeout(function(){ 
			$('#content_wrapper').load(targetPage, function() {
			
				// Setup slider 5 second to change each slide
				$('#img_slider').nivoSlider({ effect: 'fade', directionNav:true, pauseTime: 5000 });
				
				$('.social_media li a').tipsy({gravity: 'n'});
				
				photoMeInit();
				
				//check if homepage			
				if(targetPage != 'home.html')
				{
					$('#content_wrapper').animate({ 
        				top: "40px"
      				}, 300 );
      			}
      			else
      			{
      				$('#content_wrapper').animate({ 
        				top: "0px"
      				}, 300 );
      			}
      			
      			$.fancybox.hideActivity();
			
			});
		}, 1000);
		
		$(this).parent().parent().find('li a').removeClass('active');
		$(this).addClass('active');
		
		return false;
	});
});
