/**
分類検索 for web
* 選択肢クラス
* @param parentValue 親の値(null:いつでも表示)
* @param text 表示テキスト
* @param value 値
*/
function SelectOption(parentValue, text, value)
{
	this.parentValue = parentValue;
	this.setOption = function()
	{
		this.text = text;
		this.value = value;
	};
	return this;
}

/**
* セレクトボックスクラス
* @param id セレクトボックスID
*/

function SelectBox(id)
{
	
	/**
	* IDに対応オブジェクトを取得
	* @return オブジェクトorNULL
	*/
	function getObject()
	{
		var obj = document.getElementById(id);
		if(!obj.options && ( (typeof obj.length) == "number") )
		{
			if(obj.length > 0)
			{
				obj = obj[0];
			}
			else
			{
				obj = null;
			}
		}
		return obj;
	}
	// オプションのリスト
	var options = [];
	/**
	* オプション登録
	* @param condition 表示条件
	*/
	this.registOption = function(option)
	{
		options[options.length] = option;
	};
	// 子のオブジェクト
	var child = null;
	/**
	* 子のオブジェクトを設定する
	* @param childObj 子のオブジェクト
	*/
	this.setChild = function(childObj)
	{
		child = childObj;
	};
	/**
	* オプション反映
	* @param parentValue 親の値(null:全部表示)
	* ※比較に==を使っているのでundefinedもnullと等しく扱われる。
	*/
	this.make = function(parentValue)
	{
		var obj = getObject();
		if(obj)
		{
			// 選択肢削除
			obj.options.length = 0;
			// 表示すべき選択肢抽出
			var opt = (parentValue != null) ? [] : options;
			if(parentValue != null)
			{
				for(var i = 0; i < options.length; i++)
				{
					if( (options[i].parentValue == null) || (options[i].parentValue == parentValue) )
					{
						opt[opt.length] = options[i];
					}
				}
			}
			// 選択肢反映
			obj.options.length = opt.length;
			for(var i = 0; i < opt.length; i++)
			{
				opt[i].setOption.call(obj.options[i]);
			}
			// 子のオブジェクトにも連鎖反映
			if(child)
			{
				child.make(obj.value);
				}
		}
	};
	return this;
}

var iPodbox1 = new SelectBox("sb_iPod1");
iPodbox1.registOption(new SelectOption(null, "iPodの種類を選択", ""));

iPodbox1.registOption(new SelectOption("null", "iPhone 4S", "iPhone 4S"));
iPodbox1.registOption(new SelectOption("null", "iPhone 4", "iPhone 4"));
iPodbox1.registOption(new SelectOption("null", "iPhone 3G / 3GS", "iPhone 3G / 3GS"));
iPodbox1.registOption(new SelectOption("null", "classic", "classic"));
iPodbox1.registOption(new SelectOption("null", "5G", "5G"));
iPodbox1.registOption(new SelectOption("null", "4G以前", "4G以前"));
iPodbox1.registOption(new SelectOption("null", "classic / touch", "classic / touch"));
iPodbox1.registOption(new SelectOption("null", "touch 4th", "touch 4th"));
iPodbox1.registOption(new SelectOption("null", "touch 2nd / 3rd", "touch 2nd / 3rd"));
iPodbox1.registOption(new SelectOption("null", "touch", "touch"));
iPodbox1.registOption(new SelectOption("null", "nano 6th", "nano 6th"));
iPodbox1.registOption(new SelectOption("null", "nano 5th", "nano 5th"));
iPodbox1.registOption(new SelectOption("null", "nano 4th", "nano 4th"));
iPodbox1.registOption(new SelectOption("null", "nano 3rd", "nano 3rd"));
iPodbox1.registOption(new SelectOption("null", "nano 1st / 2nd", "nano 1st / 2nd"));
iPodbox1.registOption(new SelectOption("null", "mini", "mini"));
iPodbox1.registOption(new SelectOption("null", "shuffle 4th", "shuffle 4th"));
iPodbox1.registOption(new SelectOption("null", "shuffle 3rd", "shuffle 3rd"));
iPodbox1.registOption(new SelectOption("null", "shuffle 2nd", "shuffle 2nd"));
iPodbox1.registOption(new SelectOption("null", "汎用", "汎用"));




var iPodbox2 = new SelectBox("sb_iPod2");
iPodbox2.registOption(new SelectOption(null, "ケースの種類を選択", ""));


iPodbox2.registOption(new SelectOption("iPhone 4S", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "ナイロン", "Nylon"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "フェルト", "felt"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "ラバー", "Rubber"));
iPodbox2.registOption(new SelectOption("iPhone 4S", "メタル", "Metal"));

