//サイト毎固有情報定義
var image_per_page = 24;		//１ページあたりの表示件数

//内部利用変数定義
var image_take_count = 0;
var image_first = true;
var image_loadOk = false;
var image_safe_search = "";		//googleリクエストのセーフサーチ：高→"active" 中→"" なし→"off"
var image_count = 0;

//描画処理
function image_dataDisplay(){
	if (image_loadOk == false) {
		//データ読み込みが完了していなければループ
		setTimeout(image_dataDisplay, 500);
		return false;
	}
	image_loadOk = false;
	if(image_take_count == 0){
		//初期取得
		list = image_search.get();
	}else{
		//補填時取得
		list = image_search.getMoreGet(image_per_page - image_take_count);
	}

	var ul = $j('.photo ul');

	for(i=0; i<list.length; i++){

		var image = list[i];
		// li 要素の生成
		var li = document.createElement('li');
		li.className = "heightLine";

		// a 要素の生成
		var atag = document.createElement('a');
		atag.href = image['img'];
		atag.rel = ++image_count;
		atag.title = image['name'];
		atag.className = 'thumb lightbox-enabled';

		// img 要素の生成
		var img = document.createElement('img');
		img.src = image['thumb'];
		img.alt = image['name'];
		img.onerror = function(){this.src="/common/img/no-s.jpg"};
		atag.appendChild(img);

		//ピックアップ、除外ボタン
		var menu_div = document.createElement('div');
		menu_div.className = 'act_img';
		//ピックアップ
		var pickup_atag = document.createElement('a');
		pickup_atag.title = 'PICKUP PICTUREに設定';
		pickup_atag.className = 'pick';
		pickup_atag.id = image['img'];
		menu_div.appendChild(pickup_atag);

		//除外
		var exclude_atag = document.createElement('a');
		exclude_atag.title = 'この画像を表示しない';
		exclude_atag.className = 'iac';
		exclude_atag.id = detail_id;
		exclude_atag.src = image['img'];
		exclude_atag.rel = image['thumb'];
		menu_div.appendChild(exclude_atag);

		li.appendChild(atag);
		li.appendChild(menu_div);
		ul.append(li);

		image_take_count++;
	}
	//LightBox配置
	$j(".photo .heightLine a").unbind("click");
//	$j(".photo .heightLine a").bind("click", function(){imageClick(this); return false;});
	setPopup(".photo .heightLine a");	//画像表示イベント設定

	//除外
	$j(".photo .iac").unbind("click");
	$j(".photo .iac").bind("click", function(){insertExcludeImage(this); return false;});

	//Topイメージ変更
	$j(".photo .pick").unbind("click");
	$j(".photo .pick").bind("click", function(){updateTopImage(this); return false;});

	//サムネイル上ボタン
	setImageThumBtnEvent();

	is_request = image_search.is_request();
	is_poolData = image_search.is_poolData();
	if(image_take_count < image_per_page && is_request == true){
		if(image_search.getMoreResult() == true){
			image_first = true;
			return;
		}
	}

	//ページングナビ表示
	is_request = image_search.is_request();
	is_poolData = image_search.is_poolData();
	if(is_request == true || is_poolData == true){
		$j("#image_list .more2 a").show();
	}
	image_take_count = 0;
	//ローディング非表示
	$j("#image_list div.loading").css("display", "none");
	//総件数表示
	$j("#image_list p.count strong").text(image_search.getResultCount());

	//次ページのデータを取得
	image_first = false;
	if(is_request == true){
		image_search.nextpage(word);
	}

		image_loadOk = true;
}

//サムネイル上ボタンイベント設定
function setImageThumBtnEvent(){
	$j(".photo .heightLine .act_img").hide();
	$j(".photo .heightLine").unbind("mouseover");
	$j(".photo .heightLine").unbind("mouseout");
	$j(".photo .heightLine").bind("mouseover", function(){
		$j(".act_img" ,this).show();
	});
	$j(".photo .heightLine").bind("mouseout", function(){
		$j(".act_img" ,this).hide();
	});
}

//除外設定追加
function insertExcludeImage(event){
	var id = event.id;
	var url;
	if(typeof(event.src) == "object"){
		url = event.src[0];
	}else{
		url = event.src;
	}
	var thumb = event.rel;

	//除外リストに追加
	image_excludeList.push(new Array(url,thumb));

	//表示上の削除
	var ul = event.parentNode.parentNode.parentNode;
	var li = event.parentNode.parentNode;
	ul.removeChild(li);

	//除外リストに追加
	$j.ajax({
		dataType: "POST",
		data: {
			"act":'api_excludeimage',
			"mode":'ins',
			"id":id,
			"url":url,
			"thumb":thumb
		},
		url: "/index.php"
	});

	//除外リストへのリンク表示切替
	switchImageExclude();

	//連番の振りなおし
	var lp = 1;
	$j(".photo .heightLine .thumb").each(function(){
		this.rel = lp++;
	});

	return false;
}

