var preloadImages = function(args)
{
	//console.log('preloading images...');
	$(document.createElement('img')).bind('load', function(){
		if (args.length > 0) {
			this.src = args.shift();
		}
	}).trigger('load');
}

$(function()
{
   	// replace <span class="mail"> -tags with mailto-links	
	$.each($('.mail'), function(i,v){
   		var parts = $(v).children();
   		if (parts.length != 2) return;   			
   		var addr = $(parts[0]).text() + '&#64;' + $(parts[1]).text();
   		$(v).replaceWith('<a href="&#x6D;&#97;&#105;&#108;&#116;&#111;&#58;' + addr + '">' + addr + '</a>');
   	});   	
   	
   	var $form = $('form#termine-online');
   	if ($form.length) { // check if id exists
	   	var $firstFormError = $('.form-error');
	   	if ($firstFormError.length > 0) {
	   		// focus first form error
	   		$($firstFormError[0]).children()[0].focus()
	   	}
	   	else {
	   		// focus first form element
	   		$($form.find(':input')[0]).focus();
	   	}

	   	// check email field
	   	var checkEmail = function()
	   	{
			var text = $(this).attr('value');
			var $emailDiv = $(this).parent();
			var $checkboxDiv = $emailDiv.next();
			
	   		if (text && text.length > 0) {
	   			$checkboxDiv.queue("fx", []).stop() // clear queue, stop animation
	   				.fadeTo(0,1).show()
	   				.children(':checkbox').removeAttr('disabled');
	   		}
	   		else {
	   			// hide Div
	   			$checkboxDiv.animate({left:'+0'}, 1000); // use dummy animation parameters to wait
	   			$checkboxDiv.queue(function () {
        			$(this).children(':checkbox')
        				.attr('disabled','disabled').end()
        				.fadeTo('slow',0.53);
        			$(this).dequeue(); // start queued function
      			});
	   		}
	   	};
	   	
	   	$('#email:input').keydown(checkEmail).keyup(checkEmail)
	   		.parent().next().fadeTo('slow',0.53);
	   	
	   	
	   	// replace submit-button with link	
		var $submit = $("input[type='submit']");	
		$submit.replaceWith(
			$('<a href="javascript:void(0);"></a>')
				.addClass($submit.attr('class'))
				.attr('tabindex', $submit.attr('tabindex'))
				.text($submit.attr('value'))
				.click(function(){
					$form.trigger('submit');
				})		
		);
	}	
});
