/*
 * AmorePacific Membership Total Search
 */

(function($) {
	var settings;
 
	$.fn.photomatic = function(callerSettings) {
		settings = $.extend({
			photoElement: '#photomaticPhoto',
			nextControl: null,
			previousControl: null
		},callerSettings||{});
		settings.photoElement = $(settings.photoElement);
		settings.thumbnails = this.filter('img');
		settings.thumbnails.each(function(n){this.index = n;});
		settings.current = 0;
		settings.count = 4;
		$(settings.nextControl).click(function() {
			if(settings.current + settings.count < settings.thumbnails.length) {
				showPhoto((settings.current+1) % settings.thumbnails.length);
			}
			return false;
		});
		$(settings.previousControl).click(function() {
			if(settings.current > 0) {
				showPhoto((settings.thumbnails.length + settings.current -1) % settings.thumbnails.length);
			}
			return false;
		});
		showPhoto(0);
		return this;
	};
 
	var showPhoto = function(index) {
		var img_str = $(settings.previousControl).find('img').attr('src');
		if(index > 0) {
			$(settings.previousControl).find('img').attr('src', function() {return this.src.replace('_off', '_on');});
		} else {
			$(settings.previousControl).find('img').attr('src', function() {return this.src.replace('_on', '_off');});
		}
		if(index + settings.count < settings.thumbnails.length) {
			$(settings.nextControl).find('img').attr('src', function() {return this.src.replace('_off', '_on');});
		} else {
			$(settings.nextControl).find('img').attr('src', function() {return this.src.replace('_on', '_off');});
		}
		var positionX = -70 * index;
		settings.photoElement.animate(
			{
				left: positionX
			},
			'fast');
		settings.current = index;
	};

})(jQuery);


$(function() {
	var hasfocus = 0;
	var isAutoComplete = false;

	// 검색어 입력시(키 입력시)
	$('.top_search .input_text').keydown(function(event){
		if (!event) event = window.event;
		var keyCode = event.keyCode;

		if(keyCode ==  9)   return false;	//Tab 키
		if(keyCode == 16)   return false;	//Shift 키
		if(keyCode == 16)   return false;	//Ctrl 키
		if(keyCode == 18)   return false;	//Alt 키
		//if(keyCode == 45)   return false;	//Ins 키
		//if(keyCode == 46)   return false;	//Del 키
		if(keyCode == 33)   return false;	//PgUp 키
		if(keyCode == 34)   return false;	//PgDn 키
		//if(keyCode == 35)   return false;	//End 키
		//if(keyCode == 36)   return false;	//Home 키
		if(keyCode == 13) {					//Enter 키
			event.returnValue = false;
			event.cancelBubble = true;
			try {
				event.preventDefault();
			} catch(e) {}
			// 검색 쿼리 수행
			searchValidation();
			return false;
		}
		//if(keyCode >= 37 && keyCode <= 40)   return false;     //방향키

		//KeyPress 이벤트 발생 시점에는 아직 TextField에 사용자가 입력한 키 값이 설정되지 않았기 때문에
		//브라우저가 이벤트에 반응하여 값을 설정할 때까지 잠시 기다린다.
		setTimeout('searchWNRun()', 250);

	});

	$('.top_search .input_text').blur(function() {
		if ($('#atcmp').is(':visible') && hasfocus > 0 ) {
			//alert('a'); 자동완성 클릭시
		} else {
			resizeSearch('250');
			$('#atcmp').hide();
		}
	});
	$('#atcmp').hover(
		/*
		function() {$('#atcmp').show()},
		function() {$('#atcmp').hide()}
		*/
		)
		.mouseover(function() {
			hasfocus = 1;
		})
		.mouseout(function() {
			hasfocus = - 1;
		});
	$('#atcmpBtn .on').livequery('click', function() {
		resizeSearch('250');
		$('#atcmp').toggle();
		return false;
	});
	$('#atcmpBtn .off').livequery('click', function() {
		$('#actmpStop').toggle();
		return false;
	});
	$('.relation_link a').click(function() {
		resizeSearch('470');
		set_stepSearch(3);
		$('.result_box3').show();
		return false;
	});
	$('.close_relation a').click(function() {
		$('.result_box3').hide();
		resizeSearch('250');
		set_stepSearch(0);
		return false;
	});
	$('#atcmp .func_close').click(function() {
		$('#atcmp').hide();
		$('#atcmpBtn').find('img').attr('src', function() {return this.src.replace('_up_', '_down_');})
			.attr('alt', '자동완성 접기');
		$('#atcmpBtn .on').removeClass().addClass('off');
		isAutoComplete = false;
		return false;
	});
	$('#actmpStop .func_close').click(function() {
		$('#actmpStop').hide();
		$('#atcmpBtn').find('img').attr('src', function() {return this.src.replace('_down_', '_up_');})
			.attr('alt', '자동완성 펼치기');
		$('#atcmpBtn .off').removeClass().addClass('on');
		isAutoComplete = true;
		return false;
	});
	$('.thumb_list img').photomatic({
		photoElement: '.thumb_list ul',
		previousControl: '.before_view',
		nextControl: '.after_view'
	});
});

