
var objArray	= new Array();	// °¢ °³Ã¼ÀÇ Æ¯¼ºÀ» ´ã±âÀ§ÇØ ÇØ´ç Å°°³Ã¼¸¦ ¹è¿­¿¡ ´ã´Â´Ù. (Å°·Î »ç¿ëÇÏ±â À§ÇÔ)
var prevValue	= new Array();	// ÀÌÀü¼¿·ºÆ®°ª ÀúÀå
var statusLayer	= new Array();	// °¢ °³Ã¼ÀÇ ·¹ÀÌ¾îÀÇ ¸¶¿ì½º ¿À¹ö»óÅÂ°ª ÀúÀå
var statusCheck	= new Array();	// °¢ Ã¼Å©¹Ú½ºÀÇ ¸¶¿ì½º ¿À¹ö»óÅÂ°ª ÀúÀå

// ³Ñ¾î¿Â Å° °ªÀ» ¹è¿­¿¡ ÀúÀå( Å° : ¸ñÀû°´Ã¼ )
function objCheck(strObj) {
	var bool = false;
	for (var i=0; i<objArray.length; i++) {
		if (objArray[i] == strObj) {
			bool = true;
		}
	}
	return bool;
}

// ³Ñ¾î¿Â Å°°ª ÀÎµ¦½º ¾Ë¾Æ³»±â
function objIndex(strObj) {
	for (var i=0; i<objArray.length; i++) {
		if (objArray[i] == strObj) {
			return i;
		}
	}
}

