var state = 0;
var current_item;
var speed = 'medium';
var ease = 'easeInOutSine';
var slider_states = new Array(0, -660, -990, -1650);
var navigation_states = new Array(0, -660, -1320, -1980);

function init(){
	itemsPreloaded();
	loadMenu();
	loadItem();
	updateLinks();
}

function itemsPreloaded(){
	$('#preloading').fadeOut(speed);
	$('#intro_image').html('<img src="images/Anita.jpg" />').fadeIn(speed).bind("click", bindImage);
	$('#footer').fadeIn(speed);
}

function loadMenu(){
	for(i=0; i<$('a.link_item').length; i++){
		var x = i + 1;
		if(items[i]){
			var selected = (i == 0) ? 'selected' : '';			
			x = (x<=9) ? '0' + String(x) : x;
			$('a.link_item').eq(i).addClass(selected).text(x);
		} else {
			$('a.link_item').eq(i).addClass('disabled').text(x);
		}
	}
    Cufon.refresh('#menu td a');
}

function loadItem(x){
	x = (!x) ? 0 : x;
	$('#big_image').fadeOut(speed, function(){
		$('#big_image').html('<img width="340" height="500" src="' + items[x][0] + '" />').fadeIn(speed).bind("click", bindImage);
		$('#list_thumbs').empty();
		for(i=0; i<items[x][1].length; i++){
			$('#list_thumbs').append('<li><a class="link_thumb" href="#"><img src="' + items[x][1][i][1] + '" /></a></li>');
		}
		$('#info').html(items[x][2]);
        Cufon.refresh('#info p');
		current_item = x;
		bindThumbs();
	});
}

function updateLinks(){
	if(state == 0){
		$('a.link_left').addClass('disabled');
	} else if(state == slider_states.length-1){
		$('a.link_right').addClass('disabled');
	} else {
		$('a.link_left').removeClass('disabled');
		$('a.link_right').removeClass('disabled');
	}
	Cufon.refresh('a.nav_left');
	Cufon.refresh('a.nav_right');
}

function bindImage(){
	if(state == 0){
		var tarState = state+1;
		$('#slider').animate({left: slider_states[tarState]+'px'}, speed, ease);
		$('#navigation').animate({left: navigation_states[tarState]+'px'}, speed, ease);
		state++;
		updateLinks();
	} else if(state == 1){
		var tarState = state+1;
		$('#slider').animate({left: slider_states[tarState]+'px'}, speed, ease);
		$('#navigation').animate({left: navigation_states[tarState]+'px'}, speed, ease);
		state++;
		updateLinks();
	} else if (state == 2){
		var tarState = state-1;
		$('#slider').animate({left: slider_states[tarState]+'px'}, speed, ease);
		$('#navigation').animate({left: navigation_states[tarState]+'px'}, speed, ease);
		state--;
		updateLinks();		
	}
	return false;
}

function bindThumbs(){
	$('a.link_thumb').bind('click', function(){
		return false;
	}).bind('mouseenter', function(){
		var x = $('a.link_thumb').index(this);
		$('#image_container').append('<div class="preview_image '+x+'"><img src="'+items[current_item][1][x][0]+'" /></div>');
		$('.'+x).fadeIn(speed);
	}).bind('mouseleave', function(){
		var x = $('a.link_thumb').index(this);
		$('.'+x).fadeOut(speed, function(){
			$(this).remove();
		});
	});
}

function validateForm() {
	var hasError = false;
	$('form').find("input[type='text'], textarea").filter('.validate').each(function() {
		$('label').removeClass('inputError');
		Cufon.refresh('label');
		if (this.type == 'text') {
			if (this.value == '') {
				showError(this);
				hasError = true;
				return false;
			} else if (this.id == 'email') {
				var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
				if (!emailReg.test(this.value)) {
					showError(this);
					hasError = true;
					return false;
				}
			}
		}		
		if (this.type == 'textarea') {
			if (this.value == '') {
				showError(this);
				hasError = true;
				return false;
			}
		}		
	});
	if (hasError == false) {
		$('form').fadeOut('slow', function() {
			$('#contact_form').html('<div id="contact_loading"><img src="images/loading.gif" alt="loading..." /></div>');
			$('#contact_loading').fadeIn(speed);
		});
		var params = {};
		$('form').find("input[type='text'], textarea").filter(":enabled").each(function() {
			params[this.name] = this.value;
		});
		$.post('scripts/sendmail.php', params, function(data) {
			if (data == 'success') {
				$('#contact_form').html('<div id="contact_status"><p>Thanks for your enquiry.<p><br /><p>We will be back in touch with you shortly.</p></div>');
			} else {
				$('#contact_form').html('<div id="contact_status"><p>Sorry but there was an error sending the message.</p><br /><p>Please try again later or email us directly at <a href="mailto:info@eight-london.com">info@eight-london.com</a>.</p></div>');
			}
			$('#contact_status').fadeIn(speed);
		});
	}
}
	
function showError(input) {
	$(input).prev('label').addClass('inputError');
	Cufon.refresh('label');
	$(input).fadeOut(100, function() {
		$(this).fadeIn(100, function() {
			$(this).fadeOut(100, function() {
				$(this).fadeIn(100);
			});
		});
	});
}

function clearForm() {
	$('label').removeClass('inputError');
	Cufon.refresh('label');
}