var moreBtns = new Array();
var workDetails = new Array(
	'wambi.php #work',
	'ccr-golf.php #work',
	'vas.php #work',
	'zoo_bcn.php #work'
);
var overview = null;
var contactBtn = "<a class='contact_btn'>Don't be shy. CONTACT ME!</a>";
var error = "<p class='error'>Uups, something is not filled in correctly!</p>";
var loading = '<p class="loading"></p>';

$(document).ready(function () 
{
	init();
	initContactForm();
	initFancybox();
});

function init() 
{
	moreBtns = $('.more');
	for (var i = 0; i < moreBtns.length; i++)
	{
		setDestination(i);	
	}
	scrollInit();
			
}

function initFancybox()
{
	$("head").append("<link>");
	css = jQuery("head").children(":last");
	css.attr({ rel:  "stylesheet", type: "text/css", href: "js/fancybox/jquery.fancybox-1.3.1.css" });
	
	$("a.fancybox").live("click", function(){
		$.fancybox({
			'width' : 1100,
			'height' : 600,
			'type' : 'iframe',
			'href' : $(this).attr('href')
		});
		return false;
	});
}

function setDestination (number)
{	
	$(moreBtns[number]).parent().find('img').click(function () {		
		overview = $('#work');
		$('<div id="loader" />').load($(moreBtns[number]).attr('href'), function() {
			$('#work').fadeOut(2000);
			$('#work').remove();
			$(this).hide();
			$(this).insertAfter('#home');			
			$(this).fadeIn(2000);
			$.scrollTo('#work', 800);
			setImageLink();
			
		});
		return false;
	});
	$(moreBtns[number]).click(function () 
	{
		overview = $('#work');
		$('<div id="loader" />').load($(this).attr('href'), function() {
			$('#work').fadeOut(2000);
			$('#work').remove();
			$(this).hide();
			$(this).insertAfter('#home');			
			$(this).fadeIn(2000);
			$.scrollTo('#work', 800);
			setImageLink();
		});
		return false;
	});
	$('#work').ajaxSend(function(r,s) 
	{
		$(this).append(loading);
	});
	$(this).ajaxSuccess(function(r,s)
	{
		$('.loading').fadeOut(1000);
		$('loading').remove();
		
	});
	$(this).ajaxComplete(function (r,s){
		$('loading').remove();
		setSeeAll();
	});
	
}

function setImageLink() 
{
	$('body').find('img.loaded').bind('click', function() {
		$.fancybox({
			'width' : 1100,
			'height' : 600,
			'type' : 'iframe',
			'href' : $(this).attr('title')
		});
		return false;
	});
}

function setSeeAll()
{
	$('.see_all').click(function () {
		$('#loader').fadeOut(2000);
		$('#loader').remove();
		overview.insertAfter('#home');
		overview.fadeIn(2000);
		$.scrollTo('#work', 800);
		init();
		return false;
	});
}

function scrollInit() 
{
	$('.home_link').click(function () {
		$.scrollTo('#home', 800);
		return false;
	});
	$('.work_link').click(function () {
		$.scrollTo('#work', 800);
		return false;
	});
	$('.contact_link').click(function () {
		$.scrollTo('#contact', 800);
		return false;
	});
	$('.back').click(function () {
		$.scrollTo('#wrapper', 800);
		return false;
	});
	
	
}

function initContactForm()
{
	$(contactBtn).insertAfter('#contact dl');
	$('.mailform').hide();
	$('.contact_btn').click(function () {
		$(this).fadeOut(500);
		$(this).replaceWith($('mailform'));
		$('.mailform').fadeIn(1000);
	});	
	validateForm();
}

function validateForm() 
{
	$('#form').validate({
		submitHandler: send
	});
		//console.log("Validate");
}

function send(form)
{
	//console.log("SEND");
	var options = { 
        target:        '.error_msg',   // target element(s) to be updated with server response 
        beforeSubmit:  showRequest,  // pre-submit callback 
        success:       showResponse,  // post-submit callback 
 
        // other available options: 
        url:       'php/mailform.php',        // override for form's 'action' attribute 
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        clearForm: true,        // clear all form fields after successful submit 
        resetForm: true        // reset the form after successful submit 
 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 
 
    // bind to the form's submit event 
    //$(form).submit(function() { 
   		 //console.log("SUBMIT");
        // inside event callbacks 'this' is the DOM element so we first 
        // wrap it in a jQuery object and then invoke ajaxSubmit 
        $(form).ajaxSubmit(options); 
 
        // !!! Important !!! 
        // always return false to prevent standard browser submit and page navigation 
        return false; 
    //}); 
}
// pre-submit callback 
function showRequest(formData, jqForm, options) {  
 
    // jqForm is a jQuery object encapsulating the form element.  To access the 
    // DOM element for the form do this: 
    // var formElement = jqForm[0]; 
 	$('.error_msg').toggleClass('loading');
    //alert('About to submit: \n\n' + queryString); 
 
    // here we could return false to prevent the form from being submitted; 
    // returning anything other than false will allow the form submit to continue 
    return true; 
} 
 
// post-submit callback 
function showResponse(responseText, statusText)  { 

 	$('.error_msg').toggleClass('loading');
 	validateForm();
} 
		
				
	
