1. /*
  2.  * isim : jQuery myDialog Plugin
  3.  * sürüm : v1.0 (20 Ağustos 2010)
  4.  * adres : http://www.eburhan.com/araclar/
  5.  * yazar : Erhan BURHAN (eburhan)
  6.  *
  7.  * Telif Hakkı (c) 2010 eburhan
  8.  * MIT ve GPL lisansları altında kullanılabilir
  9.  * http://www.opensource.org/licenses/mit-license.php
  10.  * http://www.gnu.org/licenses/gpl.html
  11.  */
  12. (function($) {
  13. $.myDialog = {
  14. overlayOpacity: 0.6,
  15. overlayColor: '#000',
  16. overlayImage: true,
  17.  
  18. // genel metotlar
  19. alert: function(msg) {
  20. $.myDialog._showOverlay();
  21. alert(msg);
  22. $.myDialog._hideOverlay();
  23. },
  24.  
  25. confirm: function(msg) {
  26. $.myDialog._showOverlay();
  27. var cvp = confirm(msg);
  28. $.myDialog._hideOverlay();
  29. return cvp;
  30. },
  31.  
  32. prompt: function(msg, val) {
  33. val = val || '';
  34. $.myDialog._showOverlay();
  35. var cvp = prompt(msg, val);
  36. $.myDialog._hideOverlay();
  37. return cvp;
  38. },
  39.  
  40. // sınıf içi metotlar
  41. _makeOverlay: function() {
  42. // native js candır :)
  43. var _divObj = document.createElement('div');
  44.  
  45. // overlay elemanının en temel özelliklerini set et
  46. _divObj.id = 'myDialogOverlay';
  47. _divObj.style.position = 'absolute';
  48. _divObj.style.display = 'none';
  49. _divObj.style.zIndex = 30300;
  50. _divObj.style.backgroundRepeat = 'repeat';
  51.  
  52. // overlay elemanını, ilk bulduğun body'ye child olarak ekle
  53. document.getElementsByTagName('body')[0].appendChild(_divObj);
  54. },
  55.  
  56. _showOverlay: function() {
  57. var _winObj = $(window);
  58.  
  59. $('#myDialogOverlay').css({
  60. top: _winObj.scrollTop(),
  61. left: _winObj.scrollLeft(),
  62. width: _winObj.width(),
  63. height: _winObj.height(),
  64. display: 'block',
  65. opacity: $.myDialog.overlayOpacity,
  66. backgroundColor: $.myDialog.overlayColor,
  67. backgroundImage: $.myDialog.overlayImage ? 'url(jquery.myDialog.overlay.png)': ''
  68. });
  69. },
  70.  
  71. _hideOverlay: function() {
  72. $('#myDialogOverlay').css('display', 'none');
  73. }
  74. };
  75.  
  76. // kısa yoldan çağrı yapan fonksiyonlar
  77. myDialog = function(o) {
  78. if (o.image != undefined) $.myDialog.overlayImage = o.image;
  79. if (o.color != undefined) $.myDialog.overlayColor = o.color;
  80. if (o.opacity != undefined) $.myDialog.overlayOpacity = o.opacity;
  81. };
  82.  
  83. myAlert = function(msg) {
  84. $.myDialog.alert(msg);
  85. };
  86.  
  87. myConfirm = function(msg) {
  88. return $.myDialog.confirm(msg);
  89. };
  90.  
  91. myPrompt = function(msg, val) {
  92. return $.myDialog.prompt(msg, val);
  93. };
  94.  
  95. // Dom hazır olduğunda overlay elemanını sayfaya ekle
  96. $($.myDialog._makeOverlay);
  97. })(jQuery);