function create(i){
       var obj = document.getElementById('processbarTemplate');
       var divlist = document.getElementById("list_processFile");
       
       //var objhidden = document.getElementById('hiddenFileName');
       var hiddenlist;
       
       var divHTML = obj.innerHTML;
       divHTML = divHTML.replace(/{ID}/g, i.toString());
       
       divlist.innerHTML += divHTML;
       //objhidden.innerHTML += '<input type="hidden" id="list_hiddenFileName' + i.toString() + '" name="multi_file2upload" value="" /><br />';               
       
       document.getElementById("bytesSent"  + i.toString()).innerHTML = '';
       document.getElementById("bytesTotal" + i.toString()).innerHTML = '';
       document.getElementById("sendSpeed"  + i.toString()).innerHTML = '';
       document.getElementById("filename" + i.toString()).innerHTML = '';
       document.getElementById("bar"+ numUploaded).style.width = '0%';
}
  
function sendProgressToJavascript(percent, numUploaded , bytesLoaded , bytesTotal , sendSpeed, filename){
       document.getElementById("bar"+ numUploaded).style.width = percent + '%';     
       document.getElementById("bytesSent"  + numUploaded).innerHTML = size_format(bytesLoaded) + "B of ";       
       document.getElementById("bytesTotal" + numUploaded).innerHTML = size_format(bytesTotal) + 'B';
       document.getElementById("bytesTotal" + numUploaded).innerHTML += ' (' + percent + '%)';
       document.getElementById("sendSpeed"  + numUploaded).innerHTML = " at speed " + size_format(sendSpeed*8) + "b/s";       
       document.getElementById("filename"  + numUploaded).innerHTML = filename;
       //document.getElementById("list_hiddenFileName" + numUploaded).value = filename;
}  
function sendComplete( completeID){
       document.getElementById("cancel"+completeID).style.display  =   "none";         
       document.getElementById("true"+completeID).style.display  =   "block";         
}
function cancelUpload(fileID){
       // remove tag                
       var d = document.getElementById("list_processFile"); 
       var d_nested = document.getElementById("processbar" + fileID); 
       var throwawayNode = d.removeChild(d_nested);          
       // send to flash
       window.document.multiselect.cancelUploadflash(fileID);
}

function clearSreen(){
       var element = document.getElementById("list_processFile");
       while (element.firstChild) {
          element.removeChild(element.firstChild);
       }     
}

function size_format(filesize) {
       if (filesize >= 1073741824) {
              filesize = number_format(filesize / 1073741824, 2, '.', '') + 'G';
       } else {
              if (filesize >= 1048576) {
                     filesize = number_format(filesize / 1048576, 2, '.', '') + 'M';
              } else {
                     if (filesize >= 1024) {
                            filesize = number_format(filesize / 1024, 0) + 'K';
                     } else {
                            filesize = number_format(filesize, 0) + '';
                     }
              }
       }
       return filesize;
}


function number_format (number, decimals, dec_point, thousands_sep) {
       // version: 906.1806
       // discuss at: http://phpjs.org/functions/number_format
       var n = number, prec = decimals;
       
       var toFixedFix = function (n,prec) {
           var k = Math.pow(10,prec);
           return (Math.round(n*k)/k).toString();
       };
       
       n = !isFinite(+n) ? 0 : +n;
       prec = !isFinite(+prec) ? 0 : Math.abs(prec);
       var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
       var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
       
       var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
       
       var abs = toFixedFix(Math.abs(n), prec);
       var _, i;
       
       if (abs >= 1000) {
           _ = abs.split(/\D/);
           i = _[0].length % 3 || 3;
       
           _[0] = s.slice(0,i + (n < 0)) +
                 _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
           s = _.join(dec);
       } else {
           s = s.replace('.', dec);
       }
       
       var decPos = s.indexOf(dec);
       if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
           s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
       }
       else if (prec >= 1 && decPos === -1) {
           s += dec+new Array(prec).join(0)+'0';
       }
       return s;
}
