﻿function getRoute(dic,value,mode){
	var strRoute,intDepth=-1;
	for(var i=dic.length-1;i>-1;i--){
		if(intDepth>-1){
			if(intDepth==0)	return(strRoute);
			if(dic[i][0]<intDepth){
				strRoute=i+","+strRoute;
				intDepth--;
			}
		}else{
			if(dic[i][mode]==value){
				strRoute=i.toString();
				intDepth=dic[i][0];
			}
		}
	}
	return(strRoute);
}
function getRoutes(dic,route,mode){
	var strRoute="",depth=0;
	var arrRoute=route.split(",");
	var intDepth=arrRoute.length-1;
	for(var i=0;i<dic.length;i++){
		if(dic[i][mode]==arrRoute[depth]){
			if(strRoute)strRoute+=","+i;
			else strRoute=i.toString();
			if(depth==intDepth)return(strRoute);
			else depth++;
		}
	}
	return(strRoute);
}
function drawSelect(obj,dicName){
	var argv=drawSelect.arguments;
	var argc=drawSelect.arguments.length;
	var mode=(argc>2)?argv[2]:0;
	var name=(argc>3)?argv[3]:"";
	var value=(argc>4)?argv[4]:"";
	var disa=(argc>5)?argv[5]:false;//Insert by WangJun 2008.09.02
	var call=(argc>6)?argv[6]:null;//Insert by WangJun 2008.10.21
	var tips=(argc>7)?argv[7]:"";
	var prop=(argc>8)?argv[8]:"";

	var dic=eval(dicName),objValue="";
	switch(mode){
		case 0:value=getRoute(dic,value,2);mode=5;break;
		case 1:value=getRoutes(dic,value,1);mode=6;break;
		case 2:value=getRoute(dic,value,1);mode=7;break;
		case 3:value=getRoutes(dic,value,2);mode=8;break;
	}
	var strRoute="",arrRoute=new Array();
	if(value)arrRoute=value.split(",");
	var strHtml="",arrHtml=new Array();
	var intDepth,strTitle,strValue,j,selDepth=0;
	for(var i=0;i<dic.length;i++){
		intDepth=dic[i][0];strTitle=dic[i][1];strValue=dic[i][2];
		if(intDepth==selDepth){
			if(arrHtml[selDepth]==null){
				arrHtml[selDepth]="<select"+(disa?" disabled=\"disabled\"":"")+" name=\""+name+"__2__\" id=\""+name+"__2__\" onchange={drawSelect(this.parentNode,\""+dicName+"\","+mode+",\""+name+"\",this.value,"+disa+",\""+call+"\",\""+tips+"\",\""+prop+"\")} "+prop+">";
				if(tips){
					if(selDepth)arrHtml[selDepth]+="<option value=\""+strRoute+"\">"+tips+"</option>";
					else arrHtml[selDepth]+="<option value=\"\">"+tips+"</option>";
					if(arrRoute[selDepth]==null)arrRoute[selDepth]=-1;
				}else if(arrRoute[selDepth]==null)arrRoute[selDepth]=i;
			}
			if(i==arrRoute[selDepth]){
				arrHtml[selDepth]+="<option value=\""+strRoute+i.toString()+"\" selected=\"selected\">"+strTitle+"</option>";
				selDepth++;
				strRoute+=i.toString()+",";
				switch(mode){
					case 5:objValue=strValue;break;
					case 6:if(objValue)objValue+=","+strTitle;else objValue=strTitle;break;
					case 7:objValue=strTitle;break;
					case 8:if(objValue)objValue+=","+strValue;else objValue=strValue;break;
				}
			}else{
				arrHtml[selDepth]+="<option value=\""+strRoute+i.toString()+"\">"+strTitle+"</option>";
			}
		}else if(intDepth<selDepth){
			selDepth=intDepth;
			strRoute="";
			for(j=0;j<selDepth;j++)strRoute+=arrRoute[j]+",";
			arrHtml[selDepth]+="<option value=\""+strRoute+i.toString()+"\">"+strTitle+"</option>";
		}
	}
	for(i=0;i<arrHtml.length;i++){
		strHtml+=arrHtml[i]+"</select>";
	}
	strHtml+="<input type=\"hidden\" value=\""+objValue+"\" name=\""+name+"\" id=\""+name+"\">";
	//if(obj==null)document.write("<span>"+strHtml+"</span>");
	if(obj==null)document.write("<label>"+strHtml+"</label>"); else obj.innerHTML = strHtml;
	try{if( call ) eval(call);}catch(e){}
}
function toolSelect(arr,id,str){
	if( typeof(arr)=='string' ) arr = eval(arr);
	var strHtml = '<select onchange="document.getElementById(\''+id+'\').value=this.value;this.selectedIndex=0;this.blur();//document.getElementById(\''+id+'\').focus();">';
	if( str ) strHtml += '<option value="">'+str+'</option>';
	for(var i=0; i<arr.length; i++){
		if( arr[i].length == 3 )
			strHtml += '<option value="'+arr[i][2]+'">'+arr[i][1]+'</option>';
		else if( arr[i].length == 2 )
			strHtml += '<option value="'+arr[i][1]+'">'+arr[i][1]+'</option>'
		else
			strHtml += '<option value="'+arr[i][0]+'">'+arr[i][0]+'</option>';
	}
	strHtml += '</select>';
	document.write("<span>"+strHtml+"</span>");
}

function secrectSelect(model,value,callback){
	if( !callback ) callback = '';
	var arr = secret_person;
	var value1 = value;
	if( model == "company" ) arr = secret_complay;
	var htm = '<ul id="tool_secret" class="tool_secret">';
	for(var i=0; i<arr.length; i++){
		var ckd = ''; if( arr[i][2] == value ){ckd = ' checked="checked"'; value1 = arr[i][1];}
		htm += '<li><input type="radio" class="checkbox" name="secret_item" id="secret_'+i+'" value="'+arr[i][2]+'" value1="'+arr[i][1]+'"'+ckd+' /><label for="secret_'+i+'">'+arr[i][1]+'</label></li>';
		
	}
	htm += '<li class="sbutton"><input type="button" class="button" value="确定" onclick="$I(\'us_secret_button\').value=$(\':radio[@name=secret_item]:checked\').attr(\'value1\');$(\'#tool_secret\').hide(\'fast\');$I(\'us_secret\').value=$(\':radio[@name=secret_item]:checked\').val();'+callback+'" /><input type="button" class="button" value="关闭" onclick="$(\'#tool_secret\').hide(\'fast\');" /></li>';
	htm += '</ul>';
	var str = '<input type="hidden" name="us_secret" id="us_secret" value="'+value+'" />';
	str+= '<input type="button" name="us_secret_button" id="us_secret_button" class="tool_secret_button" onfocus="this.blur();" value="'+value1+'" onclick="var pos=new getPosition(this);var box=$I(\'tool_secret\');box.style.left=pos.left+\'px\';box.style.top=pos.top-166+\'px\';$(\'#tool_secret\').show(\'fast\');" />';
	str+= '<input type="button" name="us_secret_edit" id="us_secret_edit" class="tool_secret_edit" value="修改" onfocus="this.blur();" onclick="var pos=new getPosition(\'us_secret_button\');var box=$I(\'tool_secret\');box.style.left=pos.left+\'px\';box.style.top=pos.top-166+\'px\';$(\'#tool_secret\').show(\'fast\');" />';
	htm = str + htm;
	//alert(htm);
	document.write(htm);
}