if(document.images){
	preloadImage = new Image();
	preloadImage.src = "/images/video_roll.jpg";
	preloadImage = new Image();
	preloadImage.src = "/images/loading.gif";
	preloadImage = new Image();
	preloadImage.src = "/images/gallery_close.gif";
	preloadImage = new Image();
	preloadImage.src = "/images/gallery_next.gif";
	preloadImage = new Image();
	preloadImage.src = "/images/gallery_prev.gif";
	preloadImage = new Image();
	preloadImage.src = "/images/loading_right.gif";
}

var postForm = function(formid, url){
	$(formid).addEvent('submit', function(e){
		e.stop();
		var form = $(formid).addClass('loading');
		
		this.scroll = new Fx.Scroll(window);
		this.scroll.toElement(form);
		
		this.set('send', {
			onComplete: function(response) { 
				form.removeClass('loading');
				form.set('html', response);
			}
		});

		this.send('/inc/'+url);
	});
};

var bookSelect = function(formid, url){
	var snippets = $$("ul.book li input");
	snippets.each(function(snippet, i) {
		snippet.addEvent("change", function(e) {
			new postBookForm(formid, url);
		});
		
		snippet.addEvent("click", function(e) {
			snippet.blur();
		});
	});
	
	new external();
};

var postBookForm = function(formid, url){
	var form = $(formid).addClass('loading');
		
	form.set('send', {
		onComplete: function(response) { 
			form.removeClass('loading');
			form.set('html', response);
			
			new bookSelect(formid, url);
			/*
			$('pax').addEvent('change', function(e) {
				new postBookForm(formid, url);
			});
			
			if($('sleeping')){
				$('sleeping').addEvent('change', function(e) {
					new postBookForm(formid, url);
				});
				
				$('landsborough_date').addEvent('change', function(e) {
					new postBookForm(formid, url);
				});
			}*/
		}
	});

	form.send('/inc/'+url+'?change=1');
};

var eafPreview = function(formid, url, focus){
	var form = $(formid).addClass('loading');
	
	form.set('send', {
		onComplete: function(response) { 
			form.removeClass('loading');
			form.set('html', response);
			
			onchangeEvents();
			
			$(focus).focus();
		}
	});

	form.send('/inc/'+url);
};

function onchangeEvents(){
	$('name').addEvent('change', function(e) {
		e.stop();
		new eafPreview('eafform', 'eafform.php?preview=1', 'email');
	});
	
	$('email').addEvent('change', function(e) {
		e.stop();
		new eafPreview('eafform', 'eafform.php?preview=1', 'recipient_name');
	});
	
	$('recipient_name').addEvent('change', function(e) {
		e.stop();
		new eafPreview('eafform', 'eafform.php?preview=1', 'recipient_email');
	});
	
	$('recipient_email').addEvent('change', function(e) {
		e.stop();
		new eafPreview('eafform', 'eafform.php?preview=1', 'message');
	});
	
	$('message').addEvent('change', function(e) {
		e.stop();
		new eafPreview('eafform', 'eafform.php?preview=1', 'submit');
	});
}

var slideImage = function(initial, rebound){
	// Initial = height - 113
	var morphElement = $('slide');
	var morphObject = new Fx.Morph(morphElement, {transition: 'quad:out', duration: 4500,
			onComplete: function(){
				morphObject.start({
					'margin-top': rebound
				});
			}
		}
	);
	
	morphObject.start({
		'margin-top': initial
	});
};

var fadeImages = function(max){
	var current=1;
	
	var timer = 9;
	var periodical; 
	 
	var refresh = (function() {
		$('combo'+current).setStyle('z-index', '10');
		$('combo'+current).fade(1, 0);		
		
		current=(current==max ? 0 : current);
		current++;
		
		$('combo'+current).setStyle('z-index', '20');
		$('combo'+current).fade(0, 1);
	});

	periodical = refresh.periodical(timer * 1000, this);
};

var ajaxSnippet = function(ajax_links, file){
	var div;
	var div_loading;
	var url = '/inc/'+file;
	
	var snippets = $$(".dynamic a");
	snippets.each(function(snippet, i) {
		snippet.addEvent("click", function(e) {
			new Event(e).stop();
			
			div = $(ajax_links);
			
			div_loading=$(ajax_links+'_loading');
			div_loading.addClass('loading');
			
			div.fade(0, 0);
			
			var myRequest = new Request({
				url: url,
				method: 'get',
				onComplete: function(response) {
					div.set({'html': response});
					
					new external();
										
					div.fade(0, 1);
					div_loading.removeClass('loading');
				}
			}).send('ajax_id='+this.rel);
			
			var snippetsrevert = $$(".dynamic a");
			snippetsrevert.each(function(snippetrevert, i) {
				snippetrevert.className='';
			});
			
			$('ajax_a_'+this.rel).className='active';
	
		});
	});
};

var slideMugs = function(width, mugs){
	var distance_var=-(width-612);
	var distance=distance_var;
	var morphElement = $('mugs');
	var morphObject = new Fx.Morph(morphElement, {duration: (1000*mugs),
			onComplete: function(){
				if(morphElement.getStyle('margin-left')=='0px'){
					distance=distance_var;
				}else{
					distance=0;
				}
				morphObject.start({
					
					'margin-left': distance
				});
			}
		}
	);
	
	morphObject.start({
		'margin-left': distance
	});
};

function website(url){
	newWindow = window.open(url, '_blank', '');
	newWindow.focus();
}

function popup(url){
	popupWindow = window.open(url, '_blank', 'location=no,menubar=no,width=676,height=676,toolbar=no,scrollbars=yes,resizable=no');
	popupWindow.focus();
}

var external = function(){
	var anchors = $$("a");
	anchors.each(function(anchor, i) {
		var relAttribute = String(anchor.getAttribute('rel'));
		if (anchor.id=='print'){
			anchor.onclick = function() {
				print();
				return false;
			};
		}else if (anchor.getAttribute('href') && (relAttribute=='external')){
			anchor.onclick = function() {
				website(this);
				return false;
			};
		}else if (anchor.getAttribute('href') && (relAttribute=='popup')){
			anchor.onclick = function() {
				popup(this);
				return false;
			};
		}
	});
};

window.addEvent('domready', function(){
	new external();
});