/*
 *输入完成後自动跳至下一个指定文字栏位(AutoSkip)
 */
	var autoSkipSequenceArray = new Array();
	
	/*
	 *将想要自动移入的文字物件reference,依照顺序当成参数传入,如
	 *addElement(document.getElementById('t1'),document.getElementById('t2'),document.getElementById('t3'));
	 *此时,当t1输入的文字长度等於该栏位所规定的maxlength後,将自动移至t2做输入
	 */
	function addAutoSkipSequenceElement(){
		var inputLen = arguments.length;
		for(var i = 0;i< inputLen;i++){
			autoSkipSequenceArray.push(arguments[i]);
			addAutoSkipHandler(arguments[i]);
		}
	}
	
	/*event handler function for auto skip*/	
	function addAutoSkipHandler(o){
		o.onkeyup= autoSkipHandler;	
	}
	
	/*event handler function for auto skip*/	
	function autoSkipHandler(){
		
		var field = window.event.srcElement;
		/*skip textarea*/
		if(field.type=='textarea')
			return false;
		if(field.type=='hidden')
			return true;	
		
		/*先判断文字栏位长度,maxLength 预设值为2147483647,*/
		var maxLen = field.maxLength!=2147483647 ? field.maxLength: field.size? field.size : 6553555 ;
		var inputLen = field.value ? field.value.length : 0;
		if(inputLen < maxLen){
			return true;
		}

		/*必须不是特殊控制码才执行本动作,并不是所有key code都要*/
		key = window.event.keyCode;
		if(  48 > key ) return true;
		
		/*当输入长度等於最长长度後,自动focus下一个栏位*/
		if(inputLen == maxLen){
			for(var i = 0;i<autoSkipSequenceArray.length;i++){
				if(field.name == autoSkipSequenceArray[i].name){
					if(autoSkipSequenceArray[i+1] )
						autoSkipSequenceArray[i+1].focus();
						if(autoSkipSequenceArray[i+1].select) autoSkipSequenceArray[i+1].select();
				}
			}
		}
	}
/**********************************************************************************/
/*auto skip for all input field*/
function addAllAutoSkipElementHandler(d){
	d.onkeyup = allAutoSkipElementHandler;
}
function allAutoSkipElementHandler(){
	var field = event.srcElement; //input 栏位
	
	/*skip textarea*/
	if(field.type=='textarea')
		return false;
	
	/* if can't got the type, do nothing */
	if(!field.type)
		return false;
	
	/*先判断文字栏位长度,maxLength 预设值为2147483647,*/
	var maxLen = field.maxLength!=2147483647 ? field.maxLength: field.size? field.size : 6553555 ;
	var inputLen = field.value ? field.value.length : 0;
	if(inputLen < maxLen){
		return true;
	}
	
	/*必须不是特殊控制码才执行本动作,并不是所有key code都要*/
	key = window.event.keyCode;
	if(  48 > key ) return true;
	
	for (var i = 0; i < document.all.length; i++){//扫过document包含的所有物件
		var e = document.all(i);
		if (field == e){	//找到目前游标位置所拥有的index
			var currentIndex = i+1; //准备开始移至它下一个物件
			var exitIndex = currentIndex; //避免无穷?圈
			while(true){//跑无穷?圈,当element的条件为false,则自动再往下一个前进,直到是一个可以编辑的栏位才停止
				e = document.all(currentIndex); 
				var type = e? (e.type? e.type: '') : '';  //如果是input栏位且readonly,disabled都为false才能把游标移到它身上
				if(e && (type=='text' || type=='select-one'|| type=='radio'|| type=='button'|| type=='file'|| type=='checkbox')){
					if( !e.readOnly && !e.disabled){
						e.focus();
						if(e.select) e.select();
						break;
					}
				}
				if(exitIndex++ > document.all.length) break;
				//index + 1 并且避免index超过最大值
				currentIndex = (currentIndex + 1) % document.all.length;
			}
			return false;
		}
	}
}
/**********************************************************************************/

/*
*利用tab移至可输入的栏位,如果是readonly则不移入
*/
	/*event handler function for tab */	
	function addNextElementHandler(d){
		d.onkeydown = nextElementHandler;
	}
	
	/*event handler function for tab */	
	function nextElementHandler(){ 
		key = window.event.keyCode; 
     	if(key == 9){  //"TAB" keycode ,我们抓到这个event了!
			var field = event.srcElement; //按下tab时的游标所停留的input栏位
			for (var i = 0; i < document.all.length; i++){//扫过document包含的所有物件
				var e = document.all(i);
				if (field == e){//找到目前游标位置所拥有的index
					var currentIndex = i+1; //准备开始移至它下一个物件
					var exitIndex = currentIndex;//避免无穷?圈
					while(true){//跑无穷?圈,当element的条件为false,则自动再往下一个前进,直到是一个可以编辑的栏位才停止
						e = document.all(currentIndex); 
						var type = e? (e.type? e.type: '') : '';  //如果是input栏位且readonly,disabled都为false才能把游标移到它身上
						if(e && (type=='text' ||type=='textarea' || type=='select-one'|| type=='radio'|| type=='button'|| type=='file'|| type=='checkbox')){
							if( !e.readOnly && !e.disabled){
								e.focus();if(e.select) e.select();
								break;
							}
						}
						if(exitIndex++ > document.all.length) break;
						//index + 1 并且避免index超过最大值
						currentIndex = (currentIndex + 1) % document.all.length;
					}
					return false;
				}
			}
		}
	} 

