#include "bbs.h"
#include <resources/battclock.h>
#include <clib/battclock_protos.h>
#include <dos/datetime.h>
struct Resource *BattClockBase;
static struct DateTime dt;
void Cycle_The_Display(void)
{
 static char t[60];
 char mytime[20];
 char mydate[20];
 char myday[20];
 DateStamp((struct DateStamp *)&dt);
 dt.dat_Format=FORMAT_DOS;
 dt.dat_StrDay=(UBYTE *)&myday;
 dt.dat_StrDate=(UBYTE *)&mydate;
 dt.dat_StrTime=(UBYTE *)&mytime;
 DateToStr(&dt);
 sprintf(t,"%s %s %s",mytime,myday,mydate);
 StatPrintTime(t);

}

void StatCursorTo(int x, int y)
{
 char statbuf[20];

 if(KEYIN&&DStatBar)	{
	    sprintf(&statbuf[0],"[%d;%dH",y,x);
	    StatWriteReq->io_Data=(APTR)&statbuf[0];
	    StatWriteReq->io_Length=-1l;
	    StatWriteReq->io_Command=CMD_WRITE;
	    DoIO(StatWriteReq);
	}
}

void StatPrint(char *s)
{
 char str[200];

 if(KEYIN&&DStatBar)	{
	    if(BitPlanes<3)	{
		    // rewrote ansi strip StripAnsi(s,str,0); (JOE)
              stripansi(s,str,&strip,0,0);
		    StatWriteReq->io_Data=(APTR)str;
		    StatWriteReq->io_Length=-1l;
		    StatWriteReq->io_Command=CMD_WRITE;
		    DoIO(StatWriteReq);
		    return;
		}
	    StatWriteReq->io_Data=(APTR)s;
	    StatWriteReq->io_Length=-1l;
	    StatWriteReq->io_Command=CMD_WRITE;
	    DoIO(StatWriteReq);
	}
}

void ZmodemStatPrint(char *s)
{

 if(KEYIN&&!ICON)	{
	    ZmodemWriteReq->io_Data=(APTR)s;
	    ZmodemWriteReq->io_Length=-1l;
	    ZmodemWriteReq->io_Command=CMD_WRITE;
	    DoIO(ZmodemWriteReq);
	}
}

void StatParkCursor(void)
{
 StatCursorTo(1,3);
 StatPrint("[0 p");
}

void StatMessage(int x, int y, char *s)
{
 StatCursorTo(x,y);
 StatPrint(s);
 StatParkCursor();
}

void StatPrintTime(char *s)
{
 char str[32];

 sprintf(str,"%-30s",s);
 StatMessage(1,3,str);
}

void StatClearTime(void)
{
 StatMessage(1,3,"                               ");
}
extern void SendChatFlag(int opt);
void StatChatFlag(void)
{
 if(SySChat){ 	StatMessage(79,1,"*"); SendChatFlag(1);} 
 else       { 	StatMessage(79,1," "); SendChatFlag(0);}
}

