var Ajax = function() { $.ajaxSetup({ cache : false }); }; Ajax.prototype = { postJSON : function(url, data) { pbLoading.open("locking"); $.post(url, data, this.callback, 'JSON'); }, callback : function(json) { if (json != null) { for (var key in json) { var jobj = $('#' + key); if (jobj.size() == 0) continue; // if (jobj.eq(0).is("select")) var ele = jobj.get(0); var tag = ele.tagName; var val = json[key]; if (tag.match(/select/i)) { ele.options.length = 0; var i = 0; for (var key2 in val) { ele.options[i++] = new Option(val[key2], key2); } } else if (tag.match(/input/i)) { jobj.val(val); } else { jobj.text(val); } } } pbLoading.close("locking"); } }; var ajax = new Ajax(); var PbLoading = function() {}; PbLoading.prototype = { init : function(id) { var _loading = $('#' + id); if (_loading.size() == 0) { if (id == 'locking') { _loading = $('
'); } else { _loading = $('
しばらくお待ちください。。。
'); } $('body').append(_loading); } if (_loading.dialog('option', 'modal') === true) { return; // 初期化済み } _loading.dialog({ autoOpen: false, closeOnEscape: false, draggable: false, modal: true, resizable: false }); $(window).unload(function() { setTimeout(function() { _loading.dialog('close'); // ブラウザバック対応 },0); }); }, open : function(id) { this.init(id); $('body').addClass('pb-ui-' + id); $('#' + id).dialog('open'); $('.pb-ui-' + id + ' .ui-dialog').css({width: 'auto', height: 'auto'}); // for ie }, load : function(id) { this.open(id); $(window).load(function() { $('body').removeClass('pb-ui-' + id); $('#' + id).dialog('close'); $('#' + id).remove(); }); }, close : function(id) { $('body').removeClass('pb-ui-' + id); $('#' + id).dialog('close'); $('#' + id).remove(); } }; var pbLoading = new PbLoading(); var Calendar = function() {}; Calendar.prototype = { setDatepicker: function(datepicker, year, month, day, options) { var _opt = options || {}; $.datepicker.setDefaults( { changeYear: true, changeMonth: true, showButtonPanel: true, buttonImageOnly: true, showAnim: '', showOn: 'button' }); _opt['monthNames'] = ['1','2','3','4','5','6','7','8','9','10','11','12']; _opt['monthNamesShort'] = _opt['monthNames']; _opt['onClose'] = function(date) { if (date.length > 0) { var arr = date.split("/"); $('#' + year).val(arr[0]); $('#' + month).val(arr[1]); if ($('#' + month).val() != arr[1]) { $('#' + month).val(new Number(arr[1]) + ""); }; $('#' + day).val(arr[2]); if ($('#' + day).val() != arr[2]) { $('#' + day).val(new Number(arr[2]) + ""); }; } }; _opt['beforeShow'] = function(input, inst) { setTimeout(function() { $(input).datepicker('widget').find('.ui-datepicker-month').after('月'); },10); } _opt['onChangeMonthYear'] = function(year,month,inst) { setTimeout(function() { $(this).datepicker('widget').find('.ui-datepicker-month').after('月'); },10); } $('#' + datepicker).datepicker(_opt); } }; var calendar = new Calendar(); // Enter ignore jQuery(function() { $(":text,:password,:radio,:checkbox,select").keypress(function(ev) { if ((ev.which && ev.which === 13) || (ev.keyCode && ev.keyCode === 13)) { return false; } return true; }); }); // Dialog (function($){ function _dialog(_msg, _title, _type, _cb) { var _dlg = $('
' + _msg + '
'); var _buttons = {}; _buttons[' OK '] = function() { $(this).dialog('destroy'); _cb(true); _dlg.remove(); }; if (_type == 1) { _buttons['キャンセル'] = function() { $(this).dialog('close'); _cb(false); _dlg.remove(); }; } _dlg.dialog({ modal:true, draggable:false, resizable:false, closeOnEscape:false, title:_title, buttons:_buttons, // dialogClass:'pb-ui-dialog', open: function() { $(".ui-dialog .ui-button-text").each(function() { $(this).html($(this).html().replace(/ /g, ' ')); }); $('body').addClass('pb-ui-dialog'); }, close: function() { $('body').removeClass('pb-ui-dialog'); } }); } jQuery.fn.pbDialog = function(message, title, type, callback) { return this.each(function() { var _btn = $(this); var _fn = function() { var _cb = callback; _dialog(message, title, type, function(fg) { if (_cb) _cb(fg); if (fg) { _btn.unbind("click", _fn); _btn.click(); _btn.bind("click", _fn); return true; } return false; }); return false; } _btn.click(_fn); }); }; })(jQuery); //mouse over jQuery(function($) { var postfix = '_on'; $('input.btn,img.btn').not('[src*="'+ postfix +'."]').each(function() { var img = $(this); var src = img.attr('src'); var src_on = src.substr(0, src.lastIndexOf('.')) + postfix + src.substring(src.lastIndexOf('.')); img.hover(function() { img.attr('src', src_on); }, function() { img.attr('src', src); }); }); }); jQuery(function() { pbLoading.load('loading'); $('form').submit(function() { pbLoading.open("loading"); }); // $('a[href]').not('[href^="javascript"]').not('[href^="#"]').click(function() { // pbLoading.open("loading"); // }); });