/*
 * prefecture.js
 * 
 * Copyright (c) Takao Tagawa (dounokouno.com)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Since:     2009-10-02
 * Modified:  2011-11-19
 *
 * jQuery 1.6.4
 * 
*/

(function($){
	$(function(){
		// 初期状態でダミーテキストを生成
		$.prefecture.create();
		
		// 生成ボタン
		$("#create").click($.prefecture.create);
		
		// 選択ボタン
		$("#choice").click(function(){
			$("#prefecture").select();
			return false;
		});
		
		// リセットボタン
		$("#reset").click($.prefecture.reset);
		
		// 検証ボタン
		$("#verify").click($.prefecture.verify);
		
		// ダイアログの設定
		$("#dialog").dialog({
			draggable: false,
			autoOpen: false,
			modal: true,
			width: 400,
			title: "検証"
		});
		
	});
	
	// 処理
	$.prefecture={
		// 生成
		create:function(){
			// -------------------------------------------------------
			// 都道府県セレクトメニュー生成
			// -------------------------------------------------------
			var t = "";
			t += "<select name=\"prefecture\">\n";
			t += "<option value=\"\">都道府県をお選びください</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "<optgroup label=\"北海道・東北\">\n";
			}
			
			t += "<option value=\"北海道\">北海道</option>\n";
			t += "<option value=\"青森県\">青森県</option>\n";
			t += "<option value=\"岩手県\">岩手県</option>\n";
			t += "<option value=\"宮城県\">宮城県</option>\n";
			t += "<option value=\"秋田県\">秋田県</option>\n";
			t += "<option value=\"山形県\">山形県</option>\n";
			t += "<option value=\"福島県\">福島県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"関東\">\n";
			}
			
			t += "<option value=\"茨城県\">茨城県</option>\n";
			t += "<option value=\"栃木県\">栃木県</option>\n";
			t += "<option value=\"群馬県\">群馬県</option>\n";
			t += "<option value=\"埼玉県\">埼玉県</option>\n";
			t += "<option value=\"千葉県\">千葉県</option>\n";
			t += "<option value=\"東京都\">東京都</option>\n";
			t += "<option value=\"神奈川県\">神奈川県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"甲信越・北陸\">\n";
			}
			
			t += "<option value=\"新潟県\">新潟県</option>\n";
			t += "<option value=\"富山県\">富山県</option>\n";
			t += "<option value=\"石川県\">石川県</option>\n";
			t += "<option value=\"福井県\">福井県</option>\n";
			t += "<option value=\"山梨県\">山梨県</option>\n";
			t += "<option value=\"長野県\">長野県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"東海\">\n";
			}
			
			t += "<option value=\"岐阜県\">岐阜県</option>\n";
			t += "<option value=\"静岡県\">静岡県</option>\n";
			t += "<option value=\"愛知県\">愛知県</option>\n";
			t += "<option value=\"三重県\">三重県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"関西\">\n";
			}
			
			t += "<option value=\"滋賀県\">滋賀県</option>\n";
			t += "<option value=\"京都府\">京都府</option>\n";
			t += "<option value=\"大阪府\">大阪府</option>\n";
			t += "<option value=\"兵庫県\">兵庫県</option>\n";
			t += "<option value=\"奈良県\">奈良県</option>\n";
			t += "<option value=\"和歌山県\">和歌山県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"中国\">\n";
			}
			
			t += "<option value=\"鳥取県\">鳥取県</option>\n";
			t += "<option value=\"島根県\">島根県</option>\n";
			t += "<option value=\"岡山県\">岡山県</option>\n";
			t += "<option value=\"広島県\">広島県</option>\n";
			t += "<option value=\"山口県\">山口県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"四国\">\n";
			}
			
			t += "<option value=\"徳島県\">徳島県</option>\n";
			t += "<option value=\"香川県\">香川県</option>\n";
			t += "<option value=\"愛媛県\">愛媛県</option>\n";
			t += "<option value=\"高知県\">高知県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
				t += "<optgroup label=\"九州・沖縄\">\n";
			}
			
			t += "<option value=\"福岡県\">福岡県</option>\n";
			t += "<option value=\"佐賀県\">佐賀県</option>\n";
			t += "<option value=\"長崎県\">長崎県</option>\n";
			t += "<option value=\"熊本県\">熊本県</option>\n";
			t += "<option value=\"大分県\">大分県</option>\n";
			t += "<option value=\"宮崎県\">宮崎県</option>\n";
			t += "<option value=\"鹿児島県\">鹿児島県</option>\n";
			t += "<option value=\"沖縄県\">沖縄県</option>\n";
			
			// optgroupにチェックが入っている場合
			if ($("#optgroup").attr('checked')) {
				t += "</optgroup>\n";
			}
			
			t += "</select>";
			
			// 選択済み都道府県を設定する
			var s = $("#selected").val();
			t = t.replace("value=\"" + s + "\"", "value=\"" + s + "\" selected=\"selected\"");
			
			// 文字列出力
			$("#prefecture").val(t);
			
			// 選択状態
			$("#prefecture").select();
			
			return false;
		},
		
		// リセット
		reset:function(){
			$("#prefecture").val("");
			$("#prefecture").focus();
			return false;
		},
		
		// 検証
		verify:function(){
			// -------------------------------------------------------
			// 検証
			// -------------------------------------------------------
			
			var t = $("#prefecture").val();
			
			// 検証ボタンクリック
			$("#dialog > p").html(t);
			$("#dialog").dialog("open");
			return false;
		}
	};
})(jQuery);
