/*
	미니 증권 차트
	기본적으로 필요한 함수
	bind (JES),  JIGU  사용 시 주석부분 교체
	addEvent (JES),  JIGU 사용시 주석부분 교체
	openPop(); popup함수
*/
var addMiniStock = function (codeData, targetId, btnPrev, btnNext, linkTarget) {

	this.cList = codeData;
	this.cIndex = 0;
	this.targetObj = $(targetId);
	if(linkTarget) { this.linkTarget = linkTarget } else { this.linkTarget = ""; }

	this.htmlTmp  = "<dt><a href='@urlstock' target='@target'>@name</a><span>(@code)</span></dt>"; 
	this.htmlTmp += "<dd class='price'><a href='@urlstock' target='@target'>@cost</a></dd>";
	this.htmlTmp += "<dd class='pchange'><a href='@urlstock' target='@target'><span class='st@class'>@updn</span></a></dd>";
	this.htmlTmp += "<dd class='rate'><a href='@urlstock' target='@target'><span class='c@class'>@rate%</span></a></dd>";
	this.htmlTmp += "<dd class='chart'><a href='@urlchart' target='@target'><img src='http://chart.finance.daum.net/candle/@code-198140.png' width='198px' height='140px' alt='1개월 시세 그래프'></a></dd>";
	this.htmlTmp += "<dd class='link'><span><a href='@urlprice' target='@target'>일별주가</a></span><span><a href='@urlnews' target='@target'>뉴스</a></span><span><a href='@urlbbs' target='@target'>토론</a></span><span><a href='@urlnotice' target='@target'>공시</a></span><span><a href='javascript:viewBigChart(\"@code\");' class='noBar'>BIG차트</a></span></dd>";


	if(this.cList.length > 1) {
		if(btnPrev) { 
			this.prevBtn = $(btnPrev);
			this.prevBtn.className = "on";
//			daum.Event.addEvent(this.prevBtn,'click', daum.Function.bind(this.prev, this));
			AddEvent(this.prevBtn, 'click', this.prev.bind(this));
		}

		if(btnNext) {
			this.nextBtn = $(btnNext);
			this.nextBtn.className = "on";
//			daum.Event.addEvent(this.nextBtn,'click', daum.Function.bind(this.next, this));
			AddEvent(this.nextBtn, 'click', this.next.bind(this));
		}
	}
	this.init();
}

addMiniStock.prototype = {
	init : function () {
		if(this.cList.length > 0 ) {
			this.targetObj.className = "on";
			callsrc("addStockMiniInfo", "http://fn.daum-img.net/js/stock/api/" + this.cList[this.cIndex] +".js");
		}
	},
	prev : function () {
		if(this.cIndex == 0) {
			this.cIndex = this.cList.length - 1;
		} else {
			this.cIndex--;
		}
		callsrc("addStockMiniInfo", "http://fn.daum-img.net/js/stock/api/" + this.cList[this.cIndex] +".js");
	},
	next : function () {
		if(this.cIndex == (this.cList.length - 1)) {
			this.cIndex = 0;
		} else {
			this.cIndex++;
		}
		callsrc("addStockMiniInfo", "http://fn.daum-img.net/js/stock/api/" + this.cList[this.cIndex] +".js");
	},
	exec : function (data) {
		var htmlTmp = [];
		if(!data || data.code == "") return;
		
		tmp_str = this.htmlTmp;

		tmp_str = tmp_str.replace(/@code/gi, data.code);
		tmp_str = tmp_str.replace(/@name/gi, data.name);
		tmp_str = tmp_str.replace(/@cost/gi, data.cost);
		tmp_str = tmp_str.replace(/@updn/gi, data.updn.replace("-",""));
		tmp_str = tmp_str.replace(/@rate/gi, data.rate);

		tmp_str = tmp_str.replace(/@urlstock/gi, data.urlstock);
		tmp_str = tmp_str.replace(/@urlprice/gi, data.urlprice);
		tmp_str = tmp_str.replace(/@urlnews/gi, data.urlnews);
		tmp_str = tmp_str.replace(/@urlbbs/gi, data.urlbbs);
		tmp_str = tmp_str.replace(/@urlnotice/gi, data.urlnotice);
		tmp_str = tmp_str.replace(/@urlchart/gi, data.urlchart);

		tmp_str = tmp_str.replace(/@class/gi, this.setClass(data.sign));
		tmp_str = tmp_str.replace(/@target/gi, this.linkTarget);

		this.targetObj.innerHTML = tmp_str;
	},
	setClass : function(sign) {
		switch (sign) {
		case "1" : return "Up2";
		case "2" : return "Up";
		case "3" : return "Ft";
		case "4" : return "Dn2";
		case "5" : return "Dn";
		default : return "Ft";
		}
	}
};

				
function viewBigChart(bigChartCode) {
	openPop('http://stock.daum.net/item/chart.daum?type=B&code=' + bigChartCode, 'bigChartPop', 1000, 700, 'resizable=yes,scrollbars=auto');
}