function ComEvent() {
	this.initialize.apply(this, arguments);
}
ComEvent.prototype = {
    initialize: function(act, action, method, isDblSubmit, target) {
		this.act = act;
		this.action = action;
		this.method = method;
		if (!this.method) {
			this.method = "post";
		}
		this.isDblSubmit = isDblSubmit;
		if (this.isDblSubmit==null || this.isDblSubmit==undefined) {
			this.isDblSubmit = true;
		}
		this.target = target;
		if (this.target==null || this.target==undefined) {
			this.target = "_self";
		}
    },
    execute: function(frm, reqParamNames, reqValues) {
		// リクエストパラメータを設定
		if (reqParamNames) {
			// パラメータが設定されている場合
			for (var i=0; i<reqParamNames.length; i++) {
				var p = document.getElementsByName(reqParamNames[i]);
				if (p.item(0)) {
					// パラメータを設定
					p.item(0).value = reqValues[i];
				}
				else {
					// hidden等がない場合
					var elem = document.createElement( 'input' );
					elem.type = 'hidden';
					elem.name = reqParamNames[i];
					elem.value = reqValues[i];
				    frm.appendChild(elem);
				}
			}
		}
		if (this.act) {
			// actが設定されている場合
			frm.act.value = this.act;
		}
		if (this.action) {
			// アクションが設定されている場合
			frm.action = this.action;
		}
		frm.method = this.method;
		frm.target = this.target;

		// 送信
		if (this.isDblSubmit) {
			// ２重送信
			checkAndSubmit(frm);
		}
		else {
			// 普通に送信
			frm.submit();
		}
    }
};

