﻿// JScript 文件
//排序题
function AdjustSort(obj1,obj2,Direction){
var valueTemp,textTemp,sSortString,i
	if (myform[obj1].selectedIndex == -1){
		return
	}
	sSortString = ""
	valueTemp = myform[obj1].options[myform[obj1].selectedIndex].value
	textTemp = myform[obj1].options[myform[obj1].selectedIndex].text
	if (Direction == -1 ){
		if (myform[obj1].selectedIndex > 0 ){			
			myform[obj1].options[myform[obj1].selectedIndex].value = myform[obj1].options[myform[obj1].selectedIndex-1].value
			myform[obj1].options[myform[obj1].selectedIndex].text = myform[obj1].options[myform[obj1].selectedIndex-1].text
			myform[obj1].options[myform[obj1].selectedIndex-1].value = valueTemp
			myform[obj1].options[myform[obj1].selectedIndex-1].text = textTemp	
			myform[obj1].selectedIndex = myform[obj1].selectedIndex-1			
		}
		
	}
	else
	{
	if (Direction == 1 ){
		if (myform[obj1].selectedIndex < myform[obj1].length-1 ){			
			myform[obj1].options[myform[obj1].selectedIndex].value = myform[obj1].options[myform[obj1].selectedIndex+1].value
			myform[obj1].options[myform[obj1].selectedIndex].text = myform[obj1].options[myform[obj1].selectedIndex+1].text
			myform[obj1].options[myform[obj1].selectedIndex+1].value = valueTemp
			myform[obj1].options[myform[obj1].selectedIndex+1].text = textTemp
			myform[obj1].selectedIndex = myform[obj1].selectedIndex+1			
		}
		}
	
	}
	for (i=0 ; i<myform[obj1].length ; i++){
		//sSortString = sSortString + (i+1) + ":" + myform[obj1].options[i].value+","
		sSortString = sSortString  + myform[obj1].options[i].value+","	
	}
	myform[obj2].value = sSortString
	}
	//复选互斥
//name 复选框名称，values第几个复选框
function sel(str)
{
var str=str.split("@");
var tmp=str[0].split(",");
    var obj=document.getElementsByName(tmp[0]);
    //带复选框
     var objn=document.getElementById(tmp[0]+"_n");
     //获取题类型
     var tmpn=tmp[0].split("_");
	for (i=0; i<obj.length;i++)
    {
        if(obj[i].value==tmp[1])
        {
		    if(obj[i].checked)
		    {
			   for (j=0; j<obj.length;j++)
               {
                   if (obj[j].value!=tmp[1])
                   {
                      obj[j].disabled=true;
                      obj[j].checked=false;
                      //判断多选带文本框
                      if(tmpn[0]=="s9")
                      {
                      //如果互斥清空文本框
                      objn.value='';
                      objn.disabled=true;
                      }
                   }
               }
		   }
		   else
	       {
		      for (j=0;j<obj.length;j++)
              {
                obj[j].disabled=false;
              }
               if(tmpn[0]=="s9")
               {
              objn.disabled=false;
               }
		   }
		   break;
       }
    }
   //恢复控制的题
    var tmp1=str[1].split(":");
    for (i=0; i<tmp1.length;i++)
    {
       if(tmp1[i]!="")
       {
      var st=tmp1[i].split(",");
      if(st[1]=="0")
      {
       eval("document.getElementById(\"suv"+st[0]+"\").style.display='none'")
      }
      else
      {
       eval("document.getElementById(\"suv"+st[0]+"\").style.display=''")
      }
      }
    
    }
    //恢复控制的选项
    var tmp2=str[2].split(",");
    
    for (i=0; i<tmp2.length;i++)
    {
       if(tmp2[i]!="")
       {
       eval("document.getElementById(\"suvz"+tmp2[i]+"\").style.display='none'")
       }
    
    }
}
//选项控制题
function display_none(str)
{
//控题整体分割 
var sxs=str.split("@")
for(var x=0;x<sxs.length;x++)
  {
  //控制题和被控项
var gs=sxs[x].split("$");
for(var s=0;s<gs.length;s++)
  {
  //控制题
    var temp1=gs[0].split(":");

        for(var j=0;j<temp1.length;j++)
        {
         var flag=false;
        //控制选项
            var temp2=temp1[j].split(",");
            
            var obj1=document.getElementsByName(temp2[0]);
            
             //循环控制题
            for(var i=0;i<obj1.length;i++)
             {
              var temp3=temp2[1].split("/");
               for(var c=0;c<temp3.length;c++)
               {
                  //判断是否是选中选项
                  if(obj1[i].value==temp3[c])
                  {
                 //判断是否选中
                     if(obj1[i].checked==true)
		             {
                       flag=true; 
                       break 
                     }  
                  }
                   
               } 
               if(flag==true)
               {
               break;
               }
             }
              if(flag==false)
               {
               break;
               }
      
      
        }
        
        //被控项
      var top=gs[1].split(",");

          //top[1] 1隐藏 0显示
          if (flag==true)
          {
              if(top[1]=="0")
              {
                eval("document.getElementById(\"suv"+top[0]+"\").style.display=''")
              }
              else
              {
                eval("document.getElementById(\"suv"+top[0]+"\").style.display='none'")
              }
          }
          else
          {
              if(top[1]=="0")
              {
                 eval("document.getElementById(\"suv"+top[0]+"\").style.display='none'")
              }
              else
              {
                 eval("document.getElementById(\"suv"+top[0]+"\").style.display=''")
              }
          }
      
  }
  }


}

