var fstrs=new Array();
var arrClass=new Array();
var IsNewClassMode=0;
var LevelCount=4;
function UseNewClassMode(){
for(var i=0;i<LevelCount;i++){
document.write("<SELECT name='cSelect"+i.toString()+"' rel='" +i.toString()+ "' id='cSelect"+i.toString()+"' size='12' style='display:none; margin-right:10px;'></SELECT>");
}
G("classopt").style.display="none";
IsNewClassMode=1;
}
function InitClasses(){
if(arrClass.length>0) return true;
this.addc=function(id){
try{
var cstr=eval("c"+id);
if(cstr){
arrClass.push(id+","+cstr);
var cs=cstr.split(",");
for(var i=0;i<cs.length;i++){
var c=cs[i];
var carr=c.split(":");
if(carr.length==2)addc(carr[0]);
}
}
}catch(e){}
}
this.initClassSelect=function(){
var aSelect
for(var i=0;i<LevelCount;i++){
aSelect=G("cSelect"+i.toString());
if(aSelect) aSelect.onchange=function(){NewChangeLocation(this.value,this.id.substring(7,8))};
}
}
addc(0);
if(IsNewClassMode==1) this.initClassSelect();
}
function GetClassName(cid){
if(cid==0)return "顶级分类";
var s,cs,c;
for(var i=0;i<arrClass.length;i++){
s=arrClass[i];
if(s.indexOf(","+cid+":")>-1){
cs=s.split(",");
cs.shift();
for(var j=0;j<cs.length;j++){
c=cs[j].split(":");
if(c[0]==cid)return c[1];
}
break;
}
}
return null;
}
function GetFatherID(cid){
var s,cs,fid;
for(var i=0;i<arrClass.length;i++){
s=arrClass[i];
if(s.indexOf(","+cid+":")>-1){
cs=s.split(",");
fid=cs.shift();
return fid;
}
}
return 0;
}
function HaveSubClass(cid){
for(var i=0;i<arrClass.length;i++){
if(arrClass[i].indexOf(cid+",")==0) return true;
}
return false;
}
function Initfstr(cid){
var id,fid;
fstrs.splice(0,fstrs.length);
id=cid;
while(id>0){
fid=GetFatherID(id);
if(fid>0){
id=fid;
fstrs.unshift(fid);
}else{
break;
}
}
if(HaveSubClass(cid)==true)fstrs.push(cid);
try{if(fstrs.length==0||fstrs[0]!=0)fstrs.unshift(0);}catch(e){fstrs.unshift(0);}
}
function hideClass(FromLevel){
var o;
for(var i=FromLevel;i<LevelCount;i++){
o=G('cSelect'+i.toString());
if(o) o.style.display='none';
}
}
function selectOption(level,fcid,cid){
var opt=G('cSelect'+level);
if(!opt){hideClass(level);return false;}
var c;
var clist;
for(var i=0;i<arrClass.length;i++){
if(arrClass[i].indexOf(fcid+",")==0){
clist=arrClass[i].split(",");
clist.shift();
opt.options.length=clist.length;
opt.selectedIndex=-1;
for(var i=0;i<clist.length;i++){
c=clist[i].split(":");
if(opt.options[i].value!=c[0]) opt.options[i].value=c[0];
if(opt.options[i].text!=c[1]) opt.options[i].text=c[1];
if(cid==c[0]) opt.selectedIndex=i;
}
try{opt.options[0].style.color="";}catch(e){}
if(opt.style.display=="none") opt.style.display="";
return true;
}
}
hideClass(level);
return false;
}
function NewChangeLocation(selid,level)
{
var SelectedClassID=G("SelectedClassID");
if(SelectedClassID) SelectedClassID.value=selid;
var curLevel=0;
if(typeof(level)=="undefined"){
if(typeof(selid)=="number" && selid>0){
Initfstr(selid);
if(fstrs.length>0 && fstrs[fstrs.length-1]!=selid) fstrs.push(selid);
for(var i=1;i<fstrs.length;i++){
if(!selectOption(i-1,fstrs[i-1],fstrs[i])) return false;
}
curLevel=fstrs.length-1;
}else{
selid=0;
if(!selectOption(0,0,0)) return false;
curLevel++;
}
}else{
selectOption(level,GetFatherID(selid),selid);
curLevel=level;
curLevel++;
}
if(selid>0 && HaveSubClass(selid)){
selectOption(curLevel,selid,0);
curLevel++;
}
hideClass(curLevel);
}
function EchoClass(nav,opt,cid,selid)
{
var c;
var clist;
for(var i=0;i<arrClass.length;i++){
if(arrClass[i].indexOf(cid+",")==0){
clist=arrClass[i].split(",");
clist.shift();
if(cid>0){
opt.options.length=clist.length+1;
opt.selectedIndex=-1;
opt.options[0].value=GetFatherID(cid);
opt.options[0].text="*** 返回上级分类 ***";
opt.options[0].style.color="green";
for(var i=0;i<clist.length;i++){
c=clist[i].split(":");
opt.options[i+1].value=c[0];
opt.options[i+1].text=c[1];
if(selid==c[0])opt.selectedIndex=i+1;
}
}else{
opt.options.length=clist.length;
opt.selectedIndex=-1;
for(var i=0;i<clist.length;i++){
c=clist[i].split(":");
opt.options[i].value=c[0];
opt.options[i].text=c[1];
if(selid==c[0])opt.selectedIndex=i;
}
try{opt.options[0].style.color="";}catch(e){}
}
return true;
}
}
return false;
}
function ChangeLocation(selid,level)
{
InitClasses();
if(IsNewClassMode==1) return NewChangeLocation(selid,level);
var SelLeastC=false;
var opt=G("classopt");
var nav=G("classnav");
var SelectedClassID=G("SelectedClassID");
if(typeof(selid)=="undefined"){
if(opt.selectedIndex==-1) return false;
var cid=opt[opt.selectedIndex].value;
var topic=opt[opt.selectedIndex].text;
var fid;
if(topic=="*** 返回上级分类 ***"){
fid=fstrs.pop();
EchoClass(nav,opt,cid,fid);
}else{
if(EchoClass(nav,opt,cid,0)){
fstrs.push(cid);
}else{
SelLeastC=true;
}
}
}else{
var cid=selid;
var topic=GetClassName(selid);
Initfstr(cid);
if(HaveSubClass(cid)==false){
SelLeastC=true;
EchoClass(nav,opt,GetFatherID(cid),cid);
}else{
EchoClass(nav,opt,cid,0);
}
}
SelectedClassID.value=cid;
var s="";
var cname;
for(var i=0;i<fstrs.length;i++){
cname=GetClassName(fstrs[i]);
if(!cname)cname="分类名称未知"
s=s+"<a href='javascript:ChangeLocation(" + fstrs[i] + ");'>" + cname + "</a> >>> ";
}
if(SelLeastC==true)s=s+topic;
nav.innerHTML=s;
}
function check_askform(obj,reserv1)
{
var uid=getUserID();
if(uid==0){
if(EnableGuestAsk==1){
if(!confirm("您还没有登陆，\n登陆用户可设置悬赏分，激励更多人回答您的问题，\n建议您先去注册一下。\n\n继续使用游客身份匿名提问吗？")) return false;
}else{
ShowLogin('请登录后再次提交问题', 'top.document.ftiwen.send.click();');
return false;
}
}
if(obj.title.value=="" || obj.title.value.length ==0){
alert("请输入问题标题");obj.title.focus();return false;
}
var len=obj.title.value.length;
if(len<4){
ls_str="问题标题不详细，请重新输入";
alert(ls_str);
obj.title.focus();
return false;
}
if (len>100){
ls_str="问题标题字数限定在100个汉字以内，请缩短提问字数";
obj.title.focus();
return false;
}
var content_length=obj.content.value.length;
if(content_length<5){
ls_str="请填写问题说明，说明越详细，解答就越有针对性";
alert(ls_str);
return false;
}
if ( content_length >4000){
ls_str="问题说明字数限定在4000字以内，请缩短字数";
alert(ls_str);
obj.content.focus();
return false;
}
if(obj.SelectedClassID.value=="" || GetFatherID(obj.SelectedClassID.value)==0){
alert("请选择问题分类\n\n注意：不能在顶级分类中发表问题"); return false;
}
if(EnableAntiSpam==1){
PrepareAntiSpam(obj,"ASK");
}
}