
// trim method
String.prototype.trim = function(){
 	return this.replace(/(^\s*)|(\s*$)/gi, "");
} 

// ?????? ?????? ??????
function checkQuery(pos) {

	if (pos == undefined) pos = "t";
	var obj = document.getElementById(pos + "_query");
	
	var frm = document.ypsearch;
	var c1 = frm.c1.value;
	var c2 = frm.c2.value;
	var c3 = frm.c3.value;

	var frm_action = frm.action;

	// ???????????? ?????? ????????? ?????? ?????? ????????? ?????? ?????? (?????? ????????? ?????????)
	//var query = obj.value.trim();
	var query = obj.value;
	
	var cQuery = frm.d_title.value.trim()+frm.d_author.value.trim()+frm.d_cusnme.value.trim()+frm.d_body.value.trim()+frm.d_isbn.value.trim();

	var queryChk = true;
	if (frm.action != "/search.yp" && frm.action != "search_review.jsp") {

		if (query == "" && c1 == "" && c2 == "" && c3 == "" && cQuery=="") {
			queryChk = false;
		}
	} else {
		if (query == "") {
			queryChk = false;
		}
	}
	
	if (!queryChk) {
		alert("검색어를 입력해 주십시요.");
		obj.focus();
		return false;
	}
	
	// ????????? ????????? ??????
	/*
	var colquery = "";
	if (temp_query != "") {
	
		if(document.getElementById("chk_research").checked == true){
			document.getElementById("research_chk").value = "true";
			if(document.getElementById("chk_title").checked == false && document.getElementById("chk_author").checked == false && document.getElementById("chk_cusnme").checked == false && document.getElementById("chk_body").checked == false && document.getElementById("chk_isbn").checked == false){
				query = temp_query + " " + query;
			}else{
				//query = temp_query;
				
				//alert(query);
				//alert(temp_query);
				document.getElementById("tempColQuery").value = query;
				getCollectionQuery(query);
				query = temp_query;
			}

		}
	}
	*/
	
	return query;
}

// ???, ?????? ?????? Sync
function syncQuery(obj) {
	var objName = obj.name;
	
	if (objName == "t_query") {
		// ?????? ???????????? ?????? ????????? ?????? ????????? ?????? ????????? ???????????? ???????????????.
		var b_input = document.getElementById("b_query");
		if (b_input != undefined) b_input.value = obj.value;
	} else {
		document.getElementById("t_query").value = obj.value;
	}
}