//逻辑选项控制选项
//str控制项,values植,strid被控项
function display_nonexx(str,values,strid,nid)
{ 

 var obj=document.getElementsByName(str);

      var saf=str.split("_");
      var id=strid.split(",");
      var nid=nid.split(",");
      if(saf[0]=="s4"||saf[0]=="s5"||saf[0]=="s7")
      {
      for(var i=0;i<obj.length;i++)
      {
         if(obj[i].checked)
		 {
		    if(obj[i].value==values)
            {
		      if(strid!=0)
		       {
			       for (j=0; j<id.length;j++)
                  { 
                   eval("document.getElementById(\"suvz"+id[j]+"\").style.display=''")
                   }
               }
		    }
		 }
		 else
		  {
		     if(nid!=0)
		       {
		        for (j=0; j<nid.length;j++)
                  {
                   eval("document.getElementById(\"suvz"+nid[j]+"\").style.display='none'")
                  }
               }
		  }
       }
      }
      
     if(saf[0]=="s8"||saf[0]=="s9"||saf[0]=="s12") {
        
          for(var i=0;i<obj.length;i++)
         {
         
          if(obj[i].value==values)
            {
              
             if(obj[i].checked)
		     {
		      if(strid!=0)
		       {
		           for (j = 0; j < id.length; j++) {
		               if (document.getElementById("suvz" + id[j]).style.display != '')
		                   eval("document.getElementById(\"suvz" + id[j] + "\").style.display=''");
		                   else
		                       eval("document.getElementById(\"suvz" + id[j] + "\").style.display='none'");
                   }
               }
		    }
		    else
		    {
		     if(strid!=0)
		       {
			       for (j=0; j<id.length;j++) {

			           if (document.getElementById("suvz" + id[j]).style.display == '')
			               eval("document.getElementById(\"suvz" + id[j] + "\").style.display='none'");
			           else
			               eval("document.getElementById(\"suvz" + id[j] + "\").style.display=''");
                   }
               }
		    }
		  }
       }
      }
      
     
   
}


	//随机
	function mysort(a,b){
  var tmp=Math.round(Math.random()); //生成一个随机数并取整，tmp的值为等于0或1的随机数。
  return tmp?a-b:b-a;  //根据0或1进行升/降排序
}
function arrrandz(inti,qn)
{
var arr=new Array();
for(i=0;i<inti;i++)
  arr[i]=i;//生成一个数组
  arr.sort(mysort); 
for(i=0;i<inti;i++)
{
document.write(eval(qn+"["+arr[i]+"]"));

}  
}
	//限选
	//name 选项名称
	//num限选几项
function anyCheck(name,num)
{ 

var total = 0;
 var obj=document.getElementsByName(name);
 for (var idx = 0; idx < obj.length; idx++) 
 {

 if (obj[idx].checked == true) 
 {
 total += 1;
 
 if(total>=num)
 {
 for (i=0; i<obj.length;i++)
  {
   if (obj[i].checked == false)
   {
     obj[i].disabled=true;
     obj[i].checked=false;
   }
  }
 } 
 
 }
 
 if(total<num)
 {
    for (i=0; i<obj.length;i++)
    {
      obj[i].disabled=false;
    }
 }
 
 }
 } 
 
 //问题选项事件
//id问题id
   function FunLogic(id)
    { 
//alert(id) 
	 for(s=0; s<arrGn.length; s++)
	 { 
	 
		 if(arrGn[s][0]==id)
		 {
//		 	     alert("sdfsd");
			     var win=arrGn[s][1].split("|");		 
				 var str=arrGn[s][2].split("|");
//				alert(win.length) 
			for(n=0;n<win.length;n++)
			{
			
				var str1=str[n].split(",");
//				alert(win[j])
			     switch(win[n])
			     {
					 //互斥
				 case "1": 
				  sel(str[n]);
				 break;
				 	 //逻辑关系
				 case "2": 
//				 var str2=str[j].split("$");
				 display_none(str[n]);
				 break;
				 //限选
				  case "3":
				 anyCheck(str1[0],str1[1]);
				 break;
				  //逻辑选项控制选项
				  case "4":				  
				  var str3=str[n].split("@");
				 display_nonexx(str3[0],str3[1],str3[2],str3[3]);
				 break;
			     }
			}
	     }
	 }
	}





