﻿
var ErrorMsg;



function IsNumberBetween(obj,QsnID,GroupID)
{
	if(obj.value.length==0) return true;
	if( IsNumber(obj)==false) return false;
	 
	var NoBrObj =document.getElementById("cpq_"+QsnID);
	if(NoBrObj==false) return true;
	if(GroupID.length>0) GroupID="_"+GroupID;
	var dMin, dMax;
	dMin=eval("NoBrObj.min"+GroupID); dMax=eval("NoBrObj.max"+GroupID)
	if(!dMin ||  !dMax) return true;
	 
	if(parseInt(obj.value ) < parseInt(dMin) || parseInt(obj.value )> parseInt(dMax))
	{ 
		alert(GetLanguageText2("不合适的数值!\r\n请输入一个在 "+dMin+" 和 "+dMax+" 之间的数值！"));
		obj.focus();
		return true;
	}
	return true;
}

function PrintPage(obj) { obj.style.display='none'; window.print(); } 
 function ChangeSelect(){ 
 var arrObjs = document.getElementsByTagName('select');  for(var i=0;i<arrObjs.length;i++) {  if(arrObjs[i].options.length>0 && (! arrObjs[i].size || arrObjs[i].size<2))   arrObjs[i].size=arrObjs[i].options.length; } 
}

