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 ""; 
 | 
    } 
 | 
}; 
 |