var fDesc=new Array(); fDesc[0] = "Image Uploader Dual is a powerful uploading solution for your sites. It enables website developers to provide their users with a user-friendly uploading interface for multiple files. The users can navigate their folders directly in their browser, select necessary files, and start uploading them in only a few clicks.

Image Uploader brief overview of features:

1. Convenient user interface:

* Drag-and-drop support.
* Thumbnails for images.
* Different view modes (thumbnails, list, details, icons).
* Keyboard shortcuts.
* Select file, delete file, rotate image, image quality meter controls located on thumbnails.
* Configurable colors.
* Configurable buttons appearance.
* Most user interface elements that can be toggled.
* Several layouts.
* Native look-and-feel for different platforms including Vista.
* Localization support. Translations into 9 languages are included.

2. Rich upload features:

* ZIP compression for files.
* Upload of any kind of files without limitations for size or count.
* Progress dialog with statistics.
* Concurrent uploads of multiple files.
* Save\Load\ file upload lists.
* Auto-recovery of broken uploads.
* Upload of any additional information by appending HTML form.
* Configurable restrictions for file size, type, count and image dimensions.

3. Image processing features:

* Support of most popular file formats: JPEG, TIFF, GIF, PNG, BMP, etc.
* Unlimited number of thumbnails generated per one uploaded image.
* Ability to upload only resized copy of an image (optimize upload traffic).
* Image rotation (automatic and manual).
* Text and image watermarks.
* EXIF and IPTC fields support.

5. Platform independent:

* Compatible with most modern browsers.
* Can be used with ANY server platform.
* Demos for the following platforms are included: ASP.NET (C# and VB.NET), JSP, PHP, Perl, Python, ColdFusion, Ruby.
* Rich documentation with detailed object reference and numerous code samples is included."; function tShowHide(id, show) { var s = document.getElementById("desc"); if ((s.innerHTML.length<=212 || show==1) && show!=2) { s.innerHTML = fDesc[id]; if (document.getElementById('m1')) document.getElementById('m1').style.display='none'; if (document.getElementById('m2')) document.getElementById('m2').style.display='none'; if (document.getElementById('more_txt')) document.getElementById('more_txt').style.display='inline'; } else { s.innerHTML = ''; } }