- Fixed AI2TV settings dialog. Dialog works with a few minor bugs:

mg689 [2002-10-14 21:33:03]
 - Fixed AI2TV settings dialog. Dialog works with a few minor bugs:
    1. Dialog window transfers its events to main client to handle them (i.e.
        it catches 'w', but also lets main client interpret 'w' as walking forward).
    2. AI2TV control dialog does not get destroyed when necessary.
Filename
DB.data
DB.properties
DB.script
ET.data
ET.properties
ET.script
client94/Ai2tvWindow.cpp
client94/ChimeWindow.h
client94/chimeClient.ncb
client94/data/ai2tv/session.txt
client94/data/config/chime.cfg
client94/debug.txt
diff --git a/DB.data b/DB.data
index e69de29..6ae8232 100644
Binary files a/DB.data and b/DB.data differ
diff --git a/DB.properties b/DB.properties
index 3f507dc..79ed31e 100644
--- a/DB.properties
+++ b/DB.properties
@@ -1,4 +1,4 @@
 #Hypersonic SQL database
-#Sat Jun 29 16:38:26 EDT 2002
+#Mon Oct 14 17:25:59 EDT 2002
 version=1.4
 modified=yes
diff --git a/DB.script b/DB.script
index 40cc611..04f3936 100644
--- a/DB.script
+++ b/DB.script
@@ -1,195 +1,92 @@
+CREATE TABLE SOURCE(ID INTEGER,PROTOCOL VARCHAR,URL VARCHAR,SIZE INTEGER,TYPE VARCHAR,CREATED VARCHAR,LAST_MOD VARCHAR,SRC VARCHAR,PARENT INTEGER,CLASSTYPE VARCHAR,SUBTYPE VARCHAR,SHAPE VARCHAR,SHAPE2D VARCHAR,OPT1 VARCHAR,OPT2 VARCHAR,OPT3 VARCHAR,OPT4 VARCHAR,OPT5 VARCHAR,UNIQUE(ID),UNIQUE(PROTOCOL,URL))
+CREATE INDEX ID ON SOURCE(ID)
+CREATE INDEX URL ON SOURCE(PROTOCOL,URL)
+CREATE TABLE TABLE1(URL VARCHAR,TYPE VARCHAR,CLASSTYPE VARCHAR,SUBTYPE VARCHAR,SHAPE VARCHAR,SHAPE2D VARCHAR)
 CREATE USER SA PASSWORD "" ADMIN
