Search the web
Sign In
New User? Sign Up
vim · Vim (Vi IMproved) text editor users list
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Messages 1 - 15246 of 109739   Newest  |  < Newer  |  Older >  |  Oldest
Messages: Show Message Summaries   (Group by Topic) Sort by Date v  
#15246 From: Thomas Capricelli <orzel@...>
Date: Thu Dec 7, 2000 2:54 pm
Subject: Re: Whishes for vim 7.0
orzel@...
Send Email Send Email
 
> Why is this "kvim", rather than just a compile-time option for Vim? That

	 cause it's easier for us to do the development here. It was based on the 5.x
vim. I think it will be _easy_ to port to the 6.x branch

	 as the one in charge of the cvs, I've been _very_ careful about doint things
in a way we are following vim development. it's not a fork, it's a branch.
I'm aware of consequences if we merge. really. It could be put in the
official branch. I've spoken with bram about this. There seem to be no
problem with him (bram ?), neither about the decision, nor on technical
aspects.

	 another reason is that we need to remove lot of things to get a smal kpart
lib. but that's another issue.


> As you are only at version 0.1/0.2 at present, can you consider changing
> your approach and providing a patch to Vim (probably version 6.0) instead
> of a separate application?

	 I've already sent such a patch to Bram 'for review only'. There were no
problem, kde-specific files are kept separate (exactly as are gtk- or athena-
specific files, have a look).

	 To keep it short

	 It follows easily whatever version of vim I want
	 It can be merged with the official tree at every moment.
	 Until further notice, kvim stay in KDE cvs where it's easier for us to code

I hope I've answered you questions,


best regards,
Thomas

--

Thomas Capricelli <orzel@...>
boson : http://boson.eu.org
kvim : http://aquila.rezel.enst.fr/thomas/vim/

#15245 From: DouglasPotts@...
Date: Thu Dec 7, 2000 1:57 pm
Subject: Re: Regex headache :)
DouglasPotts@...
Send Email Send Email
 
This is a little late as a suggestion, but I guess I thought someone
else would come up with it as well.  How about 'uniq'?  It is in the
GNU textutils package.

  - SOPHOCLES:/WINDOWS 201% uniq --help
Usage: uniq [OPTION]... [INPUT [OUTPUT]]
Discard all but one of successive identical lines from INPUT (or
standard input), writing to OUTPUT (or standard output).

   -c, --count           prefix lines by the number of occurrences
   -d, --repeated        only print duplicate lines
   -f, --skip-fields=N   avoid comparing the first N fields
   -i, --ignore-case     ignore differences in case when comparing
   -s, --skip-chars=N    avoid comparing the first N characters
   -u, --unique          only print unique lines
   -w, --check-chars=N   compare no more than N characters in lines
   -N                    same as -f N
   +N                    same as -s N
       --help            display this help and exit
       --version         output version information and exit

A field is a run of whitespace, than non-whitespace characters.
Fields are skipped before chars.

Report bugs to textutils-bugs@...

-Doug

--
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Douglas L. Potts  Spectral Systems, Inc. Url: http://www.bigfoot.com/~pottsdl
"Writing is easy. It's all a matter of staring at a blank piece of paper
until your forehead bleeds" -Douglas Adams
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*



                     Gregoire
                     Welraeds             To:     VIm Mailling list <vim@...>
                     <greg@perceva        cc:
                     l.be>                Subject:     Re: Regex headache :)

                     12/07/00
                     08:50 AM





On Wed, 6 Dec 2000, Jean-Raymond.Chauviere wrote:

<snip>

> Not the answer to your question, ( I suppose pepe's one is good)
> but anyway you don't need awk
> sort -u +0 -1
> can do the job, eventually redirected to the vim buffer :-)

Yes, I could use sort. My awk script, if expanded, has only 4/5
lines... In the words, sort wins ! :)

Thank you guys for your answer. My curiosity has been satisfied 'till next
time. I'm always amazed by the fact that there is almost a vim answer to
every question :).

Gregoire Welraeds
Perceval Development Team!
devel@...
-------------------------------------------------------------------------------

Perceval Technologies sa/nv         Tel: +32-2-6409194
Rue Tenbosch, 9                                Fax: +32-2-6403154

B-1000 Brussels                                general information:
info@...
BELGIUM                                        technical information:
helpdesk@...
URL: http://www.perceval.be/
-------------------------------------------------------------------------------

#15244 From: Gregoire Welraeds <greg@...>
Date: Thu Dec 7, 2000 1:50 pm
Subject: Re: Regex headache :)
greg@...
Send Email Send Email
 
On Wed, 6 Dec 2000, Jean-Raymond.Chauviere wrote:

<snip>

> Not the answer to your question, ( I suppose pepe's one is good)
> but anyway you don't need awk
> sort -u +0 -1
> can do the job, eventually redirected to the vim buffer :-)

Yes, I could use sort. My awk script, if expanded, has only 4/5
lines... In the words, sort wins ! :)

Thank you guys for your answer. My curiosity has been satisfied 'till next
time. I'm always amazed by the fact that there is almost a vim answer to
every question :).

Gregoire Welraeds
Perceval Development Team!
devel@...
-------------------------------------------------------------------------------
Perceval Technologies sa/nv Tel: +32-2-6409194
Rue Tenbosch, 9 	 Fax: +32-2-6403154
B-1000 Brussels 	 general information:   info@...
BELGIUM 		 technical information: helpdesk@...
URL: http://www.perceval.be/
-------------------------------------------------------------------------------

#15243 From: "Moore, Paul" <Paul.Moore@...>
Date: Thu Dec 7, 2000 11:08 am
Subject: RE: Whishes for vim 7.0
Paul.Moore@...
Send Email Send Email
 
From: Thomas Capricelli [mailto:orzel@...]
> > Someone was working on "kvim".  Didn't hear about this for
> > a long time.  I actually have three people listed related
> > to this, I'll send them a copy. Hopefully they will give
> > us an update.
>
>  Yes. Here we are. kvim 0.1 was released some times ago. see
> 	 http://aquila.rezel.enst.fr/thomas/vim/
>  It requires kde2.0 and qt 2.2.x
[...]
>  kvim is going to be moved in kdenonbeta this week, if
>     anybody is interested in looking/contributing :-)))

One question (I don't currently use either Gnome or KDE, so I have no
particular vested interest, but if and when I do start, this would be my
view...)

Why is this "kvim", rather than just a compile-time option for Vim? That
implies to me that it is effectively a forked version of Vim, which is *not*
what I want. (For example, what version of Vim is kvim based on? Is it
tracking the 6.0 series closely, or is it 5.7-based (and hence of no
interest to me...))

