The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%#============================================================================
%# ePortal - WEB Based daily organizer
%# Author - S.Rusakov <rusakov_sa@users.sourceforge.net>
%#
%# Copyright (c) 2000-2004 Sergey Rusakov.  All rights reserved.
%# This program is open source software
%#
%#
%#----------------------------------------------------------------------------
%#
%# Usage:
%#
%# 	<form name="theForm">
%#	<input type="text" name="adate">
%#	<a href="javascript:DateSelector('adate')"><img border=0
%# 		src="/images/ePortal/pdate.gif"></a>
%#	...
%#  </form>
%#
%# or use ePortal::thePersistent::Support::htmlField
%#
%##########################################################################
<span id="tree_message"><center>
<p style="color:red;font-weight:bold;font-size:10pt;text-decoration:blink;">
	Ïîäîæäèòå. Èäåò çàãðóçêà äàííûõ.<p>
</center></span>
% $m->flush_buffer;


%	my $obj;
% eval { $obj = new $objtype; };
% if ($@) {
	<& /message.mc, ErrorMessage => "Íå ìîãó ñîçäàòü òðåáóåìûé îáúåêò" &>
	<!-- objtype: <% $objtype %> -->
%  return;
% }


%	if (!$obj->restore($objid)) {
	<& /message.mc, ErrorMessage => "Íå ìîãó íàéòè çàïðîøåííûé îáúåêò" &>
	<!-- objid: <% $objid %> -->
% return;
% }


%	my $A = $obj->attribute($field);
% if (! ref($A) or ! ref($A->{tree}) eq 'CODE') {
	<& /message.mc, ErrorMessage => "Çàïðîøåíûé àòðèáóò îáúåêòà íå íàéäåí" &>
	<!-- ref(A): <% ref($A) %> -->
% return;
% }


%	my $tree = $A->{tree}($obj);
% if (! $tree) {
	<& /message.mc, ErrorMessage => "Çàïðîñ íà ïîëó÷åíèå ñïèñêà äëÿ äåðåâà íå âûïîëíåí" &>
	<!-- ref(A): <% ref($A) %> -->
% }
% $tree->url("javascript:SelectTreeItem(#id#);");
% $tree->expand_item($fielddata);
% $tree->{obj_by_id}{$fielddata}{url}='';

<script language="JavaScript">
%#--- We have to pass some parameters to SelectTreeItem(). I use global variables ;-)
	var PopupTree_objid = <% $objid %>;
	var PopupTree_objtype = '<% $objtype %>';
	var PopupTree_field = '<% $field %>';

%#--- Hide "wait please. loding" message
	document.all('tree_message').style.display = "none";
</script>

<div align="right">
 <% plink("Çàêðûòü ýòî îêíî", href => "javascript:window.close();") %>
</div>
<h2>Âûáîð ïîäðàçäåëåíèÿ</h2>

% $m->flush_buffer;
% $tree->draw;


%#=== @metags attr =========================================================
<%attr>
Title => {rus => "Âûáîð èç äåðåâà", eng => "Select one from tree"}
</%attr>


%#=== @metags args =========================================================
<%args>
$objid
$objtype
$fielddata=>undef
$field
</%args>