//=============================================
//
// RsSLS JavaScript
// 2003/12/30~
// 2005/01/18~
// 2005/10/20~
// 2006/09/06~2007/02/11
//
//=============================================
/*
alert( '' );
( dd = { A: 0 } ).MODE = "8^-^8";
alert( dd[ "MODE" ] );
*/
//==============================
// global
//==============================
var VIEW_GENRE = "";
//----------------- for viewing topics
var LAST_LIST = {};
var FORM_APPLET = 0;
var VIEW_APPLET = 0;
var MEMO_GEM_LINE = "";
var Sspan = 21;
var SEND_URL = "./RsSLSaccess.php";
//===================================================================================
//===================================================================================
//===================================================================================
// extra for [ RsSLS ]
//===================================================================================
//===================================================================================
//===================================================================================
//===============================
// extra send topic
//===============================
function doResponseExtra(){
MEMO_GEM_LINE = "";
return;
}
//===============================
// extra send topic
//===============================
function sendTopicExtra( sendObj ){
var getGL = ( document.applets[ FORM_APPLET ].getGemLine() + "" ).replace( /!---$/, "" );
if( getGL == MEMO_GEM_LINE.replace( /!---$/, "" ) && sendObj.SERIAL == '0' ){ // serial=0 : reply mode
getGL = '';
}
sendObj.GEM_LINE = makeGemLine( getGL );
return sendObj;
}
//--------------------------- trans GemLine
function makeGemLine( GL ){
return GL;
}
//========================================
// form set extra [ GEM_LINE ]
//========================================
function formSetExtra( ThreadNumber, SerialNumber, isEditMode ){
var Glist = THREAD_LIST[ ThreadNumber ].SERIAL[ SerialNumber ];
with( document.getElementById( 'FORM_TOPIC' ) ){
MEMO_GEM_LINE = isEditMode ? '' : Glist.GEM_LINE;
document.applets[ FORM_APPLET ].setGemLineString( Glist.GEM_LINE );
}
}
//=============================================
// draw input form
//=============================================
function drawForm (){
var tagString = "";
tagString += " "+
"
投稿欄
";
tagString += "";
//================================
// game formula
//================================
tagString += "";
document.write( tagString );
FORM_APPLET = document.applets.length - 1;
}
//===================================
// call formula
//===================================
function callFormula(){
document.getElementById( "FLOAT_FORMULA" ).style.display = "block";
with( isNN ? CATCH_AXIS : event ){
callFloatBox( "FLOAT_FORMULA",
document.body.scrollLeft + x -140,
document.body.scrollTop + y -200
);
}
}
//=======================================
// set formula
//=======================================
function setFormula( Fobj ){
var outputString = "";
with( Fobj ){
outputString += DATE_YY.value + "/" + DATE_MM.value + "/" + DATE_DD.value + " " + PLACE.value + "\n";
outputString += TURN.value + "\n" + RESULT.value;
}
if( confirm( "この情報をセットしますか?\n-------------\n" + outputString ) ){
var FMobj = document.getElementById( "FORM_TOPIC" );
if( FMobj ){
FMobj.MESSAGE.value = outputString + ( FMobj.MESSAGE.value ? "\n\n" : "" ) + FMobj.MESSAGE.value;
}
}
}
//=======================================
// draw topics
//=======================================
function drawTopics(){
var Tnum;
var tagString = "";
//----------------------------
// prompt message box
//----------------------------
tagString += makeTagPromptBox();
//----------------------------
// title bar
//----------------------------
tagString += " ";
tagString += "投稿文
";
//----------------------------
// topic menu box
//----------------------------
tagString += makeTagTopicMenu();
tagString += " ";
tagString += "";
//----------------------------
// topic box
//----------------------------
//---------------------------- move button
tagString += "";
tagString += "";
tagString += "Prev ";
tagString += "Next ";
tagString += " ";
tagString += " ";
//---------------------------- title box
tagString += "";
tagString += "";
tagString += "TITLE_BOX
";
tagString += " ";
tagString += " ";
tagString += "";
//----------------------------
// message main
//----------------------------
tagString += "";
tagString += "MESSAGE_MAIN
";
tagString += " ";
//----------------------------
// board box
//----------------------------
tagString += "";
tagString += "";
tagString += makeTagRDFA( 'D', -Sspan, "", [], false );
tagString += "
8^-^8
";
tagString += " ";
tagString += " ";
//----------------------------
// message box
//----------------------------
tagString += "";
tagString += "MESSAGE_NEST_BOX
";
tagString += " ";
tagString += "
";
//----------------------------
// menu box
//----------------------------
tagString += "";
document.write( tagString );
//----------------------------
// get applet number
//----------------------------
VIEW_APPLET = document.applets.length - 1;
}
//=============================================
// call new thread
//=============================================
function viewThread( headNumber ){
var threadNumber = THREAD_NUMBER[ headNumber ];
var Tnum;
//-------------------- no data
if( !threadNumber ){
for( Tnum in THREAD_LIST ){
if( hasThread[ Tnum ] ){
threadNumber = parseInt( Tnum );
break;
}
}
if( !threadNumber ){
with( document ){
getElementById( 'TITLE_BOX' ).innerHTML = "投稿がありません
";
getElementById( "MESSAGE_MAIN" ).innerHTML = "";
getElementById( "MESSAGE_NEST_BOX" ).innerHTML = "";
homeBoard();
applets[ VIEW_APPLET ].setGemLineString( "" );
}
return;
}
}
var thisThread = THREAD_LIST[ threadNumber ];
if( !thisThread ){
return;
}
//--------------------------------------------- set nest
with( thisThread ){
for( Tnum in SERIAL ){
SERIAL[ Tnum ].CHILDREN = [];
var getParent = SERIAL[ Tnum ].PARENT;
if( Tnum != '0' && SERIAL[ getParent ] ){
SERIAL[ getParent ].CHILDREN = SERIAL[ getParent ].CHILDREN.concat( [ parseInt( Tnum ) ] );
}
}
}
//--------------------------------------------- readers + reply nest
var childrenTag = "";
with( thisThread.SERIAL[ 1 ] ){
for( var SEnum in CHILDREN ){
childrenTag += makeThreadNestTag( threadNumber, CHILDREN[ SEnum ] ) ;
}
}
document.getElementById( "MESSAGE_NEST_BOX" ).innerHTML =
(
makeTagReader( threadNumber ) +
( childrenTag != ""
? "" + childrenTag + "
"
: ""
)
).replace( /LLIO/g, USHER_ID );
//------------------ main message
var children = thisThread.SERIAL[ 1 ].CHILDREN;
thisThread.SERIAL[ 1 ].CHILDREN = [];
document.getElementById( "MESSAGE_MAIN" ).innerHTML = makeThreadNestTag( threadNumber, 1 ).replace( /LLIO/g, USHER_ID );
thisThread.SERIAL[ 1 ].CHILDREN = children;
document.getElementById( 'TITLE_BOX' ).innerHTML = HEADer_TAG.replace( /LLIO/g, USHER_ID );
//----------------------------- set width
with( document ){
getElementById( 'MESSAGE_HOME' ).style.width =
Math.max( 30,
getElementById( 'TABLE_BOX' ).offsetWidth - parseInt( getElementById( 'BOARD_HOME' ).style.width )
) + "px";
}
//----------------------------- board to home position
callBoard( threadNumber, 1 );
//------------------ adjust selecter
document.getElementById( 'THREAD_SELECT' ).value = thisThread.HEAD;
}
//=============================================
// set home position from
//=============================================
function homeBoard(){
//--------------- get position ( left-top )
var Bobj = document.getElementById( "BOARD_HOME" );
FLOAT_HOME.BOARD_BOX = {
X : Bobj.parentNode.parentNode.parentNode.offsetLeft + Bobj.offsetLeft,
Y : Bobj.parentNode.parentNode.parentNode.offsetTop + Bobj.offsetTop
};
//--------------- standard function for FloatBox
homeFloatBox( "BOARD_BOX" );
}
//===================================
// call board from button
//===================================
function callBoard( THnum, Snum ){
//--------------- get position ( left-top )
if( Snum == 1 ){
homeBoard();
}else{
var Xpos = 0;
var Ypos = 0;
for( var Fobj = document.getElementById( "OPEN" + Snum ); Fobj ; Fobj = Fobj.offsetParent ){
Xpos += Fobj.offsetLeft;
Ypos += Fobj.offsetTop;
}
callFloatBox( "BOARD_BOX",
document.body.clientWidth - Sspan*18 - 20,
Ypos - Sspan*18.5
);
}
try{
var memo = 0;
document.applets[ VIEW_APPLET ].setGemLineString(
( THnum && Snum &&
THREAD_LIST[ THnum ] &&
THREAD_LIST[ THnum ].SERIAL[ Snum ] &&
THREAD_LIST[ THnum ].SERIAL[ Snum ].GEM_LINE
)
? THREAD_LIST[ THnum ].SERIAL[ Snum ].GEM_LINE
: ""
);
memo ++;
document.getElementById( "BOARD_TITLE" ).innerHTML = "珠譜 " + Snum;
}catch( err ){
status = "RDFA set : " + THREAD_LIST[ THnum ].SERIAL[ Snum ].GEM_LINE + "/" + err;
}
}