var arrPage = new Array;
var sLogicPath = "";
var intUpPage = 1;
var sJumpOverPage = "";
var intNextPage = 0;
var intMinSelect,intMaxSelect;
var	sRegExp_Email = /^[_a-z0-9][0-9a-zA-Z\_\-\.]{0,}@([_a-z0-9]+\.)+[a-z0-9]{2,4}$/;
sRegExp_Email = sRegExp_Email =  /^([a-z0-9])(([\-.]|[_]+)?([a-z0-9]+))*(@)([a-z0-9])((([-]+)?([a-z0-9]+))?)*((.[a-z]{2,3})?(.[a-z]{2,6}))$/i
var	sRegExp_Int = /^[0-9|-][0-9]{0,}$/;
var	sRegExp_Real = /^[+-]?\d+(\.\d+)?$/

var	sRegExp_IDCard15 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
var	sRegExp_IDCard18 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
var	sRegExp_Post = /^[0-9]\d{5}$/;
var	sRegExp_Mob = /(130|131|133|135|136|137|138|139)\d{8}/;
var	sRegExp_Date = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/;

function init(){
	SetStartPage()
	setPageArr()
	setBtStatus()
}

function setPageArr(){
	var i,j;
	for(i=0; i<intMaxPage; i++){
		arrPage[i] = ""
	}
	for(i=0; i<intMaxPage; i++){
		for(j=0; j<arrItem.length; j++)	{
			if( (i+1) == parseInt(arrItem[j][8]) ){
				arrPage[i] += j + ","
			}			
		}		
	}
}

function SetStartPage(PageNo){		
	currPage = 1
	SetPageNavigationContent(-1)
	document.all.Page1.style.display = "block"		
	if (intMaxPage==1){
		window.document.all.SubmitSurvey.style.visibility = "visible"
		window.document.all.NextPageBT.style.visibility = "hidden"
		window.document.all.FrontPageBT.style.visibility = "hidden"
		//window.document.all.SubmitSurvey.style.visibility = "visible"		
		return;
	}				
	window.document.all.FrontPageBT.disabled = true		
}

function nextPage(){
	var i,j	

	if(currPage<=intMaxPage){		//如果当前页未超出最大页
		if(arrPage[currPage-1]!=""){	//如果当前页内有题目
			var arrItemList = arrPage[currPage-1].split(",")
			for(i=0; i<arrItemList.length-1; i++){
				if(checkObj(arrItemList[i])==true){	//表单验证
						
				}
				else{
					return false
				}
			}			
		}
		
		//SetPageNavigationContent(0)	//设置页导航，导航前进
		window.document.all["Page"+currPage].style.display = "none"		//设置本页隐藏
		logicPath(0)	//设置逻辑路径，逻辑路径前进
		
		if(arrPage[currPage-1]!=""){	//如果当前页内有题目
			var arrItemList = arrPage[currPage-1].split(",")
			for(i=0; i<arrItemList.length-1; i++){
				
				switch(arrItem[arrItemList[i]][4]){	//如果题型为单选则执行逻辑扫描
					case 31:
						for (j=0; j<myform[arrItem[arrItemList[i]][1]].length; j++){		//遍历单选的选项
							
							if (myform[arrItem[arrItemList[i]][1]][j].checked==true){																													
								logicScan(arrItemList[i],myform[arrItem[arrItemList[i]][1]][j].value)
								break;		
							}						
						}									
						break;
					case 32: case 33 :											
						if (myform[arrItem[arrItemList[i]][1]].selectedIndex!=-1){																
							if (myform[arrItem[arrItemList[i]][1]][myform[arrItem[arrItemList[i]][1]].selectedIndex].value!=""){	
								logicScan(arrItemList[i],myform[arrItem[arrItemList[i]][1]][myform[arrItem[arrItemList[i]][1]].selectedIndex].value)								
							}
							break;		
						}
						break;
					case 41:	//多选题逻辑
						
						logicScanMulit(arrItemList[i])
						
						break;
					default :
				}
			}			
		}		
		
		if(parseInt(intNextPage)==0){	
			currPage += 1
		}
		else{
			currPage = parseInt(intNextPage)
			
		}		
		scanJumpOverPageSetNextPage()	//扫描跳页
		window.document.all["Page"+currPage].style.display = "block"	//设置下一页显示		
	}
	SetPageNavigationContent(0)	//设置页导航，导航前进
	setBtStatus()	
	intNextPage = 0
	showTestInfo();
}

