-my($title, $menubar) = ( shift, shift );
-my $etc = @_ ? shift : ''; #$etc is for things like onLoad= etc.
-my $head = @_ ? shift : ''; #$head is for things that go in the <HEAD> section
+my( $title, $title_noescape, $menubar, $etc, $head ) = ( '', '', '', '', '' );
+my( $nobr, $nocss, $no_jquery ) = ( 0, 0, 0 );
+
+my $mobile;
+
+if ( ref($_[0]) ) {
+ my $opt = shift;
+ $title = $opt->{title};
+ $title_noescape = $opt->{title_noescape};
+ $menubar = $opt->{menubar};
+ $etc = $opt->{etc};
+ $head = $opt->{head};
+ $nobr = $opt->{nobr};
+ $nocss = $opt->{nocss};
+ $mobile = $opt->{mobile};
+ $no_jquery = exists($opt->{no_jquery}) ? $opt->{no_jquery} : 1; #v3 only, 0 on v4+
+} else {
+ ($title, $menubar) = ( shift, shift );
+ $etc = @_ ? shift : ''; #$etc is for things like onLoad= etc.
+ $head = @_ ? shift : ''; #$head is for things that go in the <HEAD> section
+}
+