/**
 * base must be the path where you installed the gallery (ex. /gallery ).
 * empty if you installed it in  your document root.
 * it is auto set in the setLinks function, do not edit.
 */

var base = ''

/**
 * on document load set observers on links
 */

document.observe("dom:loaded", function() { setLinks();});

/**
 * morph height of img_box div to accomodate the images
 */

function morphimg_box() {
		$('img_box').morph('height:'+$('contents').getStyle('height'), {
			afterFinish: function() { 	
				$('img_box').removeClassName('loader');
				$('contents').fade({from: 0, to:1, duration:0.7});
			}});
}

/**
 * on click event load ajax content and show it with effects
 */

function respondToClick(event) { 
	var element = event.element();
	if(!element.readAttribute('href')) element=element.up();
	var tmp_url = element.readAttribute('href');
	
	/**
	 * IE6 needs this
	 */
	var tmp = new RegExp('^https?:\/\/');
	if(tmp.test(tmp_url)) {
		tmp_url = element.readAttribute('href').substring(7);	
		tmp_url = tmp_url.substring(tmp_url.indexOf('/'));	
	}
	
	var url = 'ajax/'+tmp_url.substr(base.length);
	
	$('img_box').setStyle({height: $('img_box').getStyle('height')});	
	$('contents').fade({from: 1, to:0, duration:0.7, 
		afterFinish: function() {
			$('img_box').addClassName('loader');
			
  	  		new Ajax.Request(url, {
  	  			method:'get',
  	  			onSuccess: function(transport) {
  	  				var text = transport.responseText;
  	  				$('contents').update(text);
					$('contents').setOpacity(0);
					$('contents').show();
  					if($('flickr-photo')==null) {
  	  					$('img_box').setStyle({height: 'auto'});
						$('img_box').removeClassName('loader');
  	  					$('contents').fade({from: 0, to:1, duration:0.7});
  	  				}
  	  				setLinks();
  	  			},
  	  	   		onFailure: function(transport) {
  	  	   			$('img_box').removeClassName('loader');			
  	  	   			$('contents').show();
  	  	   		}
  	  		});
		}});
	Event.stop(event);
}

/** 
 * get base url and observe clicks on links
 */

function setLinks() {
	a = $$("base");
	var url = a[0].readAttribute('href').substring(7);	
	base = url.substring(url.indexOf('/'));

	a = $$("div.photoset a");
	for(i=0;i<a.length;i++) { a[i].observe("click", respondToClick); }	
	
	a = $$("div.collection a");
	for(i=0;i<a.length;i++) { a[i].observe("click", respondToClick); }
	
	a = $$("div#thumbnails a");
	for(i=0;i<a.length;i++) { a[i].observe("click", respondToClick); }	
			
	a = $$("p#navigation a");
	for(i=0;i<a.length;i++) { a[i].observe("click", respondToClick); }

	a = $$("div#flick_footer a");
	for(i=0;i<a.length;i++) { a[i].observe("click", respondToClick); }

	if($("flickr-photo")!=null) $("flickr-photo").observe("load", morphimg_box);
}
