$D = YAHOO.util.Dom;
$E = YAHOO.util.Event;
$O = YAHOO.widget.Overlay;
$C = YAHOO.util.Connect;

var overlay =
{
	init:function()
	{
		if(!document.getElementById || !document.createTextNode) return;
		if(!$D.get('t_over')) overlay.prepareDarkening();
		var photoDivs = $D.getElementsByClassName('photo');
		var links = new Array();
		for( var i = 0; i<photoDivs.length; i++)
		{
			links[i] = photoDivs[i].getElementsByTagName('a');
		}
		$E.on(links, 'click', overlay.clickHandler);
		//$E.on(links, 'click', function(e){ $E.stopEvent(e); alert(this.href)});
	},
	clickHandler:function(e)
	{
		$E.stopEvent(e);
		overlay.showDarkening();
		overlay.fetchContent(this);
	},
	prepareDarkening:function()
	{
		var t_over = document.createElement('div');
		t_over.setAttribute('id', 't_over');
		$E.on(t_over, 'click', overlay.hideDarkening);
		document.body.appendChild(t_over);
		$D.setStyle(t_over, 'opacity', '0');
		
	},
	showDarkening:function()
	{
		var t_over = $D.get('t_over');
		$D.setStyle(t_over, 'width', $D.getDocumentWidth() + "px");
		$D.setStyle(t_over, 'height', $D.getDocumentHeight()+ "px");
		$D.setStyle(t_over, 'display', 'block');
		var attributes = { opacity: { from:0, to:.8 }};
      	var anim = new YAHOO.util.Anim( t_over, attributes, .5, YAHOO.util.Easing.easeOut );
      	anim.animate();
		$E.on(window, 'resize', function()
										 {
											 $D.setStyle(t_over, 'width', $D.getDocumentWidth() + "px");
											 $D.setStyle(t_over, 'height', $D.getDocumentHeight()+ "px");
										 });
	},
	hideDarkening:function(e)
	{
		$E.stopEvent(e);
		var attributes = { opacity: { from:.8, to:0 }};
      	var anim = new YAHOO.util.Anim( this, attributes, .4, YAHOO.util.Easing.easeOut );
		anim.animate();
		if($D.getElementsByClassName('yui-overlay')[0]) 
		{
			overlay.c_over.hide();
			overlay.c_over.hideEvent.subscribe(function(){ overlay.c_over.destroy(); });
		}
		anim.onComplete.subscribe(function()
			{
				$D.setStyle($D.get('t_over'), 'display', 'none');
				//if($D.getElementsByClassName('yui-overlay')[0]) overlay.c_over.destroy(); //$D.getElementsByClassName('yui-overlay')[0].parentNode.removeChild($D.getElementsByClassName('yui-overlay')[0]);
			});		
		
	},
	fetchContent:function(el)
	{
		overlay.isrc = el.href;
		var img = new Image();
		overlay.c_over =  new YAHOO.widget.Overlay("c_over", { fixedcenter:true, visible:true, zIndex:10, width:"24px" } ); 
		overlay.c_over.setHeader("");
		overlay.c_over.setBody("<img src='themes/photoplaces/images/ajax-loader.gif' alt='loading' />");
		overlay.c_over.setFooter("");
		overlay.c_over.render(document.body);
		$E.on(img, "load", overlay.imgHandler, el);	
		img.src = overlay.isrc;
	}, 
	imgHandler:function(e, el)
	{
		if($D.getStyle($D.get('t_over'), 'display') == 'none') return;
		var imgwidth = this.width;
		overlay.c_over =  new YAHOO.widget.Overlay("c_over", { fixedcenter:true, visible:false, zIndex:10, width:imgwidth+"px"} ); 
		overlay.c_over.setBody('<img src="'+overlay.isrc+'" alt="Flickrmania Image from Flickr" />');
		overlay.c_over.setFooter('<a href="#" id="Close">sluit dit venster</a>');
		overlay.c_over.render(document.body);
		overlay.c_over.cfg.setProperty('effect', [{effect:YAHOO.widget.ContainerEffect.FADE,duration:.4}]);
		overlay.c_over.show();
		overlay.c_over.showEvent.subscribe(overlay.initClose);
	},
	initClose:function()
	{
		var closer = $D.get("Close");
		$E.on(closer, "click", overlay.hideDarkening);
	}	
}
$E.onContentReady("ContentLeft", overlay.init);
var loadIm = new Image();
loadIm.src = "themes/photoplaces/images/ajax-loader.gif";