In article
<fc13ad21-3add-4433-bd01-2b3a1283c872@[EMAIL PROTECTED]
>,
VladVeytsel@[EMAIL PROTECTED]
wrote:
> Picture album sup****t system enables you to create your own picture
> albums with a minimal effort - apart of preparing full size pictures
> and thumbnails (you have to do this regardless of the presentation
> system you are going to use)
Nope. Most will generate thumbnails for you whether it is a website
creating app like Dreamweaver or GoLive, an image optimizer like Adobe
ImageReady or Fireworks, an image database like Extensis ****tfolio or
Apple iPhoto, or even a general-purpose database such as FileMaker Pro.
Even the free online services such as Flickr and Picassa generate
thumbnails and other sizes automatically.
> all it takes to create a picture album
> is to compose a simple plain text list of your picture files with
> optional descriptions of individual pictures, and to make a basic
> HTML page for picture album entry (models are provided).
I think your idea of "simple" and "basic" is a tad skewed toward people
who already program in javascript. Most users are probably quite happy
with a "black box" piece of software that does what the user wants
without having to rewrite the source code -- nothing simple here for the
non-programmer:
<SCRIPT LANGUAGE=JavaScript>
<!--
Parm=location.search.substr(1) // Get URL parameters
Parameter=Parm.split("|") // Parse parameters into an array
Pict_Ind=Number(Parameter[0]) // Picture index within picture
list Dn_Dir = Parameter[1] // Down direct (relative to
PICTURE.HTM)
// that contains *.JS file,
thumbnail dir // and picture dir
(empty - current dir; // when
specified should end with "/")
Pict_Lst= Parameter[2] // *.JS file with picture list
(in Dn_Dir) Thum_Dir= Parameter[3] // Direct with
thumbnail JPGs (in Dn_Dir) Pict_Dir= Parameter[4] //
Direct with picture JPGs (in Dn_Dir) Title =
Parameter[5].replace(/%20/g," ") // Restore spaces
do***ent.write("<TITLE>#"+Pict_Ind+" -
"+Title.replace(/\/'/g,"'").replace(/ /g," ")+"</TITLE>")
// Preload images to the page - this turns out to be essential //
for setting Status value along with highlighting buttons // with
onMouseOver/onMouseOut event handlers that swap images. // (Names
are insignificant - choose any descriptive enough)
But_Fst_Act = new Image(13,13); But_Fst_Act.src="BUT-FSTA.GIF"
But_Fst_Sel = new Image(13,13); But_Fst_Sel.src="BUT-FSTS.GIF"
But_2Bk_Act = new Image(13,13); But_2Bk_Act.src="BUT-2BKA.GIF"
But_2Bk_Sel = new Image(13,13); But_2Bk_Sel.src="BUT-2BKS.GIF"
But_1Bk_Act = new Image(13,13); But_1Bk_Act.src="BUT-1BKA.GIF"
But_1Bk_Sel = new Image(13,13); But_1Bk_Sel.src="BUT-1BKS.GIF"
But_Stp_Act = new Image(13,13); But_Stp_Act.src="BUT-STPA.GIF"
But_Stp_Sel = new Image(13,13); But_Stp_Sel.src="BUT-STPS.GIF"
But_1Ah_Act = new Image(13,13); But_1Ah_Act.src="BUT-1AHA.GIF"
But_1Ah_Sel = new Image(13,13); But_1Ah_Sel.src="BUT-1AHS.GIF"
But_2Ah_Act = new Image(13,13); But_2Ah_Act.src="BUT-2AHA.GIF"
But_2Ah_Sel = new Image(13,13); But_2Ah_Sel.src="BUT-2AHS.GIF"
But_Lst_Act = new Image(13,13); But_Lst_Act.src="BUT-LSTA.GIF"
But_Lst_Sel = new Image(13,13); But_Lst_Sel.src="BUT-LSTS.GIF"
function Proc_Key(ev)
{if (ev) // Netscape
Key=ev.which
else
Key=window.event.keyCode
if (Key!=0) // Keys with zero ASCII value are ignored
this is
// (essential to keep standard window
functionality)
if (Key==13) // [Enter] key was pressed
javascript:window.location.href=One_Ahead_HREF
else
switch (String.fromCharCode(Key))
{case "F": // Move to the First picture
in the picture list
case "f": case "{": case "[":
javascript:window.location.href=First_HR
EF break;
case "B": // Move two pictures Back case
"b": case "<": case ",":
javascript:window.location.href=Two_Back
_HREF break;
case "P": // Move to the Previous
picture case "p": case "_": case "-":
javascript:window.location.href=One_Back
_HREF break;
case "R": // Return to the picture list
(thumbnails) case "r": case ":": case
";":
javascript:void(window.close());
break;
case "N": // Move to the Next picture
case "n": case "+": case "=":
javascript:window.location.href=One_Ahea
d_HREF break;
case "A": // Move two pictures Ahead
case "a": case ">": case ".":
javascript:window.location.href=Two_Ahea
d_HREF break;
case "L": // Move to the Last picture in
the picture list case "l": case "}": case
"]":
javascript:window.location.href=Last_HRE
F break;
default:
alert(// Comment out next two lines
after debugging
// "*** Key pressed - ASCII:
"+Key // +" Character:
\""+String.fromCharCode(Key)+"\" ***\n\n"+
"Click the big picture to
return to picture list, or click one
of the thumbnails "
+"\n(or buttons) for circular proximity
navigation. As you move mouse cursor,"
+"\nwatch the Status Bar at
the bottom of the window - text in it
depends on" +"\nthe cursor
position, and either describes
selected object, or prompts for"
+"\na possible action."
+"\n\nTo avoid confusion don't use
Windows Task Bar to switch between"
+"\nthumbnail list and full-size
picture windows." +"\n\nYou
may press the following keys for
proximity navigation in this window"
+"\n(values shown below label
keys to be pressed; entry is
case-insensitive):" +"\n\n'F'
or '['\t- Move to the First picture in
the picture list" +"\n'B' or
'<'\t- Move two pictures Back"
+"\n'P' or '-'\t- Move to the
Previous picture" +"\n'R' or
':'\t- Return to the picture list
(thumbnails)" +"\n'N' or
'+'\t- Move to the Next picture (or
press [Enter] key)" +"\n'A'
or '>'\t- Move two pictures Ahead"
+"\n'L' or ']'\t- Move to the
Last picture in the picture list"
+"\n\n'H' or '?'\t- Display
navigation help (this window)"
+"\n\nBlinking of thumbnail number
indicates that this picture is beyond
upper" +"\nor lower list
border (circular navigation is
invoked)." +"\n\nTo save the
picture point to it with the mouse
cursor, click right mouse"
+"\nbutton, and then proceed with
'Save Image As' from the pop-up menu."
+"\n\nPress any other symbolic
key (character, digit or symbol) to
display help." );
}
}
// Needed only for Microsoft IE and Netscape 4.x; // Causes event
duplication in Netscape 7.x and Mozilla. if ((
navigator.appName=="Microsoft Internet Explorer")||
((navigator.appName=="Netscape")&&
(Number(navigator.appVersion.substr(0,1))<5)))
do***ent.onkeypress=Proc_Key
// Needed for Netscape 4.8; maybe for some other older browsers
too... if ((navigator.appName=="Netscape")&&
(Number(navigator.appVersion.substr(0,1))<5)&&
(do***ent.captureEvents))
do***ent.captureEvents(Event.KEYPRESS)
// For new browsers - checked with Firefox 2.0, Netscape 7.2, IE
6.0 if (do***ent.addEventListener)
do***ent.addEventListener("keypress",Proc_Key,true)
//-->
</SCRIPT> <STYLE TYPE="Text/CSS">
A:HOVER {COLOR:Red; BACKGROUND:#FFFF66}
</STYLE>
</HEAD>


|