﻿/*
 * 
 */
function getEncodedString(str)
{
	
	if (str == null || str.length == 0) {
		return "";
	}
	var intLength = str.length;

	var encodeStr = "";

    for (var i = 0; i < intLength; i++) {
		var charCode = str.charCodeAt(i);
		
		if (charCode > 128) {
			encodeStr = encodeStr + encodeURIComponent(str.substring(i, i + 1));
			encodeStr = encodeStr.split("%").join("");	
		} else {
			encodeStr = encodeStr + charCode.toString(16);
	
		}
	}
	return encodeStr;
}

function getDecodedString(value)
{
    if (null == value || 0 == value.length)
        return value;
  
    var values = new Array(value.length / 2);
	var encodeStr = "";
    
    for (var i=0; i<value.length; i+=2)
    {
        if ((i + 2) > value.length) {
			break;
		}
		
        values[i/2] = value.substring(i, i+2);
		
		encodeStr = encodeStr + "%" + value.substring(i, i+2);
    }
	
	var decodeStr = decodeURIComponent(encodeStr);

	return decodeStr;
}

var currdivid = null;

function getTopicRank(query, div_id, ip, port)
{
	var loader1;
	var url = '/KBLCM/so/tm/TopicRankxml.do';

	document.getElementById(div_id).innerHTML = "&nbsp;검색중입니다...";
	
	//query = encodeURIComponent(query);
	ip = '127.0.0.1';
	//ip = '10.33.2.1';
	
	url += '?serverIp=' + ip + '&serverPort=' + port + '&keyword=' + query;
	//alert(url);
	loader1= new net.ContentLoader(url, fillDatas, div_id, errorfunc);
	
	currdivid = div_id;
}

function press_event(e, query, div_id, ip, port)
{
	if(window.event) //IE
	{
		var code = e.keyCode;
	}
	else if(e.which) //netscape/firefox/opera
	{
		var code = e.which;
	}

	if (code == 13) {
		getTopicRankAdmin(query, div_id, ip, port);
		return false;
	}
}

function getTopicRankAdmin(query, div_id, ip, port)
{
	var loader1;
	var url = '/KBLCM/so/tm/TopicRankxml.do';
	if(query == '') {
		alert('검색어가 없습니다.');
		return;
	}
	else {
		ip = '127.0.0.1';
		//ip = '10.33.2.1';
		document.getElementById(div_id).innerHTML = "검색중입니다...";
		url += '?serverIp=' + ip + '&serverPort=' + port + '&keyword=' + getEncodedString(query);
		loader1= new net.ContentLoader(url, AdminfillDatas, div_id, errorfunc);
		
		currdivid = div_id;
	}
}

function errorfunc()
{
	document.getElementById(currdivid).innerHTML = '<font color="red">서버에 문제가 있습니다.</font>';
}

function srchSubmit(keyword) {
	document.srch.keyword.value = keyword;
	document.srch.submit();
	//document.location.href = "/KBLCM/so/wn/srch.do?keyword=" + encodeURIComponent(keyword);
}

function defaultTopic(div_id) {
	document.getElementById(div_id).innerHTML = '<img src="/KBLCM/images/common/icon_connection.gif" align="absmiddle"/> 교보CI종신보험ㅣ교보찬스e-대출ㅣ보험관련증명서ㅣ생애설계ㅣ보험금지급사례';
}

function getXMLDocument(text) {
	var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
	xmlDocument.async = "false";
	xmlDocument.loadXML(text);
	return xmlDocument;
}