-/*C1*/CONNECT USER sa PASSWORD ""
-create table SOURCE (id integer, protocol varchar(255), url varchar(255), size integer, type varchar(20), created varchar(255), last_mod varchar(255), src varchar(255), parent integer, classtype varchar(255), subtype varchar(255), shape varchar(255), shape2d varchar(255), opt1 varchar(255), opt2 varchar(255), opt3 varchar(255), opt4 varchar(255), opt5 varchar(255), PRIMARY KEY (id), UNIQUE (protocol, url) )
-create index id on SOURCE(id)
-create index url on SOURCE(protocol, url)
-INSERT INTO SOURCE VALUES(1,'http','http://www.suhit.com/',-1,'text/html','1025383658631','-1','null',-1,NULL,NULL,NULL,NULL,'null','6','\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a','14','http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a')
-DELETE FROM SOURCE WHERE ID=1 AND PROTOCOL='http' AND URL='http://www.suhit.com/' AND SIZE=-1 AND TYPE='text/html' AND CREATED='1025383658631' AND LAST_MOD='-1' AND SRC='null' AND PARENT=-1 AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL AND OPT1='null' AND OPT2='6' AND OPT3='\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a' AND OPT4='14' AND OPT5='http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a'
-INSERT INTO SOURCE VALUES(1,'http','http://www.suhit.com/',-1,'text/html','1025383658631','-1','null',-1,'Connector',NULL,NULL,NULL,'null','6','\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a','14','http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a')
-DELETE FROM SOURCE WHERE ID=1 AND PROTOCOL='http' AND URL='http://www.suhit.com/' AND SIZE=-1 AND TYPE='text/html' AND CREATED='1025383658631' AND LAST_MOD='-1' AND SRC='null' AND PARENT=-1 AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL AND OPT1='null' AND OPT2='6' AND OPT3='\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a' AND OPT4='14' AND OPT5='http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a'
-INSERT INTO SOURCE VALUES(1,'http','http://www.suhit.com/',-1,'text/html','1025383658631','-1','null',-1,'Connector','Connector',NULL,NULL,'null','6','\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a','14','http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a')
-DELETE FROM SOURCE WHERE ID=1 AND PROTOCOL='http' AND URL='http://www.suhit.com/' AND SIZE=-1 AND TYPE='text/html' AND CREATED='1025383658631' AND LAST_MOD='-1' AND SRC='null' AND PARENT=-1 AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL AND OPT1='null' AND OPT2='6' AND OPT3='\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a' AND OPT4='14' AND OPT5='http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a'
-INSERT INTO SOURCE VALUES(1,'http','http://www.suhit.com/',-1,'text/html','1025383658631','-1','null',-1,'Connector','Connector','stool',NULL,'null','6','\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a','14','http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a')
-DELETE FROM SOURCE WHERE ID=1 AND PROTOCOL='http' AND URL='http://www.suhit.com/' AND SIZE=-1 AND TYPE='text/html' AND CREATED='1025383658631' AND LAST_MOD='-1' AND SRC='null' AND PARENT=-1 AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL AND OPT1='null' AND OPT2='6' AND OPT3='\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a' AND OPT4='14' AND OPT5='http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a'
+CREATE ALIAS DAYNAME FOR "org.hsql.Library.dayname"
+CREATE ALIAS SPACE FOR "org.hsql.Library.space"
+CREATE ALIAS SUBSTRING FOR "org.hsql.Library.substring"
+CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"
+CREATE ALIAS ABS FOR "java.lang.Math.abs"
+CREATE ALIAS POWER FOR "java.lang.Math.pow"
+CREATE ALIAS CHAR FOR "org.hsql.Library.character"
+CREATE ALIAS CONCAT FOR "org.hsql.Library.concat"
+CREATE ALIAS PI FOR "org.hsql.Library.pi"
+CREATE ALIAS SECOND FOR "org.hsql.Library.second"
+CREATE ALIAS TRUNCATE FOR "org.hsql.Library.truncate"
+CREATE ALIAS MONTH FOR "org.hsql.Library.month"
+CREATE ALIAS LOWER FOR "org.hsql.Library.lcase"
+CREATE ALIAS ATAN2 FOR "java.lang.Math.atan2"
+CREATE ALIAS REPEAT FOR "org.hsql.Library.repeat"
+CREATE ALIAS DAYOFMONTH FOR "org.hsql.Library.dayofmonth"
+CREATE ALIAS TAN FOR "java.lang.Math.tan"
+CREATE ALIAS RADIANS FOR "java.lang.Math.toRadians"
+CREATE ALIAS FLOOR FOR "java.lang.Math.floor"
+CREATE ALIAS NOW FOR "org.hsql.Library.now"
+CREATE ALIAS ACOS FOR "java.lang.Math.acos"
+CREATE ALIAS DAYOFWEEK FOR "org.hsql.Library.dayofweek"
+CREATE ALIAS CEILING FOR "java.lang.Math.ceil"
+CREATE ALIAS DAYOFYEAR FOR "org.hsql.Library.dayofyear"
+CREATE ALIAS LCASE FOR "org.hsql.Library.lcase"
+CREATE ALIAS WEEK FOR "org.hsql.Library.week"
+CREATE ALIAS SOUNDEX FOR "org.hsql.Library.soundex"
+CREATE ALIAS ASIN FOR "java.lang.Math.asin"
+CREATE ALIAS LOCATE FOR "org.hsql.Library.locate"
+CREATE ALIAS EXP FOR "java.lang.Math.exp"
+CREATE ALIAS MONTHNAME FOR "org.hsql.Library.monthname"
+CREATE ALIAS YEAR FOR "org.hsql.Library.year"
+CREATE ALIAS LEFT FOR "org.hsql.Library.left"
+CREATE ALIAS ROUNDMAGIC FOR "org.hsql.Library.roundMagic"
+CREATE ALIAS BITOR FOR "org.hsql.Library.bitor"
+CREATE ALIAS LTRIM FOR "org.hsql.Library.ltrim"
+CREATE ALIAS COT FOR "org.hsql.Library.cot"
+CREATE ALIAS COS FOR "java.lang.Math.cos"
+CREATE ALIAS MOD FOR "org.hsql.Library.mod"
+CREATE ALIAS SIGN FOR "org.hsql.Library.sign"
+CREATE ALIAS DEGREES FOR "java.lang.Math.toDegrees"
+CREATE ALIAS LOG FOR "java.lang.Math.log"
+CREATE ALIAS SIN FOR "java.lang.Math.sin"
+CREATE ALIAS CURTIME FOR "org.hsql.Library.curtime"
+CREATE ALIAS DIFFERENCE FOR "org.hsql.Library.difference"
+CREATE ALIAS INSERT FOR "org.hsql.Library.insert"
+CREATE ALIAS DATABASE FOR "org.hsql.Library.database"
+CREATE ALIAS MINUTE FOR "org.hsql.Library.minute"
+CREATE ALIAS HOUR FOR "org.hsql.Library.hour"
+CREATE ALIAS IDENTITY FOR "org.hsql.Library.identity"
+CREATE ALIAS QUARTER FOR "org.hsql.Library.quarter"
+CREATE ALIAS CURDATE FOR "org.hsql.Library.curdate"
+CREATE ALIAS BITAND FOR "org.hsql.Library.bitand"
+CREATE ALIAS USER FOR "org.hsql.Library.user"
+CREATE ALIAS UCASE FOR "org.hsql.Library.ucase"
+CREATE ALIAS RTRIM FOR "org.hsql.Library.rtrim"
+CREATE ALIAS LOG10 FOR "org.hsql.Library.log10"
+CREATE ALIAS RIGHT FOR "org.hsql.Library.right"
+CREATE ALIAS ATAN FOR "java.lang.Math.atan"
+CREATE ALIAS UPPER FOR "org.hsql.Library.ucase"
+CREATE ALIAS ASCII FOR "org.hsql.Library.ascii"
+CREATE ALIAS RAND FOR "java.lang.Math.random"
+CREATE ALIAS LENGTH FOR "org.hsql.Library.length"
+CREATE ALIAS ROUND FOR "org.hsql.Library.round"
+CREATE ALIAS REPLACE FOR "org.hsql.Library.replace"
 INSERT INTO SOURCE VALUES(1,'http','http://www.suhit.com/',-1,'text/html','1025383658631','-1','null',-1,'Connector','Connector','stool','stool','null','6','\u000a\u0009<Source>http://www.suhit.com/top.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/header.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/comp.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/nice.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/city.gif</Source>\u000a\u000a\u000a\u0009<Source>http://www.suhit.com/art.gif</Source>\u000a\u000a','14','http://www.suhit.com/comp.html\u000ahttp://www.suhit.com/nice.html\u000ahttp://www.suhit.com/city.html\u000ahttp://www.suhit.com/art.html\u000ahttp://www.suhit.com/resume.html\u000ahttp://www.suhit.com/checkers.html\u000ahttp://www.suhit.com/sp.html\u000ahttp://www.suhit.com/dungeons.html\u000ahttp://www.suhit.com/porsche.html\u000ahttp://www.suhit.com/diablo.html\u000ahttp://www.suhit.com/links.html\u000ahttp://www.suhit.com/friends.html\u000ahttp://www.suhit.com/miscel.html\u000ahttp://www.suhit.com/contact.html\u000a')
