﻿var perList = 30;
var perPage = 4;
var curpg = 0;
var cur_id = "sel_col0";
var cur_tab = "tabS1";

itemArr = new Array(	//Rank > 가치지표 추가 스크립트
	new Array(
		new Array("영업이익률" , 0),	// 수익성
		new Array("순이익률" , 1),
		new Array("ROE" , 2),
		new Array("ROA" , 3)
	) , 
	new Array(
		new Array("총자산증가율" , 0),	// 성장성
		new Array("매출액증가율" , 1) , 
		new Array("영업이익증가율" , 2) , 
		new Array("순이익증가율" , 3)
	), 
	new Array(
		new Array("부채비율" , 0),	// 안정성
		new Array("유동비율" , 1) , 
		new Array("당좌비율" , 2) , 
		new Array("순부채비율" , 3)
	), 
	new Array(
		new Array("총자산회전율" , 0),	// 활동성
		new Array("매출채권회전율" , 1) , 
		new Array("재고자산회전율" , 2) , 
		new Array("매입채무회전율" , 3)
	), 
	new Array(
		new Array("PER" , 0),	// 주가지표
		new Array("PBR" , 1) , 
		new Array("PSR" , 2) , 
		new Array("EV/EBITDA" , 3)
	)
);

function ShowPages(total,pg)
{
	if(pg == null) pg = curpg;
	
	var pageObj = document.getElementById("paging");
	var pageHTML = '<table class="pagingTable" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td>';
	var maxPage = Math.ceil(total/perList);
	var cnt=(maxPage<perPage)?maxPage:perPage;
	
	for(var i=0;i<cnt;++i) {
		if(i==pg) {
			pageHTML += '<span class="on"><b>';
			pageHTML += (i+1)+'</b></span>';
		}
		else {
			pageHTML += '<span><a href="javascript:Cmd_SelPage('+i+');"';
			pageHTML += '>'+(i+1)+'</a></span>';
		}
	}
	pageHTML += '</td></tr></tbody></table>';
	pageObj.innerHTML = pageHTML;
}

function comPrePaging(event,tbid,pg,jump,sR,sC)
{	
	var cG, cC, cO;	// current Column, Order
	var col, col_Len, cur_sort, chgSort;
	var itemArray;
	
	if(getTarget(event).id.substring(0, 4) == "tabS")	// 상위 탭 클릭시
	{	
		cG = Number(getTarget(event).id.substring(4, 5));
		cur_id = "sel_col0";
	}
	else
	{	
		for(var i = 1; i < 6; i++)	// current tab
		{
			if(document.getElementById("tabS"+i) != null && document.getElementById("tabS"+i).className == "on")
			{
				cG = Number(i);
				break;
			}
		}
		cur_id = getTarget(event).id;
	}
	itemArray = itemArr[cG-1];	
	cur_sort = document.getElementById(cur_id).className;
	cC = Number(cur_id.substring(cur_id.length-1, cur_id.length));
	
	if(getTarget(event).id.substring(0, 4) == "tabS")	// tab 검색시 default desc
	{
		chgSort = "desc";
		cO = 0;
	}
	else
	{
		if(cur_sort == "desc")
		{
			chgSort = "asc";
			cO = 1;
		}
		else
		{
			chgSort = "desc";
			cO = 0;
		}
	}
	switch(tbid)
	{
		case "TB201":
			col_Len = 6;
			break;
		case "TB202":
			col_Len = 4;
			break;
		case "TB203":
			col_Len = 5;
			break;
	}
	for(var i = 0; i < col_Len; i++)	// search column style & text
	{
		if(tbid == "TB202")
		{
			document.getElementById("sel_col"+i).innerHTML = itemArray[i][0];
		}
		document.getElementById("sel_col"+i).style.color = "#666666";
		document.getElementById("sel_col"+i).className = "sort";
	}
	document.getElementById(cur_id).style.color = "#000000";
	document.getElementById(cur_id).className = chgSort;
	
	if(tbid == "TB202")	// search tip set
	{
		var tip1; 
		var tip2; 
		switch(cG)
		{
			case 1: 
				tip1 = "단위 : %";
				tip2 = "* ROE : 자기자본순이익률, ROA : 총자산순이익률";
				break;
			case 2: 
				tip1 = "단위 : %";
				tip2 = "";
				break;
			case 3: 
				tip1 = "단위 : %";
				tip2 = "";
				break;
			case 4: 
				tip1 = "단위 : 비율";
				tip2 = "";
				break;
			case 5: 
				tip1 = "단위 : 배";
				tip2 = "* PER : 주가이익비율, PBR : 주가순자산비용";
				break;
		}
		document.getElementById("LTip").innerHTML = tip1 + ", 데이터기준 : 최근결산기";
		document.getElementById("LTip2").innerHTML = tip2;
	}
	
	if(pg == null) pg = curpg + jump;	// search result set
	var Dataset = null;	
	switch(cG)
	{
		case 1: Dataset = changeInfo1[cC].dest[cO]; break;
		case 2: Dataset = changeInfo2[cC].dest[cO]; break;
		case 3: Dataset = changeInfo3[cC].dest[cO]; break;
		case 4: Dataset = changeInfo4[cC].dest[cO]; break;
		case 5: Dataset = changeInfo5[cC].dest[cO]; break;
		default: Dataset = changeInfo[cC].dest[cO]; break;
	}
	var endVal = ((pg+1)*perList >= Dataset.length) ? Dataset.length : (pg+1)*perList;
	var sliceArr = Dataset.slice(pg*perList,endVal);
	for(var i=0,cnt=sliceArr.length,startCnt=pg*perList+1;i<cnt;++i) 
	{
		if(sliceArr[i][0].length > 5)
			sliceArr[i][1] = sliceArr[i][0]+"|"+sliceArr[i][1];
		sliceArr[i][0] = startCnt+i; 	
	}
	curpg = pg;
	ChangeTable(tbid,sliceArr,sR,sC,cC);
}