function fillDatas(objname)
{
	var currobj = document.getElementById(objname);
	var returnString = '<img src="/KBLCM/images/common/icon_connection.gif" align="absmiddle"/> ';
	var root  = this.responseXML;
	var returnText = this.responseText;
	var fontsize, fontcolor;

	//alert(returnText);
	
	if( (returnText == 'null') || (returnText.length < 10) ) {
		document.getElementById("chkData").value = 0;
		returnString += '&nbsp;검색 결과가 없습니다. </b>';
	}
	else {
		root  = getXMLDocument(returnText);
		
		var doccount = root.getElementsByTagName("DOCCOUNT");
		
		if(doccount[0] == null){
			document.getElementById("chkData").value = 0;
			returnString += '&nbsp;검색 결과가 없습니다. </b>';
		}
		else if(doccount[0].childNodes[0].nodeValue == '0') {
			document.getElementById("chkData").value = 0;
			returnString += '&nbsp;검색 결과가 없습니다. </b>';
		}
		else {

			document.getElementById("chkData").value = 1;
			
			var cluster = root.getElementsByTagName("CLUSTER");
			var loopcnt = 0;
			
			for(var i = 0 ; i < cluster.length ; i++) {
				var keywords = cluster[i].getElementsByTagName("KEYWORD");
				var rankweights = cluster[i].getElementsByTagName("RANKWEIGHT");
				var coocdoccounts = cluster[i].getElementsByTagName("COOCDOCCOUNT");

				for(var j = 0 ; j < keywords.length; j++) {
					var fontsize = parseInt(rankweights[j].childNodes[0].nodeValue *100.0);
					var keyValue = keywords[j].childNodes[0].nodeValue;

					if(fontsize >= 20)
					{
						returnString += '<span onClick=javascript:srchSubmit("'+keyValue+'") style="cursor:hand; font-size=12px;">' + keyValue;

						if(loopcnt > 5) break;
						else returnString += '</span>&nbsp;|&nbsp;';
						
						loopcnt++;
					}
				}
			}
		}
	}
	currobj.innerHTML = returnString;

}