//获取选项选中的数量还有最大最小；
function CheckOptionSelected()
{
	ErrorMsg="";
	var QsnType,tblObj,QsnID ;
	var nobrObjs = document.getElementsByTagName("NOBR");
	var arrInput,arrSelect,arrObjs,arrQsnObjs ;
	if(!nobrObjs ) return true;
	for(var i=0;i<nobrObjs.length;i++)
	{
		if(nobrObjs[i].id && nobrObjs[i].id.length>0 )
		{
			QsnID=nobrObjs[i].id.substring(4,nobrObjs[i].id.length);
			tblObj=document.getElementById("tblop_"+QsnID);
			if(!tblObj) document.getElementById("tblq_"+QsnID);
			if(!tblObj)
			{
				for(var j=0;j<document.body.all.length-1;j++)
				{
					if(document.body.all[j]==nobrObjs[i])
					{
						tblObj=document.body.all[j+1];
					}
				}
							
			}	
			if(!tblObj)  continue;
			QsnType=nobrObjs[i].type;
			arrObjs = new Array();arrQsnObjs = new Array();

			var  bAnswered=false,TDObj;
			var LastName,CurName,FirstObj,GroupIndex=0,s;
			if( QsnType =="mtx" || QsnType =="mst") 
			{
				if(tblObj.tagName!="TABLE") continue;
				for(var j=0;j<tblObj.rows.length;j++)
				{
					if(tblObj.rows[j].style.display=="none") continue;					 
						
					for(var k=0;k<tblObj.rows[j].cells.length;k++)
					{ 
						if(tblObj.rows[j].cells[k].style.display=="none")continue;
						
						arrInput=tblObj.rows[j].cells[k].getElementsByTagName("INPUT");
						if(arrInput && arrInput.length>0)
						arrObjs =arrObjs.concat(arrInput);							
					}					
					 
					LastName="";CurName="";FirstObj=null,SelectedNum=0;
					bAnswered=false;GroupIndex=-1; 
					//总的问题是否必答				
					for(var k=0;k<arrObjs.length+1;k++)
					{				
						if(k<arrObjs.length)
							CurName=arrObjs[k].name;	
						//换一组
						if(LastName.length>0 && (LastName!=CurName || k==arrObjs.length && GroupIndex>-1 && FirstObj!=null))
						{
							s="";
							eval("s=nobrObjs[i].ismust_"+GroupIndex);
							
							if(s=="1" && SelectedNum==0)
							{
								if(FirstObj!=null) FirstObj.focus();
								ErrorMsg="此问题是必答，请回答！";												
								return false;
							}
							s="";
							eval("s=nobrObjs[i].minoption_"+GroupIndex)
							if(s && s.length>0 && SelectedNum< parseInt(s))
							{
								if(FirstObj!=null) FirstObj.focus();
								ErrorMsg="此问题至少要选择"+s+"项！";												
								return false;
							}
							s="";
							eval("s=nobrObjs[i].maxoption_"+GroupIndex)
							if(s && s.length>0 && SelectedNum> parseInt(s))
							{
								if(FirstObj!=null) FirstObj.focus();
								ErrorMsg="此问题最多要选择"+s+"项！";												
								return false;
							}
							if(k==arrObjs.length) break;
							SelectedNum=0;
						}
						
						 
						if(arrObjs [k].type=="text")
						{
							if(arrObjs[k].value.length>0)
							{
								//bGroupAnswered=true;
								SelectedNum++;
								//break;
							}
						}else
						{
							if(arrObjs[k].checked)
							{
								//bGroupAnswered=true;
								//break;
								SelectedNum++;
							}
	
						}
						if(LastName!=CurName || FirstObj==null) 
						{
							FirstObj=tblObj.rows[j].all[k];
							LastName=CurName; 
							GroupIndex++;
							
						}
						
						if(SelectedNum>0) bAnswered =true;
					}	
					
					//总的问题必答；既行问题必答
					if(!bAnswered && nobrObjs[i].ismust &&  nobrObjs[i].ismust==1)  
					{
						if(arrObjs.length>0) arrObjs[0].focus();
						ErrorMsg="此问题是必答，请回答！";	
						return false;
					}
					arrObjs = new Array();		
				}						

			}
			else
			{
				FirstObj=null;
				SelectedNum=0;
				arrInput=tblObj.getElementsByTagName("INPUT");
				arrSelect=tblObj.getElementsByTagName("SELECT");
				for(var k=0;k<arrInput.length;k++)
				{
					if(FirstObj!=null) FirstObj=arrInput[0];
					if(arrInput[k].type=="text")
					{
						if(arrInput[k].value.length>0)
						{
							SelectedNum++;
						}
					}else
					{
						if(arrInput[k].checked)
						{
							SelectedNum++;
						}

					}
				}

				for(var k=0;k<arrSelect.length;k++)
				{
					if(FirstObj!=null) FirstObj=arrSelect[0];
					if(!arrSelect[k].id || arrSelect[k].id.length==0 ||   arrSelect[k].id.toLowerCase().indexOf("_s")<0)
					{
						for(var n=0;n<arrSelect[k].options.length;n++)
						{
							if(arrSelect[k].options[n].selected && arrSelect[k].options[n].value.length>0 && arrSelect[k].options[n].value!=" " )
							{
								SelectedNum++;
							}
						}
					}
					 
				}	
				
				if(!bAnswered && nobrObjs[i].ismust &&  nobrObjs[i].ismust==1)  
				{
					if(FirstObj !=null) FirstObj .focus();
					ErrorMsg="此问题是必答，请回答！";	
					return false;
				}
				s=nobrObjs[i].minoption;
				if(s && s.length>0 && SelectedNum< parseInt(s))
				{
					if(FirstObj!=null) FirstObj.focus();
					ErrorMsg="此问题至少要选择"+s+"项！";												
					return false;
				}
				s=nobrObjs[i].maxoption;
				if(s && s.length>0 && SelectedNum> parseInt(s))
				{
					if(FirstObj!=null) FirstObj.focus();
					ErrorMsg="此问题最多要选择"+s+"项！";												
					return false;
				}
			
			}			
		}	
	}
	return true;
}


