﻿//通用一级分类单选对象
function singleSelectObject(objKey,strShowId,strTypeId,data,typename,cols){
	var key = objKey;
	var div = null;
	var ctrShow = corefunc.$(strShowId);
	var ctrId = corefunc.$(strTypeId);
	var values = [parseInt(ctrId.value),""];
	var arrData = data;
	var typename = typename;
	var columns = 5;
	if(typeof(cols)!="undefined" && cols>0)columns = cols;
	
	if(isNaN(values[0])){
	    id = 0;
	}
    var setShowText = function(){
        var showText = values[1];
        if(showText.length>0){
            if(ctrShow.tagName.toLowerCase()=="input"){
                ctrShow.title = showText;
                if(corefunc.byteLength(showText)>28){
                    showText = corefunc.leftByte(showText,26) + "...";
                }
                ctrShow.value = showText;
            }else{
                ctrShow.innerHTML = showText;
            }
        }else{
            if(ctrShow.tagName.toLowerCase()=="input"){
                ctrShow.title = "未设置";
                ctrShow.value = "请选择";
            }else{
                ctrShow.innerHTML = "";
            }
        }
    }
    
    this.doCancel = function(){
        if(div!=null)div.style.display="none";
        globalMaskDiv.hide();
    }
    this.doOK = function(id,name){
        values[0] = id;
        values[1] = name;
        ctrId.value = values[0];
        setShowText();
        this.doCancel();
    }
	this.popDiv = function(){
        globalMaskDiv.show();
        if(div==null){
            div = document.createElement("DIV");
            div.className = "popDiv";
            div.style.zIndex = globalMaskDiv.zIndex+1;
            var html = "<table cellpadding=\"3\" cellspacing=\"0\" border=\"0\">";
            if(columns>1){
                html+="<tr class=\"opbar\"><td colspan=\""+(columns-1)+"\" class=\"title\">选择"+typename+"</td><td><span class=\"pointer\" onclick=\"javascript:singleSelect.clients['"+ objKey +"'].doCancel();\">取消</span></td></tr>";
            }else{
                html+="<tr class=\"opbar\"><td><table border=\"0\" width=\"100%\"><tr><td class=\"title\">选择"+typename+"</td><td>&nbsp;&nbsp;<span class=\"pointer\" onclick=\"javascript:singleSelect.clients['"+ objKey +"'].doCancel();\">取消</span></td></tr></table></td></tr>";
            }
            html+="<tr>";
            var j=0;
            for(var idx=0;idx<arrData.length;idx++){
                html += "<td><span class=\"pointer\" onclick=\"javascript:singleSelect.clients['"+objKey+"'].doOK("+arrData[idx][0]+",'"+arrData[idx][1]+"');\">"+arrData[idx][1]+"</span></td>";
                j++;
                if(j % columns ==0)html+="</tr><tr>";
            }
            html += "</tr></table>";
            div.innerHTML = html;
            if(corefunc.isIE()){
                document.body.appendChild(div);
            }else{
                document.documentElement.appendChild(div);
            }
        }
        div.style.display = "";
        corefunc.moveCenter(div);
	}

	var init = function(){
        if(values[0]>0){	
	        for(var idx=0;idx<arrData.length;idx++){
	            if(arrData[idx][0]==values[0]){
	                values[1] = arrData[idx][1];
	                break;
	            }
	        }
	    }
	    setShowText();
	}
	init();
}
//一级分类单选
var singleSelect = {
    clients:new Array(),
    add:function(objKey,strShowId,strTypeId,data,typename,cols){
        var obj = new singleSelectObject(objKey,strShowId,strTypeId,data,typename,cols);
        singleSelect.clients[objKey] = obj;
    },
    show:function(key){
        singleSelect.clients[key].popDiv();
    }
}
