/*
# ÇÁ·Î±×·¥¸í  : CuBe Board
# ÆÄÀÏ¸í      : /cube_board/script/select.js
# ÀÛ¼ºÀÚ      : Á¶ÀÏÈ¯
# ÆÄÀÏ³»¿ë    : ·¹ÀÌ¾î ¼¿·ºÆ® Æû ±¸Çö ÀÚ¹Ù½ºÅ©¸³Æ®
# ¹öÀü        : 0.9
# ÃÖÁ¾¼öÁ¤ÀÏ  : 2005.06.14
# Copyright (C) 2003-2004 Cube Board
*/
var UserAgent = navigator.userAgent;
var AppVersion = (((navigator.appVersion.split('; '))[1].split(' '))[1]);

var SListMD = false;
var SListIDX = 0;

var TableCellAttr = " cellpadding=0 cellspacing=0";
var ContourStyle = "border:1px solid #141414;cursor:hand;color:#222222;";
var ItemStyle = "text-indent:1px;cursor:hand;font-size:9pt;height:18px;padding-top:3px;color:#222222;";
var ALTStyle = "'filter:alpha(opacity=70);border:1 solid #141414'";

document.onmousedown = dispList;
SList = new Array();

function setSelectList(pSrc,auto)
{
    this.IDX = SList.length;
    this.src = pSrc;
    this.hideList = true;

    /* SelectList Object */
    this.Table;
    this.Title;
    this.List;
    this.Items;
    this.SelectedItemName;

    this.width;
    this.getWidth = getWidth;

    /* Create SelectList Object Function */
    this.itemObj = createObject;
	if (auto=="auto") {
    	this.ListObj = createSListList2;
    }
	else {
		this.ListObj = createSListList;
	}
	this.TitleObj = createSListTitle;
    this.TableObj = createSList;


    /* Select List Event Handler */
    this.TitleMouseDown = TitleMouseDownEventHandler;
    this.ListMouseOver = ListMouseOverEventHandler;
    this.ListMouseOut = ListMouseOutEventHandler;
    this.ListMouseDown = ListMouseDownEventHandler;

    this.append = appendSList; 
    this.TableObj();

    SList[this.IDX] = this;

    return;
}

function appendSList()
{
    document.write("<div id=TempDiv></div>\n");
    document.all.TempDiv.appendChild(this.Table);
    document.all.TempDiv.removeNode();
    return;
}

function SelectList(htmlSrc,autosubmit)
{
    if ( UserAgent.indexOf("MSIE") < 0 || AppVersion < 5 ) {
		document.write(htmlSrc);
		return;
		if (submitf=='yes') {
			f.submit();
		}
    }
	else { 
		var SListObj = new setSelectList(htmlSrc,autosubmit);
		SListObj.append();
		return SListObj;
    }
}

function createObject(pSrc)
{
    oObj = new Object();
    oObj.Div = document.createElement("DIV");
    oObj.Div.insertAdjacentHTML("afterBegin", pSrc);
    this.Items = oObj.Div.children(0);

    return this.Items;
}

function createSListList()
{
    var ListItem = "";
    var ListLength = this.Items.length;

    for ( i = 0; i < ListLength; i++ ) {
        ListItem += "<DIV id=List idx="+i+" style='"+ItemStyle
	    +"width:"+(this.width+19)+";overflow-x : hidden;' onMouseDown='SList["+this.IDX+"].ListMouseDown(this);'"
	    +" onMouseOver='SList["+this.IDX+"].ListMouseOver(this);'"
	    +" onMouseOut='SList["+this.IDX+"].ListMouseOut(this);'>"
	    +this.Items[i].innerText+"</DIV>";
    }
	if (ListLength<9) {
    this.List = createObject("<DIV style='"+ContourStyle
	+"z-index:1;background:#fdfdfd;position:absolute;visibility:hidden;overflow-x : hidden;'>"
        +ListItem+"</DIV>");
	}
	else {
    this.List = createObject("<DIV style='"+ContourStyle
	+"z-index:1;background:#fdfdfd;position:absolute;visibility:hidden;width:"+(this.width+19)+";height:144px;overflow-y : auto;overflow-x : hidden;'>"
        +ListItem+"</DIV>");
	}
    return;
}

function createSListList2( )
{
    var ListItem = "";
    var ListLength = this.Items.length;
    for ( i = 0; i < ListLength; i++ ) {
        ListItem += "<DIV id=List idx="+i+" style="+ItemStyle
	    +" onMouseDown='SList["+this.IDX+"].ListMouseDown(this);document.search.submit();'"
	    +" onMouseOver='SList["+this.IDX+"].ListMouseOver(this);'"
	    +" onMouseOut='SList["+this.IDX+"].ListMouseOut(this);'>"
	    +this.Items[i].innerText+"</DIV>";
    }

    this.List = createObject("<DIV style='"+ContourStyle
	+"z-index:1;background:#fdfdfd;position:absolute;visibility:hidden;'>"
        +ListItem+"</DIV>");

    return;
}

