//************************************************ // BasicJavaScript //************************************************ // ProgramName : basic // Author : Oishi // CreateDate : 2007/05/14(MON) // 無断で複製、配布を禁ずる //************************************************ /*----------------------------------------------------------- ● 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'; } } } /*--------------------------------- ● IdBlock/None ---------------------------------*/ function Menu(id,action){ var menu = document.getElementById(id).style; if(action=="close"){ menu.display="none"; }else if(action=="open"){ menu.display="block"; }else{ if(menu.display == "block"){ menu.display="none"; }else{ menu.display="block"; } } } /*--------------------------------- ● MobileEmojiForm ---------------------------------*/ function nsGetElementById(id){ if (document.getElementById) { return (document.getElementById(id)); } else if (document.all) { return (document.all[id]); } else { if ((navigator.appname.indexOf("Netscape") != -1) && parseInt(navigator.appversion == 4)) { return (document.layers[id]); } } } function textareaSavePosition(id){ var textName = nsGetElementById(id); if (textName.createTextRange) { textName.caretPos = document.selection.createRange().duplicate(); } } function insertTextMode(areaName, text){ if (areaName.createTextRange && areaName.caretPos){ var caretPos = areaName.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else if (areaName.getSelection && areaName.caretPos){ var caretPos = areaName.caretPos; caretPos.text = caretPos.text.charat(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else { areaName.value = areaName.value + text; } } function emojiMode(id, emoji){ var revisedMessage; var textName = nsGetElementById(id); insertTextMode(textName, emoji); textName.focus(); return; } /*--------------------------------- ● 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; } /*--------------------------------- ● 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; } /*--------------------------------- ● CurrentPageCheck ---------------------------------*/ function currentPage() { var URL = location.href; // システム管理画面のタブ if(URL.indexOf('/system/adv') > -1){ document.getElementById("wrapper").id = 'systemer'; }else if(URL.indexOf('/system/log_') > -1){ document.getElementById("wrapper").id = 'systemer-long'; draw(); }else if(URL.indexOf('/system/user') > -1){ document.getElementById("wrapper").id = 'systemer'; }else if(URL.indexOf('/system/') > -1){ document.getElementById("wrapper").id = 'wrapper'; } }