I am very interested in Vim for KDE (in the sense that if I were using Unix
GUIs, I'd prefer KDE), but I won't be happy using something that is not part
of the core Vim sources.

As you are only at version 0.1/0.2 at present, can you consider changing
your approach and providing a patch to Vim (probably version 6.0) instead of
a separate application?

Thanks,
Paul Moore

#15242 From: Jean Jordaan <Jean@...>
Date: Thu Dec 7, 2000 9:31 am
Subject: Searching for next place where pattern does *not* match?
Jean@...
Send Email Send Email
 
Hi all

On a file like:

ap*acs29_sink
apacs29_sink
^apacs29_src

Cursor is at *. I want it to go to ^. (* and ^ do not appear in the
file, they're just to show the cursor.)

This search works:
/[^\(apacs29_sink\)]
but this one doesn't:
/^[^\(apacs29_sink\)]

The general question is: How do I find the next line that *doesn't*
start with the same pattern as the current one?

--
Jean Jordaan   --    technical writer    --    Mosaic Software

#15241 From: Zdenek Sekera <zs@...>
Date: Thu Dec 7, 2000 7:49 am
Subject: Re: echo getting erased.
zs@...
Send Email Send Email
 
Devin Weaver wrote:
>
> If always had trouble with echo not printing but this one really stumpped me.
I
> need some help figuring out what I'm doing wrong.
>
> Here's the function:
> function MyFunc( )
>     normal! zz
>     echohl WarningMsg
>     echo "Hello World!"
>     echohl None
> endfunction
>
> Now if I run GVIM like this:
>
> gvim -u NONE -U NONE large_text_file.txt
>
> then the first thing I do is :set nocp
> and then type in the above function.
>
> Then I scroll down a few pages and place the cursor above or below the center
> line (So the zz command is forced to move the viewport) Then run the funtion
> you'll see that helloworld is not printed.
>
> Any Ideas?

No idea, I just want to say that I have seen this very problem many
times over,
not only on 6.0 which I have reported (you don't say which vim version
you are
running). Many times it helps to put another 'echo "something really
useless"'
behind the echo you *really* want to see, sometimes you need more of
those and
sometimes a batch of echo's disappears without any recovery (that I
found).
This is particularly annoying when you are debugging a script and you
getting
out messages that look like *randonly chosen* from a sequence of your
debug
echo's.

---Zdenek

#15240 From: Bram Moolenaar <Bram@...>
Date: Wed Dec 6, 2000 10:11 pm
Subject: Re: syntax highlightening on amiga
Bram@...
Send Email Send Email
 
Kolla wrote:

> The amiga version of vim doesnt support real colour highlightening, which is
> pretty daft considering that the amiga console is pretty much stright forward
> ansi terminal compliant. If I use vim on my amiga with highlightening, I just
> get a mingle of underscore and bold (confuses more than it helps), while if
> I telnet/ssh to some other machine (linux/*bsd/whatever) from the same shell
> and con:, and run vim there with TERM=ansi, I get the full colour
> highlightening and all. Just so stupid that it doesnt work locally.

I'm afraid I still have the 4 color display (got a spare Amiga, anyone?)...

Anyway, it should be a matter of setting the right termcap entries.  Try this:

	 :set t_Co=8

> Also, if there is interest for it, I have updated icons for vim, most
> amiga users do not run 2bit diplays any more, most users prefer more
> vivid icons. :)

There are 8 color icons in the distribution (runtime/icons).

--
If an elephant is left tied to a parking meter, the parking fee has to be paid
just as it would for a vehicle.
		 [real standing law in Florida, United States of America]

///  Bram Moolenaar     Bram@...     http://www.moolenaar.net  \\\
\\\  Vim: http://www.vim.org      ICCF Holland: http://iccf-holland.org  ///

#15239 From: Devin Weaver <ktohg@...>
Date: Wed Dec 6, 2000 11:05 pm
Subject: Re: more troubles with jsp syntax (correction)
ktohg@...
Send Email Send Email
 
On Wed, Dec 06, 2000 at 04:51:59PM -0500, Arjona, Ariel wrote:
> Just curious, but why do these syntax coloring problems happen? I've had
> syntax coloring problems too, but setting minlines to 2500 solved it (with a
> serious CPU hit when I scroll up though).

Yes this will make a serious CPU hit. VIM will highlight using specified syntax
rules. In a simple situation a single line with a regex can determine proper
rule
(Like keywords or strings).

The problems arise when you have multiple lines which encompass one rule. Say
for
example you want all strings to be highlighted pink but stings can spawn
multiple lines. And a string is defined as any character between the delimiters
<% and %> So you say the start of the string is <% and the end will be %>

1   Not a string <% Is a
2   String on more
3   than one line %> Not a string

Here everything between <% and %> is a String. Now imagine that a very small
view at the current line. Say line 2. The only way to tell that the characters
on line to are part of the String rule would be to search backwards till it hit
a <% or a %> if it hit a %> then it knows it not inside a String rule. or
visa-versa if it sees a <% it know it is in one.

Now imagine that the text on line 2 spawned about 100 lines. That's 100 lines of
Syntax Vim has to parse through till it get to the line your interested in.

As for the syncing heres more examples. Say for the purpose of this email your
vim screen is one line in height. so you can only view on line at a time. Lets
walk though the logic as we scroll *Down*.

line 1 we see that it begins with <!-- so we know it's a comment till we hit -->
however inside of comments are strings so if we hit a " before the --> we'll
have to handle that as well (See the nesting). Ok. so say we hit the --> at
around line 4. done. Next we see a <% which means were stopping all HTML
rendering and starting ASP. Next we see a string and a number and a variable
then a comment. And finally a %>. That was allot especially if that was like say
50 lines.

That the feel of the VIM logic (Top-down approach) the problems you see is when
you scrolling *Up* In order for the top-down approach to work here the above
process needs to find a place to start. By default this is the top of the
screen but in situations like above where you have nested syntax you need to
sync to something else. (For example a line with <% in it) But to search
backwards every time the person scrolls up the above process needs to be done
again and again. Very CPU incentive the more complex the rules. So VIM uses a
fall off value to stop this (minlines) if it can't find the sync pattern by
minlines above then it stops and renders it as normal. That's what you see. by
increasing minlines to something crazy like 5000 then VIM will search backwards
for a maximum of 5000 line till it hits the sync pattern or not and begin
rendering from there till it gets to the users view. 5000 lines is allot
considering the ASP syntax has about 20 or so rule on it's own not including
the HTML it has in to which has javascript. heck if every one of those has 20
rules that's 30 right there which it parses for 5000 lines *Every* time a user
scrolls up!

Yes there are alternative ways then the top-down approach but this one provides
the most flexibility that's why VIM can support practically any lexical syntax.
where as most other highlighting editors only support a few and have no room for
customization. Theres a trade off with performance and scalibility/flexibility
here your seeing one of the cons.

When ever this happens to me I just hit page up till it rights it self then page
down where I was. And yeah I know my explanation was long and pointless but I
was board at the time. Had to avoid work somehow :-)

Cheers.

--
If VIM were a woman, I'd marry her.  Slim, organized, helpful and beautiful;
what's not to like?

#15238 From: Devin Weaver <ktohg@...>
Date: Wed Dec 6, 2000 10:16 pm
Subject: echo getting erased.
ktohg@...
Send Email Send Email
 
If always had trouble with echo not printing but this one really stumpped me. I
need some help figuring out what I'm doing wrong.

Here's the function:
function MyFunc( )
     normal! zz
     echohl WarningMsg
     echo "Hello World!"
     echohl None
endfunction

Now if I run GVIM like this:

gvim -u NONE -U NONE large_text_file.txt

then the first thing I do is :set nocp
and then type in the above function.

Then I scroll down a few pages and place the cursor above or below the center
line (So the zz command is forced to move the viewport) Then run the funtion
you'll see that helloworld is not printed.

Any Ideas?

--
If VIM were a woman, I'd marry her.  Slim, organized, helpful and beautiful;
what's not to like?

#15237 From: Benji Fisher <fisherbb@...>
Date: Wed Dec 6, 2000 10:11 pm
Subject: Re: more troubles with jsp syntax (correction)
fisherbb@...
Send Email Send Email
 
The only problem with editing syntax/html.vim is that you will have
to do it again when you upgrade to vim 6.0 (paradise ;).  The
recommended approach is described under

:help mysyntaxfile-add

I think that putting

:autocmd Syntax jsp syn sync minlines=...

in your mysyntaxfile (and setting the mysyntaxfile variable) should be enough.

HTH 			 --Benji Fisher

"Arjona, Ariel" wrote:
>
> Exactly. If you put the command in .vimrc probably it won't work.
> What I did was edit my syntax/html.vim (in my case, with ASP files, it's
> what worked for me) and add the command there.
>
> -Ariel
>
> > -----Original Message-----
> > From: Peter Bismuti [mailto:bismuti@...]
> > Sent: Wednesday, December 06, 2000 4:58 PM
> > To: aarjona@...
> > Cc: vim@...
> > Subject: Re: more troubles with jsp syntax (correction)
> >
> >
> > I'm not experiencing any CPU hit and mine is set to 5000,
> > perhaps the minlines
> > command is not taking for some reason.
> >
> >
> > >
> > > Just curious, but why do these syntax coloring problems
> > happen? I've had
> > > syntax coloring problems too, but setting minlines to 2500
> > solved it (with a
> > > serious CPU hit when I scroll up though).
> > >
> > > What can be done to solve them? I'd love to help the Vim
> > project, but I'm
> > > afraid I'm still not that good as a programmer :(
[snip]

#15236 From: "Arjona, Ariel" <aarjona@...>
Date: Wed Dec 6, 2000 10:05 pm
Subject: RE: more troubles with jsp syntax (correction)
aarjona@...
Send Email Send Email
 
Exactly. If you put the command in .vimrc probably it won't work.
What I did was edit my syntax/html.vim (in my case, with ASP files, it's
what worked for me) and add the command there.

-Ariel

> -----Original Message-----
> From: Peter Bismuti [mailto:bismuti@...]
> Sent: Wednesday, December 06, 2000 4:58 PM
> To: aarjona@...
> Cc: vim@...
> Subject: Re: more troubles with jsp syntax (correction)
>
>
> I'm not experiencing any CPU hit and mine is set to 5000,
> perhaps the minlines
> command is not taking for some reason.
>
>
> >
> > Just curious, but why do these syntax coloring problems
> happen? I've had
> > syntax coloring problems too, but setting minlines to 2500
> solved it (with a
> > serious CPU hit when I scroll up though).
> >
> > What can be done to solve them? I'd love to help the Vim
> project, but I'm
> > afraid I'm still not that good as a programmer :(
> >
> > > -----Original Message-----
> > > From: Peter Bismuti [mailto:bismuti@...]
> > > Sent: Wednesday, December 06, 2000 2:37 PM
> > > To: bismuti@...
> > > Cc: vim@...
> > > Subject: Re: more troubles with jsp syntax (correction)
> > >
> > >
> > > Looks like line 128, not 117.
> > >
> > >
> > > > I'm still seeing problems with jsp syntax.  I have set:
> > > >
> > > >  syntax sync minlines=5000
> > > >
> > > > which is much larger than the file I'm editing and it still
> > > is having
> > > > problems.  In the section where JavaScript functions
> are defined I'm
> > > > seeing the colors flip between purple and cyan. I'm
> seeing the color
> > > > flip on line 117:
> >
>
>
> _____________________________________________________________________
>  |
>          |
>  |         Pete Bismuti
>          |
>  |         Department of Computer Science
>          |
>  |         Florida State University
>          |
>  |         bismuti@...  (850) 644-6835
>          |
>
> |_____________________________________________________________
> ________|
>

#15235 From: Peter Bismuti <bismuti@...>
Date: Wed Dec 6, 2000 9:57 pm
Subject: Re: more troubles with jsp syntax (correction)
bismuti@...
Send Email Send Email
 
I'm not experiencing any CPU hit and mine is set to 5000, perhaps the minlines
command is not taking for some reason.


>
> Just curious, but why do these syntax coloring problems happen? I've had
> syntax coloring problems too, but setting minlines to 2500 solved it (with a
> serious CPU hit when I scroll up though).
>
> What can be done to solve them? I'd love to help the Vim project, but I'm
> afraid I'm still not that good as a programmer :(
>
> > -----Original Message-----
> > From: Peter Bismuti [mailto:bismuti@...]
> > Sent: Wednesday, December 06, 2000 2:37 PM
> > To: bismuti@...
> > Cc: vim@...
> > Subject: Re: more troubles with jsp syntax (correction)
> >
> >
> > Looks like line 128, not 117.
> >
> >
> > > I'm still seeing problems with jsp syntax.  I have set:
> > >
> > >  syntax sync minlines=5000
> > >
> > > which is much larger than the file I'm editing and it still
> > is having
> > > problems.  In the section where JavaScript functions are defined I'm
> > > seeing the colors flip between purple and cyan. I'm seeing the color
> > > flip on line 117:
>

   _____________________________________________________________________
  |                                                                     |
  |         Pete Bismuti                                                |
  |         Department of Computer Science                              |
  |         Florida State University                                    |
  |         bismuti@...  (850) 644-6835                          |
  |_____________________________________________________________________|

#15234 From: "Arjona, Ariel" <aarjona@...>
Date: Wed Dec 6, 2000 9:51 pm
Subject: RE: more troubles with jsp syntax (correction)
aarjona@...
Send Email Send Email
 
Just curious, but why do these syntax coloring problems happen? I've had
syntax coloring problems too, but setting minlines to 2500 solved it (with a
serious CPU hit when I scroll up though).

What can be done to solve them? I'd love to help the Vim project, but I'm
afraid I'm still not that good as a programmer :(

> -----Original Message-----
> From: Peter Bismuti [mailto:bismuti@...]
> Sent: Wednesday, December 06, 2000 2:37 PM
> To: bismuti@...
> Cc: vim@...
> Subject: Re: more troubles with jsp syntax (correction)
>
>
> Looks like line 128, not 117.
>
>
> > I'm still seeing problems with jsp syntax.  I have set:
> >
> >  syntax sync minlines=5000
> >
> > which is much larger than the file I'm editing and it still
> is having
> > problems.  In the section where JavaScript functions are defined I'm
> > seeing the colors flip between purple and cyan. I'm seeing the color
> > flip on line 117:

#15233 From: Benji Fisher <fisherbb@...>
Date: Wed Dec 6, 2000 8:27 pm
Subject: Re: copy to * register
fisherbb@...
Send Email Send Email
 
"PERELYUBSKIY,DENIS" wrote:
>
> Hello,
>
> i dont know why, but it works on my win2k Vim 6.0n box ( and it worked
> on all other versions)... it even works on gvim -u NONE.
>
> i wonder if there are any options that would turn it off, which
> is what you did. does it work if you start  gVim as gvim -u NONE?
>
> hth,
>
> denis
>
> On Wed, 6 Dec 2000, Or Freund wrote:
>
> > is it possible to map the mouse selected text directly to the * register
> > so I can use the selected text as it is in other terminals (i mean
> > clicking on middle button will paste the selected text to the selected
> > window _)
> > thanks in advance
> > or.
> > --

      I think this is governed by the "a" flag in the 'go' option:

:help guioptions

HTH 			 --Benji Fisher

#15232 From: Peter Bismuti <bismuti@...>
Date: Wed Dec 6, 2000 7:48 pm
Subject: Re: more troubles with jsp syntax (HTML file included)
bismuti@...
Send Email Send Email
 
<!--
Here is the HTML file which shows what I am seeing.  The probem is with the
colors
in the JavaScript functions
-->

<HTML>
<HEAD>
<TITLE>attribute_type.jsp.html</TITLE>
</HEAD>
<BODY BGcolor=#FFFFFF TEXT=#000000>
<PRE>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>--</FONT>
<FONT color=#0000ff>$Header:</FONT>
<FONT color=#0000ff>$Author: </FONT>
<FONT color=#0000ff>$Date:</FONT>
<FONT color=#0000ff>$Revision: </FONT>
<FONT color=#0000ff>--</FONT><FONT color=#0000ff>&gt;</FONT>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- </FONT>
<FONT color=#0000ff>    This page is used to add/edit new attribute type to the
list of available attributes</FONT>
<FONT color=#0000ff>    to current client. This page can be gotten to by
clicking on Alerts::Edit Attributes</FONT>
<FONT color=#0000ff>    page ('edit_attributes.jsp page') by clicking on the
&quot;Add New Attribute&quot; button or by</FONT>
<FONT color=#0000ff>    clicking on one of the edit links of an existing
attribute. In each case the servlet</FONT>
<FONT color=#0000ff>    'InsertAttributeTypeServlet is called which in turns
calls an EJB to submit the data</FONT>
<FONT color=#0000ff>    to the database. </FONT>
<FONT color=#0000ff>--</FONT><FONT color=#0000ff>&gt;</FONT>
<FONT color=#008b8b>&lt;%</FONT>
     <FONT color=#0000ff>/* </FONT>
<FONT color=#0000ff>        construct returnAddress - this constructs and stores
as a</FONT>
<FONT color=#0000ff>        session  variable the current URL by looping through
the </FONT>
<FONT color=#0000ff>        parameters and building string that can be used as a
request</FONT>
<FONT color=#0000ff>        using the GET method. This is used to create a
</FONT><FONT color=#ff00ff>&quot;back&quot;</FONT><FONT color=#0000ff> link
</FONT>
<FONT color=#0000ff>        in the 'admin_error.jsp' page. The string is stored
in the variable </FONT><FONT
color=#ff00ff>&quot;return_address&quot;</FONT><FONT color=#0000ff>.</FONT>
<FONT color=#0000ff>    */</FONT>
     <FONT color=#0000ff>// determine returnAddress</FONT>
     String  requestURI  = request.getRequestURI();
     String  queryString = <FONT color=#ff00ff>&quot;&quot;</FONT>;

     <FONT color=#0000ff>// construct query string</FONT>
     Enumeration params7 = request.getParameterNames();
     String paramName7 = <FONT color=#ff00ff>null</FONT>;
     String[] paramValues7 = <FONT color=#ff00ff>null</FONT>;

     <B><FONT color=#a52a2a>while</FONT></B> (params7.hasMoreElements()) {
         paramName7 = (String) params7.nextElement();
         paramValues7 = request.getParameterValues(paramName7);
         <B><FONT color=#a52a2a>for</FONT></B> (<B><FONT
color=#2e8b57>int</FONT></B> i=<FONT color=#ff00ff>0</FONT>;
i&lt;paramValues7.length; i++){
             queryString += paramName7+<FONT
color=#ff00ff>&quot;=&quot;</FONT>+paramValues7[i].toString()+<FONT
color=#ff00ff>&quot;&amp;&quot;</FONT>;
         }
     }
     <B><FONT color=#a52a2a>if</FONT></B> (queryString.length() &gt; <FONT
