/* */ /* ' ########################################################### ' パワーロック選定計算用JS ' Create 2012.04.10 J.Ito ' Modyfy ----.--.-- -------- ' ########################################################### */ var p_dRADIAL = 0; var p_dPradS = 0; var p_dPradB = 0; $( document).ready( function(){ // 軸径にフォーカス $( "#dS").focus(); // 「使用係数一覧表」リンククリック $( "#AnchorSf").click( function(){ PopupSf(); } ); $( "#BtnCalcTorq").click( function(){ CalcTorq(); } ); // 「伝達容量と回転数から伝達トルクを自動計算する場合はこちら」リンククリック $( "#AnchorCalcTorq").click( function(){ // 伝達容量、回転速度テキストボックスを表示 /* if( $( "#AreaCalcTorq").is( ":visible") == true){ $( "#AreaCalcTorq").hide(); }else{ $( "#AreaCalcTorq").show(); } */ $("#AreaCalcTorq").animate( //{ height: "toggle", opacity: "toggle"} { height: "toggle"} //, "slow" , "fast" ); } ); // 「特性を選択」チェックボックスクリック $( "#AttrArea :checkbox").click( DispTokusei ); // 選定実行ボタンクリック $( "#BtnExec").click( function(){ ExecSelect(); } ); // 条件クリアボタンクリック $( "#BtnClear").click( function(){ $( ":text").val( ""); $( ":checkbox").prop( "checked", false); $( "#AttrArea").hide(); $( "#ResultArea").hide(); $( "td").removeClass( "BgClrFit"); $( "td").removeClass( "BgClrSlightlyFit"); $( "#DispMR").html( " "); location.hash = "#PageTop"; $( "#dS").focus(); } ); // テキストボックスにフォーカスした時、選択状態にする $( ":text").focus( function(){ if( $( this).prop( "readonly") == true){ // 読取専用の場合はblur $( this).blur(); return; } $( this).select(); } ); // 伝達トルク、使用係数ロストフォーカス時、両者を乗じる $( "#T, #SF").blur( CalcTorqSf); } ); // 伝達トルク算出ボタンクリック時処理 function CalcTorq() { // 入力チェック if( trim( $( "#kW").val()) == ""){ return;} if( trim( $( "#Mrpm").val()) == ""){ return;} // 数値チェック if( !CheckNumeric( $( "#kW"))){ return;} if( !CheckNumeric( $( "#Mrpm"))){ return;} var kW = parseFloat( BlankToZero( $.trim( $( "#kW").val()))); var Mrpm = parseFloat( BlankToZero( $.trim( $( "#Mrpm").val()))); var T = 30000 * kW / Math.PI / Mrpm; $( "#T").val( RoundDecimal( T, 2)); // 伝達トルク×使用係数の計算 CalcTorqSf(); } // 数値チェックを行う function CheckNumeric( obj) { if( trimzen( obj.val()) == ""){ return true;} if( !IsNumeric( obj.val())){ alert( '数値を入力してください。'); $( obj).select(); return false; } return true; } // 選定実行ボタンクリック時処理 // 選定結果を表示する function ExecSelect() { // 入力値チェック if( !IsInputOk()){ return;} // 前回の選定結果をクリア InitResult(); // 「お待ちください」メッセージ表示 $( "#SelectingNow").show(); $( "#ButtonArea").hide(); //var sUrl = "http://temold/tecs/calc/kcp/calc_kcp_getspec.asp?" // + "SelMode=" + $( "input[name=SelMode]:checked").val() // + "&T=" + BlankToZero( $( "#T").val()) // + "&SF=" + BlankToZero( $( "#SF").val()) // + "&dS=" + BlankToZero( $( "#dS").val()) // + "&dL=" + BlankToZero( $( "#dL").val()) // + "&rpm=" + BlankToZero( $( "#rpm").val()); //DebugPrint( sUrl, "URL"); $.ajax( { type: "GET" , cache: false , url: "calc_kcp_getspec.asp" , data: "SelMode=" + $( "input[name=SelMode]:checked").val() + "&T=" + BlankToZero( $( "#T").val()) + "&SF=" + BlankToZero( $( "#SF").val()) + "&dS=" + BlankToZero( $( "#dS").val()) + "&dL=" + BlankToZero( $( "#dL").val()) + "&rpm=" + BlankToZero( $( "#rpm").val()) , async: false , dataType: "text" , success: function( data){ eval( data); // NES SetResult( "NES_DD", arrNES_DD, "NES"); // 低慣性ハブ×低慣性ハブ SetResult( "NES_NN", arrNES_NN, "NES"); // ストレート×ストレート SetResult( "NES_DN", arrNES_DN, "NES"); // 低慣性×ストレート // BJ SetResult( "BJ_S", arrBJ_S, "BJ"); // SetResult( "BJ_C", arrBJ_C, "BJ"); // // BM SetResult( "BM_SS", arrBM_SS, "BM"); // SetResult( "BM_SL", arrBM_SL, "BM"); // SetResult( "BM_FS", arrBM_FS, "BM"); // SetResult( "BM_FL", arrBM_FL, "BM"); // // EJC SetResult( "EJC_SSA", arrEJC_SSA, "EJC"); // SetResult( "EJC_SSN", arrEJC_SSN, "EJC"); // SetResult( "EJC_CCA", arrEJC_CCA, "EJC"); // SetResult( "EJC_CCN", arrEJC_CCN, "EJC"); // SetResult( "EJC_SCA", arrEJC_SCA, "EJC"); // SetResult( "EJC_SCN", arrEJC_SCN, "EJC"); // // BEF // SetResult( "BEF", arrBEF, "BEF"); // EPR SetResult( "EPR", arrEPR, "EPR"); // NEF_K SetResult( "NEF_K", arrNEF_K, "NEF"); // NEF キー溝タイプ // NEF_T SetResult( "NEF_T", arrNEF_T, "NEF"); // NEF テーパロックタイプ // NEF_C SetResult( "NEF_C", arrNEF_C, "NEF"); // NEF クランプタイプ // NER SetResult( "NER", arrNER, "NER"); // NER // NEH_N SetResult( "NEH_N", arrNEH_N, "NEH"); // NEH 標準ハブタイプ // NEH_A SetResult( "NEH_A", arrNEH_A, "NEH"); // NEH アダプタハブタイプ // NEH_U SetResult( "NEH_U", arrNEH_U, "NEH"); // NEH ユニットスペーサータイプ // LJ_S SetResult( "LJ_S", arrLJ_S, "LJ"); // LJ 焼結ハブタイプ // LJ_A SetResult( "LJ_A", arrLJ_A, "LJ"); // LJ アルミハブタイプ // NF SetResult( "NF", arrNF, "NF"); // CN_S SetResult( "CN_S", arrCN_S, "CN"); // CN 標準タイプ // // CN_E // SetResult( "CN_E", arrCN_E, "CN"); // CN Eタイプ // // CN_H // SetResult( "CN_H", arrCN_H, "CN"); // CN Hタイプ // CR SetResult( "CR", arrCR, "CR"); // CRSS SetResult( "CRSS", arrCRSS, "CR"); // 「選定実行」「条件クリア」ボタン表示 $( "#SelectingNow").hide(); $( "#ButtonArea").show(); $( "#AttrArea").show(); // 特性選択を表示 $( "#ResultArea").show(); // 選定結果を表示 } }); } // 必須入力チェック function IsInputOk() { var dS = trimzen( $( "#dS").val()); var dL = trimzen( $( "#dL").val()); var T = trimzen( $( "#T").val()); var SF = trimzen( $( "#SF").val()); var rpm = trimzen( $( "#rpm").val()); // 小径側軸径 if( dS == ""){ $( "#dS").focus(); alert( '小径側軸径を入力してください。'); return false; } if((dS != 6.35 ) && (dS != 9.525 ) && (dS != 9.5 )){ if( (parseFloat(dS) % 1) != 0 ){ $( "#dS").focus(); alert( '軸径は6.35, 9.5, 9.525 又は整数値で指定してください。'); return false; } } if( !CheckNumeric( $( "#dS"))){ return false;} // 大径側軸径 if( dL == ""){ $( "#dL").focus(); alert( '大径側軸径を入力してください。'); return false; } if((dL != 6.35 ) && (dL != 9.525 ) && (dL != 9.5 )){ if( (parseFloat(dL) % 1) != 0 ){ $( "#dL").focus(); alert( '軸径は6.35, 9.5, 9.525 又は整数値で指定してください。'); return false; } } if( !CheckNumeric( $( "#dL"))){ return false;} // 伝達トルク if( T == ""){ $( "#T").focus(); alert( '伝達トルクを入力してください。'); return false; } if( !CheckNumeric( $( "#T"))){ return false;} // 使用係数 if( SF == ""){ $( "#SF").focus(); alert( '使用係数を入力してください。'); return false; } if( !CheckNumeric( $( "#SF"))){ return false;} // 回転速度 if( rpm == ""){ $( "#rpm").focus(); alert( '使用回転速度を入力してください。'); return false; } if( !CheckNumeric( $( "#rpm"))){ return false;} return true; } // 選定結果をシリーズごとに設定 function SetResult( sSeries, arr, sProduct) { if( arr.sDispKata == ""){ var sBgCol = "#ddd"; $( "#Kata_" + sSeries).html( "該当なし"); $( "#Kata_" + sSeries).css( "background-color", sBgCol); $( "#MinHoleDia_" + sSeries).css( "background-color", sBgCol); $( "#MaxHoleDia_" + sSeries).css( "background-color", sBgCol); $( "#ZaikoHoleDia_" + sSeries).css( "background-color", sBgCol); $( "#MaxRPM_" + sSeries).css( "background-color", sBgCol); $( "#JudgeRPM_" + sSeries).css( "background-color", sBgCol); return; }else{ var sBgCol = "#fff"; $( "#Kata_" + sSeries).html( "該当なし"); $( "#Kata_" + sSeries).css( "background-color", sBgCol); $( "#MinHoleDia_" + sSeries).css( "background-color", sBgCol); $( "#MaxHoleDia_" + sSeries).css( "background-color", sBgCol); $( "#ZaikoHoleDia_" + sSeries).css( "background-color", sBgCol); $( "#MaxRPM_" + sSeries).css( "background-color", sBgCol); $( "#JudgeRPM_" + sSeries).css( "background-color", sBgCol); } // 形番 var sKata = ""; if( arr.sDispKata == "該当なし"){ sKata = arr.sDispKata; }else{ var arLinkKata = arr.sDispKata.split( "|"); if( $(":radio[name=SelMode]:checked").val() == "T"){ // トルクから選定 for( var i=0; i"; sKata += arLinkKata[i] + ""; } }else{ switch( sSeries) { case "NEF_K": case "LJ_S": case "LJ_A": sKata = ""; break; default: for( var i=0; i"; sKata += arLinkKata[i] + ""; } break; } } } $( "#Kata_" + sSeries).html( sKata); // 形番リスト変更イベントをここで追加 $( "#ListKata_" + sSeries).bind( "change", OpenProductDetail); // 許容トルク // 小 if( sSeries.substr(0,2) == "BM"){ $( "#MinHoleDia_" + sSeries).html( arr.dTrqSmall / 100); }else{ $( "#MinHoleDia_" + sSeries).html( arr.dTrqSmall); } // 右寄せにする $( "#MinHoleDia_" + sSeries).css( "text-align", "right"); // 選定基準 var sMode = $( "input[name=SelMode]:checked").val(); // 大 if( sMode == "D"){ $( "#MaxHoleDia_" + sSeries).html( arr.dTrqLarge); // 右寄せにする $( "#MaxHoleDia_" + sSeries).css( "text-align", "right"); }else{ $( "#MaxHoleDia_" + sSeries).html( "---"); $( "#MaxHoleDia_" + sSeries).css( "text-align", "center"); } // 軸径 var n = arr.sZaikoHOLEDIA.length - 1; if( arr.sZaikoHOLEDIA.substr( n, 1) == ","){ $( "#ZaikoHoleDia_" + sSeries).html( arr.sZaikoHOLEDIA.substr( 0, arr.sZaikoHOLEDIA.length - 1)); }else{ $( "#ZaikoHoleDia_" + sSeries).html( arr.sZaikoHOLEDIA.replace( /,/g, ", ")); } // 許容回転数 $( "#MaxRPM_" + sSeries).html( arr.lMaxRPM); // 右寄せにする $( "#MaxRPM_" + sSeries).css( "text-align", "right"); // 回転速度判定 if( arr.lMaxRPM >= parseFloat( BlankToZero( $( "#rpm").val()))){ $( "#JudgeRPM_" + sSeries).html( "OK"); }else{ $( "#JudgeRPM_" + sSeries).html( "NG"); } $( "#JudgeRPM_" + sSeries).css( "text-align", "center"); } // 製品情報詳細ページへのリンク文字列の作成し返す // sCpSeries --> カップリングシリーズ // sDispKata --> リンクに表示する形番 function MakeProductDetailLink( sCpSeries, sDispKata) { switch( sCpSeries) { case "NES": return sDispKata.replace( /(\-[DN])\d+(CX[DN])\d+(C)/, "$1\*\*$2\*\*$3"); case "BJ": // ビームカップリング return sDispKata.replace( /(\-)\d+([SC]X)\d+([SC])/, "$1\*\*$2\*\*$3"); case "BM": // ベローズミニ return sDispKata.replace( /(\-\d+X\d+)|(\-\*\*X\*\*)/, ""); case "EJC": // オルダム return sDispKata.replace( /(\-)\d+([SC]X)\d+([SC])/, "$1\*\*$2\*\*$3"); case "BEF": // BE-FLEX return sDispKata.replace( /(\-)\d+(T?X)\d+/, "$1\*\*$2\*\*"); case "EPR": // パワーリジッド return sDispKata; case "NEF": // NEF return sDispKata; case "NER": // NER return sDispKata; case "NEH": // NEH if( sDispKata.match( /URXUR/)){ // 形番に-URXURを含む場合 return sDispKata; }else{ return sDispKata.replace( /(\-N)\d+(JX[NA])\d+(J)/, "$1\*\*$2\*\*$3"); } case "LJ": // Lジョー return sDispKata.substr(0, sDispKata.indexOf("-", 0) + 2); // return sDispKata.replace( /(\-\d+[JEN]X\d+[JEN])|(\-\*\*\*X\*\*\*)/, ""); case "NF": // ネオフレックス return sDispKata; case "CN": // ナイロンチェーンカップリング return sDispKata; case "CR": // ローラチェーンカップリング case "CRSS": // ローラチェーンカップリング ステンレスシリーズ return sDispKata; } } // 選定結果セル値をクリア function InitResult() { $( "#TblResult td.Spec").html( ""); } // 伝達容量と回転速度欄を表示 function DispCapaSpeed() { $( "#AutoCalcTorq").toggleClass( "Hide"); } // 伝達トルク×使用係数の計算 function CalcTorqSf() { var T = trimzen( $( "#T").val()); var SF = trimzen( $( "#SF").val()); if( T == ""){ return;} if( SF == ""){ return;} if( !IsNumeric( T)){ return;} if( !IsNumeric( SF)){ return;} T = parseFloat( T); SF = parseFloat( SF); var dMR = Deci( T * SF); $( "#MR").val( dMR); $( "#DispMR").html( dMR); } function DispTokusei() { var sReqChar = ""; // 要求特性値のフラグ列 // 特性選択チェックボックスすべて var oTokuChk = $( "#AttrArea :checkbox"); // 選択済:1 未選択:0で全シリーズ文字列生成 for( var i=0; i < oTokuChk.length; i++) { if( oTokuChk[i].checked){ sReqChar += "1"; }else{ sReqChar += "0"; } } // 特性選択後の背景色クラスを設定 var SetBgClass = function( sSeries) { var P_TKS_NES = "1111110"; var P_TKS_BJ = "1011110"; var P_TKS_BM = "1111210"; var P_TKS_EJC = "2011111"; var P_TKS_BEF = "1111210"; var P_TKS_EPR = "1111010"; var P_TKS_NEF_K = "1101100"; var P_TKS_NEF_T = "1101100"; var P_TKS_NEF_C = "1101110"; var P_TKS_NER = "1101100"; var P_TKS_NEH = "1101100"; var P_TKS_LJ = "0011111"; var P_TKS_NF = "0001101"; var P_TKS_CN = "0011112"; var P_TKS_CR = "0100110"; var P_TKS_CRSS = "0100110"; var sTrCls = "Row" + sSeries; var sTKS = ""; switch( sSeries){ case "NES": sTKS = P_TKS_NES; break; case "BJ": sTKS = P_TKS_BJ; break; case "BM": sTKS = P_TKS_BM; break; case "EJC": sTKS = P_TKS_EJC; break; case "BEF": sTKS = P_TKS_BEF; break; case "EPR": sTKS = P_TKS_EPR; break; case "NEF_K": sTKS = P_TKS_NEF_K; break; case "NEF_T": sTKS = P_TKS_NEF_T; break; case "NEF_C": sTKS = P_TKS_NEF_C; break; case "NER": sTKS = P_TKS_NER; break; case "NEH": sTKS = P_TKS_NEH; break; case "LJ": sTKS = P_TKS_LJ; break; case "NF": sTKS = P_TKS_NF; break; case "CN": sTKS = P_TKS_CN; break; case "CR": sTKS = P_TKS_CR; break; case "CRSS": sTKS = P_TKS_CRSS; break; } var bFlg_S = false; // ▲該当フラグ var obj = $( "tr." + sTrCls + " td.Series," + "tr." + sTrCls + " td.Spec"); obj.removeClass( "BgClrFit"); obj.removeClass( "BgClrSlightlyFit"); var oNefType = $( "tr.RowNEF_T td:first"); // 背景色の設定 for( i=0; i <= 6; i++) { if( sReqChar.substr( i, 1) == "1"){ if( sTKS.substr( i, 1) == "1" && !bFlg_S){ // 合致 obj.addClass( "BgClrFit"); if( sSeries == "NEF_C" || sSeries == "NEF_K"){ oNefType.addClass( "BgClrFit"); } }else if( sTKS.substr( i, 1) == "2"){ // やや合致 obj.addClass( "BgClrSlightlyFit"); bFlg_S = true; if( sSeries == "NEF_C" || sSeries == "NEF_K"){ oNefType.addClass( "BgClrSlightlyFit"); } }else if( sTKS.substr( i, 1) == "0"){ obj.removeClass( "BgClrFit"); obj.removeClass( "BgClrSlightlyFit"); if( sSeries == "NEF_C" || sSeries == "NEF_K"){ oNefType.removeClass( "BgClrFit"); oNefType.removeClass( "BgClrSlightlyFit"); } break; } } } } SetBgClass( "NES"); SetBgClass( "BJ"); SetBgClass( "BM"); SetBgClass( "EJC"); // SetBgClass( "BEF"); SetBgClass( "EPR"); SetBgClass( "NEF_K"); SetBgClass( "NEF_T"); SetBgClass( "NEF_C"); SetBgClass( "NER"); SetBgClass( "NEH"); SetBgClass( "LJ"); SetBgClass( "NF"); SetBgClass( "CN"); SetBgClass( "CR"); SetBgClass( "CRSS"); } // 選定結果の小数値を小数点2桁まで表示(第3位を四捨五入)にする function Deci( v) { if( v == null){ return v;} return RoundDecimal( v, 2); } // 使用係数一覧表をポップアップで表示 function PopupSf() { $.ipop( "#ServiceFactor", $( "#AnchorSf").position().left + 120, $( "#AnchorSf").position().top + $( '#mainCntnt').scrollTop()); } // 選定結果のNEFキー溝タイプ、Lジョーの形番リスト変更 // 製品情報詳細ページを開く function OpenProductDetail() { var $this = $( this); var sProduct; switch( $this.attr( "id")) { case "ListKata_NEF_K": sProduct = "NEF"; break; case "ListKata_LJ_S": case "ListKata_LJ_A": sProduct = "LJ"; break; } DispData( "/kcp", sProduct, MakeProductDetailLink( sProduct, $this.val()), "New"); }