function CheckIsMust()
{
	var QsnType,tblObj,QsnID ;
	var nobrObjs = document.getElementsByTagName("NOBR");
	var arrInput,arrSelect,arrObjs,arrQsnObjs ;
	if(!nobrObjs ) return true;
	for(var i=0;i<nobrObjs.length;i++)
	{
		if(nobrObjs[i].id && nobrObjs[i].id.length>0  && nobrObjs[i].ismust && nobrObjs[i].ismust=="1")
		{
			QsnID=nobrObjs[i].id.substring(4,nobrObjs[i].id.length);
			tblObj=document.getElementById("tblop_"+QsnID);
			if(!tblObj) document.getElementById("tblq_"+QsnID);
			if(!tblObj)
			{
				for(var j=0;j<document.body.all.length-1;j++)
				{
					if(document.body.all[j]==nobrObjs[i])
					{
						tblObj=document.body.all[j+1];
					}
				}
							
			}	
			if(!tblObj)  continue;
			QsnType=nobrObjs[i].type;
			arrObjs = new Array();arrQsnObjs = new Array();

			var bGroupAnswered=false;bAnswered=false,TDObj;
			var LastName,CurName,FirstObj,GroupIndex=0;
			if( QsnType =="mtx" || QsnType =="mst") 
			{
				if(tblObj.tagName!="TABLE") continue;
				for(var j=0;j<tblObj.rows.length;j++)
				{
					if(tblObj.rows[j].style.display=="none") continue;
					 
						
					for(var k=0;k<tblObj.rows[j].cells.length;k++)
					{ 
						if(tblObj.rows[j].cells[k].style.display=="none")continue;
						
						arrInput=tblObj.rows[j].cells[k].getElementsByTagName("INPUT");
						if(arrInput && arrInput.length>0)
						arrObjs =arrObjs.concat(arrInput);							
					}
					
					//arrQsnObjs =arrQsnObjs .concat(arrObjs ); 					 
					 
					LastName="";CurName="";FirstObj=null;
					bAnswered=false;GroupIndex=-1;bGroupAnswered=false;
					//总的问题是否必答				
					for(var k=0;k<arrObjs.length;k++)
					{				
						CurName=arrObjs[k].name;	
						if(LastName.length>0 && LastName!=CurName && bAnswered==false 
							&& nobrObjs[i].ismustgroup && nobrObjs[i].ismustgroup.indexOf("_"+GroupIndex)>-1 )//组没有回答
						{			
							if(FirstObj!=null) FirstObj.focus();												
							return false;
						}else
							bGroupAnswered=false;	 
						if(arrObjs [k].type=="text")
						{
							if(arrObjs[k].value.length>0)
							{
								bGroupAnswered=true;
								break;
							}
						}else
						{
							if(arrObjs[k].checked)
							{
								bGroupAnswered=true;
								break;
							}
	
						}
						if(LastName!=CurName || FirstObj==null) 
						{
							FirstObj=tblObj.rows[j].all[k];
							LastName=CurName; 
							GroupIndex++;
							
						}
						
						if(bGroupAnswered) bAnswered =true;
					}	
					if( bGroupAnswered==false && FirstObj && GroupIndex>-1 &&  nobrObjs[i].ismustgroup && nobrObjs[i].ismustgroup.indexOf("_"+GroupIndex)>-1)
					{
						FirstObj.focus();												
						return false;
					}
					
					if(!bAnswered )  //行没有回答
					{
						if(arrObjs.length>0) arrObjs[0].focus();
						return false;
					}
					arrObjs = new Array();
		
				}
				
				//总的问题是否必答				
				for(var k=0;k<arrQsnObjs.length;k++)
				{
					 
					if(arrQsnObjs[k].type=="text")
					{
						if(arrQsnObjs[k].value.length>0)
						{
							bAnswered=true;
							break;
						}
					}else
					{
						if(arrQsnObjs[k].checked)
						{
							bAnswered=true;
							break;
						}

					}
				}
				
				if(!bAnswered )  
				{
					if(arrQsnObjs.length>0) arrQsnObjs[0].focus();
					return false;
				}
					
				//return true;

			}
			else
			{
				bAnswered=false;
				arrInput=tblObj.getElementsByTagName("INPUT");
				arrSelect=tblObj.getElementsByTagName("SELECT");
				for(var k=0;k<arrInput.length;k++)
				{
					if(arrInput[k].type=="text")
					{
						if(arrInput[k].value.length>0)
						{
							bAnswered=true;
							break;
						}
					}else
					{
						if(arrInput[k].checked)
						{
							bAnswered=true;
							break;
						}

					}
				}

				for(var k=0;k<arrSelect.length;k++)
				{
					if(arrSelect[k].selectedIndex>-1 &&  arrSelect[k].value.length>0 && arrSelect[k].value!=" " &&
					  (!arrSelect[k].id || arrSelect[k].id.length==0 ||   arrSelect[k].id.toLowerCase().indexOf("_s")<0) )
					{
						bAnswered=true;
						break;
					}
				}				
			}			
		}
	
	}

}


