
fn = {}

fn.message = function(str, cla)
{	$message = $('#message');
	if(!cla) cla = 'default';
	$message.hide();	
	$message.html('<div class="message"><div class="'+cla+'">'+str+'</div></div>');
	$message.fadeIn();
	setTimeout('$message.fadeOut();', '8000');
}

fn.check_form = function(elem, mem)
{
	var elem_id = $(elem).attr('id');
	var errors = "";
	$("form[id='"+$(elem).attr('id')+"'] input[accept='true'], form[id='"+$(elem).attr('id')+"'] textarea[accept='true']").each(function(){
		$(this).removeClass('error');
		var mask = $(this).attr('mask');
		
		switch(mask)
		{
		case "email":
			if(!fn.is_email($(this).val())) 
			{
				errors += $(this).attr('alt')+"\n";
				$(this).addClass('error');
				$(this).focus(function(){$(this).removeClass('error');});
			}	
		break; 
		default:
			if($(this).val().length < 1) 
			{
				errors += $(this).attr('alt')+" \n";
				$(this).addClass('error');
				$(this).focus(function(){$(this).removeClass('error');});
			}	
		break;
		}
		
	});
	
	
	if(errors.length < 1) return true;
	var str = "Please amend the following before continuing:\n"+errors;
	if(mem) fn.mem('<div class="error">'+str+'</div>');
	else alert(str);
	
	return false;
}

fn.is_email = function(email)
{
	//var email = email.value;
	//var email = document.forms[target].elements[field].value;
	var atSym = email.indexOf('@');
	var dot = email.lastIndexOf('.');
	var space = email.indexOf(' ');
	var len = email.length;
	if (atSym < 1 || dot < atSym || len - dot <= 2 || space != -1) {
		return false;
	}
	else { 
		return true; 
	}
}

jQuery.fn.extend({
	tabs : function(clk)
	{
		var group = "#"+this.attr('id');
		$(group+" div.tab").hide();
		$(group+" div.tabs>h6>a").click(function(){
			$(group+" div.tabs>h6>a").removeClass('active');
			var href = $(this).attr('href');	
			$('a[href="'+href+'"]').addClass('active');
			$(group+" div.tab").hide();
			$(group+" div#"+href).show();
			return false;
		});
		if(clk) $(group+" div.tabs>h6>a[href='"+clk+"']").click();
		else $(group+" div.tabs>h6>a:first").click();
		return $(this);
	}
	,
	checkboxes : function()
	{
		var parent = "#"+this.attr('id');
		$(parent+' a[class="checkbox"]').each(function(){
		$(this).click(function(){
			var elem_id = '#'+$(this).attr('title');
			if($(elem_id).attr('checked')) $(elem_id).attr('checked', false);
			else $(elem_id).attr('checked', true);
			return false;
		});
		});	
		return $(this);
	}
	,
	buttons : function()
	{
		var parent = "#"+this.attr('id');
		$(parent+' a[class="button"], a[class="button-small"]').each(function(){
		$(this).prepend('<img src="'+fn.ext+fn.media+'icons/'+$(this).attr('title')+'.png" /> ');	
		if($(this).attr('href').length < 2) { $(this).click(function(){ return false; }); $(this).css('cursor', 'default'); }	
		});	
		return this;
	}
	,
	radios : function()
	{
		var parent = "#"+this.attr('id');
		$(parent+' a[class="radio"]').each(function(){
		$(this).click(function(){
			var elem_id = '#'+$(this).attr('title');
			if($(elem_id).attr('checked')) $(elem_id).attr('checked', false);
			else $(elem_id).attr('checked', true);
			return false;
		});
		});	
		return $(this);
	}	
});

fn.product_thumbnails = function(elems)
{
	$(elems).each(function(){
		
		$(this).click(function(){
			var href = $(this).attr('href');
			/*
			if(href.match('.jpg|.gif|.png')) { var html = '<img src="'+href+'" />'; }
			else { var html = $(href).html(); }
			var cont = '#main-img';
			*/
			$('#product-image').fadeOut(function(){
				$(this).attr('src', href);
				$(this).fadeIn();
				return false;	
			});
			
			return false;	
		});
	});
	
}


var saved_src = '';
var saved_index = 0;
fn.product_filter2 = function(colour, hover)
{
	var elems = '#thumbnails a.thumbnail';
	var img = '#product-image';
	switch(hover)
	{
	case 'click':
		$(elems).hide();
		$(elems+'[title~="'+colour+'"]').show();
		saved_src = $(img).attr('src');
	break;
	case 'out':
		$(img).attr('src', saved_src);
		saved_src = $(img).attr('src');
		return;
	break;
	case 'over':
		saved_src = $(img).attr('src');
		var src = $(elems+'[title~="'+colour+'"] img:eq('+saved_index+')').attr('src');
		$(img).attr('src', src);
		return;
	break;	
	}	
}

fn.thumbnails = function()
{
	$('#thumbnails a.thumbnail').click(
		function(){ 
			var img = '#product-image'
			var href = $(this).attr('href');
			$(img).fadeOut(function(){
				$(img).attr('src', href); 		
				$(img).fadeIn();
			});
			saved_index = $(this).index('#thumbnails a.thumbnail:visible');
			return false; 
		}
	);
}




