/* KT&G Style : yckim@cloud9.co.kr 내선(226)*/
/* File Name : selectBox.js (Select Box Skin 항목에 해당하는 style)*/

var nowOpenedSelectBox = null;
var mousePosition = null;
var ck_value = null;
var objId = null;

function selectThisValue(thisId,thisIndex,thisValue,thisString) {
	var objId = thisId;
	var nowIndex = thisIndex;
	var valueString = thisString;
	var sourceObj = document.getElementById(objId);
	var nowSelectedValue = document.getElementById(objId+"SelectBoxOptionValue"+nowIndex).value;
	hideOptionLayer(objId);
	if (sourceObj) sourceObj.value = nowSelectedValue;
	settingValue(objId,valueString);
	selectBoxFocus(objId);
	if (sourceObj.onchange) sourceObj.onchange();
}

function settingValue(thisId,thisString) {
	var objId = thisId;
	var valueString = thisString;
	var selectedArea = document.getElementById(objId+"selectBoxSelectedValue");
	if (selectedArea) selectedArea.innerHTML = valueString;
}

function viewOptionLayer(thisId) {
	var objId = thisId;
	var optionLayer = document.getElementById(objId+"selectBoxOptionLayer");
	if (optionLayer) optionLayer.style.display = "";
	nowOpenedSelectBox = objId;
	setMousePosition("inBox");
}

function hideOptionLayer(thisId) {
	var objId = thisId;
	var optionLayer = document.getElementById(objId+"selectBoxOptionLayer");
	if (optionLayer) optionLayer.style.display = "none";
}

function setMousePosition(thisValue) {
	var positionValue = thisValue;
	mousePosition = positionValue;
}

function clickMouse() {
	if (mousePosition == "out") hideOptionLayer(nowOpenedSelectBox);
}

function selectBoxFocus(thisId) {
	var objId = thisId;
	var obj = document.getElementById(objId + "selectBoxSelectedValue");
	obj.className = ck_value + "SelectedAreaFocus";
	obj.focus();
}

function selectOnLoad(thisId) {
	var elem = null;
	var objId = thisId;
	elem = document.getElementById(objId + "selectBoxSelectedValue");
	elem.onblur = selectBoxBlur(objId);
	
}

function selectBoxBlur(thisId) {
	var objId = thisId;
	var obj = document.getElementById(objId + "selectBoxSelectedValue");
	obj.className = ck_value + "SelectedArea";
}