function frontPage(){	//上一页单击动作
	if(currPage>1){
		if(arrPage[currPage-1]!=""){
			var arrItemList = arrPage[currPage-1].split(",")
			for(i=0; i<arrItemList.length-1; i++){
				clearItemInput(arrItemList[i])
			}			
		}			
		//SetPageNavigationContent(1)
		window.document.all["Page"+currPage].style.display = "none"
		logicPath(1)
		currPage = intUpPage
		window.document.all["Page"+currPage].style.display = "block"
	}
	backJumpOverHistory(currPage)	//跳页回退
	SetPageNavigationContent(1)
	setBtStatus()	//设置按钮状态
	showTestInfo()
}

function backJumpOverHistory(intPageNo){
	if(arrPage[intPageNo-1]==""){
		return
	}
	var i,j,m
	var arrItemList = arrPage[intPageNo-1].split(",")
	for(i=(arrItemList.length-2); i>-1; i--){		
		m = arrItemList[i]
		switch (arrItem[m][4]){
			case 31:
				for (j=0; j<myform[arrItem[m][1]].length; j++){										
					if (myform[arrItem[m][1]][j].checked==true){																				
						scanJumpHistory((myform[arrItem[m][1]][j].value + ":"),arrItem[m][5])
					}				
				}		
				break;
			case 32 : case 33:
				for (j=0; j<myform[arrItem[m][1]].length; j++){										
					if (myform[arrItem[m][1]][j].selected==true){																				
						scanJumpHistory((myform[arrItem[m][1]][j].value + ":"),arrItem[m][5])
					}				
				}		
				break;
			case 41:
				scanJumpHistoryMulti(m)
				break;
			default :			
		}			
	}				
}

function scanJumpHistory(sSelectValue,sTemp){					
	if(sTemp==""){
		return;
	}
	if(sTemp.indexOf(sSelectValue) == -1){						
		return;
	}

	sTemp = sTemp.substr(sTemp.indexOf(sSelectValue)+sSelectValue.length)
	sTemp = sTemp.substr(sTemp.indexOf(",")+1)
	sTemp = sTemp.substr(0,sTemp.indexOf(";"))
	if(sTemp!=""){
		var sJumpOverPageTemp = sJumpOverPage+"|"							
		sJumpOverPage = sJumpOverPageTemp.substr(0,sJumpOverPageTemp.indexOf(sTemp+",|"))
	}
}