function HiddenRow(tblID,RowIndex)
{
	var tblObj ;
	try{
		if(tblID.innerHTML)
		{
			tblObj=tblID;
		}else
		{
			tblObj=document.getElementById(tblID);
		}
	}catch(e)
	{
		tblObj = document.getElementById(tblID);
	}
	if(tblObj.rows.length>2)
	{
		try{
			if(tblObj.rows[0].getElementsByTagName("input").length==0)
			{
				RowIndex++;
			}
		}catch(e) { RowIndex++; }
		try{
			if(tblObj.rows[1].getElementsByTagName("input").length==0)
			{
				RowIndex++;
			}
		}catch(e) { RowIndex++; }

	}
	 
	if(tblObj.rows.length>RowIndex)
		tblObj.rows[RowIndex].style.display="none";
	
}

function DeleteRow(tblID,RowIndex)
{
	var tblObj ;
	try{
		if(tblID.innerHTML)
		{
			tblObj=tblID;
		}else
		{
			tblObj=document.getElementById(tblID);
		}
	}catch(e)
	{
		tblObj = document.getElementById(tblID);
	}
	if(tblObj.rows.length>2)
	{
		try{
			if(tblObj.rows[0].getElementsByTagName("input").length==0)
			{
				RowIndex++;
			}
		}catch(e) { RowIndex++; }
		try{
			if(tblObj.rows[1].getElementsByTagName("input").length==0)
			{
				RowIndex++;
			}
		}catch(e) { RowIndex++; }

	}
	 
	if(tblObj.rows.length>RowIndex)
		tblObj.deleteRow(RowIndex);
	
}

function RandomOptions(qsnname)
{
	var Objs = document.getElementsByName(qsnname);	
	var tblOptionObj=document.getElementById("tbl"+qsnname);
	var lblObjs = new Array ;
	var items = new Array();
	var itemsText = new Array();
	var itemsValue = new Array();

	if(Objs && Objs.length==1 && Objs.tagName=="SELECT")
	{
		for(var i=1;i<	Objs[0].options.length;i++)
		{
			items[items.length] =Objs[0].options[i];
			itemsText [itemsText .length]=Objs[0].options[i].text;
			itemsText [itemsValue .length]=Objs[0].options[i].value;
		}
	}else
	{
		var objs2=new Array();
		if(tblOptionObj)
		{
			objs2 = document.getElementsByTagName("label");
		 
		}else
		{
			objs2 = document.getElementsByTagName("label");
			
		}
		for(var i=0;i<objs2.length ;i++)
		{
			if(objs2[i].id.indexOf(qsnname)>-1)
			{
				lblObjs[lblObjs.length]=objs2[i];
			}			
		}		
		
		
		if(lblObjs && lblObjs.length>0)
		{
		//alert(Objs.length+"=="+lblObjs .length);
			for(var i=0;i<Objs.length;i++ )
			{
				
				if(Objs[i].value.indexOf("other")==-1)
				{
					items[items.length]=Objs[i];
					itemsText [itemsText .length]=lblObjs[i].innerText;
					itemsValue [itemsValue .length]=Objs[i].value;
				}	
			}	
		}
	}
	
	if(items && items.length>0)
	{
		var s,s1,s2,l;
		var num1=0;
		var num2=10;
		var arrRadom = new Array(items.length);
		var arrRadom2 = new Array();

		for(var i=0;i<items.length;i++)
		{
			arrRadom[i]=-1;
		}
		l =items.length.toString().length; 
		num2=("1000000".substring(0,1+l))*1;
		while(num1<items.length-1)
		{
			//window.status=Math.random()*num2;		 
		  s= Math.random()*(num2*1); //window.status=s;		   
		  s1 = s.toString().substring(0,l)*1;  
		  s2 = (s1*1)%items.length;
		  if(arrRadom [s2]=="-1")
		  {
		  	arrRadom2 [num1]=s2;
		  	arrRadom [s2]="1";		
		  	num1++;  	
		  }
		}
		//alert(items.length);
		for(var i=0;i<items.length;i++)
		{
			if(arrRadom[i]==-1)
			{
				arrRadom2 [items.length-1]=i;
				break;
			}
		}
		if(Objs && Objs.length==1 && Objs.tagName=="SELECT")
		{
			for(var i=0;i<arrRadom2 .length;i++)
			{
				items[i].text=itemsText [arrRadom2 [i]];
				items[i].value=itemsValue [arrRadom2 [i]];
			}
		}else
		{
			//alert(arrRadom2 .length);
			for(var i=0;i<arrRadom2 .length;i++)
			{
				//alert(arrRadom2 [i]);
				items[i].value=itemsValue [arrRadom2 [i]];
				lblObjs[i].innerText=itemsText [arrRadom2 [i]];		
			}
		}		
	} 
}


