| /*  | 
|  * 备品借出申请  | 
|  */  | 
| (function(win) {  | 
|     //*******************************************************************************************************  | 
|     // パラメータ  | 
|     //*******************************************************************************************************  | 
|     TEXT_AREA_ID = "00N10000003MspG";  | 
|     LOCAL_HREF = document.location.href;  | 
|     SPLIT_ROW = "\n";  | 
|     SPLIT_COL1 = ",";  | 
|     SPLIT_COL2 = "(";  | 
|     SPLIT_COL3 = ")";  | 
|     | 
|     //*******************************************************************************************************  | 
|     // textareaをtableに変換  | 
|     //*******************************************************************************************************  | 
|     win._sfMakeTextAreaTable = function() {  | 
|         var ins = document.getElementById(TEXT_AREA_ID);  | 
|         var insVal = ins.value;  | 
|         var tbl = document.createElement("table");  | 
|           | 
|         // ヘッダ作成  | 
|         var th1 = document.createElement("th");th1.style.width="150px";  | 
|         var th2 = document.createElement("th");th2.style.width="30px";  | 
|         var th3 = document.createElement("th");th3.style.width="150px";  | 
|         th1.innerHTML = "型式";  | 
|         th2.innerHTML = "数量";  | 
|         th3.innerHTML = "备注";  | 
|         tbl.appendChild(th1);  | 
|         tbl.appendChild(th2);  | 
|         tbl.appendChild(th3);  | 
|           | 
|         var tr;  | 
|         var td;  | 
|           | 
|         if (insVal != "") {  | 
|             var rows = insVal.split(SPLIT_ROW);  | 
|             for (var i = 0; i < rows.length; i++) {  | 
|                 tr = document.createElement("tr");  | 
|   | 
|                 var idx1 = rows[i].indexOf(SPLIT_COL1);  | 
|                 if (idx1 > 0) {  | 
|                     var col1 = rows[i].substring(0, idx1);  | 
|                     var col2 = rows[i].substring(idx1 + 1);  | 
|                       | 
|                     td = document.createElement("td");  | 
|                     td.innerHTML = "<input type='text' style='width:95%;' value='" + col1 + "' onchange='_sfMakeTextAreaStr();' />";  | 
|                     tr.appendChild(td);  | 
|                       | 
|                     var cols = col2.split(SPLIT_COL2);  | 
|                     td = document.createElement("td");  | 
|                     td.innerHTML = "<input type='text' style='width:95%;' value='" + cols[0] + "' onchange='_sfMakeTextAreaStr();' />";  | 
|                     tr.appendChild(td);  | 
|                       | 
|                     if (cols.length > 1) {  | 
|                         td = document.createElement("td");  | 
|                         td.innerHTML = "<input type='text' style='width:95%;' value='" + cols[1].substring(0, cols[1].length - 1) + "' onchange='_sfMakeTextAreaStr();' />";  | 
|                         tr.appendChild(td);  | 
|                     } else {  | 
|                         td = document.createElement("td");  | 
|                         td.innerHTML = "<input type='text' value='' onchange='_sfMakeTextAreaStr();' />";  | 
|                         tr.appendChild(td);  | 
|                     }  | 
|                 } else {  | 
|                     td = document.createElement("td");  | 
|                     td.innerHTML = "<input type='text' value='" + rows[i] + "' onchange='_sfMakeTextAreaStr();' />";  | 
|                     tr.appendChild(td);  | 
|                       | 
|                     td = document.createElement("td");  | 
|                     td.innerHTML = "<input type='text' value='' onchange='_sfMakeTextAreaStr();' />";  | 
|                     tr.appendChild(td);  | 
|                       | 
|                     td = document.createElement("td");  | 
|                     td.innerHTML = "<input type='text' value='' onchange='_sfMakeTextAreaStr();' />";  | 
|                     tr.appendChild(td);  | 
|                 }  | 
|                   | 
|                 tbl.appendChild(tr);  | 
|             }  | 
|         }  | 
|           | 
|         // 後ろ常に五行追加  | 
|         for (var i = 0; i < 5; i++) {  | 
|             tr = document.createElement("tr");  | 
|             for (var j = 0; j < 3; j++) {  | 
|                 td = document.createElement("td");  | 
|                 td.innerHTML = "<input type='text' style='width:95%;' value='' onchange='_sfMakeTextAreaStr();' />";  | 
|                 tr.appendChild(td);  | 
|             }  | 
|             tbl.appendChild(tr);  | 
|         }  | 
|           | 
|         tbl.id = ins.id+"_new";  | 
|         tbl.name = ins.name;  | 
|         var insertedNode = ins.parentNode.insertBefore(tbl, ins);  | 
|         ins.style.display="none";  | 
|           | 
|         // インラインDialogの場合  | 
|         var origEnter = sfdcPage.getDialogById('InlineEditDialog').enter;  | 
|         var origCancel = sfdcPage.getDialogById('InlineEditDialog').cancel;  | 
|         var inlineEnter = function() {  | 
|             sfdcPage.getDialogById('InlineEditDialog').enter = origEnter;  | 
|             sfdcPage.getDialogById('InlineEditDialog').cancel = origCancel;  | 
|             _sfMakeTextAreaStr();  | 
|             if (sfdcPage.getInlineEditData().closeCurrentField()) {  | 
|                 sfdcPage.getDialogById("InlineEditDialog").hide();  | 
|             }  | 
|             ins.style.display="block";  | 
|             ins.parentNode.removeChild(insertedNode);  | 
|         }  | 
|         var inlineCancel = function() {  | 
|             sfdcPage.getDialogById('InlineEditDialog').enter = origEnter;  | 
|             sfdcPage.getDialogById('InlineEditDialog').cancel = origCancel;  | 
|             ins.value = insVal;  | 
|             if (sfdcPage.getInlineEditData().closeCurrentField()) {  | 
|                 sfdcPage.getDialogById("InlineEditDialog").hide();  | 
|             }  | 
|             ins.style.display="block";  | 
|             ins.parentNode.removeChild(insertedNode);  | 
|         }  | 
|         sfdcPage.getDialogById('InlineEditDialog').enter = inlineEnter;  | 
|         sfdcPage.getDialogById('InlineEditDialog').cancel = inlineCancel;  | 
|   | 
|         // インラインDialogの場合、OKとキャンセルボタンがあります。  | 
|         var e = document.getElementById("InlineEditDialog_buttons");  | 
|         if (e) {  | 
|             if (e = e.firstChild) {  | 
|                 e.setAttribute("onclick", "sfdcPage.getDialogById('InlineEditDialog').enter();");  | 
|             }  | 
|             if (e = e.nextSibling) {  | 
|                 e.setAttribute("onclick", "sfdcPage.getDialogById('InlineEditDialog').cancel();");  | 
|             }  | 
|         }  | 
|     }  | 
|   | 
|     //*******************************************************************************************************  | 
|     // tableの値をtextareaに書き戻す  | 
|     //*******************************************************************************************************  | 
|     win._sfMakeTextAreaStr = function() {  | 
|         var tbl = document.getElementById(TEXT_AREA_ID + "_new");  | 
|         var trs = tbl.getElementsByTagName('tr');  | 
|         var finalStr = "";  | 
|         for (var i = 0; i < trs.length; i++) {  | 
|             for (var j = 0; j < trs[i].cells.length; j++) {  | 
|                 var cell = trs[i].cells[j];  | 
|                 var cellVal = cell.childNodes[0].value;  | 
|                   | 
|                 if (j == 0) {  | 
|                     if (cellVal == "") break;;  | 
|                     finalStr += cellVal;  | 
|                 }  | 
|                 if (j == 1) {  | 
|                     if (cellVal == "") cellVal = 0;  | 
|                     finalStr += SPLIT_COL1 + cellVal;  | 
|                 }  | 
|                 if (j == 2) {  | 
|                     if (cellVal == "") {  | 
|                         finalStr += SPLIT_ROW;  | 
|                     } else {  | 
|                         finalStr += SPLIT_COL2 + cellVal + SPLIT_COL3 + SPLIT_ROW;  | 
|                     }  | 
|                 }  | 
|             }  | 
|         }  | 
|         // trim  | 
|         finalStr = finalStr.replace(/(^\s+)|(\s+$)/g, "");  | 
|         // テキストエリア項目に書き戻す  | 
|         document.getElementById(TEXT_AREA_ID).value = finalStr;  | 
|     }  | 
|       | 
|     //*******************************************************************************************************  | 
|     // 初期処理  | 
|     //*******************************************************************************************************  | 
|     var run = function() {  | 
|         if (LOCAL_HREF.match(/\/e/)) {  | 
|             _sfMakeTextAreaTable();  | 
|         } else {  | 
|             // インライン編集の対応  | 
|             var originalEvent = document.getElementById(TEXT_AREA_ID + "_ilecell");  | 
|             if (originalEvent) {  | 
|                 addEvent(originalEvent, "dblclick", function(elems) {  | 
|                     return function(deepDataAndEvents) {  | 
|                         if (win.sfdcPage) {  | 
|                             if (win.sfdcPage.hasRun) {  | 
|                                 sfdcPage.dblClickField(deepDataAndEvents, elems);  | 
|                                 setTimeout("_sfMakeTextAreaTable()", 500);  | 
|                             }  | 
|                         }  | 
|                     };  | 
|                 }(originalEvent));  | 
|                 addEvent(originalEvent, "keypress", function(elems) {  | 
|                     return function(e) {  | 
|                         if (win.sfdcPage) {  | 
|                             if (win.sfdcPage.hasRun && (e && e.keyCode == KEY_ENTER)) {  | 
|                                 sfdcPage.dblClickField(e, elems);  | 
|                                 setTimeout("_sfMakeTextAreaTable()", 500);  | 
|                             }  | 
|                         }  | 
|                     };  | 
|                 }(originalEvent));  | 
|             }  | 
|         }  | 
|     }  | 
|     if (win.sfdcPage) {  | 
|         sfdcPage.appendToOnloadQueue(function() {  | 
|             if (LOCAL_HREF.match(/\/a0t/)) {  | 
|                 run();  | 
|             }  | 
|         });  | 
|     }  | 
| })(window);  | 
|    |