-create table table1 (url varchar(255), type varchar(255), classtype varchar(255), subtype varchar(255), shape varchar(255), shape2d varchar(255) )
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/top.gif','IMAGE',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/top.gif' AND TYPE='IMAGE' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/top.gif','IMAGE','Component',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/top.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/top.gif','IMAGE','Component','Component',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/top.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/top.gif','IMAGE','Component','Component','cube',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/top.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE='cube' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/top.gif','IMAGE','Component','Component','cube','cube')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/header.gif','IMAGE',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/header.gif' AND TYPE='IMAGE' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/header.gif','IMAGE','Component',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/header.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/header.gif','IMAGE','Component','Component',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/header.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/header.gif','IMAGE','Component','Component','cube',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/header.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE='cube' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/header.gif','IMAGE','Component','Component','cube','cube')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.gif','IMAGE',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.gif' AND TYPE='IMAGE' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.gif','IMAGE','Component',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.gif','IMAGE','Component','Component',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.gif','IMAGE','Component','Component','cube',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE='cube' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.gif','IMAGE','Component','Component','cube','cube')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.gif','IMAGE',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.gif' AND TYPE='IMAGE' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.gif','IMAGE','Component',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.gif','IMAGE','Component','Component',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.gif','IMAGE','Component','Component','cube',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE='cube' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.gif','IMAGE','Component','Component','cube','cube')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.gif','IMAGE',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.gif' AND TYPE='IMAGE' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.gif','IMAGE','Component',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.gif','IMAGE','Component','Component',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.gif','IMAGE','Component','Component','cube',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE='cube' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.gif','IMAGE','Component','Component','cube','cube')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.gif','IMAGE',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.gif' AND TYPE='IMAGE' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.gif','IMAGE','Component',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.gif','IMAGE','Component','Component',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.gif','IMAGE','Component','Component','cube',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.gif' AND TYPE='IMAGE' AND CLASSTYPE='Component' AND SUBTYPE='Component' AND SHAPE='cube' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.gif','IMAGE','Component','Component','cube','cube')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/comp.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/comp.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/nice.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/nice.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/city.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/city.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/art.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/art.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/resume.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/resume.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/resume.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/resume.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/resume.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/resume.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/resume.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/resume.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/resume.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/checkers.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/checkers.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/checkers.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/checkers.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/checkers.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/checkers.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/checkers.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/checkers.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/checkers.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/sp.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/sp.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/sp.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/sp.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/sp.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/sp.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/sp.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/sp.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/sp.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/dungeons.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/dungeons.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/dungeons.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/dungeons.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/dungeons.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/dungeons.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/dungeons.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/dungeons.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/dungeons.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/porsche.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/porsche.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/porsche.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/porsche.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/porsche.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/porsche.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/porsche.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/porsche.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/porsche.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/diablo.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/diablo.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/diablo.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/diablo.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/diablo.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/diablo.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/diablo.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/diablo.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/diablo.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/links.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/links.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/links.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/links.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/links.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/links.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/links.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/links.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/links.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/friends.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/friends.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/friends.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/friends.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/friends.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/friends.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/friends.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/friends.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/friends.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/miscel.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/miscel.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/miscel.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/miscel.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/miscel.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/miscel.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/miscel.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/miscel.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/miscel.html','LINK','Connector','Connector','stool','stool')
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/contact.html','LINK',NULL,NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/contact.html' AND TYPE='LINK' AND CLASSTYPE=NULL AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/contact.html','LINK','Connector',NULL,NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/contact.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE=NULL AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/contact.html','LINK','Connector','Connector',NULL,NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/contact.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE=NULL AND SHAPE2D=NULL
-INSERT INTO TABLE1 VALUES('http://www.suhit.com/contact.html','LINK','Connector','Connector','stool',NULL)
-DELETE FROM TABLE1 WHERE URL='http://www.suhit.com/contact.html' AND TYPE='LINK' AND CLASSTYPE='Connector' AND SUBTYPE='Connector' AND SHAPE='stool' AND SHAPE2D=NULL
 INSERT INTO TABLE1 VALUES('http://www.suhit.com/contact.html','LINK','Connector','Connector','stool','stool')
+/*C2*/CONNECT USER sa PASSWORD ""
diff --git a/ET.data b/ET.data
index e69de29..6ae8232 100644
Binary files a/ET.data and b/ET.data differ
diff --git a/ET.properties b/ET.properties
index 3f507dc..b231364 100644
--- a/ET.properties
+++ b/ET.properties
@@ -1,4 +1,4 @@
 #Hypersonic SQL database
-#Sat Jun 29 16:38:26 EDT 2002
+#Mon Oct 14 17:26:02 EDT 2002
 version=1.4
 modified=yes
diff --git a/ET.script b/ET.script
index 08e541c..8774d8b 100644
--- a/ET.script
+++ b/ET.script
@@ -1,24 +1,89 @@
+CREATE TABLE ROOM(URL VARCHAR,USERNAME VARCHAR,USERIP VARCHAR,SHAPE VARCHAR,UNIQUE(URL,USERNAME))
+CREATE INDEX URL ON ROOM(URL)
+CREATE TABLE MOVEMENT(ROOM VARCHAR,OBJ VARCHAR,X0 REAL,Y0 REAL,Z0 REAL,X1 REAL,Y1 REAL,Z1 REAL)
+CREATE INDEX OBJ ON MOVEMENT(OBJ)
 CREATE USER SA PASSWORD "" ADMIN
