| function keyCheck(keyCodes, num, str){ | 
|     if(keyCodes == 46 || keyCodes == 8 || keyCodes == 37 || keyCodes == 39 || keyCodes == 9){ | 
|         return true; | 
|     } | 
|     else if(str.value.length < num && ((keyCodes >= 48 && keyCodes <= 57) || (keyCodes >= 95 && keyCodes <= 105))){ | 
|         return true; | 
|     } | 
|     else{ | 
|         return false; | 
|     } | 
| } | 
| function keyCheckAmount(keyCodes, num, str){ | 
|     if(keyCodes == 46 || keyCodes == 8 || keyCodes == 37 || keyCodes == 39 || keyCodes == 9){ | 
|         return true; | 
|     } | 
|     else if(str.value.length < num && ((keyCodes >= 48 && keyCodes <= 57) || (keyCodes >= 95 && keyCodes <= 105) || keyCodes == 110 || keyCodes == 190)){ | 
|         return true; | 
|     } | 
|     else{ | 
|         return false; | 
|     } | 
| } | 
| function onKeyEvent(e) { | 
|     e = e || window.event; | 
|     if(e.keyCode == 13){ //Enter キー | 
|         return false;   //無効 | 
|     } | 
|     return true; | 
| } | 
|   | 
| function escapeVfId(vfId) { | 
|     return '#' + vfId.replace(/(:|\.)/g,'\\$1'); | 
| } | 
|   | 
| //function escapeURI(pOrg) { | 
| //    var rtn = pOrg | 
| //    rtn = rtn.split("!").join("%21"); | 
| //    rtn = rtn.split("#").join("%23"); | 
| //    rtn = rtn.split("$").join("%24"); | 
| //    rtn = rtn.split("%").join("%25"); | 
| //    rtn = rtn.split("'").join("%27"); | 
| //    rtn = rtn.split("(").join("%28"); | 
| //    rtn = rtn.split(")").join("%29"); | 
| //    rtn = rtn.split("*").join("%2A"); | 
| //    rtn = rtn.split("+").join("%2B"); | 
| //    rtn = rtn.split(",").join("%2C"); | 
| //    rtn = rtn.split("-").join("%2D"); | 
| //    rtn = rtn.split(".").join("%2E"); | 
| //    rtn = rtn.split("/").join("%2F"); | 
| //    rtn = rtn.split(":").join("%3A"); | 
| //    rtn = rtn.split(";").join("%3B"); | 
| //    rtn = rtn.split("=").join("%3D"); | 
| //    rtn = rtn.split("?").join("%3F"); | 
| //    rtn = rtn.split("@").join("%40"); | 
| //    rtn = rtn.split("_").join("%5F"); | 
| //    rtn = rtn.split("~").join("%7E"); | 
| //    rtn = rtn.split(" ").join("+"); | 
| //    return rtn; | 
| //} | 
|   | 
| function isArray(o){ | 
|     return o != null && typeof o === "object" && 'pop' in o && 'join' in o; | 
| } | 
|   | 
| function scrollbarWidth() { | 
|     var $inner = jQuery('<div style="width: 100%; height:200px;">test</div>'), | 
|         $outer = jQuery('<div style="width:200px;height:150px; position: absolute; top: 0; left: 0; visibility: hidden; overflow:hidden;"></div>').append($inner), | 
|         inner = $inner[0], | 
|         outer = $outer[0]; | 
|       | 
|     jQuery('body').append(outer); | 
|     var width1 = inner.offsetWidth; | 
|     $outer.css('overflow', 'scroll'); | 
|     var width2 = outer.clientWidth; | 
|     $outer.remove(); | 
|   | 
|     return (width1 - width2); | 
| } | 
|   | 
| function setButtonDisable(object, status){ | 
|     if(!(object.id == 'idGetActive' || object.id == 'Page:mainForm:idDayEdit:idReportDate')) { | 
|         object.disabled = status; | 
|     } | 
|     if(object.id != 'idGetActive' && object.tagName.toLowerCase() == "input" && (object.type.toLowerCase() == "button" || object.type.toLowerCase() == "submit")) { | 
|         if(status == true) { | 
|             object.style.cursor = "default"; | 
|             object.style.backgroundPosition = "0 -90px"; | 
|             object.style.borderColor = "#C4C4C4"; | 
|             object.style.color = "#909090"; | 
|              | 
|         } else { | 
|             object.style.backgroundPosition = ""; | 
|             object.style.color = ""; | 
|             object.style.cursor = "pointer"; | 
|             object.style.borderColor = "#B5B5B5 #B5B5B5 #7F7F7F"; | 
|         } | 
|     } | 
| } | 
|   | 
| function setButtonsDisable(jObj, status){ | 
|     jObj.each(function(index) { | 
|         setButtonDisable(this, status); | 
|     }); | 
| } | 
|   | 
| function number_format_common (number, decimals, dec_point, thousands_sep) { | 
|   number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); | 
|   var n = !isFinite(+number) ? 0 : +number, | 
|     prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), | 
|     sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, | 
|     dec = (typeof dec_point === 'undefined') ? '.' : dec_point, | 
|     s = '', | 
|     toFixedFix = function (n, prec) { | 
|       var k = Math.pow(10, prec); | 
|       return '' + Math.round(n * k) / k; | 
|     }; | 
|   // Fix for IE parseFloat(0.55).toFixed(0) = 0; | 
|   s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); | 
|   if (s[0].length > 3) { | 
|     s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); | 
|   } | 
|   if ((s[1] || '').length < prec) { | 
|     s[1] = s[1] || ''; | 
|     s[1] += new Array(prec - s[1].length + 1).join('0'); | 
|   } | 
|   return ( s.join(dec)); | 
| } | 
|   | 
| function toNum( input) { | 
|     return number_format_common( input, 2, ".", ""); | 
| } | 
|   | 
| function toNumComma( input) { | 
|     return number_format_common( input, 2, ".", ","); | 
| } | 
|   | 
| function localParseFloat( input) { | 
|     input += ""; | 
|     input = input.split(" "); | 
|     if (input.length > 1) { | 
|         input = input[1]; | 
|     } else { | 
|         input = input[0]; | 
|     } | 
|     input = input.replace(/,/g, ""); | 
|     input = input.replace(/ /g, ""); | 
|     if ( input == '' || isNaN( input)) { | 
|         input = 0.00; | 
|     } | 
|     input = parseFloat(input); | 
|     return input; | 
| } | 
| function localParseInt( input) { | 
|     input += ""; | 
|     input = input.split(" "); | 
|     if (input.length > 1) { | 
|         input = input[1]; | 
|     } else { | 
|         input = input[0]; | 
|     } | 
|     input = input.replace(/,/g, ""); | 
|     input = input.replace(/ /g, ""); | 
|     if ( input == '' || isNaN( input)) { | 
|         input = 0; | 
|     } | 
|     input = parseInt(input); | 
|     return input; | 
| } | 
|   | 
| function SFDCAddRemote(sessionId) { | 
|     var binding = new XMLHttpRequest(); | 
|     var request =  | 
|         '<?xml version="1.0" encoding="utf-8"?>' +  | 
|         '<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+ | 
|             '<env:Header>' +  | 
|                 '<urn:SessionHeader xmlns:urn="http://soap.sforce.com/2006/04/metadata">' +  | 
|                     '<urn:sessionId>'+sessionId+'</urn:sessionId>' +  | 
|                 '</urn:SessionHeader>' +  | 
|             '</env:Header>' +  | 
|             '<env:Body>' + | 
|                 '<createMetadata xmlns="http://soap.sforce.com/2006/04/metadata">' +  | 
|                     '<metadata xsi:type="RemoteSiteSetting">' +  | 
|                         '<fullName>SoapApi_'+window.location.hostname.split('.')[1]+'</fullName>' +  | 
|                         '<description>for Metadata API</description>' +  | 
|                         '<disableProtocolSecurity>false</disableProtocolSecurity>' +  | 
|                         '<isActive>true</isActive>' +  | 
|                         '<url>https://' + window.location.hostname + '</url>' + | 
|                     '</metadata>' + | 
|                 '</createMetadata>' + | 
|             '</env:Body>' +  | 
|         '</env:Envelope>'; | 
|     binding.open('POST', 'https://' + window.location.hostname + '/services/Soap/m/31.0'); | 
|     binding.setRequestHeader('SOAPAction','""'); | 
|     binding.setRequestHeader('Content-Type', 'text/xml'); | 
|     binding.onreadystatechange =  | 
|         function() {  | 
|             if(this.readyState==4 && this.status == 200) { | 
|                 var parser = new DOMParser(); | 
|                 var doc  = parser.parseFromString(this.response, 'application/xml'); | 
|                 var errors = doc.getElementsByTagName('errors'); | 
|                 if (errors != null && errors.length > 0) { | 
|                     var messageText = ''; | 
|                     for(var errorIdx = 0; errorIdx < errors.length; errorIdx++) | 
|                         messageText+= errors.item(errorIdx).getElementsByTagName('message').item(0).innerHTML + '\n'; | 
|                     alert("Error:"+messageText); | 
|                 } else { | 
|                     alert("Remote Site Added! Please Refresh!"); | 
|                 } | 
|             } | 
|         } | 
|     binding.send(request); | 
| } | 
|   | 
| //TODO javascript DML メッセージ表示用のところ全部変更する必要がります。ここはあってます | 
| var getConnectDMLErrorMessages = function (results) { | 
|     var messages = [], | 
|         i = 0, | 
|         len = results.length, | 
|         r; | 
|     for (; i < len; i++) { | 
|         r = results[i]; | 
|         if (! r.getBoolean("success")) { | 
|             messages = messages.concat(getConnectDMLMessagesOfAResult(r)); | 
|         } | 
|     } | 
|     return messages; | 
| }; | 
| var getConnectDMLMessagesOfAResult = function (res) { | 
|     var messages = [], | 
|         errors = res.getArray("errors"), | 
|         i = 0, | 
|         len = errors.length, | 
|         e; | 
|     for (; i < len; i++) { | 
|         e = errors[i]; | 
|         messages.push(e.message + "  " + getConnectDMLErrorFields(e)); | 
|     } | 
|     return messages; | 
| }; | 
| var getConnectDMLErrorFields = function (error) { | 
|     var fields = error.getArray('fields'); | 
|     if (fields.length > 0) { | 
|         return "[" + fields.join(",") + "]" | 
|     } else { | 
|         return ""; | 
|     } | 
| }; |