color=#ff00ff>0</FONT>){
         queryString = queryString.substring(<FONT
color=#ff00ff>0</FONT>,queryString.length()-<FONT color=#ff00ff>1</FONT>);
     }

     <FONT color=#0000ff>// now construct return address</FONT>
     String returnAddress = <FONT color=#ff00ff>null</FONT>;
     returnAddress = requestURI + <FONT color=#ff00ff>&quot;?&quot;</FONT> +
queryString;

     <FONT color=#0000ff>// now set a session attribute</FONT>
     session.removeAttribute(<FONT
color=#ff00ff>&quot;returnAddress&quot;</FONT>);
     session.setAttribute(<FONT
color=#ff00ff>&quot;returnAddress&quot;</FONT>,returnAddress);
<FONT color=#008b8b>%&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>HTML</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>HEAD</FONT></B><FONT
color=#008b8b>&gt;</FONT>

<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>SCRIPT</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>    function Cancel(){</FONT>
<FONT color=#a020f0>        location = &quot;/edit_attributes.jsp&quot;;</FONT>
<FONT color=#a020f0>    }</FONT>
<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>    function confirmDelete(message){</FONT>
<FONT color=#a020f0>        return confirm(&quot;Are you sure you would like to
delete &quot; + message + &quot;?&quot;);</FONT>
<FONT color=#a020f0>    }</FONT>
<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>    function onSubmit(form){</FONT>
<FONT color=#a020f0>    var ai;</FONT>
<FONT color=#a020f0>    if (form.attributeId == null){</FONT>
<FONT color=#a020f0>       ai = true;</FONT>
<FONT color=#a020f0>    }else{</FONT>
<FONT color=#a020f0>       ai = isNotEmpty(&quot;Attribute
ID&quot;,form.attributeId.value);</FONT>
<FONT color=#a020f0>    }</FONT>
<FONT color=#a020f0>    var an = isNotEmpty(&quot;Attribute
Name&quot;,form.name.value);</FONT>
<FONT color=#a020f0>    var aw = isNotEmpty(&quot;Attribute
Keyword&quot;,form.keyword.value);</FONT>
<FONT color=#a020f0>    var ni,ii;</FONT>
<FONT color=#a020f0>    if (form.attributeId == null){</FONT>
<FONT color=#a020f0>        ni = true;</FONT>
<FONT color=#a020f0>        ii = true;</FONT>
<FONT color=#a020f0>    }else{</FONT>
<FONT color=#a020f0>        ni =
isNotInside(form.attributeId.value,attributeIdArray);</FONT>
<FONT color=#a020f0>        ii = isInteger(form.attributeId.value);</FONT>
<FONT color=#a020f0>    }</FONT>
<FONT color=#a020f0>    return
(ai&amp;&amp;an&amp;&amp;aw&amp;&amp;ni</FONT><FONT
color=#6a5acd>&amp;&amp;ii);</FONT>
<FONT color=#a020f0>  }</FONT>

<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>  function isNotEmpty(name,value){</FONT>
<FONT color=#a020f0>    if (value.length ==0){</FONT>
<FONT color=#a020f0>        alert(&quot;ERROR: &quot;+name+&quot; must be
entered.&quot;);</FONT>
<FONT color=#a020f0>        return false;</FONT>
<FONT color=#a020f0>    }else{</FONT>
<FONT color=#a020f0>        return true;</FONT>
<FONT color=#a020f0>    }</FONT>
<FONT color=#a020f0>  }</FONT>
<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>  function isNotInside(attributeId,attributeIdArray){</FONT>
<FONT color=#a020f0>     for (var i=0; i</FONT><FONT
color=#008b8b>&lt;</FONT>attributeIdArray<FONT color=#008b8b>.length;
i++){</FONT>
<FONT color=#008b8b>        if (strip(attributeId) =</FONT>=<FONT color=#008b8b>
strip(attributeIdArray[i])){</FONT>
<FONT color=#008b8b>             alert(</FONT><FONT color=#ff00ff>&quot;ERROR:
the attributeId '&quot;</FONT><FONT color=#008b8b>+attributeId+</FONT><FONT
color=#ff00ff>&quot;' already exists, please choose another.&quot;</FONT><FONT
color=#008b8b>);</FONT>
<FONT color=#008b8b>             return false;</FONT>
<FONT color=#008b8b>        }</FONT>
<FONT color=#008b8b>     }</FONT>
<FONT color=#008b8b>     return true;</FONT>
<FONT color=#008b8b>  }</FONT>
<FONT
color=#008b8b>//................................................................\
........</FONT>
<FONT color=#008b8b>function isInteger(inputVal){</FONT>
<FONT color=#008b8b>    var inputStr =</FONT> inputVal.toString();
<FONT color=#008b8b>    </FONT><B><FONT color=#2e8b57>for</FONT></B><FONT
color=#008b8b> (var i=</FONT>0;<FONT color=#008b8b> i</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>inputStr.length; i++){</FONT>
<FONT color=#008b8b>        var oneChar =</FONT> inputStr.charAt(i);
<FONT color=#008b8b>        if (oneChar  =</FONT>=<FONT color=#008b8b>
</FONT><FONT color=#ff00ff>&quot;0&quot;</FONT><FONT color=#008b8b> &amp;&amp;
oneChar &gt;</FONT><FONT color=#a020f0> &quot;-&quot;){</FONT>
<FONT color=#a020f0>            continue;</FONT>
<FONT color=#a020f0>        }</FONT>
<FONT color=#a020f0>        if (oneChar </FONT><FONT color=#008b8b>&lt;
</FONT><FONT color=#ff00ff>&quot;0&quot;</FONT><FONT color=#008b8b> || oneChar
&gt;</FONT><FONT color=#a020f0> &quot;9&quot;){</FONT>
<FONT color=#a020f0>            alert(&quot;ERROR: attributeId must be an
integer.&quot;);</FONT>
<FONT color=#a020f0>            return false;</FONT>
<FONT color=#a020f0>        }</FONT>
<FONT color=#a020f0>    }</FONT>
<FONT color=#a020f0>    return true;</FONT>
<FONT color=#a020f0>}</FONT>
<FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>SCRIPT</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>SCRIPT</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#a020f0>function strip(string){</FONT>
<FONT color=#a020f0>    string = string.replace(/\s+$/,&quot;&quot;);  // strip
off leading and trailing</FONT>
<FONT color=#a020f0>    string = string.replace(/^\s+/,&quot;&quot;);</FONT>
<FONT color=#a020f0>    return string;</FONT>
<FONT color=#a020f0>}</FONT>
<FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>SCRIPT</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>SCRIPT</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>// CODE functions</FONT>
<FONT
color=#a020f0>//................................................................\
........</FONT>
<FONT color=#a020f0>    function addCode() {</FONT>
<FONT color=#a020f0>      f = top.document.forms[0];</FONT>

<FONT color=#a020f0>      newCodeValue =  strip(f.newCodeValue.value);</FONT>
<FONT color=#a020f0>      newCode      =  strip(f.newCode.value);</FONT>

<FONT color=#a020f0>      if(newCode==null || newCode.length </FONT><FONT
color=#008b8b>&lt;</FONT>1<FONT color=#008b8b> || newCodeValue=</FONT>=null<FONT
color=#008b8b> || newCodeValue.length </FONT><SPAN style="background-color:
#ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT color=#008b8b>1 ){</FONT>
<FONT color=#008b8b>       return;</FONT>
<FONT color=#008b8b>      }</FONT>

<FONT color=#008b8b>      </FONT><B><FONT color=#2e8b57>value</FONT></B><FONT
color=#008b8b> =</FONT> f.newCode.value<FONT color=#008b8b> + </FONT><FONT
color=#ff00ff>&quot; = &quot;</FONT><FONT color=#008b8b> + newCodeValue;</FONT>

<FONT color=#008b8b>      f.code.options.length++;</FONT>
<FONT color=#008b8b>     
f.code.options[f.code.options.length-1].text=</FONT>value;
<FONT color=#008b8b>     
f.code.options[f.code.options.length-1].value=</FONT>value;

<FONT color=#008b8b>      f.newCodeValue.value=</FONT><FONT
color=#ff00ff>&quot;&quot;</FONT><FONT color=#008b8b>;</FONT>
<FONT color=#008b8b>      f.newCode.value=</FONT><FONT
color=#ff00ff>&quot;&quot;</FONT><FONT color=#008b8b>;</FONT>

<FONT color=#008b8b>    }</FONT>

<FONT color=#008b8b>    function deleteCode() {</FONT>
<FONT color=#008b8b>      f =</FONT> top.document.forms[0];
<FONT color=#008b8b>      var length =</FONT> f.code.options.length;
<FONT color=#008b8b>      var i =</FONT> 0;
<FONT color=#008b8b>      while (i </FONT><SPAN style="background-color:
#ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT color=#008b8b>
length-1){</FONT>
<FONT color=#008b8b>         if (f.code.options[i].selected){</FONT>
<FONT color=#008b8b>            var j =</FONT> i+1;
<FONT color=#008b8b>            while (j </FONT><SPAN style="background-color:
#ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT color=#008b8b>
length){</FONT>
<FONT color=#008b8b>               var selectFlag =</FONT>
f.code.options[j].selected;
<FONT color=#008b8b>               f.code.options[j-1] =</FONT> new<FONT
color=#008b8b> Option(f.code.options[j].text,</FONT>
<FONT color=#008b8b>                                        
f.code.options[j].value,</FONT>
<FONT color=#008b8b>                                        
f.code.options[j].defaultSelected,</FONT>
<FONT color=#008b8b>                                        
f.code.options[j].selected);</FONT>
<FONT color=#008b8b>              if (!selectFlag){  // work around
</FONT><B><FONT color=#2e8b57>for</FONT></B><FONT color=#008b8b> netscape
bug</FONT>
<FONT color=#008b8b>                  f.code.options[j-1].selected =</FONT>
false;
<FONT color=#008b8b>              }else{</FONT>
<FONT color=#008b8b>                  f.code.options[j-1].selected =</FONT>
true;
<FONT color=#008b8b>              }</FONT>
<FONT color=#008b8b>               j++;</FONT>
<FONT color=#008b8b>            }</FONT>
<FONT color=#008b8b>            length--;</FONT>
<FONT color=#008b8b>         }else{ // only increment counter if item is not
deleted</FONT>
<FONT color=#008b8b>            i++;</FONT>
<FONT color=#008b8b>         }</FONT>
<FONT color=#008b8b>      }</FONT>
<FONT color=#008b8b>      if (f.code.options[length-1].selected){</FONT>
<FONT color=#008b8b>            length--;</FONT>
<FONT color=#008b8b>      }</FONT>
<FONT color=#008b8b>      f.code.options.length =</FONT> length;
<FONT color=#008b8b>    }</FONT>

<FONT color=#008b8b>    function saveIt(){</FONT>
<FONT color=#008b8b>      f =</FONT> top.document.forms[0];
<FONT color=#008b8b>      var length =</FONT> f.code.options.length;

<FONT color=#008b8b>      while(f.code.multiple=</FONT>=false){
<FONT color=#008b8b>      f.code.multiple=</FONT>true;
<FONT color=#008b8b>    }</FONT>

<FONT color=#008b8b>      </FONT><B><FONT color=#2e8b57>for</FONT></B><FONT
color=#008b8b>(i=</FONT>0;i&lt;f.code.options.length;i++){
<FONT color=#008b8b>        f.code.options[i].selected=</FONT>true;
<FONT color=#008b8b>      }</FONT>
<FONT color=#008b8b>      if (onSubmit(f)){</FONT>
<FONT color=#008b8b>         f.submit();</FONT>
<FONT color=#008b8b>      }</FONT>
<FONT color=#008b8b>    }</FONT>

<FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>SCRIPT</FONT></B><FONT
color=#008b8b>&gt;</FONT>


<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>TITLE</FONT></B><FONT
color=#008b8b>&gt;</FONT><B><FONT color=#ff00ff>Attribute Type</FONT></B><FONT
color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>TITLE</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>BODY</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>BGCOLOR</FONT></B><FONT
color=#008b8b>=</FONT>#FFFFFF<FONT color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;%@</FONT>
<B><FONT color=#a52a2a>page</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>import</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;</FONT>
<FONT color=#ff00ff>    p3c.admininterface.ejb.TemplateManager.*,</FONT>
<FONT color=#ff00ff>    p3c.admininterface.ejb.Help.*,</FONT>
<FONT color=#ff00ff>    p3c.admininterface.ejb.*,</FONT>
<FONT color=#ff00ff>    p3c.admininterface.*,</FONT>
<FONT color=#ff00ff>    java.text.*,</FONT>
<FONT color=#ff00ff>&quot;</FONT>
<FONT color=#008b8b>%&gt;</FONT>

<FONT color=#008b8b>&lt;%@ </FONT><B><FONT color=#a52a2a>include</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>file</FONT></B><FONT
color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;/includes/validate_user.jsp&quot;</FONT><FONT color=#008b8b>
%&gt;</FONT>
<FONT color=#008b8b>&lt;%@ </FONT><B><FONT color=#a52a2a>include</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>file</FONT></B><FONT
color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;/includes/admin_header.jsp&quot;</FONT><FONT color=#008b8b>
%&gt;</FONT>


<FONT color=#008b8b>&lt;%</FONT>
     <FONT color=#0000ff>// retrieve the request input parameters</FONT>
     <FONT color=#0000ff>// then define an array in javascript that can be
used</FONT>
     <FONT color=#0000ff>// to check against adding a new attribute with an
already</FONT>
     <FONT color=#0000ff>// existing attributeId.</FONT>

     java.util.Enumeration params = request.getParameterNames();
     String paramName = <FONT color=#ff00ff>&quot;attributeIdArray&quot;</FONT>;
     String[] paramValues = <FONT color=#ff00ff>null</FONT>;
     <B><FONT color=#2e8b57>int</FONT></B> maxId = -<FONT color=#ff00ff>1</FONT>;

     out.println(<FONT color=#ff00ff>&quot;&lt;SCRIPT&gt;&quot;</FONT>);
     out.println(<FONT color=#ff00ff>&quot;   attributeIdArray = [&quot;</FONT>);
     <FONT color=#0000ff>// display the input parameters</FONT>
     <FONT color=#0000ff>// as long as we're here, calculate new attributeId just
in case</FONT>
     paramValues = request.getParameterValues(paramName);
     <B><FONT color=#a52a2a>if</FONT></B> ((paramValues != <FONT
color=#ff00ff>null</FONT>)&amp;&amp;(paramValues.length &gt; <FONT
color=#ff00ff>0</FONT>)){
         <B><FONT color=#2e8b57>int</FONT></B> tmpId;
         <B><FONT color=#a52a2a>for</FONT></B> (<B><FONT
color=#2e8b57>int</FONT></B> i = <FONT color=#ff00ff>0</FONT>; i &lt;
paramValues.length -<FONT color=#ff00ff>1</FONT>; i++) {
             out.println(<FONT
color=#ff00ff>&quot;'&quot;</FONT>+paramValues[i].toString() + <FONT
color=#ff00ff>&quot;',&quot;</FONT>);
             tmpId = java.lang.Integer.parseInt(paramValues[i].toString());
             <B><FONT color=#a52a2a>if</FONT></B> (tmpId &gt; maxId){
                 maxId = tmpId;
             }
         }
         out.println(<FONT
color=#ff00ff>&quot;'&quot;</FONT>+paramValues[paramValues.length-<FONT
color=#ff00ff>1</FONT>].toString() + <FONT color=#ff00ff>&quot;'&quot;</FONT>);
         tmpId = java.lang.Integer.parseInt(paramValues[paramValues.length-<FONT
color=#ff00ff>1</FONT>].toString());
         <B><FONT color=#a52a2a>if</FONT></B> (tmpId &gt; maxId){
             maxId = tmpId;
         }
     }
     out.println(<FONT color=#ff00ff>&quot;];&quot;</FONT>);
     out.println(<FONT color=#ff00ff>&quot;&lt;/SCRIPT&gt;&quot;</FONT>);
<FONT color=#008b8b>%&gt;</FONT>


<FONT color=#008b8b>&lt;%</FONT>

     <B><FONT color=#2e8b57>int</FONT></B> attributeId = <FONT
color=#ff00ff>0</FONT>;    <FONT color=#0000ff>// set attribute to zero if this
is the first one</FONT>

     <FONT color=#0000ff>// see if it is a new Attribute</FONT>
     <B><FONT color=#2e8b57>boolean</FONT></B> newAttrFlag = <FONT
color=#ff00ff>false</FONT>;
     <B><FONT color=#a52a2a>if</FONT></B> (request.getParameter(<FONT
color=#ff00ff>&quot;newAttrFlag&quot;</FONT>) != <FONT
color=#ff00ff>null</FONT>){
         newAttrFlag = <FONT color=#ff00ff>true</FONT>;
         <B><FONT color=#a52a2a>if</FONT></B> (maxId != -<FONT
color=#ff00ff>1</FONT>){  <FONT color=#0000ff>// otherwise add one greater than
max</FONT>
             attributeId = maxId+<FONT color=#ff00ff>1</FONT>;
         }
     }<B><FONT color=#a52a2a>else</FONT></B>{ <FONT color=#0000ff>// if not, get
the attributeId</FONT>
         <B><FONT color=#a52a2a>try</FONT></B>{
             attributeId = Integer.valueOf(request.getParameter(<FONT
color=#ff00ff>&quot;attributeId&quot;</FONT>)).intValue();
         }<B><FONT color=#a52a2a>catch</FONT></B>(Exception ignore){}
     }

     <B><FONT color=#2e8b57>int</FONT></B> clientId = client.getSysid();

     String name = <FONT color=#ff00ff>&quot;&quot;</FONT>;
     String dataType = <FONT color=#ff00ff>&quot;&quot;</FONT>;
     String key = <FONT color=#ff00ff>&quot;&quot;</FONT>;
     String keyword=<FONT color=#ff00ff>&quot;&quot;</FONT>;
     String example = <FONT color=#ff00ff>null</FONT>;
     String defaultValue = <FONT color=#ff00ff>null</FONT>;
     AttributeCode[] codes = <FONT color=#ff00ff>null</FONT>;
     AttributeType attributeType = <FONT color=#ff00ff>null</FONT>;
     String reportDisplayChecked = <FONT color=#ff00ff>&quot;&quot;</FONT>;

     <B><FONT color=#a52a2a>if</FONT></B>(!(newAttrFlag)){ <FONT color=#0000ff>//
if it is not new, fill in the form</FONT>
         TemplateManager tmr = <FONT color=#ff00ff>null</FONT>;
         <B><FONT color=#a52a2a>try</FONT></B>{
             tmr = EjbUtil.getTemplateManager();

             attributeType = tmr.getAttributeType(clientId,attributeId);
             name = attributeType.getName();
             dataType= attributeType.getDataType();
             key = attributeType.getKey();
             keyword = attributeType.getKeyword();
             example = attributeType.getExample();
             defaultValue= attributeType.getDefaultValue();
             <B><FONT
color=#a52a2a>if</FONT></B>(attributeType.isReportDisplay())
             reportDisplayChecked = <FONT color=#ff00ff>&quot;
CHECKED&quot;</FONT>;
         } <B><FONT color=#a52a2a>catch</FONT></B>(Exception e){
           System.out.println(<FONT color=#ff00ff>&quot;ERROR: Exception thrown:
&quot;</FONT> + e);
         }
     }
