/*******************************************************************************
	¹öÆ° »ý¼º ½ºÅ©¸³Æ®

	»ç¿ë¹ý:
		Button(value, func, icon);
			value: ¹öÆ° ÅØ½ºÆ®
			func: ¹öÆ°À» Å¬¸¯ÇßÀ»¶§ È£ÃâÇÒ ÇÔ¼ö
			icon: ¹öÆ°¿¡ Ç¥½ÃÇÒ ¾ÆÀÌÄÜ ÀÌ¹ÌÁö¸í
				ÀÌ¹ÌÁö´Â ¹Ýµå½Ã ÁöÁ¤µÈ °æ·Î(buttonImgPath)¿¡ ÀÖ¾î¾ß ÇÑ´Ù.)
			target: ¹öÆ°À» Ãâ·ÂÇÒ ´ë»ó °´Ã¼¸í
		ex) Button("È® ÀÎ", "function1('1234')", "bttn_ok.gif");

	Author: Kim Kyoung shil
*******************************************************************************/

// ¹öÆ° ÀÌ¹ÌÁö °æ·Î
//var buttonImgPath = "/lmsdata/images/button/set/";

// ¹öÆ° ÆùÆ® ÁöÁ¤
var buttonFontSize		= "9pt";
var buttonFontFamily	= "±¼¸²";

// ¹öÆ°3 ÆùÆ® ÁöÁ¤
var buttonFontSize3		= "8pt";
var buttonFontColor3	= "#C1D1FF";

var buttonLeftImg1		= new Image();
var buttonLeftImg2		= new Image();
var buttonCenterImg1	= new Image();
var buttonCenterImg2	= new Image();
var buttonRightImg1		= new Image();
var buttonRightImg2		= new Image();
buttonLeftImg1.path		= buttonImgPath+"btn_bg_left.gif";
buttonLeftImg2.path		= buttonImgPath+"btn_bg_left2.gif";
buttonCenterImg1.path	= buttonImgPath+"btn_bg_center.gif";
buttonCenterImg2.path	= buttonImgPath+"btn_bg_center2.gif";
buttonRightImg1.path	= buttonImgPath+"btn_bg_right.gif";
buttonRightImg2.path	= buttonImgPath+"btn_bg_right2.gif";

var button2LeftImg		= new Image();
var button2CenterImg	= new Image();
var button2RightImg		= new Image();
var button2CheckImg1	= new Image();
var button2CheckImg2	= new Image();
button2LeftImg.path		= buttonImgPath+"btn_bg2_left.gif";
button2CenterImg.path	= buttonImgPath+"btn_bg2_center.gif";
button2RightImg.path	= buttonImgPath+"btn_bg2_right.gif";
button2CheckImg1.path	= buttonImgPath+"btn_bg2_check.gif";
button2CheckImg2.path	= buttonImgPath+"btn_bg2_check2.gif";

var button3LeftImg		= new Image();
var button3CenterImg	= new Image();
var button3RightImg		= new Image();
button3LeftImg.path		= buttonImgPath+"btn_bg3_left.gif";
button3CenterImg.path	= buttonImgPath+"btn_bg3_center.gif";
button3RightImg.path	= buttonImgPath+"btn_bg3_right.gif";

var button5OffImg		= new Image();
var button5OnImg		= new Image();
button5OffImg.path		= buttonImgPath+"btn_bg5_off.gif";
button5OnImg.path		= buttonImgPath+"btn_bg5_on.gif";


var buttonAddCount = 0;


/**
 * ¹öÆ° »ý¼º
 */