function SetResponseValue(ResponseParam ) 
{
	var n,optionValue,Content;
	for(var p in ResponseParam )
	{
		Content=ResponseParam[p];
		n =p.lastIndexOf("_");
		optionValue=p.substring(n+1);
			
		p = p.substring(0,n);
		var objs = document.getElementsByName("op_"+p);
		
		var cObj;
		if(objs)
		{ 
			if(objs.length==1 && objs[0].tagName=="SELECT")
			{
				var bMacth=false;
				
				for(var i=0;i<objs[0].options.length;i++)
				{
					if(objs[0].options[i].value==Content)
					{
						bMacth=true; objs[0].options[i].selected=true;
					}
				}
				if(bMacth==false)
				{
					var sourceObj=document.getElementById(objs[0].id+"_s");
					if(sourceObj)
					{
						for(var i=0;i<sourceObj.options.length;i++)
						{
							if(sourceObj.options[i].value==Content)
							{
								objs[0].option.add(new Option(sourceObj.options[i].text,sourceObj.options[i].value));
								sourceObj.options.remove(i);
								break;
							}
						}
					
					}
				
				}
				
			}else
			if(objs.length==1 && (objs[0].tagName=="INPUT" && objs[0].type=="text" 
				|| objs[0].tagName=="TEXTAREA" ))
			{
				objs[0].value=Content;
			}else
			{
				for(var i=0;i<objs.length;i++)
				{
						
					if(objs[i].value==optionValue)
					{						
						objs[i].checked=true;
						break;
					}else if(objs[i].value==optionValue+"_other")
					{
							
						cObj=document.getElementById(p+"_"+optionValue+"_othertext");
						if(cObj) cObj.value=Content;
						objs[i].checked=true;
						break;
					}
				
				}
			
			}
		}
	}
}


