
var zsite_dialog_callbacks = Array();

function zsite_dialog_maximize(id)
{
	var viewport = dijit.getViewport();
	var mb = dojo._getContentBox(dojo.byId(id+'_dialog'));
	var style = dojo.byId(id+'_dialog').style;

	style.left = "0px";
	style.top = "0px";
	style.width = viewport.w + "px";
	style.height = viewport.h + "px";


	style = dojo.byId(id+'_td').style;

	style.left = "0px";
	style.top = "0px";
	style.width = (viewport.w - 20) + "px";
	style.height = (viewport.h - 120) + "px";


//	style.left = Math.floor((viewport.l + (viewport.w - mb.w)/2)) + "px";
//	style.top = Math.floor((viewport.t + (viewport.h - mb.h)/2)) + "px";

	//todo: resize also textareas and canvas objects
}

function zsite_dialog_show(id)
{
	//lose focus not to overlap
	zsite_focus_lose();


	//make it visible


	dojo._setOpacity(dojo.byId(id+'_dialog'), 0);
	setTimeout('dojo.byId(\''+id+'_dialog\').style.display=\'block\';',1);

//	dojo.fx.wipeIn({node:id+'_dialog', duration: 1}).play();
	dojo.fadeIn({node:id+'_dialog', duration: 1000}).play();

//	dojo.byId(id+"_dialog").style.display="block";



	//make it on center
	setTimeout('                           				\
	var viewport = dijit.getViewport();				\
	var mb = dojo._getContentBox(dojo.byId(\''+id+'_dialog\'));	\
	var style = dojo.byId(\''+id+'_dialog\').style;			\
	style.left = Math.floor((viewport.l + (viewport.w - mb.w)/2)) + "px";	\
	style.top = Math.floor((viewport.t + (viewport.h - mb.h)/2)) + "px"; ', 5);

	//make it modal
//	var underlay = new dijit.DialogUnderlay();
//	dojo.hitch(underlay, "show");
}

function zsite_dialog_hide(id, result)
{
	dojo.fadeOut({node:id+'_dialog', duration: 500}).play();
	setTimeout('dojo.byId(\''+id+'_dialog\').style.display=\'none\';', 500);

	if(zsite_dialog_callbacks[id].constructor.toString().match(/string/i))
	{
		//callback array value is function name
		eval(zsite_dialog_callbacks[id]+'(result);');
	}
	else //callback array value is a function itself
	{
		zsite_dialog_callbacks[id](result);
	}

	zsite_focus_lose();
}

function zsite_dialog_exec(id, callback)
{
	zsite_dialog_callbacks[id] = callback;
	zsite_dialog_show(id);
}

function zsite_dialog_setcontent(id, content)
{
	dojo.byId(id+"_content").innerHTML = content;
}