<FONT color=#008b8b>%&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>FORM</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>ACTION</FONT></B><FONT
color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;InsertAttributeTypeServlet&quot;</FONT><FONT color=#008b8b>
</FONT><B><FONT color=#2e8b57>METHOD</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;POST&quot;</FONT><FONT color=#008b8b>, </FONT><FONT
color=#6a5acd>onSubmit=&quot;</FONT><B><FONT
color=#a52a2a>return</FONT></B><FONT color=#6a5acd> onSubmit(</FONT><B><FONT
color=#2e8b57>this</FONT></B><FONT color=#6a5acd>);</FONT><FONT
color=#6a5acd>&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>--</FONT>
<FONT color=#0000ff>&lt;FORM ACTION=&quot;/display_servlet_info.jsp&quot;
METHOD=&quot;POST&quot;, onSubmit=&quot;return onSubmit(this);&quot;&gt;</FONT>
<FONT color=#0000ff>--</FONT><FONT color=#0000ff>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>TABLE</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>BORDER</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>&quot;0&quot;</FONT><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>CELLSPACING</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>&quot;0&quot;</FONT><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>CELLPADDING</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>&quot;0&quot;</FONT><FONT
color=#008b8b>&gt;</FONT>
     <FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>TR</FONT></B><FONT
color=#008b8b>&gt;</FONT>
         <FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>TD</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>ALIGN</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>&quot;CENTER&quot;</FONT><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Tittle --</FONT><FONT
color=#0000ff>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>BORDER</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;0&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>CELLSPACING</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>CELLPADDING</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorWhite%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN><FONT
color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>TH</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>ALIGN</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>&quot;CENTER&quot;</FONT><FONT
color=#008b8b>&gt;</FONT><FONT color=#008b8b>&lt;%=</FONT>fontTitle<FONT
color=#008b8b>%&gt;</FONT>Attribute Type<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>BR</FONT></B><FONT
color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Main Table --</FONT><FONT
color=#0000ff>&gt;</FONT>
             <FONT color=#008b8b>&lt;%!</FONT> <B><FONT
color=#2e8b57>int</FONT></B> height = <FONT color=#ff00ff>25</FONT>; <FONT
color=#0000ff>// height of a row </FONT><FONT color=#008b8b>%&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b>  </FONT><B><FONT
color=#2e8b57>BORDER</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;0&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>CELLSPACING</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>CELLPADDING</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>TR</FONT></B><FONT
color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Id --</FONT><FONT
color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>
                         ID<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                         <FONT color=#008b8b>&lt;%=</FONT>attributeId <FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;HIDDEN&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;attributeId&quot;</FONT><FONT color=#008b8b>,
</FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;&lt;%=attributeId %&gt;&quot;</FONT><FONT
color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Name
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;middle&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>
                         Name<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>

           <FONT color=#008b8b>&lt;%</FONT><B><FONT color=#a52a2a>if</FONT></B>
(name.length() == <FONT color=#ff00ff>0</FONT>){<FONT color=#008b8b>%&gt;</FONT>
               <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;TEXT&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;name&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>value</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>'&lt;%=name%&gt;'</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>MAXLENGTH</FONT></B><FONT color=#008b8b>=</FONT>50<FONT
color=#008b8b>&gt;</FONT>
           <FONT color=#008b8b>&lt;%</FONT>
           }<B><FONT color=#a52a2a>else</FONT></B>{<FONT