function CheckOtherOption(obj)
{
	var CID = obj.id;
	var i= CID.lastIndexOf("_");
	if(i<0) return;
	
	var OtherCheckID =CID.substring(0,i)+"_checkedother";
	var checkObj = document.getElementById(OtherCheckID);
	if(checkObj) checkObj.checked= true;
}


 
function HiddenGroup(tblObjID,cellIndex,mType)
{
  var FirstRowStartIndex=parseInt(cellIndex);
  var NextRowStartIndex=parseInt(cellIndex);
 var tblObj;
 try{
 if(! tblObjID.innerHTML)
	tblObj =document.getElementById(tblObjID);
else
	tblObj=tblObjID;
} catch(e){ tblObj=tblObjID; }
 if(!tblObj || tblObj.rows.length==0) return;
 if(mType==null) mType="none";

  var cellStart=0,cellLength;
  
  for(var i=0;i<FirstRowStartIndex;i++)
  {
  	 
  	 if(tblObj.rows[0].cells[i].colSpan && tblObj.rows[0].cells[i].colSpan>1)
	  	cellStart= cellStart + tblObj.rows[0].cells[i].colSpan* 1;
	  else
	  	cellStart++;  
	   
  }
  var bHasSplitTD=false;
  
  tblObj.rows[0].cells[FirstRowStartIndex].style.display=mType;
  if(tblObj.rows[0].cells.length>(FirstRowStartIndex+1))
  {
	bHasSplitTD=true; tblObj.rows[0].cells[FirstRowStartIndex+1].style.display=mType;
  }
  
  NextRowStartIndex= cellStart;
 
  if(tblObj.rows[0].cells[FirstRowStartIndex].colSpan && tblObj.rows[0].cells[FirstRowStartIndex].colSpan>1)
  	cellLength = tblObj.rows[0].cells[FirstRowStartIndex].colSpan* 1;
  else
  	cellLength =1;
  	
  	if(cellLength ==null || cellLength ==0) cellLength =1;
  	//alert(cellLength );
  	for(var i=1;i<tblObj.rows.length;i++)
  	{
  		cellStart=NextRowStartIndex;
	   
  		for(var k=0;k<tblObj.rows[i].cells.length; )
  		{
  			if(i>0 && tblObj.rows[i-1].cells[k] && tblObj.rows[i-1].cells[k].rowSpan && tblObj.rows[i-1].cells[k].rowSpan>1)
  			{  		
  				//alert(tblObj.rows[i].cells[k].outerHTML);	 
  				if(k<cellStart){ cellStart--;  }
  			} 
  			if(k>=cellStart && k<(cellStart+cellLength )*1 )
  			{
  				tblObj.rows[i].cells[k].style.display=mType;
  				if(bHasSplitTD && tblObj.rows[i].cells.length>(k+1))
  					tblObj.rows[0].cells[k+1].style.display=mType;
  			}
  			if(tblObj.rows[i].cells[k].colSpan && tblObj.rows[i].cells[k].colSpan>1)
  			{
  				k= (k+( tblObj.rows[i].cells[k].colSpan*1))*1;  			
  			}else
  				k++;  			 		
  		}
  	
  	}
  	
  	
}

function GetUrlParamID(urlparam)
{
	
	if(urlparam.length==0) return "";
	if(urlparam.substring(urlparam.length-1,urlparam.length) != "=" ) urlparam+="=";
	//alert(urlparam);
	var s1="";
	var s=window.location.search.toString().toLowerCase();
	s=s.replace("?","&");
	var i=s.indexOf("&"+urlparam);
	if(i<0)
		i=s.indexOf("?"+urlparam);
	if(i<0) return "";	
	i++;
	var j = s.indexOf("&",i+urlparam.length);
	if(j==-1)
		s1 = window.location.search.toString().substring(i+urlparam.length);
	else
		s1 = window.location.search.toString().substring(i+urlparam.length,j);	
	//alert(s1);
	return s1;
} 	

function GetSurveyID()
{
	return GetUrlParamID("sid");
} 	

function CheckOtherOption(obj)
{
	var CID = obj.id;
	var i= CID.lastIndexOf("_");
	if(i<0) return;
	
	var OtherCheckID =CID.substring(0,i)+"_checkedother";
	var checkObj = document.getElementById(OtherCheckID);
	if(checkObj) checkObj.checked= true;
}

function ReplaceAll(orgString,fndString,repString)
{
	if(fndString.length==0 || orgString.length==0 || fndString==repString ) return orgString;
	var i=0,s="";
	while( orgString.length>0 && (i= orgString.indexOf(fndString))>-1)
	{
		s += orgString.substring(0,i)+repString;
		orgString = orgString.substring(i+fndString.length,orgString.length);
	}
	if(orgString.length>0) s+=orgString;
	return s;	
}