function comPaging(tbid,pg,jump,sR,sC)
{	
	var cG, cC, cO;	// current Column, Order
	var col, col_Len, cur_sort, chgSort;
	cur_sort = document.getElementById(cur_id).className;
	cC = Number(cur_id.substring(cur_id.length-1, cur_id.length));
	
	for(var i = 1; i < 6; i++)	// current tab
	{
		if(document.getElementById("tabS"+i) != null && document.getElementById("tabS"+i).className == "on")
		{
			cG = Number(i);
			break;
		}
	}
	if(cur_sort == "desc")
		cO = 0;
	else if(cur_sort == "asc")
		cO = 1;
	else
		cO = 0;

	if(pg == null) pg = curpg + jump;
	var Dataset = null;	
	switch(cG)
	{
		case 1: Dataset = changeInfo1[cC].dest[cO]; break;
		case 2: Dataset = changeInfo2[cC].dest[cO]; break;
		case 3: Dataset = changeInfo3[cC].dest[cO]; break;
		case 4: Dataset = changeInfo4[cC].dest[cO]; break;
		case 5: Dataset = changeInfo5[cC].dest[cO]; break;
		default: Dataset = changeInfo[cC].dest[cO]; break;
	}
	var endVal = ((pg+1)*perList >= Dataset.length) ? Dataset.length : (pg+1)*perList;
	var sliceArr = Dataset.slice(pg*perList,endVal);
	for(var i=0,cnt=sliceArr.length,startCnt=pg*perList+1;i<cnt;++i) 
	{
		if(sliceArr[i][0].length > 5)
			sliceArr[i][1] = sliceArr[i][0]+"|"+sliceArr[i][1];
		sliceArr[i][0] = startCnt+i; 	
	}
	curpg = pg;
	ChangeTable(tbid,sliceArr,sR,sC,cC);
}

