// JavaScript Document

var icons = new Array();		// タグアイコン

/* ===============================================
新商品情報

画面ロード時に新商品を取得しフェード効果をつける
=============================================== */
function newArrivalItem(){
	$.get("/products/ajax.php", {exec: "new"},
		function(data){
			var res = eval(data);
			var field = document.getElementById('fade');
			if(res.rsCnt > 0){

				var jan_code = res.jan_code.split(',');
				var product_name = res.product_name.split(',');
				var retail_price = res.retail_price.split(',');
				var release_date = res.release_date.split(',');
				
				var leftPosition = -10;

				if (navigator.userAgent.indexOf('MSIE 6.0') != -1) {
					leftPosition = 0;
				} else if (navigator.userAgent.indexOf("MSIE") != -1) {
					leftPosition = -20;
				}
				
				for(var i = 0; i < res.rsCnt; i++){
					var new_area = document.createElement('span');
					new_area.innerHTML = '<p class="date" style="position:relative;left:' + leftPosition + 'px;">'+ release_date[i] +'発売</p>';
					new_area.innerHTML += '<p class="img"><img src="/images/'+ jan_code[i] +'_new.jpg" width="60" height="54" alt="" /></p>';
					new_area.innerHTML += '<p class="txt" style="position:relative;left:' + leftPosition + 'px;"><a href="/products/detail.php?jc='+ jan_code[i] +'"><strong>'+ product_name[i] +'</strong></a></p>';
					field.appendChild(new_area);
				}

				// フェード効果
				$('#fade').innerfade({
					speed: 3000,
					timeout: 6000,
					type: 'sequence',
					containerheight: 80
				});
			}else{
				field.innerHTML = '新商品はありません。';
			}
		});
}

/* ===============================================
検索件数取得

チェックボックス、テキストボックス変更時に件数を取得する
=============================================== */
function searchCnt(categoryId, word, checked){
	// グローバル変数参照渡し用
	$.get("/products/ajax.php", {
				exec: "cnt",
				word: getSearchWordParam(),
				freeWord: $('#txtFree').val()
				},
			function(data){
				var cnt = data;
				// 検索件数表示
				$('#rsCnt1').html(cnt);
				$('#rsCnt2').html(cnt);

				var btnObj = document.getElementById('searchBtn');
				var img = '';
				var img_ro = '';
				var cursor = '';
				var disabled = '';
				var path = '/products/images/list/';
				// 0件の場合
				if(cnt == 0){
					img = 'search_btn_no.jpg';
					img_ro = img;
					btnObj.onclick = function(){}
					cursor = 'default';
					disabled = true;
				}else{
					img = 'search_btn.jpg';
					img_ro = 'search_btn_on.jpg';
					btnObj.onclick = function(){
						$('#searchFlg').val(1);
						movePage(-1);
					}
					cursor = 'pointer';
					disabled = false;
				}

				// 検索ボタン表示切り替え
				btnObj.src = path + img;
				btnObj.style.cursor = cursor;
				btnObj.disabled = disabled;
				$('#searchBtn').hover(function(){
					btnObj.src = path + img_ro;
				}, function(){
					btnObj.src = path + img;
				});
	});
}

/**
 * チェックされたデータの一覧を取得する。
 */
function getSearchWordParam(){
	var rtnData = '';
	var workData = '';
	var i = 0;
	var j = 0;

	while (true) {
		j = 1;
		workData = '';
		obj = document.getElementById('brand' + i + '-' + j);

		if (obj == null) {
			break;
		}
		while (true) {
			obj = document.getElementById('brand' + i + '-' + j);
			if (obj == null) {
				break;
			}
			
			if (obj.checked) {
				if (workData != '') {
					workData += ',';
				}
				workData += obj.value;
			}
			j ++;
		}
		if (i > 0) {
			rtnData += ':';
		}
		rtnData += workData;
		i ++;
		if (i > 4) break;
	}

	return rtnData;
}