// ?????? ??????
function searchSubmit(pos) {

	var frm = document.ypsearch;
	var query = checkQuery(pos);
	//clearDetail(); //??????
	
	if (query === false) return;
	else {
		frm.query.value = query;
	}

	// ?????? ?????? ?????? ??? ?????? ?????? ????????? ????????? ??????.
	if (pos == "t" ) {
		frm.searchField.value = "";
		// ?????? ????????? ???????????? ?????? ????????? ??????
		frm.c1.value = "";
		frm.c2.value = "";
		frm.c3.value = "";
		frm.d_title.value="";
		frm.d_author.value="";
		frm.d_cusnme.value="";
		frm.d_body.value="";
		frm.d_isbn.value="";
		frm.research_chk.value = "";
	} else {
		// ?????? ????????? ??????(?????? ??????) searchSubmit() ????????? check box??? ????????????, searchField ????????? ?????????.
	
		/*
		if(document.getElementById("chk_research").checked == false){
				frm.searchField.value = getSearchField();
		}
		*/
		
		
		try{
			var reObj = document.getElementById("reSearch");
			frm.tempColQuery.value = "";
			reObj.reSearchTextBox.value = "";
		}catch(e){}
		
	}
	
	// idx??? ???????????????
	if (pos == "t" || pos == "b") frm.idx.value = "";
	
	if (frm.pageIdx.value == "total"){
		frm.action = "/search.yp";
	}else if (frm.pageIdx.value == "kor"){
		frm.action = "/search.yp?collection=books_kor";
	}else if (frm.pageIdx.value == "eng"){
		frm.action = "/search.yp?collection=books_eng";
	}else if (frm.pageIdx.value == "jpn"){
		frm.action = "/search.yp?collection=books_jpn";
	}else if (frm.pageIdx.value == "ebook"){
		frm.action = "/search.yp?collection=books_ebook";
	}else if (frm.pageIdx.value == "review"){
		frm.action = "/search.yp?collection=book_review";
	}else if (frm.pageIdx.value == "new"){	//???????????? > ????????????
		frm.action = "/book_arrange.yp?targetpage=book_new&pagetype=3";
		//frm.action = "/search.yp?targetpage=search_total_main";
	}

	//alert("frm.query.value="+frm.query.value);
	
	//????????? ?????? ???????????? ??????????????? ????????? book.yp ??? ?????? -> ?????? ??????????????? ????????????.
	if (frm.query.value.indexOf("[book.yp]") > -1){	//????????? [book.yp]
		if (
			frm.c1.value==""&&
			frm.c2.value==""&&
			frm.c3.value==""&&
			frm.d_title.value == "" && frm.d_author.value == "" && frm.d_cusnme.value == "" && frm.d_body.value == "" && frm.d_isbn.value == ""
		){
			document.location.replace("/book.yp?bookcd=" + frm.query.value.substring(9, frm.query.value.length));
		}else{
			frm.query.value = "";
			frm.submit();
		}
	}else{
		frm.submit();
	}
}


// ????????? ?????????
var temp_query = "";
function setResearch(obj) {

	var t_input = document.getElementById("t_query");
	var b_input = document.getElementById("b_query");
	
	if (obj.checked == true) {
		temp_query = t_input.value.trim();
		t_input.value = "";
		b_input.value = "";
		b_input.focus();
	} else {
		t_input.value = temp_query;
		b_input.value = temp_query;
		temp_query = "";
	}
	
}

// ?????? ???????????? ??????????????? ???????????? searchField ?????? ??????
function getSearchField() {
	var searchField = "";
	
	/*
	// ????????? ??????
	var obj = document.getElementById("chk_title");
	if (obj != undefined && obj.checked == true) {
		searchField += "TITLE,TITLE_BIGRAM,";
	}
	
	// ????????? ??????
	var obj = document.getElementById("chk_author");
	if (obj != undefined && obj.checked == true) {
		searchField += "AUTHOR,";
	}
	
	// ???????????? ??????
	var obj = document.getElementById("chk_cusnme");
	if (obj != undefined && obj.checked == true) {
		searchField += "CUSNME,";
	}
	
	// ?????? ??????
	var obj = document.getElementById("chk_body");
	if (obj != undefined && obj.checked == true) {
		searchField += "BODY,";
	}
	
	// ISBN ??????
	var obj = document.getElementById("chk_isbn");
	if (obj != undefined && obj.checked == true) {
		searchField += "ISBN,";
	}
	*/

	try{
		var obj = document.getElementById("selectRetrySearch");
		var searchField = obj.options[obj.selectedIndex].value;

		if (searchField == "chk_title"){
			searchField = "TITLE,TITLE_BIGRAM,";
		}else if (searchField == "chk_author"){
			searchField = "AUTHOR,";
		}else if (searchField == "chk_cusnme"){
			searchField = "CUSNME,";
		}else if (searchField == "chk_body"){
			searchField = "BODY,";
		}else if (searchField == "chk_isbn"){
			searchField = "ISBN,";
		}
	}catch(e){	
	}

	return searchField;
}