function Trim(s)
{
	if(!s || s==null || s==" " || s=="\r" || s=="\n" || s=="\t" || s=="　") return "";
	return TrimR(TrimL(s));
}

function TrimL(s)
{
	while(s.length>0 && ( s.substring(0,1)==" " || s.substring(0,1)=="　" || s.substring(0,1)=="\r" || s.substring(0,1)=="\n" || s.substring(0,1)=="\t" ))
	{
		
		if(s.length==1)
		{ 
			s="";
			break;
		}else
			s=s.substring(1,s.length);
			
		
	}
	 
	while(s.length>6 &&  s.substring(0,6).toLowerCase()=="&nbsp;")
	{
		 

		if(s.length==6)
		{
			s="";
		}else
			s=s.substring(6,s.length);

	}
	return s;
}

function TrimR(s)
{
	while(s.length>0 &&  ( s.substring(s.length-1,s.length)==" " || s.substring(s.length-1,s.length)=="\r" || s.substring(s.length-1,s.length)=="\n" || s.substring(s.length-1,s.length)=="\t" || s.substring(s.length-1,s.length)=="　"))
	{
		 
		if(s.length==1)
		{
			s="";
			break
		}else
			s=s.substring(0,s.length-1);
	}
	while(s.length>6 &&  s.substring(s.length-6,s.length).toLowerCase()=="&nbsp;")
	{
		if(s.length==6)
		{
			s="";
		}else
			s=s.substring(0,s.length-6);
	}

	return s;
}



function chkstate(obj)
{
	var tblObj=obj.parentElement.parentElement.parentElement ;
	var trobj=obj.parentElement.parentElement;
	var tdobj = obj.parentElement;
	while(tblObj.tagName!="TABLE")
	{
		tblObj =tblObj .parentElement;
		if(tblObj.tagName =="TR") trobj=tblObj;
	}			
	var bHadOneSelect,b = obj.checked;	
	var i= 	trobj.rowIndex;
	var j= 	tdobj.cellIndex;	
	var canCheckNum=0,firstIndex=0;
	if(b)
	{
		for(var k=1;k<tblObj.rows[i].cells.length;k++)
		{
			if(k!=j)
			{
				tblObj.rows[i].cells[k].all[0].disabled=true;
			}
		}
		for(var k=1;k<tblObj.rows.length;k++)
		{
			if(k!=i)
			{
				
				tblObj.rows[k].cells[j].all[0].disabled=true;
			}
		}
		for(var l=1;l<tblObj.rows.length;l++)
		{
			canCheckNum=0;firstIndex=0;
			for(var m=1;m<tblObj.rows[l].cells.length;m++)
			{
				if(!tblObj.rows[l].cells[m].all[0].disabled && !tblObj.rows[l].cells[m].all[0].checked)
				{	
					canCheckNum++;
					if(firstIndex==0) firstIndex=m;
				}						
			}
								
			if(canCheckNum==1)
			{
				tblObj.rows[l].cells[firstIndex].all[0].checked=true;
			}			
		}
		
	}else
	{
		for(var k=1;k<tblObj.rows[i].cells.length;k++)
		{
			if(k!=j)
			{						
				bHadOneSelect=false;
				for(var l=1;l<tblObj.rows.length;l++)
				{
					if(tblObj.rows[l].cells[k].all[0].checked)
					{
						bHadOneSelect =true;
						break;								
					}							
				}
				if(!bHadOneSelect)
					tblObj.rows[i].cells[k].all[0].disabled=false;
			}
		}
						
		for(var k=1;k<tblObj.rows.length;k++)
		{
			if(k!=i)
			{
				bHadOneSelect=false;
				for(var l=1;l<tblObj.rows[k].cells.length;l++)
				{
					if(tblObj.rows[k].cells[l].all[0].checked)
					{
						bHadOneSelect =true;
						break;								
					}							
				}
				if(!bHadOneSelect)
						tblObj.rows[k].cells[j].all[0].disabled=false;
			}
		}
	
	}
	
			
}


