﻿///<reference path="..\..\Core\jscript\CliHtmlUtility6.js" />

//--------------------------------------------------------------------------------
//<div title="70%">
//  <span style="width:70%">
//    70%
//  </span>
//</div>
//
function CliRenderProgressBar( progress ) // : div
{
    ///<summary>Create a div containing a progress bar and percentage</summary>
    
    var createElement = document.createElement;
    
    var percentage = "" + progress + "%";
    
    var container = createElement( "<div title=\"" + percentage + "\" />" );
    var span = createElement( "<span style=\"width:" + percentage + "\" />" );
    span.innerText = percentage
    container.appendChild( span );
    
    return container;
}

//--------------------------------------------------------------------------------
//<div class=text title="Truncated text" >Truncate...</div>
//
function CliRenderTrimmedText( text, maxChars )
{
    ///<summary>Create a div containing trimmed text</summary>
    
    var createElement = document.createElement;

    var textDiv = createElement( "<div class=\"text\" />" );
    
    var trimmed = CliBasicTrim( text, maxChars );
    
    if( trimmed != null )
    {
        textDiv.title = text;
        textDiv.innerText = trimmed;
    }
    else
    {
        textDiv.title = "";
        textDiv.innerText = text;
    }
    
    return textDiv;
}

//--------------------------------------------------------------------------------
//<div class=link>
//  <a href=# title="Trimmed text">Trimmed te...</a>
//<div>
//
function CliRenderTextLink( text, maxChars, onclick )
{
    ///<summary>Create a div containing a trimmed text element that is
    ///clickable as a link</summary>
    
    var anchor = createElement( "<a href='#' />" );
    
    var trimmed = CliBasicTrim( text, maxChars );
    
    if( trimmed != null )
    {
        anchor.title = text;
        anchor.innerText = trimmed;
    }
    else
    {
        anchor.title = "";
        anchor.innerText = text;
    }
    
    if( onclick != null )
    {
        CliAttachOnclickEventHandler( anchor, onclick );
    }
    
    return anchor;
}

//--------------------------------------------------------------------------------
//<input type="checkbox" />
//
function CliRenderCheckbox()
{
    ///<summary>Create a check box</summary>
    
    var chkBox = document.createElement( "<input type=\"checkbox\" />" );
    return chkBox;
}

//--------------------------------------------------------------------------------
function CliRenderFileSize( size )
{
    ///<summary>Converts a file size into a short string</summary>
    
    var xsize = size;
    
    if( size < 4096 )
        return parseInt( size ) + " bytes";

    size = size / 1024;
    
    if( size < 4096 )
        return parseInt( size ) + " KB";

    size = size / 1024;
    
    if( size < 4096 )
        return parseInt( size ) + " MB";
        //return (parseInt( size * 100 )) / 100 + " MB";

    size = size / 1024;
    
    return parseInt( size ) + " GB";
    //return (parseInt( size * 100 )) / 100 + " GB";
}
