$(function(){
	$("img, .draggable-item, .item-hover, .areatop, .areabottom, #navi .button, #navi div.droppable-hover").pngfix();
	if($('#itemlist-1').size()) {
		$('#itemlist-1 .draggable-item').draggable({opacity: 0.7,helper: 'clone',revert: true,scroll:false});
		tb_init('#itemlist-1 a.thickbox');
	}
	try {
		document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
	var asinURI = '/asin/';
	var ua = 'ie';
	if (typeof document.body.style.maxHeight != "undefined") {
		ua = 'etc';
	}
	if($.cookie('draghint') == 'True') statusHidden();
	$('#pagestatus').css('position', 'absolute');
	fixed();
	window.onscroll = fixed;
	window.onresize = fixed;
	$('.draggable-item').draggable({opacity: 0.7,helper: 'clone', revert: true, scroll: false});
	//$('.draggable-item').draggable({opacity: 1,helper: 'clone', revert: true, scroll: false});
	$('.draggable-item').hover(
		function(){$(this).addClass('itemhover')},
		function(){$(this).removeClass('itemhover')}
	);
	adultFilter();
	$('#adultfilter').click(adultFilter);
	//$('#continue').hover(naviNext);
	function adultFilter() {
		var sw = 0;
		if($('#adultfilter:checked').length) {
			//$('.adult').('display', 'block');
			$('.adult').css('display', 'block');
			sw = 1;
		} else {
			$('.adult').css('display', 'none');
			if($.cookie('adulthint') != 'True') {
				$('#dragstatusinner').html('アダルト要素は非表示になっています。<br />表示するにはサイドバーの<br />検索オプションをチェックしてください。<input type="hidden" id="hintlabel" value="adulthint" />');
				$('#dragstatus').show();
			}
			//$('.adult').fadeOut();
		}
		$.cookie('safesearch', sw, { expires: 6000, path: "/" });
	}
	if($('#atodebox').size()) {
		$('#atodebox div.li').hover(
				function() { $(this).addClass('lihover'); },
				function() { $(this).removeClass('lihover'); }
				);
		$('#atodebox h2 a').before('<div class="deletebutton" title="今は買わない"><br /></div>');
		$('#atodebox div.deletebutton').click(function() {
			$(this).parents('.li').fadeOut('slow', function() {
				$(this).remove();
			});
		});
		$('#atodebox .prLeft').after('<div class="itemcount"><div class="number"><img src="/images/number/x.gif" /><img src="/images/number/1.gif" /></div><div class="itempm"><img src="/images/number/p.gif" class="bt" rel="plus" alt="アイテムを増やします" /><img src="/images/number/m.gif" class="bt" rel="minor" alt="アイテムを減らします" /></div></div>');
		$('#atodebox .bt').click(function() {
			var q = $('.quantity', $(this).parents('.li'));
			var qv = parseInt(q.val());
			if($(this).attr('rel') == 'plus') {
				if(qv > 99) { return False; }
				q.val(qv+1);
			} else {
				if(qv < 1) { return False; }
				q.val(qv-1);
			}
			var ht = '<img src="/images/number/x.gif" />';
			for(var i = 0; i < q.val().length; i++){
				var v = q.val().substring(i, i+1);
				ht += '<img src="/images/number/'+v+'.gif" />';
			}
			$('.number', $(this).parents('.li')).html(ht);
		});
	}
	//$('.draggable-item').draggable({ cursor: 'crosshair' });
	function fixed() {
		y = document.body.scrollTop || document.documentElement.scrollTop;
		n = $(this).height();
		//alert(n);
		//alert(y);
		//h = n+y-30;
		h = y+5;
		$('#navi').css('top', h+'px');
		$('#areastatus').css('top', String(parseInt(h)+110)+'px');
		;
		wd = $(document).height()-(y+n);
		//$('#dragstatusinner').html(wd);
		if($('#continue').size() && (wd < 150 || $('#continue').position().top - (y+n) < 150) && $('#continue').css('display') != 'none') { naviNext(); }
		var b = y+n-40; // bottom
		$('#pagestatus').css('top', b+'px');
	}
	var cnt = 0;
	$('.droppable').droppable({
		accept: '.draggable-item',
		hoverClass : 'droppable-hover',
		tolerance: 'pointer',
		drop: function(event, ui) {
			var asin = $('.asinvalue', ui.helper).val();
			var title = $('.titlevalue', ui.helper).val();
			ui.helper.fadeOut();
			appendItem(asin, title);
			//appendItem(this.id, asin);
			var param = "";
			if($.cookie(this.id)){ param = $.cookie(this.id); }
			var tmp = param.split(":");
			var asins = new Array();
			for(var i = 0; i < tmp.length; i++) {
				if(!tmp[i] || tmp[i] == asin) continue;
				asins.push(tmp[i]);
			}
			asins.push(asin);
			$.cookie(this.id, asins.join(':'), { expires: 6000, path: "/" });
		}
	});
	$('.button').click(function() {
			var param = $.cookie(this.id);
			
			if(this.id == 'check') {
				if($("#"+this.id+"area").css('display') == 'none') {
					$(this).addClass('droppable-hover');
					statusHidden();
					if(ua == 'ie') { $('#genreselect').hide(); }
					if(param) {
						appendItems(this.id, param);
					} else {
						$('#'+this.id+'inner').html('アイテムは空です。');
						$('#'+this.id+'area').fadeIn();
					}
				} else {
					$(this).removeClass('droppable-hover');
					statusHidden();
				}
			}
			//$('#dragstatusinner').html(html);
			//$('#dragstatus').show();
		});
	$('#dragstatus').click(function() {
		$.cookie($('#hintlabel').val(), 'True', { path: "/" });
		statusHidden();
	});
	function naviNext(){
		var con = $('#continue');
		var url = con.attr('href');
		var tmp = con.attr('rel').split(" of ");
		var page = tmp[0];
		var total = tmp[1];
		con.hide();
		$("#pagestatusinner").html('<img src="/images/loading2.gif" />Loading...');
		$("#pagestatus").show();
		/*
		var page = Number($("#hSearchPage").val()) + 1;
		$("#hSearchPage").val(page);
		params = {
			"word" : $("#hSearchWord").val(),
			"genre" : $("#hSearchGenre").val(),
			"page" : page
		};
		*/
		params = {
			"viewmode" : 'inner'
		}
		$.post(url, params, function(html, status){
			con.remove();
			$("#loading_search").before(html);
			$("#pagestatusinner").text('complete');
			$("#pagestatus").fadeOut('slow');
			$('#itemlist-'+page+' .draggable-item').draggable({opacity: 0.7,helper: 'clone',revert: true,scroll:false});
			tb_init('#itemlist-'+page+' a.thickbox');
			adultFilter();
			fixed();
		});
	}

	function appendItems(tar, asin){
		params = {
			"asin" : asin,
			"mode" : "titles"
		}
		$.post(asinURI, params, function(html, status){
			var tmp = html.split('<%RES%>');
			var buf = '';
			var adata = new Array();
			for(var i = 0; i < tmp.length; i++){
				var tmp2 = tmp[i].split('<%ASIN%>');
				adata[tmp2[1]] = tmp2[0];
			}
			tmp = asin.split(':');
			for(var i = 0; i < tmp.length; i++) {
				if(!tmp[i]) continue;
				var asini = tmp[i];
				var title = adata[asini];
				if(!title) continue;
				var trimstr = title;
				if(trimstr.length >= 20){
					trimstr = trimstr.substr(0, 20)+"...";
				}
				buf += '<li class="libdr" title="'+title+'"><img class="delimg" src="/images/delete.gif" width="10" height="10" alt="削除" title="このアイテムを削除" onclick="deleteItem($(this), \''+tar+'\')" name="'+asini+'" /><a href="/item/'+asini+'/" title="詳細ページを開きます">'+trimstr+'</a></li>';
			}
			/*
			if($("#"+tar).css("height") != "200px" && lis >= 10){
				$("#"+tar).css("height", "200px");
			}*/

			var tg = $("#"+tar+'inner');
			tg.html(buf);
			$("#"+tar+'area').fadeIn();
			if(tg.height() > 200) {
				tg.css("height", "200px");
			} else {
				tg.css("height", "auto");
			}
		});
	}
	$('#searchtext').keypress(function(ev) {
			if(ev.keyCode == 13) { searchJump(); }
		});
	$('#searchbutton').click(searchJump);

	function searchJump() {
		var word = $('#searchtext').val();
		var genre = $('#genreselect').val();
		if(word.match(/^\s*$/)){
			alert('検索キーワードを入力してください');
		} else {
			var url = '/find/'+genre+'/0/'+encodeURIComponent(word).replace(/%2F/g, '%252F').replace(/%20/g, '+')+'/';
			location.href = url;
		}
	}
	function statusHidden() {
		if(ua == 'ie') { $('#genreselect').show(''); }
		$('#checkarea').hide();
		$('#dragstatus').hide();
	}
	function appendItem(asin, txt) {
		statusHidden();
		$('#dragstatusinner').html(txt+"を追加しました。");
		$('#dragstatus').show();
		//$('#dragstatus').fadeOut('slow');
		setTimeout(function(){$('#dragstatus').fadeOut('slow')}, 500);
	}
	//$('a[rel*=facebox]').facebox();
	$('#pagestatusinner').text('Complete')
	$('#pagestatus').fadeOut('slow');
	if(ua == 'ie') { $('#genreselect').hide(); }
	$('#dragstatusinner').html('アイテム(画像)をここへドラッグしてください<input type="hidden" id="hintlabel" value="draghint" />');
});
function deleteItem(tar, prid){
	var param = "";
	var a = tar.attr('name');
	if($.cookie(prid)){ param = $.cookie(prid); }
	var tmp = param.split(":");
	var asins = new Array();
	for(var i = 0; i < tmp.length; i++) {
		if(tmp[i] != a) asins.push(tmp[i]);
	}
	$.cookie(prid, asins.join(':'), { expires: 6000, path: "/" });

	tar = tar.parent()
	ult = tar.parent()
	lis = $("li", ult).size();
	if(ult.height() > 200) {
		ult.css("height", "200px");
	} else {
		ult.css("height", "auto");
	}
	tar.fadeOut('fast');
	setTimeout(function(){
			tar.remove()
			if(lis <= 1) {
				$('#'+prid+'inner').html('アイテムは登録されていません');
			}
		}, 500);
}

