//************************************************ // BasicJavaScript //************************************************ // ProgramName : basic // Author : Oishi // CreateDate : 2007/05/14(MON) // 無断で複製、配布を禁ずる //************************************************ /*--------------------------------- ● IdBlock/None ---------------------------------*/ function Menu(id){ var menu = document.getElementById(id).style; if(menu.display == "block"){ menu.display="none"; }else{ menu.display="block"; } } function hideModeOff(id){ menu = document.getElementById(id).style; menu.display="block"; } function hideModeOn(id){ menu = document.getElementById(id).style; menu.display="none"; } /*--------------------------------- ● check ---------------------------------*/ function checkWidget(){ var error = ''; if(document.widget.DefaultSwf.value==""){ error += "デフォルトで表示するティッカーを選択してください。\n"; } //エラー表示設定 if(error != ''){ alert(error); return false; }else{ return true; } } /*--------------------------------- ● PopUpOver/Menu/Close ---------------------------------*/ var MENU = null; var TIMER; function PopMenuOver(id){ if (MENU && MENU != id){ PopMenuClose(id); } PopMenuOpen(id); } function PopMenuOpen(id){ if(document.getElementById){ document.getElementById(id).style.visibility = 'visible'; }else if(document.all){ document.all(id).style.visibility = 'visible'; }else if(document.layers){ document.layers[ id ].visibility = 'show'; } clearTimeout(TIMER); MENU = id; } function PopMenuClose(){ if(document.getElementById){ document.getElementById(MENU).style.visibility = 'hidden'; }else if(document.all){ document.all(MENU).style.visibility = 'hidden'; }else if(document.layers){ document.layers[ MENU ].visibility = 'hide'; } MENU = null; } /*----------------------------------------------------------- ● pointSet(オブジェクト名[this], 動作名[click/over/out]) テーブルのセルに乗ったとき、離れたとき、クリックしたとき -----------------------------------------------------------*/ function pointSet(obj, action){ if(action=='click'){ if(obj.className=='' || obj.className=='mclick2' || obj.className=='mover'){ obj.className='mclick1'; }else{ obj.className='mclick2'; } }else if(action=='over'){ if(obj.className=='mclick1'){ obj.className='mclick1'; }else{ obj.className='mover'; } }else if(action=='out'){ if(obj.className=='mclick1'){ obj.className='mclick1'; }else{ obj.className='mout'; } } } /*--------------------------------- ● CuttingString ---------------------------------*/ function pullOutByIdUndTag(id, tagName, num) { var element = document.getElementById(id); var elements = element.getElementsByTagName(tagName); for (i=0; i < elements.length; i++) { var str = elements[i].innerHTML; if(str.length > num){ elements[i].innerHTML = cuttingStrings(str,num); } } } function pullOutByClassUndTag(tagName, className, num, addStr) { var elements = document.getElementsByTagName(tagName); for (i=0; i < elements.length; i++) { if (elements[i].getAttribute('class') == className || elements[i].getAttribute('className') == className) { var str = elements[i].innerHTML; elements[i].innerHTML = cuttingStrings(str,num,addStr); } } } function cuttingStrings(str, num, addStr) { if(str.length > num){ var cutstring = str.substring(0, num); var byte = countByte(cutstring); var tmp = ""; if (byte < num*2) { for(k=0; k < (num*2-byte)*2; k++){ tmp = str.substring(0,num + k); if (countByte(tmp) >= num*2) { break; } } } if(tmp){ return tmp + addStr; } else { return str.substring(0, num) + addStr; } } else { return str; } } function countByte(str) { var byte = 0; for (j=0; j < str.length; j++) { str.charCodeAt(j) < 0x100 ? byte++ : byte += 2; } return byte; }