theClicked = "";
alreadyOpen = false;


var doAjax = function() {
	
	$('ajax_background').setStyle('opacity',0);
	
	var openCreative = function openCreative(event) {

		if (event) {
			event.stop();
		}
	
		if (theClicked == "") {
			theClicked = this;
		}
		
		theURL = theClicked.get('href');
													
   	 	$('loading-icon').setStyles({'display' : 'block', 'top': $(window).getScroll().y+300});
			
		var myHTMLRequest = new Request.HTML({url:theURL, update: $('ajax_content'), onComplete: function(){
			
			
			var forwardButton = new Element('a', {
    			'href': '#',
    			'class': 'forwardButton pngfix',
    			'html': 'Next',
    			'events': {
        			'click': function(event){
						event.stop();
						if (theClicked.getParent().getNext()) {
							theClicked = theClicked.getParent().getNext().getFirst('a');
							openCreative(event);
						} else {
							theClicked = theClicked.getParent().getParent().getFirst().getFirst('a');
							openCreative(event);
						}
       				}
    			}
			});

			var backwardButton = new Element('a', {
    			'href': '#',
   		 		'class': 'backwardButton pngfix',
    			'html': 'Previous',
    			'events': {
        			'click': function(event){
						event.stop();
						if (theClicked.getParent().getPrevious()) {
							theClicked = theClicked.getParent().getPrevious().getFirst('a');
							openCreative(event);
						} else {
							theClicked = theClicked.getParent().getParent().getLast().getFirst('a');
							openCreative(event);
						}
        			}
   				}
			});
			
			var closeButton = new Element('a', {
    			'href': '#',
   		 		'class': 'closeButton pngfix',
    			'html': 'Close',
    			'events': {
        			'click': function(event){
						event.stop();
						closeCreative();
        			}
   				}
			});			
			
			
			backwardButton.inject($('ajax_content'));
			forwardButton.inject($('ajax_content'));
			closeButton.inject($('ajax_content'));
			
			if (alreadyOpen != true) {
				$('ajax_background').setStyles({'top': -$(window).getScroll().y,'height':$(window).getScrollSize().y+$(window).getScroll().y });
				$('ajax_content').setStyles({'opacity' : 0, 'top': $(window).getScroll().y+40});
			} else {
				$('ajax_content').setStyle('opacity',0);
			}
			$('ajax_background').removeClass('notdisplayed');
			$('ajax_content').removeClass('notdisplayed');
		
			//$('ajax_content').setStyle('height', 'auto');
			//$('ajax_content').setStyle('width', 'auto');
			//theHeight = 0;
			theWidth = 0;
			$('ajax_content').getChildren().each(function(el){
				//theHeight = el.getSize().y  + theHeight;
				//alert(el.getSize().x);
				if (el.getSize().x > theWidth) {
					theWidth = el.getSize().x
				}
			});
			
			
			Cufon.replace($('ajax_content').getFirst('h2'));
			Cufon.replace($('author').getFirst('span'));
			
			theWidthOffset = Math.round(theWidth/2);
			$('ajax_content').setStyle('width',theWidth);
			$('ajax_content').setStyle('marginLeft', -theWidthOffset);
			//alert(theWidthOffset);
			//alert(theHeight);
			//alert(theWidth);
				

			
			if (alreadyOpen == true) {
				$('ajax_content').get('morph',{onComplete:function(){
																	  
				}}).start({'opacity':1});	
			} else {
				$('ajax_background').get('morph',{onComplete:function(){
					alreadyOpen = true;
					$('ajax_content').get('morph',{onComplete:function(){
																	  
					}}).start({'opacity':1});
				}}).start({'opacity':0.8});				
			}
			
			
			$('loading-icon').setStyle('display', 'none');
		
			$('ajax_background').addEvent('click', function() {
				closeCreative();
			});
			
			//$('closegallery').addEvent('click', function() {
			//	closeCreative();
			//});			
	
		} }).get({'ajaxreturn':1});
	}

	var closeCreative = function() {
		
		theClicked = "";
		alreadyOpen = false;
		
		$('ajax_content').get('morph',{onComplete:function() {
			$('ajax_background').get('morph',{onComplete:function(){
				$('ajax_background').addClass('notdisplayed');
				$('ajax_content').addClass('notdisplayed');	
			}}).start({'opacity':0});												
		}}).start({'opacity':0});
		
		$('ajax_background').removeEvents();
	}
	
	$$('a').each(function(el){
		if (el.get('rel') && el.get('rel') == 'ajaxopen') {
			el.addEvent('click', openCreative);
		}
	});
	

}
	
window.addEvent('domready', doAjax);