/* ===============================================
商品検索

検索結果を表示する
=============================================== */
function searchExec(page){
	setIcons();
	// 1ページ表示数
	var listNum = $('#selListNum').val();
	var limitSt = (page - 1) * listNum;

	var json = {exec: 'list',
				word: getSearchWordParam(),
				freeWord: $('#txtFree').val(),
				limitSt: limitSt,
				limitEd: listNum
	}

	$.ajax({
			url: "/products/ajax.php",
			data: json,
			cache: false,
			success: function(data){
				var res = eval(data);
				var html = '';

				if(res.rsCnt > 0){
					var jan_code = res.jan_code.split(',');
					var product_name = res.product_name.split(',');
					var retail_price = res.retail_price.split(',');
					var release_date = res.release_date.split(',');
					var tags = res.tag.split(':');

					html += '<div class="search-result">';
					html += '<ul class="pager fl">';
					html += getPager(page, res.allCnt, listNum);
					html += '</ul>';
					html += '<p clas="item-unm">'+res.allCnt+'商品がみつかりました</p>'
					html += '</div>';
					html += '<div class="item-list">';
					for(var i = 0; i < res.rsCnt; i++){
						html += '<div class="item"><div class="item-inline">';
						html += '<h4><a href="detail.php?jc='+jan_code[i]+'">'+ product_name[i] +'</a></h4>';
						html += '<p class="photo"><img src="/products/images/list/'+ jan_code[i] +'_s.jpg" width="85" height="85" alt="" /></p>';
						html += '<p class="price">希望小売価格 <strong>'+ retail_price[i] +'</strong>';
						if(retail_price[i].indexOf("円") >= 0){
							html += '(税込価格)';
						}
						html += '</p>';
						html += '<p class="date">発売日：'+ release_date[i] +'</p>';
						if(tags[i] != ''){
							var tag = tags[i].split(',');
							html += '<ul class="icon">';

							// アイコン表示
							for(var key in icons){
								for(var j = 0; j < tag.length; j++){
									if(key == tag[j])
										html += '<li><img src="/products/images/list/'+icons[key]+'" height="13" alt="'+tag[j]+'" /></li>';
								}
							}
							html += '</ul>';
						}
						html += '</div></div>';
					}
					html += '<div class="search-result">';
					html += '<ul class="pager f1">';
					html += getPager(page, res.allCnt, listNum);
					html += '</ul>';
					html += '</div>';

				}else{
					html = '検索結果は0件です。';
				}
				$('#goodsList').html(html);

				SearchItem('div.section.lineup-list div.item-list div.item'); //検索結果のアイテム
			}
		 });
	location.href = "./list.php#search01";
}

/* ===============================================
ajaxよりアイコン情報をセットする

グローバル配列で保持
=============================================== */
function setIcons(){
	if(icons.length == 0){
		var res = eval($.ajax({
			url: "/products/ajax.php",
			data:{exec: "icon"},
			async: false
		}).responseText);

		var names = res.name.split(',');
		var paths = res.icon_path.split(',');

		for(var i = 0; i < names.length; i++){
			icons[names[i]] = paths[i];
		}
	}
}

// ページャー取得
function getPager(page, total, max){
	// 総ページ数
	var pageCnt = Math.ceil(total / max);
	var html = '';
	if(page != 1){
		html += '<li><a class="prev" href="javascript:searchExec('+(page-1)+')">前のページ</a></li>';
	}
	for(var i = 1; i <= pageCnt; i++){
		html += '<li>';
		// 現在ページ
		if(i == page){
			html += '<span>'+i+'</span>';
		}else{
			html += '<a href="javascript:searchExec('+i+')">'+i+'</a>';
		}
		html += '</li>';
	}
	if(page < pageCnt){
		html += '<li><a class="next" href="javascript:searchExec('+(page+1)+')">次のページ</a></li>';
	}

	return html;
}

// GET値解析
function getRequest(){
  if(location.search.length > 1) {
    var get = new Object();
    var ret = location.search.substr(1).split("&");
    for(var i = 0; i < ret.length; i++) {
      var r = ret[i].split("=");
      get[r[0]] = r[1];
    }
    return get;
  } else {
    return false;
  }
}