/*
 * 검색엔진에서 자동완성 검색결과를 리턴한다.
 */
function searchWNRun() {
	var siteCd = $("#searchForm_Top input[name='siteCd']").val();
	var q = $('.top_search .input_text').val();
	$.ajax({
		url: '/util/search/api/ark_trans.jsp',
		dataType: 'xml',
		data: {query:q, target:siteCd, eq:'UTF-8', es:'UTF-8'},
		success: function(xml) {
			var i = 0;
			$('#atcmp .words .result_box1').empty();
			$('#atcmp .words .result_box2').hide();
			$(xml).find('ARK').each(function(){
				var keyword = $(this).attr('keyword');
				var prdtCd = $(this).attr('type');
				var keywordStr =cutStr(keyword,20).replace(q, '<span>'+q+'</span>');
				if (i < 6) {
					$('#atcmp .words .result_box1').append('<li><a href="#' + prdtCd + '" onclick="selectKeyword(\'' + keyword + '\',\'' + prdtCd + '\');return false;">' + keywordStr + '</a></li>');
					i = i + 1;
				}
			});
			if (i > 0) {
				$('#atcmp').show();
				$('#atcmp .msg').hide();
			} else {
				$('#atcmp').hide();
				$('#atcmp .msg').show();
			}
		},
		error: function() {
			$('#atcmp .words .result_box1').empty();
			$('#atcmp .words .result_box2').hide();
			$('#atcmp').hide();
			$('#atcmp .msg').show();
		}
	});
}

/*
 * 자동완성 목록의 검색 키워드 선택시
 */
function selectKeyword(keyword, prdtCd) {

	$.get("/util/search/ajax/get_product_info.jsp", {prdtCd:prdtCd}, function(data){
		$('#atcmp .words .result_box2').empty().html(data);

		$('.relation_link a').click(function() {
			searchRelationProduct(prdtCd);
			resizeSearch('470');
			set_stepSearch(3);
			$('.result_box3').show();
			return false;
		});

		$('#atcmp .words .result_box2').show();
		$('.result_box3').hide();
		set_stepSearch(0);
		resizeSearch('250');
	});

	$('.top_search .input_text').val(keyword);
}

/*
 * 연관제품 목록 불러오기
 */
function searchRelationProduct(prdtCd) {
	var siteCd = $("#searchForm_Top input[name='siteCd']").val();
	resizeSearch('470');
	set_stepSearch(3);
	$.get("/util/search/ajax/get_relprdt_list.jsp", {siteCd:siteCd, prdtCd:prdtCd}, function(data){
		$('.result_box3 .wrap .thumb_list ul').empty().html(data);
		ssct.initialize();
	});
}

/*
 * 검색 쿼리 수행
 */
function searchValidation() {
	var formObj = document.forms['searchForm_Top']; 
	if (!formObj) formObj = document.searchForm_Top;
	var queryvalue = formObj.query.value;
	if (queryvalue == "") {
		alert("검색어를 입력하세요.");
		formObj.query.focus();
		return;
	}
	$('#dialogA').dialog('destroy');
	openDialog("/util/search/searchLayer.jsp?query="+encodeURL(queryvalue));
}


function searchValidation_keyword() {
	var formObj = document.forms['searchFrm']; 
	if (!formObj) formObj = document.searchFrm;
	var queryvalue = formObj.keyword.value;
	if (queryvalue == "") {
		alert("검색어를 입력하세요.");
		formObj.keyword.focus();
		return;
	}
	$('#dialogA').dialog('destroy');
	openDialog("/util/search/searchLayer.jsp?query="+encodeURL(queryvalue));
}