function MultiSelectBox( strObj, intWid, intHei ) {

	if (intHei == null) intHei = 0;
	
	if ($(strObj+'.span') == null) {
		
		var Parent = $(strObj).parentNode;

		if (!objCheck(strObj))
		{
			objArray[objArray.length]		= strObj;
			prevValue[objArray.length]		= '0';
			statusLayer[objArray.length]	= '';
			statusCheck[objArray.length]	= '';
		}
		
		var obj_select	= $(strObj); // º¯°æÇÒ ¼¿·ºÆ® ¹Ú½º
		var obj_span	= document.createElement("SPAN");
		obj_span.id		= strObj+'.span';

		Parent.appendChild(obj_span);
		
		var objImg, objDiv, objIframe;
		
		// ¹Ú½ºÀÇ ¼¼·ÎÅ©±â¸¦ ÁöÁ¤ÇßÀ» °æ¿ì
		if (intHei == 0)
		{
			var objTable_0;
			var objTable_1;
			var objTable_2;

			var objTableTbody_0;
			var objTableTbody_1;
			var objTableTbody_2;
			
			var objTableRow_0;
			var	objTableRow_1;
			var	objTableRow_2;

			var objTableCell_0;
			var	objTableCell_1;
			var	objTableCell_2;

				
			// Ã¹¹øÂ° Å×ÀÌºí »ý¼º
			objTable_0 = document.createElement("TABLE");
			objTable_0.width  = intWid;
			objTable_0.cellSpacing = 0;
			objTable_0.cellPadding = 0;

			objTableTbody_0 = document.createElement("TBODY");
			objTable_0.appendChild(objTableTbody_0);
			
			objTableRow_0	 = document.createElement("TR");
			objTableTbody_0.appendChild(objTableRow_0);
			
			objTableCell_0 = document.createElement("TD");
			objTableRow_0.appendChild(objTableCell_0);

				// µÎ¹øÂ° Å×ÀÌºí »ý¼º
				objTable_1 = document.createElement("TABLE");
				objTable_1.width  = intWid;
				objTable_1.cellSpacing = 1;
				objTable_1.cellPadding = 0;
				objTable_1.bgColor = "7F9DB9";
				
				objTableCell_0.appendChild(objTable_1)

				objTableTbody_1 = document.createElement("TBODY");
				objTable_1.appendChild(objTableTbody_1);
			
				objTableRow_1 = document.createElement("TR");
				objTableTbody_1.appendChild(objTableRow_1);

				objTableCell_1 = document.createElement("TD");
				objTableCell_1.bgColor = "#FFFFFF";
				objTableCell_1.setAttribute("onmouseover", function () { MultiSelectIconDisplay(1, strObj);mouse_anchor_layer(objIndex(strObj), 1) } );
				objTableCell_1.setAttribute("onmouseout",  function () { MultiSelectIconDisplay(2, strObj);mouse_anchor_layer(objIndex(strObj), 0) } );
				objTableCell_1.setAttribute("onmousedown", function () { MultiSelectIconDisplay(3, strObj) } );
				objTableCell_1.setAttribute("onmouseup",   function () { MultiSelectIconDisplay(1, strObj) } );

				objTableRow_1.appendChild(objTableCell_1);

					// ¼¼¹øÂ° Å×ÀÌºí »ý¼º
					objTable_2 = document.createElement("TABLE");
					objTable_2.width  = "100%";
					objTable_2.cellSpacing = 0;
					objTable_2.cellPadding = 0;
					
					objTableCell_1.appendChild(objTable_2)

					objTableTbody_2 = document.createElement("TBODY");
					objTable_2.appendChild(objTableTbody_2);
			
					objTableRow_2 = document.createElement("TR");
					objTableTbody_2.appendChild(objTableRow_2);

					objTableCell_2 = document.createElement("TD");
					objTableCell_2.id = strObj+".default";
					objTableCell_2.style.padding = "0 0 0 5px";
					objTableCell_2.style.cursor  = "pointer";
					objTableCell_2.setAttribute("onmousedown", function() { MultiSelectBoxOnClick(strObj, intWid, 0) } );
					objTableCell_2.appendChild(document.createTextNode((obj_select.length==0)?obj_select.text:obj_select.options[0].text));

					objTableRow_2.appendChild(objTableCell_2);

					objTableCell_2 = document.createElement("TD");
					objTableCell_2.width = 17;

						// ÀÌ¹ÌÁö »ý¼º
						objImg		= document.createElement("IMG");
						objImg.id	= strObj + ".img";
						objImg.src	= "/images/btn/sh_icon.gif";
						objImg.border = "0";
						objImg.setAttribute("onmousedown", function () { MultiSelectBoxOnClick(strObj, intWid, 0) } );

						// ÀÌ¹ÌÁö td¿¡ »ðÀÔ
						objTableCell_2.appendChild(objImg);

					// td¸¦ tr¿¡ ÀúÀå
					objTableRow_2.appendChild(objTableCell_2);

			objTableRow_0  = document.createElement("TR");
			objTableTbody_0.appendChild(objTableRow_0);
			
			objTableCell_0 = document.createElement("TD");
			objTableRow_0.appendChild(objTableCell_0);
			
			// Div °´Ã¼ »ý¼º
			objDiv = document.createElement("DIV");
			objDiv.id = strObj + ".div";
			objDiv.style.position	= "absolute";
			objDiv.style.display	= "none";
			objDiv.style.width		= intWid + "px";
			objDiv.style.zIndex		= "500";
			objDiv.setAttribute("onmouseover", function() { mouse_anchor_layer(objIndex(strObj), 1) } );
			objDiv.setAttribute("onmouseout",  function() { mouse_anchor_layer(objIndex(strObj), 0) } );

			objTableCell_0.appendChild(objDiv);

			// iframe °´Ã¼ »ý¼º
			objIframe = document.createElement("IFRAME");
			objIframe.id = strObj + ".iframe";
			objIframe.frameborder = "0";
			objIframe.style.position= "absolute";
			objIframe.style.display	= "none";
			objIframe.style.width	= intWid + "px";
			objIframe.style.zIndex	= "200";
			objIframe.style.border	= "0";


			objTableCell_0.appendChild(objIframe);

			obj_span.appendChild(objTable_0);
		}
		else {
			// Div °´Ã¼ »ý¼º
			objDiv = document.createElement("DIV");
			objDiv.id = strObj + ".div";
			objDiv.style.position	= "relative";
			objDiv.style.display	= "";
			objDiv.style.width		= intWid + "px";
			objDiv.style.height		= intHei + "px";
			objDiv.style.zIndex		= "500";
			objDiv.style.overflowX	= "hidden"
			objDiv.style.overflowY	= "scroll"
			objDiv.style.border		= "1px solid #7F9DB9";

			obj_span.appendChild(objDiv);
		}
		
		// º»·¡ÀÇ °´Ã¼ ¼û±è.
		obj_select.style.display = 'none';
	}

	MultiSelectBoxOnClick(strObj, intWid, intHei, 'N');

	if (intHei == 0)
	{
		MouseOnBoardClick(strObj);
	}
}

