/* 펀드전용 */
var fund = {};

/* checkbox all */
fund.checkAll = function(parent_id, btn_id, strBool ) {
	try {
		var oInputs = daum.$(parent_id).getElementsByTagName("input");
		var chkBool = true;
		 		
		if (btn_id) {
			var btn_id = daum.$(btn_id);
			chkBool = btn_id.checked;
		}
		
		if(typeof strBool == "boolean") chkBool = strBool;

		for(var i=0; i<oInputs.length; i++) {
			oInputs[i].checked = chkBool;
		}
	} catch(e) {}
}


/* target checkbox Change */
fund.checkChange = function(id, strBool) {
	try {
		if (!id) return;

		var oInput = daum.$(id);
		if(typeof strBool == "boolean") {
			oInput.checked = strBool;
		} else {
			if (oInput.checked) oInput.checked = false;
			else oInput.checked = true;
		}
	} catch(e) {}
}

/* class color set */
fund.classColor = function(value, strfix) {
	var subFix = "";
	
	if(strfix) subFix = strfix;
	
	if( daum.Number.toFloat(value) > 0 ) {
		return subFix + "Up";
	} else if (daum.Number.toFloat(value) < 0) {
		return subFix + "Dn";
	} else {
		return subFix + "Ft";
	}
}
	


// API : new onChangeSearch(["searchSelect1", "searchSelect2"], "/search/search.daum", object, ["type1","type2"]);
fund.onChangeSearch = function (idSet, searchUrl, target, paramSet) {

	if (!idSet || !searchUrl) return;
	
	this.idSet = idSet;
	this.searchUrl = searchUrl;
	this.target = "";
	
	if(target) this.target = target;
	
	if (paramSet) { 
		this.paramSet = paramSet;
	} else {
		this.paramSet = idSet;
	}

	for (var i=0; i < this.idSet.length; i++) {
		if( $(this.idSet[i]) ) {
			daum.Event.addEvent($(this.idSet[i]),'change', daum.Function.bind(this.searchValue, this));
		}
	}

}

fund.onChangeSearch.prototype = {
	searchValue : function () {
		this.paramData = [];
		
		for (var i=0; i < this.idSet.length; i++) {
			this.paramData[i] = this.paramSet[i] + "=" + $(this.idSet[i]).value;
		}
		this.searchExec(this.paramData.join("&"));

	},
	searchExec : function (param) {
		if(this.target == "") {
			document.location.href = this.searchUrl + "?" + param;
		} else {
			$(this.target).location.href = this.searchUrl + "?" + param;
		}
	}
}

//자리수 comma
fund.addComma = function (s) {
	s+='';
	var re = new RegExp('(-?[0-9]+)([0-9]{3})'); 
	while(re.test(s)) s = s.replace(re, '$1,$2'); 
	return s;
};

//펀드비교
fund.selectFundCompare = function (table_id) {
	if(!daum.$(table_id)) {return;}
	
	var oInputs = daum.$(table_id).getElementsByTagName("input");
	if(oInputs.length == 0) {alert("비교할 항목이 없습니다."); return;}
	
	var chkInputs = [];
	
	for(var i=0 ; i < oInputs.length ; i++ ) {
		if(oInputs[i].type == "checkbox" && oInputs[i].checked) {
			chkInputs.push(oInputs[i].value);
		}
	}
	
	if(chkInputs.length <= 1) {alert("최소 2개이상 선택하셔야 가능합니다.");return;}
	if(chkInputs.length > 4) {alert("최대 4개까지만 비교가 가능합니다.");return;}
	
	var strParam = [];
	
	for(var i=0; i < chkInputs.length; i++) {
		strParam.push(chkInputs[i]);	
	}


	var callUrl = "http://finance.daum.net/popup/fund/product/compare_popup.daum?codes=";
	callUrl = callUrl + strParam.join("|");
/*
	var callUrl = "/fund/product/compare.daum?fundCode=";
	callUrl = callUrl + chkInputs[0] + "&codes=" + strParam.join("|");
	top.document.location.href = callUrl;
*/
	centerPop(callUrl, "popFundCompare", 870, 650, "scrollbars=false, resizable=yes");
}


