{
final ItsNatDocument itsNatDoc = null;
Document doc = itsNatDoc.getDocument();
ItsNatComponentManager compMgr = itsNatDoc.getItsNatComponentManager();
final ItsNatHTMLInputFile input = (ItsNatHTMLInputFile)compMgr.createItsNatComponentById("fileUploadInputId");
final ItsNatHTMLIFrame iframe = (ItsNatHTMLIFrame)compMgr.createItsNatComponentById("fileUploadIFrameId");
final Element progressElem = doc.getElementById("progressId");
ItsNatHTMLButton button = (ItsNatHTMLButton)compMgr.createItsNatComponentById("fileUploadButtonId");
EventListener listener = new EventListener()
{
public void handleEvent(Event evt)
{
ClientDocument clientDoc = ((ItsNatEvent)evt).getClientDocument();
ItsNatTimer timer = clientDoc.createItsNatTimer();
EventListener timerListener = new EventListener() {
public void handleEvent(Event evt) { } // Nothing to do, this timer just update the client with the current state of progressElem
};
final ItsNatTimerHandle timerHnd = timer.schedule(null,timerListener,0,1000);
final HTMLIFrameFileUpload iframeUpload = iframe.getHTMLIFrameFileUpload(clientDoc,input.getHTMLInputElement());
ItsNatServletRequestListener listener = new ItsNatServletRequestListener()
{
public void processRequest(ItsNatServletRequest request, ItsNatServletResponse response)
{