color=#008b8b>%&gt;</FONT>
               <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;hidden&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;name&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>value</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>'&lt;%=name%&gt;'</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>MAXLENGTH</FONT></B><FONT color=#008b8b>=</FONT>50<FONT
color=#008b8b>&gt;</FONT><FONT color=#008b8b>&lt;%=</FONT>name<FONT
color=#008b8b>%&gt;</FONT>
          <FONT color=#008b8b>&lt;%</FONT>
           }
           <FONT color=#008b8b>%&gt;</FONT>


                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Data Type
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;middle&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN><FONT
color=#008b8b>&lt;%=</FONT>fontTh<FONT color=#008b8b>%&gt;</FONT>
                         Data Type<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>SELECT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>name</FONT></B><FONT color=#008b8b>=</FONT>dataType<FONT
color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;string&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>);   %&gt;</FONT>
value=string<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>String<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;number&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>);   %&gt;</FONT>
value=number<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>Number<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;datetime&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>); %&gt;</FONT>
value=datetime<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>DateTime<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;digits&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>);   %&gt;</FONT>
value=digits<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>Digits<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;amount&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>);   %&gt;</FONT>
value=amount<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>Amount<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;group&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>);    %&gt;</FONT>
value=group<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>Set<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>OPTION</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>% if(dataType.equals(</FONT><FONT
color=#ff00ff>&quot;prompt&quot;</FONT><FONT
color=#008b8b>))out.print(</FONT><FONT
color=#ff00ff>&quot;selected&quot;</FONT><FONT color=#008b8b>);   %&gt;</FONT>
value=prompt<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>Prompt<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>option</FONT></B><FONT color=#008b8b>&gt;</FONT>
                         <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>SELECT</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Key Word
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;middle&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>
                         Keyword<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;TEXT&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;keyword&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>value</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;&lt;%=keyword%&gt;&quot;</FONT><FONT color=#008b8b>,
</FONT><B><FONT color=#2e8b57>MAXLENGTH</FONT></B><FONT
color=#008b8b>=</FONT>50<FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Example
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;middle&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>
                         Example<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- begin
example area --</FONT><FONT color=#0000ff>&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>input</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>type</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;TEXT&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>name</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;example&quot;</FONT><FONT color=#008b8b>,</FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT>CENTER<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>value</FONT></B><FONT
color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;&lt;%=example%&gt;&quot;</FONT><FONT color=#008b8b>,
</FONT><B><FONT color=#2e8b57>MAXLENGTH</FONT></B><FONT
color=#008b8b>=</FONT>255<FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Default Value
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;MIDDLE&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>
                         Default Value<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- begin
example area --</FONT><FONT color=#0000ff>&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>input</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>type</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;TEXT&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>name</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;defaultValue&quot;</FONT><FONT color=#008b8b>,
</FONT><B><FONT color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>value</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;&lt;%=defaultValue%&gt;&quot;</FONT><FONT color=#008b8b>,
</FONT><B><FONT color=#2e8b57>MAXLENGTH</FONT></B><FONT
color=#008b8b>=</FONT>255<FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Report Display
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;middle&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>
                         Report Display<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- begin
example area --</FONT><FONT color=#0000ff>&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>input</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>type</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;checkbox&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>name</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;reportDisplay&quot;</FONT><FONT color=#008b8b>,
</FONT><B><FONT color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>value</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;T&quot;</FONT><FONT color=#008b8b>, </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>reportDisplayChecked%<FONT color=#008b8b>&gt;</FONT>
MAXLENGTH=255<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Codes
--</FONT><FONT color=#0000ff>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;CENTER&quot;</FONT><FONT color=#008b8b>, </FONT><B><FONT
color=#2e8b57>VALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;middle&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTh%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTh<FONT
color=#008b8b>%&gt;</FONT>Codes<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorTd%<FONT color=#008b8b>&gt;</FONT>
height=&quot;<FONT color=#008b8b>&lt;%=</FONT> height <FONT
color=#008b8b>%&gt;</FONT>&quot;<SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&gt;</FONT></SPAN><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- begin
example area --</FONT><FONT color=#0000ff>&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>BORDER</FONT></B><FONT color=#008b8b>=</FONT>0<FONT
color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
                                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ROWSPAN</FONT></B><FONT color=#008b8b>=</FONT>2<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>height</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>&quot;&lt;%= height
%&gt;&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;%=</FONT>fontTd<FONT color=#008b8b>%&gt;</FONT>
         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>SCRIPT</FONT></B><FONT color=#008b8b>&gt;</FONT>
<FONT color=#6a5acd>            </FONT><B><FONT color=#a52a2a>if</FONT></B><FONT
color=#6a5acd> (navigator.appName == </FONT><FONT
color=#ff00ff>&quot;Netscape&quot;</FONT><FONT color=#6a5acd>)</FONT><FONT
color=#008b8b>{</FONT>
<FONT color=#6a5acd>                document.write(</FONT><FONT
color=#ff00ff>&quot;&lt;SELECT WIDTH=150 MULTIPLE NAME=</FONT><FONT
color=#6a5acd>\&quot;</FONT><FONT color=#ff00ff>code</FONT><FONT
color=#6a5acd>\&quot;</FONT><FONT color=#ff00ff>, ALIGN=CENTER size=4
STYLE=</FONT><FONT color=#6a5acd>\&quot;</FONT><FONT
color=#ff00ff>width=2in</FONT><FONT color=#6a5acd>\&quot;</FONT><FONT
color=#ff00ff>&gt;&quot;</FONT><FONT color=#6a5acd>);</FONT>
<FONT color=#6a5acd>            </FONT><FONT color=#008b8b>}</FONT><B><FONT
color=#a52a2a>else</FONT></B><FONT color=#008b8b>{</FONT>
<FONT color=#6a5acd>                document.write(</FONT><FONT
color=#ff00ff>&quot;&lt;SELECT WIDTH=40 MULTIPLE NAME=</FONT><FONT
color=#6a5acd>\&quot;</FONT><FONT color=#ff00ff>code</FONT><FONT
color=#6a5acd>\&quot;</FONT><FONT color=#ff00ff>, ALIGN=CENTER size=4
STYLE=</FONT><FONT color=#6a5acd>\&quot;</FONT><FONT
color=#ff00ff>width=2in</FONT><FONT color=#6a5acd>\&quot;</FONT><FONT
color=#ff00ff>&gt;&quot;</FONT><FONT color=#6a5acd>);</FONT>
<FONT color=#6a5acd>            </FONT><FONT color=#008b8b>}</FONT>
<FONT color=#6a5acd>        </FONT><FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>SCRIPT</FONT></B><FONT color=#008b8b>&gt;</FONT>
              <FONT color=#008b8b>&lt;%</FONT>
                  <B><FONT color=#a52a2a>if</FONT></B> (attributeType!=<FONT
color=#ff00ff>null</FONT>&amp;&amp;attributeType.getCodes() !=<FONT
color=#ff00ff>null</FONT> &amp;&amp;  attributeType.getCodes().length &gt; <FONT
color=#ff00ff>0</FONT>){
                    <B><FONT color=#a52a2a>for</FONT></B>(<B><FONT
color=#2e8b57>int</FONT></B> j=<FONT color=#ff00ff>0</FONT>;
j&lt;attributeType.getCodes().length; j++){
                      String code = attributeType.getCodes()[j].getCode();
                      String value = attributeType.getCodes()[j].getValue();
                      String expression = code + <FONT color=#ff00ff>&quot; =
&quot;</FONT> + value;
                      out.println(<FONT color=#ff00ff>&quot;&lt;OPTION
VALUE=</FONT><FONT color=#6a5acd>\&quot;</FONT><FONT color=#ff00ff>&quot;</FONT>
+ expression + <FONT color=#ff00ff>&quot;</FONT><FONT
color=#6a5acd>\&quot;</FONT><FONT color=#ff00ff>&gt;&quot;</FONT> + expression +
<FONT color=#ff00ff>&quot;&lt;/OPTION&gt;&quot;</FONT>);
                    }
                  }
              <FONT color=#008b8b>%&gt;</FONT>
                                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>SELECT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;</FONT>
                                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>HEIGHT</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;&lt;%= height %&gt;&quot;</FONT><FONT
color=#008b8b>&gt;</FONT><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#008b8b>&lt;%</FONT><B><FONT
color=#a52a2a>if</FONT></B> (adminUser.getRoleCode().equals(<FONT
color=#ff00ff>&quot;INSTALLER&quot;</FONT>)){ <FONT color=#008b8b>%&gt;</FONT>

                                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT>BUTTON<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT
color=#008b8b>=</FONT>Add<FONT color=#008b8b> </FONT><FONT
color=#6a5acd>onclick='</FONT><FONT color=#6a5acd>addCode()</FONT><FONT
color=#6a5acd>'</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>STYLE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;width=50&quot;</FONT><FONT color=#008b8b>&gt;</FONT> <FONT
color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>INPUT</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>TYPE</FONT></B><FONT
color=#008b8b>=</FONT>TEXT<FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT>newCode<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>size</FONT></B><FONT
color=#008b8b>=</FONT>3<FONT color=#008b8b>&!
gt;</FONT> = <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT>TEXT<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>NAME</FONT></B><FONT
color=#008b8b>=</FONT>newCodeValue<FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>size</FONT></B><FONT color=#008b8b>=</FONT>10<FONT
color=#008b8b>&gt;</FONT><FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;</FONT>
                                         <FONT color=#008b8b>&lt;%</FONT>} <FONT
color=#008b8b>%&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
                                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>height</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;&lt;%= height %&gt;&quot;</FONT><FONT
color=#008b8b>&gt;</FONT><FONT color=#008b8b>&lt;%=</FONT>fontTd<FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#008b8b>&lt;%</FONT><B><FONT
color=#a52a2a>if</FONT></B> (adminUser.getRoleCode().equals(<FONT
color=#ff00ff>&quot;INSTALLER&quot;</FONT>)){ <FONT color=#008b8b>%&gt;</FONT>
                                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT>BUTTON<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT
color=#008b8b>=</FONT>Delete<FONT color=#008b8b> </FONT><FONT
color=#6a5acd>onClick='</FONT><FONT color=#6a5acd>deleteCode()</FONT><FONT
color=#6a5acd>'</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>STYLE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;width=50&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>FONT</FONT></B><FONT
color=#008b8b>&gt;</FONT>
                                         <FONT color=#008b8b>&lt;%</FONT>} <FONT
color=#008b8b>%&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
                         <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b>&gt;</FONT>
     <FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- end example area
--</FONT><FONT color=#0000ff>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- buttons--</FONT><FONT
color=#0000ff>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>BORDER</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;0&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>CELLSPACING</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>CELLPADDING</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorWhite%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorWhite%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;%=</FONT>fontTd<FONT color=#008b8b>%&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT
color=#ffffff>&amp;</FONT></SPAN>nbsp<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;right&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;%=</FONT>fontTh<FONT color=#008b8b>%&gt;</FONT>
                     <FONT color=#008b8b>&lt;%</FONT><B><FONT
color=#a52a2a>if</FONT></B> (adminUser.getRoleCode().equals(<FONT
color=#ff00ff>&quot;INSTALLER&quot;</FONT>)){ <FONT color=#008b8b>%&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;BUTTON&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;continueSubmit&quot;</FONT><FONT color=#008b8b>
</FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;Save&quot;</FONT><FONT color=#008b8b> </FONT><FONT
color=#6a5acd>onclick='</FONT><FONT color=#6a5acd>saveIt()</FONT><FONT
color=#6a5acd>'</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;%</FONT>} <FONT
color=#008b8b>%&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;right&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;%=</FONT>fontTh<FONT color=#008b8b>%&gt;</FONT>
                         <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;BUTTON&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;cancelButton&quot;</FONT><FONT color=#008b8b>  
</FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;Cancel&quot;</FONT><FONT color=#008b8b>   </FONT><FONT
color=#6a5acd>onClick=&quot;</FONT><FONT color=#6a5acd>Cancel()</FONT><FONT
color=#6a5acd>&quot;</FONT><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;HIDDEN&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;forwardAddress&quot;</FONT><FONT color=#008b8b>
</FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;/edit_attributes.jsp&quot;</FONT><FONT
color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FORM</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
<FONT color=#0000ff>&lt;!</FONT><FONT color=#0000ff>-- Delete
button--</FONT><FONT color=#0000ff>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>FORM</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ACTION</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;DeleteAttributeTypeServlet&quot;</FONT><FONT color=#008b8b>
</FONT><B><FONT color=#2e8b57>METHOD</FONT></B><FONT
color=#008b8b>=</FONT>POST<FONT color=#008b8b> </FONT><FONT
color=#6a5acd>onSubmit=&quot;</FONT><B><FONT
color=#a52a2a>return</FONT></B><FONT color=#6a5acd> confirmDelete(</FONT><FONT
color=#ff00ff>'Attribute &lt;%=name%&gt;'</FONT><FONT
color=#6a5acd>);</FONT><FONT color=#6a5acd>&quot;</FONT><FONT color=#008b8b>
&gt;</FONT>
             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>border</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;0&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>cellspacing</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>cellpadding</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;2&quot;</FONT><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorWhite%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b> </FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&lt;</FONT></SPAN><FONT
color=#008b8b>%=</FONT>bgcolorWhite%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TD</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;LEFT&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;%=</FONT>fontTd<FONT color=#008b8b>%&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT
color=#ffffff>&amp;</FONT></SPAN>nbsp<FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                     <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>ALIGN</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;RIGHT&quot;</FONT><FONT color=#008b8b>&gt;</FONT><FONT
color=#008b8b>&lt;%=</FONT>fontTh<FONT color=#008b8b>%&gt;</FONT>
                      <FONT color=#008b8b>&lt;%</FONT>  <FONT color=#0000ff>//
check to see if this is a new Attribute, if so there should not be a delete
button</FONT>
                            <B><FONT color=#a52a2a>if</FONT></B> (newAttrFlag ||
!adminUser.getRoleCode().equals(<FONT
color=#ff00ff>&quot;INSTALLER&quot;</FONT>)){
                      <FONT color=#008b8b>%&gt;</FONT>
                           <SPAN style="background-color: #ff0000"><FONT
color=#ffffff>&amp;</FONT></SPAN>nbsp
                      <FONT color=#008b8b>&lt;%</FONT>
                            }<B><FONT color=#a52a2a>else</FONT></B>{
                      <FONT color=#008b8b>%&gt;</FONT>
                             <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT>SUBMIT<FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT
color=#008b8b>=</FONT><FONT color=#ff00ff>'Delete Attribute'</FONT><FONT
color=#008b8b>&gt;</FONT>
                      <FONT color=#008b8b>&lt;%</FONT>
                            }
                      <FONT color=#008b8b>%&gt;</FONT>
                     <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FONT</FONT></B><FONT color=#008b8b>&gt;&lt;/</FONT><B><FONT