// searchField?????? ???????????? ?????? ???????????? check
function chkSearchField() {
	/*
	var frm = document.ypsearch;
	var searchField = frm.searchField.value.trim();
	var cQuery = frm.d_title.value.trim()+frm.d_author.value.trim()+frm.d_cusnme.value.trim()+frm.d_body.value.trim()+frm.d_isbn.value.trim();

	if (searchField != "" || cQuery !="") {
		var regexp;
		regexp = /(TITLE,TITLE_BIGRAM,)/g;
		if (searchField.search(regexp) > -1 || frm.d_title.value != "") {
			document.getElementById("chk_title").checked = true;
		}
		
		regexp = /(AUTHOR,)/g;
		if (searchField.search(regexp) > -1 || frm.d_author.value != "") {
			document.getElementById("chk_author").checked = true;
		}
		
		regexp = /(CUSNME,)/g;
		if (searchField.search(regexp) > -1 || frm.d_cusnme.value != "") {
			document.getElementById("chk_cusnme").checked = true;
		}
		
		regexp = /(BODY,)/g;
		if (searchField.search(regexp) > -1 || frm.d_body.value != "") {
			document.getElementById("chk_body").checked = true;
		}
		
		regexp = /(ISBN,)/g;
		if (searchField.search(regexp) > -1 || frm.d_isbn.value != "") {
			document.getElementById("chk_isbn").checked = true;
		}
	}
	*/
}


// ????????? ????????? ?????????
function enterSubmit(key, pos) {
	if (key == 13) {
		searchSubmit(pos);
	}
}

// ????????? ??????
function goPage(idx) {
	var frm = document.ypsearch;
	frm.idx.value = idx;
	searchSubmit();
}

// ?????? ??????
function setSort(field, from) {
	
	if (from == "review"){	//?????????????????? ????????? (????????????)
		if (field == "RANK_sort"){
			field = "RANK";
		} 
	}

	var frm = document.ypsearch;
	
	frm.sortField.value = field;
	if (field == "TITLE" || field == "AUTHOR" || field == "CUSNME") frm.order.value = 0;
	else frm.order.value = 1;
	// ?????? ????????? idx??? ????????? ??????.
	frm.idx.value = 0;
	
	searchSubmit();
}

// ?????? ?????? ??????
function setResultNum(obj) {
	var frm = document.ypsearch;
	frm.rowNum.value = obj.options[obj.selectedIndex].value;
	// ?????? ?????? ????????? idx??? ????????? ??????.
	frm.idx.value = 0;
	searchSubmit();	
}

// ?????? ??????
function setSoldOut(obj) {
	var frm = document.ypsearch;
	
	frm.notSoldOut.value = obj.options[obj.selectedIndex].value;
	// ?????? ?????? ????????? idx??? ????????? ??????.
	frm.idx.value = 0;
	
	searchSubmit();	
}

// ?????? ????????????
function showBody(id) {
	var obj = document.getElementById(id);
	if (obj.style.display == '') obj.style.display = "none";
	else obj.style.display = "";
}

// ????????? ?????????
var isThemeMore = false;
function moreTheme() {
	for (var i = 0; i < themeMaxIdx; i++){
		if (isThemeMore) {
			document.getElementById("theme_more_" + i).style.display = "none";
		} else {
			document.getElementById("theme_more_" + i).style.display = "";
		}
	}
	
	if (isThemeMore) isThemeMore = false;
	else isThemeMore = true;
}

// ???????????? ?????????
var isCateMore = false;
function moreCategory() {
	for (var i = 0; i < categoryMaxIdx; i++){
		if (isCateMore) {
			document.getElementById("cate_more_" + i).style.display = "none";
		} else {
			document.getElementById("cate_more_" + i).style.display = "";
		}
	}
	
	if (isCateMore) isCateMore = false;
	else isCateMore = true;
}

// sort ?????????
function clearSort() {
	var frm = document.ypsearch;
	frm.sortField.value = "";
	frm.order.value = "";
}