function Button(value, func, icon, target, title) {
	buttonAddCount += 1;
	icon = nullToEmpty(icon);

	var buttonId = "BTTN"+buttonAddCount;
	var buttonStr = "<table border=0 cellspacing=0 cellpadding=0 id='"+buttonId+"_TB' style='text-indent:0px;'>"
		+ "<tr >"
		+ "<td><img id='"+buttonId+"_left' src='"+getButtonImgSrc(buttonLeftImg1)+"'></td>";
	
	if (icon != "" && icon != "null") {
		buttonStr += "<td id='"+buttonId+"_icon' nowrap><img src='"+lmsIconPath+icon+"'></td>";
	}
	
	buttonStr += "<td id='"+buttonId+"_text' nowrap>"+value+"</td>"
		+ "<td><img id='"+buttonId+"_right' src='"+getButtonImgSrc(buttonRightImg1)+"'></td>"
		+ "</tr></table>";

	if (nullToEmpty(target) != "") {
		var targetObj = getObject(target);
		targetObj.innerHTML = buttonStr;
	}
	else {
		document.write(buttonStr);
	}
	
	var buttonTbObj = getObject(buttonId+"_TB");
	buttonTbObj.style.display	= "inline";
	buttonTbObj.style.cursor	= "pointer";
	
	var textTd		= getObject(buttonId+"_text");
	var iconTd		= getObject(buttonId+"_icon");
	var bttnLeft	= getObject(buttonId+"_left");
	var bttnRight	= getObject(buttonId+"_right");
	textTd.style.backgroundImage = "url("+getButtonImgSrc(buttonCenterImg1)+")";
	if (iconTd != null) {
		iconTd.style.backgroundImage = "url("+getButtonImgSrc(buttonCenterImg1)+")";
	}
	
	textTd.style.fontSize		= buttonFontSize;
	textTd.style.fontFamily		= buttonFontFamily;
	textTd.style.paddingTop		= "2px";
	textTd.style.paddingLeft	= "5px";
	textTd.style.paddingRight 	= "5px";
	
	buttonTbObj.textTd			= textTd;
	buttonTbObj.iconTd			= iconTd;
	buttonTbObj.bttnLeft		= bttnLeft;
	buttonTbObj.bttnRight		= bttnRight;
	if (nullToEmpty(title) != "") {
		buttonTbObj.title = title;
	}
	
	buttonTbObj.bttnType		= "1";
	buttonTbObj.msout			= true;
	buttonTbObj.exec			= true;
	buttonTbObj.func			= func;
	buttonTbObj.onclick			= execButtonFunction;
	buttonTbObj.onmouseover		= onButtonImgChange;
	buttonTbObj.onmouseout		= offButtonImgChange;
	buttonTbObj.onselectstart	= function() {return false}
	buttonTbObj.ondragstart		= function() {return false}
	buttonTbObj.oncontextmenu	= function() {return false}	
}


/**
 * ¹öÆ° »ý¼º 2
 */
function Button2(value, func, title) {
	buttonAddCount += 1;

	var buttonId = "BTTN"+buttonAddCount;
	var buttonStr = "<table border=0 cellspacing=0 cellpadding=0 id='"+buttonId+"_TB' style='text-indent:0px;'>"
		+ "<tr>"
		+ "<td><img id='"+buttonId+"_left' src='"+getButtonImgSrc(button2LeftImg)+"'></td>";
	
	buttonStr += "<td id='"+buttonId+"_icon' style='' nowrap><img id='"+buttonId+"_check' src='"+getButtonImgSrc(button2CheckImg1)+"'></td>";
	
	buttonStr += "<td id='"+buttonId+"_text' style='' nowrap>"+value+"</td>"
		+ "<td><img id='"+buttonId+"_right' src='"+getButtonImgSrc(button2RightImg)+"'></td>"
		+ "</tr></table>";

	document.write(buttonStr);
	
	var buttonTbObj = getObject(buttonId+"_TB");
	buttonTbObj.style.display	= "inline";
	buttonTbObj.style.cursor	= "pointer";
	
	var textTd		= getObject(buttonId+"_text");
	var iconTd		= getObject(buttonId+"_icon");
	textTd.style.backgroundImage = "url("+getButtonImgSrc(button2CenterImg)+")";
	iconTd.style.backgroundImage = "url("+getButtonImgSrc(button2CenterImg)+")";
	
	textTd.style.fontSize		= buttonFontSize;
	textTd.style.fontFamily		= buttonFontFamily;
	textTd.style.paddingTop		= "2px";
	textTd.style.paddingLeft	= "5px";
	textTd.style.paddingRight 	= "5px";
	
	buttonTbObj.textTd			= textTd;
	buttonTbObj.iconTd			= iconTd;
	buttonTbObj.bttnCheck		= getObject(buttonId+"_check");
	if (nullToEmpty(title) != "") {
		buttonTbObj.title = title;
	}
	
	buttonTbObj.bttnType		= "2";
	buttonTbObj.msout			= true;
	buttonTbObj.exec			= true;
	buttonTbObj.func			= func;
	buttonTbObj.onclick			= execButtonFunction;
	buttonTbObj.onmouseover		= onButton2ImgChange;
	buttonTbObj.onmouseout		= offButton2ImgChange;
	buttonTbObj.onselectstart	= function() {return false}
	buttonTbObj.ondragstart		= function() {return false}
	buttonTbObj.oncontextmenu	= function() {return false}	
}


/**
 * ¹öÆ° »ý¼º 3
 */
