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