pds.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. *+------------------------------------------------------------------------+
  3. *| Licensed Materials - Property of IBM
  4. *| BI and PM: prmt
  5. *| (C) Copyright IBM Corp. 2002, 2011
  6. *|
  7. *| US Government Users Restricted Rights - Use, duplication or
  8. *| disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  9. *|
  10. *+------------------------------------------------------------------------+
  11. */
  12. // function for the Prompt Data Source dialog.
  13. function F_pdsCallback( v_oState, v_sInvoke )
  14. {
  15. var v_fCallback = null;
  16. switch( v_sInvoke )
  17. {
  18. case "parent":
  19. v_fCallback = ( parent ? parent.pdsCallback : null );
  20. break;
  21. case "opener":
  22. v_fCallback = ( window && window.opener ? window.opener.pdsCallback : null );
  23. break;
  24. default:
  25. v_fCallback = ( typeof pdsCallback != "undefined" ? pdsCallback : null);
  26. if ( !F_isValidFunction( v_fCallback ) )
  27. {
  28. v_fCallback = ( parent ? parent.pdsCallback : null );
  29. }
  30. if ( !F_isValidFunction( v_fCallback ) )
  31. {
  32. v_fCallback = ( window && window.opener ? window.opener.pdsCallback : null );
  33. }
  34. break;
  35. }
  36. if ( F_isValidFunction( v_fCallback ) )
  37. {
  38. try
  39. {
  40. v_fCallback( v_oState );
  41. }
  42. catch (e)
  43. {
  44. var v_sMsg = "";
  45. if ( e && e.name )
  46. {
  47. v_sMsg += e.name + "\n";
  48. }
  49. if ( e && e.message )
  50. {
  51. v_sMsg += e.message;
  52. }
  53. if ( v_sMsg )
  54. {
  55. alert( v_sMsg );
  56. }
  57. }
  58. }
  59. }
  60. function F_isValidFunction( v_fct )
  61. {
  62. // For IE: typeof window.opener.pdsCallback will be 'object', not the expected 'function'.
  63. var v_sType = (typeof v_fct);
  64. return ( v_sType != "undefined" && v_sType == "function" || ( v_sType == "object" && v_fct !== null ) );
  65. }
  66. function F_pdsSetFormValue( v_sName, v_sValue )
  67. {
  68. if ( document.formWarpRequest[ v_sName ] )
  69. {
  70. document.formWarpRequest[ v_sName ].value = v_sValue;
  71. }
  72. else
  73. {
  74. var temp = createInputElement( v_sName, v_sValue );
  75. document.formWarpRequest.appendChild( temp );
  76. document.formWarpRequest[ v_sName ] = temp;
  77. }
  78. }
  79. function createInputElement(name, value)
  80. {
  81. var newInputElement = document.createElement("input");
  82. newInputElement.setAttribute("name", name);
  83. newInputElement.setAttribute("value", value);
  84. newInputElement.setAttribute("type", "hidden");
  85. return(newInputElement);
  86. }