-/*C1*/CONNECT USER sa PASSWORD ""
-create table ROOM (url varchar(255), username varchar(255), userip varchar(255), shape varchar(255), PRIMARY KEY (url, username))
-create index url on ROOM(url)
-create table MOVEMENT (room varchar(255), obj varchar(255), x0 real, y0 real, z0 real, x1 real, y1 real, z1 real)
-create index obj on MOVEMENT(obj)
-INSERT INTO ROOM VALUES('http://www.yahoo.com/','suhit','128.59.23.9','user4')
-INSERT INTO ROOM VALUES('http://www.yahoo.com/','denis','128.59.23.6','user5')
+CREATE ALIAS DAYNAME FOR "org.hsql.Library.dayname"
+CREATE ALIAS SPACE FOR "org.hsql.Library.space"
+CREATE ALIAS SUBSTRING FOR "org.hsql.Library.substring"
+CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"
+CREATE ALIAS ABS FOR "java.lang.Math.abs"
+CREATE ALIAS POWER FOR "java.lang.Math.pow"
+CREATE ALIAS CHAR FOR "org.hsql.Library.character"
+CREATE ALIAS CONCAT FOR "org.hsql.Library.concat"
+CREATE ALIAS PI FOR "org.hsql.Library.pi"
+CREATE ALIAS SECOND FOR "org.hsql.Library.second"
+CREATE ALIAS TRUNCATE FOR "org.hsql.Library.truncate"
+CREATE ALIAS MONTH FOR "org.hsql.Library.month"
+CREATE ALIAS LOWER FOR "org.hsql.Library.lcase"
+CREATE ALIAS ATAN2 FOR "java.lang.Math.atan2"
+CREATE ALIAS REPEAT FOR "org.hsql.Library.repeat"
+CREATE ALIAS DAYOFMONTH FOR "org.hsql.Library.dayofmonth"
+CREATE ALIAS TAN FOR "java.lang.Math.tan"
+CREATE ALIAS RADIANS FOR "java.lang.Math.toRadians"
+CREATE ALIAS FLOOR FOR "java.lang.Math.floor"
+CREATE ALIAS NOW FOR "org.hsql.Library.now"
+CREATE ALIAS ACOS FOR "java.lang.Math.acos"
+CREATE ALIAS DAYOFWEEK FOR "org.hsql.Library.dayofweek"
+CREATE ALIAS CEILING FOR "java.lang.Math.ceil"
+CREATE ALIAS DAYOFYEAR FOR "org.hsql.Library.dayofyear"
+CREATE ALIAS LCASE FOR "org.hsql.Library.lcase"
+CREATE ALIAS WEEK FOR "org.hsql.Library.week"
+CREATE ALIAS SOUNDEX FOR "org.hsql.Library.soundex"
+CREATE ALIAS ASIN FOR "java.lang.Math.asin"
+CREATE ALIAS LOCATE FOR "org.hsql.Library.locate"
+CREATE ALIAS EXP FOR "java.lang.Math.exp"
+CREATE ALIAS MONTHNAME FOR "org.hsql.Library.monthname"
+CREATE ALIAS YEAR FOR "org.hsql.Library.year"
+CREATE ALIAS LEFT FOR "org.hsql.Library.left"
+CREATE ALIAS ROUNDMAGIC FOR "org.hsql.Library.roundMagic"
+CREATE ALIAS BITOR FOR "org.hsql.Library.bitor"
+CREATE ALIAS LTRIM FOR "org.hsql.Library.ltrim"
+CREATE ALIAS COT FOR "org.hsql.Library.cot"
+CREATE ALIAS COS FOR "java.lang.Math.cos"
+CREATE ALIAS MOD FOR "org.hsql.Library.mod"
+CREATE ALIAS SIGN FOR "org.hsql.Library.sign"
+CREATE ALIAS DEGREES FOR "java.lang.Math.toDegrees"
+CREATE ALIAS LOG FOR "java.lang.Math.log"
+CREATE ALIAS SIN FOR "java.lang.Math.sin"
+CREATE ALIAS CURTIME FOR "org.hsql.Library.curtime"
+CREATE ALIAS DIFFERENCE FOR "org.hsql.Library.difference"
+CREATE ALIAS INSERT FOR "org.hsql.Library.insert"
+CREATE ALIAS DATABASE FOR "org.hsql.Library.database"
+CREATE ALIAS MINUTE FOR "org.hsql.Library.minute"
+CREATE ALIAS HOUR FOR "org.hsql.Library.hour"
+CREATE ALIAS IDENTITY FOR "org.hsql.Library.identity"
+CREATE ALIAS QUARTER FOR "org.hsql.Library.quarter"
+CREATE ALIAS CURDATE FOR "org.hsql.Library.curdate"
+CREATE ALIAS BITAND FOR "org.hsql.Library.bitand"
+CREATE ALIAS USER FOR "org.hsql.Library.user"
+CREATE ALIAS UCASE FOR "org.hsql.Library.ucase"
+CREATE ALIAS RTRIM FOR "org.hsql.Library.rtrim"
+CREATE ALIAS LOG10 FOR "org.hsql.Library.log10"
+CREATE ALIAS RIGHT FOR "org.hsql.Library.right"
+CREATE ALIAS ATAN FOR "java.lang.Math.atan"
+CREATE ALIAS UPPER FOR "org.hsql.Library.ucase"
+CREATE ALIAS ASCII FOR "org.hsql.Library.ascii"
+CREATE ALIAS RAND FOR "java.lang.Math.random"
+CREATE ALIAS LENGTH FOR "org.hsql.Library.length"
+CREATE ALIAS ROUND FOR "org.hsql.Library.round"
+CREATE ALIAS REPLACE FOR "org.hsql.Library.replace"
 INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,2.6931968,0.0,12.807017)
 INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,2.6931968,0.0,12.807017)
 INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,2.5495234,0.0,12.802356)
 INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','suhit',0.0,0.0,0.0,0.0,0.0,0.0)