// ???????????? ??????
function goCate(depth, id) {

	var frm = document.ypsearch;
	// ?????? ???????????? ?????????
	frm.c1.value = "";
	frm.c2.value = "";
	frm.c3.value = "";
	
	if (depth == 1) {
		frm.c1.value = id;
	} else if (depth == 2) {
		frm.c2.value = id;
	} else if (depth == 3) {
		frm.c3.value = id;
	}
	
	if (frm.pageIdx.value == "total"){
		frm.action = "/search.yp";
	}else if (frm.pageIdx.value == "kor"){
		frm.action = "/search.yp?collection=books_kor";
	}else if (frm.pageIdx.value == "eng"){
		frm.action = "/search.yp?collection=books_eng";
	}else if (frm.pageIdx.value == "jpn"){
		frm.action = "/search.yp?collection=books_jpn";
	}else if (frm.pageIdx.value == "ebook"){
		frm.action = "/search.yp?collection=books_ebook";
	}
	
	// idx ?????????
	frm.idx.value = 0;
	
	searchSubmit();
}

// ???????????? ????????? ?????? ??????
var isSearchBestChk = false;
function bestChkAll(cnt) {
	var chkPrifix = "bookopt_chk_";
	
	for (var i = 0; i < cnt; i++) {
		if (!isSearchBestChk) {
			document.getElementById(chkPrifix + i).checked = true;
		} else {
			document.getElementById(chkPrifix + i).checked = false;
		}
	}
	if (!isSearchBestChk) isSearchBestChk = true;
	else isSearchBestChk = false;
}

// ???????????? ????????? ?????? ?????? ???????????? ??????
function putCarts(objPrifix, cnt) {
	var frm = document.body.appendChild(document.createElement("form"));
	frm.name = "cartForm";
	frm.action = "http://www.ypbooks.co.kr/ypbooks/WebHome/shopping/NewShopping/jumun.jsp";
	frm.method = "post";
	
	//alert(frm);
	for (var i = 0; i < cnt; i++) {
		if (document.getElementById(objPrifix + "_" + i).checked == true) {
			books = frm.appendChild(document.createElement("input"));
			books.name = "books";
			books.type.value = "hidden";
			books.value = document.getElementById(objPrifix + "_" + i).value;
		}
	}
	
	frm.submit();
}

// ?????? ???????????? ???????????? ??????
function putCart(id, idx, prefix) {
	var obj = document.getElementById(prefix+idx);
	if (obj.value.trim() == "" || obj.value.trim() == "0"){
		alert("????????? ????????? ????????? ????????? ????????????.");
		obj.value = "";
		obj.focus();
		return;
	}
	
	var frm = document.body.appendChild(document.createElement("form"));
	frm.name = "cartForm";
	frm.action = "http://www.ypbooks.co.kr/ypbooks/WebHome/shopping/NewShopping/jumun.jsp";
	frm.method = "post";
	
	//alert(frm);
	books = frm.appendChild(document.createElement("input"));
	books.name = "books";
	books.type.value = "hidden";
	books.value = id;
	
	qty = frm.appendChild(document.createElement("input"));
	qty.name = "qty";
	qty.type.value = "hidden";
	qty.value = obj.value;
	
	frm.submit();
}

// ?????? ????????? ?????? ??????
function goBookCateKor(obj) {
	if (obj.selectedIndex == 0) return;
	
	document.location.href = obj.options[obj.selectedIndex].value;
}

// ????????? ??????
function goGubun(act) {

	var frm = document.ypsearch;
	
	if (act == "/search.yp"){
		frm.pageIdx.value = "total";
	}else if (act == "/search.yp"){
		frm.pageIdx.value = "kor";
	}else if (act == "/search.yp?collection=books_kor"){
		frm.pageIdx.value = "eng";
	}else if (act == "/search.yp?collection=books_jpn"){
		frm.pageIdx.value = "jpn";
	}else if (act == "/search.yp?collection=books_ebook"){
		frm.pageIdx.value = "ebook";
	}else if (act == "/search.yp?collection=book_review"){
		frm.pageIdx.value = "review";
	}
	
	frm.action = act;
	// ?????? ????????? ???????????? ?????????
	frm.c1.value = "";
	frm.c2.value = "";
	frm.c3.value = "";
	
	searchSubmit();
}

