/* -----------------------------------------------------------------------------
                   【グリーン電力証書取引所　共通JavaScript】
----------------------------------------------------------------------------- */

var loading = '<img src="./img/navi/ajax-loader.gif" width="15" alt="Now Loading..." /><br />Now Loading...';
var result = null;
var tempData = null;
var sc = new Array();

window.oncontextmenu=function(){return false;}

function dummyMsg() {
	window.alert("この機能は公開時に有効になります");
}

if (!Array.prototype.contains) {
	Array.prototype.contains = function(value) {
		for (var i in this) {
			if (this.hasOwnProperty(i) && this[i] === value) {
				return true;
			}
		}
		return false;
	}
}

/* -----------------------------------------------------------------------------
>> GPTrade
----------------------------------------------------------------------------- */

var GPTrade = {

/* -----------------------------------------------------------------------------
>> common
----------------------------------------------------------------------------- */

common: {

// 利用規約などの同意
agreement: function() {
	($('checkbtn2').checked) ? $('checkbtn').removeAttribute('disabled') : $('checkbtn').setAttribute('disabled', 'disabled');
},

// 前のページに戻る
goBack: function() {
	window.history.go(-1);
},

// 他のページへ自動移動
autoJump: function(uri, sec) {
	document.write('<meta http-equiv="Refresh" content="'+sec+'";URL='+uri+' />');
	var tid = setTimeout(function() { location.href=uri; }, (sec * 1000 + 100));
},

// 他のページへ移動
jump: function(uri) {
	location.href = uri;
},

// ヘルプウインドウ総合
HelpWindow: function(page, w, h) {
	var param = 'width='+w+',height='+h+',dependent=yes,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no';
	window.open(page, 'HelpWindow', param);
},

// ヘルプウインドウ１
HelpWindow1: function(p) {
	//GPTrade.common.HelpWindow('./193.html',800,600);
	GPTrade.common.HelpWindow(siteurl+'/193.html?winmode#'+p,980,600);
},

// ヘルプウインドウ２
HelpWindow2: function(p) {
	//GPTrade.common.HelpWindow('./293.html',800,600);
	GPTrade.common.HelpWindow(siteurl+'/293.html?winmode#'+p,980,600);
},

// グラフウインドウ
GraphWindow: function() {
	GPTrade.common.HelpWindow('./graph/',647,600);
},
// SSLグラフウインドウ
GraphWindowSSL: function() {
	GPTrade.common.HelpWindow(sslurl+'/graph/',647,600);
},

// 配列中から最大値と最小値を得る
getRange: function(a) {
	var range = {max:0, min:5000};
	for (var i = 0; i < a.length; i++) {
		if (!isNaN(a[i])) {
			if (a[i] > range.max) range.max = a[i];
			if (a[i] < range.min) range.min = a[i];
		}
	}
	return range;
},

// loadingアイコンを表示
showLoading: function(id) {
	if ($('ajax-loading')) {
		$('ajax-loading').style.display = 'block';
	} else {
		var box = document.createElement('div');
		box.setAttribute('id', 'ajax-loader');
		document.body.appendChild(box);
		
		box.innerHTML = '<div style="position:absolute; top:20px; padding:10px; z-index:10000; text-align:center;">'
			+ '<img src="./img/navi/ajax-loader.gif" alt="loader" /></div>';
	}
},

// loadingアイコンを非表示
hideLoading: function() {
	if ($('ajax-loading')) {
		$('ajax-loading').style.display = 'none';
	}
},

// 汎用サブウインドウ
subWindow: function(w, h, contents) {
	var header = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
		+ '<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">'
		+ '<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Style-Type" content="text/css" /><meta http-equiv="Content-Script-Type" content="text/javascript" />'
		+ '<title>発電者マイページ ｜ グリーン電力証書取引所</title></head><body>';
	var footer = '</body></html>';
	var param = 'width='+w+',height='+h;
	var subwin = window.open('blank.html', 'sbwin', param);
	subwin.document.open();
	subwin.document.write(header);
	subwin.document.write('<p>'+contents+'</p>');
	subwin.document.write('<p style="text-align:center;"><input type="button" value="閉じる" onclick="window.close()" onkeypress="window.close()" /></p>');
	subwin.document.write(footer);
	subwin.document.close();
},

// 数字に３桁ごとにカンマをつける
Comma: function(num) {
	return num.toString().replace(/([0-9]+?)(?=(?:[0-9]{3})+$)/g, '$1,');
},

// ペースト禁止
prohibitionPaste: function(evt) {
	if (Prototype.Browser.IE) {
		if ((event.keyCode == 86 && event.ctrlKey) || (event.keyCode == 45 && event.shiftKey) || (event.keyCode == 91)) {
			return false;
		}
	} else {
		if ((evt.keyCode == 86 && evt.ctrlKey) || (evt.keyCode == 45 && evt.shiftKey) || (evt.keyCode == 91)) {
			return false;
		}
	}
	
	return true;
}

},

/* -----------------------------------------------------------------------------
>> address
----------------------------------------------------------------------------- */

address: function() {

this.searchOption = {zip1:'zip1', zip2:'zip2', pref:'pref', mode:'name', add:'addr'}

// 住所検索
this.search = function() {
	var code = $(this.searchOption.zip1).value + $(this.searchOption.zip2).value;
	if (!code.match(/^\d{7}$/)) {
		window.alert('郵便番号を入力してください。');
		return;
	}
	
	var pref = this.searchOption.pref;
	var add  = this.searchOption.add;
	var mode = this.searchOption.mode;
	
	var myAjax = new Ajax.Request(
		'./js/search_add.ajax',
		{
			method: 'get',
			parameters: 'c=' + code,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				if (data.Result == 'Success') {
					var prefdata;
					switch (mode) {
						case 'name': prefdata = data.pref; break;
						case 'id':   prefdata = data.prefindex; break;
					}
					
					for (var i = 0; i < $(pref).options.length; i++) {
						if ($(pref).options[i].value == prefdata) {
							$(pref).options[i].selected = 'selected';
							break;
						}
					}
					$(add).value = data.municipality + ' ' + data.add1;
					if (data.add2 != '' && data.add2 != null) $(add).value += ' ' + data.add2;
					if (add == 'addr' || add == 'addr1') {
						if ($('add')) $('add').value = $(add).value;
					}
				} else if (data.Result == 'No Match') {
					window.alert('住所が見つかりませんでした。');
				} else {
					window.alert(data.Result);
				}
			},
			onFailure: function(httpObj) {
				window.alert('住所を検索できませんでした。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> date
----------------------------------------------------------------------------- */

date: function() {

// 閏年判定
this.isLeap = function(y) {
	return (y % 400 == 0 && ($y % 4 == 0 && y % 100 != 0));
},

// 月の末日を取得
this.getLastday = function(y, m) {
	var lastday = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var leap = (m == 2) ? this.isLeap(y) : false;
	m--;
	lastday = lastday[m];
	if (leap) lastday++;
	return lastday;
}

},

/* -----------------------------------------------------------------------------
>> p100, p100c, p200, p500
----------------------------------------------------------------------------- */

p100: {

// 絞込み検索
search: function() {
	$('search-form').submit();
},

// 選択エリアによって都道府県を設定
setPref: function() {
	var area = document.getElementById('a');
	var pref = document.getElementById('p');
	
	if (area.selectedIndex <= 0) {
		for (var i = 1; i < pref.options.length; i++) {
			pref.options[i].removeAttribute('disabled');
		}
	} else {
		if (pref.options[pref.selectedIndex].title != area.options[area.selectedIndex].innerHTML) {
			pref.selectedIndex = 0;
		}
		for (var i = 1; i < pref.options.length; i++) {
			if (pref.options[i].title == area.options[area.selectedIndex].innerHTML) {
				pref.options[i].removeAttribute('disabled');
			} else {
				pref.options[i].setAttribute('disabled', 'disabled');
			}
		}
	}
},

// 検索条件のクリア
resetForm: function() {
	$('s1').checked = false;
	$('s2').checked = false;
	$('s3').checked = false;
	$('s4').checked = false;
	$('s5').checked = false;
	$('k').value = 0;
	if ($('r')) $('r').value = '';
	$('a').selectedIndex = 0;
	$('p').selectedIndex = 0;
	$('search-form').submit();
}

},

/* -----------------------------------------------------------------------------
>> p101
----------------------------------------------------------------------------- */

p101: {

// 購入量入力
input: function() {
	var total = $('total').innerHTML;
	var rank = new Array();
	
	while (total.indexOf(',') != -1) {
		total = total.replace(',', '');
	}
	total = parseInt(total);
	
	for (var i = 0; i <= 4; i++) {
		if ($('r1'+i)) {
			if ($('r1'+i).innerHTML) {
				var j = $('r1'+i).innerHTML.replace(',', '');
				rank.push(parseInt(j));
			}
		}
		if ($('r2'+i)) {
			if ($('r2'+i).innerHTML) {
				var j = $('r2'+i).innerHTML.replace(',', '');
				rank.push(parseInt(j));
			}
		}
	}
	
	var range = GPTrade.common.getRange(rank);
	
	if ($('buy').value && !isNaN($('buy').value)) {
		var buy = parseInt($('buy').value);
		var rate = getRate(buy);
		
		if (buy > total) {
			$('buy').value = $('buy').value.substring(0, $('buy').value.length-1);
			window.alert('購入量が販売可能電力量を超えています。');
			return false;
		/*
		} else if (buy > range.max) {
			$('buy').value = $('buy').value.substring(0, $('buy').value.length-1);
			window.alert('購入量が購入可能な範囲ではありません。');
			return false;
		*/
		} else if (buy >= range.min && rate == 0) {
			$('buy').value = $('buy').value.substring(0, $('buy').value.length-1);
			window.alert('購入量が購入可能な範囲ではありません。');
			return false;
		} else {
			$('leftover').innerHTML = GPTrade.common.Comma(total - buy);
			$('rate').innerHTML = GPTrade.common.Comma(rate);
			$('price').innerHTML = (isNaN(rate) || rate == 0) ? 0 : GPTrade.common.Comma(rate * buy);
			
			$('rt').value = $('rate').innerHTML;
			$('pr').value = $('price').innerHTML;
		} 
	} else {
		$('leftover').innerHTML = total;
	}
},

// 入力チェック
check: function() {
	var msg = new Array();
	var rank = new Array();
	var total = $('total').innerHTML;
	
	while (total.indexOf(',') != -1) {
		total = total.replace(',', '');
	}
	total = parseInt(total);
	
	for (var i = 0; i <= 4; i++) {
		if ($('r1'+i)) {
			if ($('r1'+i).innerHTML) {
				var j = $('r1'+i).innerHTML.replace(',', '');
				rank.push(j);
			}
		}
		if ($('r2'+i)) {
			if ($('r2'+i).innerHTML) {
				var j = $('r2'+i).innerHTML.replace(',', '');
				rank.push(j);
			}
		}
	}
	
	var range = GPTrade.common.getRange(rank);
	var min = parseInt($('min').value);
	var munit = parseInt($('munit').value);
	var buy = parseInt($('buy').value);
	
	if (!$('buy').value) {
		msg.push('販売量を入力してください。');
	} else if (isNaN($('buy').value)) {
		msg.push('販売量は半角数字で入力してください。');
	} else {
		if (buy <= 0) {
			msg.push('販売量を入力してください。');
		} else {
			if (buy < min) msg.push('販売量は最少販売量以上にしてください。');
			else if ((buy % munit) != 0) msg.push('販売量は販売単位の倍数になるようにしてください。');
			else if (buy > total) msg.push('販売量が販売可能電力量を超えています。');
			else if (buy < rank[0]) msg.push('販売量が最低単価を下回っています。');
		}
	}
	
	if (msg.length == 0) {
		$('buy-form').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p110
----------------------------------------------------------------------------- */

p110: {

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('sei1').value || !$('mei1').value) msg.push('お名前を入力してください。');
	if (!$('sei2').value || !$('mei2').value) msg.push('フリガナを入力してください。');
	if (!$('zip11').value || !$('zip12')) msg.push('ご住所の郵便番号を入力してください。');
	else if (isNaN($('zip11').value) || isNaN($('zip12').value)) msg.push('ご住所の郵便番号は半角数字で入力してください。');
	if (!$('addr1').value) msg.push('ご住所を入力してください。');
	if (!$('tel1').value || !$('tel2').value || !$('tel3').value) msg.push('電話番号を入力してください。');
	else if (isNaN($('tel1').value) || isNaN($('tel2').value) || isNaN($('tel3').value)) msg.push('電話番号は半角数字で入力してください。');
	if (!$('mail1').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
	if (!$('mail2').value.match(/.+@.+\..+/)) msg.push("メールアドレス(確認用)を正しく入力してください。");
	if ($('mail1').value != $('mail2').value) msg.push("メールアドレスと確認用入力が一致していません。");
	if (!$('name').value) msg.push('証書に記載する宛名を入力してください。');
	if (!$('usage').value) msg.push('ご利用内容を入力してください。');
	if ($('issue_y').value || $('issue_m').value || $('issue_d').value) {
		if (isNaN($('issue_y').value) || isNaN($('issue_m').value) || isNaN($('issue_d').value)) msg.push("証書発行日は半角数字で入力してください。");
	}
	/*
	if (utype != 2) {
		var date = new Date();
		var y = $('appro_y2').options[$('appro_y2').selectedIndex].value;
		var m = $('appro_m2').options[$('appro_m2').selectedIndex].value;
		var d = $('appro_d2').options[$('appro_d2').selectedIndex].value;
		
		if (y == date.getFullYear()) {
			if (date.getMonth() <= 3 && m > 3) msg.push('法人の方は、充当期間の終わりを年度末までの日付にしてください。');
		} else if (y > date.getFullYear()){
			if (m > 3) msg.push('法人の方は、充当期間の終わりを年度末までの日付にしてください。');
		}
	}
	*/
	if (!$('pay1').checked && !$('pay2').checked) msg.push('お支払方法を選択してください。');
	
	if (msg.length == 0) {
		$('askForm').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// 証書カラーの設定
setColors: function(obj,id) {
	while ($('color').length > 0) {
		for (var i = 0; i < $('color').length; i++) {
			$('color').remove(i);
		}
	}
	var opt = document.createElement('option');
	opt.text = 'カラー設定を読み込み中...';
	opt.value = '-';
	try {
		$('color').add(opt, null);
	} catch (e) {
		$('color').add(opt);
	}
	
	var myAjax = new Ajax.Request(
		'./js/search_colors.ajax',
		{
			method: 'get',
			parameters: 'd='+id+'&s='+obj.selectedIndex,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				
				switch (data.Result) {
				case 'Success':
					$('color').remove(0);
					if (data.colors.length > 0) {
						for (var i = 0; i < data.colors.length; i++) {
							if (data.colors[i]) {
								var opt = document.createElement('option');
								opt.text = data.colors[i];
								opt.value = data.colors[i];
								try {
									$('color').add(opt, null);
								} catch (e) {
									$('color').add(opt);
								}
							}
						}
					} else {
						var opt = document.createElement('option');
						opt.text = '事業者既定';
						opt.value = '事業者既定';
						try {
							$('color').add(opt, null);
						} catch (e) {
							$('color').add(opt);
						}
					}
					break;
				case 'Empty':
					var opt = document.createElement('option');
					opt.text = '事業者既定';
					opt.value = '事業者既定';
					try {
						$('color').add(opt, null);
					} catch (e) {
						$('color').add(opt);
					}
					break;
				case 'Error': window.alert("証書カラー設定の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('証書カラー設定を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p111
----------------------------------------------------------------------------- */

p111: {

// 注文確定
check: function() {
	if (window.confirm("ご確認いただいた内容で注文を確定します。\nよろしいですか？")) {
		$('askForm').submit();
		return true;
	}
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p120
----------------------------------------------------------------------------- */

p120: {

// 社名公開
checkRelease: function() {
	if ($('type2').checked) {
		$('release1').disabled = 'disabled';
		if ($('release1').checked) {
			$('release1').checked = false;
			$('release2').checked = true;
			window.alert('個人の方は非公開設定のみになります。');
		}
	} else if ($('type1').checked || $('type3').checked) {
		$('release1').disabled = '';
	}
},

// 金額の相互変換
calcRate: function(e, n) {
	var keyCode;
	var energy = $('energy').value;
	var amount1 = $('amount1').value;
	var amount2 = $('amount2').value;
	var check = true;
	
	if (isNaN(amount1)) amount1 = 0;
	if (isNaN(amount2)) amount2 = 0;
	
	if (energy != '' && isNaN(energy)) {
		window.alert('希望購入量は半角数字で入力してください。');
		energy = energy.substring(0, energy.length-1);
		check = false;
	}
	if (amount1 != '' && isNaN(amount1)) {
		window.alert('金額は半角数字で入力してください。');
		amount1 = amount1.substring(0, amount1.length-1);
		check = false;
	}
	if (amount2 != '' && isNaN(amount2)) {
		window.alert('単価は半角数字で入力してください。');
		amount2 = amount2.substring(0, amount2.length-1);
		check = false;
	} else if (amount2.match(/\.\d{2,}$/)) {
		window.alert('単価の小数点以下は第1位までにしてください。');
		amount2 = amount2.substring(0, amount2.length-1);
		$('amount2').value = amount2;
		check = false;
	}
	if (!check) return check;
	
	if (document.all) keyCode = e.keyCode;
	else if (document.getElementById) keyCode = (e.keyCode) ? e.keyCode : e.charCode;
	else if (document.layers) keyCode = e.which;
	
	if (keyCode == 8 || keyCode == 46 || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105)) {
		if (energy) {
			amount1 = parseFloat(amount1);
			amount2 = parseFloat(amount2);
			//amount2 = amount2.toFixed(1);
			
			switch (n) {
				//case 1: amount2 = Math.ceil(amount1 / energy); break;
				case 1:
					amount2 = amount1 / energy;
					amount2 = amount2.toFixed(1);
					break;
				case 2:
					amount1 = energy * amount2;
					break;
			}
			$('amount1').value = Math.ceil(amount1);
			$('amount2').value = amount2;
			//$('amount2').value = amount2.toFixed(1);
		}
	}
},

// 掲載期限
switchDate: function() {
	var dateObj = new Date;
	var y = dateObj.getFullYear();
	var m = dateObj.getMonth() + 1;
	var d = dateObj.getDate();
	
	if (m < 10) m = '0' + m;
	
	var dateObj = new GPTrade.date;
	var last = dateObj.getLastday(y, m);
	var ym = $('lym').options[$('lym').selectedIndex].value.split('-');
	
	for (var i = 0; i < $('ld').options.length; i++) {
		$('ld').options[i].disabled = '';
		if (ym[0] == y && ym[1] == m) {
			if (i < d || i >= last) $('ld').options[i].disabled = 'disabled';
		} else {
			if (i >= d) $('ld').options[i].disabled = 'disabled';
		}
	}
},

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('type1').checked && !$('type2').checked && !$('type3').checked) msg.push("登録種別を選択してください。");
	if (!$('name').value) msg.push("登録者名を入力してください。");
	if (!$('energy').value) msg.push("希望購入グリーン電力量を入力してください。");
	else if (isNaN($('energy').value)) msg.push("希望購入グリーン電力量は半角数字で入力してください。");
	if ($('amount1').value || $('amount2').value) {
		if ($('amount1').value) if (isNaN($('amount1').value)) msg.push("購入希望金額は半角数字で入力してください。");
		if ($('amount2').value) if (isNaN($('amount2').value)) msg.push("購入希望単価は半角数字で入力してください。");
	} else {
		msg.push("購入希望金額には金額か単価のどちらかを入力してください。");
	}
	if ( ($('appro1').value && isNaN($('appro1').value)) || ($('appro2').value && isNaN($('appro2').value)) || ($('appro3').value && isNaN($('appro3').value)) ) msg.push("利用開始の目安時期は半角数字で入力してください。");
	
	if (msg.length == 0) {
		if (window.confirm("購入希望は登録後の修正ができません。\n登録してもよろしいですか？")) {
			$('amount1').value = Math.ceil(parseFloat($('amount1').value));
			$('amount2').value = parseFloat($('amount2').value).toFixed(1);
			$('askForm').submit();
		}
		return true;
	}
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// キャンセル
checkCancel: function() {
	if (window.confirm("購入希望をキャンセルします。\nよろしいですか？")) {
		$('askForm').submit();
		return true;
	}
	return false;
},

// 発電所地域の自動選択
selectArea: function(obj) {
	var i, j;
	var area = obj.options[obj.selectedIndex].title;
	var optg = document.getElementsByTagName('optgroup');

	if (area != '指定しない') {
		for (i = 0; i < optg.length; i++) {
			if (optg[i].label == area) {
				if (optg[i].childNodes.length) {
					$('pref').selectedIndex = parseInt(optg[i].childNodes[0].value);
				}
			}
		}
	}
}

},

/* -----------------------------------------------------------------------------
>> p140
----------------------------------------------------------------------------- */

p140: {

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('sei1').value || !$('mei1').value) msg.push("氏名を入力してください。");
	if (!$('sei2').value || !$('mei2').value) msg.push("フリガナを入力してください。");
	if (!$('type1').checked && !$('type2').checked && !$('type3').checked) msg.push("登録種別を選択してください。");
	if (!$('zip1').value || !$('zip2').value) msg.push("郵便番号を入力してください。");
	else if (isNaN($('zip1').value) || isNaN($('zip2').value)) msg.push("郵便番号は半角数字で入力してください。");
	if (!$('addr').value) msg.push("住所を入力してください。");
	if (!$('tel1').value || !$('tel2').value || !$('tel3').value) msg.push("電話番号を入力してください。");
	else if (isNaN($('tel1').value) || isNaN($('tel2').value) || isNaN($('tel3').value)) msg.push("電話番号は半角数字で入力してください。");
	if (!$('mail1').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
	if (!$('mail2').value.match(/.+@.+\..+/)) msg.push("メールアドレス(確認用)を正しく入力してください。");
	if ($('mail1').value != $('mail2').value) msg.push("メールアドレスと確認用入力が一致していません。");
	if (!$('pass').value) msg.push("パスワードを入力してください。");
	if ($('uq').selectedIndex < 1) msg.push("秘密の質問を選択してください。");
	if (!$('ua').value) msg.push("秘密の質問の答えを入力してください。");
	
	if (msg.length == 0) {
		$('askForm').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// 前のページに戻る
goBack: function() {
	$('askForm').submit();
}

},

/* -----------------------------------------------------------------------------
>> p150
----------------------------------------------------------------------------- */

p150: {

// 購入履歴を表示
showHistory: function(p, opt) {
	$('history-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_history.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							var link = '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p150.showHistory('+last+',opt)" onkeypress="GPTrade.p150.showHistory('+last+',opt)">前のページへ</a></li>';
							pageList += link;
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							var link = '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p150.showHistory('+i+',opt)" onkeypress="GPTrade.p150.showHistory('+i+',opt)">'+i+'</a></li>';
							pageList += link;
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							var link = '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p150.showHistory('+next+',opt)" onkeypress="GPTrade.p150.showHistory('+next+',opt)">次のページへ</a></li>';
							pageList += link;
						}
						
						var table = '<table summary="お買い物履歴" class="list-table"><tr><th>購入日時</th><th nowrap="nowrap">発電<br />種別</th><th>発電所名</th><th>購入量</th><th>CO2 <br />換算量</th><th>購入金額</th></tr>';
						for (var i = 0; i < data.History.length; i++) {
							var link_s = '';
							var link_e = '';
							if (data.History[i].pp_c_url != '') {
								link_s = '<a href="./101.html?no='+data.History[i].upd_id+'" title="発電所詳細">';
								link_e = '</a>';
							}
							
							var msgtemp = '<br /><span class="limt-alt">まもなく契約期限終了です</span>'; // 契約期限のメッセージを後で追加すること！！（日付のとこ）
							
							table += '<tr>'
								+ '<td>'+data.History[i].uh_rdate+'</td>'
								+ '<td class="center"><img src="./img/icon/'+data.History[i].pp_type[1]+'" alt="'+data.History[i].pp_type[0]+'" /></td>'
								+ '<td>'+link_s+data.History[i].pp_name+link_e+'</td>'
								+ '<td><span class="font-price">'+data.History[i].uh_purchase+'</span>kWh</td>'
								+ '<td><span class="font-price">'+data.History[i].uh_co2+'</span>kg</td>'
								+ '<td><span class="font-price">'+data.History[i].uh_price+'</span>円 (<span class="font-price">'+data.History[i].uh_rate+'</span>円/kWh)</td></tr>';
						}
						$('pl-top').innerHTML = pageList;
						$('pl-bottom').innerHTML = pageList;
						$('history-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						var link = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p150.showHistory(1,opt)" onkeypress="GPTrade.p150.showHistory(1,opt)">1</a></li>';
						$('pl-top').innerHTML = link;
						$('pl-bottom').innerHTML = link;
						$('history-list').innerHTML = '<table summary="お買い物履歴" class="list-table"><tr><th class="text-center">お買い物履歴はありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('購入履歴を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
},

// 購入元発電所の地図データを表示
showMaps: function(x, y, p) {
	var myAjax = new Ajax.Request(
		'./js/search_hist_map.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				
				switch (data.Result) {
					case 'Success':
						for (var i = 0; i < data.Maps.length; i++) {
							data.Maps[i].pp_type = parseInt(data.Maps[i].pp_type);
							data.Maps[i].info = '<p><strong>'+data.Maps[i].pp_name+'</strong><br />'
								+ data.Maps[i].pp_zip+'<br />'+data.Maps[i].pp_pref+'<br />'
								+ data.Maps[i].pp_addr+'</p>';
							
							switch (data.Maps[i].pp_type) {
							case 1:
								data.Maps[i].icon = solarIcon;
								data.Maps[i].color = '#FFCC00';
								break;
							case 2:
								data.Maps[i].icon = waterIcon;
								data.Maps[i].color = '#0000FF';
								break;
							case 3:
								data.Maps[i].icon = biomassIcon;
								data.Maps[i].color = '#939300';
								break;
							case 4:
								data.Maps[i].icon = windIcon;
								data.Maps[i].color = '#008000';
								break;
							case 5:
								data.Maps[i].icon = geoIcon;
								data.Maps[i].color = '#800000';
								break;
							case 6:
								data.Maps[i].icon = localIcon;
								data.Maps[i].color = '#FFCC00';
								break;
							}
							
							data.Maps[i].point = data.Maps[i].pp_map.split(',');
							data.Maps[i].marker = new GMarker(new google.maps.LatLng(data.Maps[i].point[0], data.Maps[i].point[1]), data.Maps[i].icon);
							data.Maps[i].marker.info = data.Maps[i].info;
							map.addOverlay(data.Maps[i].marker);
							
							data.Maps[i].polyline = new GPolyline([
								new google.maps.LatLng(y, x),
								new google.maps.LatLng(data.Maps[i].point[0], data.Maps[i].point[1])
							], data.Maps[i].color, 3, 0.9);
							map.addOverlay(data.Maps[i].polyline);
							
							GEvent.addListener(data.Maps[i].marker, 'click', function(p) {
								map.openInfoWindowHtml(p, this.info);
							});
						}
						
						break;
					case 'Empty': break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('地図データを読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p151
----------------------------------------------------------------------------- */

p151: {

// 入札元発電所の地図データを表示
showMaps: function() {
	new Ajax.Request(
		'./js/search_bid_map.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				
				switch (data.Result) {
					case 'Success':
						for (var i = 0; i < data.Maps.length; i++) {
							data.Maps[i].pp_type = parseInt(data.Maps[i].pp_type);
							data.Maps[i].info = '<p><strong>'+data.Maps[i].pp_name+'</strong><br />'+data.Maps[i].pp_zip+'<br />'+data.Maps[i].pp_pref+'<br />'+data.Maps[i].pp_addr+'</p>';
							
							switch (data.Maps[i].pp_type) {
							case 1:
								data.Maps[i].icon = solarIcon;
								data.Maps[i].color = '#FFCC00';
								break;
							case 2:
								data.Maps[i].icon = waterIcon;
								data.Maps[i].color = '#0000FF';
								break;
							case 3:
								data.Maps[i].icon = biomassIcon;
								data.Maps[i].color = '#939300';
								break;
							case 4:
								data.Maps[i].icon = windIcon;
								data.Maps[i].color = '#008000';
								break;
							case 5:
								data.Maps[i].icon = geoIcon;
								data.Maps[i].color = '#800000';
								break;
							case 6:
								data.Maps[i].icon = localIcon;
								data.Maps[i].color = '#FFCC00';
								break;
							}
							
							data.Maps[i].point = data.Maps[i].pp_map.split(',');
							data.Maps[i].marker = new GMarker(new google.maps.LatLng(data.Maps[i].point[0], data.Maps[i].point[1]), data.Maps[i].icon);
							data.Maps[i].marker.info = data.Maps[i].info;
							map.addOverlay(data.Maps[i].marker);
							
							data.Maps[i].polyline = new GPolyline([
								new google.maps.LatLng(mapConf.y, mapConf.x),
								new google.maps.LatLng(data.Maps[i].point[0], data.Maps[i].point[1])
							], data.Maps[i].color, 3, 0.9);
							map.addOverlay(data.Maps[i].polyline);
							
							GEvent.addListener(data.Maps[i].marker, 'click', function(p) {
								map.openInfoWindowHtml(p, this.info);
							});
						}
						
						break;
					case 'Empty': break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('地図データを読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p152
----------------------------------------------------------------------------- */

p152: {

// 落札者確定チェック
checkBid: function(n) {
	if (window.confirm('購入希望の落札者を「'+n+"」で確定します。\nよろしいですか？")) {
		$('bidForm').submit();
		return true;
	}
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p153
----------------------------------------------------------------------------- */

p153: {

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('sei1').value || !$('mei1').value) msg.push("氏名を入力してください。");
	if (!$('sei2').value || !$('mei2').value) msg.push("フリガナを入力してください。");
	if (!$('type1').checked && !$('type2').checked && !$('type3').checked) msg.push("登録種別を選択してください。");
	if (!$('zip1').value || !$('zip2').value) msg.push("郵便番号を入力してください。");
	else if (isNaN($('zip1').value) || isNaN($('zip2').value)) msg.push("郵便番号は半角数字で入力してください。");
	if (!$('addr').value) msg.push("住所を入力してください。");
	if (!$('tel1').value || !$('tel2').value || !$('tel3').value) msg.push("電話番号を入力してください。");
	if ($('mail1').value || $('mail2').value ) {
		if (!$('mail1').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
		if (!$('mail2').value.match(/.+@.+\..+/)) msg.push("メールアドレス(確認用)を正しく入力してください。");
		if ($('mail1').value != $('mail2').value) msg.push("メールアドレスと確認用入力が一致していません。");
	}
	if ($('pass1').value || $('pass2').value) {
		if (!$('pass1').value) msg.push("パスワードを入力してください。");
		if (!$('pass2').value) msg.push("パスワード(確認用)を入力してください。");
		if ($('pass1').value != $('pass2').value) msg.push("パスワードと確認用入力が一致していません。");
	}
	if ($('uq').selectedIndex < 1) msg.push("秘密の質問を選択してください。");
	if (!$('ua').value) msg.push("秘密の質問の答えを入力してください。");
	
	if (msg.length == 0) {
		$('askForm').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p200
----------------------------------------------------------------------------- */

p200: {

// 入札チェック
check: function(n, url) {
	if (n == 1) {
		location.href = url;
	} else if (n == 2) {
		alert("発電者マイページから出展物件設定を行ってください。\n入札には、販売可能な発電残量が必要になります。");
	} else if (n == 3) {
		alert("指定された購入希望に対して、すでに入札しています。");
	} else {
		alert("購入希望への入札は発電者のみが可能です。\nログインしていない場合は先にログインをお願いします。");
	}
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p210
----------------------------------------------------------------------------- */

p210: {

// 入力単価から金額を計算
calc: function() {
	//var val = parseFloat($('rate').value);
	var val = $('rate-input').value;
	var pcs = parseFloat($('purchase').innerHTML.replace(',', ''));
	
	if (val == '') {
		$('total').innerHTML = '0';
		$('rate').value = 0;
	} else if (isNaN(val)) {
		window.alert('入札単価は半角数字で入力してください。');
		$('total').innerHTML = '0';
		$('rate-input').value = 0;
		val = 0;
	} else {
		val = parseFloat(val);
		val = val.toFixed(1);
		
		if (val > 0) {
			var total = val * pcs;
			total = Math.ceil(total);
			$('total').innerHTML = GPTrade.common.Comma(total);
		} else {
			$('total').innerHTML = '0';
		}
	}
	$('rate').value = val;
},

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('rate').value) msg.push('入札単価を入力してください。');
	else if (isNaN(parseInt($('rate').value))) msg.push('入札単価は半角数字で入力してください。');
	if (!$('pass').value) msg.push('登録パスワードを入力してください。');
	
	if (msg.length == 0) {
		$('bidForm').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p220
----------------------------------------------------------------------------- */

p220: {

// 入力チェック
check: function(flag) {
	var msg = new Array();
	if (flag == 'new') {
		//if (!$('type1').checked && !$('type2').checked && !$('type3').checked) msg.push("証書発行事業者区分を選択してください。");
		if (!$('type2').checked && !$('type3').checked) msg.push("証書発行事業者区分を選択してください。");
	}
	if (!$('company').value) msg.push("証書発行事業者名を入力してください。");
	if (flag == 'edit') {
		if (!$('com_kana').value) msg.push("証書発行事業者名フリガナを入力してください。");
		if (!$('zip11').value || !$('zip12').value) msg.push("事業所郵便番号を入力してください。");
		else if (isNaN($('zip11').value) || isNaN($('zip12').value)) msg.push("郵便番号は半角数字で入力してください。");
		if (!$('addr1').value) msg.push("事業所住所を入力してください。");
		if (!$('tel11').value || !$('tel12').value || !$('tel13').value) msg.push("証書発行事業者の電話番号を入力してください。");
		//else if (isNaN(('tel11').value) || isNaN(('tel12').value) || isNaN(('tel13').value)) msg.push("証書発行事業者の電話番号には半角数字を入力してください。");
	}
	if (flag == 'new' || (flag == 'edit' && $('mail12').value)) {
		if (!$('mail11').value.match(/.+@.+\..+/)) msg.push("事業者のメールアドレスを正しく入力してください。");
		if (!$('mail12').value.match(/.+@.+\..+/)) msg.push("事業者のメールアドレス(確認用)を正しく入力してください。");
		if ($('mail11').value != $('mail12').value) msg.push("事業者のメールアドレスが確認用入力と一致していません。");
	}
	if (flag == 'edit') {
		if (!$('sei1').value || !$('mei1').value) msg.push("担当者の氏名を入力してください。");
		//else if (isNaN(('tel21').value) || isNaN(('tel22').value) || isNaN(('tel23').value)) msg.push("担当者の電話番号には半角数字を入力してください。");
		if (!$('mail21').value || ($('mail22').value && ($('mail21').value != $('mail22').value))) {
			if (!$('mail21').value.match(/.+@.+\..+/)) msg.push("担当者のメールアドレスを正しく入力してください。");
			if (!$('mail22').value.match(/.+@.+\..+/)) msg.push("担当者のメールアドレス(確認用)を正しく入力してください。");
			if ($('mail21').value != $('mail22').value) msg.push("担当者のメールアドレスが確認用入力と一致していません。");
		}
		//if (!$('zip21').value || !$('zip22').value) msg.push("担当者の郵便番号を入力してください。");
		//else if (isNaN($('zip21').value) || isNaN($('zip22').value)) msg.push("担当者の郵便番号は半角数字で入力してください。");
		//if (!$('addr2').value) msg.push("担当者住所を入力してください。");
		if (!$('img1').value && !$('imgfile1').value) msg.push("証書イメージ画像を選択してください。");
		if (!$('img6').value && !$('imgfile6').value) msg.push("証書発行事業者マーク画像を選択してください。");
		if (!$('img7').value && !$('imgfile7').value) msg.push("発電種別ロゴマーク画像を選択してください。");
	}
	if (msg.length == 0) {
		$('regForm').submit();
		return true;
	}
		
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// パスワード作成
createPassword: function() {
	var len = $('plen').options[$('plen').selectedIndex].value;
	var myAjax = new Ajax.Request(
		'./js/create_password.ajax',
		{
			method: 'get',
			parameters: 'l='+len,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				$('pass').value = data.Password;
			},
			onFailure: function(httpObj) {
				window.alert('パスワードを作成できませんでした。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
},

// マイページへの移動
gotoMypage: function(url) {
	if (window.confirm("マイページへ移動します。\nよろしいですか？")) {
		location.href = url;
	}
},

// 証書サイズの追加と削除
setSize: function() {
	if ($('l_size')) {
		for (var i = 1; i < $('l_size').length; i++) {
			$('l_size').remove(i);
		}
		
		for (var i = 0; i <= 4; i++) {
			var key = 'size'+i;
			
			if ($(key).value) {
				var check = true;
				for (var j = 1; j < $('l_size').length; j++) {
					if ($('l_size').options[j].value == i) {
						check = false;
						break;
					}
				}
				if (check == true) {
					var opt = document.createElement('option');
					opt.text = $(key).value;
					opt.value = i;
					try {
						$('l_size').add(opt, null);
					} catch (e) {
						$('l_size').add(opt);
					}
				}
			}
		}
	}
},

// サイズ選択時に設定カラーを表示
showColors: function() {
	$('v_color').value = '';
	while ($('l_color').length > 1) {
		for (var i = 1; i < $('l_color').length; i++) {
			$('l_color').remove(i);
		}
	}
	if ($('l_size').selectedIndex > 0) {
		var i = parseInt($('l_size').options[$('l_size').selectedIndex].value);
		var key = 'color'+i;
		if ($(key).value) {
			var temp = $(key).value.split(',');
			for (var j = 0; j < temp.length; j++) {
				var opt = document.createElement('option');
				opt.text = temp[j];
				opt.value = temp[j];
				try {
					$('l_color').add(opt, null);
				} catch (e) {
					$('l_color').add(opt);
				}
			}
		}
	}
},

// 証書カラーの追加
addColor: function() {
	if ($('l_size').length <= 1) {
		window.alert('証書サイズを追加してください。');
	} else if ($('l_size').selectedIndex < 1) {
		window.alert('追加した証書サイズを選択してください。');
	} else if (!$('v_color').value) {
		window.alert('追加する証書カラーを入力してください。');
	} else {
		var i = parseInt($('l_size').options[$('l_size').selectedIndex].value);
		var key = 'color'+i;
		var temp = new Array();
		var check = true;
		
		if ($(key).value) temp = $(key).value.split(',');
		if (temp.length > 0) {
			for (var j = 0; j < temp.length; j++) {
				if (temp[j] == $('v_color').value) {
					check = false;
					break;
				}
			}
		}
		if (check == true) {
			var opt = document.createElement('option');
			opt.text = $('v_color').value;
			opt.value = $('v_color').value;
			try {
				$('l_color').add(opt, null);
			} catch (e) {
				$('l_color').add(opt);
			}
			temp.push($('v_color').value);
			$(key).value = (temp.length > 0) ? temp.join(',') : '';
		}
		$('v_color').value = '';
	}
},

// 証書カラーの削除
removeColor: function() {
	if ($('l_size').selectedIndex < 1) {
		window.alert('証書サイズを選択してください。');
	} else if ($('l_color').length < 2) {
		window.alert('証書カラーが追加されていません。');
	} else if ($('l_color').selectedIndex < 1) {
		window.alert('削除する証書カラーを選択してください。');
	} else {
		var i = parseInt($('l_size').options[$('l_size').selectedIndex].value);
		var val = $('l_color').options[$('l_color').selectedIndex].value;
		var key = 'color'+i;
		
		for (var j = 1; j < $('l_color').length; j++) {
			if ($('l_color').options[j].value == val) {
				$('l_color').remove(j);
				break;
			}
		}
		
		if ($(key).value) {
			var temp1 = $(key).value.split(',');
			var temp2 = new Array();
			for (var j = 0; j < temp1.length; j++) {
				if (temp1[j] != val) temp2.push(temp1[j]);
			}
			$(key).value = temp2.join(',');
		}
	}
}

},

/* -----------------------------------------------------------------------------
>> p240
----------------------------------------------------------------------------- */

p240: {

// 発電所各種データ管理一覧
showPlants: function(p, opt) {
	$('plants-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_plants.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				data.Total = parseInt(data.Total);
				data.Totalpage = parseInt(data.Totalpage);
				data.Last = parseInt(data.Last);
				data.Next = parseInt(data.Next);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							pageList += '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p240.showPlants('+last+',opt)" onkeypress="GPTrade.p240.showPlants('+last+',opt)">前のページへ</a></li>';
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							pageList += '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p240.showPlants('+i+',opt)" onkeypress="GPTrade.p240.showPlants('+i+',opt)">'+i+'</a></li>';
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							pageList += '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p240.showPlants('+next+',opt)" onkeypress="GPTrade.p240.showPlants('+next+',opt)">次のページへ</a></li>';
						}
						
						var table = '';
						table = '<table summary="発電所各種データ管理一覧" class="list-table"><tr><th nowrap="nowrap">登録<br />番号</th><th>発電所名</th><th>発電<br />種別</th><th>発電設備<br />容量</th><th>運営者名</th><th nowrap="nowrap">取引の<br />履歴</th><th nowrap="nowrap">入札状況<br />・履歴</th><th nowrap="nowrap">登録情報<br />修正</th><th nowrap="nowrap">出展物件<br />管理</th></tr>';
						for (var i = 0; i < data.Plants.length; i++) {
							var image = '<span style="color:#708090;">[画像なし]</span>';
							if (data.Plants[i].pp_image) {
								image = '<img src="'+data.Plants[i].pp_image+'" alt="'+data.Plants[i].pp_name+'" width="80" />';
							}
							
							table += '<tr>'
								+ '<td>'+data.Plants[i].pp_id2+'</td>'
								+ '<td nowrap="nowrap">'+image+'<br />'+data.Plants[i].pp_name+'</td>'
								+ '<td class="text-center"><img src="./img/icon/'+data.Plants[i].type_icon+'_icon.gif" alt="'+data.Plants[i].type_name+'" width="40" height="40" /></td>'
								+ '<td>'+data.Plants[i].pp_cap+'kW</td>'
								+ '<td>'+data.Plants[i].pp_company+'</td>'
								+ '<td class="text-center"><a href="./250.html?id='+data.Plants[i].pp_id+'#a02" class="font-bmenu"><img src="img/200/2401.gif" alt="取引の履歴" width="50" height="50" /></a></td>'
								+ '<td class="text-center"><a href="./250.html?id='+data.Plants[i].pp_id+'#a04"><img src="img/200/2402.gif" alt="入札状況・履歴" width="50" height="50" /></a></td>'
								+ '<td class="text-center"><a href="./245.html?id='+data.Plants[i].pp_id+'"><img src="img/200/2403.gif" alt="登録情報修正" width="50" height="50" /></a></td>'
								+ '<td class="text-center"><a href="./260.html?id='+data.Plants[i].pp_id+'"><img src="img/200/2404.gif" alt="物件処理" width="50" height="50" /></a></td>'
								+ '</tr>';
						}
						$('pl-top1').innerHTML = pageList;
						$('plants-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						$('pl-top1').innerHTML = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p240.showPlants(1,opt)" onkeypress="GPTrade.p240.showPlants(1,opt)">1</a></li>';
						$('plants-list').innerHTML = '<table summary="発電所各種データ管理一覧" class="list-table"><tr><th class="text-center">登録されている発電所がありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('発電所の一覧を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
},

// 出展者一覧
showVendors: function(p, opt) {
	$('vendors-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_vendors.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							pageList += '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p240.showVendors('+last+',opt)" onkeypress="GPTrade.p240.showVendors('+last+',opt)">前のページへ</a></li>';
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							pageList += '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p240.showVendors('+i+',opt)" onkeypress="GPTrade.p240.showVendors('+i+',opt)">'+i+'</a></li>';
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							pageList += '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p240.showVendors('+next+',opt)" onkeypress="GPTrade.p240.showVendors('+next+',opt)">次のページへ</a></li>';
						}
						
						var table = '';
						table = '<table summary="証書発行事業者一覧" class="list-table"><tr><th>登録<br />番号</th><th>証書発行事業者名</th><th>登録発電所数</th><th>販売総額</th><th>出展一覧</th><th>登録情報<br />修正</th></tr>';
						for (var i = 0; i < data.Vendors.length; i++) {
							var link_s = '';
							var link_e = '';
							if (data.Vendors[i].pp_url != '') {
								link_s = '<a href="'+data.Vendors[i].vd_url+'" title="証書発行事業者の詳細情報をご覧になれます" target="_blank">';
								link_e = '</a>';
							}
							var mypage = '';
							switch (data.Vendors[i].vd_type) {
								case '1': mypage = '240'; break;
								case '2': mypage = '241'; break;
								case '3': mypage = '242'; break;
							}
							table += '<tr>'
								+ '<td>'+data.Vendors[i].vd_id2+'</td>'
								+ '<td>'+link_s+data.Vendors[i].vd_company+link_e+'</td>'
								+ '<td>'+data.Vendors[i].reg_count+'</td>'
								+ '<td>\\<span class="font-price">'+data.Vendors[i].vd_total+'</span></td>'
								+ '<td><a href="./'+mypage+'.html?id='+data.Vendors[i].vd_id+'" title="出展一覧を見る"><img src="img/200/2405.gif" alt="出展一覧を見る" width="50" height="50" /></a></td>'
								+ '<td><a href="./220.html?m=edit&id='+data.Vendors[i].vd_id+'" title="登録情報修正"><img src="img/200/2406.gif" alt="登録情報修正" width="50" height="50" /></a></td></tr>';
						}
						$('pl-top2').innerHTML = pageList;
						$('vendors-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						$('pl-top2').innerHTML = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p240.showVendors(1,opt)" onkeypress="GPTrade.p240.showVendors(1,opt)">1</a></li>';
						$('vendors-list').innerHTML = '<table summary="証書発行事業者一覧" class="list-table"><tr><th class="text-center">登録されている証書発行事業者がありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('証書発行事業者の一覧を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p241
----------------------------------------------------------------------------- */

p241: {

// 発電所各種データ管理一覧
showPlants: function(p, opt) {
	$('plants-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_plants.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							pageList += '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p241.showPlants('+last+',opt)" onkeypress="GPTrade.p241.showPlants('+last+',opt)">前のページへ</a></li>';
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							pageList += '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p241.showPlants('+i+',opt)" onkeypress="GPTrade.p241.showPlants('+i+',opt)">'+i+'</a></li>';
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							pageList += '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p241.showPlants('+next+',opt)" onkeypress="GPTrade.p241.showPlants('+next+',opt)">次のページへ</a></li>';
						}
						
						var table = '';
						table = '<table summary="発電所各種データ管理一覧" class="list-table"><tr><th nowrap="nowrap">発電所<br />番号</th><th>発電所名</th><th nowrap="nowrap">発電<br />種別</th><th nowrap="nowrap">発電設備<br />容量</th><th>運営者名</th><th nowrap="nowrap">取引の<br />履歴</th><th nowrap="nowrap">入札状況<br />・履歴</th><th nowrap="nowrap">登録情報<br />修正</th><th nowrap="nowrap">出展物件<br />管理</th></tr>';
						for (var i = 0; i < data.Plants.length; i++) {
							var image = '<span style="color:#708090;">[画像なし]</span>';
							if (data.Plants[i].pp_image) {
								image = '<img src="'+data.Plants[i].pp_image+'" alt="'+data.Plants[i].pp_name+'" width="80" />';
							}
							
							table += '<tr>'
								+ '<td>'+data.Plants[i].pp_id2+'</td>'
								+ '<td><a href="./251.html?id='+data.Plants[i].pp_id+'" title="'+data.Plants[i].pp_name+'">'+image+'<br />'+data.Plants[i].pp_name+'</a></td>'
								+ '<td class="text-center"><img src="./img/icon/'+data.Plants[i].type_icon+'_icon.gif" alt="'+data.Plants[i].type_name+'" width="40" height="40" /></td>'
								+ '<td>'+data.Plants[i].pp_cap+'kW</td>'
								+ '<td>'+data.Plants[i].pp_company+'</td>'
								+ '<td class="text-center">－</td>'
								+ '<td class="text-center">－</td>'
								+ '<td class="text-center"><a href="./246.html?id='+data.Plants[i].pp_id+'"><img src="img/200/2403.gif" alt="登録情報修正" width="50" height="50" /></a></td>'
								+ '<td class="text-center"><a href="./260.html?id='+data.Plants[i].pp_id+'"><img src="img/200/2404.gif" alt="物件処理" width="50" height="50" /></a></td>'
								+ '</tr>';
						}
						$('pl-top1').innerHTML = pageList;
						$('plants-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						$('pl-top1').innerHTML = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p241.showPlants(1,opt)" onkeypress="GPTrade.p241.showPlants(1,opt)">1</a></li>';
						$('plants-list').innerHTML = '<table summary="発電所各種データ管理一覧" class="list-table"><tr><th class="text-center">登録されている発電所がありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('発電所の一覧を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p242
----------------------------------------------------------------------------- */

p242: {

// 発電所各種データ管理一覧
showPlants: function(p, opt) {
	$('plants-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_plants.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							pageList += '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p242.showPlants('+last+',opt)" onkeypress="GPTrade.p242.showPlants('+last+',opt)">前のページへ</a></li>';
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							pageList += '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p242.showPlants('+i+',opt)" onkeypress="GPTrade.p242.showPlants('+i+',opt)">'+i+'</a></li>';
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							pageList += '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p242.showPlants('+next+',opt)" onkeypress="GPTrade.p242.showPlants('+next+',opt)">次のページへ</a></li>';
						}
						
						var table = '';
						table = '<table summary="発電所各種データ管理一覧" class="list-table"><tr><th>発電所<br />番号</th><th>発電所名</th><th>発電<br />種別</th><th>発電設備容量</th><th>運営者名</th><th>取引の履歴</th><th>入札状況<br />・履歴</th><th>登録情報<br />修正</th><th>出展物件<br />管理</th></tr>';
						for (var i = 0; i < data.Plants.length; i++) {
							var image = '<span style="color:#708090;">[画像なし]</span>';
							if (data.Plants[i].pp_image) {
								image = '<img src="'+data.Plants[i].pp_image+'" alt="'+data.Plants[i].pp_name+'" width="80" />';
							}
							
							table += '<tr>'
								+ '<td>'+data.Plants[i].pp_id2+'</td>'
								+ '<td><a href="./252.html?id='+data.Plants[i].pp_id+'" title="'+data.Plants[i].pp_name+'">'+image+'<br />'+data.Plants[i].pp_name+'</a></td>'
								+ '<td class="text-center"><img src="./img/icon/'+data.Plants[i].type_icon+'_icon.gif" alt="'+data.Plants[i].type_name+'" width="40" height="40" /></td>'
								+ '<td>'+data.Plants[i].pp_cap+'kW</td>'
								+ '<td>'+data.Plants[i].pp_company+'</td>'
								+ '<td class="text-center">－</td>'
								+ '<td class="text-center">－</td>'
								+ '<td class="text-center"><a href="./247.html?id='+data.Plants[i].pp_id+'"><img src="img/200/2403.gif" alt="登録情報修正" width="50" height="50" /></a></td>'
								+ '<td class="text-center"><a href="./260.html?id='+data.Plants[i].pp_id+'"><img src="img/200/2404.gif" alt="物件処理" width="50" height="50" /></a></td>'
								+ '</tr>';
						}
						$('pl-top1').innerHTML = pageList;
						$('plants-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						$('pl-top1').innerHTML = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p242.showPlants(1,opt)" onkeypress="GPTrade.p242.showPlants(1,opt)">1</a></li>';
						$('plants-list').innerHTML = '<table summary="発電所各種データ管理一覧" class="list-table"><tr><th class="text-center">登録されている発電所がありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('発電所の一覧を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p245
----------------------------------------------------------------------------- */

p245: {

// 入力チェック
check: function(v) {
	var msg = new Array();
	if ($('plant')) {
		if (!$('plant').value) msg.push("発電所名を入力してください。");
	}
	if ($('zip11') && $('zip12')) {
		if (!$('zip11').value || !$('zip12').value) msg.push("発電所の郵便番号を入力してください。");
		else if (isNaN($('zip11').value) || isNaN($('zip12').value)) msg.push("発電所の郵便番号は半角数字で入力してください。");
	}
	if ($('addr1')) {
		if (!$('addr1').value) msg.push("発電所の住所を入力してください。");
	}
	if (!$('point').value) msg.push("マップデータが見つかりません。");
	if ($('type1')) {
		if (!$('type1').checked && !$('type2').checked && !$('type3').checked && !$('type4').checked && !$('type5').checked) msg.push("発電種別を選択してください。");
	}
	if ($('cap')) {
		if (!$('cap').value) msg.push("発電設備容量を入力してください。");
		else if (isNaN($('cap').value)) msg.push("発電設備容量は半角数字で入力してください。");
	}
	if ($('year') && $('mon') && $('day')) {
		if (!$('year').value || !$('mon').value || !$('day').value) msg.push("設備認定日を入力してください。");
		else if (isNaN($('year').value) || isNaN($('mon').value) || isNaN($('day').value)) msg.push("設備認定日は半角数字で入力してください。");
	}
	//if (!$('year_n').value || !$('mon_n').value || !$('day_n').value) msg.push("次回認証時期を入力してください。");
	//else if (isNaN($('year_n').value) || isNaN($('mon_n').value) || isNaN($('day_n').value)) msg.push("次回認証時期は半角数字で入力してください。");
	if ($('number')) {
		if (!$('number').value) msg.push("認定番号を入力してください。");
	}
	//if (!$('image').value && !$('imgname').value) msg.push("発電所外観写真を選択してください。");
	if (!$('company').value) msg.push("運営者名を入力してください。");
		if (!$('zip21').value || !$('zip22').value) msg.push("運営者の郵便番号を入力してください。");
		else if (isNaN($('zip21').value) || isNaN($('zip22').value)) msg.push("運営者の郵便番号は半角数字で入力してください。");
		if (!$('addr2').value) msg.push("運営者の住所を入力してください。");
	if (!$('tel11').value || !$('tel12').value || !$('tel13').value) msg.push("運営者の電話番号を入力してください。");
	else if (isNaN($('tel11').value) || isNaN($('tel12').value) || isNaN($('tel13').value)) msg.push("運営者の電話番号は半角数字で入力してください。");
	if (!$('mail1').value) {
		msg.push("運営者のメールアドレスを正しく入力してください。");
	} else if (!$('mail2').value) {
		msg.push("運営者の確認用メールアドレスを正しく入力してください。");
	} else {
		if ($('mail1').value != $('mail2').value) msg.push("運営者のメールアドレスが確認用入力と一致していません。");
	}
	if (!$('pass1').value) {
		msg.push("パスワードを入力してください。");
	} else if (!$('pass2').value) {
		msg.push("パスワードの確認用入力をしてください。");
	} else {
		if ($('pass1').value != $('pass2').value) msg.push("パスワードが確認用入力と一致していません。");
	}
	/*
	if (!$('sei1').value || !$('mei1').value) msg.push("担当者氏名を入力してください。");
	if (!$('mail3').value) {
		msg.push("担当者のメールアドレスを入力してください。");
	} else {
		if ($('mail4').value) {
			if ($('mail3').value != $('mail4').value) msg.push("担当者のメールアドレスが確認用入力と一致していません。");
		}
	}
	*/
	
	if (msg.length == 0) {
		$('regForm').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// 新規登録時の入力チェック
checkNew: function(v) {
	var msg = new Array();
	if ($('plant')) {
		if (!$('plant').value) msg.push("発電所名を入力してください。");
	}
	if ($('zip11') && $('zip12')) {
		if (!$('zip11').value || !$('zip12').value) msg.push("発電所の郵便番号を入力してください。");
		else if (isNaN($('zip11').value) || isNaN($('zip12').value)) msg.push("発電所の郵便番号は半角数字で入力してください。");
	}
	if ($('addr1')) {
		if (!$('addr1').value) msg.push("発電所の住所を入力してください。");
	}
	if (!$('point').value) msg.push("マップデータが見つかりません。");
	if ($('type1')) {
		if (!$('type1').checked && !$('type2').checked && !$('type3').checked && !$('type4').checked && !$('type5').checked) msg.push("発電種別を選択してください。");
	}
	if ($('cap')) {
		if (!$('cap').value) msg.push("発電設備容量を入力してください。");
		else if (isNaN($('cap').value)) msg.push("発電設備容量は半角数字で入力してください。");
	}
	if ($('year') && $('mon') && $('day')) {
		if (!$('year').value || !$('mon').value || !$('day').value) msg.push("設備認定日を入力してください。");
		else if (isNaN($('year').value) || isNaN($('mon').value) || isNaN($('day').value)) msg.push("設備認定日は半角数字で入力してください。");
	}
	if ($('number')) {
		if (!$('number').value) msg.push("認定番号を入力してください。");
	}
	
	if (msg.length == 0) {
		$('regForm').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// 住所の同期
syncAdd: function(obj) {
	if (obj.checked) {
		if (!$('zip11').value || !$('zip12').value || $('pref').selectedIndex == 0 || !$('addr1').value) {
			window.alert('発電所の住所を入力してください。');
			obj.checked = false;
		} else {
			$('zip21').value = $('zip11').value;
			$('zip22').value = $('zip12').value;
			$('pref2').selectedIndex = $('pref').selectedIndex;
			$('addr2').value = $('addr1').value;
		}
	} else {
		$('zip21').value = '';
		$('zip22').value = '';
		$('pref2').selectedIndex = 7;
		$('addr2').value = '';
	}
},

// TELの同期
syncTel: function(obj) {
	if (
		(!$('tel11').value || !$('tel12').value || !$('tel13').value) ||
		(isNaN($('tel11').value) || isNaN($('tel12').value) || isNaN($('tel13').value))
	) {
		window.alert('運営者の電話番号を入力してください。');
		obj.checked = false;
	} else {
		$('tel21').value = (obj.checked) ? $('tel11').value : '';
		$('tel22').value = (obj.checked) ? $('tel12').value : '';
		$('tel23').value = (obj.checked) ? $('tel13').value : '';
	}
},

// Mailの同期
syncMail: function(obj) {
	if (obj.checked) {
		if (!$('mail1').value || !$('mail2').value) {
			window.alert('運営者のメールアドレスを入力してください。');
			obj.checked = false;
		} else if ($('mail1').value != $('mail2').value) {
			window.alert('運営者のメールアドレスが確認入力と一致していません。');
			obj.checked = false;
		} else {
			$('mail3').value = $('mail1').value;
			//$('mail4').value = $('mail2').value;
		}
	} else {
		$('mail3').value = '';
		$('mail4').value = '';
	}
}

},

/* -----------------------------------------------------------------------------
>> p250
----------------------------------------------------------------------------- */

p250: {

// 販売履歴を表示
showHistory: function(p, opt) {
	$('history-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_sales_history.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							var link = '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p250.showHistory('+last+',opt)" onkeypress="GPTrade.p250.showHistory('+last+',opt)">前のページへ</a></li>';
							pageList += link;
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							var link = '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p250.showHistory('+i+',opt)" onkeypress="GPTrade.p250.showHistory('+i+',opt)">'+i+'</a></li>';
							pageList += link;
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							var link = '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p250.showHistory('+next+',opt)" onkeypress="GPTrade.p250.showHistory('+next+',opt)">次のページへ</a></li>';
							pageList += link;
						}
						
						var table = '<table summary="取引の履歴" class="list-table"><tr><th>番号</th><th>販売日</th><th>販売先</th><th>販売量</th><th>金額</th><th>用途</th><th>発電者へのコメント</th><th>取引履歴<br />移行処理</th></tr>';
						for (var i = 0; i < data.History.length; i++) {
							var link_s = '';
							var link_e = '';
							if (data.History[i].pp_url != '') {
								//link_s = '<a href="'+data.History[i].url+'" title="発電所の詳細情報をご覧になれます" target="_blank">';
								link_s = '<a href="#" title="使用用途" target="_blank">';
								link_e = '</a>';
							}
							
							var name = null;
							name = (data.History[i].user_type == 2) ? data.History[i].user_sei+' '+data.History[i].user_mei : data.History[i].ser_company;
							
							var compAction = '移行済';
							if (data.History[i].status == 0) {
								compAction = '<a href="javascript:void(0)" title="売上げへ移行" onclick="GPTrade.p250.chgSales(1,'+data.History[i].uh_id+')" onkeypress="GPTrade.p250.chgSales(1,'+data.History[i].uh_id+')"><img src="img/200/2502.gif" alt="売上げへ移行" width="50" height="50" /></a>';
							}
							
							if (!data.History[i].uh_comment) data.History[i].uh_comment = '－';
							
							table += '<tr>'
								+ '<td class="font-bmenu">'+data.History[i].number+'</td>'
								+ '<td>'+data.History[i].uh_udate+'</td>'
								+ '<td class="text-center">'+name+'</td>'
								+ '<td><span class="font-price">'+data.History[i].uh_purchase+'</span>kWh</td>'
								+ '<td>\\<span class="font-price">'+data.History[i].uh_price+'</span></td>'
								+ '<td>'+data.History[i].uh_usage+'</td>'
								+ '<td><a href="javascript:void(0)" title="コメントを開く" onclick="GPTrade.common.subWindow(500,400,\''+data.History[i].uh_comment+'\')" onkeypress="GPTrade.common.subWindow(500,400,\''+data.History[i].uh_comment+'\')">'+data.History[i].s_comment+'</a></td>'
								+ '<td>'+compAction+'</td></tr>';
						}
						$('pl-top').innerHTML = pageList;
						$('history-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						var link = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p250.showHistory(1,opt)" onkeypress="GPTrade.p250.showHistory(1,opt)">1</a></li>';
						$('pl-top').innerHTML = link;
						$('history-list').innerHTML = '<table summary="取引の履歴" class="list-table"><tr><th class="text-center">取引の履歴はありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('購入履歴を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
},

// 入札状況を表示
showBid: function(p, opt) {
	$('bid-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_wants.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							var link = '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p250.showBid('+last+',opt)" onkeypress="GPTrade.p250.showBid('+last+',opt)">前のページへ</a></li>';
							pageList += link;
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							var link = '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p250.showBid('+i+',opt)" onkeypress="GPTrade.p250.showBid('+i+',opt)">'+i+'</a></li>';
							pageList += link;
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							var link = '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p250.showBid('+next+',opt)" onkeypress="GPTrade.p250.showBid('+next+',opt)">次のページへ</a></li>';
							pageList += link;
						}
						
						var table = '<table summary="入札の履歴" class="list-table">'
							+ '<tr><th nowrap="nowrap">購入希望<br />番号</th><th nowrap="nowrap">購入希望<br />金額</th><th nowrap="nowrap">購入希望量</th><th nowrap="nowrap">最新入札<br />金額</th>'
							+ '<th nowrap="nowrap">貴社入札<br />金額</th><th nowrap="nowrap">入札<br />件数</th><th nowrap="nowrap">入札<br />期限</th><th>ステータス</th><th nowrap="nowrap">取引履歴<br />移行処理</th></tr>';
							//+ '<th>貴社入札<br />金額</th><th>入札<br />件数</th><th>入札<br />期限</th><th>ステータス</th><th>入札<br />処理</th><th>取引履歴<br />移行処理</th></tr>';
						
						for (var i = 0; i < data.History.length; i++) {
							var link_s = '';
							var link_e = '';
							if (data.History[i].pp_url != '') {
								//link_s = '<a href="'+data.History[i].url+'" title="発電所の詳細情報をご覧になれます" target="_blank">';
								link_s = '<a href="#" title="使用用途" target="_blank">';
								link_e = '</a>';
							}
							
							if (!data.History[i].uh_comment) data.History[i].uh_comment = '－';
							
							var bidAction = '?b='+data.History[i].uw_id+'&amp;id='+opt.n;
							var compAction = '－';
							if (data.History[i].status == '落札' && data.History[i].uw_check == 0) {
								compAction = '<a href="javascript:void(0)" title="売上げへ移行" onclick="GPTrade.p250.chgSales(2,'+data.History[i].ub_id+')" onkeypress="GPTrade.p250.chgSales(2,'+data.History[i].ub_id+')"><img src="img/200/2502.gif" alt="売上げへ移行" width="50" height="50" /></a>';
							} else if (data.History[i].cancel == 1) {
								compAction = '<a href="javascript:void(0)" title="キャンセル" onclick="GPTrade.p250.cancel('+data.History[i].ub_id+')" onkeypress="GPTrade.p250.cancel('+data.History[i].ub_id+')"><img src="img/200/2101.gif" alt="入札をキャンセル" width="50" height="50" /></a>';
							}
							
							table += '<tr>'
								+ '<td class="font-bmenu">'+data.History[i].number+'<br /><a href="./200.html?no='+data.History[i].uw_id+'" title="この購入希望の入札履歴を確認する" style="font-size:11px;">入札履歴</a></td>'
								+ '<td>'+data.History[i].uw_price+'円<br />('+data.History[i].uw_rate+'円/kWh)</td>'
								+ '<td><span class="font-price">'+data.History[i].uw_purchase+'</span>kWh</td>'
								+ '<td><span class="font-price">'+data.History[i].newest_price+'</span>円<br />（<span class="font-price">'+data.History[i].newest_rate+'</span>円/kWh）</td>'
								+ '<td><span class="font-b">'+data.History[i].ub_price+'</span>円<br />（<span class="font-b">'+data.History[i].ub_rate+'</span>円/kWh）</td>'
								+ '<td>'+data.History[i].count+'</td>'
								+ '<td>残り<span class="font-price"><br />'+data.History[i].uw_ldate+'</span>日</td>'
								+ '<td class="font-b">'+data.History[i].status+'</td>'
								+ '<td>'+compAction+'</td></tr>';
						}
						$('pl-top2').innerHTML = pageList;
						$('bid-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						var link = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p250.showBid(1,opt)" onkeypress="GPTrade.p250.showBid(1,opt)">1</a></li>';
						$('pl-top2').innerHTML = link;
						$('bid-list').innerHTML = '<table summary="入札の履歴" class="list-table"><tr><th class="text-center">入札の履歴はありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('購入履歴を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
},

// 売上へ移行
// f = 1 : 購入履歴→売上
// f = 2 : 入札物件→売上
chgSales: function(f, i) {
	var title = '';
	if (f == 1) {
		title = '取引履歴';
	} else if (f == 2) {
		title = '入札履歴';
	}
	
	if (window.confirm("この"+title+"を売上に移行します。\nよろしいですか？")) {
		var myAjax = new Ajax.Request(
			'./js/change_sales.ajax',
			{
				method: 'get',
				parameters: 'n='+opt.n+'&k='+opt.k+'&f='+f+'&i='+i,
				onSuccess: function(httpObj) {
					var data = eval(httpObj.responseText);
					
					switch (data.Result) {
					case 'Success':
						window.alert('選択された購入履歴を売上に反映しました。');
						window.location.reload();
						//GPTrade.p250.showHistory(1, opt);
						break;
					case 'Error':
						window.alert("選択された購入履歴を売上に反映中、エラーが発生しました。\nデータは反映前の状態になっています。");
						break;
					case 'Empty':
						window.alert('選択された購入履歴が見つかりませんでした。');
						break;
					}
				},
				onFailure: function(httpObj) {
					window.alert('指定された'+title+'を売上に移行できませんでした。');
				},
				onException: function(httpObj, e) {
					window.alert("例外エラー\n" + e.message);
				}
			}
		);
	}
},

// 入札をキャンセル
cancel: function(id) {
	//$('bid-list').innerHTML = loading;
	if (window.confirm("入札のキャンセル処理を行います。\nよろしいですか？")) {
		var myAjax = new Ajax.Request(
			'./js/cancel_wants.ajax',
			{
				method: 'get',
				parameters: 'n='+opt.n+'&k='+opt.k+'&id='+id,
				onSuccess: function(httpObj) {
					var data = eval(httpObj.responseText);
					
					switch (data.Result) {
						case 'Success':
							window.alert(data.Message);
							GPTrade.p250.showBid(1,opt);
							break;
						case 'Empty': window.alert("指定された入札データは見つかりませんでした。"); break;
						case 'Illegal action': window.alert("不正なアクセスです。"); break;
						case 'Error':
							var msg = "入札のキャンセル処理でエラーが発生しました。\n"+data.Message;
							window.alert(msg);
							break;
					}
				},
				onFailure: function(httpObj) {
					window.alert('入札をキャンセルできませんでした。');
				},
				onException: function(httpObj, e) {
					window.alert("例外エラー\n" + e.message);
				}
			}
		);
	}
}

},

/* -----------------------------------------------------------------------------
>> p260
----------------------------------------------------------------------------- */

p260: {

// 入力チェック１
checkForm1: function() {
	var msg = new Array();
	if (!$('max').value) {
		msg.push("販売可能量を入力してください。");
	} else if (!$('munit').value) {
		msg.push("販売単位を入力してください。");
	} else if (isNaN($('max').value) || isNaN($('munit').value)) {
		msg.push("販売量の設定は、すべての項目を半角数字でご入力ください。");
	} else {
		var temp0 = parseInt($('max').value);
		var temp1 = parseInt($('min').options[$('min').selectedIndex].value);
		var temp2 = parseInt($('munit').value);
		
		if (temp1 > temp0) {
			msg.push("最少販売量は販売可能量よりも小さい値にしてください。");
		}
		if (temp2 > temp0 || temp2 > temp1) {
			msg.push("販売単位は、販売可能量や最少販売量よりも小さい値にしてください。");
		}
	}
	if (msg.length == 0) {
		$('form1').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// 入力チェック２
checkForm2: function(n) {
	if (n == 0) {
		window.alert("まだ一度も販売設定を行っていません。\n先に販売量の設定を行ってください。");
		return false;
	}
	
	var munit = parseInt($('munit').value);
	var msg = new Array();
	var blank = true;
	var temp1 = new Array();
	var temp2 = new Array();
	var check1 = true;
	var check2 = true;
	
	if (!$('rank11').value || isNaN($('rank11').value) || $('rank11').value == '0') {
		msg.push("最初の販売電力値を入力してください。");
	} else if (parseInt($('rank11').value) < parseInt($('min').options[$('min').selectedIndex].value)) {
		msg.push("最初の販売電力値は、最少販売量と同じか、より大きな値にしてください。");
	} else if (!$('rate1').value) {
		msg.push("最初の販売単価を入力してください。");
	} else {
		for (var i = 1; i <= 5; i++) {
			var key1 = 'rank'+i+'1';
			var key2 = 'rank'+i+'2';
			var key3 = 'rate'+i;
			
			if (!isNaN($(key2).value) && (parseInt($(key1).value) > 0) && temp1.contains($(key1).value)) {
				check1 = false;
			} else {
				temp1.push($(key1).value);
			}
			if (!isNaN($(key2).value) && (parseInt($(key2).value) > 0) && temp1.contains($(key2).value)) {
				check1 = false;
			} else {
				temp1.push($(key2).value);
			}
			if (!isNaN($(key3).value) && (parseInt($(key3).value) > 0) && temp2.contains($(key3).value)) {
				check2 = false;
			} else {
				temp2.push($(key3).value);
			}
			
			if ($(key1).value || $(key2).value) {
				if (!$(key1).value) msg.push(i+"番目の電力範囲の下限値が入力されていません。");
				else if (isNaN($(key1).value)) msg.push(i+"番目の電力範囲の下限値は半角数字で入力してください。");
			}
			if ($(key3).value) blank = false;
			else if (isNaN($(key3).value)) msg.push("単価は半角数字で入力してください。");
		}
	}
	if (check1 == false) msg.push("重複している販売電力値があります。");
	if (check2 == false) msg.push("重複している単価があります。");
	if (blank == true) msg.push("設定を入力してください。");
	
	if (msg.length == 0) {
		$('form2').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// 入力チェック３
checkForm3: function(n) {
	if (n == 0) {
		window.alert("まだ一度も販売設定を行っていません。\n先に販売量の設定を行ってください。");
		return false;
	}
	$('form3').submit();
},

// 出展取りやめ
cancel: function(n) {
	if (n == 0) {
		window.alert("まだ一度も販売設定を行っていません。\n先に販売量の設定を行ってください。");
		return false;
	}
	
	if (window.confirm("この発電所の出展を取りやめます。\nよろしいですか？")) {
		$('mode4').value = 'stop';
		$('form4').submit();
	}
},

// 出展開始
start: function(n) {
	if (n == 0) {
		window.alert("まだ一度も販売設定を行っていません。\n先に販売量の設定を行ってください。");
		return false;
	}
	
	if (window.confirm("この発電所の出展を開始します。\nよろしいですか？")) {
		$('mode4').value = 'start';
		$('form4').submit();
	}
},

// 取引履歴
showHistory: function(p, opt) {
	$('history-list').innerHTML = loading;
	
	if (isNaN(p)) p = 1;
	var myAjax = new Ajax.Request(
		'./js/search_sales_history.ajax',
		{
			method: 'get',
			parameters: 'n='+opt.n+'&k='+opt.k+'&p='+p,
			onSuccess: function(httpObj) {
				var data = eval(httpObj.responseText);
				data.Page = parseInt(data.Page);
				
				switch (data.Result) {
					case 'Success':
						var pageList = '';
						if (data.Last == 1) {
							var last = data.Page - 1;
							var link = '<li><a href="javascript:void(0)" title="前のページへ" onclick="GPTrade.p260.showHistory('+last+',opt)" onkeypress="GPTrade.p260.showHistory('+last+',opt)">前のページへ</a></li>';
							pageList += link;
						}
						for (var i = 1; i <= data.Totalpage; i++) {
							var now = (i == data.Page) ? ' class="now"' : '';
							var link = '<li'+now+'><a href="javascript:void(0)" title="'+i+'ページ" onclick="GPTrade.p260.showHistory('+i+',opt)" onkeypress="GPTrade.p260.showHistory('+i+',opt)">'+i+'</a></li>';
							pageList += link;
						}
						if (data.Next == 1) {
							var next = data.Page + 1;
							var link = '<li><a href="javascript:void(0)" title="次のページへ" onclick="GPTrade.p260.showHistory('+next+',opt)" onkeypress="GPTrade.p260.showHistory('+next+',opt)">次のページへ</a></li>';
							pageList += link;
						}
						
						var table = '<table summary="取引の履歴" class="list-table"><tr><th>番号</th><th>販売日</th><th>販売先</th><th>販売量</th><th>金額</th><th>用途</th><th>発電者へのコメント</th></tr>';
						for (var i = 0; i < data.History.length; i++) {
							var link_s = '';
							var link_e = '';
							if (data.History[i].pp_url != '') {
								//link_s = '<a href="'+data.History[i].url+'" title="発電所の詳細情報をご覧になれます" target="_blank">';
								link_s = '<a href="#" title="使用用途" target="_blank">';
								link_e = '</a>';
							}
							
							var name = null;
							name = (data.History[i].user_type == 2) ? data.History[i].user_sei+' '+data.History[i].user_mei : data.History[i].ser_company;
							
							if (!data.History[i].uh_comment) data.History[i].uh_comment = '－';
							
							table += '<tr>'
								+ '<td>'+data.History[i].number+'</td>'
								+ '<td>'+data.History[i].uh_udate+'</td>'
								+ '<td class="text-center">'+name+'</td>'
								+ '<td><span class="font-price">'+data.History[i].uh_purchase+'</span>kWh</td>'
								+ '<td>\\<span class="font-price">'+data.History[i].uh_price+'</span></td>'
								+ '<td>'+data.History[i].uh_usage+'</span></td>'
								//+ '<td>'+data.History[i].uh_comment+'</td></tr>';
								+ '<td><a href="javascript:void(0)" title="コメントを開く" onclick="GPTrade.common.subWindow(500,400,\''+data.History[i].uh_comment+'\')" onkeypress="GPTrade.common.subWindow(500,400,\''+data.History[i].uh_comment+'\')">'+data.History[i].s_comment+'</a></td>'
						}
						$('pl-top').innerHTML = pageList;
						$('history-list').innerHTML = table + '</table>';
						
						break;
					case 'Empty':
						var link = '<li class="now"><a href="javascript:void(0)" title="1ページ" onclick="GPTrade.p260.showHistory(1,opt)" onkeypress="GPTrade.p260.showHistory(1,opt)">1</a></li>';
						$('pl-top').innerHTML = link;
						$('history-list').innerHTML = '<table summary="取引の履歴" class="list-table"><tr><th class="text-center">取引の履歴はありません。</th></tr></table>';
						break;
					case 'Illegal action': window.alert("不正なアクセスです。"); break;
					case 'Error': window.alert("購入履歴の読み込みでエラーが発生しました。"); break;
				}
			},
			onFailure: function(httpObj) {
				window.alert('購入履歴を読み込めません。');
			},
			onException: function(httpObj, e) {
				window.alert("例外エラー\n" + e.message);
			}
		}
	);
}

},

/* -----------------------------------------------------------------------------
>> p700
----------------------------------------------------------------------------- */

p700: {

// 前のページに戻る
goBack: function() {
	$('askForm').action = './700.html';
	$('askForm').submit();
}

},

/* -----------------------------------------------------------------------------
>> p803
----------------------------------------------------------------------------- */

p803: {

// 約款に同意する
agree: function() {
	$('agree-form').action = './110.html';
	$('agree-form').submit();
},

// 約款に同意しない
cancel: function() {
	$('agree-form').submit();
}

},

/* -----------------------------------------------------------------------------
>> p990a
----------------------------------------------------------------------------- */

p990a: {

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('mail').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
	if (!$('pass').value) msg.push("パスワードを入力してください。");
	
	if (msg.length == 0) {
		$('login-box').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// パスワード再送入力チェック
forgetCheck: function() {
	var msg = new Array();
	if (!$('mail').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
	if ($('question').selectedIndex < 1) msg.push("秘密の質問を選択してください。");
	if (!$('answer').value) msg.push("秘密の質問の答えを入力してください。");
	
	if (msg.length == 0) {
		$('login-box').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
}

},

/* -----------------------------------------------------------------------------
>> p990b
----------------------------------------------------------------------------- */

p990b: {

// 入力チェック
check: function() {
	var msg = new Array();
	if (!$('type1').checked && !$('type2').checked) msg.push("ログイン種別を選択してください。");
	if (!$('mail').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
	if (!$('pass').value) msg.push("パスワードを入力してください。");
	
	if (msg.length == 0) {
		$('login-box').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
},

// パスワード再送入力チェック
forgetCheck: function() {
	var msg = new Array();
	if (!$('type1').checked && !$('type2').checked) msg.push("ログイン種別を選択してください。");
	if (!$('mail').value.match(/.+@.+\..+/)) msg.push("メールアドレスを正しく入力してください。");
	if ($('question').selectedIndex < 1) msg.push("秘密の質問を選択してください。");
	if (!$('answer').value) msg.push("秘密の質問の答えを入力してください。");
	
	if (msg.length == 1) {
		$('login-box').submit();
		return true;
	}
	
	msg = msg.join("\n");
	window.alert(msg);
	return false;
}

}

}