color=#a52a2a>TH</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;HIDDEN&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;attributeId&quot;</FONT><FONT color=#008b8b>  
</FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT
color=#008b8b>=</FONT>&lt;%=attributeId%<FONT color=#008b8b>&gt;</FONT><SPAN
style="background-color: #ff0000"><FONT color=#ffffff>&gt;</FONT></SPAN>
                 <FONT color=#008b8b>&lt;</FONT><B><FONT
color=#a52a2a>INPUT</FONT></B><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>TYPE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;HIDDEN&quot;</FONT><FONT color=#008b8b> </FONT><B><FONT
color=#2e8b57>NAME</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;forwardAddress&quot;</FONT><FONT color=#008b8b>
</FONT><B><FONT color=#2e8b57>VALUE</FONT></B><FONT color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;/edit_attributes.jsp&quot;</FONT><FONT
color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TABLE</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>FORM</FONT></B><FONT color=#008b8b>&gt;</FONT>
             <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>CENTER</FONT></B><FONT color=#008b8b>&gt;</FONT>
         <FONT color=#008b8b>&lt;/</FONT><B><FONT
color=#a52a2a>TR</FONT></B><FONT color=#008b8b>&gt;</FONT>
     <FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>TD</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>TABLE</FONT></B><FONT
color=#008b8b>&gt;</FONT>

<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>BR</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>CLEAR</FONT></B><FONT
color=#008b8b>=</FONT>left<FONT color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>BR</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>CLEAR</FONT></B><FONT
color=#008b8b>=</FONT>left<FONT color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;</FONT><B><FONT color=#a52a2a>BR</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>CLEAR</FONT></B><FONT
color=#008b8b>=</FONT>left<FONT color=#008b8b>&gt;</FONT>

<FONT color=#008b8b>&lt;%@ </FONT><B><FONT color=#a52a2a>include</FONT></B><FONT
color=#008b8b> </FONT><B><FONT color=#2e8b57>file</FONT></B><FONT
color=#008b8b>=</FONT><FONT
color=#ff00ff>&quot;/includes/admin_footer.jsp&quot;</FONT><FONT color=#008b8b>
%&gt;</FONT>


<FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>BODY</FONT></B><FONT
color=#008b8b>&gt;</FONT>
<FONT color=#008b8b>&lt;/</FONT><B><FONT color=#a52a2a>HTML</FONT></B><FONT
color=#008b8b>&gt;</FONT>

</PRE>
</BODY>
</HTML>

#15231 From: Peter Bismuti <bismuti@...>
Date: Wed Dec 6, 2000 7:37 pm
Subject: Re: more troubles with jsp syntax (correction)
bismuti@...
Send Email Send Email
 
Looks like line 128, not 117.


> I'm still seeing problems with jsp syntax.  I have set:
>
>  syntax sync minlines=5000
>
> which is much larger than the file I'm editing and it still is having
> problems.  In the section where JavaScript functions are defined I'm
> seeing the colors flip between purple and cyan. I'm seeing the color
> flip on line 117:


   _____________________________________________________________________
  |                                                                     |
  |         Pete Bismuti                                                |
  |         Department of Computer Science                              |
  |         Florida State University                                    |
  |         bismuti@...  (850) 644-6835                          |
  |_____________________________________________________________________|

#15230 From: Peter Bismuti <bismuti@...>
Date: Wed Dec 6, 2000 7:35 pm
Subject: more troubles with jsp syntax
bismuti@...
Send Email Send Email
 
I'm still seeing problems with jsp syntax.  I have set:

	 syntax sync minlines=5000

which is much larger than the file I'm editing and it still is having
problems.  In the section where JavaScript functions are defined I'm
seeing the colors flip between purple and cyan. I'm seeing the color
flip on line 117:

..............Cut Here .................................................
<!--
$Header:
$Author:
$Date:
$Revision:
-->
<%
	 /*
		 construct returnAddress - this constructs and stores as a
		 session  variable the current URL by looping through the
		 parameters and building string that can be used as a request
		 using the GET method. This is used to create a "back" link
		 in the 'admin_error.jsp' page. The string is stored in the variable
"return_address".
	 */
	 // determine returnAddress
	 String  requestURI  = request.getRequestURI();
	 String  queryString = "";

	 // construct query string
	 Enumeration params7 = request.getParameterNames();
	 String paramName7 = null;
	 String[] paramValues7 = null;

	 while (params7.hasMoreElements()) {
		 paramName7 = (String) params7.nextElement();
		 paramValues7 = request.getParameterValues(paramName7);
		 for (int i=0; i<paramValues7.length; i++){
			 queryString += paramName7+"="+paramValues7[i].toString()+"&";
		 }
	 }
	 if (queryString.length() > 0){
		 queryString = queryString.substring(0,queryString.length()-1);
	 }

	 // now construct return address
	 String returnAddress = null;
	 returnAddress = requestURI + "?" + queryString;

	 // now set a session attribute
	 session.removeAttribute("returnAddress");
	 session.setAttribute("returnAddress",returnAddress);
%>
<HTML>
<HEAD>

<SCRIPT>
//........................................................................
	 function Cancel(){
		 location = "/edit_attributes.jsp";
	 }
//........................................................................
	 function confirmDelete(message){
		 return confirm("Are you sure you would like to delete " + message + "?");
	 }
//........................................................................
	 function onSubmit(form){
	 var ai;
	 if (form.attributeId == null){
	    ai = true;
	 }else{
	    ai = isNotEmpty("Attribute ID",form.attributeId.value);
	 }
	 var an = isNotEmpty("Attribute Name",form.name.value);
	 var aw = isNotEmpty("Attribute Keyword",form.keyword.value);
	 var ni,ii;
	 if (form.attributeId == null){
	     ni = true;
	     ii = true;
	 }else{
	     ni = isNotInside(form.attributeId.value,attributeIdArray);
		 ii = isInteger(form.attributeId.value);
	 }
	 return (ai&&an&&aw&&ni&&ii);
   }

//........................................................................
   function isNotEmpty(name,value){
     if (value.length ==0){
         alert("ERROR: "+name+" must be entered.");
         return false;
     }else{
         return true;
     }
   }