// ???????????? ?????? ?????????
/*
function setGubun(obj) {
	var frm = document.ypsearch;
	
	// ????????? sync
	var selIdx	= obj.selectedIndex;
	var current = obj.name;
	var t_obj		= document.getElementById("top_gubun");
	var b_obj	= document.getElementById("bottom_gubun");
	
	if (current == "top_gubun") {
		//????????? ????????? ??????
		if (b_obj != undefined) {
			b_obj.options[selIdx].selected = true;
		}
	} else {
		t_obj.options[selIdx].selected = true;
	}
	
	if (t_obj.value == "/search.yp?targetpage=search_total_main"){
		frm.pageIdx.value = "total";
	}else if (t_obj.value == "/search.yp?targetpage=search_kor_main"){
		frm.pageIdx.value = "kor";
	}else if (t_obj.value == "/search.yp?targetpage=search_eng_main"){
		frm.pageIdx.value = "eng";
	}else if (t_obj.value == "/search.yp?targetpage=search_jpn_main"){
		frm.pageIdx.value = "jpn";
	}else if (t_obj.value == "/search.yp?targetpage=search_review_main"){
		frm.pageIdx.value = "review";
	}
	
	// form.action ??????
	frm.action = obj.options[selIdx].value;
}
*/

function setGubun(pageIdx, url) {
	var frm = document.ypsearch;
	frm.pageIdx.value = pageIdx;
	frm.action = url;
}


function onSearchKeyword(query) {
	var frm = document.ypsearch;
	
	frm.query.value = query;
	
	//frm.action = "/ypbooks/WebHome/ypsearch/search_total.jsp";
	frm.pageIdx.value = "total";
	frm.action = "/search.yp";
	
	frm.idx.value = "";
	frm.searchField.value = "";
	frm.sortField.value = "";
	frm.order.value = "";
	frm.rowNum.value = "";
	frm.notSoldOut.value = "";
	frm.c1.value = "";
	frm.c2.value = "";
	frm.c3.value = "";
	
	clearDetail();
		
	frm.submit();
}

function getXMLHttpRequest() {
	if (window.ActiveXObject) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				return null;
			}
		}
	} else if (window.XMLHttpRequest) {
		var obj = new XMLHttpRequest()
		obj.overrideMimeType('text/xml');
		return obj;
	} else {
		return null;
	}
}

function getPopKeywords(url) {
	var req = getXMLHttpRequest();
	if (req) {
		req.open("GET", url, true);
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					dispPopKeywords(req.responseXML);
				}
			}
		}
		req.send(null);
	}

	return true;
} 

/*
function dispPopKeywords(xml) {
	var node = xml.getElementsByTagName("Return");
	if (node.length != 0) {
		var returnValue = node[0].firstChild.nodeValue;
		if (returnValue == 0) {
			if (document.getElementById("popkeyword") != undefined) {
				var querys = xml.getElementsByTagName("Query");
				var max = 7;
				var disp = document.getElementById("popkeyword");
				for (var i = 0; i < querys.length && i < max; i++) {
					disp.innerHTML += "<a href=\"javascript:onSearchKeyword('"+querys[i].getAttribute("word")+"')\";>"+querys[i].getAttribute("word")+"</a>";
					if (i < max-1 && i < querys.length-1) disp.innerHTML += ", ";
				}
			}
		}
	}
}
*/

