
var defaultrollimg      = "../image/xproll.gif";
var defaultimgw         = "17";
var defaultimgh         = "17";
var defaultfgcolor      = "windowtext";
var defaultbgcolor      = "window";
var defaultfgselcolor   = "highlighttext";
var defaultbgselcolor   = "highlight";

var IE = (navigator.userAgent.indexOf('MSIE')>-1) ? true : false;
var FF = (navigator.userAgent.indexOf('Firefox')>-1) ? true : false;
var sbarray = new Array;
if (IE) {
    var defaulttdstyle      = "text-align:left;vertical-align:top;line-height:100%;";
    var defaultouterstyle   = "cursor:default;margin-top:1px;border:solid 1px #CDCDCD;background-color:#FFFFFF;";
    var defaultboxstyle     = "cursor:default;margin-top:1px;border:solid 1px #CDCDCD;background-color:#FFFFFF;overflow-x:hidden;overflow-y:auto;scrollbar-face-color:#FFFFFF;scrollbar-shadow-color:#CDCDCD;scrollbar-highlight-color:#CDCDCD;scrollbar-3dlight-color:#ffffff;scrollbar-darkshadow-color:#ffffff;scrollbar-track-color:#ffffff;scrollbar-arrow-color:#ffffff;";
    var defaultcaptionstyle = "cursor:default;font-family:±¼¸²;font-size:9pt;overflow:hidden;padding:4px 0px 0px 0px;";
    var defaultitemstyle    = "cursor:default;font-family:±¼¸²;font-size:9pt;overflow:hidden;padding:3px 0px 0px 0px;";
} else {
    var defaulttdstyle      = "text-align:left;vertical-align:top;line-height:100%;";
    var defaultouterstyle   = "cursor:default;border:solid 1px #CDCDCD; background-color:#FFFFFF;";
    var defaultboxstyle     = "cursor:default;margin-top:1px;border:solid 1px #CDCDCD;background-color:#FFFFFF;overflow-x:hidden;overflow-y:auto;";
    var defaultcaptionstyle = "cursor:default;font-family:±¼¸²;font-size:9pt;overflow:hidden;height:17px;vertical-align:middle;";
    var defaultitemstyle    = "cursor:default;font-family:±¼¸²;font-size:9pt;overflow:hidden;height:15px;vertical-align:middle;";
}

var changeFlag = "";
var changeActn = "";

function jayjayLoadSelectBox() {
    for (var i=0;i<document.forms.length;i++) {
        for (var j=0;j<document.forms[i].length;j++) {
            var control = document.forms[i][j];
            if (control.type=="select-one" && control.getAttribute("USELAYER") && control.getAttribute("NAME")) {
                control.style.display = "none";
                jayjayAddSelectBox(control.getAttribute("USELAYER"),"document.forms["+i+"]."+control.getAttribute("NAME"));
            }
        }
    }
    for (var i=0;i<sbarray.length;i++) {
        jayjayLoadObject(i);
    }
}

function jayjayReloadSelect() {
    for (var i=0;i<sbarray.length;i++) {
        jayjayLoadObject(i);
    }
}

function jayjayAddSelectBox(sboxtext, sseltext) {
    sbarray[sbarray.length] = new Array(sboxtext, sseltext);
}

function jayjayGetProperties(objindex) {
    var properties = new Array();
    properties["sboxtext"] = sbarray[objindex][0];
    properties["sseltext"] = sbarray[objindex][1];
    return properties;
}

function jayjayLoadObject(objindex) {
    var sboxdata = "";
    var property = jayjayGetProperties(objindex);
    eval("var ssel = "+property["sseltext"]+";");
    var sbox = property["sboxtext"]; 
    var sbwidth = ssel.getAttribute("width");
    var selectedindex = (ssel.selectedIndex < 0 ? 0 : ssel.selectedIndex);
    var innertext = ssel.options[selectedindex].text;
    var sselname = ssel.getAttribute("name");
    var captionwidth = (sbwidth - defaultimgw) - 2;
    var captionheight = defaultimgh;
    sboxdata += "<table width="+sbwidth+" border=0 cellpadding=0 cellspacing=0";
    sboxdata += "       style='"+defaultouterstyle+"'";
    sboxdata += "       onselectstart='return false;'";
    sboxdata += "       onclick='jayjayClickButton("+objindex+");'";
    sboxdata += "       ondblclick='jayjayClickButton("+objindex+");'>";
    sboxdata += "<tr>";
    sboxdata += "<td style='vertical-align:top;line-height:100%;'>";
    sboxdata += "<div jayjaySelectBox='true'";
    sboxdata += "     id='"+sselname+"_caption'";
    sboxdata += "     style='width:"+captionwidth+";";
    sboxdata += "            height:"+captionheight+";";
    sboxdata += "          "+defaultcaptionstyle+"'></div>";
    sboxdata += "</td>";
    sboxdata += "<td style='vertical-align:top;line-height:100%;'><img jayjaySelectBox='true' src='"+defaultrollimg+"' name='"+property["sboxtext"]+"button' width='"+defaultimgw+"' height='"+defaultimgh+"' style='cursor:pointer;'></td>";
    sboxdata += "</tr>";
    sboxdata += "</table>";
    sboxdata += "<table width="+sbwidth+" border=0 cellpadding=0 cellspacing=0>";
    sboxdata += "<tr>";
    sboxdata += "<td style='"+defaulttdstyle+"'>";
    sboxdata += "<div id='"+property["sboxtext"]+"_layer'";
    sboxdata += "     style='position:absolute;";
    sboxdata += "            display:none;";
    sboxdata += "          "+defaultboxstyle+"'></div>";
    sboxdata += "</td>";
    sboxdata += "</tr>";
    sboxdata += "</table>";
    document.getElementById(sbox).innerHTML = sboxdata;
    jayjaySetCaption(objindex,innertext);
    jayjaySetItems(objindex);
}

