function Holder(id){
	var holderBox = $("#finchHolder");
	var content = $("*[@class=holderContent]", holderBox);
	var opac = 0.6;
	var that = this;
	var speed = 450;
	var callBack = null;
	var contId = "";
	var wr = $("#wrapper");
	this.afterInit = undefined;
	function setCallBack(fn)
	{
		that.callBack = fn;
	}
	
	function callCustom()
	{
		if(callBack != null)
			callBack();
	}
	
	wr.css({
		opacity:0
	});
	
	holderBox.css({
		position:"absolute",
		top:0,
		left:0,
		width:"100%",
		zIndex:100000,
		display:"none"
	});
	
	content.css({
		top:0,
		left:0,
		position:"absolute",
		width:"100%",
		opacity:0
	});
	
	holderBox.dblclick(function()
	{
		return false;
	});
	
	this.initClose = function()
	{
		$(".auth-close", content).click(function(){that.hide();return false;});
	}
	
	this.getContent = function()
	{
		return content;
	}
	
	this.getContent = function()
	{
		return holderBox;
	}
	
	this.show = function()
	{
		content.css({
			top:getClientCenterY() - 50
		});
		wr.stop();
		content.stop();
		wr.height($("#main").height());
		content.empty();
		content.append($("#" + contId).html());
		if(that.afterInit != undefined)
			that.afterInit();
		wr.css({display:"block"});
		holderBox.css({display:"block"});
		wr.animate({opacity:opac},speed);
		content.animate({opacity:1},speed);
		if ($.browser.msie)
		{
			$("select").css({visibility:"hidden"})
		}
	}
	
	this.refreshContent = function(){
		hideContent(showContent);
	}
	
	function showContent()
	{
		content.empty();
		content.append($("#" + contId).html());
		if(that.afterInit != undefined)
			that.afterInit();
		content.animate({opacity:1},speed);
	}
	
	function hideContent(listener)
	{
		content.animate({opacity:0},speed, listener);
	}
	
	this.hide = function()
	{
		if(holderBox.css("display") == "none")
			return;
		wr.stop();
		content.stop();
		wr.animate({opacity:0},speed, onAnimate);
		content.animate({opacity:0},speed, function(){
			if ($.browser.msie)
			{
				$("select").css({visibility:"visible"})
			}
		});
		
	}
	
	function onAnimate()
	{
		wr.css({display:"none"});
		holderBox.css({display:"none"});
	}
	
	this.addClass = function(style)
	{
		holderBox.addClass(style);
	}
	
	this.setContent = function(id)
	{
		contId = id;
	}
}