function Select_box(tdid,imgpath,thisId,s_value,ss_w,ss_h,optionMX) {

 	//onload = selectOnLoad(); 

	if (optionMX == null){
		optionMX = 6;	
	}
		

	var downArrowSrc = imgpath+"/select_"+s_value+".gif";	//오른쪽 화살표 이미지
	var downArrowSrcWidth = ss_w;	//오른쪽 화살표 이미지 width
	var optionHeight = ss_h; // option 하나의 높이
	var optionMaxNum = optionMX; // 한번에 보여지는 option의 갯수
	var optionInnerLayerHeight = "";
	var objId = thisId;		//전역 변수 객체ID값
	var obj = document.getElementById(objId);
	var selectBoxWidth = parseInt(obj.style.width);
	var selectBoxHeight = parseInt(obj.style.height);

	ck_value = s_value;	

	if (obj.options.length > optionMaxNum) optionInnerLayerHeight = "height:"+ (optionHeight * optionMaxNum) + "px";
	newSelect  = "<table id='" + objId + "selectBoxOptionLayer' cellpadding='0' cellspacing='0' border='0' style='position:absolute;z-index:100;display:none;' onMouseOver=\"viewOptionLayer('"+ objId + "')\" onMouseOut=\"setMousePosition('out')\">";
	newSelect += "	<tr>";
	newSelect += "		<td height='" + selectBoxHeight + "' style='cursor:hand;border:0px;' onClick=\"hideOptionLayer('"+ objId + "')\"></td>";
	newSelect += "	</tr>";
	newSelect += "	<tr>";
	newSelect += "		<td height='1' style='border:0px;'></td>";
	newSelect += "	</tr>";
	newSelect += "	<tr>";
	newSelect += "		<td class='"+s_value+"Select' style='border:0px;'>";
	newSelect += "		<div class='"+s_value+"OptionInnerLayer' style='width:" + (selectBoxWidth - 2) + "px;" + optionInnerLayerHeight + "'>";
	newSelect += "		<table cellpadding='0' cellspacing='0' border='0' width='100%' style='table-layout:fixed;word-break:break-all;'>";
	for (var i=0 ; i < obj.options.length ; i++) {
		var nowValue = obj.options[i].value;
		var nowText = obj.options[i].text;
		newSelect += "			<tr>";
		newSelect += "				<td height='" + optionHeight + "' class='"+s_value+"Option' onMouseOver=\"this.className='"+s_value+"OptionOver'\" onMouseOut=\"this.className='"+s_value+"Option'\" onClick=\"selectThisValue('"+ objId + "'," + i + ",'" + nowValue + "','" + nowText + "')\" style='cursor:hand;border:0px;'>" + nowText + "</td>";
		newSelect += "				<input type='hidden' id='"+ objId + "SelectBoxOptionValue" + i + "' value='" + nowValue + "'>";
		newSelect += "			</tr>";
	}
	newSelect += "		</table>";
	newSelect += "		</div>";
	newSelect += "		</td>";
	newSelect += "	</tr>";
	newSelect += "</table>";
	newSelect += "<table cellpadding='0' cellspacing='1' border='0' class='"+s_value+"Select' onClick=\"viewOptionLayer('"+ objId + "')\" style='cursor:hand;'>";
	newSelect += "	<tr>";
	newSelect += "		<td style='border:0px;'>";
	newSelect += "		<table cellpadding='0' cellspacing='0' border='0'>";
	newSelect += "			<tr>";
	
if (navigator.userAgent.match(/MSIE/)) {
	newSelect += "				<td style='border:0px;'><div id='" + objId + "selectBoxSelectedValue' class='"+s_value+"SelectedArea' style='width:" + (selectBoxWidth - downArrowSrcWidth - 4) + "px;height:" + (selectBoxHeight - 2) + "px;overflow:hidden;' onBlur=\"selectBoxBlur('" + objId + "')\"></div></td>";
	newSelect += "				<td style='border:0px;'><img src='" + downArrowSrc + "' width='" + downArrowSrcWidth + "' height='"+optionHeight+"' border='0' /></td>";
} else {	

	newSelect += "				<td style='border:0px;'><div id='" + objId + "selectBoxSelectedValue' class='"+s_value+"SelectedArea' style='width:" + (selectBoxWidth - downArrowSrcWidth - 1) + "px;height:" + (selectBoxHeight - 3) + "px;overflow:hidden;' onBlur=\"selectBoxBlur('" + objId + "')\"></div></td>";	
	newSelect += "				<td style='border:0px;'><img src='" + downArrowSrc + "' width='" + downArrowSrcWidth + "' height='"+optionHeight+"' border='0' /></td>";
}

	newSelect += "			</tr>";
	newSelect += "		</table>";
	newSelect += "		</td>";
	newSelect += "	</tr>";
	newSelect += "</table>";

//document.write(newSelect);
/*	
*/

objtd =eval("document.all."+tdid);
//alert	(newSelect);
objtd.innerHTML=newSelect;

	var haveSelectedValue = false;
	for (var i=0 ; i < obj.options.length ; i++) {
		if (obj.options[i].selected == true) {
			haveSelectedValue = true;
			settingValue(objId,obj.options[i].text);

		}
	}
	if (!haveSelectedValue) {
		settingValue(objId,obj.options[0].text);
		alert	(obj.options[0].text);
	}

}


document.onmousedown = clickMouse;