function jayjaySetItems(objindex) {
    var sboxlayerdata = "";
    var property = jayjayGetProperties(objindex);
    eval("var ssel = "+property["sseltext"]+";");
    var sboxlayer = property["sboxtext"]+"_layer"; 
    var itemlength = ssel.length;
    if (FF) {
        var sbwidth = parseInt(ssel.getAttribute("width")) - 2;
    } else {
        var sbwidth = ssel.getAttribute("width");
    }
    for (var i=0;i<itemlength;i++) {
        sboxlayerdata += "<table width=100% border=0 cellpadding=0 cellspacing=0";
        sboxlayerdata += "       id='"+property["sboxtext"]+"_layer_item"+i+"'";
        if (ssel.selectedIndex==i) {
            sboxlayerdata += "   style='background-color:"+defaultbgselcolor+"; color:"+defaultfgselcolor+";'";
        } else {
            sboxlayerdata += "   style='background-color:"+defaultbgcolor+"; color:"+defaultfgcolor+";'";
        }
        sboxlayerdata += "       onclick='jayjaySelectItem("+objindex+", "+i+");'";
        sboxlayerdata += "       onmouseover='jayjayMouseOverItem("+objindex+", "+i+");'";
        sboxlayerdata += "       onselectstart='return false;'>";
        sboxlayerdata += "<tr>";
        sboxlayerdata += "<td style='"+defaulttdstyle+defaultitemstyle+"'><nobr>&nbsp;"+ssel.options[i].text+"</nobr></td>";
        sboxlayerdata += "</tr>";
        sboxlayerdata += "</table>";
    }
    document.getElementById(sboxlayer).style.width = sbwidth;
    if (itemlength>10) {
        document.getElementById(sboxlayer).style.height = 152;
    }
    document.getElementById(sboxlayer).innerHTML = sboxlayerdata;
}

function jayjayMouseOverItem(objindex, itemindex) {
    var property = jayjayGetProperties(objindex);
    eval("var howmany = "+property["sseltext"]+".length;");
    for (var i=0;i<howmany;i++) {
        var layeritem = property["sboxtext"]+"_layer_item"+i;
        document.getElementById(layeritem).style.backgroundColor = defaultbgcolor;
        document.getElementById(layeritem).style.color = defaultfgcolor;
    }
    var layeritem = property["sboxtext"]+"_layer_item"+itemindex;
    document.getElementById(layeritem).style.backgroundColor = defaultbgselcolor;
    document.getElementById(layeritem).style.color = defaultfgselcolor;
}

function jayjayClickButton(objindex) {
    var property = jayjayGetProperties(objindex);
    eval("var ssel = "+property["sseltext"]+";");
    var sboxlayer = property["sboxtext"]+"_layer";
    eval("var sselcaption = "+property["sseltext"]+"_caption;");
    eval("var sselbutton = document."+property["sboxtext"]+"button;");
    if (document.getElementById(sboxlayer).style.display!="block") {
        jayjayCloseSelectBox();
        document.getElementById(sboxlayer).style.display = "block";
        jayjayMouseOverItem(objindex, ssel.selectedIndex);
    } else {
        document.getElementById(sboxlayer).style.display = "none";
    }
}

function jayjayCloseSelectBox() {
    for (var i = 0; i < sbarray.length; i++) {
        var property = jayjayGetProperties(i);
        var sboxlayer = property["sboxtext"]+"_layer";
        eval("var sselbutton = document."+property["sboxtext"]+"button;");
        if (document.getElementById(sboxlayer).style.display=="block") {
            document.getElementById(sboxlayer).style.display = "none";
        }
    }
}

function jayjaySelectItem(objindex, index) {
    var property = jayjayGetProperties(objindex);
    eval("var ssel = "+property["sseltext"]+";");
    var sbox = property["sboxtext"];
    if (ssel.selectedIndex!=index) {
        changeFlag = "yes";
        changeActn = ssel.getAttribute("onchangeaction");
    }
    ssel.selectedIndex = index;
    jayjayClickButton(objindex);
    jayjaySetCaption(objindex, ssel.options[ssel.selectedIndex].text);
}

function jayjaySetCaption(objindex, text) {
    var property = jayjayGetProperties(objindex);
    eval("var ssel = "+property["sseltext"]+";");
    var sselname = ssel.getAttribute("name");
    var sselcaption = sselname+"_caption";
    document.getElementById(sselcaption).innerHTML = "<nobr jayjaySelectBox='true'>&nbsp;"+text+"</nobr>";
    if (changeFlag=="yes") {
        if (changeActn!=null && changeActn!="") {
            eval(changeActn);
        }
        changeActn = null;
        changeFlag = "";
    }
}