function Button3(value, func, title) {
	buttonAddCount += 1;

	var buttonId = "BTTN"+buttonAddCount;
	var buttonStr = "<table border=0 cellspacing=0 cellpadding=0 id='"+buttonId+"_TB' style='text-indent:0px;'>"
		+ "<tr>"
		+ "<td><img id='"+buttonId+"_left' src='"+getButtonImgSrc(button3LeftImg)+"'></td>"
		+ "<td background='"+getButtonImgSrc(button3CenterImg)+"' align='top'><div id='"+buttonId+"_text'>"+value+"</div></td>"
		+ "<td><img id='"+buttonId+"_right' src='"+getButtonImgSrc(button3RightImg)+"'></td>"
		+ "</tr></table>";

	document.write(buttonStr);
	
	var buttonTbObj = getObject(buttonId+"_TB");
	buttonTbObj.style.display	= "inline";
	buttonTbObj.style.cursor	= "pointer";
	
	var textTd		= getObject(buttonId+"_text");
	textTd.style.fontSize		= buttonFontSize3;
	textTd.style.color			= buttonFontColor3;
	textTd.style.fontFamily		= buttonFontFamily;
	//textTd.style.height			= (button3LeftImg.height-2)+"px";
	textTd.style.overflow		= "hidden";
	textTd.style.paddingTop		= "1px";
	if (nullToEmpty(title) != "") {
		buttonTbObj.title = title;
	}
	
	buttonTbObj.bttnType		= "3";
	buttonTbObj.exec			= true;
	buttonTbObj.func			= func;
	buttonTbObj.onclick			= execButtonFunction;	
	buttonTbObj.onselectstart	= function() {return false}
	buttonTbObj.ondragstart		= function() {return false}
	buttonTbObj.oncontextmenu	= function() {return false}	
}


/**
 * ¹öÆ° »ý¼º 4 (ÀÏ¹ÝÀûÀÎ ÀÌ¹ÌÁö ¹öÆ°)
 * @param	func		½ÇÇàÇÒ ÇÔ¼ö
 * @param	imgName1	¹öÆ° ÀÌ¹ÌÁö
 * @param	imgName2	¹öÆ° ÀÌ¹ÌÁö2 (¸¶¿ì½º ¿À¹ö½Ã º¯°æ ÀÌ¹ÌÁö)
 * @param	title		Å¸ÀÌÆ²
 */
function Button4(func, imgName1, imgName2, title) {
	buttonAddCount += 1;

	imgName1 = nullToEmpty(imgName1);	
	imgName2 = nullToEmpty(imgName2);

	var buttonId = "BTTN"+buttonAddCount;
	var buttonStr = "<img id='"+buttonId+"' src='"+buttonImgPath+imgName1+"' "
			+ "style='display:inline;cursor:pointer;filter:alpha(opacity=100);-moz-opacity:1.0;'>";

	document.write(buttonStr);
	
	var buttonObj = getObject(buttonId);
	if (nullToEmpty(title) != "") {
		buttonObj.title = title;
	}

	buttonObj.bttnType		= "4";
	buttonObj.exec			= true;
	buttonObj.func			= func;
	buttonObj.onclick		= execButtonFunction;
	buttonObj.msout			= true;
	buttonObj.imgName1		= imgName1;
	buttonObj.imgName2		= imgName2;
	buttonObj.onmouseover	= onButton4ImgChange;
	buttonObj.onmouseout	= offButton4ImgChange;
	
	buttonObj.onselectstart	= function() {return false}
	buttonObj.ondragstart	= function() {return false}
	buttonObj.oncontextmenu	= function() {return false}
	
	return buttonId;
}


/**
 * ¹öÆ° »ý¼º 5 (Åø¹Ù ¹öÆ°)
 */
function Button5(func, icon, title) {
	buttonAddCount += 1;

	icon = nullToEmpty(icon);	

	var buttonId = "BTTN"+buttonAddCount;
	var buttonStr = "<table border=0 cellspacing=0 cellpadding=0 style='display:inline;text-indent:0px;'><tr>"
			+ "<td id='"+buttonId+"' style='width:25px;height:21px;"
			+ "padding-top:1px;padding-left:1px;"
			+ "cursor:pointer;filter:alpha(opacity=100);-moz-opacity:1.0;"
			+ "background:url("+getButtonImgSrc(button5OffImg)+") no-repeat left top' "
			+ "align=center valign=middle >"
			+ "<img src='"+lmsIconPath+icon+"' style='filter:alpha(opacity=100)'></td>"
			+ "</tr></table>";

	document.write(buttonStr);
	
	var buttonObj = getObject(buttonId);
	if (nullToEmpty(title) != "") {
		buttonObj.title = title;
	}

	buttonObj.bttnType		= "5";
	buttonObj.exec			= true;
	buttonObj.func			= func;
	buttonObj.onclick		= execButtonFunction;
	buttonObj.msout			= true;
	buttonObj.icon			= icon;
	buttonObj.onmouseover	= onButton5ImgChange;
	buttonObj.onmouseout	= offButton5ImgChange;
	
	buttonObj.onselectstart	= function() {return false}
	buttonObj.ondragstart	= function() {return false}
	buttonObj.oncontextmenu	= function() {return false}
	
	return buttonId;
}