function AdminfillDatas(objname)
{
	var currobj = document.getElementById(objname);
	var returnString = '';
	var root  = this.responseXML;
	var returnText = this.responseText;
	var fontsize, fontcolor;
	
	if(this.responseText == 'null') {
		returnString += '<br>검색 결과가 없습니다. <br>';
	}
	else {
		//alert(returnText);
		root  = getXMLDocument(returnText);
		
		var doccount = root.getElementsByTagName("DOCCOUNT");
		if(doccount[0].childNodes[0].nodeValue == '0') {
			returnString += '<br>검색 결과가 없습니다. <br>';
		}
		else {
			returnString += '<br>' + doccount[0].childNodes[0].nodeValue + '개의 문서가 존재합니다. <br><br>';
			
			var cluster = root.getElementsByTagName("CLUSTER");
			for(var i = 0 ; i < cluster.length ; i++) {
				var keywords = cluster[i].getElementsByTagName("KEYWORD");
				var rankweights = cluster[i].getElementsByTagName("RANKWEIGHT");
				var coocdoccounts = cluster[i].getElementsByTagName("COOCDOCCOUNT");
			
				for(var j = 0 ; j < keywords.length; j++) {
					var fontsize = parseInt(rankweights[j].childNodes[0].nodeValue *100.0);
					if(fontsize >= c.length) fontcolor = '#800080';
					else fontcolor = c[fontsize];
					if(fontsize >= 30) fontsize = 30;
					if(fontsize <= 12) fontsize = 12;
					returnString += '<span style="color:' + fontcolor + ';font-size=' + fontsize + 'px;">[' + keywords[j].childNodes[0].nodeValue;
					
					if(j % 6 == 1) returnString += ']<p></span>';
					else returnString += ']</span>&nbsp;';
				}
			}
		}
	}
	currobj.innerHTML = returnString;
	
}
var c = new Array();
c[0] = "#FF9696 "; c[1] = "#F08080 "; c[2] = "#F56E6E "; c[3] = "#F06464 "; c[4] = "#FF0000 "; c[5] = "#EB0000 "; c[6] = "#CD0000 ";
c[7] = "#CD5C5C "; c[8] = "#B90000 "; c[9] = "#B22222 "; c[10] = "#A52A2A "; c[11] = "#800000 "; c[12] = "#FFA0A0 "; c[13] = "#F08A8A "; 
c[14] = "#F57878 "; c[15] = "#F06E6E "; c[16] = "#FF3232 "; c[17] = "#EB3232 "; c[18] = "#CD3C3C "; c[19] = "#CD6666 "; c[20] = "#B93232 ";
c[21] = "#B24040 "; c[22] = "#AA3E3E "; c[23] = "#803232 "; c[24] = "#FFAAAA "; c[25] = "#F09494 "; c[26] = "#F58282 "; c[27] = "#F07878 ";
c[28] = "#FF4646 "; c[29] = "#EB4646 "; c[30] = "#CD4646 "; c[31] = "#CD7070 "; c[32] = "#B93C3C "; c[33] = "#B24A4A "; c[34] = "#AF4848 ";
c[35] = "#853C3C "; c[36] = "#FFB4B4 "; c[37] = "#F59E9E "; c[38] = "#F58C8C "; c[39] = "#F08282 "; c[40] = "#FF5050 "; c[41] = "#EB5050 ";
c[42] = "#CD5050 "; c[43] = "#CD7A7A "; c[44] = "#B94646 "; c[45] = "#B25454 "; c[46] = "#B45252 "; c[47] = "#8F4646 "; c[48] = "#FFBEBE ";
c[49] = "#FAA8A8 "; c[50] = "#F59696 "; c[51] = "#F08C8C "; c[52] = "#FF5A5A "; c[53] = "#EB5A5A "; c[54] = "#D25A5A "; c[55] = "#D28484 ";
c[56] = "#B95050 "; c[57] = "#B75E5E "; c[58] = "#BE5C5C "; c[59] = "#945050 "; c[60] = "#FFC8C8 "; c[61] = "#FAB2B2 "; c[62] = "#F5A0A0 ";
c[63] = "#F09696 "; c[64] = "#FF6464 "; c[65] = "#EB6464 "; c[66] = "#D76464 "; c[67] = "#D78E8E "; c[68] = "#BE5A5A "; c[69] = "#BC6868 ";
c[70] = "#C36666 "; c[71] = "#9E5A5A "; c[72] = "#FFD2D2 "; c[73] = "#FAB7B7 "; c[74] = "#F5AAAA "; c[75] = "#F4A0A0 "; c[76] = "#FF6E6E ";
c[77] = "#F06E6E "; c[78] = "#DC6E6E "; c[79] = "#DC9898 "; c[80] = "#C35F5F "; c[81] = "#C17272 "; c[82] = "#CD7070 "; c[83] = "#A36464";
c[84] = "#FFDCDC "; c[85] = "#FABCBC "; c[86] = "#FAB4B4 "; c[87] = "#F4AAAA "; c[88] = "#FF7878 "; c[89] = "#F57878 "; c[90] = "#E17878 ";
c[91] = "#E6A2A2 "; c[92] = "#C86464 "; c[93] = "#CB7776 "; c[94] = "#CD7A7A "; c[95] = "#FFE6E6 "; c[96] = "#FAC1C1 "; c[97] = "#FABEBE ";
c[98] = "#F4B4B4 "; c[99] = "#FF8282 "; c[100] = "#FA8282 "; c[101] = "#E68282 "; c[102] = "#EBACAC "; c[103] = "#CD6969 "; c[104] = "#CB7C7C ";
c[105] = "#D28484 "; c[106] = "#FFF0F0"; c[107] = "#FAC6C6"; c[108] = "#FAC8C8"; c[109] = "#FEBEBE"; c[110] = "#FF8C8C"; c[111] = "#FA8C8C";
c[112] = "#EB8C8C"; c[113] = "#F0B6B6"; c[114] = "#D26E6E"; c[115] = "#D08180"; c[116] = "#D78E8E";
