var addthis_config = { 
     username: "tomdebruin",
     services_exclude: 'print',
     ui_cobrand: ":: Singletrack",
     ui_header_color: "#ffffff",
     ui_header_background: "#87ba18"
}

$(document).ready(function() {

// main page

	// add class to gallery items for use with fancybox
	$('#main .wp-caption a[href$=jpg]').addClass('gallery');
	$('dl.gallery-item dt.gallery-icon a').addClass('gallery');
	$('dl.gallery-item dt.gallery-icon a').attr('rel','gallery');
	$('img.size-full').parent('a[href$=jpg]').addClass('gallery');
	$('img.size-large').parent('a[href$=jpg]').addClass('gallery');
	$('img.size-medium').parent('a[href$=jpg]').addClass('gallery');
	$('img.size-small').parent('a[href$=jpg]').addClass('gallery');
	
	$('img.size-full').parent('a[href$=jpeg]').addClass('gallery');
	$('img.size-large').parent('a[href$=jpeg]').addClass('gallery');
	$('img.size-medium').parent('a[href$=jpeg]').addClass('gallery');
	$('img.size-small').parent('a[href$=jpeg]').addClass('gallery');
	
	$('img.size-full').parent('a[href$=JPG]').addClass('gallery');
	$('img.size-large').parent('a[href$=JPG]').addClass('gallery');
	$('img.size-medium').parent('a[href$=JPG]').addClass('gallery');
	$('img.size-small').parent('a[href$=JPG]').addClass('gallery');
	
	$('img.size-full').parent('a[href$=JPEG]').addClass('gallery');
	$('img.size-large').parent('a[href$=JPEG]').addClass('gallery');
	$('img.size-medium').parent('a[href$=JPEG]').addClass('gallery');
	$('img.size-small').parent('a[href$=JPEG]').addClass('gallery');

	// fancybox
	$('a.gallery').fancybox();

	// add little downpointer on sidebar titles.
//	$('li.adintro').append('<span class="adpointer"></span>');
	// add little downpointer on comments.
	$('#comments .comment_meta').append('<span class="whitearrow"></span>');
	
// jquery tables
	$('.sortable').dataTable( {
		"aaSorting": [[ 0, "asc" ]]
	});	
	$('.dataTables_paginate').after('<p class="clearboth">Click column titles to order by column.</p>');	
	
	// get the live tiwtter feed to open link in new window.
	$('div#tweets a[href^="http://"]').attr("target", "_blank");
	
} );

$(document).ready(function() {
  	
	// show/hide address update form
	$('div#addressform').hide();
	$('.toggle').click(function() {
    	$('div#addressform').toggle(400);
    	return false;
  	});
  	
	// validate signup form on keyup and submit
	var validator = $("#subform").validate({
		rules: {
			title: "required",
			fname: "required",
			lname: "required",
			address1: { required: true, minlength: 2, },
			address2: { required: true, minlength: 2, },
			postcode: { required: true, minlength: 2, },
			country: "required",
			tandc: "required",
		},
		messages: {
			title: "Choose a title",
			fname: "Enter your firstname",
			lname: "Enter your lastname",
			address1: "Enter an address",
			address2: "&hellip;bit more address",
			postcode: "Enter a post code",
			country: "<br/>Choose a country",
			tandc: "Agree",			
		},
		// set this class to error-labels to indicate valid fields
		success: function(span) {
			// set &nbsp; as text for IE
			span.html("&nbsp;").addClass("checked");
		}
	});
	
	var validator = $("#deleteform").validate({
		rules: {
			confirm: "required",
		},
		messages: {
			confirm: "<span class=\"star\">*</span> ",
		},	
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		}
	});	

// autotab jQuery function
	$('#voucher_code1').autotab({ target: 'voucher_code2', format: 'numeric' });
	$('#voucher_code2').autotab({ target: 'voucher_code3', previous: 'voucher_code1', format: 'numeric', });
	$('#voucher_code3').autotab({ target: 'voucher_code4', previous: 'voucher_code2', format: 'numeric' });	
	$('#voucher_code4').autotab({ target: 'voucher_code5', previous: 'voucher_code3', format: 'numeric' });	
	$('#voucher_code5').autotab({ previous: 'voucher_code4', format: 'numeric' });	
	
	var validator = $("#voucherform").validate({
		rules: {
			voucher_code1: { required: true, minlength: 4, },
			voucher_code2: { required: true, minlength: 4, },
			voucher_code3: { required: true, minlength: 4, },
			voucher_code4: { required: true, minlength: 4, },
			voucher_code5: { required: true, minlength: 4, },
		},
		messages: {
			voucher_code1: "",
			voucher_code2: "",
			voucher_code3: "",
			voucher_code4: "",
			voucher_code5: "",
		},
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		}
	});

}); // end jquery onload


