// set val for dialog's bkInfo
var hint_01 = ' ';
var hint_03 = '';
var hint_04 = "[forum] 로그인 후, 이 도서에 대한 추천 키워드를 입력해주십시오. (1개 이상의 키워드는 콤마,로 구분하세요)";
var tagNm = "";
//alert(tagNm);
//
var var_dialog_bk = '\
\
' + hint_01 + '
\
\
' + hint_03 + '
\
' + hint_04 + '
\
\
\
\
\
';
//
var var_dialog_srch_bk = '\
';
//
var var_dialog_imgSrchBtn = '\
\
\
';
//
//
function ajax_txt_decode(txt) {
return unescape(decodeURI(txt));
}
//
function bkObj2DetailHtml(objBk) {
//var desc = (objBk.description.length>35)?(objBk.description.substr(parseInt(objBk.image.length)+parseInt(objBk.title.length)+16,80)+"..."):(objBk.description);
var desc = (objBk.description.length>35)?(objBk.description.substr(objBk.description.indexOf('br/')+5,80)+"..."):(objBk.description);
return "\
\
\
\
\
\
\
\
"+objBk.title+" \
\
"+objBk.author+" \
출판사: "+objBk.publisher+" \
출간일: "+objBk.pubdate+" \
ISBN : "+objBk.isbn+" \
\
\
\
"+desc+"
\
\
";
}
//
function bkObj2Html(objBk) {
var titl = (objBk.title!="undefined" && objBk.title.length>35)?(objBk.title.substring(0,20)+"..."):(objBk.title);
var author = (objBk.author!="undefined" && objBk.author.length>35)?(objBk.author.substring(0,20)+"..."):(objBk.author);
return "\
\
"+titl+" \
"+author+" \/"+objBk.publisher+" ";
}
//
function parseAladdin2Obj(xml) {
var objBk = {};
// 20100419 - query 제한 수 초과
$(xml).find('error').each(function() {
alert($(this).find('errorMessage').text());
return;
});
$(xml).find('item').each(function() {
objBk.title = $(this).find('title').text().substr(0,20);
if($(this).find('title').text().length >= 20) objBk.title += "..";
objBk.link = $(this).find('link').text();
objBk.image = $(this).find('cover').text();
objBk.author = $(this).find('author').text().substr(0,10);
if($(this).find('author').text().length >= 10) objBk.author += "..";
objBk.price = $(this).find('priceStandard').text();
objBk.discount = $(this).find('priceSales').text();
objBk.publisher = $(this).find('publisher').text();
objBk.pubdate = $(this).find('pubDate').text().substring(0,17); // 2009.02.09
objBk.isbn = $(this).find('isbn13').text();
objBk.description = $(this).find('description').text();
});
return objBk;
}
//
function isbn2AladdinBk(isbn) {
$.get(
"/migo_aladdinProxy_Isbn.php", // url
{srchKey: isbn, start: 1, MaxResults: 1}, // arg
function(xml) { // callback's func
if($(xml).find('totalResults').text() == '1') { // 검색 결과수가 0인 경우 제외 - 오류방지용
$("#"+isbn).html(bkObj2Html(parseAladdin2Obj(xml)));
// } else {
// alert(""); return false;
}
}
); // get
}
//
function showAladdinBkDialog(isbn) {
$.get(
"/migo_aladdinProxy_Isbn.php", // url
{srchKey: isbn}, // arg
function(xml) { // callback's func
if($(xml).find('totalResults').text() == '0') { // 검색 결과수가 0인 경우 제외 - 오류방지용
alert("원하는 도서를 찾을 수 없습니다."); return;
}
// bk from nhn
var objBk = parseAladdin2Obj(xml);
//#01- 책 상세정보
$("#bkInfo #b01").html(bkObj2DetailHtml(objBk));
//#02 - 제목
$("#bkInfo #b02").html("추천 키워드");
//#03 - 키워드 관리
$("#tag_bkIsbn").val(isbn); // set isbn for tag mang
//#04 - 키워드 목록
getBkTag_04(isbn); //
//#05 - 제목
$("#bkInfo #b05").html("Allestelle.net 검색 결과");
//#06 - 관련 게시물 검색 결과
getAlleBk_06(objBk.isbn);
//#07 - BBS 관련 게시물 검색 결과
$("#bkInfo #b07").html("Forum 검색 결과 (검색결과 전체보기) ");
getAlleBk_08(objBk.isbn);
//style for titl
$("#bkInfo #b02, #bkInfo #b05, #bkInfo #b07").addClass('titl');
// show dialog
$("#bkInfo").dialog('open'); //
}
);
}
// srch ----------------------------------
//
$("#btn_srchBk").live("click",function() {
//showAladdinSrchBkDialog();
$("#srchBkInfo").dialog('open'); //
});
$("#btn_dialog_srchBk").live("click",function() {
var srch_wd = $.trim($("#inpt_srchWd").val());
if(srch_wd == '') { alert("도서 검색용 키워드를 입력하세요."); return; }
$("#srch_bk_psnt_page").val('1');
var psnt_page = $("#srch_bk_psnt_page").val();
psnt_page = (psnt_page == null || psnt_page == "")?1:psnt_page;
// var psnt_page = 1;
$("#srch_bk_psnt_page").val(psnt_page);
showAladdinSrchBkDialog(srch_wd, psnt_page);
});
$("#btn_dialog_srchBk_prev").live("click",function() {
var srch_wd = $.trim($("#inpt_srchWd").val());
if(srch_wd == '') { alert("키워드 검색하신 후 사용하세요."); return; }
var psnt_page = $("#srch_bk_psnt_page").val();
psnt_page = (psnt_page == null || psnt_page == "")?0:psnt_page;
if((parseInt(psnt_page)-1) == 0) {
alert("마지막 검색 결과입니다"); return;
} else {
showAladdinSrchBkDialog(srch_wd, parseInt(psnt_page)-1);
}
});
$("#btn_dialog_srchBk_next").live("click",function() {
var srch_wd = $.trim($("#inpt_srchWd").val());
if(srch_wd == '') { alert("키워드 검색하신 후 사용하세요."); return; }
var psnt_page = $("#srch_bk_psnt_page").val();
psnt_page = (psnt_page == null || psnt_page == "")?0:psnt_page;
if(parseInt(psnt_page) == 0) {
alert("마지막 검색 결과입니다"); return;
} else {
showAladdinSrchBkDialog(srch_wd, parseInt(psnt_page)+1);
}
});
function showAladdinSrchBkDialog(srch_wd, psnt_page) {
$("#srch_bk_psnt_page").val(parseInt(psnt_page));
$.get(
"/migo_aladdinProxy.php", // url
{srchKey: srch_wd, MaxResults: 3, start: psnt_page}, // arg
function(xml) { // callback's func
// bk from nhn
//var objBk = parseAladdinSrch2Obj(xml);
//$("#srchBkInfo #s03").html(bkObj2List(objBk));
$("#srchBkInfo #s03").html(parseAladdinSrch2Obj(xml));
$("#srchBkInfo").css({'z-index':'101010'}).dialog('open');
}
);
}
//
function parseAladdinSrch2Obj(xml) {
var objBk = {};
var txt = "";
var totalResults = 0; // 전체 검색 결과
$(xml).find('item').each(function() {
objBk.title = $(this).find('title').text();
objBk.link = $(this).find('link').text();
objBk.image = $(this).find('cover').text();
objBk.author = $(this).find('author').text();
objBk.price = $(this).find('priceStandard').text();
objBk.discount = $(this).find('priceSales').text();
objBk.publisher = $(this).find('publisher').text();
objBk.pubdate = $(this).find('pubDate').text().substring(0,17); // 2009.02.09
objBk.isbn = $(this).find('isbn13').text();
objBk.description = $(this).find('description').text();
txt = txt + "\
\
\
\
"+objBk.author+" \/"+objBk.publisher+" /ISBN : "+objBk.isbn+"
\
\
";
});
return "";
}
// 서지추가 버튼 클릭시
$("#btn_dialog_srchBk_choiBk").live("click",function() {
var vBr = "\n"; // 줄바꿈
var tVal = $("#post_content").val();
$("#post_content").val(tVal + vBr + "<<"+$(this).attr("bkTitle")+">> "+$(this).attr("bkAuthor")+", "+$(this).attr("bkPublisher")+" ["+$(this).attr("bkIsbn")+"]"+vBr);
$("#srchBkInfo").dialog('close');
});
//
function bkObj2List(objBk) {
//var titl = (objBk.title.length>35)?(objBk.title.substring(0,28)+"..."):(objBk.title);
//var author = (objBk.author.length>50)?(objBk.author.substring(0,50)+"..."):(objBk.author);
return "\
\
"+objBk.title+" \
"+objBk.author+" \/"+objBk.publisher+" ";
}
//-----------------------------------------------------------
//
function Do_GetBkTag_04(xml) {
//alert(dumpObj($(xml).find('all_tag')));
var t_all_tag=""; t_all_tag = $(xml).find('all_tag').text();
var t_user_tag=""; t_user_tag = $(xml).find('user_tag').text();
if(t_all_tag != "") { //- 090508 - 수정을 통해 입력한 값을 삭제한 경우를 위해
$("#bkInfo #b04").html("");
} else {
$("#bkInfo #b04").html(hint_04);
}
if(t_user_tag != "") {
$("#tag_bkKey").val(t_user_tag);
$("#tag_btnSubmit").val("키워드 수정");
}
}
//
function getBkTag_04(isbn) {
$.get(
"/migo_bkTag.php",
{srchIsbn: isbn},
function(xml) {
Do_GetBkTag_04(xml);
}
);
}
//
function getAlleBk_06(srch_txt) {
$.get(
"/migo_alleArticle.php",
{srchKey: srch_txt},
function(xml){
var varTxt="", title, url;
$(xml).find('item').each(function() {
title=""; title = $(this).find('alle_bk').text();
url=""; url = $(this).find('alle_url').text();
if(title != "" && url != "")
varTxt = varTxt + ""+title+" "; // make html
});
$("#bkInfo #b06").html("");
}
);
}
//
function getAlleBk_08(srch_txt) {
$.get(
"/migo_alleBbsArticle.php",
{srchKey: srch_txt},
function(json){
var varTxt = "", title, url;
for(var i=1; i<=json.totalResults; i++) {
title = ""; title = ajax_txt_decode(json.item[i].topic_titl);
url = ""; url = json.item[i].topic_url;
varTxt = varTxt + ""+title+" ";
}
$("#bkInfo #b08").html("");
},
"json"
);
}
//
//function showStatTag_Css(c) {
// c = parseInt(c);
// if(c<3) return ("tag_css_01");
// else if(c>=3 && c<20) return ("tag_css_02");
// else return ("tag_css_03");
//}
/*
//function showStatTag(div_nm, tag_num) {
// $.get(
// "/migo_statTag.xml",
// function(xml) {
// var t_keys, t_count, t_md_tag, varTxt="", n=0;
/ $(xml).find('item').each(function() {
n++;
t_keys=""; t_keys = $(this).find('keys').text();
t_count=""; t_count = $(this).find('count').text();
t_md_tag=""; t_md_tag = $(this).find('md_tag').text();
if(t_keys != "" && n <= parseInt(tag_num)) {
varTxt = varTxt + ""+t_keys+" "; // make html
//
}
});
$("#"+div_nm).html("");
//$("#"+div_nm+" li").tagcloud({type:"sphere",order:"rand",sizemin:8,sizemax:26,power:.3,colormin:"d88",colormax:"0a0"});
}
);
}
*/
function showSumrStatTag(div_nm, tag_num) {
var randNo = Math.round(Math.random() * 10) + 1; // 1~10
$.get(
"../migo_statTag.xml",
function(xml) {
var t_keys, t_count, t_risbn, varTxt="", varTxt02="", n;
n=0;
$(xml).find('item').each(function() {
n++;
// t_keys=""; t_keys = $(this).find('keys').text();
// t_count=""; t_count = $(this).find('count').text();
t_risbn=""; t_risbn = $(this).find('risbn').text();
// 임의 발생시킨 상단 10개
// if(t_keys != "" && n <= parseInt(tag_num)) {
// varTxt = varTxt + ""+t_keys+" "; // make html
// }
// 임의 책
if(randNo == n) {
t_risbn=""; t_risbn = $(this).find('risbn').text();
varTxt02 = "
";
}
});
$("#"+div_nm).html(varTxt02); // + ""
//$("#randBk").attr('isbn')
isbn2AladdinBk($(".randBk").attr('id'));
}
);
}
// 페이지 로딩 후 실행 지정
$(function() {
//
try{
$(var_dialog_bk).dialog({
width: 400,
height: 500,
resizable: false,
autoOpen: false,
modal: true,
overlay: {opacity: 0.3, background: "black"},
close: function() {
$("#b01").html('');
$("#tag_bkKey").val('');
$("#b04").html(hint_04);
$("#b06").html('');
}
});
// for srchBtn
$("body").append(var_dialog_imgSrchBtn);
} catch(e) {alert(e);}
// 도서 검색용
try{
$(var_dialog_srch_bk).dialog({
width: 400,
height: 500,
resizable: false,
autoOpen: false,
modal: true,
overlay: {opacity: 0.3, background: "black"},
close: function() {
$("#inpt_srchWd").val('');
$("#s03").html('');
$("#srch_bk_psnt_page").val('1');
}
});
// for srchBtn
$("body").append(var_dialog_imgSrchBtn);
} catch(e) {alert(e);}
//
//
function Do_bkPageShow() {
var ajaxFnm = "";
if(!tagNm)
ajaxFnm = "/migo_allBk.xml";
else
ajaxFnm = "/tagXml/migo_allBk_"+tagNm+".xml";
$.get(
ajaxFnm,
function(xml) {
var t_isbn, t_num, t_no, t_txt="";
$(xml).find('item').each(function(e) {
t_no=""; t_no = $(this).find('bk_no').text();
t_isbn=""; t_isbn = $(this).find('bk_isbn').text();
t_num=""; t_num = $(this).find('bk_num').text();
if(t_no > ((curPage-1)*15) && t_no <= curPage*15) {
t_txt = "
";
$("#bk_lst ul").append(t_txt);
isbn2AladdinBk(t_isbn);
}
});
});
}
//
var curPage = 1;
$("#btn_nxPage").bind("click",function(e) {
curPage++;
Do_bkPageShow();
});
//
$("#bk_lst").each(function() {
if(curPage == 1) $("#bk_lst").append("");
Do_bkPageShow();
});
// sumr 내 책 표지
$(".randBk").live("click", function(e) {
showAladdinBkDialog($(this).attr('id'));
//location.href='/migo_ivy.htm';
});
//
$("#bk_lst div").live("click", function(e) {
//if($(this).attr('id') != "undefined")
showAladdinBkDialog($(this).attr('id'));
});
//
$("#tag_btnSubmit").bind("click", function(e) {
$.post(
"/migo_bkTag.php",
{srchIsbn: $("#tag_bkIsbn").attr("value"),
srchKey: $("#tag_bkKey").attr("value"),
srchUserKey: $("#tag_bbLogin").attr("value")},
function(xml) {
Do_GetBkTag_04(xml);
}
);
});
//
$(".tag_lst li a").live("click", function() {
window.location.href = ("/migo_ivy.htm?tag=" + $.md5( ($(this).html()))); //escape
window.event.returnValue=false; // redirecting for ie [http://support.microsoft.com/kb/190244/en-us]
});
//
$("#stat_tag").each(function() {
showStatTag("stat_tag", 1000);
});
// //
$("#sumr_stat_tag").each(function() {
showSumrStatTag("sumr_stat_tag", 2);
if($.browser.mozilla) {
// $(".randBk").css('padding-left','50px');
}
});
/////////////////////////////////////////////////////////////////
// 브라우저별, 책 제목 추출용 정규식 지정
// 패턴 : <<책 제목>>, ..... [IBSN]
// safari5 => || ($.browser.version=="533.17" && $.browser.safari)
var isChrome = /Chrome/.test(navigator.userAgent); // chrome 확인
if(isChrome || $.browser.msie || $.browser.mozilla || ($.browser.version=="528.16" && $.browser.safari) ) { // msie, mozilla, safari4 - $.browser.safari => $.browser.webkit
//var pattern = new RegExp(/<<(.*)>>(.*)\[([0-9]{10,})\]/g);
var pattern = new RegExp(/<<([^>]*)>>([^>]*)\[([0-9]{10,})\]/g); // 090922 [^\x3e\x3c] [^>]{2}
} else if($.browser.webkit && $.browser.version!="533.17.8" && $.browser.version=="528.16") { // chrome, safari3
var pattern = new RegExp(/<<([^>]+)>>([^>]+)\[([0-9]{10,13})\]/g);
} else if($.browser.webkit && $.browser.version=="533.17.8") { // safari5 20100805
var pattern = new RegExp(/<<([^>]+)>>(.*)\[([0-9]{10,})\]/g);
}//
// 정규식에 의해 검색된 책 제목에 링크 추가
// .entry : wp View 용
// .post li p : wp ARCHIVE 게시물 목록 페이지용
// .post p : bb-press 포럼 View 용
$(".entry, .post li p, .post p").each(function() {
$(this).html($(this).html().replace(pattern,"<<$1>> $2 [$3]"));
}); //
// 책 제목 클릭시
$(".entry a, .post li p a, .post p a").bind("click", function(e) {
if(e.target.name != "") {// forum 내 외부링크 회피용
//getSrchRslt(e);
showAladdinBkDialog(e.target.name);
}
}); // click
// 090317
// 마우스로 선택된 Text에 검색 버튼 보여주기용
// hide button of srch
$('.post, .entry, .post li p').bind('mousedown', function() { $("#dia_imgSrchBtn").css('display', 'none'); });
// show button of srch
$('.post, .entry, .post li p').bind('mouseup', function(e) {
var txtSel; // 선택된 text 저장용
if($.browser.msie) { //ok - plz check for css problem -_-a
txtSel = document.selection.createRange().text;
} else if($.browser.mozilla) { //ok
txtSel = document.getSelection();
} else if($.browser.safari) { // ok
txtSel = unescape(window.getSelection()); // add unescape() for 3.x
}//
if(txtSel.length > 2) { // 선택된 Text의 길이가 2이상인 경우 버튼 보여주기
showSrchDialog(e, $.trim(txtSel));
}
});
/////////////////////////////////////////////////////////////////
}); // $(function())\
//////////////////////////////////////
// 검색 버튼 보여주는 함수
function showSrchDialog(event, txt) {
var currUrl = location.href.toLowerCase();
//$(var_dialog_imgSrchBtn)
if(currUrl.match('forum')) { // forum 용
$("#dia_imgSrchBtn a").attr('href', '/forum/search.php?q='+encodeURIComponent(txt)); // encodeURIComponent(str) : convert str to utf8 [encoding]
} else { // wp 용
$("#dia_imgSrchBtn a").attr('href', '/?s='+encodeURIComponent(txt));
}
$("#dia_imgSrchBtn").css('position', 'absolute');
$("#dia_imgSrchBtn").css('z-index', '10');
$("#dia_imgSrchBtn").css('top', event.pageY-30+'px');
$("#dia_imgSrchBtn").css('left', event.pageX+10+'px');
$("#dia_imgSrchBtn").css('display', 'block');
}
//////////////////////////////////////