function OptionToOption(FromSelectID,ToSelectID)
{
	var FromSelectObj =document.getElementById(FromSelectID);
	var ToSelectObj =document.getElementById(ToSelectID);
	
	if(FromSelectObj.selectedIndex>-1)
	{
		ToSelectObj.options.add(new Option(FromSelectObj.options[FromSelectObj.selectedIndex].text,
			FromSelectObj.options[FromSelectObj.selectedIndex].value),ToSelectObj.options.length);
		FromSelectObj.options.remove(FromSelectObj.selectedIndex);		
		
	}	 
	
	
}
		



function getpos(element)
{
        if ( arguments.length != 1 || element == null )
        {
               return null;
        }
        var elmt = element;
        var offsetTop = elmt.offsetTop;
        var offsetLeft = elmt.offsetLeft;
        var offsetWidth = elmt.offsetWidth;
        var offsetHeight = elmt.offsetHeight;
        while( elmt = elmt.offsetParent )
        {
                // add this judge
                if ( elmt.style.position == 'absolute'
//              || elmt.style.position == 'relative'
                || ( elmt.style.overflow != 'visible' && elmt.style.overflow != '' ) )
                {
                        break;
                }
                offsetTop += elmt.offsetTop;
                offsetLeft += elmt.offsetLeft;
        }
        return {top:offsetTop, left:offsetLeft, right:offsetWidth+offsetLeft, bottom:offsetHeight+offsetTop };
}

//DataLength
function b_strlen(fData)
{
	var intLength=0;
	for (var i=0;i<fData.length;i++)
	{
		if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
			intLength=intLength+2;
		else
			intLength=intLength+1;   
	}
	return intLength;
}

function IsIE()
{
	return document.all ? true : false;
}

function copyToClipboard(txt)
{
	if (window.clipboardData)
	{
		window.clipboardData.clearData();
		window.clipboardData.setData("Text", txt);
	}
	else if (navigator.userAgent.indexOf("Opera") != -1)
	{
		window.location = txt;
	}
	else if (window.netscape)
	{
		try
		{
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		}
		catch (e)
		{
			alert("您的firefox安全限制限制您进行剪贴板操作，请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试");
			return false;
		}
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip)
			return false;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans)
			return false;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes['@mozilla.org/supports-string;1'].createInstance(Components.interfaces.nsISupportsString);
		var copytext = txt;
		str.data = copytext;
		trans.setTransferData("text/unicode",str,copytext.length*2);
		var clipid = Components.interfaces.nsIClipboard;
		if (!clip)
			return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
	}
	return true;
}



function _commentImageResize(thisobj , limit)
{
        if(thisobj.width > limit)
        {
                thisobj.height = parseInt(limit*thisobj.height/thisobj.width);
                thisobj.width = limit;
        }

}

String.prototype.trim = function()
{
    return this.replace(/(^[\s]*)|([\s]*$)/g, "");
}
String.prototype.lTrim = function()
{
    return this.replace(/(^[\s]*)/g, "");
}
String.prototype.rTrim = function()
{
    return this.replace(/([\s]*$)/g, "");
}

function getDays(year , month)
{
	var dayarr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	if(month == 2)
	{
		if((year%4 == 0 && year%100 != 0) || year%400 == 0 || year < 1900)
			return 29;
		else
			return dayarr[month-1];
	}
	else
	{
		return dayarr[month-1];
	}
}

function extractNodes(pNode)
{
	if(pNode.nodeType == 3)
	{
		return null;
	}
	var node,nodes = new Array();
        for(var i=0 ; node= pNode.childNodes[i] ; i++)
        {
		if(node.nodeType == 1)
		{
			nodes.push(node);
		}
        }
        return nodes;
}