/*
 * Autotab - jQuery plugin 1.0
 * http://dev.lousyllama.com/auto-tab
 * 
 * Copyright (c) 2008 Matthew Miller
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 * 
 * Revised: 2008/05/22 01:23:25
 */

(function($) {

$.fn.autotab = function(options) {
	var defaults = {
		format: 'all',			// text, numeric, alphanumeric, all
		maxlength: 2147483647,	// Defaults to maxlength value
		uppercase: false,		// Converts a string to UPPERCASE
		lowercase: false,		// Converts a string to lowecase
		nospace: false,		// Remove spaces in the user input
		target: null,			// Where to auto tab to
		previous: null			// Backwards auto tab when all data is backspaced
	};

	$.extend(defaults, options);

	var check_element = function(name) {
		var val = null;
		var check_id = $('#' + name)[0];
		var check_name = $('input[name=' + name + ']')[0];

		if(check_id != undefined)
			val = $(check_id);
		else if(check_name != undefined)
			val = $(check_name);

		return val;
	};

	var key = function(e) {
		if(!e)
			e = window.event;

		return e.keyCode;
	};

	// Sets targets to element based on the name or ID passed
	if(typeof defaults.target == 'string')
		defaults.target = check_element(defaults.target);

	if(typeof defaults.previous == 'string')
		defaults.previous = check_element(defaults.previous);

	var maxlength = $(this).attr('maxlength');

	// Each text field has a maximum character limit of 2147483647

	// defaults.maxlength has not changed and maxlength was specified
	if(defaults.maxlength == 2147483647 && maxlength != 2147483647)
		defaults.maxlength = maxlength;
	// defaults.maxlength overrides maxlength
	else if(defaults.maxlength > 0)
		$(this).attr('maxlength', defaults.maxlength)
	// defaults.maxlength and maxlength have not been specified
	// A target cannot be used since there is no defined maxlength
	else
		defaults.target = null;

	// IE does not recognize the backspace key
	// with keypress in a blank input box
	if($.browser.msie)
	{
		this.keydown(function(e) {
			if(key(e) == 8)
			{
				var val = this.value;

				if(val.length == 0 && defaults.previous)
					defaults.previous.focus();
			}
		});
	}

	return this.keypress(function(e) {
		if(key(e) == 8)
		{
			var val = this.value;

			if(val.length == 0 && defaults.previous)
				defaults.previous.focus();
		}
	}).keyup(function(e) {
		var val = this.value;

		switch(defaults.format)
		{
			case 'text':
				var pattern = new RegExp('[0-9]+', 'g');
				var val = val.replace(pattern, '');
				break;

			case 'alpha':
				var pattern = new RegExp('[^a-zA-Z]+', 'g');
				var val = val.replace(pattern, '');
				break;

			case 'number':
			case 'numeric':
				var pattern = new RegExp('[^0-9]+', 'g');
				var val = val.replace(pattern, '');
				break;

			case 'alphanumeric':
				var pattern = new RegExp('[^0-9a-zA-Z]+', 'g');
				var val = val.replace(pattern, '');
				break;

			case 'all':
			default:
				break;
		}

		if(defaults.nospace)
		{
			pattern = new RegExp('[ ]+', 'g');
			val = val.replace(pattern, '');
		}

		if(defaults.uppercase)
			val = val.toUpperCase();

		if(defaults.lowercase)
			val = val.toLowerCase();

		this.value = val;

		/**
		 * Do not auto tab when the following keys are pressed
		 * 8:	Backspace
		 * 9:	Tab
		 * 16:	Shift
		 * 17:	Ctrl
		 * 18:	Alt
		 * 19:	Pause Break
		 * 20:	Caps Lock
		 * 27:	Esc
		 * 33:	Page Up
		 * 34:	Page Down
		 * 35:	End
		 * 36:	Home
		 * 37:	Left Arrow
		 * 38:	Up Arrow
		 * 39:	Right Arrow
		 * 40:	Down Arroww
		 * 45:	Insert
		 * 46:	Delete
		 * 144:	Num Lock
		 * 145:	Scroll Lock
		 */
		var keys = [8, 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 144, 145];
		var string = keys.toString();

		if(string.indexOf(key(e)) == -1 && val.length == defaults.maxlength && defaults.target)
			defaults.target.focus();
	});
};

})(jQuery);