It is a video upload system,like the one Youtube has but simplified. You click a simple link in the website and it must display a modal window (like the ones in [url removed, login to view]), in this modal window is where the upload happens. The modal is divided in two horizontal sections. The one at the top is where the info is displayed, like the progress bar of the uploading, if it has finished, etc. The one at the bottom is bigger and is where the user will drag and drop its video file for upload (all this area should work for the drag and drop). In this same bottom area there should be a big button to upload the video (as an option to drag and drop in case the browser doesn't support it).
- Admit only flv and f4v files (reject any other file)
- Drag and drop feature to upload
- Button to upload (as an option, so that older browsers can upload too)
- A progress bar that shows the progress of the video file being uploaded (only shows up when upload is in progress). It should appear in the top area of the modal.
- The file must show up with its original name in a folder called "videos"
- A button to cancel the upload in progress (if it is pressed everything goes to normal as it was before, progress bar disappears etc.)
- A message when the upload is successfully finished that replaces the progress bar. Also if there was a problem uploading a message should also show up and cancel uploading (everything back to normal so that user can try again).
- If a new file is dragged or the user tries to upload a new file when there is already a file uploaded, the user must be asked if it's ok to replace the old one. If it's ok the old file is scrapped and the upload begins, the progress bar shows up again etc.
- Button to close the modal window. Also if any part outside the modal window is clicked it must be closed, unless there is a video upload in progress.
- All should work through AJAX, no reloading of the page.
- No part of the programming should be encrypted or obfuscated, so that the programming can be expanded later and understood by other programmers, so comments in the code are encouraged. Clear well estructured OOP coding is expected.
- Should work in IE8 / FF / Safari
- A thumbnail of the video must show up when it is finished uploading.