-DELETE FROM ROOM WHERE URL='http://www.yahoo.com/' AND USERNAME='suhit' AND USERIP='128.59.23.9' AND SHAPE='user4'
-DELETE FROM ROOM WHERE URL='http://www.yahoo.com/' AND USERNAME='denis' AND USERIP='128.59.23.6' AND SHAPE='user5'
-INSERT INTO ROOM VALUES('http://www.yahoo.com/','suhit','128.59.23.9','user4')
-INSERT INTO ROOM VALUES('http://www.yahoo.com/','denis','128.59.23.6','user5')
 INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','suhit',0.0,0.0,0.0,0.0,0.0,0.0)
 INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','suhit',0.0,0.0,0.0,0.0,0.0,0.0)
-INSERT INTO ROOM VALUES('http://www.suhit.com/','suhit','128.59.23.9','user4')
-INSERT INTO ROOM VALUES('http://www.suhit.com/','denis','128.59.23.6','user5')
-DELETE FROM ROOM WHERE URL='http://www.yahoo.com/' AND USERNAME='suhit' AND USERIP='128.59.23.9' AND SHAPE='user4'
-DELETE FROM ROOM WHERE URL='http://www.suhit.com/' AND USERNAME='suhit' AND USERIP='128.59.23.9' AND SHAPE='user4'
-DELETE FROM ROOM WHERE URL='http://www.yahoo.com/' AND USERNAME='denis' AND USERIP='128.59.23.6' AND SHAPE='user5'
-DELETE FROM ROOM WHERE URL='http://www.suhit.com/' AND USERNAME='denis' AND USERIP='128.59.23.6' AND SHAPE='user5'
+/*C2*/CONNECT USER sa PASSWORD ""
+INSERT INTO ROOM VALUES('http://www.yahoo.com/','suhit','128.59.14.169','user2')
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,1.2749825,0.0,12.650005)
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,1.2749825,0.0,12.650005)
+DELETE FROM ROOM WHERE URL='http://www.yahoo.com/' AND USERNAME='suhit' AND USERIP='128.59.14.169' AND SHAPE='user2'
+INSERT INTO ROOM VALUES('http://www.yahoo.com/','suhit','128.59.14.169','user2')
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,1.1202486,0.0,12.529007)
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,0.9972305,0.0,12.110673)
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,0.9992275,0.0,11.680889)
+DELETE FROM ROOM WHERE URL='http://www.yahoo.com/' AND USERNAME='suhit' AND USERIP='128.59.14.169' AND SHAPE='user2'
+INSERT INTO ROOM VALUES('http://www.yahoo.com/','suhit','128.59.14.169','user2')
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','http://www.altavista.com/',0.0,0.0,0.0,1.3237653,0.0,13.087157)
+INSERT INTO MOVEMENT VALUES('http://www.yahoo.com/','suhit',0.0,0.0,0.0,0.0,0.0,0.0)
diff --git a/client94/Ai2tvWindow.cpp b/client94/Ai2tvWindow.cpp
index 177cd4e..c04aaae 100644
--- a/client94/Ai2tvWindow.cpp
+++ b/client94/Ai2tvWindow.cpp
@@ -13,7 +13,6 @@
 #include "ivideo/fontserv.h"
 #include "ChimeWindow.h"

-
 Ai2tvWindow::~Ai2tvWindow() {}


@@ -25,103 +24,113 @@ Ai2tvWindow::Ai2tvWindow(csComponent *iParent)
   this->SetSize (500, 250);
   this->Center ();

-  int px = 15, py = 20;
-  int labelw = 150;
+  px = 15;
+  py = 20;
+  int labelw = 400;

-  currentBuffer = 0;
+  state = SET_SIZE_STATE;

+  //open file were data will be written
+  File.open("./data/ai2tv/session_temp.txt", ios::trunc);
+  if (!File.good()) {
+	OpenErrorScreen();
+	return;
+  }
+
   //////////create the dialog///////////////
-  csDialog *d = new csDialog(this);
+  d = new csDialog(this);
   this->SetDragStyle (this->GetDragStyle () & ~CS_DRAG_SIZEABLE);

-  //open the settings text file
-  File = new ifstream("./data/ai2tv/session.txt");
-
-  //////////////////////Numner of Hosts field//////////////////////////////
-  host_number = new csInputLine(d);
-  host_number->SetSize(40,30);
-  host_number->SetPos(px+labelw,py);
-
-  //set the text to the previous value
-  if (!File->eof()) {
-    File->getline(hostNumBuf, 5);
-    host_number->SetText(hostNumBuf);
-	numberOfHosts = atoi(hostNumBuf);
-  }
-  else {
-    host_number->SetText("1");
-	numberOfHosts = 1;
-  }
-
-  csStatic *host_num_lbl = new csStatic(d, host_number, "Number of hosts:");
-  host_num_lbl->SetRect(px, py, px+labelw,py+host_number->bound.Height());
+  lblTop = new csStatic(d, csscsLabel);
+  lblTop->SetText("Size of your group (including yourself):");
+  lblTop->SetRect(px, py, px+labelw, py+30);
+
+  txtGroupSize = new csInputLine(d);
+  txtGroupSize->SetSize(300, 30);
+  txtGroupSize->SetPos(2*px, 3*py);

-  csButton *host_num_btn = new csButton(d, 66803);
-  host_num_btn->SetText("Update");
-  host_num_btn->SetSuggestedSize(16, 8);
-  host_num_btn->SetPos(px+labelw+host_number->bound.Width()+px, py);
-
-  py += py+host_number->bound.Height();
-
-  /////////////////////Enter host IPs//////////////////////////////////
-  host_ip = new csInputLine(d);
-  host_ip->SetSize(200,30);
-  host_ip->SetPos(px+labelw,py);
-
-  //set the text to the previous value
-  ReadNext();
-
-  csStatic *chat_lbl = new csStatic(d, host_ip, "Host IP:");
-  chat_lbl->SetRect(px, py, px+labelw,py+host_ip->bound.Height());
-  host_ip_btn = new csButton(d, 66802);
-  host_ip_btn->SetText("Next");
-  host_ip_btn->SetSuggestedSize(16, 8);
-  host_ip_btn->SetPos(px+labelw+host_ip->bound.Width()+px, py);
-  py += py+host_ip->bound.Height();
-
-  //accept button
-  csButton *butOK = new csButton(d, 66800);
-  butOK->SetText("OK");
-  butOK->SetSuggestedSize(16,8);
-  butOK->SetPos(70, py);
+  //setup the accept and cancel buttons
+  btnOK = new csButton(d, 66800);
+  btnOK->SetText("Set group size");
+  btnOK->SetSuggestedSize(16,8);
+  btnOK->SetPos(70, 175);

   //cancel button