function ChangeTable(objID,ValArr,sR,sC,cC)
{	
	var maxLen=7;
	var obj = document.getElementById(objID).getElementsByTagName('TBODY')[0];
	var dataLen = ValArr.length;
	var oR = obj.rows.length;
	var cR = dataLen+Math.ceil(dataLen/5)*2;
	var nC;	
	
	
	if(oR != cR)
	{
		if(oR > cR)
		{
			for(var i = 0; i < oR-cR; i++)
			{
				obj.deleteRow(oR-i-2);
			}
		}
		else
		{
			for(var i = 0; i < cR-oR; i++)
			{									
				var nR = obj.insertRow((oR-1)+i);
				SetRow(objID,nR);
			}
		}
		obj.rows[cR-1].className = obj.rows[cR-2].className;
	}
	//*******************************
	for(var r=0,tr=0,rcnt=ValArr.length;r<rcnt;++r,++tr) {
		if(r%5 == 0) ++tr;
		if(r>0 && r%5 == 0) ++tr;
					
		for(var c=0,ccnt=ValArr[r].length;c<ccnt;++c) {
			var cell = obj.rows[tr].cells[c];
			var val = ValArr[r][c];			
			if(c == 1)	// 기업명
			{
				var valArr = val.split('|');
				var sNameEl = cell.getElementsByTagName('A')[0];
				if(!sNameEl) {
					sNameEl = document.createElement('A');
					cell.appendChild(sNameEl);
				}
				sNameEl.href="javascript:Cmd_SchCode('"+valArr[0]+"');";
				
				val = valArr[1];			
				if(c==1 && val.length > maxLen) {
					sNameEl.title = val; 
					val = val.substr(0, maxLen)+"..";
				}
				else sNameEl.removeAttribute("title");	
				sNameEl.innerHTML = val		
			}
			else {
				cell.innerHTML = val;
			}
		}
	}	
}

function SetRow(objID,row) {
	var cssArr;
	var addCss="";
	if(objID=="TB201") cssArr = ["no","txt dtRbdGray","num dtRbdGray","num","num","num","num","num","datetime"];
	else if(objID=="TB202") cssArr = ["no","txt","num","num","num","num","datetime"];
	else if(objID=="TB203") cssArr = ["no","txt2 dtRbdGray","num2","num2","num2 dtRbdGray","num2 dtRbdGray","num2","num4","num4","num4","datetime"];

	var rIdx = row.sectionRowIndex;
	if(Math.ceil((rIdx+1)/7)%2==0) row.className = "bgGray";
	if(rIdx%7==6) addCss = " td_line";
	else if(rIdx%7==0) addCss = " td_top";
	else {
		row.onmouseout = function() {highlight(this,false)}
		row.onmouseover = function() {highlight(this,true)}
	}
	for(var i=0,cnt=cssArr.length;i<cnt;++i) {
		var cell = row.insertCell(i);
		cell.className = cssArr[i]+addCss;
	}	
}

function Cmd_SchPage(kind)
{
	var secObj = document.getElementById("sel_gics");
	if (kind=="1") document.location.href = "ranking.daum?type=financial&path=c20100"+secObj.value;
	else if (kind=="2") document.location.href = "ranking.daum?type=value&path=c20200"+secObj.value;
	else if (kind=="3") document.location.href = "ranking.daum?type=opinion&path=c20300"+secObj.value;
		
	//document.location.href = "c20"+kind+"00"+secObj.value+".html";
	//document.location.href = "c20"+kind+"00"+secObj.value+".aspx";
}

function Cmd_SchCode(cd)
{
	document.location.href = "http://stock.daum.net/item/main.daum?code="+cd;
}

function Arr_Set(cur_tab)	// 가치지표 tab 선택시 검색column변경
{	
	switch(cur_tab.substring(cur_tab.length-1, cur_tab.length))
	{
		case 1:
			datalength = changeInfo1[Number(cur_id.substring(cur_id.length-1, cur_id.length))].dest[0].length;
		break;
		case 2:
			datalength = changeInfo2[Number(cur_id.substring(cur_id.length-1, cur_id.length))].dest[0].length;
		break;
		case 3:
			datalength = changeInfo3[Number(cur_id.substring(cur_id.length-1, cur_id.length))].dest[0].length;
		break;
		case 4:
			datalength = changeInfo4[Number(cur_id.substring(cur_id.length-1, cur_id.length))].dest[0].length;
		break;
		case 5:
			datalength = changeInfo5[Number(cur_id.substring(cur_id.length-1, cur_id.length))].dest[0].length;
		break;
	}
}


//************************************************************************************************************