function RefreshRecordUI()
    {
    var FirstLineHTML=GenerateTopLine
        (
        "mp3.gif",
        "Record "
        );

    var Instruction="Bla";

    var SpacerLine="\t<tr><td height=23 align=center></td></tr>\n";

    var FinalHTML;
    var Tab3Text;

    var VisMode=CurrentVis.CurrentIndex;

    if (IsPlaying=="recording")
        Tab3Text="NEXT TRK";
    else
        {
        Tab3Text="RECORD";
        VisMode=0;
        }

    var VisSmall;
    var VisLarge;
    switch(VisMode)
        {
        case 0: VisSmall="blank.gif";VisLarge="blank.gif";break;
        case 1: VisSmall="viz2sm.gif";VisLarge="viz2lg.gif";break;
        case 2: VisSmall="viz3sm.gif";VisLarge="viz3lg.gif";break;
        case 3: VisSmall="viz1sm.gif";VisLarge="viz1lg.gif";break;
        }

    var LastLineHTML="<tr><td>"+GenTabHTMLText("MENU",">REC INFO",Tab3Text)+"</td></tr>";

    if (PlayingScreen>3) PlayingScreen=0;

    var PlayTimeLength=8*3600+58*60+58;
    var PlayTimePos=PlayTimeLength;
    if (IsPlaying=="recording" || IsPlaying=="paused")
        {
        }
    else
        {
        Vis=0;
        PlayTimePos=0;
        PlayTimeLength=1;
        }
    var PlayFract=PlayTimePos/PlayTimeLength;

    var PlayTimeString;
    PlayTimeString=GetTimeString(CurrentRecordingTime,PlayTimeLength);

    var PosLine="\t<tr><td height=23>"+GenSliderLine("","",PlayTimeString+" Lvl:",CurrentItemColor.GetHTMLText(),CurrentRecordLevel.CurrentValue,.7,235)+"</td></tr>\n";

    switch(PlayingScreen)
        {
        case 0:
            var Line1="\t<tr><td height=23>"+GenHTMLText("(nothing playing)",CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
            var Line2=SpacerLine;
            var Line3=SpacerLine;
            var VizLine4=SpacerLine+SpacerLine;
            if (RecordItem && RecordItem.File)
                {
                var SecondLine=RecordItem.File.Album;
                if (RecordItem.File.TrackNumber!="")
                    SecondLine+=" ("+RecordItem.File.TrackNumber*1+")";
                Line1="\t<tr><td height=23>"+GenHTMLText(RecordItem.File.SongName,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line2="\t<tr><td height=23>"+GenHTMLText(SecondLine,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line3="\t<tr><td height=23>"+GenHTMLText(RecordItem.File.Artist,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                VizLine4="\t<tr><td height=46><img src=\""+GetIconsPath()+VisSmall+"\"></td></tr>\n";
                }
//    File.Artist  =CurrentPath.substring(ArtistStartPos+1,AlbumStartPos);
//    File.Album   =CurrentPath.substring(AlbumStartPos+1,CurrentPath.length);
//    File.FileName=DirEntry.substring(39,DirEntry.length);
//    File.SongName=File.FileName.substring(File.FileName.lastIndexOf('-')+2,File.FileName.lastIndexOf('.'));
//    File.Path    =CurrentPath;
//    File.DateStr =DirEntry.substring(0,10);
//    File.TimeStr =DirEntry.substring(12,18);
//    File.Size    =DirEntry.substring(19,38);
//    File.TrackNumber=File.FileName.substring(0,2);
//    File.Extension=DirEntry.substring(DirEntry.lastIndexOf('.')+1,DirEntry.length);

            FinalHTML=GenerateDisplayTable
                (
                FirstLineHTML+
                Line1+
                Line2+
                Line3+
                VizLine4+
                PosLine+
                LastLineHTML
                );
            break;
        case 1:
            var Line1="\t<tr><td height=23>"+GenHTMLText("(nothing playing)",CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
            var Line2=SpacerLine;
            var Line3=SpacerLine;
            var Line4=SpacerLine;
            var Line5=SpacerLine;
            var Line6=SpacerLine;
            if (RecordItem && RecordItem.File)
                {
                var FI1=CurrentRecordSource.CurrentValue;
                var FI2=CurrentRecordQuality.CurrentValue;
                Line1="\t<tr><td height=23>"+GenHTMLText(RecordItem.File.FileName,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line2="\t<tr><td height=23>"+GenHTMLText(RecordItem.File.Path,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line3="\t<tr><td height=23>"+GenHTMLText("Size: "+GetFileSizeStringWithFormat(RecordItem.File.Size,100),CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line4="\t<tr><td height=23>"+GenHTMLText("Date: "+RecordItem.File.DateStr+" "+RecordItem.File.TimeStr,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line5="\t<tr><td height=23>"+GenHTMLText(FI1,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                Line6="\t<tr><td height=23>"+GenHTMLText(FI2,CurrentItemColor.GetHTMLText(),237)+"</td></tr>\n";
                }

            FinalHTML=GenerateDisplayTable
                (
                FirstLineHTML+
                Line1+
                Line2+
                Line3+
                Line4+
                Line5+
                Line6+
                LastLineHTML
                );
            break;
        case 2:
            var VizLine=
                SpacerLine+
                SpacerLine+
                SpacerLine+
                SpacerLine+
                SpacerLine+
                SpacerLine;
            if (RecordItem && RecordItem.File)
                {
                VizLine="\t<tr><td height="+(23*6)+"><img src=\""+GetIconsPath()+VisLarge+"\"></td></tr>\n";
                FirstLineHTML=GenerateTopLine(RecordItem.Icon,RecordItem.File.SongName,true);
                }

            FinalHTML=GenerateDisplayTable
                (
                FirstLineHTML+
                VizLine+
                PosLine
                );
            break;
        case 3:
            var VizLine=
                SpacerLine+
                SpacerLine+
                SpacerLine+
                SpacerLine+
                SpacerLine+
                SpacerLine;
            VizLine="\t<tr><td height="+(23*6)+"><img src=\""+GetIconsPath()+VisLarge+"\"></td></tr>\n";

            FinalHTML=GenerateDisplayTable
                (
                SpacerLine+
                VizLine+
                SpacerLine
                );
            break;
        }

//    alert("FirstLine:\n\n"+FirstLineHTML);
//    alert("MiddleLines:\n\n"+LinesHTML);
//    alert("LastLine:\n\n"+LastLineHTML);
//    alert(FinalHTML);
    RewriteInnerHTML("JBMMDisplay",FinalHTML);
    ShowScrollBar(6,0,0);
    }

function StopAndExitPlayMenu()
    {
    Stop();
    GotoCurrentBrowsing();
    }

function SaveCurrentRecording()
    {
    RecordItem.File.TimeLength=CurrentRecordingTime;
    RecordItem.File.Size=CurrentRecordingTime*(192/8)*1024;
    var Item=RecordItem.Duplicate();
    Item.File=RecordItem.File.Duplicate();
    AddFileToML(Item.File);
    AddFileToFiles(Item.File);
    RecordItem.File.TrackNumber++;
    CurrentRecordingTime=0;
    UpdateRecordItem();
    }

function RecordUIOffButton()
    {
    if (IsPlaying=="recording")
        {
        SaveCurrentRecording();
        IsPlaying="stopped";
        }
    else
        {
        IsPlaying=ReturnFromRecordIsPlaying;
        CurrentJBMMUI=RecordReturnJBMMUI;
        }
    RefreshDisplay();
    }

function GotoNextPlayingScreen()
    {
    PlayingScreen++;
    CurrentJBMMUI.RefreshDisplay();
    }

function AddCurrentlyRecordingToPlaylist()
    {
    AddItemToPlaylist(RecordItem);
    }


function AdvanceRecordingTrack()
    {
    SaveCurrentRecording();
    RefreshDisplay();
    }

function RecordUIF3()
    {
    if (IsPlaying=="recording")
        AdvanceRecordingTrack();
    else
        StartRecording();
    }

function RecordUIPlayButton()
    {
    if (IsPlaying=="recording")
        IsPlaying="paused";
    else
    if (IsPlaying=="paused")
        IsPlaying="recording";
    else
        StartRecording();
    }

function IncreaseRecordLevel()
    {
    CurrentRecordLevel.SetNextValue();
    CurrentRecordLevel.CurrentValue=CurrentRecordLevel.Values[CurrentRecordLevel.CurrentIndex];
    RefreshDisplay();
    }

function DecreaseRecordLevel()
    {
    CurrentRecordLevel.SetPrevValue();
    CurrentRecordLevel.CurrentValue=CurrentRecordLevel.Values[CurrentRecordLevel.CurrentIndex];
    RefreshDisplay();
    }


function GetRecordUIObject()
    {
    //alert("GetBrowserUIObject()");
    var MenuUI=new jbmm_ui();
    MenuUI.JBMMF1       =GotoRecordingMenu;
//    MenuUI.JBMMF1Hold   =ButtonNotImplemented;
    MenuUI.JBMMF2       =GotoNextPlayingScreen;
    MenuUI.JBMMF2Hold   =ButtonNotImplemented;
    MenuUI.JBMMF3       =RecordUIF3;
    MenuUI.JBMMF3Hold   =RecordUIF3;
    MenuUI.JBMMOff      =RecordUIOffButton;
    MenuUI.JBMMLeft     =DecreaseRecordLevel;
    MenuUI.JBMMRight    =IncreaseRecordLevel;
    MenuUI.JBMMUp       =GotoVolumeMenu;
    MenuUI.JBMMDown     =GotoVolumeMenu;
    MenuUI.JBMMPlay     =RecordUIPlayButton;
    MenuUI.JBMMPlayHold =AddCurrentlyRecordingToPlaylist;
//    MenuUI.JBMMOn       =ButtonNotImplemented;
    MenuUI.RefreshDisplay=RefreshRecordUI;
    MenuUI.Notes=JBMMRecordUINotes;
    return MenuUI;
    }
RecordUI=GetRecordUIObject();

/*var RecordMenu=new menu("","Record");
RecordMenu.AddItemAndGenSubMenu(new item("","Set Name"));
RecordMenu.AddItemAndGenSubMenu(new item("","Set Artist"));
RecordMenu.AddItemAndGenSubMenu(new item("","Set Album"));
RecordMenu.AddItemAndGenSubMenu(new item("","Set Record Folder"));
RecordMenu.AddItem(MakeStdSetupItem("","Src: ",CurrentRecordSource));
RecordMenu.AddItem(MakeStdSetupItem("","Quality: ",CurrentRecordQuality));
RecordMenu.AddItem(MakeStdSetupItem("","Channels: ",CurrentRecordChannels));

RecordUI=GetBrowserUIObject(RecordMenu,"playlist");

RecordUI.Tab1Text="MENU";
RecordUI.Tab2Text="MODE";
RecordUI.Tab3Text="RECORD";*/