/**
 * ¹öÆ° ÇÔ¼ö ½ÇÇà
 */
function execButtonFunction() {
	if (this.exec == true) {
		eval(this.func);
		
		if (this.bttnType == "1" || this.bttnType == "2" || this.bttnType == "4") {
			this.onmouseout();
		}
	}
}


/**
 * ¹öÆ° ºñÈ°¼º (¹öÆ°4,5 ¿¡¼­¸¸ À¯È¿)
 */
function disableButton(buttonId) {
	if (eval(buttonId).id) {
		butonId = eval(buttonId).id;
	}
	else {
		buttonId = eval(buttonId);
	}

	var buttonObj = getObject(buttonId);
	buttonObj.exec = false;
	if (buttonObj.style.MozOpacity) {
		buttonObj.style.MozOpacity = 0.4;
	}
	else {
		buttonObj.style.filter = "alpha(opacity=50)gray()";
	}
}


/**
 * ¹öÆ° È°¼º (¹öÆ°4,5 ¿¡¼­¸¸ À¯È¿)
 */
function enableButton(buttonId) {
	if (eval(buttonId).id) {
		butonId = eval(buttonId).id;
	}
	else {
		buttonId = eval(buttonId);
	}
	
	var buttonObj = getObject(buttonId);
	buttonObj.exec = true;
	if (buttonObj.style.MozOpacity) {
		buttonObj.style.MozOpacity = 1.0;
	}
	else {
		buttonObj.style.filter = "alpha(opacity=100)";
	}
}


/**
 * ¸¶¿ì½º ¿À¹ö½Ã ¹öÆ° º¯°æ
 */
function onButtonImgChange() {
	try {
		if (this.msout == true) {
			this.textTd.style.backgroundImage = "url("+getButtonImgSrc(buttonCenterImg2)+")";
			if (this.iconTd != null) {
				this.iconTd.style.backgroundImage = "url("+getButtonImgSrc(buttonCenterImg2)+")";
			}
			this.bttnLeft.src	= getButtonImgSrc(buttonLeftImg2);
			this.bttnRight.src	= getButtonImgSrc(buttonRightImg2);
			this.msout = false;
		}
	}
	catch(e) {
		return;
	}
}


/**
 * ¸¶¿ì½º ¾Æ¿ô½Ã ¹öÆ° º¯°æ
 */
function offButtonImgChange() {
	try {
		if (this.msout == false) {
			this.textTd.style.backgroundImage = "url("+getButtonImgSrc(buttonCenterImg1)+")";
			if (this.iconTd != null) {
				this.iconTd.style.backgroundImage = "url("+getButtonImgSrc(buttonCenterImg1)+")";
			}
			this.bttnLeft.src	= getButtonImgSrc(buttonLeftImg1);
			this.bttnRight.src	= getButtonImgSrc(buttonRightImg1);
			this.msout = true;
		}
	}
	catch(e) {
		return;
	}
}


/**
 * ¸¶¿ì½º ¿À¹ö½Ã ¹öÆ° º¯°æ (¹öÆ°2)
 */
function onButton2ImgChange() {
	if (this.msout == true) {
		this.bttnCheck.src	= getButtonImgSrc(button2CheckImg2);
		this.msout = false;
	}
}


/**
 * ¸¶¿ì½º ¾Æ¿ô½Ã ¹öÆ° º¯°æ (¹öÆ°2)
 */
function offButton2ImgChange() {
	if (this.msout == false) {
		this.bttnCheck.src	= getButtonImgSrc(button2CheckImg1);
		this.msout = true;
	}
}


/**
 * ¸¶¿ì½º ¿À¹ö½Ã ¹öÆ° º¯°æ (¹öÆ°4)
 */