//........................................................................
   function isNotInside(attributeId,attributeIdArray){
      for (var i=0; i<attributeIdArray.length; i++){
         if (strip(attributeId) == strip(attributeIdArray[i])){
              alert("ERROR: the attributeId '"+attributeId+"' already exists,
please choose another.");
              return false;
         }
      }
      return true;
   }
//........................................................................
function isInteger(inputVal){
	 var inputStr = inputVal.toString();
	 for (var i=0; i<inputStr.length; i++){
		 var oneChar = inputStr.charAt(i);
		 if (oneChar  == "0" && oneChar > "-"){
			 continue;
		 }
		 if (oneChar < "0" || oneChar > "9"){
             alert("ERROR: attributeId must be an integer.");
			 return false;
		 }
	 }
	 return true;
}
</SCRIPT>
<SCRIPT>
function strip(string){
	 string = string.replace(/\s+$/,"");  // strip off leading and trailing
	 string = string.replace(/^\s+/,"");
     return string;
}
</SCRIPT>
<SCRIPT>
//........................................................................
// CODE functions
//........................................................................
     function addCode() {
       f = top.document.forms[0];

       newCodeValue =  strip(f.newCodeValue.value);
       newCode      =  strip(f.newCode.value);

       if(newCode==null || newCode.length <1 || newCodeValue==null ||
newCodeValue.length <1 ){
        return;
       }

       value = f.newCode.value + " = " + newCodeValue;

       f.code.options.length++;
       f.code.options[f.code.options.length-1].text=value;
       f.code.options[f.code.options.length-1].value=value;

       f.newCodeValue.value="";
       f.newCode.value="";

     }

     function deleteCode() {
       f = top.document.forms[0];
       var length = f.code.options.length;
       var i = 0;
       while (i < length-1){
          if (f.code.options[i].selected){
             var j = i+1;
             while (j < length){
                var selectFlag = f.code.options[j].selected;
                f.code.options[j-1] = new Option(f.code.options[j].text,
                                          f.code.options[j].value,
                                          f.code.options[j].defaultSelected,
                                          f.code.options[j].selected);
               if (!selectFlag){  // work around for netscape bug
                   f.code.options[j-1].selected = false;
               }else{
                   f.code.options[j-1].selected = true;
               }
                j++;
             }
             length--;
          }else{ // only increment counter if item is not deleted
             i++;
          }
       }
       if (f.code.options[length-1].selected){
             length--;
       }
       f.code.options.length = length;
     }

     function saveIt(){
       f = top.document.forms[0];
       var length = f.code.options.length;

       while(f.code.multiple==false){
       f.code.multiple=true;
     }

       for(i=0;i<f.code.options.length;i++){
         f.code.options[i].selected=true;
       }
       if (onSubmit(f)){
          f.submit();
       }
     }

</SCRIPT>


<TITLE>Attribute Type</TITLE>
<BODY BGCOLOR=#FFFFFF>
<%@
page import="
	 p3c.admininterface.ejb.TemplateManager.*,
	 p3c.admininterface.ejb.Help.*,
	 p3c.admininterface.ejb.*,
	 p3c.admininterface.*,
	 java.text.*,
"
%>

<%@ include file="/includes/validate_user.jsp" %>
<%@ include file="/includes/admin_header.jsp" %>


<%
	 // retrieve the request input parameters
	 // then define an array in javascript that can be used
	 // to check against adding a new attribute with an already
	 // existing attributeId.

	 java.util.Enumeration params = request.getParameterNames();
	 String paramName = "attributeIdArray";
	 String[] paramValues = null;
	 int maxId = -1;

	 out.println("<SCRIPT>");
	 out.println("   attributeIdArray = [");
	 // display the input parameters
	 // as long as we're here, calculate new attributeId just in case
	 paramValues = request.getParameterValues(paramName);
	 if ((paramValues != null)&&(paramValues.length > 0)){
		 int tmpId;
		 for (int i = 0; i < paramValues.length -1; i++) {
			 out.println("'"+paramValues[i].toString() + "',");
			 tmpId = java.lang.Integer.parseInt(paramValues[i].toString());
			 if (tmpId > maxId){
				 maxId = tmpId;
			 }
		 }
		 out.println("'"+paramValues[paramValues.length-1].toString() + "'");
		 tmpId =
java.lang.Integer.parseInt(paramValues[paramValues.length-1].toString());
		 if (tmpId > maxId){
			 maxId = tmpId;
		 }
	 }
	 out.println("];");
	 out.println("</SCRIPT>");
%>


<%

	 int attributeId = 0;    // set attribute to zero if this is the first one

	 // see if it is a new Attribute
	 boolean newAttrFlag = false;
	 if (request.getParameter("newAttrFlag") != null){
		 newAttrFlag = true;
		 if (maxId != -1){  // otherwise add one greater than max
			 attributeId = maxId+1;
		 }
	 }else{ // if not, get the attributeId
		 try{
			 attributeId =
Integer.valueOf(request.getParameter("attributeId")).intValue();
		 }catch(Exception ignore){}
	 }

	 int clientId = client.getSysid();

	 String name = "";
	 String dataType = "";
	 String key = "";
	 String keyword="";
	 String example = null;
	 String defaultValue = null;
	 AttributeCode[] codes = null;
	 AttributeType attributeType = null;
	 String reportDisplayChecked = "";

	 if(!(newAttrFlag)){ // if it is not new, fill in the form
		 TemplateManager tmr = null;
		 try{
			 tmr = EjbUtil.getTemplateManager();

			 attributeType = tmr.getAttributeType(clientId,attributeId);
			 name = attributeType.getName();
			 dataType= attributeType.getDataType();
			 key = attributeType.getKey();
			 keyword = attributeType.getKeyword();
			 example = attributeType.getExample();
			 defaultValue= attributeType.getDefaultValue();
			 if(attributeType.isReportDisplay())
			 reportDisplayChecked = " CHECKED";
		 } catch(Exception e){
		   System.out.println("ERROR: Exception thrown: " + e);
		 }
	 }
%>
<FORM ACTION="InsertAttributeTypeServlet" METHOD="POST", onSubmit="return
onSubmit(this);">
<!--
<FORM ACTION="/display_servlet_info.jsp" METHOD="POST", onSubmit="return
onSubmit(this);">
-->
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
	 <TR>
		 <TD ALIGN="CENTER">
<!-- Tittle -->
			 <CENTER>
			 <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2">
				 <TR <%=bgcolorWhite%>><TH ALIGN="CENTER"><%=fontTitle%>Attribute
Type</FONT></TH></TR>
			 </TABLE><BR>
			 </CENTER>
<!-- Main Table -->
			 <%! int height = 25; // height of a row %>
			 <CENTER>
			 <TABLE  BORDER="0" CELLSPACING="2" CELLPADDING="2">
				 <TR></TR>
		 <!-- Id -->
				 <TR>
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>
						 ID</FONT>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
						 <%=attributeId %>
					 </FONT>
						 <INPUT TYPE="HIDDEN", NAME="attributeId", VALUE="<%=attributeId %>">
					 </TD>
				 </TR>
		 <!-- Name -->
    			 <TR ALIGN="CENTER", VALIGN="middle">
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>
    					 Name</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>

           <%if (name.length() == 0){%>
               <INPUT TYPE="TEXT", NAME="name", ALIGN="CENTER" value='<%=name%>'
MAXLENGTH=50>
           <%
           }else{%>
               <INPUT TYPE="hidden", NAME="name", ALIGN="CENTER"
value='<%=name%>' MAXLENGTH=50><%=name%>
          <%
           }
           %>


    				 </TD>
    			 </TR>
    	 <!-- Data Type -->
    			 <TR ALIGN="CENTER", VALIGN="middle">
					 <TH <%=bgcolorTh%>><%=fontTh%>
    					 Data Type</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
    					 <SELECT name=dataType>
    						 <OPTION <% if(dataType.equals("string"))out.print("selected");   %>
value=string>String</option>
    						 <OPTION <% if(dataType.equals("number"))out.print("selected");   %>
value=number>Number</option>
    						 <OPTION <% if(dataType.equals("datetime"))out.print("selected"); %>
value=datetime>DateTime</option>
    						 <OPTION <% if(dataType.equals("digits"))out.print("selected");   %>
value=digits>Digits</option>
    						 <OPTION <% if(dataType.equals("amount"))out.print("selected");   %>
value=amount>Amount</option>
    						 <OPTION <% if(dataType.equals("group"))out.print("selected");    %>
value=group>Set</option>
    						 <OPTION <% if(dataType.equals("prompt"))out.print("selected");   %>
value=prompt>Prompt</option>
    					 </SELECT>
    				 </TD>
    			 </TR>
    	 <!-- Key Word -->
    			 <TR ALIGN="CENTER", VALIGN="middle">
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>
    					 Keyword</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
    					 <INPUT TYPE="TEXT", NAME="keyword", ALIGN="CENTER",
value="<%=keyword%>", MAXLENGTH=50>
    				 </TD>
    			 </TR>
    	 <!-- Example -->
    			 <TR ALIGN="CENTER", VALIGN="middle">
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>
    					 Example</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
    				 <!-- begin example area -->
    					 <input type="TEXT", name="example",ALIGN=CENTER value="<%=example%>",
MAXLENGTH=255>
    				 </TD>
    			 </TR>
    	 <!-- Default Value -->
    			 <TR ALIGN="CENTER", VALIGN="MIDDLE">
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>
    					 Default Value</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
    				 <!-- begin example area -->
    					 <input type="TEXT", name="defaultValue", ALIGN="CENTER",
value="<%=defaultValue%>", MAXLENGTH=255>
    				 </TD>
    			 </TR>
    	 <!-- Report Display -->
    			 <TR ALIGN="CENTER", VALIGN="middle">
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>
    					 Report Display</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
    				 <!-- begin example area -->
    					 <input type="checkbox", name="reportDisplay", ALIGN="CENTER",
value="T", <%=reportDisplayChecked%> MAXLENGTH=255>
    				 </TD>
    			 </TR>
    	 <!-- Codes -->
    			 <TR ALIGN="CENTER", VALIGN="middle">
					 <TH <%=bgcolorTh%> height="<%= height %>"><%=fontTh%>Codes</FONT></TH>
					 </TH>
					 <TD ALIGN="LEFT" <%=bgcolorTd%> height="<%= height %>"><%=fontTd%>
    				 <!-- begin example area -->
    					 <TABLE BORDER=0>
							 <TR>
								 <TD ROWSPAN=2 height="<%= height %>"><%=fontTd%>
		 <SCRIPT>
			 if (navigator.appName == "Netscape"){
				 document.write("<SELECT WIDTH=150 MULTIPLE NAME=\"code\", ALIGN=CENTER
size=4 STYLE=\"width=2in\">");
			 }else{
				 document.write("<SELECT WIDTH=40 MULTIPLE NAME=\"code\", ALIGN=CENTER size=4
STYLE=\"width=2in\">");
			 }
		 </SCRIPT>
   			  <%
    			  if (attributeType!=null&&attributeType.getCodes() !=null && 
attributeType.getCodes().length > 0){
    			    for(int j=0; j<attributeType.getCodes().length; j++){
    			      String code = attributeType.getCodes()[j].getCode();
    			      String value = attributeType.getCodes()[j].getValue();
                      String expression = code + " = " + value;
    			      out.println("<OPTION VALUE=\"" + expression + "\">" + expression +
"</OPTION>");
    			    }
    			  }
   			  %>
									 </SELECT></FONT>
    							 </TD>
								 <TD HEIGHT="<%= height %>"><%=fontTd%>
					 <%if (adminUser.getRoleCode().equals("INSTALLER")){ %>

									 <INPUT TYPE=BUTTON VALUE=Add onclick='addCode()' STYLE="width=50">
<INPUT TYPE=TEXT NAME=newCode size=3> = <INPUT TYPE=TEXT NAME=newCodeValue
size=10></FONT>
										 <%} %>
			 </TD>
							 </TR>
							 <TR>
								 <TD height="<%= height %>"><%=fontTd%>
					 <%if (adminUser.getRoleCode().equals("INSTALLER")){ %>
									 <INPUT TYPE=BUTTON VALUE=Delete onClick='deleteCode()'
STYLE="width=50"></FONT>
										 <%} %>
			 </TD>
							 </TR>
						 </TABLE>
     <!-- end example area -->
					 </TD>
				 </TR>
			 </TABLE>
			 </CENTER>
<!-- buttons-->
			 <CENTER>
			 <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2" <%=bgcolorWhite%>>
				 <TR <%=bgcolorWhite%>>
					 <TD ALIGN="LEFT"><%=fontTd%>&nbsp</FONT></TH>
					 <TH ALIGN="right"><%=fontTh%>
					 <%if (adminUser.getRoleCode().equals("INSTALLER")){ %>
						 <INPUT TYPE="BUTTON" NAME="continueSubmit" VALUE="Save"
onclick='saveIt()'>
					 <%} %>
					 </FONT></TH>
					 <TH ALIGN="right"><%=fontTh%>
						 <INPUT TYPE="BUTTON" NAME="cancelButton"   VALUE="Cancel"  
onClick="Cancel()">
					 </FONT></TH>
				 </TR>
			 </TABLE>
			 <INPUT TYPE="HIDDEN" NAME="forwardAddress" VALUE="/edit_attributes.jsp">
			 </FORM>
			 </CENTER>
<!-- Delete button-->
			 <CENTER>
			 <FORM ACTION="DeleteAttributeTypeServlet" METHOD=POST onSubmit="return
confirmDelete('Attribute <%=name%>');" >
			 <TABLE border="0" cellspacing="2" cellpadding="2" <%=bgcolorWhite%>>
				 <TR <%=bgcolorWhite%>>
					 <TD ALIGN="LEFT"><%=fontTd%>&nbsp</FONT></TH>
					 <TH ALIGN="RIGHT"><%=fontTh%>
  				      <%  // check to see if this is a new Attribute, if so there should
not be a delete button
    				        if (newAttrFlag || !adminUser.getRoleCode().equals("INSTALLER")){
  				      %>
    				       &nbsp
   				      <%
    				        }else{
   				      %>
							 <INPUT TYPE=SUBMIT VALUE='Delete Attribute'>
   				      <%
    				        }
   				      %>
					 </FONT></TH>
				 </TR>
				 <INPUT TYPE="HIDDEN" NAME="attributeId"   VALUE=<%=attributeId%>>
				 <INPUT TYPE="HIDDEN" NAME="forwardAddress" VALUE="/edit_attributes.jsp">
			 </TABLE>
			 </FORM>
			 </CENTER>
		 </TR>
	 </TD>
</TABLE>

<BR CLEAR=left>
<BR CLEAR=left>
<BR CLEAR=left>

<%@ include file="/includes/admin_footer.jsp" %>


</BODY>
</HTML>


   _____________________________________________________________________
  |                                                                     |
  |         Pete Bismuti                                                |
  |         Department of Computer Science                              |
  |         Florida State University                                    |
  |         bismuti@...  (850) 644-6835                          |
  |_____________________________________________________________________|

#15229 From: Kolbjørn Barmen <kolla@...>
Date: Wed Dec 6, 2000 6:52 pm
Subject: syntax highlightening on amiga
kolla@...
Send Email Send Email
 
Hi!

Not sure who to adress this to, but...

The amiga version of vim doesnt support real colour highlightening, which is
pretty daft considering that the amiga console is pretty much stright forward
ansi terminal compliant. If I use vim on my amiga with highlightening, I just
get a mingle of underscore and bold (confuses more than it helps), while if
I telnet/ssh to some other machine (linux/*bsd/whatever) from the same shell
and con:, and run vim there with TERM=ansi, I get the full colour
highlightening and all. Just so stupid that it doesnt work locally.

Also, if there is interest for it, I have updated icons for vim, most
amiga users do not run 2bit diplays any more, most users prefer more
vivid icons. :)

-- kolla

#15228 From: "PERELYUBSKIY,DENIS" <kiev78@...>
Date: Wed Dec 6, 2000 6:37 pm
Subject: Re: copy to * register
kiev78@...
Send Email Send Email
 
Hello,

i dont know why, but it works on my win2k Vim 6.0n box ( and it worked
on all other versions)... it even works on gvim -u NONE.

i wonder if there are any options that would turn it off, which
is what you did. does it work if you start  gVim as gvim -u NONE?

hth,

denis


On Wed, 6 Dec 2000, Or Freund wrote:

> is it possible to map the mouse selected text directly to the * register
> so I can use the selected text as it is in other terminals (i mean
> clicking on middle button will paste the selected text to the selected
> window _)
> thanks in advance
> or.
> --
>
> Or Freund  ofreund@...               \\\|///
> Validation 				    \\  - -  //
> 			                     (  0 0  )
> Phone 972-4-9594010-106 		  -oOOo-(_)-oOOo-
>

#15227 From: Or Freund <ofreund@...>
Date: Wed Dec 6, 2000 6:00 pm
Subject: copy to * register
ofreund@...
Send Email Send Email
 
is it possible to map the mouse selected text directly to the * register
so I can use the selected text as it is in other terminals (i mean
clicking on middle button will paste the selected text to the selected
window _)
thanks in advance
or.
--

Or Freund  ofreund@...               \\\|///
Validation 				    \\  - -  //
			                      (  0 0  )
Phone 972-4-9594010-106 		  -oOOo-(_)-oOOo-
Attachment: vcard [not shown]

#15226 From: Benji Fisher <fisherbb@...>
Date: Wed Dec 6, 2000 5:33 pm
Subject: Re: joining text in a veriable
fisherbb@...
Send Email Send Email
 
c928400@... wrote:
>
> Thus wrote Devin Weaver (ktohg@...) on [001206]:
> > Is there a way in a function to join the text? Take axample:
>
> > function MyFunc( )
> >     exec "normal! Vjjj\"xy"
> >     let @x = join (@x)
> > endfunction
>
> > Or something simmular. substitute (@x, '\s*\n+\s*', ' ', 'g') would be fine
but
> > I want to make this VIM 5.7 compatable.
>
> How about the following (make join() into Join() in your example):
>
>     fun! Join(str)
>         return substitute(a:str, nr2char(10), '', 'ge')
>     endfun
>
> Here I make use of knowledge of the string delimiter that vim uses.
> Unfortunately, this will kill ^@'s in the file...
>
> You could perhaps use
>
>     function MyFunc( )
>         exec "normal! Vjjj\"xy"
>         exec 'norm! "xp4gJ"xdd'
>     endfunction
>
> as this does not have the problem above (and you do not seem to mind
> meddling with :norm anyway)
>
> Peppe

      You can also use "\<C-J>" (with the quotes!) instead of
nr2char(10).  If you also want to remove leading and trailing spaces,
use "\\s*\<C-J>\\s*" (with the quotes) or '\s*'."\<C-J>".'\s*' or
'\s*'.nr2char(10).'\s*' .

:help NL-used-for-Nul
:help string

HTH 			 --Benji Fisher

#15225 From: c928400@...
Date: Wed Dec 6, 2000 4:55 pm
Subject: Re: joining text in a veriable
c928400@...
Send Email Send Email
 
Thus wrote Devin Weaver (ktohg@...) on [001206]:
> Is there a way in a function to join the text? Take axample:

> function MyFunc( )
>     exec "normal! Vjjj\"xy"
>     let @x = join (@x)
> endfunction

> Or something simmular. substitute (@x, '\s*\n+\s*', ' ', 'g') would be fine
but
> I want to make this VIM 5.7 compatable.

How about the following (make join() into Join() in your example):

     fun! Join(str)
         return substitute(a:str, nr2char(10), '', 'ge')
     endfun

Here I make use of knowledge of the string delimiter that vim uses.
Unfortunately, this will kill ^@'s in the file...

You could perhaps use

     function MyFunc( )
         exec "normal! Vjjj\"xy"
         exec 'norm! "xp4gJ"xdd'
     endfunction

as this does not have the problem above (and you do not seem to mind
meddling with :norm anyway)

Peppe
--
                                       "Before you criticize someone, walk
Preben "Peppe" Guldberg  __/-\__       a mile in his shoes. That way, if
c928400@...    (o o)        he gets angry, he'll be a mile away
----------------------oOOo (_) oOOo--  - and barefoot."    --Sarah Jackson

#15224 From: Devin Weaver <ktohg@...>
Date: Wed Dec 6, 2000 4:27 pm
Subject: joining text in a veriable
ktohg@...
Send Email Send Email
 
Is there a way in a function to join the text? Take axample:

function MyFunc( )
     exec "normal! Vjjj\"xy"
     let @x = join (@x)
endfunction

Or something simmular. substitute (@x, '\s*\n+\s*', ' ', 'g') would be fine but
I want to make this VIM 5.7 compatable.

Thanks.

--
If VIM were a woman, I'd marry her.  Slim, organized, helpful and beautiful;
what's not to like?

#15223 From: "Dr. Charles E. Campbell" <cec@...>
Date: Wed Dec 6, 2000 3:28 pm
Subject: Re: go to the matching brace
cec@...
Send Email Send Email
 
Thus saith Arjona, Ariel:
> I'm wondering if there's already some way to modify the command % that makes
> the cursor go the the next matching parenthesis or brace, so it goes to the
> next closing HTML tag. like from <table border="0" cellpadding="3"> to the
> matching </table>.
  ---------------------------------------------------------------------

Check out Benji Fisher's http://sites.netscape.net/bbenjif/vim
site out for <matchit.vim>.

Regards,
C Campbell

--
         Charles E Campbell, Jr, PhD            _   __   __
         Goddard Space Flight Center           / /_/\_\_/ /
         cec@...      /_/  \/_//_/
   PGP public key: http://www.erols.com/astronaut/pgp.html/

#15222 From: "Arjona, Ariel" <aarjona@...>
Date: Wed Dec 6, 2000 3:12 pm
Subject: go to the matching brace
aarjona@...
Send Email Send Email
 
I'm wondering if there's already some way to modify the command % that makes
the cursor go the the next matching parenthesis or brace, so it goes to the
next closing HTML tag. like from <table border="0" cellpadding="3"> to the
matching </table>.

Regards,
--
Ariel Arjona
Webmaster
http://www.banistmo.com (aarjona@...)
~
~
:wq

#15221 From: Gary Stainburn <gary.stainburn@...>
Date: Wed Dec 6, 2000 9:12 am
Subject: Re: replacing <tab>
gary.stainburn@...
Send Email Send Email
 
Hi Dave,

If I read your question right, you want vim to insert spaces to move the
cursor along, instead of putting a tab character in.

You need to do:

set ts=??     ; sets the tab stops
set et        ; expand tabs to spaces

>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<

On 12/6/00, 12:34:01 AM, Dave D <davidd@...> wrote regarding
replacing <tab>:


> Is there a way to get vim to print '   ' instead of a real tab when tab
is
> pressed?

> Thanks,
> - Dave

#15220 From: Freudenberger Joerg <Joerg.Freudenberger@...>
Date: Wed Dec 6, 2000 8:58 am
Subject: RE: errorformat for GCC 2.96
Joerg.Freudenberger@...
Send Email Send Email
 
Hallo David

I think the best source for these information is searching
and possiply  joining the gcc mailing list and ask there:
	 http://gcc.gnu.org/ml/gcc/

The project home page is http://gcc.gnu.org/
I'm afraid I didn't find a statement about the error message format
at the special gcc 3.0 page.

And be very very careful when you like to experiment with installing
intermediate releases of parts the system bases on (kernel, kernel compiler
libc and binutils), I distroyed some linux installations in the phase from
gcc 2.7.2 to 2.95 ...

best regards
	 Jörg

#15219 From: "Richard P. Groenewegen" <rpg@...>
Date: Wed Dec 6, 2000 8:33 am
Subject: Re: Lisp syntax
rpg@...
Send Email Send Email
 
On Tue, Dec 05, 2000 at 08:47:35PM -0500, Benji Fisher wrote:
> Jeroen VALCKE - SAVACO wrote:
> > Important keywords like if, let, progn, dolist, format, ... are plain black.

>      Are other languages highlighted correctly?  (Do you have a color
> terminal, for example?)  What happens when you type

> all of your key words were highlighted.  What version of vim are you
> using, and on what platform?

On Wed, Dec 06, 2000 at 08:50:10AM +0100, Jeroen VALCKE - SAVACO wrote:
> It says filetype=lisp

Note that you did not answer the other questions Benji Fisher asked.
Anyway, try adding lines of the form

     hi keyword ctermfg=1

to you're .vimrc.  You can use different values of 1 ;-)  If that
doesn't work you can also try

     hi lispFunc ctermfg=1

Let's see what happens.

Richard
--
Exactly, The best admin tool for NT is a bike.

#15218 From: Jeroen VALCKE - SAVACO <jeroen.valcke@...>
Date: Wed Dec 6, 2000 7:50 am
Subject: RE: Lisp syntax
jeroen.valcke@...
Send Email Send Email
 
> :set ft

It says filetype=lisp

When I edited my files at home lisp syntax was highlighted correctly with
the same lisp syntax file!!!

#15217 From: "Jean-Raymond.Chauviere" <Jean-Raymond.Chauviere@...>
Date: Wed Dec 6, 2000 6:59 am
Subject: Re: Regex headache :)
Jean-Raymond.Chauviere@...
Send Email Send Email
 
Gregoire Welraeds wrote:
>
> Hello vimers,
>
> I have a file that is divided in 3 column. For selection purposes, the
> only one that matters is the first one. Here is a small entry example:
>
> 2dehands                1D IN NS        ns.vuurwerk.nl.
> 2design4u               1D IN NS        auth00.ns.be.uu.net.
> 2ez                     1D IN NS        ns.belbone
> 2ez                     1D IN NS        ns2.belbone
> 2frame                  1D IN NS        ns0.be.easynet.net.
> 2its                    1D IN NS        ns1.tbs
> 2its                    1D IN NS        ns2.skynet
> 2its                    1D IN NS        ns2.tbs
> 2its                    1D IN NS        ns3.skynet
> 2mb                     1D IN NS        ns1.skynet
>
> Now I could easily do a small awk script that delete a row if the name in
> the first column is the same than the name in the above row (same column).
>
> example:
>
> 2its                    1D IN NS        ns1.tbs
> 2its                    1D IN NS        ns2.skynet      # <== delete this one
>
> I was wondering if there is some magical vim regular expression capable of
> doing the same job. Not that I need to do it in vim. Generaly, I think
> that we should use the right tool for a job. Vim is an editor, awk a
> pattern processing language.

Not the answer to your question, ( I suppose pepe's one is good)
but anyway you don't need awk
sort -u +0 -1
can do the job, eventually redirected to the vim buffer :-)

--
Nur der Kleingeist hält Ordnung, das Genie beherrscht das Chaos.
Seuls les petits esprits aiment l'ordre, le génie maitrîse le chaos.
(anonyme)

Messages 1 - 15246 of 109739   Newest  |  < Newer  |  Older >  |  Oldest
Advanced
Add to My Yahoo!      XML What's This?

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help