jQuery(document).ready(function() {
	
	slideShow();
	jQuery("#gallery a").click(function() { return false; });
	
	var documentHeight = jQuery(document).height();
    var diff = documentHeight - 495;
    var columnsHeight = jQuery("#columns").height();
    	    
    if(columnsHeight < diff && jQuery("#directions").length == 0) {
		jQuery("#columns").height(diff);
	}	
});

function slideShow() {

	//Set the opacity of all images to 0
	$('#gallery a').css({opacity: 0.0});
	
	//Get the first image and display it (set it to full opacity)
	$('#gallery a:first').css({opacity: 1.0});
	
	//Set the caption background to semi-transparent
	$('#gallery .caption').css({opacity: 0.7});

	//Resize the width of the caption according to the image width
	$('#gallery .caption').css({width: $('#gallery a').find('img').css('width')});
	
	//Get the caption of the first image from REL attribute and display it
	$('#gallery .content').html($('#gallery a:first').find('img').attr('rel')).animate({opacity: 0.7}, 400);
	
	//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('gallery()',6000);
}

function gallery() {
	
	//if no IMGs have the show class, grab the first image
	var current = ($('#gallery a.show')?  $('#gallery a.show') : $('#gallery a:first'));

	//Get next image, if it reached the end of the slideshow, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));	
	
	//Get next image caption
	var caption = next.find('img').attr('rel');	
	
	//Set the fade in effect for the next image, show class has higher z-index
	next.css({opacity: 0.0}).addClass('show').animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000).removeClass('show');
	
	//Set the opacity to 0 and height to 1px
	$('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });	
	
	//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
	$('#gallery .caption').animate({opacity: 0.7},100 ).animate({height: '45px'},500 );
	
	//Display the content
	$('#gallery .content').html(caption);
}

/**
 * Validate methods to place the errors in the DIV behind the DIV of the input field
 */
function validateUnhighlight(element, errorClass, validClass) {
	
	jQuery(element).removeClass(errorClass).addClass(validClass);
	jQuery(element).parent().next().addClass(validClass);
}

function validateErrorPlacement(error, element) {
	
	// group checks
	if(element.hasClass("radio")) {
		element.parent("div").next("div.message").html('');
	}
	
	error.appendTo( element.parent("div").next("div.message") );
}

curvyCorners.addEvent(window, 'load', initCorners);

function initCorners() {

    var settingsCornersSmall = {
      tl: { radius: 4},
      tr: { radius: 4 },
      bl: { radius: 4 },
      br: { radius: 4 },
      antiAlias: true
    }
	
    curvyCorners(settingsCornersSmall, ".corners_small");
	
	var settingsCornersLarge = {
      tl: { radius: 10 },
      tr: { radius: 10 },
      bl: { radius: 10 },
      br: { radius: 10 },
      antiAlias: true
    }
	
    curvyCorners(settingsCornersLarge, ".corners_large");
	
	var settingsCornersExtraLarge = {
      tl: { radius: 23 },
      tr: { radius: 23 },
      bl: { radius: 23 },
      br: { radius: 23 },
      antiAlias: true
    }
	
    curvyCorners(settingsCornersExtraLarge, ".corners_extra_large");
}	