function onButton4ImgChange() {
	if (this.exec == true && this.imgName2 != "" && this.msout == true) {
		this.src = buttonImgPath + this.imgName2;
		this.msout = false;
	}
}


/**
 * ¸¶¿ì½º ¾Æ¿ô½Ã ¹öÆ° º¯°æ (¹öÆ°4)
 */
function offButton4ImgChange(buttonImg, offImg) {
	if (this.exec == true && this.imgName2 != "" && this.msout == false) {
		this.src = buttonImgPath + this.imgName1;
		this.msout = true;
	}
}


/**
 * ¸¶¿ì½º ¿À¹ö½Ã ¹öÆ° º¯°æ (¹öÆ°5)
 */
function onButton5ImgChange() {
	if (this.exec == true && this.msout == true) {
		this.style.backgroundImage = "url("+getButtonImgSrc(button5OnImg)+")";
		this.msout = false;
	}
}


/**
 * ¸¶¿ì½º ¾Æ¿ô½Ã ¹öÆ° º¯°æ (¹öÆ°5)
 */
function offButton5ImgChange() {
	if (this.exec == true && this.msout == false) {
		this.style.backgroundImage = "url("+getButtonImgSrc(button5OffImg)+")";
		this.msout = true;
	}
}


/**
 * ÀÌ¹ÌÁö ¹öÆ°
 * @param	func		½ÇÇàÇÒ ÇÔ¼ö
 * @param	imgName1	¹öÆ° ÀÌ¹ÌÁö
 * @param	imgName2	¹öÆ° ÀÌ¹ÌÁö2 (¸¶¿ì½º ¿À¹ö½Ã º¯°æ ÀÌ¹ÌÁö)
 * @param	title		Å¸ÀÌÆ²
 */
function ImageButton(folder, imgName1, imgName2, title, onclick, onmouseover, onmouseout) {
	buttonAddCount += 1;

	imgName1 = nullToEmpty(imgName1);	
	imgName2 = nullToEmpty(imgName2);

	var buttonId = "BTTN"+buttonAddCount;
	var buttonStr = "<img id='"+buttonId+"' src='"+lmsTemplatePath+"/"+folder+"/"+imgName1+"' "
			+ "style='display:inline;cursor:pointer;filter:alpha(opacity=100);-moz-opacity:1.0;'>";

	document.write(buttonStr);
	
	var buttonObj = getObject(buttonId);
	if (nullToEmpty(title) != "") {
		buttonObj.title = title;
	}

	buttonObj.img1			= null;
	buttonObj.img2			= null;

	if (imgName1 != "") {
		var img1 = new Image();
		img1.src = lmsTemplatePath+"/"+folder+"/"+imgName1;
		buttonObj.img1 = img1;
	}
	
	if (imgName2 != "") {
		var img2 = new Image();
		img2.src = lmsTemplatePath+"/"+folder+"/"+imgName2;
		buttonObj.img2 = img2;
	}

	buttonObj.exec			= true;
	buttonObj.func			= onclick;
	buttonObj.onclick		= execButtonFunction;
	buttonObj.msout			= true;
	buttonObj.folder		= folder;
	buttonObj.overfunc		= onmouseover;
	buttonObj.outfunc		= onmouseout;
	buttonObj.onmouseover	= overButtonImage;
	buttonObj.onmouseout	= outButtonImage;
	
	buttonObj.onselectstart	= function() {return false}
	buttonObj.ondragstart	= function() {return false}
	buttonObj.oncontextmenu	= function() {return false}
	
	return buttonId;
}


/**
 * ÀÌ¹ÌÁö¹öÆ° ¸¶¿ì½º ¿À¹ö
 */
function overButtonImage(buttonObj) {
	if (this.exec == true && this.msout == true) {
		if (this.img2 != null) {
			this.src = this.img2.src;
		}
		
		if (this.overfunc != "") {
			eval(this.overfunc);
		}
		this.msout = false;
	}
}


/**
 * ÀÌ¹ÌÁö¹öÆ° ¸¶¿ì½º ¾Æ¿ô
 */
function outButtonImage() {
	if (this.exec == true && this.msout == false) {
		if (this.img2 != null) {
			this.src = this.img1.src;
		}
		
		if (this.outfunc != "") {
			eval(this.outfunc);
		}
		
		this.msout = true;
	}
}


/**
 * ÀÌ¹ÌÁö src ¹ÝÈ¯
 */
function getButtonImgSrc(imgObj) {
	if (imgObj.src == null || imgObj.src == "") {
		imgObj.src = imgObj.path;
	}
	return imgObj.src;
}