-  csButton *butCAN = new csButton(d, 66801);
-  butCAN->SetText("Cancel");
-  butCAN->SetSuggestedSize(16,8);
-  butCAN->SetPos(300, py);
-
+  btnCAN = new csButton(d, 66801);
+  btnCAN->SetText("Cancel");
+  btnCAN->SetSuggestedSize(16,8);
+  btnCAN->SetPos(300, 175);
 }

-  //Read next ip from file or set to empty string
-  void Ai2tvWindow::ReadNext()
-  {
-	  if (!File->eof()) {
-		  File->getline(buffer[currentBuffer], 50);
-		  host_ip->SetText(buffer[currentBuffer]);
-	  }
+  void Ai2tvWindow::OpenErrorScreen() {
+	  d = new csDialog(this);
+	  lblTop = new csStatic(d, csscsLabel);
+	  lblTop->SetText("ERROR: Could not open settings file!");
+	  lblTop->SetRect(px, py, px+400, py+30);
+	  btnOK = new csButton(d, 66801);
+	  btnOK->SetText("OK");
+	  btnOK->SetSuggestedSize(16, 8);
+	  btnOK->SetPos(70, 175);
+  }
+
+  void Ai2tvWindow::SetupInput() {
+	  this->SetSize(500, 400);
+	  btnOK->SetPos(70, 325);
+	  if (groupSize <= PAGE_SIZE)
+		  btnOK->SetText("Done");
 	  else
-		  host_ip->SetText("");
-	  if (currentBuffer == numberOfHosts-1) {
-		  host_ip_btn->SetState(!CSBS_SELECTABLE, false);
-		  host_ip_btn->SetText("Done");
-		  host_ip_btn->Hide();
+		  btnOK->SetText("Next");
+	  btnCAN->SetPos(300, 325);
+	  d->Delete(txtGroupSize);
+      lblTop->SetText("Enter each group member's IP (including yourself) :");
+	  char lblBuf[40];
+	  char numBuf[10];
+	  for (int i = 0; i<PAGE_SIZE; i++) {
+		  txtGroupIP[i] = new csInputLine(d);
+		  txtGroupIP[i]->SetSize(300, 30);
+		  txtGroupIP[i]->SetPos(8*px, 80+py*i*2);
+		  lblIP[i] = new csStatic(d, csscsLabel);
+		  lblIP[i]->SetRect(px, 80+py*i*2, 5*px, 110+py*i*2);
+		  itoa(i+1, numBuf, 10);
+		  strcpy(lblBuf, "IP ");
+		  strcat(lblBuf, numBuf);
+		  strcat(lblBuf, ":");
+		  lblIP[i]->SetText(lblBuf);
+		  if (i+1 > groupSize) {
+			  lblIP[i]->Hide();
+			  txtGroupIP[i]->Hide();
+		  }
 	  }
   }

-  //Write contents to settings file
-  void Ai2tvWindow::Write()
-  {
-	  File->close();
-	  ofstream FileWrite("./data/ai2tv/session.txt", ios::trunc);
-	  FileWrite<<hostNumBuf;
-	  for (int i = 0; i<numberOfHosts; i++) {
-		  FileWrite<<"\n";
-		  FileWrite<<buffer[i];
+  void Ai2tvWindow::ReadInput() {
+	  char buffer[100], lblBuf[40], numBuf[10];
+	  int firstLine = (pageNumber-1)*PAGE_SIZE + 1;
+	  for (int i = 0; i<PAGE_SIZE; i++) {
+		  if (firstLine+i <= groupSize) {
+			itoa(250+i+firstLine, buffer, 10);
+			File<<buffer;
+			File<<" ";
+			strcpy(buffer, txtGroupIP[i]->GetText());
+			File<<buffer;
+			File<<"\n";
+            txtGroupIP[i]->SetText("");
+			itoa(firstLine+i+PAGE_SIZE, numBuf, 10);
+			strcpy(lblBuf, "IP ");
+			strcat(lblBuf, numBuf);
+			strcat(lblBuf, ":");
+			lblIP[i]->SetText(lblBuf);
+			if (firstLine+i+PAGE_SIZE > groupSize) {
+				txtGroupIP[i]->Hide();
+				lblIP[i]->Hide();
+			}
+			if (firstLine + 2*PAGE_SIZE >= groupSize)
+				btnOK->SetText("Done");
+		  }
 	  }
-	  FileWrite<<"\nvesey.psl.cs.columbia.edu\nframe_index.txt";
-	  FileWrite.close();
-  }
+	  pageNumber++;
+  }
+

 bool Ai2tvWindow::HandleEvent (iEvent &Event)
 {
@@ -134,32 +143,56 @@ bool Ai2tvWindow::HandleEvent (iEvent &Event)
     case csevCommand:
       switch (Event.Command.Code)
       {
-		//Number of hosts was updated
-	    case 66803:
-		  host_number->GetText(hostNumBuf, 5);
-		  numberOfHosts = atoi(hostNumBuf);
-		  if (currentBuffer < numberOfHosts-1) {
-			host_ip_btn->SetState(CSBS_SELECTABLE, true);
-			host_ip_btn->SetText("Next");
-			host_ip_btn->Show();
-		  }
-		  return true;
-		  //Next host IP button was pressed
-		case 66802:
-			host_ip->GetText(buffer[currentBuffer], 50);
-			currentBuffer++;
-			ReadNext();
-			return true;
-		//OK button was pressed
+	    //OK button was pressed
         case 66800:
-		  host_ip->GetText(buffer[currentBuffer], 50);
-		  Write();
-		  Close();
-		  return true;
+			if (state == SET_SIZE_STATE) {
+				char groupSizeBuf[5];
+				txtGroupSize->GetText(groupSizeBuf, 5);
+				groupSize = atoi(groupSizeBuf);
+				File<<groupSizeBuf;
+				File<<"\n";
+				pageNumber = 1;
+				SetupInput();
+				state = ENTER_IP_STATE;
+				return true;
+			}
+			if (state == ENTER_IP_STATE && pageNumber*PAGE_SIZE < groupSize) {
+				ReadInput();
+				return true;
+			}
+			if (state == ENTER_IP_STATE && pageNumber*PAGE_SIZE >= groupSize) {
+				ReadInput();
+				lblTop->SetText("Enter server address and name of file:");
+				int i = 0;
+				for (i = 0; i<PAGE_SIZE; i++) {
+					txtGroupIP[i]->Show();
+					lblIP[i]->Show();
+				}
+				txtGroupIP[0]->SetText("");
+				lblIP[0]->SetText("Server:");
+				txtGroupIP[1]->SetText("");
+				lblIP[1]->SetText("File:");
+				for (i = 2; i<PAGE_SIZE; i++) {
+					txtGroupIP[i]->Hide();
+					lblIP[i]->Hide();
+				}
+				btnOK->SetText("Save");
+				state = SET_SERVER_STATE;
+				return true;
+			}
+			if (state == SET_SERVER_STATE) {
+				File<<txtGroupIP[0]->GetText();
+				File<<"\n";
+				File<<txtGroupIP[1]->GetText();
+				File.close();
+				CopyFile("./data/ai2tv/session_temp.txt", "./data/ai2tv/session.txt", false);
+				Close();
+				return true;
+			}
+			return true;

 		 //Cancel Button has been pressed
 		case 66801:
-		  File->close();
 		  Close();
 		  return true;
 	  }
diff --git a/client94/ChimeWindow.h b/client94/ChimeWindow.h
index 02159c5..9043342 100644
--- a/client94/ChimeWindow.h
+++ b/client94/ChimeWindow.h
@@ -9,14 +9,13 @@
 #define CHIMEWINDOW_H

 #include <stdarg.h>
-#include <fstream.h>
 #include "cssys/sysdriv.h"
 #include "csgeom/math2d.h"
 #include "csgeom/math3d.h"
 #include "csws/csws.h"
 #include "WindowToolkit.h"

-
+#include <fstream.h>

 // Scroll bar class default palette
 static int palette [] =
@@ -142,25 +141,31 @@ public:
   //virtual bool Initialize (const char *iConfigName);
 };

-//AI2TV setting dialog
+//AI2TV settings dialog
+#define PAGE_SIZE 5
+#define SET_SIZE_STATE 0
+#define ENTER_IP_STATE 1
+#define SET_SERVER_STATE 2
 class Ai2tvWindow : public ChimeWindow
 {
-	//graphics components to hold data
-	csInputLine *host_number, *host_ip;
-	csButton *host_ip_btn;
-	//temporary variables
-	int numberOfHosts, currentBuffer;
-	char buffer[20][50], hostNumBuf[5];
-	//input file
-	ifstream *File;
-	//read next line from file
-	void ReadNext();
-	//write all contents to file
-	void Write();
+	//visual components
+	csDialog *d;
+	csInputLine *txtGroupSize, *txtGroupIP[PAGE_SIZE];
+	csButton *btnNext, *btnOK, *btnCAN;
+	csStatic *lblTop, *lblIP[PAGE_SIZE];
+
+	//temprorary variables
+	int groupSize, state, pageNumber, px, py;
+	ofstream File;
+
 public:
+
 	Ai2tvWindow(csComponent *iParent);
 	virtual ~Ai2tvWindow();
 	virtual bool HandleEvent (iEvent &Event);
+	void SetupInput();
+	void ReadInput();
+	void OpenErrorScreen();
 };


diff --git a/client94/chimeClient.ncb b/client94/chimeClient.ncb
index 62d2df3..b4357ad 100644
Binary files a/client94/chimeClient.ncb and b/client94/chimeClient.ncb differ
diff --git a/client94/data/ai2tv/session.txt b/client94/data/ai2tv/session.txt
index 1ef28f6..240861c 100644
--- a/client94/data/ai2tv/session.txt
+++ b/client94/data/ai2tv/session.txt
@@ -1,6 +1,4 @@
-3
-canal.psl.cs.columbia.edu
-bank.psl.cs.columbia.edu
-localhot
-park.psl.cs.columbia.edu
+1
+250 localhost
+http://www.cs.columbia.edu/~suhit/ai2tv/1/
 frame_index.txt
\ No newline at end of file
diff --git a/client94/data/config/chime.cfg b/client94/data/config/chime.cfg
index a3c1f52..24674e2 100644
--- a/client94/data/config/chime.cfg
+++ b/client94/data/config/chime.cfg
@@ -46,8 +46,8 @@ System.Plugins.iVFS = crystalspace.kernel.vfs

 ; Video driver
 ;System.Plugins.iGraphics3D = crystalspace.graphics3d.software.offscreen
-System.Plugins.iGraphics3D = crystalspace.graphics3d.software
-;System.Plugins.iGraphics3D = crystalspace.graphics3d.opengl
+;System.Plugins.iGraphics3D = crystalspace.graphics3d.software
+System.Plugins.iGraphics3D = crystalspace.graphics3d.opengl
 ;System.Plugins.iGraphics3D = crystalspace.graphics3d.direct3d.dx8
 ;System.Plugins.iGraphics3D = crystalspace.graphics3d.line

@@ -165,9 +165,9 @@ Walktest.Settings.CollDetPlugin = crystalspace.collisiondetection.rapid
 ; Width/height of CrystalSpace visual
 Video.ScreenWidth = 1024
 ; Screen height for a laptop
-Video.ScreenHeight = 768
+; Video.ScreenHeight = 768
 ; Screen height for a desktop
-; Video.ScreenHeight = 968
+ Video.ScreenHeight = 968
 ; Screen depth (currently supports 8, 15, 16, and 32 bits, NO 24 bits!)
 ; Screen depth for a laptop
 ; Video.ScreenDepth = 16
diff --git a/client94/debug.txt b/client94/debug.txt
index 3f3bae6..1ebe72d 100644
--- a/client94/debug.txt
+++ b/client94/debug.txt
@@ -44842,3 +44842,161 @@ Unable to Connect Socket to Server
 crystalspace.system: Siena Publisher
 Can't Setup Socket

+crystalspace.canvas.ddraw: Using DirectDraw Primary Display Driver (display)
+crystalspace.video.software: Using windowed mode 1024x768 (internal rendering at 1024x768).
+crystalspace.video.software: Using truecolor mode with 4 bytes per pixel and 8:8:8 RGB mode.
+crystalspace.video.software: Preparing textures (no dithering)...
+crystalspace.video.software:   Creating texture mipmaps...
+crystalspace.system: Loading AWS...
+crystalspace.awsprefs: Could not open image file '/aws/chkup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/raddn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treeexp.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treevl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treehl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechke.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechkf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpe.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbrt.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sblt.png' on VFS!
+crystalspace.video.software: Preparing textures (no dithering)...
+crystalspace.video.software:   Creating texture mipmaps...
+crystalspace.engine.notify: Engine is using back2front mode.
+crystalspace.canvas.openglwin: Using 32 bits per pixel (16777216 color mode).
+crystalspace.canvas.openglcommon: OpenGL renderer: GeForce2 MX/AGP/3DNOW! (vendor: NVIDIA Corporation) version 1.3.1
+crystalspace.canvas.openglcommon: Using windowed mode at resolution 1024x968.
+crystalspace.graphics3d.opengl:   Super lightmaps: num=10 size=256x256
+crystalspace.graphics3d.opengl:   Optional Clipping: 0Pp
+crystalspace.graphics3d.opengl:   Required Clipping: 0Pp
+crystalspace.graphics3d.opengl:   Outer Clipping: PZp
+crystalspace.system: Loading AWS...
+crystalspace.awsprefs: Could not open image file '/aws/chkup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/raddn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treeexp.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treevl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treehl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechke.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechkf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpe.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbrt.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sblt.png' on VFS!
+crystalspace.engine.notify: Engine is using back2front mode.
+crystalspace.canvas.openglwin: Using 32 bits per pixel (16777216 color mode).
+crystalspace.canvas.openglcommon: OpenGL renderer: GeForce2 MX/AGP/3DNOW! (vendor: NVIDIA Corporation) version 1.3.1
+crystalspace.canvas.openglcommon: Using windowed mode at resolution 1024x968.
+crystalspace.graphics3d.opengl:   Super lightmaps: num=10 size=256x256
+crystalspace.graphics3d.opengl:   Optional Clipping: 0Pp
+crystalspace.graphics3d.opengl:   Required Clipping: 0Pp
+crystalspace.graphics3d.opengl:   Outer Clipping: PZp
+crystalspace.system: Loading AWS...
+crystalspace.awsprefs: Could not open image file '/aws/chkup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/raddn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treeexp.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treevl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treehl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechke.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechkf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpe.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbrt.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sblt.png' on VFS!
+crystalspace.engine.notify: Engine is using back2front mode.
+crystalspace.canvas.openglwin: Using 32 bits per pixel (16777216 color mode).
+crystalspace.canvas.openglcommon: OpenGL renderer: GeForce2 MX/AGP/3DNOW! (vendor: NVIDIA Corporation) version 1.3.1
+crystalspace.canvas.openglcommon: Using windowed mode at resolution 1024x968.
+crystalspace.graphics3d.opengl:   Super lightmaps: num=10 size=256x256
+crystalspace.graphics3d.opengl:   Optional Clipping: 0Pp
+crystalspace.graphics3d.opengl:   Required Clipping: 0Pp
+crystalspace.graphics3d.opengl:   Outer Clipping: PZp
+crystalspace.system: Loading AWS...
+crystalspace.awsprefs: Could not open image file '/aws/chkup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/chkoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/raddn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radon.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/radoff.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treeexp.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treecol.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treevl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treehl.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechke.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treechkf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpe.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/treegrpf.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbup.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbdn.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sbrt.png' on VFS!
+crystalspace.awsprefs: Could not open image file '/aws/sblt.png' on VFS!
+crystalspace.engine.notify: Engine is using back2front mode.
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_112
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_243
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_416
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_417
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_428
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_895
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_1108
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_1448
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_1631
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_1890
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_2945
+crystalspace.system: skipped a frame
+crystalspace.system: Frame buffer Size: 9, head=0.tail=10
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_3135
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_3784
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_3898
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_3994
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_4168
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_4372
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_4578
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_5056
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_5185
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_5404
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_5407
+crystalspace.system: displayed frame...
+crystalspace.system: skipped a frame
+crystalspace.system: Frame buffer Size: 19, head=1.tail=21
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_6142
+crystalspace.system: skipped a frame
+crystalspace.system: Frame buffer Size: 19, head=2.tail=22
+crystalspace.system: skipped a frame
+crystalspace.system: Frame buffer Size: 18, head=3.tail=22
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_6229
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_6288
+crystalspace.system: displayed frame...
+crystalspace.system: skipped a frame
+crystalspace.system: Frame buffer Size: 19, head=4.tail=24
+crystalspace.system: TRIED TO CREATE FRAME ON  with name fr_6438