/******************************************************************************
 * genreloader.js
 * 
 * ジャンルをAJAXで読み込み、ドロップダウンリストを更新するスクリプト
 * 
 * @package		Chikushinavi http://www.chikushinavi.com/
 * @category	View (JavaScript)
 * @author		InfoLogic
 * #using: ajax.js
 ******************************************************************************/

var genreTargetId = '';

//ジャンルデータローダ
function loadGenres(targetId, catgoryId, baseurl, func)
{
	genreTargetId = targetId;
	var target = $(genreTargetId);
	
	while(target.hasChildNodes())
	{
		target.removeChild(target.firstChild);
	}
	
	ajax.get(baseurl + '/' + catgoryId, func);
}

//データ更新（リストアイテム）
function fillOptions(result)
{
	 var genres = eval("(" + result + ")");
	 
	 var target = $(genreTargetId);
	 
	 var i = 0;
	 for (var key in genres)
	 {
	 	target.options[i] = new Option(genres[key], key);
	 	i++;
	 }
}

//データ更新（チェックボックス）
function fillListItem(result)
{
	var genres = eval("(" + result + ")");
	//hideLoading();
	var target = $(genreTargetId);
	
	delete genres['all'];
	
	for (var key in genres)
	{
		var chkBox = document.createElement('input');
		chkBox.type = 'checkbox';
		chkBox.id = 'item_genre_' + key;;
		chkBox.name = 'genre_ids[]';
		chkBox.value = key;
		
		var labelText = document.createTextNode(' ' + genres[key]);
		
		var label = document.createElement('label');
		label.appendChild(chkBox);
		label.appendChild(labelText);
		
		var listItem = document.createElement('li');
		listItem.appendChild(label);
		
		target.appendChild(listItem);
	}
}

//ボタン選択有効化
function activate(targetObj, value)
{
	var objParent = targetObj.parentNode;
	//clear
	var items = objParent.childNodes;
	for(key in items) {
		items[key].className = null;
	}
	targetObj.className = 'active';
	
	var inputCat = $('category_id');
	inputCat.value= value;
}

//ジャンル初期化
function initGenre(targetId, baseurl, func, itemPrefix)
{
	var hash = window.location.hash;
	hash = hash.split("?");
	hash = hash[0].split("#");
	
	var categories = {
		'eating' : true,
		'fashion' : true,
		'life' : true,
		'home' : true,
		'health' : true,
		'business' : true,
		'learning' : true,
		'hobby' : true
	};
	
	if(hash.length > 1 && categories[hash[1]])
	{
		activate($(itemPrefix + hash[1]), hash[1]);
		loadGenres(targetId, hash[1], baseurl, func);
	}
}
