//========================================= // Ranking JS // 2007/05/07~ // 2007/11/08~ //========================================= /*  */ //================================ // change search //================================ function changeSearch ( key2val ) { var getSearch = location.search; getSearch = getSearch.replace( /^(\?|&)/, "" ) + "&"; with( key2val ){ for( var KEYnum in key2val ){ getSearch = getSearch.replace( new RegExp( KEYnum + "=[^&]*&", "g" ), "" ) + KEYnum + "=" + key2val[ KEYnum ] + "&"; } } location.href = location.href.replace( /(\?|#).*$/, "" ) + "?" + getSearch.replace( /&$/, "" ) + "#DirectJump"; // location.href = location.href.replace( /\?.*$/, "" ) + "?" + getSearch.replace( /&$/, "" ) + "#DirectJump"; // location.search = "?" + getSearch.replace( /&$/, "" ) + "#DirectJump"; } //===================================== // make micro-sec string //===================================== function makeMsecString( msec ){ if( msec ){ return( Math.floor( msec / 1000 ) + "." + "" + ( "" + ( msec % 1000 + 1000 ) ).substr( 1, 3 ) + "" ); }else{ return "-"; } } //===================================== // make date string //===================================== function makeDateString( YYMMDD ){ var DD = YYMMDD % 100; return( Math.floor( YYMMDD / 10000 ) + "年" + Math.floor( YYMMDD % 10000 / 100 ) + "月" + ( DD ? DD + "日" : "" ) ); } //===================================== // make tag rank table /* var USE_NICK = false; var HEAD = 0; var PERIOD = 20080221; var VIEW_DD = true; var VIEW_MM = true; var VIEW_YY = true; var SORT = 'SUM_GROSS'; var SORT_DIRECTION = true; var VIEW_GENRE = 'SUM'; var VIEW_ITEM = 'GROSS'; var WEIGHT_DIVIDE = 28; var ROW_MAX = 28; */ //===================================== function makeTagRankTable( RANKobj, DATE_KEY ){ var RANK_LIST = RANKobj.RANK; var tagString = ""; var headString = ""; headString += ""; headString += "No."; headString += "名前"; headString += "" + { SET : "最速セット", SUM : "最速累計", TOT : "通算" }[ VIEW_GENRE ] + ""; headString += ""; headString += ""; headString += "ID / NICK"; headString += "得点"; headString += "問数"; headString += "秒/問"; headString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; tagString += ""; //--------------------------------------- // contents //--------------------------------------- tagString += headString; var pos = 0; for( var HDnum in RANK_LIST ){ // if( pos++ % 10 == 0 ){ // } tagString += ""; with( RANK_LIST[ HDnum ] ){ tagString += ""; var targetSet = RANK_LIST[ HDnum ][ DATE_KEY ]; tagString += ""; // var divideSet = DATE_KEY == 'DD' && VIEW_GENRE == 'SUM' // ? WEIGHT_DIVIDE // : ( VIEW_GENRE == 'SET' ? 1 : targetSet[ VIEW_GENRE ].SET ) // ; with( targetSet ){ //------------------------ SET if( VIEW_GENRE == 'SET' ){ tagString += ""; tagString += ""; //------------------------ TOT }else if( VIEW_GENRE == 'TOT' ){ tagString += ""; tagString += ""; //------------------------ SUM }else{ // SUM tagString += ""; // tagString += ""; // tagString += ""; tagString += ""; } tagString += ""; } } tagString += ""; } tagString += "
" + ( parseInt( HDnum ) + 1 ) + "" + ( USE_NICK ? NICK : ID ) + "" + SET.POINT + "" + SET.COUNT + "" + TOT.POINT + "" + TOT.COUNT + "" + SUM.POINT + "" + makeMsecString( SUM.POINT * 1000 / ( DATE_KEY == 'DD' ? WEIGHT_DIVIDE : SUM.SET ) ) + "" + makeMsecString( SUM.COUNT * 1000 / ( DATE_KEY == 'DD' ? SUM.DIVIDE : SUM.SET ) ) + "" + makeMsecString( SUM.COUNT * 1000 / SUM.SET ) + "" + makeMsecString( SUM.COUNT ? SUM.TIME / SUM.COUNT : 0 ) + "
"; return tagString; }