Example:
- <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
- <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+ include('/elements/init_overlib.html')
include( '/elements/popup_link.html', { #hashref or a list, either way is fine
'label' => 'click me', # text of <A> tag
#strongly recommended
- 'actionlabel => 'You clicked', # popup title
+ 'actionlabel' => 'You clicked', # popup title
#opt
- 'width' => '540',
+ 'width' => 540,
+ 'height' => 336,
'color' => '#ff0000',
'closetext' => 'Go Away', # the value '' removes the link
+ 'title' => 'Hover Text',
+
+ #uncommon opt
+ 'aname' => "target", # link NAME= value, useful for #targets
+ 'target' => '_parent',
+ 'style' => 'css-attribute:value',
+ 'html_label' => '<IMG SRC="something.png">', # overrides label
} )
</%doc>
-% if ($action && $label) {
-<A HREF="javascript:void(0);" onClick="<% $onclick %>"><% $label %></A>\
+% if ($params->{'action'} && $label) {
+<A HREF="javascript:void(0);"
+ onClick="<% $onclick |n %>"
+ <% $params->{'title'} ? 'TITLE="' . $params->{'title'}. '"' : '' |n %>
+ <% $params->{'aname'} ? 'NAME="'. $params->{'aname'}. '"' : '' |n %>
+ <% $params->{'target'} ? 'TARGET="'. $params->{'target'}. '"' : '' |n %>
+ <% $params->{'style'} ? 'STYLE="'. $params->{'style'}. '"' : '' |n %>
+><% $label %></A>\
% }
<%init>
-my($action, $label, $actionlabel) = ( '', '', '' );
-my $closetext = 'Close';
-my $width = 540;
-my $color = '#333399';
-
my $params;
if (ref($_[0]) eq 'HASH') {
#$params = { %$params, %{ $_[0] } };
$params = { @_ };
}
-$action = $params->{'action'} if exists $params->{'action'};
-$label = $params->{'label'} if exists $params->{'label'};
-$actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
-$width = $params->{'width'} if exists $params->{'width'};
-$color = $params->{'color'} if exists $params->{'color'};
-$closetext = $params->{'closetext'} if exists $params->{'closetext'};
-
-#stupid safari is caching the "location" of popup iframs, and submitting them
-#instead of displaying them. this should prevent that.
-my $popup_name = 'popup-'.time. "-$$-". rand() * 2**32;
-
-my $onclick = "overlib( OLiframeContent('$action', $width, 336, '$popup_name' ), CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '$closetext' ); return false;";
+my $label = $params->{'label'};
+$label =~ s/ / /g;
+$label = $params->{'html_label'} || $label;
+my $onclick = include('/elements/popup_link_onclick.html', $params);
</%init>