$(function() {
	/* so we can do css fallbacks */
	$('body').addClass('js');
	$('a[rel=external]').attr('target','_blank');
	
	$.ajaxSetup({
        type        : 'POST',
        url         : '/ajax.php',
        dataType    : 'json'
    });
	
	/* input fields, hidden labels */
	$('input[type=text],input[type=password],textarea').bind('focus', function(){
		$(this).removeClass('fail');
		$(this).addClass('hastext');
	});
	$('input[type=text],input[type=password],textarea').bind('blur', function(){
		if($(this).val()==''){
			$(this).removeClass('hastext');
		}
	});
	
	/* hover slider images */
	$('#slider ul li img').each(function(){
		var colorSrc	=	$(this).attr('src').replace(/\/bw\//i, "/color/");
		/* preload hover images */ 
		var preloadImage = document.createElement('img');
		preloadImage.src = colorSrc;
		
		/* hover */
		$(this).hover(function(){
			$(this).attr('oldsrc',$(this).attr('src'));
			$(this).attr('src',colorSrc);
		},function(){
			$(this).attr('src',$(this).attr('oldsrc'));
		});
	});
	/* carousel */
	jQuery('#slider').jcarousel({
    	wrap: 'circular',
    	scroll: 4
    });
    
    /* fancybox */
	$("a[rel=lightbox]").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'titlePosition'	:	'inside'
	});
	
	/* maillinks */
	$('span.email').each(function(){
		var email = $(this).html().replace('(at)','@');
		$(this).html('<a href="mailto:'+email+'">'+email+'</a>');
	});
	
	addEmailToNewsletter();
});

function addEmailToNewsletter(){
	$('form.subscribe').submit(function(){
		/* check if valid e-mail */
		form = $(this);
		email = $(this).find('input[name=e]');
		email.removeClass('fail');
		if(checkEmail(email.val())){
			$.post(
				'/ajax.php',
				{m:'addEmailToNewsletter',e:email.val()}
				).success(function(){
					form.find('fieldset').fadeOut('fast',function(){form.find('.tnx').fadeIn();});
					
					
				}).error(function(){
					form.find('fieldset').fadeOut('fast',function(){form.find('.error').fadeIn();});
					email.removeClass('hastext');
				});
		} else {
			email.addClass('fail');
		}
		
		return false;
	});
}

function checkEmail(email){
	/* http://www.regular-expressions.info/email.html */
	var emailReg = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if(emailReg.test(email)){
		return true;
	}
	return false;
	
}

