//============================================= // // 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 += "
" + "" + // thread number "" + // serial number in thread "" + // parent number in thread "" + ""; //---------------------- draw score tagString += "" + ""; //----------------------- draw form part tagString += ""; //-------------------- message tagString += ""; tagString += ""; tagString += ""; //------------------------------ board tagString += ""; tagString += ""; //-------------------- submit button var clearMessage = "珠クリア"; tagString += ""; tagString += ""; tagString += ""; tagString += "
"; tagString += ""; tagString += ""; tagString += "" + ""; tagString += "" + "" + ""; tagString += ""; //---------------------- mail tagString += "" + "" + ""; //---------------------- link tagString += "" + "" + "" + ""; tagString += "" + "" + "" + ""; tagString += "
名前編集鍵" + "" + "" + "" + "
メール" + "
リンク
お題
"; tagString += "
"; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; //-------------------- color selecter tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; //-------------------- Quote Reply var Qtext = "返信引用"; tagString += ""; tagString += ""; //-------------------- face ball tagString += ""; tagString += ""; tagString += ""; //-------------------- submit button tagString += ""; tagString += "" + ""; tagString += "
投稿文" + "
" + "" + "字色
"; tagString += ""; var splitList = ( "color:" + LAST_LIST.STYLE ).split( ";" ); var styleList = {}; for( var Snum in splitList ){ var pair = splitList[ Snum ].split( ":" ); if( pair.length == 2 ){ styleList[ pair[ 0 ] ] = pair[ 1 ]; } } for( var Cnum in COLOR_LIST ){ var getC = COLOR_LIST[Cnum]; tagString += ""; } tagString += "
" + "
" + "" + "
" + "
"; tagString += "
" + ""; //-------------------- game formula tagString += "" + "
"; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += "
顔珠"; tagString += "FaceBall" + "
"; tagString += ""; tagString += "
"; tagString += "
" + "" + "" + "
"; tagString += "
"; tagString += makeTagRDFA( 'E', -Sspan, "", [], false ); 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 += ""; //---------------------------- title box tagString += ""; tagString += ""; tagString += ""; tagString += ""; //---------------------------- // message main //---------------------------- tagString += ""; //---------------------------- // board box //---------------------------- tagString += ""; tagString += ""; //---------------------------- // message box //---------------------------- tagString += ""; tagString += ""; tagString += ""; tagString += "
"; tagString += ""; tagString += ""; tagString += "
"; tagString += "
TITLE_BOX
"; tagString += "
"; tagString += "
MESSAGE_MAIN
"; tagString += "
"; tagString += "
"; tagString += makeTagRDFA( 'D', -Sspan, "", [], false ); tagString += "
8^-^8
"; tagString += "
MESSAGE_NEST_BOX
"; //---------------------------- // 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; } }