function scanJumpHistoryMulti(intItemSN){		
	//sJumpOverPage = sJumpOverPageTemp.substr(0,sJumpOverPageTemp.indexOf(sTemp+",|"))
	
	var i,j
	var sJumpOverPageTemp = sJumpOverPage+"|"
	var sTemp
	if(arrItem[intItemSN][5]==""){
		return true;
	}
	var arrLogic = arrItem[intItemSN][5].split(";")
	var sRightSelect = arrLogic[0].substring(arrLogic[0].indexOf(":")+1)
	var sSelectRight = arrLogic[1].substring(arrLogic[1].indexOf(":")+1)
	var sSelectLess = arrLogic[2].substring(arrLogic[2].indexOf(":")+1)
	var sSelectMore = arrLogic[3].substring(arrLogic[3].indexOf(":")+1)
	
	var arrRightSelect = sRightSelect.split(",")
	var arrSelectRight = sSelectRight.split(",")
	var arrSelectLess = sSelectLess.split(",")
	var arrSelectMore = sSelectMore.split(",")
	
	var sSelected="";
	for(i=0; i<myform[arrItem[intItemSN][1]].length;i++){
		if(myform[arrItem[intItemSN][1]][i].checked==true){
			sSelected += myform[arrItem[intItemSN][1]][i].value+","
		}
	}
	if (sSelected!=""){
		sSelected = sSelected.substring(0,sSelected.length-1)
	}
	var arrSelected = sSelected.split(",")
	arrSelected.sort()
	sSelected = arrSelected.join(",")
	
	var intRightSelectAmount = 0
	if(sSelected==sRightSelect){	//如果选择相等的处理程序
	
		if(arrSelectRight.length>1){	//减跳页历史
			sTemp = sSelectRight.substring(sSelectRight.indexOf(","))+",|"
			sJumpOverPage = sJumpOverPageTemp.substr(0,sJumpOverPageTemp.indexOf(sTemp))
		}
	}
	else{
		sRightSelect = ","+sRightSelect+","
		intRightSelectAmount = 0
		for(i=0; i<arrSelected.length; i++){
			if(sRightSelect.indexOf(","+arrSelected[i]+",")!=-1){
				intRightSelectAmount ++
			}
		}
		//if(intRightSelectAmount>=arrRightSelect.length){//如果选择过多的处理程序
		if(intRightSelectAmount>0){
			//alert("历史:选择过多")
			if(arrSelectMore.length>1){
				for(j=1; j<arrSelectMore.length; j++){
					sTemp = sSelectMore.substring(sSelectMore.indexOf(","))+",|"
					sJumpOverPage = sJumpOverPageTemp.substr(0,sJumpOverPageTemp.indexOf(sTemp))									
				}
			}
			
		}
		else{	//如果选择过少的处理程序
			//alert("历史:选择过少")	
			
			
			if(arrSelectLess.length>1){
				
				for(j=1; j<arrSelectLess.length; j++){
					sTemp = sSelectLess.substring(sSelectLess.indexOf(","))+",|"
					sJumpOverPage = sJumpOverPageTemp.substr(0,sJumpOverPageTemp.indexOf(sTemp))										
				}
			}
		}
	}
}

function scanJumpOverPageSetNextPage(){
	var sTemp = "," + sJumpOverPage;
	var i
	for(i=currPage; i<(intMaxPage+1); i++){
		if(sTemp.indexOf(","+i+",") >-1 ){				
			currPage += 1
			scanJumpOverPageSetNextPage()
		}
		else{
			currPage = i
			return true		
		}	
	}
	
}

function logicPath(intDirection){
	if(intDirection==0){//向前
		sLogicPath += currPage + ","
	}
	else{//回退
		var arrLogicPath;
		arrLogicPath = sLogicPath.split(",")
		intUpPage = parseInt(arrLogicPath[arrLogicPath.length-2])
		sLogicPath = ""
		for(i=0; i<arrLogicPath.length-2; i++){
			sLogicPath += arrLogicPath[i] + ","
		}
	}
	
}