fund.yScrolling=function(cid, millisec1,millisec2, speed, height)
{	
	this.cid= cid;
	this.millisec1 = millisec1;	//처음시작 텀
	this.millisec2 = millisec2; //실행 텀
	this.speed = speed;			//한번에 이동할 px
	this.height = height;
	
	this.h =0;
	this.div = document.getElementById(this.cid);

	this.htmltxt = this.div.innerHTML;
	this.div.innerHTML = this.htmltxt+this.htmltxt;
	this.div.isover=false;
	this.div.onmouseover=function(){ this.isover=true; }
	this.div.onmouseout=function(){	this.isover=false; }
	this.div.scrollTop=0;

	var self = this;
 
	window.setTimeout(this.play.bind(this), this.millisec1);
}

fund.yScrolling.prototype={
	play : function(){
	
		var self =this;
		if(!this.div.isover)
		{
			
			if(this.div.scrollTop >= this.div.scrollHeight/2)
			{
				this.div.scrollTop=0;
			}
			else(this.height)
			{
				this.h += this.speed;
				this.div.scrollTop += this.speed;
				
				if(this.h>=this.height) {
					if(this.h>this.height) {
						this.div.scrollTop -= this.h % this.height;
					}
					this.h=0;
					window.setTimeout(this.play.bind(this), this.millisec1);
					return;
				}
			}
		}

		window.setTimeout(this.play.bind(this), this.millisec2);
	}
};


fund.yScrollingBtn=function(cid, millisec1,millisec2, speed, height, btnprevid, btnnextid)
{
	this.cid= cid;
	this.millisec1 = millisec1;	//처음시작 텀
	this.millisec2 = millisec2; //실행 텀
	this.speed = speed;			//한번에 이동할 px
	this.height = height;

	this.h =0;
	this.div = document.getElementById(this.cid);

	var btnup = document.getElementById(btnprevid);
	var btndown = document.getElementById(btnnextid);

	this.htmltxt = this.div.innerHTML;
	this.div.innerHTML = this.htmltxt+this.htmltxt;
	this.div.isover=false;
	this.div.onmouseover=function(){ this.isover=true; }
	this.div.onmouseout=function(){	this.isover=false; }
	this.div.scrollTop=0;

	var self = this;

	if(btnup) {
		btnup['onmouseover'] =function(){ self.div.isover=true; }
		btnup['onmouseout'] =function(){ self.div.isover=false; }
		btnup['onclick'] = this.yUp.bind(this);
	}

	if(btndown) {
		btndown['onmouseover'] =function(){ self.div.isover=true; }
		btndown['onmouseout'] =function(){ self.div.isover=false; }
		btndown['onclick'] = this.yDown.bind(this);
	}

	window.setTimeout(this.play.bind(this), this.millisec1);
}

fund.yScrollingBtn.prototype={
	play : function(){
		var self =this;
		if(!this.div.isover)
		{
			if(this.div.scrollTop >= this.div.scrollHeight/2)
			{
				this.div.scrollTop=0;
			}
			else(this.height)
			{
				this.h += this.speed;
				this.div.scrollTop += this.speed;

				if(this.h>=this.height) {
					if(this.h>this.height) {
						this.div.scrollTop -= this.h % this.height;
					}
					this.h=0;
					window.setTimeout(this.play.bind(this), this.millisec1);
					return;
				}
			}
		}

		window.setTimeout(this.play.bind(this), this.millisec2);
	},
	yUp : function() {
		if(this.div.scrollTop >= this.div.scrollHeight/2) {
			this.div.scrollTop=0;
			this.h=0;
		} else if (this.height) {
			if (this.h == this.height) {
				this.h = 0;
			}

			this.div.scrollTop += this.speed;
			this.h += this.speed;

			if(this.h >= this.height) {
				if(this.h>this.height) {
					this.div.scrollTop -= this.h % this.height;
				}
				this.h=0;
				return;
			}
		}
		window.setTimeout(this.yUp.bind(this), this.millisec2);
	},
	yDown : function() {
		if (this.div.scrollTop <= 0 ) {
			this.div.scrollTop = this.div.scrollHeight/2;
			this.h = this.height;
		} else if (this.height) {
			if(this.h == 0 ) {
				this.h = this.height;
			}
			this.div.scrollTop -= this.speed;
			this.h -= this.speed;

			if (this.h <= 0) {
				if(this.h<0) {
					if(this.div.scrollTop != 0) {
						this.div.scrollTop -= this.h;
					}
				}
				this.h = this.height;
				return;
			}

		}
		window.setTimeout(this.yDown.bind(this), this.millisec2);
	}
};