iPodbox2.registOption(new SelectOption("iPhone 4", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("iPhone 4", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("iPhone 4", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("iPhone 4", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("iPhone 4", "ナイロン", "Nylon"));
iPodbox2.registOption(new SelectOption("iPhone 4", "フェルト", "felt"));
iPodbox2.registOption(new SelectOption("iPhone 4", "ラバー", "Rubber"));
iPodbox2.registOption(new SelectOption("iPhone 4", "メタル", "Metal"));

iPodbox2.registOption(new SelectOption("classic", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("classic", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("classic", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("classic", "ナイロン", "Nylon"));
iPodbox2.registOption(new SelectOption("classic", "布", "Cloth"));
iPodbox2.registOption(new SelectOption("classic", "メタル", "Metal"));

iPodbox2.registOption(new SelectOption("5G", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("5G", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("5G", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("5G", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("5G", "ナイロン", "Nylon"));

iPodbox2.registOption(new SelectOption("4G以前", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("4G以前", "シリコン", "Silicon"));

iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "ナイロン", "Nylon"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "フェルト", "felt"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "ラバー", "Rubber"));
iPodbox2.registOption(new SelectOption("iPhone 3G / 3GS", "メタル", "Metal"));

iPodbox2.registOption(new SelectOption("classic / touch", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("classic / touch", "ネオプレーン", "Neoprene"));

iPodbox2.registOption(new SelectOption("touch 4th", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("touch 4th", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("touch 4th", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("touch 4th", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("touch 4th", "フェルト", "felt"));
iPodbox2.registOption(new SelectOption("touch 4th", "メタル", "Metal"));
iPodbox2.registOption(new SelectOption("touch 4th", "ラバー", "Rubber"));

iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "フェルト", "felt"));
iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "メタル", "Metal"));
iPodbox2.registOption(new SelectOption("touch 2nd / 3rd", "ラバー", "Rubber"));

iPodbox2.registOption(new SelectOption("touch", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("touch", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("touch", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("touch", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("touch", "メタル", "Metal"));
iPodbox2.registOption(new SelectOption("touch", "布", "Cloth"));

iPodbox2.registOption(new SelectOption("nano 6th", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("nano 6th", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("nano 6th", "シリコン", "Silicon"));

iPodbox2.registOption(new SelectOption("nano 5th", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("nano 5th", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("nano 5th", "シリコン", "Silicon"));
//iPodbox2.registOption(new SelectOption("nano 5th", "ネオプレーン", "Neoprene"));
//iPodbox2.registOption(new SelectOption("nano 5th", "フェルト", "felt"));
//iPodbox2.registOption(new SelectOption("nano 5th", "メタル", "Metal"));
//iPodbox2.registOption(new SelectOption("nano 5th", "ラバー", "Rubber"));

iPodbox2.registOption(new SelectOption("nano 4th", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("nano 4th", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("nano 4th", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("nano 4th", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("nano 4th", "フェルト", "felt"));
iPodbox2.registOption(new SelectOption("nano 4th", "メタル", "Metal"));
iPodbox2.registOption(new SelectOption("nano 4th", "ラバー", "Rubber"));

iPodbox2.registOption(new SelectOption("nano 3rd", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("nano 3rd", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("nano 3rd", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("nano 3rd", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("nano 3rd", "ナイロン", "Nylon"));

iPodbox2.registOption(new SelectOption("nano 1st / 2nd", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("nano 1st / 2nd", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("nano 1st / 2nd", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("nano 1st / 2nd", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("nano 1st / 2nd", "ナイロン", "Nylon"));
iPodbox2.registOption(new SelectOption("nano 1st / 2nd", "メタル", "Metal"));

iPodbox2.registOption(new SelectOption("mini", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("mini", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("mini", "ネオプレーン", "Neoprene"));

iPodbox2.registOption(new SelectOption("shuffle 4th", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("shuffle 4th", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("shuffle 4th", "シリコン", "Silicon"));

iPodbox2.registOption(new SelectOption("shuffle 3rd", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("shuffle 3rd", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("shuffle 3rd", "シリコン", "Silicon"));

iPodbox2.registOption(new SelectOption("shuffle 2nd", "レザー(革)", "Leather"));
iPodbox2.registOption(new SelectOption("shuffle 2nd", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("shuffle 2nd", "シリコン", "Silicon"));
iPodbox2.registOption(new SelectOption("shuffle 2nd", "ネオプレーン", "Neoprene"));

iPodbox2.registOption(new SelectOption("汎用", "クリスタル", "Plastic"));
iPodbox2.registOption(new SelectOption("汎用", "ナイロン", "Nylon"));
iPodbox2.registOption(new SelectOption("汎用", "ネオプレーン", "Neoprene"));
iPodbox2.registOption(new SelectOption("汎用", "布", "Cloth"));


iPodbox1.setChild(iPodbox2);
iPodbox2.setChild(iPodbox3);