function MultiSelectIconDisplay(step, strObj) { // ¼¿·ºÆ®¹Ú½º ¾È³»¾ÆÀÌÄÜ ¸ð¾ç
	switch (step)
	{
		case 1 : $(strObj+'.img').src = '/images/GI/select_mouse_on.gif'; break;	// ¿À¹ö
		case 2 : $(strObj+'.img').src = '/images/btn/sh_icon.gif'; break;	// ¾Æ¿ô
		case 3 : $(strObj+'.img').src = '/images/GI/select_mouse_down.gif'; break;	// ´Ù¿î
		default : $(strObj+'.img').src = '/images/btn/sh_icon.gif'; break;
	}
}

function MultiSelectBoxOnClick(strObj, intWid, intHei, bool) {
	
	var obj_select = $(strObj);

	var nowValue = '';
	for (var i=0; i<obj_select.length; i++) { // ÇöÀç ¼¿·ºÆ®¹Ú½º·Î ±¸ºÐÇÒ¼ö ÀÖ´Â °ªÀ» ¸¸µç´Ù.
		nowValue += obj_select.options[i].value;
	}
	
	if (prevValue[objIndex(strObj)] != nowValue) { // ÀÌÀü¿¡ ¼¿·ºÆ®¹Ú½º·Î ¸¸µç ±¸ºÐ°ª°ú ÇöÀç°ªÀ» ºñ±³ÇÑ´Ù.

		var html = '';

		html += '<table width="'+intWid+'" cellspacing="0" cellpadding="0">';
		html += '	<tr>';
		html += (intHei==0?'<td width="1" bgcolor="7F9DB9"></td>':'');
		html += '		<td align="center" bgcolor="#FFFFFF">';
		html += '			<table width="'+(intWid-2)+'" cellspacing="0" cellpadding="0" id="'+strObj+'.table">';
		
			
		var val = '';
		for (i=0; i<obj_select.length; i++)
		{
			val = obj_select.options[i].value;

			if (obj_select.options[i].text != '') {
				
				html += '<tr>';
				html += '	<td id="'+strObj+'XP.'+i+'" onMouseOver="MouseOnBoardClear(\''+strObj+'\');MouseOnBoard(this, true, \'3169C6\', \'FFFFFF\')" onMouseOut="MouseOnBoard(this, false);MouseOnBoardClear(\''+strObj+'\')" onClick="MouseOnBoardClick(\''+strObj+'\', \''+val+'\');checkbox_reset(\''+strObj+'\')" align="left" style="padding:'+((val=='')?'5px 0 0 5px':'0 0 0 1')+'">';
				html += '		<input name="'+strObj+'.checkbox" type="checkbox" value="'+val+'" onMouseOver="mouse_anchor_check(objIndex(\''+strObj+'\'), 1);" onMouseOut="mouse_anchor_check(objIndex(\''+strObj+'\'), 0);" onClick="checkbox_reset(\''+strObj+'\')" style="display:'+((val=='')?'none':'')+'" '+((obj_select.options[i].selected)?'checked':'')+'>';
				html +=  obj_select.options[i].text;
				html +=	'	</td>';
				html += '</tr>';
			}
		}
		
		html += '			</table></td>';
		html += (intHei==0?'<td width="1" bgcolor="7F9DB9"></td>':'');
		html += '	</tr>';
		html += (intHei==0?'<tr><td bgcolor="7F9DB9" height="1" colspan="3"></td></tr>':'');
		html += '</table>';

		$(strObj+'.div').innerHTML = html;

		/*
		// ÀÌÀü¿¡ »ý¼ºµÈ °³Ã¼°¡ ÀÖ´Ù¸é »èÁ¦ÇÑ´Ù.
		if ($(strObj+".Tbody") != null) {
			$(strObj+".Tbody").removeNode(true);
		}

		var objTableTbody;
		var objTableRow;
		var objTableCell;
		var objInput;
		
		objTableTbody = document.createElement("TBODY")
		objTableTbody.id = strObj+'.Tbody';
		
		$(strObj+".table").appendChild(objTableTbody);

		var val = '';
		for (i=0; i<obj_select.length; i++)
		{
			val = obj_select.options[i].value;

			if (obj_select.options[i].text != '') {
				
				objTableRow = document.createElement("TR");
				objTableTbody.appendChild(objTableRow);

				objTableCell = document.createElement("TD");
				objTableCell.id = strObj+'XP.'+i;
				objTableCell.align = 'left';
				objTableCell.style.padding = (val=='')?'5px 0 0 5px':'0 0 0 1';
				objTableCell.setAttribute("onmouseover", function () { MouseOnBoard(this, true, '3169C6', 'FFFFFF');MouseOnBoardClear(strObj) } );
				objTableCell.setAttribute("onmouseout",  function () { MouseOnBoard(this, false);MouseOnBoardClear(strObj) } );
				objTableCell.setAttribute("onclick",	 function () { MouseOnBoardClick(strObj, val);checkbox_reset(strObj) } );

				objTableRow.appendChild(objTableCell)

					objInput = document.createElement("INPUT")
					objInput.id = strObj+'.checkbox';
					objInput.name = strObj+'.checkbox';
					objInput.type = "checkbox";
					objInput.value = val;
					objInput.setAttribute("onmouseover", function () { mouse_anchor_check(objIndex(strObj), 1) } );
					objInput.setAttribute("onmouseout",  function () { mouse_anchor_check(objIndex(strObj), 0) } );
					objInput.setAttribute("onclick",     function () { checkbox_reset(strObj) } );
					objInput.style.display = (val=='')?'none':'';
					objInput.checked = (obj_select.options[i].selected)?true:false;

					objTableCell.appendChild(objInput);
					objTableCell.appendChild(document.createTextNode(obj_select.options[i].text));
			}
		}
		*/

		if (val == '') {
			prevValue[objIndex(strObj)] = '0'
		}
		else {
			prevValue[objIndex(strObj)] = nowValue;
		}
	}
	
	if (bool != 'N')
	{
		$(strObj+'.div').style.display = ($(strObj+'.div').style.display=='')?'none':'';
		if ($(strObj+'.iframe') != null)
		{
			$(strObj+'.iframe').style.height = $(strObj+'.div').offsetHeight;
			$(strObj+'.iframe').style.display = ($(strObj+'.iframe').style.display=='')?'none':'';
		}
	}

	
	var obj_checkbox = document.getElementsByName(strObj+'.checkbox')
	if (typeof obj_checkbox.length != 'undefined') {
		
		var cnt = 0;
		for (i=0; i<obj_checkbox.length; i++) {
			if (obj_checkbox[i].checked) {
				MouseOnBoard($(strObj+'XP.'+i), true, '#3169C6', '#FFFFFF');
				cnt++;
			}
		}

		if (cnt == 0) {
			if (intHei == 0) { // ¼¼·Î°ªÀÌ ÁöÁ¤ÀÌ ¾ÈµÇ¾ú´Ù¸é ½ÇÇàÇÑ´Ù.
				for (i=0; i<obj_select.length; i++) {
					if (obj_select.options[i].text == $(strObj+'.default').outerText.trim()) {
						MouseOnBoard($(strObj+'XP.'+i), true, '#3169C6', '#FFFFFF');
						break;
					}
				}
			}
		}
	}
	else {
		for (i=0; i<obj_select.length; i++)
		{
			if (obj_select.options[i].text == $(strObj+'.default').outerText.trim()) {
				MouseOnBoard($(strObj+'XP.'+i), true, '#3169C6', '#FFFFFF');
				break;
			}
		}
	}
}

