/******************************************
|   Upload Progress Functions for Stylish template
|   ========================================
|   by Stephen Yabziz
|   (c) 2005-2006 YABSoft Services
|   http://www.yabsoft.com
|   ========================================
******************************************/
/******************************************
* showProgress(params)
* params: string
*         bread,itotal,dtremainingf,dtelapsedf,bspeedf,
******************************************/
function showProgress(params)
{
    $('#progressbar').show();
    $('#progressbar2').show();

    var parts = params.split(',');
    //alert('Progress:'+parts[0]);
    if(parts[0].indexOf(':')!=-1)
    {
        var filename = parts[0].substring(parts[0].indexOf(':')+1);
        parts[0] = parts[0].substring(0,parts[0].indexOf(':'));
        document.title = 'Uploading '+filename;
    }

    lastRead = parts[0]>lastRead?parts[0]:lastRead;
    if(lastRead && parts[0]==0) return 1;
    if(parts[0]==parts[1]&&parts[0]) uploadDone=1;

    $('#bread').text(convertsize(parts[0],upload_progress_unit));
    $('#itotal').text(convertsize(parts[1],upload_progress_unit));
    $('#dtremainingf').text(parts[2]);
    $('#dtelapsedf').text(parts[3]);
    $('#bspeedf').text(parts[4]=='unknown'?parts[4]:convertsize(parts[4],upload_speed_unit));

    if(use_flash_progress)
    {
        document.flash_progress_bar.SetVariable("/:percentage", parts[5]);
    }
    else
    {
        $('#progInner').css('width',parts[5]+'%');
        $('#progText').text(parts[5]+'%');
    }
}
function calProgress(iTotal,iRead,dtstart)
{
    var myDate=new Date()
    var dtnow =parseInt(myDate.getTime()/1000)

    oRead = iRead;
    iRead = parseInt(iRead);

    dtelapsed = ((dtnow - dtstart));

    dtelapsed_sec = (dtelapsed % 60);
    dtelapsed_min = (((dtelapsed - dtelapsed_sec) % 3600) / 60);
    dtelapsed_hours = ((((dtelapsed - dtelapsed_sec) - (dtelapsed_min * 60)) % 86400) / 3600);
    // gets number of hours; assuming that we won't be going into days!
    if (dtelapsed_sec < 10) { dtelapsed_sec = "0"+dtelapsed_sec; }
    if (dtelapsed_min < 10) { dtelapsed_min = "0"+dtelapsed_min; }
    if (dtelapsed_hours < 10) { dtelapsed_hours = "0"+dtelapsed_hours; }
    var dtelapsedf = dtelapsed_hours+':'+dtelapsed_min+':'+dtelapsed_sec;

    // set the initial speed as the first read size
    var bSpeed = iRead;
    //if not yet determined
    if (dtelapsed > 0) // avoid divide by zero errors
    {
    	bSpeed = iRead / dtelapsed; // Bytes uploaded / Seconds elapsed = Bytes/Second speed
    	bitSpeed = bSpeed * 8; // bps
    	kbitSpeed = bSpeed;
    }
    else
    {
    	kbitSpeed = bSpeed;
    }
    bSpeedf = parseInt(kbitSpeed);

    bRemaining = iTotal - iRead;
    dtRemaining = 0;
    if (bSpeed > 0) {
    	dtRemaining = bRemaining / bSpeed;
    }
    dtRemaining = parseInt(dtRemaining);
    dtRemaining_sec = (dtRemaining % 60);
    dtRemaining_min = (((dtRemaining - dtRemaining_sec) % 3600) / 60);
    dtRemaining_hours = ((((dtRemaining - dtRemaining_sec) - (dtRemaining_min * 60)) % 86400) / 3600);
    if (dtRemaining_sec < 10) {dtRemaining_sec = "0"+dtRemaining_sec;}
    if (dtRemaining_min < 10) {dtRemaining_min = "0"+dtRemaining_min;}
    if (dtRemaining_hours < 10) {dtRemaining_hours = "0"+dtRemaining_hours;}
    var dtRemainingf = dtRemaining_hours+':'+dtRemaining_min+':'+dtRemaining_sec;

    percent = parseInt(iRead * 100 / iTotal);

    showProgress(oRead+","+iTotal+","+dtRemainingf+","+dtelapsedf+","+bSpeedf+","+percent);

}
function FormatNumber(srcStr,nAfterDot){
    var srcStr,nAfterDot;
    var resultStr,nTen;
    srcStr = ""+srcStr+"";
    strLen = srcStr.length;
    dotPos = srcStr.indexOf(".",0);
    if (dotPos == -1){
        resultStr = srcStr+".";
        for (i=0;i<nAfterDot;i++)
        {
            resultStr = resultStr+"0";
        }
        return resultStr;
    }
    else
    {
        if ((strLen - dotPos - 1) >= nAfterDot)
        {
            nAfter = dotPos + nAfterDot + 1;
            nTen =1;
            for(j=0;j<nAfterDot;j++)
            {
                nTen = nTen*10;
            }
            resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
            return resultStr;
        }
        else
        {
            resultStr = srcStr;
            for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++)
            {
                resultStr = resultStr+"0";
            }
            return resultStr;
        }
    }
}