function dispPopKeywords(xml) {

	var node = xml.getElementsByTagName("Return");
	if (node.length != 0) {
		var returnValue = node[0].firstChild.nodeValue;
		if (returnValue == 0) {
			if (document.getElementById("popularKeywordList") != undefined) {
				var querys = xml.getElementsByTagName("Query");
				var max = 10;
				var disp = document.getElementById("popularKeywordList");
				for (var i = 0; i < querys.length && i < max; i++) {
					
					if (i+1==querys.length){
						disp.innerHTML += "<a href=\"javascript:onSearchKeyword('"+querys[i].getAttribute("word")+"')\"; class='emphasis1'>"+querys[i].getAttribute("word")+"</a>";
					}else{
						
						if (i==0){
							disp.innerHTML += "<a href=\"javascript:onSearchKeyword('"+querys[i].getAttribute("word")+"')\"; class='emphasis2'>"+querys[i].getAttribute("word")+"</a>&nbsp;|&nbsp;";
						}else if (i==2){
							disp.innerHTML += "<a href=\"javascript:onSearchKeyword('"+querys[i].getAttribute("word")+"')\"; class='emphasis1'>"+querys[i].getAttribute("word")+"</a>&nbsp;|&nbsp;";
						}else if (i == 5){
							disp.innerHTML += "<a href=\"javascript:onSearchKeyword('"+querys[i].getAttribute("word")+"')\"; class='emphasis2'>"+querys[i].getAttribute("word")+"</a>&nbsp;|&nbsp;";
						}else{
							disp.innerHTML += "<a href=\"javascript:onSearchKeyword('"+querys[i].getAttribute("word")+"')\"; >"+querys[i].getAttribute("word")+"</a>&nbsp;|&nbsp;";
						}
					}
				
				}
			}
		}
	}
}


function clearDetail(){
	var frm = document.ypsearch;
	frm.d_title.value			= "";
	frm.d_author.value		= "";
	frm.d_cusnme.value	= "";
	frm.d_body.value		= "";
	frm.d_isbn.value			= "";
	frm.s_price.value		= "";
	frm.e_price.value		= "";
	frm.pubdt.value			= "";
	frm.s_pubdt.value		= "";
	frm.e_pubdt.value		= "";
	frm.tempColQuery.value = "";
	frm.notSoldOut.value = "N";
}

function search(pos){

	var frm = document.ypsearch;
	
	/*
	if (frm.action == "/ypbooks/WebHome/ypsearch/search_detail.jsp" || frm.action == "/ypbooks/WebHome/ypsearch/search_event.jsp" || frm.action == "/ypbooks/WebHome/ypsearch/search_cult.jsp") {
		frm.action = "/ypbooks/WebHome/ypsearch/search_total.jsp"; 
	}
	var t_obj	 = document.getElementById("top_gubun");
	*/
	
	clearDetail();
	searchSubmit(pos);
}

// ?????? ???????????? ??????????????? ???????????? collectionQuery ?????? ??????
function getCollectionQuery(query) {

	//alert(query);
	var frm = document.ypsearch;
	
	// ????????? ??????
	var obj = document.getElementById("chk_title");
	if (obj != undefined && obj.checked == true) {
		frm.d_title.value = query;
	}
	
	// ????????? ??????
	var obj = document.getElementById("chk_author");
	if (obj != undefined && obj.checked == true) {
		frm.d_author.value = query;
	}
	
	// ???????????? ??????
	var obj = document.getElementById("chk_cusnme");
	if (obj != undefined && obj.checked == true) {
		frm.d_cusnme.value = query;
	}
	
	// ?????? ??????
	var obj = document.getElementById("chk_body");
	if (obj != undefined && obj.checked == true) {
		frm.d_body.value = query;
	}
	
	// ISBN ??????
	var obj = document.getElementById("chk_isbn");
	if (obj != undefined && obj.checked == true) {
		frm.d_isbn.value = query;
	}
	
	return true;
}

function e13(pos){
	var evCode = (window.netscape) ? pos.which : event.keyCode;
	if (evCode == 13){
		event.keyCode = 0;
		search(pos);
	}
}

/* ????????? ?????? ?????? */ 
function goSearch( query ) {
	var t_query = document.getElementById("t_query") ;
	t_query.value = query ; 
	searchSubmit('t');
}