//除外設定削除
function deleteExcludeImage(event){
	var id = event.id;
	var url = event.src;

	//除外リストから削除
	var len = image_excludeList.length - 1;
	var i;
	for(i = len; i >= 0; i--){
		if(image_excludeList[i][0] == url){
			image_excludeList.splice(i,1);
		}
	}

	//表示上の削除
	var ul = event.parentNode.parentNode.parentNode;
	var li = event.parentNode.parentNode;
	ul.removeChild(li);

	//除外リストに追加
	$j.ajax({
		dataType: "POST",
		data: {
			"act":'api_excludeimage',
			"mode":'del',
			"id":id,
			"url":url
		},
		url: "/index.php"
	});

	//除外リストへのリンク表示切替
	switchImageExclude();

	//連番の振りなおし
	var lp = 1;
	$j(".photo .heightLine .thumb").each(function(){
		this.rel = lp++;
	});

	return false;
}

//タイトル部画像変更
function updateTopImage(event){

	//連打対応 現在の表示画像と設定画像が同じ時は処理しない
	if($j(".pickup img")[0].src == event.id){
		return false;
	}

	//見た目上の画像を変更
	$j(".pickup img")[0].src = event.id;

	//更新リクエストを発行
	$j.ajax({
		dataType:"POST",
		data:{
			"act":"api_settopimage",
			"id":detail_id,
			"url":event.id
		},
		url:"/index.php"
	});

	return false;
}

//除外リスト描画処理
var is_excludeImage = false;
function excludeImage_Display(){

	if(is_excludeImage == true){
		$j('#image_list .switch a').html("&gt;  削除されている画像一覧");
//		$j('.exclude_img').hide();
//		$j('.photo').show();
		is_excludeImage = false;
		var ul = $j('.photo ul');
		ul.empty();
		image_count = 0;
		image_search = new cls_image_search();
		image_search.word = word;
		image_search.g_word = g_word;
		image_search.p_word = p_word;
		image_search.f_word = f_word;
		image_first=true;
		$j("#image_list div.loading").css("display", "block");
		$j("#image_list .more2 a").hide();
		image_search.search();

		return;
	}

	is_excludeImage = true;
	$j('#image_list .switch a').html("戻る");
	$j("#image_list .more2 a").hide();

	var ul = $j('#image_list ul');
	ul.empty();
	image_count = 0;
	for(var i=0; i<image_excludeList.length; i++){
		var url = image_excludeList[i][0];
		var thumb = image_excludeList[i][1];
		if(thumb == ""){
			thumb = url;
		}
		// li 要素の生成
		var li = document.createElement('li');
		li.className = "heightLine";

		// a 要素の生成
		var atag = document.createElement('a');
		atag.href = url;
		atag.className = 'thumb lightbox-enabled';
		atag.rel = i+1;

		// img 要素の生成
		var img = document.createElement('img');
		img.src = thumb;
		img.onerror = function(){this.src="/common/img/no-s.jpg"};
		atag.appendChild(img);

		var menu_div = document.createElement('div');
		menu_div.className = 'act_img';
		//復活ボタン
		var back_atag = document.createElement('a');
		back_atag.title = '戻す';
		back_atag.innerHTML = '戻す';
		back_atag.className = 'rac';
		back_atag.id = detail_id;
		back_atag.src = url;
		menu_div.appendChild(back_atag);

		li.appendChild(atag);
		li.appendChild(menu_div);
		ul.append(li);
	}
	$j(".photo .heightLine a").unbind("click");
//	$j(".photo .heightLine a").bind("click", function(){imageClick(this); return false;});
	setPopup(".photo .heightLine a");	//画像表示イベント設定

	$j(".photo .rac").unbind("click");
	$j(".photo .rac").bind("click", function(){deleteExcludeImage(this); return false;});
	//サムネイル上ボタン
	setImageThumBtnEvent();

}

//以下基本的に編集の必要は無いはず-------------------------------------------

function image_init(word ,g_word ,p_word ,f_word) {

	//除外リストへのリンク表示切替
	switchImageExclude();

	image_search = new cls_image_search();
	image_search.word = word;
	image_search.g_word = g_word;
	image_search.p_word = p_word;
	image_search.f_word = f_word;
	image_initAjaxStop();
	image_search.search();
}

function image_initAjaxStop(){
	//ページングナビ非表示
	$j("#image_list .more2 a").hide();

	//取得結果を表示
	$j(".photo").ajaxStop(function(){
		image_loadOk = true;
		if(image_first) {
			$j("#image_list .more2 a").click();
		}
	});

	$j("#image_list .more2 a").click(function(){
		$j("#image_list div.loading").css("display", "block");
		$j("#image_list .more2 a").hide();

		setTimeout(image_dataDisplay, 0);

		return false;
	});
}
/*
 * 除外リストへのリンク切り替え
 */
function switchImageExclude(){

	if(image_excludeList.length == 0){
		//除外リンク非表示
		$j("#image_list .switch a").hide();
		//除外リストを表示中のとき
		if($j("#image_list .switch a").html() == "戻る"){
			//通常画面に遷移させる
			excludeImage_Display();
		}
	}else{
		//除外リンク表示
		$j("#image_list .switch a").show();
	}
}
