var currentUrl = '';
var imageRotate;
function addClickEvent() {
	
	var aTags = $$('a[rel=ajax]');
	
	aTags.removeEvents('click');
	
	aTags.addEvents({		
		'click': function(){
			
			if (this != currentUrl) {
				var clickedElement = this;
				var queryUrl = this.getAttribute('href');
				var curTime = new Date();
				var request = new Request.JSON({
					method: 'get',
					url: queryUrl + '?' + curTime.getTime(),
					
					onSuccess: function(response) {
						if (response) {
							//$clear(imageRotate);
							
							imageFader.clearImages();
							//$$('a [href=' + queryUrl + ']').addClass('navSelected');
						
							changeSelected(clickedElement);
							
							var tweenSubNav = false;
							
							if (response.subNav) {
								var clickedElementParent = clickedElement.getParent('div').getAttribute('id');
								if (clickedElementParent == 'topNav' || clickedElementParent == 'footerNav') {
									tweenSubNav = true;
								}
							} else {
								tweenSubNav = true;
							}
							
							// FADE OUT THE EXISITNG PAGE & IMAGE
							(function(){
							
								$('photo').set('tween', {duration: 200});
								$('photo').tween('opacity', 0);
								
								if (response.html) {
									$('hack').style.overflow = 'hidden';
									$('text').tween('left', '466px');
								}
								
								if (tweenSubNav && $('subNav')) {
									$('subNav').tween('height', 0);
								}
							}).delay(0);
							
							// CHANGE CONTENT
							(function(){
								if (response.html) {
									$('text').innerHTML = response.html;
								}
								
								if (tweenSubNav && $('subNav')) {
									$('subNav').innerHTML = response.subNav;
								}
								
								if (response.leftHtml) {
									$('photo').innerHTML = response.leftHtml;
									if (response.leftHtml == '<div id="map"></div>') {
										googleMap();
									}
								} else {
									/*$('photo').innerHTML = '<img src="#" id="mainImage" />';
									$('mainImage').src = response.image;*/
									$('photo').innerHTML = response.image;

									imageFader.init( );
									response.images.each(function(i) {
										imageFader.addImage(i);
									});
								}
								
								addClickEvent();
							}).delay(200);
							
							// FADE IN THE NEW PAGE
							(function(){
							
								if (response.html) {
									$('text').tween('left', '0');
								}
								
								if (tweenSubNav && response.subNav && $('subNav')) {
									$('subNav').tween('height', '24px');
								}
								if($('subNav').innerHTML == 'false') {$('subNav').innerHTML = ''}
								$('subNav').tween('height', '24px');

								if (response.leftHtml) {
									$('photo').set('tween', {duration: 1500});
									$('photo').tween('opacity', 1);
								}
								
								if(response.secondImage) {
									//fadeImage(response.secondImage, true);
								}
								
							}).delay(800);
							
							(function(){
								//$('outer').style.overflow = 'auto';
								$('hack').style.overflow = 'auto';
								$('photo').tween('opacity', 1);

							}).delay(1300);
							
							currentUrl = queryUrl;
						}
					},
					
					onFailure: function(){
						// ON FAILURE - REDIRECT TO THE PAGE (404 or no response)
						window.location = queryUrl;
						return false;
					}
				}).get();
			}
			return false;
		}
	});			
}

function changeSelected(clickedElement) {
	var clickedElementParent = clickedElement.getParent('div').getAttribute('id');
	
	if(clickedElementParent == 'topNav' || clickedElementParent == 'footerNav') {
		$$('a[rel=ajax]').removeClass('navSelected');
		clickedElement.addClass('navSelected');
	} else if(clickedElementParent == 'subNav') {
		$$('div[id=subNav] a[rel=ajax]').removeClass('navSelected');
		clickedElement.addClass('navSelected');
	}
}

var currentImage = false;
/*function fadeImage(toUrl, firstRun) {
	
	if (firstRun) {
		imageRotate = (function(){
			fadeImage(toUrl, false);
		}).delay(5000);
		return true;
	}
	currentImage = $('mainImage').src;
	
	// FADE OUT THE OLD IMAGE
		$('photo').tween('opacity', 0);
	
	$('mainImage').addEvent('load', function() {
		$('photo').tween('opacity', 1);
		$('mainImage').removeEvent('load');
	});
	
	if (firstRun) {
		//$('mainImage').src = toUrl;
	} else {
		(function(){
			$('mainImage').src = toUrl;
		}).delay(1000);
	}
	
	imageRotate = (function(){
		fadeImage(currentImage, false);
	}).delay(5000);
}
*/

function googleMap() {var map = new GMap2(document.getElementById("map"));var centerPoint = new GLatLng(52.614879, 1.737589);map.addControl(new GSmallMapControl());map.setCenter(centerPoint, 13);var baseIcon0 = new GIcon();baseIcon0.image = "http://maps.google.com/mapfiles/ms/micons/red-dot.png";baseIcon0.iconSize = new GSize(32, 32);baseIcon0.iconAnchor = new GPoint(9, 32);baseIcon0.infoWindowAnchor = new GPoint(9, 2);baseIcon0.shadow = "http://maps.google.com/mapfiles/ms/micons/msmarker.shadow.png";baseIcon0.shadowSize = new GSize(59, 32);baseIcon0.infoShadowAnchor = new GPoint(18, 25);var marker0 = new GMarker(centerPoint, new GIcon(baseIcon0));map.addOverlay(marker0);document.body.onunload = GUnload;}

window.addEvent('domready', function() {
	
	addClickEvent();
	
	$$('a[rel=popup]').addEvents({
		'click': function(){
			window.open(this.href, 'popupwindow', 'height=300,width=400,status=no,toolbar=no');
			return false;
		}
	});
	
	if($('map')) {
		googleMap();
	}
});
