| /*******************************************************************************/ | 
| // reportX_X_name__c の英語翻訳Map | 
| var TranslatEnglishMap = []; | 
| TranslatEnglishMap['发送完毕'] = "Send completed."; | 
| TranslatEnglishMap['点击可新建下属指导'] = " Create review report"; | 
| TranslatEnglishMap['日报提交率(%)'] = "Submit Daily Report (%)"; | 
| TranslatEnglishMap['每月日报按时提交率(%)'] = "Submit Daily Report before deadline (%)"; | 
| TranslatEnglishMap['计划实施率 (计划数/报告数)'] = "Planed Activity Ratio"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit (Monthly)"; | 
| TranslatEnglishMap['拜访区分比率'] = "Category of Visit"; | 
| TranslatEnglishMap['LTV客户拜访比率'] = "LTV Customer Visited Ratio (%)"; | 
| TranslatEnglishMap['每月拜访客户人员次数'] = "# of Dr/Nurse Visit (Monthly)"; | 
| TranslatEnglishMap['每月拜访HCP次数'] = "# of HCP Visit (Monthly)"; | 
| TranslatEnglishMap['每月拜访设备科次数'] = "# of BME Visit (Monthly)"; | 
| TranslatEnglishMap['每月拜访客户目的比率(%)'] = "Purpose of Visit (Monthly)"; | 
| TranslatEnglishMap['日报中跟进询价比率'] = "% of PCL Follow-up Visit"; | 
| TranslatEnglishMap['每月创建购买意向数'] = "# of Create Sales Lead (Monthly)"; | 
| TranslatEnglishMap['每月OPD/SIS次数'] = "# of OPD/SIS (Monthly)"; | 
| TranslatEnglishMap['每月重点产品OPD次数'] = "# of Key Product OPD/SIS (Monthly)"; | 
| TranslatEnglishMap['每月提案/科室计划实施情况'] = "# of Sales Proposale (Monthly)"; | 
| TranslatEnglishMap['每月On-Call比率'] = "% of On-Call Visit (Monthly)"; | 
| TranslatEnglishMap['新品装机和使用培训次数'] = "# of Product Instration (Monthly)"; | 
| TranslatEnglishMap['维修合同覆盖情况'] = "Cavarage of Service Contract (%)"; | 
| TranslatEnglishMap['每月NTC/CDS培训次数'] = "# of NTC/CDS Training (Monthly)"; | 
| TranslatEnglishMap['每月点检次数(+设备数)'] = "# of Inspection(PM) counted by asset basis"; | 
| TranslatEnglishMap['每月季报提交情况'] = "# of Service Proposale (Monthly)"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['发货+注残+目标差异'] = "Sales Forecast by Speciality"; | 
| TranslatEnglishMap['订单数/未付款数/无用户合同书'] = "BO Analysis1 (Non Payment / No Contract)"; | 
| TranslatEnglishMap['注残状态数量'] = "BO Analysis2 (By Stage)"; | 
| TranslatEnglishMap['每月注残可发的实际发货率(5月开始)'] = "BO Forecast Shippment Accurancy "; | 
| TranslatEnglishMap['OCSM成約予測 件数'] = "# of PCL By Forecast Date"; | 
| TranslatEnglishMap['询价等级件数'] = "# of PCL by Rank"; | 
| TranslatEnglishMap['按预测成交日询价状态'] = "Monthly Closed & Forecast PCL"; | 
| TranslatEnglishMap['LTV客户 询价跟进活动分析(过去1年)'] = "LTV's Prospect data maintenance situation"; | 
| TranslatEnglishMap['本月预测订货询价跟进情况'] = "This Monthly Forecasted Prospect"; | 
| TranslatEnglishMap['每月询价可订货的实际订货率(按数量)'] = "Prospect Forecast Order Accurancy"; | 
| TranslatEnglishMap['每月询价信息更新率(5月开始)'] = "Monthly Prospect data Update Ratio"; | 
| TranslatEnglishMap['每月创建询价和目前情况'] = "# of Monthly Created Prospect"; | 
| TranslatEnglishMap['本期取消次数'] = "# of Cancel Prospect "; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['科室等级别数量(LTV客户)'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['保有设备情况'] = "Key Asset Situation"; | 
| TranslatEnglishMap['价值科室NBI保有情况'] = "NBI Ratio"; | 
| TranslatEnglishMap['价值科室腹腔镜保有情况'] = "Lapa Procedure Ratio"; | 
| TranslatEnglishMap['CV-290 订货达成率'] = "CV-290 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['3D-190, CV-190/OTV-S190 订货达成率'] = "3D,CV/OTV-190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['USG-400(STMS)订货达成率'] = "USG-400(STMS) Received Order Achievment Ratio"; | 
| TranslatEnglishMap['CV-290OPD覆盖情况'] = "CV-290 OPD Coverage Ratio"; | 
| TranslatEnglishMap['CV-190/OTV-S190OPD覆盖情况'] = "CV-190/OTV-S190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月OPD次数'] = "# of OPD/SIS"; | 
| TranslatEnglishMap['过去1年按战略科室OPD次数'] = "# of OPD/SIS by Department"; | 
| TranslatEnglishMap['过去1年做OPD产品比率'] = "% of OPD Product Ratio"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月科室拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "# of Visit Medical Staff"; | 
| TranslatEnglishMap['每月HCP拜访覆盖率'] = "# of Visit HCP Customer"; | 
| TranslatEnglishMap['保有设备状态调查情况'] = "Progress of Research Customer Asset"; | 
| TranslatEnglishMap['病人数调查情况'] = "Progress of Research # of Patient"; | 
| TranslatEnglishMap['自己负责医院数(可以查看)'] = "# of HP incharge"; | 
| TranslatEnglishMap['科室等级别数量(LTV客户)'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['负责价值科室数量'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['价值科室期初计划设定率'] = "% of Create Target Activity Plan"; | 
| TranslatEnglishMap['价值科室计划更新情况'] = "% of Review Activities Plan"; | 
| TranslatEnglishMap['价值科室NBI保有情况'] = "NBI Ratio"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['担当科室预算金额'] = "HP Fiscal Budget Analysis"; | 
| TranslatEnglishMap['CV-290 订货达成率'] = "CV-290 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['EU-ME1/2 订货达成率'] = "EU-ME1/2 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['200系列镜子 订货达成率'] = "200 Serise Scope  Received Order Achievment Ratio"; | 
| TranslatEnglishMap['CV-290OPD覆盖情况'] = "CV-290 OPD Coverage Ratio"; | 
| TranslatEnglishMap['EU-ME1/2OPD覆盖情况'] = "EU-ME1/2 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月CV-290OPD次数'] = "# of OPD for CV-290"; | 
| TranslatEnglishMap['每月EU-ME1OPD次数'] = "# of OPD for EU-ME1/2"; | 
| TranslatEnglishMap['每月OPD次数和重点产品'] = "% of OPD for Key Product"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月按科室等级拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "Coverage fir visited Key Customer"; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['负责价值科室数量'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['价值科室期初计划设定率'] = "% of Create Target Activity Plan"; | 
| TranslatEnglishMap['价值科室计划更新情况'] = "% of Review Activities Plan"; | 
| TranslatEnglishMap['价值科室NBI保有情况'] = "NBI Ratio"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['担当科室预算金额'] = "HP Fiscal Budget Analysis"; | 
| TranslatEnglishMap['CV-290 订货达成率'] = "CV-290 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['EU-ME1/2 订货达成率'] = "EU-ME1/2 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['200系列镜子 订货达成率'] = "200 Serise Scope  Received Order Achievment Ratio"; | 
| TranslatEnglishMap['CV-290OPD覆盖情况'] = "CV-290 OPD Coverage Ratio"; | 
| TranslatEnglishMap['EU-ME1/2OPD覆盖情况'] = "EU-ME1/2 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月CV-290OPD次数'] = "# of OPD for CV-290"; | 
| TranslatEnglishMap['每月EU-ME1OPD次数'] = "# of OPD for EU-ME1/2"; | 
| TranslatEnglishMap['每月OPD次数和重点产品'] = "% of OPD for Key Product"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月按科室等级拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "Coverage fir visited Key Customer"; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['负责价值科室数量'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['价值科室期初计划设定率'] = "% of Create Target Activity Plan"; | 
| TranslatEnglishMap['价值科室计划更新情况'] = "% of Review Activities Plan"; | 
| TranslatEnglishMap['价值科室腹腔镜保有情况'] = "Lapa System Situation"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['担当科室预算金额'] = "HP Fiscal Budget Analysis"; | 
| TranslatEnglishMap['3D-190订货达成率'] = "3D-190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['CV-190/OTH-S190订货达成率'] = "CV-190/OTH-S190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['USG-400(STMS)订货达成率'] = "USG-400(STMS)  Received Order Achievment Ratio"; | 
| TranslatEnglishMap['3DV-190OPD覆盖情况'] = "3DV-190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['CV-190/OTV-S190OPD覆盖情况'] = "CV-190/OTV-S190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月3DV-190OPD次数'] = "# of OPD for 3DV-190"; | 
| TranslatEnglishMap['每月CV-190/OTV-S190OPD次数'] = "# of OPD for CV-190/OTV-S190"; | 
| TranslatEnglishMap['每月OPD次数和重点产品'] = "% of OPD for Key Product"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月按科室等级拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "Coverage fir visited Key Customer"; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['负责价值科室数量'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['价值科室期初计划设定率'] = "% of Create Target Activity Plan"; | 
| TranslatEnglishMap['价值科室计划更新情况'] = "% of Review Activities Plan"; | 
| TranslatEnglishMap['价值科室腹腔镜保有情况'] = "Lapa System Situation"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['担当科室预算金额'] = "HP Fiscal Budget Analysis"; | 
| TranslatEnglishMap['3D-190订货达成率'] = "3D-190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['CV-190/OTH-S190订货达成率'] = "CV-190/OTH-S190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['USG-400(STMS)订货达成率'] = "USG-400(STMS)  Received Order Achievment Ratio"; | 
| TranslatEnglishMap['3DV-190OPD覆盖情况'] = "3DV-190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['CV-190/OTV-S190OPD覆盖情况'] = "CV-190/OTV-S190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月3DV-190OPD次数'] = "# of OPD for 3DV-190"; | 
| TranslatEnglishMap['每月CV-190/OTV-S190OPD次数'] = "# of OPD for CV-190/OTV-S190"; | 
| TranslatEnglishMap['每月OPD次数和重点产品'] = "% of OPD for Key Product"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月按科室等级拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "Coverage fir visited Key Customer"; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['负责价值科室数量'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['价值科室期初计划设定率'] = "% of Create Target Activity Plan"; | 
| TranslatEnglishMap['价值科室计划更新情况'] = "% of Review Activities Plan"; | 
| TranslatEnglishMap['价值科室腹腔镜保有情况'] = "Lapa System Situation"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['担当科室预算金额'] = "HP Fiscal Budget Analysis"; | 
| TranslatEnglishMap['3D-190订货达成率'] = "3D-190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['CV-190/OTH-S190订货达成率'] = "CV-190/OTH-S190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['USG-400(STMS)订货达成率'] = "USG-400(STMS)  Received Order Achievment Ratio"; | 
| TranslatEnglishMap['3DV-190OPD覆盖情况'] = "3DV-190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['CV-190/OTV-S190OPD覆盖情况'] = "CV-190/OTV-S190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月3DV-190OPD次数'] = "# of OPD for 3DV-190"; | 
| TranslatEnglishMap['每月CV-190/OTV-S190OPD次数'] = "# of OPD for CV-190/OTV-S190"; | 
| TranslatEnglishMap['每月OPD次数和重点产品'] = "% of OPD for Key Product"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月按科室等级拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "Coverage fir visited Key Customer"; | 
| TranslatEnglishMap['自己负责(查看)医院数量'] = "# of HP incharge"; | 
| TranslatEnglishMap['负责价值科室数量'] = "# of Department incharge"; | 
| TranslatEnglishMap['自己负责HCP数(可以查看)'] = "# of HCP"; | 
| TranslatEnglishMap['价值科室期初计划设定率'] = "% of Create Target Activity Plan"; | 
| TranslatEnglishMap['价值科室计划更新情况'] = "% of Review Activities Plan"; | 
| TranslatEnglishMap['价值科室腹腔镜保有情况'] = "Lapa System Situation"; | 
| TranslatEnglishMap['发货目标达成率'] = "Sales Achievment"; | 
| TranslatEnglishMap['目标趋势/件数'] = "Sales Forecast by Stage"; | 
| TranslatEnglishMap['担当科室预算金额'] = "HP Fiscal Budget Analysis"; | 
| TranslatEnglishMap['CV-190/OTH-S190订货达成率'] = "CV-190/OTH-S190 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['ENF-Video订货达成率'] = "ENF-Video Received Order Achievment Ratio"; | 
| TranslatEnglishMap['ESG-400订货达成率'] = "ESG-400 Received Order Achievment Ratio"; | 
| TranslatEnglishMap['3DV-190OPD覆盖情况'] = "3DV-190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['CV-190/OTV-S190OPD覆盖情况'] = "CV-190/OTV-S190 OPD Coverage Ratio"; | 
| TranslatEnglishMap['目标科室提案书提交率'] = "Submit Proposale Ratio"; | 
| TranslatEnglishMap['每月CV-190/OTV-S190OPD次数'] = "# of OPD for CV-190/OTV-S190"; | 
| TranslatEnglishMap['每月ENF-VideoOPD次数'] = "# of OPD for ENF-Video"; | 
| TranslatEnglishMap['每月OPD次数和重点产品'] = "% of OPD for Key Product"; | 
| TranslatEnglishMap['每月医院拜访次数'] = "# of Visit by HP"; | 
| TranslatEnglishMap['每月按科室等级拜访比率'] = "# of Visit by Department"; | 
| TranslatEnglishMap['每月负责客户拜访覆盖率'] = "Coverage fir visited Key Customer"; | 
| // sql実行、userId を置換する、TODO 省 の置換 | 
| function queryDatasourceAsyn(chartNum, peSettings, noResultMessage, success) { | 
|     var randnum = Math.floor( Math.random() * 10000);       // sql実行をsettimeoutにするため | 
|     var chartJObj = jQuery('#chart' + chartNum); | 
|     var sql = peSettings['Report' + chartNum + '_Sql__c']; | 
|     var sql1= peSettings['Report' + chartNum + '_Sql1__c']; | 
|     var sql2= peSettings['Report' + chartNum + '_Sql2__c']; | 
|     var column = peSettings['Report' + chartNum + '_Column__c']; | 
|     // sql実行 | 
|     var pUser = jQuery(escapeVfId('Page:Form:selectUser')).val().substr(0,15); | 
|     var pPlist = jQuery(escapeVfId("Page:Form:selectPlist")).value(); | 
|     if (pUser == 'Nothing') return []; | 
|     if (sql1 != null && sql1.length > 0) { | 
|         sql = sql + ' ' + sql1; | 
|     } | 
|     if (sql2 != null && sql2.length > 0) { | 
|         sql = sql + ' ' + sql2; | 
|     } | 
|     if (column != null && column.length > 0) { | 
|         sql = sql + ' ' + column; | 
|     } | 
|     if (pUser != '') { | 
|         sql = sql.replace("%:userId%", "'%" + pUser + "%'"); | 
|         sql = sql.replace("%:userId", "'%" + pUser + "'"); | 
|         sql = sql.replace(":userId%", "'" + pUser + "%'"); | 
|         sql = sql.replace(":userId", "'" + pUser + "'"); | 
|     } | 
|     if (pPlist != '') { | 
|         sql = sql.replace("IN:Plist", "IN(" + pPlist + ")"); | 
|     } | 
|     setTimeout( | 
|         DummyController.querySql(sql, function(records, event) { | 
|         if(event.status) { | 
|             drawJqplot(chartNum, peSettings, records, noResultMessage, success); | 
|         } else { | 
|             error = event.message; | 
|             var pRptName_T = peSettings['Report' + chartNum + '_Name__c']; | 
|             if (loginUserLanguage == 'en_US' && pRptName_T in TranslatEnglishMap) { | 
|                 pRptName_T = TranslatEnglishMap[pRptName_T]; | 
|             } | 
|             peSettings['Report' + chartNum + '_Title'] = pRptName_T; | 
|             chartJObj.children('div.loadingMask').children('div.loadingPanel').text(pRptName_T).css('background', 'none').css('width', 'auto'); | 
|             chartJObj.children('div.loadingMask').children('span.loadingMsg').text(error); | 
|             chartJObj.children('div.loadingMask').css('z-index', '0'); | 
|             chartJObj.children('div.loadingMask').addClass('errorMask'); | 
|         } | 
|         }, {buffer: false, escape: false, timeout: 120000}) | 
|         , randnum | 
|     ); | 
| } | 
| function drawJqplot(chartNum, peSettings, records, noResultMessage, success) { | 
|     var chartJObj = jQuery('#chart' + chartNum); | 
|     chartJqplotInit(chartJObj, peSettings['Report' + chartNum + '_SmarmClip']); | 
|     var pRptName_T = peSettings['Report' + chartNum + '_Name__c']; | 
|     if (loginUserLanguage == 'en_US' && pRptName_T in TranslatEnglishMap) { | 
|         pRptName_T = TranslatEnglishMap[pRptName_T]; | 
|     } | 
|     peSettings['Report' + chartNum + '_Title'] = pRptName_T; | 
|     if (records.length > 0 || Object.keys(records).length > 0) { | 
|         chartJObj.children('div.loadingMask').hide(); | 
|         success(records, chartNum); | 
|     } else { | 
|         chartJObj.children('div.loadingMask').children('div.loadingPanel').text(pRptName_T).css('background', 'none').css('width', 'auto'); | 
|         chartJObj.children('div.loadingMask').children('span.loadingMsg').text(noResultMessage); | 
|         chartJObj.children('div.loadingMask').css('z-index', '0'); | 
|     } | 
| } | 
| /* | 
| http://www.mediacollege.com/internet/javascript/form/limit-characters.html | 
| */ | 
| function limitText(limitField, limitNum) { | 
|     var limitCount = jQuery(limitField).parent().children('input.countdown'); | 
|     limitCount = limitCount[0]; | 
|     if (limitField.value.length > limitNum) { | 
|         limitField.value = limitField.value.substring(0, limitNum); | 
|     } else { | 
|         limitCount.value = limitNum - limitField.value.length; | 
|     } | 
| } | 
|   | 
| function chartJqplotInit(chartJObj, smarmClip) { | 
|     var jParent = chartJObj.parent(); | 
|     var pRpt = jParent.attr('class').split(" ")[1].substr(10); | 
|     jParent.append('<img class="reportComment" src="/resource/plusicon" onclick="reportComment(this, arguments[0], \'' + pRpt + '\');"/>'); | 
|     // 個人評価画面のみ出す | 
|     var pPlist = jQuery(escapeVfId('Page:Form:selectPlist')).value(); | 
|     if (pPlist == undefined || pPlist == "") { | 
|         if (smarmClip == "1") { | 
|             jParent.append('<input class="smarmClip" type="checkbox" onclick="convertCanvas(this, arguments[0], \'' + pRpt + '\');" checked/>'); | 
|         } else { | 
|             jParent.append('<input class="smarmClip" type="checkbox" onclick="convertCanvas(this, arguments[0], \'' + pRpt + '\');"/>'); | 
|         } | 
|     } | 
|     chartJObj.bind("click", {pRptNum: pRpt}, function(e) { | 
|         var pRptNum = e.data.pRptNum; | 
|         var pRptKey = pRptNum.split("_"); | 
|         var pRptId = personalEvaluationMap[pRptKey[0]]['Report' + pRptKey[1] + '_' + pRptKey[2] + '__c']; | 
|         if (pRptId.indexOf('00O') == 0) { | 
|             var pUser = jQuery(escapeVfId('Page:Form:selectUser')).val().substr(0,15); | 
|             var pPlist = jQuery(escapeVfId("Page:Form:selectPlist")).value(); | 
|             pRptId = pRptId.replace(":userId", pUser); | 
|             pRptId = pRptId.replace(":Plist", pPlist); | 
|             window.open("/" + pRptId, "_blank"); | 
|         } | 
|     }); | 
| } | 
|   | 
| function reportComment(pImg, e, pRptNum) { | 
|     var e = e || window.event; | 
|     var jImg = jQuery(pImg); | 
|     var jPop = jImg.next(); | 
|     if (jPop.size() > 0 && jPop.attr("id") == "reportCommentPop") { | 
|         if (inputFieldOrigin != undefined) { | 
|             // onchangeを元に戻す | 
|             inputFieldOrigin.setAttribute("onchange", originAttr); | 
|             // inputFieldの値もクリア | 
|             jQuery(escapeVfId('Page:inTab:component:Form:userForComment_lkid')).val(""); | 
|             jQuery(escapeVfId('Page:inTab:component:Form:userForComment_lkold')).val(""); | 
|             jQuery(escapeVfId('Page:inTab:component:Form:userForComment')).val(""); | 
|         } | 
|         jPop.remove(); | 
|     } else { | 
|         jQuery("#reportCommentPop").remove(); | 
|         jImg.after(jQuery("#reportCommentPopWrapper").html()); | 
|         jPop = jImg.next();     // 再度取得し直す必要があります。 | 
|         jPop.attr("id", "reportCommentPop"); | 
|         jPop.attr("report", pRptNum); | 
|         var reportCommentList = jPop.children('iframe.reportCommentList'); | 
|         var pUser = jQuery(escapeVfId('Page:Form:selectUser')).val(); | 
|         var pRptKey = pRptNum.split("_"); | 
|         var pRptName = personalEvaluationMap[pRptKey[0]]['Report' + pRptKey[1] + '_' + pRptKey[2] + '_Name__c']; | 
|         var pPlist = jQuery(escapeVfId('Page:Form:selectPlist')).value(); | 
|         // 省 | 
|         if (pPlist != undefined && pPlist != "") { | 
|             reportCommentList[0].contentDocument.location.replace('/apex/PersonalEvaluationCommentList?province=' + pPlist + '&rpt=' + encodeURI(pRptName)); | 
|         } | 
|         // 個人 | 
|         else { | 
|             reportCommentList[0].contentDocument.location.replace('/apex/PersonalEvaluationCommentList?user=' + pUser + '&rpt=' + encodeURI(pRptName)); | 
|         } | 
|          | 
|         if (inputFieldOrigin != undefined) { | 
|             var attr = originAttr + "copyValToFake(this.value);"; | 
|             inputFieldOrigin.setAttribute("onchange", attr); | 
|         } | 
|     } | 
|     e.stopPropagation(); | 
| } | 
|   | 
| function copyValToFake(val) { | 
|     var inputFieldFake = jQuery("#reportCommentPop .lookupInput")[0].childNodes[0]; | 
|     inputFieldFake.value = val; | 
| } | 
|   | 
| function saveReportComment(pBtn) { | 
|     var jBtn = jQuery(pBtn); | 
|     var jPop = jBtn.parent(); | 
|     var pRptNum = jPop.attr("report"); | 
|     var pRptKey = pRptNum.split("_"); | 
|     var pRptName = personalEvaluationMap[pRptKey[0]]['Report' + pRptKey[1] + '_' + pRptKey[2] + '_Name__c']; | 
|     jBtn.hide(); | 
|     var limitField = jPop.children('textarea.limitedtextarea'); | 
|     limitField = limitField[0]; | 
|     var limitFieldValue = limitField.value; | 
|     if (limitFieldValue.length > 0) { | 
|         var pUser = jQuery(escapeVfId('Page:Form:selectUser')).val(); | 
|         var pProvinceUser = jQuery(escapeVfId('Page:inTab:component:Form:userForComment_lkid')).val(); | 
|         var pPlist = jQuery(escapeVfId('Page:Form:selectPlist')).value(); | 
|         // 省チェック | 
|         if (pPlist != undefined && pPlist != "" && pProvinceUser == "000000000000000") { | 
|             alert("必须选择用户"); | 
|             jBtn.show(); | 
|             return; | 
|         } | 
|          | 
|         limitField.value = "发送中..."; | 
|          | 
|         var div = jQuery(escapeVfId("chart" + pRptKey[1] + '_' + pRptKey[2]))[0]; | 
|         //var div = jQuery(escapeVfId("chart" + pRptKey[2]))[0]; | 
|         html2canvas(div, { onrendered: function(canvas) { | 
|             var imgData = canvas.toDataURL(); | 
|             // 省なし⇒個人評価 | 
|             if (pPlist == "") { | 
|                 PersonalEvaluationController.saveComment(pUser, "01210000000RDuV", pRptName, limitFieldValue, imgData, "", pRptName, pRptNum, function(res, event) { | 
|                 jPop.remove(); | 
|                 if(event.status) { | 
|                     PersonalEvaluationController.sendPeEmail(res.Id, function(res2, event2) { | 
|                     if(event2.status) { | 
|                         var click_T = "发送完毕"; | 
|                         if (loginUserLanguage == 'en_US' && click_T in TranslatEnglishMap) { | 
|                             click_T = TranslatEnglishMap[click_T]; | 
|                         } | 
|                         alert(click_T); | 
|                     } else { | 
|                         alert(event2.message); | 
|                     }}, {buffer: false, escape: true, timeout: 20000}); | 
|                 } else { | 
|                     alert(event.message); | 
|                 }}, {buffer: false, escape: true, timeout: 20000}); | 
|             } | 
|             // 省あり⇒省評価 | 
|             else { | 
|                 ProvinceEvaluationController.saveComment(pProvinceUser, "01210000000RDuV", pRptName, limitFieldValue, imgData, "", pRptName, pRptNum, pPlist, function(res, event) { | 
|                 jPop.remove(); | 
|                 if(event.status) { | 
|                     PersonalEvaluationController.sendPeEmail(res.Id, function(res2, event2) { | 
|                     if(event2.status) { | 
|                         var click_T = "发送完毕"; | 
|                         if (loginUserLanguage == 'en_US' && click_T in TranslatEnglishMap) { | 
|                             click_T = TranslatEnglishMap[click_T]; | 
|                         } | 
|                         alert(click_T); | 
|                     } else { | 
|                         alert(event2.message); | 
|                     }}, {buffer: false, escape: true, timeout: 20000}); | 
|                 } else { | 
|                     alert(event.message); | 
|                 }}, {buffer: false, escape: true, timeout: 20000}); | 
|             } | 
|         }}); | 
|     } else { | 
|         jPop.remove(); | 
|     } | 
| } | 
|   | 
| function saveTabComment(pBtn) { | 
|     var jBtn = jQuery(pBtn); | 
|     var jPop = jBtn.parent(); | 
|     var pTab = jPop.attr("tab"); | 
|     jBtn.hide(); | 
|     var limitField = jPop.children('textarea.limitedtextarea'); | 
|     limitField = limitField[0]; | 
|     var limitFieldValue = limitField.value; | 
|     if (limitFieldValue.length > 0) { | 
|         var pUser = jQuery(escapeVfId('Page:Form:selectUser')).val(); | 
|         limitField.value = "发送中..."; | 
|         PersonalEvaluationController.saveComment(pUser, "01210000000RDua", pTab, limitFieldValue, "", pTab, "", "", function(res, event) { | 
|             limitField.value = ""; | 
|             jBtn.show(); | 
|             if(event.status) { | 
|                 var click_T = "发送完毕"; | 
|                 if (loginUserLanguage == 'en_US' && click_T in TranslatEnglishMap) { | 
|                     click_T = TranslatEnglishMap[click_T]; | 
|                 } | 
|                 alert(click_T); | 
|                 var jTabF = jQuery("#tabComment"); | 
|                 jTabF[0].src = "/apex/PersonalEvaluationCommentList?user=" + pUser + "&tab=" + pTab + "&expand=1&t=" + (new Date()).getTime(); | 
|             } else { | 
|                 alert(event.message); | 
|             } | 
|         }, {buffer: false, escape: true, timeout: 20000}); | 
|     } else { | 
|         jBtn.show(); | 
|     } | 
| } | 
| /*******************************************************************************/ | 
| // jqPlot にて グラフを描画 | 
| tick1KFmt = function (format, val) { | 
|     if (val == 0) return 0; | 
|     var num = val; | 
|     var unitStr = ""; | 
|     if (num >= 10000) { | 
|         num = num / 1000; | 
|         unitStr = "K"; | 
|         if (num >= 10000) { | 
|             num = num / 1000; | 
|             unitStr = "M"; | 
|         } | 
|     } | 
|     var numStr = String(Math.round(num * 10) /10).replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');  | 
|     if (numStr == "0") { | 
|         return Math.round(val * 10) /10; | 
|     } else { | 
|         return numStr + unitStr; | 
|     } | 
| }; | 
| targetPercent2Fmt = function (val1, targetSum) { | 
|     if (targetSum == 0) return "0"; | 
|     return "" + (Math.round(val1 * 10000 / targetSum) / 100); | 
| }; | 
| targetPercentFmt = function (val1, targetSum) { | 
|     if (targetSum == 0) return "0"; | 
|     return "" + (Math.round(val1 * 100 / targetSum)); | 
| }; | 
| /*******************************************************************************/ | 
| function convertCanvas(pChk, e, rIdx) { | 
|     var e = e || window.event; | 
|     // report nameを取得 | 
|     var pRptKey = rIdx.split("_"); | 
|     var pRptName = personalEvaluationMap[pRptKey[0]]['Report' + pRptKey[1] + '_' + pRptKey[2] + '_Name__c']; | 
|      | 
|     // chart divを取得 | 
|     var div = jQuery(escapeVfId("chart" + pRptKey[1] + '_' + pRptKey[2]))[0]; | 
|     if (div != undefined) { | 
|         html2canvas(div, { onrendered: function(canvas) { | 
|             var imgData = canvas.toDataURL(); | 
|             var target = jQuery(escapeVfId("Page:Form:selectUser")).value(); | 
|              | 
|             var result = null; | 
|             PersonalEvaluationController.upsertSmarm(target, pRptName, imgData, pChk.checked, function(res, event) { | 
|             if (event.status) { | 
|                 result = res; | 
|                 // 画像数を更新 | 
|                 drawSmarmLink(result); | 
|             } else { | 
|                 alert(event.message); | 
|             }}, {buffer: false, escape: true, timeout: 20000}); | 
|         }}); | 
|     } | 
|     e.stopPropagation(); | 
| } | 
|   | 
| function drawSmarmLink(smartResult) { | 
|     var smarmlink = parent.jQuery('#smarmLink'); | 
|     var click_T = "点击可新建下属指导"; | 
|     if (loginUserLanguage == 'en_US' && click_T in TranslatEnglishMap) { | 
|         click_T = TranslatEnglishMap[click_T]; | 
|     } | 
|     if (smartResult["SmarmId"] != "" && smartResult["SmarmId"] != undefined) { | 
|         smarmlink.html('<a href="#" onclick="window.open(\'/apex/PersonalEvaluationClipEdit?id=' + smartResult["SmarmId"] + '\', \'_blank\');" style="text-decoration:none;">' | 
|                         + '<img src="/resource/clipImg" width="20px" height="20px">' | 
|                         + '<font size="3"><b>' | 
|                         + smartResult["ClipCnt"] | 
|                         + '</b></font>' + click_T + '</img></a>'); | 
|     } | 
| } |