function MouseOnBoardClear(strObj){ // ·¹ÀÌ¾î ¹è°æ»ö»ó ÃÊ±âÈ­

	var objTable = $(strObj+'.table');
	var objCells;
	var objCheck;

	for (var i=0; i<objTable.rows.length; i++)
	{
		objCells = objTable.rows[i].cells[0]
		if (typeof document.getElementsByName(strObj+'.checkbox').length == 'undefined')
			objCheck = $(strObj+'.checkbox');
		else
			objCheck = document.getElementsByName(strObj+'.checkbox')[i];
		
		if (objCheck.checked) {

			objCells.style.backgroundColor = "#3169c6";
			objCells.style.color = "#FFFFFF";
		}
		else {
  
			if (objCells.style.backgroundColor == '#3169c6') {
				objCells.style.backgroundColor = "#FFFFFF";
				objCells.style.color = "4A494A";
			}
		}
	}
}

function MouseOnBoardClick(strObj, strValue) {
	
	// Ã¼Å©¹Ú½º ÀÚµ¿Ã¼Å©
	var cnt = 0;
	var obj_checkbox = document.getElementsByName(strObj+'.checkbox');
	for (var i=0; i<obj_checkbox.length; i++)
	{
		// ¸¶¿ì½º°¡ Ã¼Å©¹Ú½º À§¿¡ ¾ø´Ù¸é...
		if (statusCheck[objIndex(strObj)] != 1)
		{
			if (obj_checkbox[i].value == strValue) {
				if (obj_checkbox[i].checked == true) {
					obj_checkbox[i].checked = false;
				}
				else
					obj_checkbox[i].checked = true;
			}
		}
		if (obj_checkbox[i].checked) {
			cnt++;
		}
	}
	
	if ($(strObj+'.default') != null)
	{
		// ±âº»°ªÀ» ¼±ÅÃµÈ °ªÀ¸·Î º¯°æ
		if (cnt == 0) { // ¼±ÅÃµÈ°Ô ¾ø´Ù¸é ÃÊ±âÈ­ ÇÑ´Ù.
				$(strObj+'.default').innerHTML = $(strObj).options[0].text;
		}
		else if (cnt == 1) { // ´ÜÀÏ¼±ÅÃÀÌ¶ó¸é...
			for (var i=0; i<$(strObj+'.table').rows.length; i++) {
				if (obj_checkbox[i].checked) {
					$(strObj+'.default').innerHTML = $(strObj+'.table').rows[i].cells[0].outerText;
					break;
				}
			}
		}
		else { // ´ÙÁß¼±ÅÃÀÌ¶ó¸é...
			$(strObj+'.default').innerHTML = '<b>´ÙÁß ¼±ÅÃµÊ</b>('+cnt+')';
		}
	}
}