function logicScanMulit(intItemSN){
	//alert("正在进行多选逻辑描述")
	var i,j
	if(arrItem[intItemSN][5]==""){
		//alert("逻辑空,序号:"+intItemSN)
		return true;
	}
	var sLogic = arrItem[intItemSN][5]
	var arrLogic;
	var arrRightSelect;
	var arrSelectRight;
	var arrSelectLess;
	var arrSelectMore;
	var sSelected="";
	for(i=0; i<myform[arrItem[intItemSN][1]].length;i++){
		if(myform[arrItem[intItemSN][1]][i].checked==true){
			sSelected += myform[arrItem[intItemSN][1]][i].value+","
		}
	}
	if (sSelected!=""){
		sSelected = sSelected.substring(0,sSelected.length-1)
	}
	var arrSelected = sSelected.split(",")
	arrSelected.sort()
	sSelected = arrSelected.join(",")

	var arrLogic = sLogic.split(";")
	var sRightSelect = arrLogic[0].substring(arrLogic[0].indexOf(":")+1)//正确答案
	var sSelectRight = arrLogic[1].substring(arrLogic[1].indexOf(":")+1)
	var sSelectLess = arrLogic[2].substring(arrLogic[2].indexOf(":")+1)
	var sSelectMore = arrLogic[3].substring(arrLogic[3].indexOf(":")+1)
		
	var arrRightSelect = sRightSelect.split(",")
	var arrSelectRight = sSelectRight.split(",")
	var arrSelectLess = sSelectLess.split(",")
	var arrSelectMore = sSelectMore.split(",")
	//alert("已经选择:"+sSelected+"\n正确答案:"+sRightSelect)
	
	var intRightSelectAmount = 0
	
	if(sSelected==sRightSelect){
		//alert("逻辑扫描选择正确")
		
		switch(parseInt(arrSelectRight[0])){
			case -1:				
				top.location.href = "close.htm"	
				break;
			case -2:				
				myform.submit()
				break;
			default :
				intNextPage = arrSelectRight[0]	//设置下一页
				//alert("正在设置下一页为:"+intNextPage)
		}
		
		if(arrSelectRight.length>1){
			for(j=1; j<arrSelectRight.length; j++){
				sJumpOverPage += arrSelectRight[j]+","										
			}
		}
	}
	else{
		//alert("逻辑扫描选择不正确")
		sRightSelect = ","+sRightSelect+","
		intRightSelectAmount = 0
		for(i=0; i<arrSelected.length; i++){
			//alert("正确答案:"+sRightSelect+"\n已经选择:"+arrSelected[i])
			if(sRightSelect.indexOf(","+arrSelected[i]+",")!=-1){
				intRightSelectAmount ++
			}
		}
		//alert("已经选择的正确数:"+intRightSelectAmount+"\n正确选择数:"+arrRightSelect.length)
		//if(intRightSelectAmount>=arrRightSelect.length){
		if(intRightSelectAmount > 0){
			//alert("逻辑扫描选择过多")
			switch(parseInt(arrSelectMore[0])){
				case -1:
					top.location.href = "close.htm"	
					break;
				case -2:		
					myform.submit()
					break;
				default :					
					intNextPage = arrSelectMore[0]	//设置下一页
			}
			
			if(arrSelectMore.length>1){
				for(j=1; j<arrSelectMore.length; j++){
					sJumpOverPage += arrSelectMore[j]+","										
				}
			}
			
		}
		else{
			//alert("逻辑扫描选择过少")	
			switch(arrSelectLess[0]){
			case -1:
				top.location.href = "close.htm"	
				break;
			case -2:
				myform.submit()
				break;
			default :
				intNextPage = arrSelectLess[0]	//设置下一页
			}
			
			if(arrSelectLess.length>1){
				for(j=1; j<arrSelectLess.length; j++){
					sJumpOverPage += arrSelectLess[j]+","										
				}
			}
		}
	}
	
	return intNextPage
	
}

function logicScan(intItemSN,selectValue){
	var i,j
	if(arrItem[intItemSN][5]==""){
		return true;
	}
	var arrLogic;	
	arrLogic = arrItem[intItemSN][5].split(";")
	for(i=0; i<arrLogic.length-1; i++){		
		if(selectValue==splitStr(arrLogic[i],":",0)){			
			var sTemp = splitStr(arrLogic[i],":",1);		
			var arrLogicAndJumpPage;
			arrLogicAndJumpPage = sTemp.split(",")
			switch(parseInt(arrLogicAndJumpPage[0])){
				case -1:
					top.location.href = "close.htm"	
					break;
				case -2:
					myform.submit()
					break;
				default :
					intNextPage = arrLogicAndJumpPage[0]	
			}	
			if(arrLogicAndJumpPage.length>1){
				for(j=1; j<arrLogicAndJumpPage.length; j++){
					sJumpOverPage += arrLogicAndJumpPage[j]+","										
				}
			}			
		}
	}	
	return intNextPage
}

function splitStr(sStr,sChar,intPosition){
	var sReturnValue;
	if(sStr==""){
		alert("出现错误")
		return true
	}
	if(intPosition==0){//表示取sChar前面的值
		sReturnValue = sStr.substr(0,sStr.indexOf(sChar))
	}
	else{
		sReturnValue = sStr.substr(sStr.indexOf(sChar)+1)
	}
	return sReturnValue
}


