if(!YAHOO.Mevia){ YAHOO.namespace("Mevia"); }

(function(){

	var yud = YAHOO.util.Dom;
	var yue = YAHOO.util.Event;
	var yua = YAHOO.util.Anim;
	var yur = YAHOO.util.Region;
	

	var Lightbox = function(postlink_id,width,height,onclose){
		var overlay = yud.get('mevia_lightbox');
		var plink = getCustomTag(postlink_id);
		var container = getCustomTag('mevia_lightbox_content');
		var site = 'window';
		var loader = yud.get('ajax_loader');
		var viewportW = YAHOO.util.Dom.getViewportWidth();
		var viewportH = YAHOO.util.Dom.getViewportHeight();
		var closebutton = 'close_lightbox';
		
		
		this.close = Lightbox_Close;
		this.setOnClose = Lightbox_setOnClose;
		
		this.site = site;
		this.overlay = overlay
		this.container = container
		
		plink.request.setOnSuccess(function(o){
			var json = eval("("+o.responseText+")");
			for(section in json){
				if(section != 'default' && getCustomTag(section)){
					container.setContent(json[section]);
				}
			}
			yud.setStyle(site,'opacity',0.2);
			yud.setStyle(overlay,'display','block');
			yud.setStyle(overlay,'opacity',1);
			yud.setStyle(container.getElement(),'height',parseInt(height)+'px');
			yud.setStyle(container.getElement(),'width',parseInt(width)+'px');
			yud.setStyle(container.getElement(),'top',parseInt((viewportH/2)-(height/2))+'px');
			yud.setStyle(container.getElement(),'left',parseInt((viewportW/2)-(width/2))+'px');
			yud.setStyle(closebutton,'top',parseInt((viewportH/2)-(height/2)+6)+'px');
			yud.setStyle(closebutton,'left',parseInt((viewportW/2)-(width/2)-13)+'px');
			
			yue.addListener(closebutton,'click',function(){
				yud.setStyle(site,'opacity',1);
				yud.setStyle(overlay,'display','none');
				yud.setStyle(overlay,'opacity',0);
				container.setContent('');
				if(YAHOO.util.Dom.get('ajax_loader')){
					YAHOO.util.Dom.setStyle('ajax_loader','display','none');
				}
				if(onclose){
					onclose();
				}
			})
			
			if(loader){
				yud.setStyle(loader,'display','none');
			}
		});
		
		
		if(onclose){
			this.setOnClose(onclose);
		}
	};

	Lightbox_Close = function(){
		yud.setStyle(this.site,'opacity',1);
		yud.setStyle(this.overlay,'display','none');
		yud.setStyle(this.overlay,'opacity',0);
		this.container.setContent('');
		if(YAHOO.util.Dom.get('ajax_loader')){
			YAHOO.util.Dom.setStyle('ajax_loader','display','none');
		}
		if(this.onClose){
			this.onClose();
		}
	}
	
	Lightbox_setOnClose = function(fun){
		this.onClose = fun;
	}
	
	

	YAHOO.Mevia.Lightbox = Lightbox;
})();