function createSListTitle()
{
    var MaxLength = 0;
    var width;
    var ListLength = this.Items.length;

    for ( i = 0; i < ListLength; i++ ) {
	if (this.Items.options[i].selected) {
	    this.SelectedItemName = this.Items.options[i].innerText;
	    SelectedItemValue = this.Items.options[i].value;
	}
    }

    this.getWidth();
	//"+this.width+"
    TitleItem = createObject(""
	+"<table height=18 border=0"+TableCellAttr
	+" style='background-color:#fdfdfd;' onMouseDown='SList["+this.IDX+"].TitleMouseDown();'><tr>\n"
	+"<td width="+this.width+" nowrap  height=18 align=center ></td>"
	+"<td width=1 style='display:none;'></td>"
	+"<td width=16 align=right ><img src='"+boardurl+"/images/arrow_downb.gif' border=0 ></td>" // ÀÌ¹ÌÁö ¼öÁ¤
	+"<td width=1 align=right ></td>"
	+"</tr></table>");
    SelectedItemObj = createObject(""
	+"<div style='position:absolute;font-size:9pt;top:3px;left:2px;color:#222222;'>"+this.SelectedItemName
	+"</div>");
    TitleItem.cells(0).appendChild(SelectedItemObj);
    TitleItem.cells(1).appendChild(this.Items);

    this.Title = createObject(""
        +"<DIV style='position:relative;top:0px;left:0px;"+ContourStyle
	+"'>"
        +TitleItem.outerHTML+"</DIV>");

    return;
}

function createSList()
{
    this.itemObj(this.src);
    this.TitleObj();
    this.ListObj();

    this.Table = createObject(""
        +"<table border=0"+TableCellAttr+">" 
	+"<tr><td height=15></td></tr>"
        +"</table>");

    this.Table.cells(0).appendChild(this.Title);
    this.Table.cells(0).appendChild(this.List);

    return;
}

function dispList()
{
    if ( !SListMD ) {
	for ( i = 0; i < SList.length; i++ ) {
	    SList[i].hideList = true; 
	}
    }

    if ( SList.length > 0 ) {
	for ( i = 0; i < SList.length; i++ ) {
	    if ( SList[i].hideList )
		SList[i].List.style.visibility = "hidden";
	    else SList[i].List.style.visibility = "visible";
	}

	SListMD = false;
	SList[SListIDX].Title.children(0).cells(0).childNodes(0).innerText = SList[SListIDX].SelectedItemName;
    }

    return;
}

function TitleMouseDownEventHandler()
{
    if ( this.List.style.visibility == "visible" ) {
	this.List.style.visibility = "hidden";
	this.hideList = true;
    } else { 
	this.List.style.visibility = "visible";
	this.hideList = false;
    }

    for ( i = 0; i < SList.length; i++ )
	if ( i != this.IDX ) SList[i].hideList = true;

    SList[SListIDX].Title.children(0).cells(0).childNodes(0).innerText = SList[SListIDX].SelectedItemName;
    SListMD = true;
    SListIDX = this.IDX;

    return;
}

function ListMouseOverEventHandler(f)
{
    f.style.background = "#5F9BCF";
    f.style.color = "#efefef";

    return;
}

function ListMouseOutEventHandler(f)
{
    f.style.background = "#fdfdfd";
    f.style.color = "#222222";

    return;
}

function ListMouseDownEventHandler(f)
{
    var TChildren = this.Title.children(0).cells;
    var obj_length = this.Items.length;

    for ( i = 0; i < obj_length; i++ ) {
	this.Items.options[i].selected = false;
	if ( i == f.idx ) {
	    this.Items.options[i].selected = true;
	    SI_Name = this.Items.options[i].innerText;
	}
    }

    this.SelectedItemName = SI_Name;
    TChildren(1).childNodes(0).outerHTML = this.Items.outerHTML;

    this.List.style.visibility = "hidden";

    return;
}

function getWidth()
{
    document.all.sl_Div.innerHTML = this.Items.outerHTML;
    this.width = document.all.sl_Div.scrollWidth - 20;

    return;
}

/* Select Guide ALT function */
function SelectGuide_ALT(t, f, e)
{
    if ( UserAgent.indexOf("MSIE") < 0 || AppVersion < 5 ) return;
    else {
	var width;
	var sub_name;
	var sub_url;
	var select_obj = f.u;

	if (select_obj.length) {
	    for ( i = 0; i < select_obj.length; i++ ) {
		if ( select_obj.options[i].selected ) {
		    sub_name = select_obj.options[i].innerText;
		    sub_url = select_obj.options[i].value;
		}
	    }
	} else sub_url = f.u.value;

	if ( sub_url.length >= 70 ) { 
	    sub_url = sub_url.substring(0, 60); 
	    sub_url = sub_url + "...";
	}

	guide = ""
	    +"<table height=18 bgcolor=#FEFFCB"+TableCellAttr
	    +" style="+ALTStyle+"><tr><td style="+ItemStyle+">"
	    +"<font color=black style='font-size:9pt'>"+sub_url+"</font>"
	    +"</td><td width=10 nowrap></td></tr></table>";

	document.all.sl_Div.innerHTML = guide;
	document.all.sl_Div.style.visibility = "visible";
	document.all.sl_Div.style.left = e.x+document.body.scrollLeft;
	document.all.sl_Div.style.top = e.y-10+document.body.scrollTop;
	return;
    }
}

function hideSelectGuide_ALT()
{
    document.all.sl_Div.style.visibility = "hidden";

    return;
}
