var $ = jQuery.noConflict();
var currImg = 0;
var images = 0;
var gallery = new Array();


(function($) {
	
  var cache = [];
  
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)



$(document).ready(function() {
	
	setupNewsletters();
	
	images = $("#thumbs a").length;

	$("#thumbs a").click(function() {
					currImg = $("#thumbs a").index(this);
					showImage(currImg);
					return false;
					});

	$("#nav a.prev").click(function() { 
						currImg--;
						if(currImg<0) currImg = images-1;
						showImage(currImg);
						return false;
					});

	$("#nav a.next").click(function() { 
						currImg++;
						if(currImg>=images) currImg = 0;
						showImage(currImg);
						return false;
					});

	$.each(gallery, function(i, val) {
			$('<div class="gallery-img"><img src="'+val+'" border="0" /></div>').appendTo("#gallery").hide();
			});

});


function setupNewsletters() {
	$("#menu-newsletters a").attr("target","_blank");
	
	$('#newsletter-signup input').each(function(i) {
		$(this).data("default",$(this).val());
	}).clearField();
	
	$('#newsletter-signup').submit(function(e) {
		
		if(!validateForm($(this))) {
			e.preventDefault();
			return false;
		}
		
	});
}

function validateForm(form) {
	var $errors = Array();
	
	form.find("input").each(function(i) {
		if($(this).val() == '' || $(this).val() == $(this).data("default")) $errors.push($(this));
	}).removeClass("cm_error").unbind('change');
	
	if(!isValidEmail($("#newsletter_email").val())) $errors.push($("#newsletter_email"));
	
	if($errors.length) {
	
		for(var i=0; i<$errors.length; i++) {
			$errors[i].addClass("cm_error").change(function() {
				validateForm($('#newsletter-signup'));
			});
		}
		
		$($errors[0]).focus();
		
		return false;
		
	}
	
	return true;
}

function isValidEmail(email) {
	var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	return filter.test(email);
}
	

function showImage(id) {
	var speed = 1000;
	$(".gallery-img:visible").fadeOut(speed);
	$(".gallery-img:eq("+id+")").fadeIn(speed);
	var diff = ($(".gallery-img:eq("+id+")").height() - $(".gallery-img:eq("+id+") img").height() ) / 2;
	$(".gallery-img:eq("+id+") img").css("marginTop",diff);
}


