/* * Created on 2006/06/23 * * This file is basic javascript library. * * - this code for Dreamweaver */ /* ################################################################################################ - Basic libaray section ################################################################################################ */ var ns4 = ( document.layers ) ? true : false; var ie4 = ( document.all ) ? true : false; function really(message) { if ( confirm(message) ) { return true; } else { return false; } } // Added 2004/05 by BlueSky /* Usage: toHankakuNum('123'); // 123 Return: 半角String */ function toHankakuNum(motoText) { han = "0123456789.,-+*= "; zen = "0123456789.,-+*= "; str = ""; for (i=0; i= 0) c = han.charAt(n); str += c; } return str; } // Added 2004/08/03 // SUPPORT URL : http://melrose.jugem.cc/?eid=187 /* Usage: checkFullStringOnly('あいうえお', '」'); Return: true / false */ function checkFullStringOnly(object, option){ var str = object.value; var bace_len = "ア".length; var str_length = str.length; if (bace_len == 1) { str_length = str_length * 2; } var code, count; for (var i = 0; i < str_length; i++) { count = 0; code = str.charCodeAt(i); if ((0 <= code && code <= 255) || (65382 <= code && code <= 65439)) { count++; } /* オプション文字 */ if (!option == "" && option.indexOf(String.fromCharCode(code)) < 0) { count++; } if (option == "" && count == 1) { return false; } if (!option == "" && count == 2) { return false; } } return true; } // Added 2006/07/14 by Kim sora. /* 全角カタコード : 30A0~30FF Usage: f_valid_zenkaku("アイウ"); Return: integer */ function validZenkaku(a_str){ var code_start = parseInt("30A0",16); // 16真数を10真数に設定する var code_end = parseInt("30FF",16); var j = a_str.length; var h = 0; for (var i = 0; i < j; i++) { if ( a_str.charCodeAt(i) < code_start || a_str.charCodeAt(i) > code_end ) { h++; } } return h; } // Added 2006/07/12 by Kim sora. /* 変数に文字例があるかを調べる Usage: emptyCheck('test'); // true Return: true / false */ function emptyCheck(a_data) { for (var i = 0; i < a_data.length; i++ ) { if (a_data.substring(i, i + 1) != " ") { return false; } } return true; } // Added 2006/08/09 by Kim sora. /* @str2で@str1を調べる Usage: stringMatch('rss', 'rssmga'); Return: true / false */ function stringMatch(str1, str2) { if ( str2.indexOf(str1) == -1 ) { return false; } else { return true; } } // Added 2006/07/12 by Kim sora. /* 文字例が数字のみなのか調べる Usage: integerNumberCheck('1234'); // true Return: true / false */ function integerNumberCheck(a_num) { numstr = "0123456789"; for ( var i = 0; i < a_num.length; i++ ) { if ( numstr.indexOf(a_num.charAt(i)) == -1 ) { return false; } } return true; } // Added 2006/07/19 by Kim sora. /* URLの正しい入力形式チェック Usage: f_valid_url('asdf.ccc'); Return: true / false */ function validURL(a_str) { var a_check1 = /^http\:\/\/+[\w\~\-\.]+(\.[\w\-\/]+)$/; if ( a_str.length != "" ) { if ( a_check1.test(a_str) ) { return true; } } return false; } // Added 2006/07/12 by Kim sora. /* Eメールの正しい入力形式チェック Usage: validEmail('aaaa@bbb.ccc'); Return: true / false */ function validEmail(a_str) { var a_check1 = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; if ( a_str.length != "" ) { if ( a_check1.test(a_str) ) { return true; } } return false; } // Added 2006/07/12 by Kim sora. /* Unicodeの文字例でも1バイトのlengthをreturn つまり、Byte Length return Usage: lenByte('あいう'); // 6 Return: integer */ function lenByte(a_str) { var j = a_str.length; var l = j; for (var i = 0; i < l; i++) { if (a_str.charCodeAt(i) > 255) j++; } return j; } // Added 2006/08/03 by Kim sora. /* event客体調べる Usage: keyCodeGet(event); Return: integer */ function keyCodeGet(e) { if (window.event) { e = window.event } var lkeycode = e.keyCode; return lkeycode; } // Added 2006/08/03 by Kim sora. /* event客体調べる Usage: charCodeGet(event); Return: integer */ function charCodeGet(e) { if (window.event) { e = window.event var lkeycode = e.keyCode; } else { var lkeycode = e.charCode; } return lkeycode; } // Added 2006/08/03 by Kim sora. /* 数字しか入力出来ない HTML Usage: onkeypress="onlyNumber(event);" Usage: onlyNumber(event); */ function onlyNumber(e) { var var_keycode = charCodeGet(e); if( !(48 <= var_keycode && var_keycode <=57) && var_keycode != 0 && var_keycode != 39 && var_keycode != 8 && var_keycode != 9 && var_keycode != 46) { if (window.event){ window.event.keyCode = 0; }else{ e.preventDefault(); } } } // Added 2006/08/10 by Kim sora. /* 入力出来ない HTML Usage: onkeydown="writeInterdiction(event);" Usage: writeInterdiction(event); */ function writeInterdiction(e) { var var_keycode = keyCodeGet(e); // BackSpace Key(8), Delete Key(46), Tab Key(9) if (var_keycode != 8 && var_keycode != 9 && var_keycode != 46) { if (window.event){ window.event.keyCode = 0; }else{ e.preventDefault(); } } } // Added 2006/07/27 by Kim sora. /* ブラウザー別オブジェクトにアクセス Usage: formAccess("object_name"); return: object */ function objectAccess(obj_nm) { var return_obj; if ( ns4 ) { return_obj = eval( "document." + obj_nm + ".document" ); } else if ( ie4 ) { return_obj = document.all[obj_nm]; } else { return_obj = document.getElementById(obj_nm); } return return_obj; } /* ################################################################################################ - Common function section ################################################################################################ */ function valueContrast(value1, value2) { var return_int; if (value1 == "" || value2 == "") { return_int = 0; } else { // be all one if (value1 == value2) { return_int = 1; } else { return_int = 2; } } return return_int; } // Added 2006/07/31 by Kim sora. /* IE-6.0 auto : 自動(変更可能) active : ひらがな(変更可能) inactive : 英語だけ(変更不可能) disabled : 英語(変更可能) deactivated : ひらがな(変更可能) Usage: imeSet(object, 'active'); */ function imeSet(object, str) { object.style.imeMode = str; } // Added 2006/07/31 by Kim sora. /* input box Set Usage: inputBoxSet(object, 0); */ function inputBoxSet(obj_name, option) { obj_name.style.paddingLeft = "1px"; obj_name.style.paddingTop = "0"; obj_name.style.paddingRight = "1px"; obj_name.style.paddingBottom = "4px"; obj_name.style.border = "1px"; obj_name.style.borderStyle = "solid"; obj_name.style.borderColor = "#7F9DB9"; if (option == 0) { obj_name.style.backgroundImage = "url(/image/nyuryoku.gif)" obj_name.style.backgroundRepeat = "no-repeat"; } else if (option == 1) { obj_name.style.backgroundImage = "" } else { obj_name.style.backgroundImage = "url(/image/ataranai.gif)" obj_name.style.backgroundRepeat = "repeat"; } } // Added 2006/08 by Kim sora. /* オブジェクトの内容有無チェック Usage: nullInputBoxSet(object); */ function nullInputBoxSet(object) { if (object.value != "") { inputBoxSet(object, 1); } else { inputBoxSet(object, 2); } } // Added 2006/08 by Kim sora. /* オブジェクトの背景イメージ有無チェック Usage: inputBoxGet(object); return : true / false */ function inputBoxGet(object) { var bg_image = object.style.backgroundImage; if (bg_image != "") { return false; } else { return true; } } // Added 2006/08 by Kim sora. /* DIV Visibility Check Usage: errMsgGet(object); return : true / false */ function errMsgGet(obj_nm) { var object = objectAccess(obj_nm); var obj_visibility = object.style.visibility; if (obj_visibility != "hidden") { return false; } else { return true; } } function layerDisplay(layerID, section) { var opt_string; layer_access = objectAccess(layerID); if ( ns4 ) { if (section == true) { opt_string = "show"; } else { opt_string = "hide"; } } else { if (section == true) { opt_string = "visible"; } else { opt_string = "hidden"; } } layer_access.style.visibility = opt_string; } function toolTipBoxVisibility(layerID, msg, section) { var layer_access = objectAccess(layerID); layer_access.innerHTML = msg; layerDisplay(layerID, section); } // Added 2006/08/09 by Kim sora. /* create div Usage: createDiv_kim("errDiv"); */ function createDiv_kim(div_name) { if (objectAccess(div_name)) { var obj = objectAccess(div_name); } else { var obj = document.createElement("Div"); } obj.id = div_name; document.body.appendChild(obj); layerDisplay(div_name, true); } function setXY(completeDiv, field, sec, vwidth) { var i_width = field.offsetWidth; // オブジェクトの右に位置させる if (sec == "R") { var left = calculateOffsetLeft(field) + i_width; var top = calculateOffsetTop(field); } // オブジェクトの下左側に位置させる else if (sec == "BL") { var left = calculateOffsetLeft(field) - (vwidth-i_width) - (i_width/2); var top = calculateOffsetTop(field) + field.offsetHeight; if ( vwidth && vwidth > 0 ) { i_width = vwidth; } } // Center of Browser else if (sec == "C") { var left = document.body.clientWidth/2 + document.body.scrollLeft - vwidth/2; var top = calculateOffsetTop(field); i_width = vwidth; } // オブジェクトの下右側に位置させる else { var left = calculateOffsetLeft(field); var top = calculateOffsetTop(field) + field.offsetHeight; if ( vwidth && vwidth > 0 ) { i_width = vwidth; } } completeDiv.style.position = "absolute"; completeDiv.style.padding = "0px"; completeDiv.style.margin = "0px"; completeDiv.style.left = left + "px"; completeDiv.style.top = top + "px"; completeDiv.style.width = i_width + "px"; } // Added 2006/08/09 by Kim sora. /* Divの位置設定 @sec : R - Right, B - Bottom Usage: setOffsets(content, "err", "content_err_msg", "R"); */ function setOffsets(field, text, div_name, sec) { createDiv_kim(div_name); var completeDiv = objectAccess(div_name); setXY(completeDiv, field); if (parseInt(text) >= 0) { completeDiv.innerHTML = text; } else { var rest_byte = (parseInt(text) * -1) % 2; if (rest_byte == 0) { var shar_length = ((parseInt(text) * -1) / 2); completeDiv.innerHTML = "0"; } else { var shar_length = ((parseInt(text) * -1) / 2) + 0.5; completeDiv.innerHTML = "1"; } field.value = field.value.substring(0, field.value.length - shar_length); } completeDiv.style.color = "red"; completeDiv.style.textAlign = "left"; completeDiv.style.paddingLeft = "5px"; } function calculateOffsetLeft(field) { return calculateOffset(field, "offsetLeft"); } function calculateOffsetTop(field) { return calculateOffset(field, "offsetTop"); } function calculateOffset(field, attr) { var offset = 0; while(field) { offset += field[attr]; field = field.offsetParent; } return offset; }