function setBtStatus(){
	if(parseInt(currPage)<parseInt(intMaxPage)){
		document.all.NextPageBT.disabled = false
	}
	else{
		document.all.NextPageBT.disabled = true
	}
	if(parseInt(currPage)>1){
		document.all.FrontPageBT.disabled = false
	}
	else{
		document.all.FrontPageBT.disabled = true
	}
	if(currPage==1){
		document.all.FrontPageBT.style.visibility = "hidden"
	}
	else{
		document.all.FrontPageBT.style.visibility = "visible"
	}
	if(currPage==intMaxPage){
		document.all.NextPageBT.style.visibility = "hidden"
	}	
	else{
		document.all.NextPageBT.style.visibility = "visible"
	}
	if(currPage==intMaxPage){	
		window.document.all.SubmitSurvey.style.visibility = "visible"
	}
	else{
		window.document.all.SubmitSurvey.style.visibility = "hidden"
	}
}


function getMinMaxSelect(intItemSN,sSearchStr){
	var sTemp
	sTemp = arrItem[intItemSN][2]
	sTemp = sTemp.substr(sTemp.indexOf(sSearchStr)+sSearchStr.length)
	sTemp = sTemp.substr(0,sTemp.indexOf("|"))
	return parseInt(sTemp)
}



function checkObj(intItemSN){	
	intMaxSelect = getMinMaxSelect(intItemSN,"MaxSelect:")
	intMinSelect = getMinMaxSelect(intItemSN,"MinSelect:")	
	var arrCheck = arrItem[intItemSN][2].split("|")
	switch (arrItem[intItemSN][4]) {		//根据题目类型检查验证题目输入		
		case 1 : 	//单行	
			//验证是否为空										
			if ((arrItem[intItemSN][2].indexOf("IsEmpty:1")>-1)&&(myform[arrItem[intItemSN][1]].value=="")){			
				alert(arrItem[intItemSN][3] +"\n不能为空")

				myform[arrItem[intItemSN][1]].focus()
				return false
			}
			if(myform[arrItem[intItemSN][1]].value.length < intMinSelect){
				alert(arrItem[intItemSN][3] +"\n小于允许的最小长度")
				myform[arrItem[intItemSN][1]].focus()
				return false
			}
			if(myform[arrItem[intItemSN][1]].value.length > intMaxSelect){
				alert(arrItem[intItemSN][3] +"\n大于允许的最大长度")
				myform[arrItem[intItemSN][1]].focus()
				return false
			}
			
								
			//验证Email
			if (arrItem[intItemSN][2].indexOf("IsEmail:1")>-1){				
				if	(sRegExp_Email.test(myform[arrItem[intItemSN][1]].value)==false){
					alert(arrItem[intItemSN][3] + "\n不是正确的Email")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			}
								
			//验证整数
			if (arrItem[intItemSN][2].indexOf("IsNumber:1")>-1){				
				if	(sRegExp_Int.test(myform[arrItem[intItemSN][1]].value)==false){
					alert(arrItem[intItemSN][3] + "\n应该填入整数")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			if (parseInt(myform[arrItem[intItemSN][1]].value) < parseInt(arrCheck[10])){
				alert(arrItem[intItemSN][3] + "\n输入小于允许的最小值")
				myform[arrItem[intItemSN][1]].focus()
				return false
			}
			if (parseInt(myform[arrItem[intItemSN][1]].value) > parseInt(arrCheck[11])){
				alert(arrItem[intItemSN][3] + "\n输入大于允许的最大值")
				myform[arrItem[intItemSN][1]].focus()
				return false
				}									
			}
								
			//验证实数
			if (arrItem[intItemSN][2].indexOf("IsReal:1")>-1){				
				if	(sRegExp_Real.test(myform[arrItem[intItemSN][1]].value)==false){
					alert(arrItem[intItemSN][3] + "\n应该填入实数")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
				if (myform[arrItem[intItemSN][1]].value<arrCheck[12]){
					alert(arrItem[intItemSN][3] + "\n输入小于允许的最小值")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
				if (myform[arrItem[intItemSN][1]].value>arrCheck[13]){
					alert(arrItem[intItemSN][3] + "\n输入大于允许的最大值")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			}
								
			//身份证
			if (arrItem[intItemSN][2].indexOf("IsIDCard:1")>-1){				
				if	((sRegExp_IDCard15.test(myform[arrItem[intItemSN][1]].value)==false)&&(sRegExp_IDCard18.test(myform[arrItem[intItemSN][1]].value)==false)){										
					alert(arrItem[intItemSN][3] + "\n不是正确的身份证号码")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			}							
								
			//验证邮编
			if (arrItem[intItemSN][2].indexOf("IsPost:1")>-1){				
				if	(sRegExp_Post.test(myform[arrItem[intItemSN][1]].value)==false){
					alert(arrItem[intItemSN][3] + "\n不是正确的邮编格式")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			}
											
			//验证日期
			if (arrItem[intItemSN][2].indexOf("IsDate:1")>-1){
				if	(sRegExp_Date.test(myform[arrItem[intItemSN][1]].value)==false){
					alert(arrItem[intItemSN][3] + "\n不是正确的日期格式")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			}
								
			//验证手机号码								
			if (arrItem[intItemSN][2].indexOf("IsMob:1")>-1){
				if	(sRegExp_Mob.test(myform[arrItem[intItemSN][1]].value)==false){
					alert(arrItem[intItemSN][3] + "\n不是正确的手机号码")
					myform[arrItem[intItemSN][1]].focus()
					return false
				}
			}									
								
			//验证最小长度及最大长度
			if (myform[arrItem[intItemSN][1]].value.length<intMinSelect){
				alert(arrItem[intItemSN][3] + "\n长度超过最小值")
				myform[arrItem[intItemSN][1]].focus()
				return false								
			}
			if (myform[arrItem[intItemSN][1]].value.length>intMaxSelect){
				alert(arrItem[intItemSN][3] + "\n长度超过最大值")
				myform[arrItem[intItemSN][1]].focus()
				return false								
			}										
			break;
		case 2 :   //多行
			//验证是否为空										
			if ((arrItem[intItemSN][2].indexOf("IsEmpty:1")>-1)&&(myform[arrItem[intItemSN][1]].value=="")){
				alert(arrItem[intItemSN][3] +"\n不能为空")
				myform[arrItem[intItemSN][1]].focus()
				return false
			}						
			break;		
							
		case 31:  //单选
			var blnSelect = false
			if ((arrItem[intItemSN][2].indexOf("IsEmpty:1")>-1)){
				for (i=0; i<myform[arrItem[intItemSN][1]].length; i++){										
					if (myform[arrItem[intItemSN][1]][i].checked==true){												
						blnSelect = true				
						break;		
					}						
				}			
				if (blnSelect!=true){
					alert(arrItem[intItemSN][3] +"\n未作选择")
					myform[arrItem[intItemSN][1]][0].focus()
					return false
				}				
			}												
			break;
							
		case 32 : 	case 33: //下拉及列表
			if ((arrItem[intItemSN][2].indexOf("IsEmpty:1")>-1)){		
				if(myform[arrItem[intItemSN][1]].selectedIndex==-1){
					alert(arrItem[intItemSN][3] +"\n未作选择")										
					myform[arrItem[intItemSN][1]].focus()
					return false			
				}
				if(myform[arrItem[intItemSN][1]][myform[arrItem[intItemSN][1]].selectedIndex].value==""){				
					alert(arrItem[intItemSN][3] +"\n未作选择")										
					myform[arrItem[intItemSN][1]].focus()
					return false				
				}
			}							
			break;							
		case 41 : case 42 : //多选及列表多选
			var intSelectAmount = 0			
			var blnSelect = false
			var arrLogic1 = arrItem[intItemSN][5].split("|"), arrLogic2, intLogic1Amount
			for (i=0; i<myform[arrItem[intItemSN][1]].length; i++){										
				if (myform[arrItem[intItemSN][1]][i].checked==true){
					intSelectAmount++										
				}									
			}
								
			if (intSelectAmount<intMinSelect){
				alert(arrItem[intItemSN][3] +"\n你至少应该选择"+intMinSelect+"个")
				myform[arrItem[intItemSN][1]][0].focus()
				return false
			}
								
			if (intSelectAmount>intMaxSelect){
				alert(arrItem[intItemSN][3] +"\n你最多只能选择"+intMaxSelect+"个")
				myform[arrItem[intItemSN][1]][0].focus()
				return false
			}														
			break;

							
		case 5 :  //单选矩阵
				arrSubItem = arrItem[intItemSN][6].split(";")
				var blnSelect = false
				for (j=0; j<(arrSubItem.length-1); j ++){								
					if ((arrItem[intItemSN][2].indexOf("IsEmpty:1")>-1)){
						for (i=0; i<myform[arrSubItem[j]].length; i++){										
							if (myform[arrSubItem[j]][i].checked==true){
								blnSelect = true
							}
						}
						if (blnSelect!=true){
							alert(arrItem[intItemSN][3] +"\n分题未作选择")
							myform[arrSubItem[j]][0].focus()
							return false
						}
						blnSelect = false
					}												
				}					
				break;
				
		case 6 :　//多选矩阵
			var intSelectAmount = 0	
			arrSubItem = arrItem[intItemSN][6].split(";")
			for (j=0; j<(arrSubItem.length-1); j ++){									
				for (i=0; i<myform[arrSubItem[j]].length; i++){										
					if (myform[arrSubItem[j]][i].checked==true){
						intSelectAmount++										
					}
				}
				if (intSelectAmount<intMinSelect){
					alert(arrItem[intItemSN][3] +"\n每个分题你至少应该选择"+intMinSelect+"个选项")
					myform[arrSubItem[j]][0].focus()
					return false
				}
				if (intSelectAmount>intMaxSelect){
					alert(arrItem[intItemSN][3] +"\n每个分题你最多只能选择"+intMaxSelect+"个选项")
					myform[arrSubItem[j]][0].focus()
					return false
				}
				intSelectAmount = 0							
			}
			break;
								
		case 7 : 　//排序
			if ((arrItem[intItemSN][2].indexOf("IsEmpty:1")>-1)&&(myform[arrItem[intItemSN][1]].value=="")){
				alert(arrItem[intItemSN][3] +"\n未进行排序")
				return false
			}								
			break;
		case 8 :  //列举
			var strTemp = ""
			var intSelectAmount = 0
			for (i=0; i<intMaxSelect;i++){
				if (myform[arrItem[intItemSN][1]+"_"+i].value!=""){
					strTemp += myform[arrItem[intItemSN][1]+"_"+i].value+"|"	
					intSelectAmount++
				}
			}									
			if (intSelectAmount<intMinSelect){
				alert(arrItem[intItemSN][3] +"\n最少应该列举"+intMinSelect+"项")
				myform[arrItem[intItemSN][1]+"_0"].focus()
				return false									
			}
			
			myform[arrItem[intItemSN][1]].value = strTemp
			break;								
			default:	
	}
	return true
}


//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	
function SubmitAction(){
	myform.FrontPageBT.disabled = true
}
	
	
	
function SetPageNavigationContent(fx){
	if (intMaxPage==1){

		return;
	}
	if ((typeof(stylemode)=="undefined")||(typeof(PageNavigationContent)=="undefined")){   
		return;
	}
	var sTemp = ""
	var intBarWidth = 200
	var intTemp
	var intTempPage = currPage
	//window.document.all.message.innerText = "在页导航中的当前页值currPage="+currPage
	var mode = stylemode.innerHTML		
	switch (fx){
		case 0:
			intTempPage += 1
			break;
		case 1:
			intTempPage -= 1	
			break;	
		case -1:
			intTempPage = 1	
			break;	
	}
	intTempPage = currPage
	switch (mode){			
		case "PageNavigationMode1":
			sTemp = intTempPage+"/"+intMaxPage
			break;
		case "PageNavigationMode2":
			sTemp = "第"+intTempPage+"页/共"+intMaxPage+"页"
			break;
		case "PageNavigationMode3":
			sTemp = intTempPage+" of "+intMaxPage
			break;
		case "PageNavigationMode4":			
			var intTemp
			intTemp = parseInt(intTempPage/intMaxPage*intBarWidth)
			sTemp = '<table width="200" border="0" cellpadding="0" cellspacing="0"><tr><td><table width="200" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"><tr><td bgcolor="#FFFFFF" align=left>'
			sTemp += '<table width="'+intTemp+'" height="10" border="0" cellpadding="0" cellspacing="0" bgcolor="#0066CC">'
			sTemp += '<tr><td></td></tr></table>'
			sTemp += '</td></tr></table></td></tr><tr><td>'
			sTemp += '<div align="center" style="font-size:12px">'+intTempPage+'/'+intMaxPage+'</div></td></tr></table>'		
			break;			
		default :
			sTemp = ""
	}		
	PageNavigationContent.innerHTML = sTemp
	sTemp = ""
}
	
function clearItemInput(intItemSN){	
	switch	(parseInt(arrItem[intItemSN][4])){
		case 1 :
			ClearInput(arrItem[intItemSN][1])			
			break;
		case 2 :
			ClearInput(arrItem[intItemSN][1])
			break;
		case 31 :				
			ClearRadio(arrItem[intItemSN][1])
			ClearInput(arrItem[intItemSN][7])
			break;
		case 32 :							
			ClearSelect(arrItem[intItemSN][1],0)
			ClearInput(arrItem[intItemSN][7])
			break;
		case 33 :
			ClearSelect(arrItem[intItemSN][1],-1)
			ClearInput(arrItem[intItemSN][7])
			break;
		case 41 :
			ClearCheck(arrItem[intItemSN][1])
			ClearInput(arrItem[intItemSN][7])
			break;
		case 42 :								
			ClearCheck(arrItem[intItemSN][1])
			ClearInput(arrItem[intItemSN][7])
			break;
		case 5 :
			ClearSubCheck(arrItem[intItemSN][6],intItemSN)			
			ClearInput(arrItem[intItemSN][7])
			break;
		case 6 :
			ClearSubCheck(arrItem[intItemSN][6],intItemSN)
			ClearInput(arrItem[intItemSN][7])
			break;
		case 7 :								
			ClearInput(arrItem[intItemSN][1])						
			break;		
		case 8 :
			clearTickoff(intItemSN)				
		default :				
	}
}

	
function ClearRadio(strField){		
	for (n=0; n<myform[strField].length; n++){
		myform[strField][n].checked = false			
	}
}

function ClearCheck(strField){		
	for (n=0; n<myform[strField].length; n++){
		myform[strField][n].checked = false			
	}
}

function ClearSelect(strField,selectedIndexValue){		
		myform[strField].selectedIndex = selectedIndexValue
}

function clearTickoff(intItemSN){
	var intTempMaxSelect = getMinMaxSelect(intItemSN,"MaxSelect:")
	for(i=0; i<intTempMaxSelect; i++){
		myform[arrItem[intItemSN][1]+"_"+i].value = ""
	}
	myform[arrItem[intItemSN][1]].value = ""	
}

	
function ClearSubCheck(strField,intItemArrayIndexValue){
	var arrSubItem=arrItem[intItemArrayIndexValue][6].split(";")
	for (n=0; n<arrSubItem.length; n++){
		if (arrSubItem[n]!=""){
			for (m=0; m<myform[arrSubItem[n]].length; m++){
				myform[arrSubItem[n]][m].checked = false
			}
		}
	}
}
	
function ClearInput(strField){
	if (strField!=""){
		var arrInputItem = strField.split(";")
		for (n=0; n<arrInputItem.length; n++)	{
			if (arrInputItem[n]!=""){
				myform[arrInputItem[n]].value = ""					
			}
		}
	}
}


function showTestInfo(){
	//window.document.all.TestInfo.innerHTML = "sLogicPath:"+sLogicPath+"<BR>sJumpOverPage:"+sJumpOverPage;
}