function checkbox_reset(strObj) {
	var obj_checkbox = document.getElementsByName(strObj+'.checkbox')
	for (var i=0; i<obj_checkbox.length; i++) {
		if (obj_checkbox[i].style.display == 'none' && obj_checkbox[i].checked) {
			for (var j=0; j<obj_checkbox.length; j++) {
				obj_checkbox[j].checked = false;
			}
			if ($(strObj+'.default') != null)
			{
				$(strObj+'.default').innerHTML = $(strObj).options[0].text;
				$(strObj+'.div').style.display = "none";
				$(strObj+'.iframe').style.display = "none";
			}
			break;
		}
	}
}

function mouse_anchor_layer(key, type){ //¸¶¿ì½ºÀÇ À§Ä¡¿¡ µû¸¥ ÆË¾÷ÀÇ ´ÝÀ½À» °áÁ¤(·¹ÀÌ¾î)
	statusLayer[key] = type;
}
function mouse_anchor_check(key, type){ //¸¶¿ì½ºÀÇ À§Ä¡¿¡ µû¸¥ ÆË¾÷ÀÇ ´ÝÀ½À» °áÁ¤(Ã¼Å©¹Ú½º)
	statusCheck[key] = type;
}

//function window::onload() {
//	document.body.attachEvent("onmousedown", Layer_Off);
//}
