//creat xmlhttprequest
var request=null;
function createRequest(){
	try{
		request=new XMLHttpRequest();
	}catch(try_ms){
		try{
			request=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(try_ms_old){
			try{
				request=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(failed){
				request=null;
			}
		}
	}
	if(request==null){
		alert("Error creating request object!!");
	}
}
//檢驗身分證
function JoinIdQuery(field){
	err_msg="";
	  obj=document.getElementById('boss_id');
	if(obj.value.length!=0){
		var str=new Array();
		var strtmp=new Array();
		
		if((obj.value.length!=10)&&(obj.value.length!=8)){
			err_msg+="身份證長度需為10碼\n";
		}else {
			if(obj.value.length==10){
				for(i=0;i<obj.value.length;i++){
					idStr=obj.value;
					str[i]=idStr.charAt(i);	  
				}
				if((str[0]>="a".charAt(0)&&str[0]<="z".charAt(0))||
		   		   (str[0]>="A".charAt(0)&&str[0]<="Z".charAt(0))){
					str[0]=str[0].toUpperCase();
					str[0]=str[0].charCodeAt(0)-55;
					
					if((Number(str[0])>18)&&(Number(str[0])<24)){
						str[0]=Number(str[0])-1;  
					}else if((str[0]>24)&&(str[0]<32)){
						str[0]=Number(str[0])-2;	  
					}else if((str[0]>32)&&(str[0]<36)){
						str[0]=Number(str[0])-3;	  
					}else if(str[0]==18){
						str[0]=34;  
					}else if(str[0]==24){
						str[0]=35;
					}else if(str[0]==32){
						str[0]=32;
					}
					
					str1tmp=str[0].toString();
					strtmp[0]=str1tmp.charAt(0);
					strtmp[1]=str1tmp.charAt(1);
					str.shift();
					str.unshift(strtmp[0],strtmp[1]);
					str[0]=str[0]*1;
					strSun=str[0];
					for(k=1;k<10;k++){
			 			str[k]=Number(str[k])*(10-k)
						strSun=Number(strSun)+Number(str[k]);
					} 
					mod=strSun%10;
					if(mod==0){
						mod=10;  
					}
					checksun=10-mod;
					if(str[10]!=checksun){
						err_msg+="請輸入正確的身份證字號，謝謝!!\n";
					}
				}else{
					err_msg+="身份證第一碼請輸入英文\n"; 
				}
			}
		}
	}
	if(err_msg.length>1){
		alert(err_msg);
		field.value="";
		field.focus();
	}	
}


//檢查E-mail
function chk_email(field){
	/*var at=0;
	var dot=0;
	var i,j;
	var errMsg="";
	if(field.value.length!=0){
    	var str=new Array();    
		for(i=0;i<field.value.length;i++){	  
		  	mailStr=field.value.length;		  	
			str[i]=field.value.charAt(i);			  
		}		
		for(j=0;j<field.value.length;j++){		  
		  	if(str[j]=="@"){
		  		at=at+1;  
		  	}if(str[j]=="."){
		  	    dot=dot+1;
			}if((str[j]=="/")||(str[j]=="*")||(str[j]=="#")||(str[j]=="!")||(str[j]=="(")||(str[j]==")")||(str[j]=="\\") ||(str[j]=="'") || (str[j]=="|")){
			 	errMsg+="不可包含特殊字元\n";
			}
		}
		if(at==0){
	  		errMsg+="請輸入正確的e-mail！\n";  
		}
	  	if(at>1){
	  	  	errMsg+="只可輸入一個'@'\n";
	  	}
	  	if(dot==0){
		  	errMsg+="輸入的e-mail錯誤！\n";
		}
		for(x=0;x<field.value.length-1;x++){
			if(str[x]==str[x+1]){
		  	  	if(str[x]=="."){
		  	  	  	  errMsg+="不可連續輸入二個'.'\n";	
		  	  	}		  	  	
			}
			if((str[x]==".") && (str[x+1]=="@") || (str[x]=="@") && (str[x+1]==".")){
		    	errMsg+="輸入e-mail格式錯誤！\n";  
		  	}
		}		
	}
	if(errMsg.length>1){
		alert(errMsg);
		field.value="";
		field.focus();
	}
	*/
}
//小數點後兩位
function  ForDight(Dight,len){ 
	Dight=Math.round(Dight*Math.pow(10,len))/Math.pow(10,len);  
	return Dight;  
}
//數字三位一撇
function format(str){
	str=String(str);
	var tmp2=new Array;
	var tmp1=str.split(".")[0].match(/./g).reverse();
	len=tmp1.length;
	j=0;
	for(i=0;i<len;i++){
		tmp2[j]=tmp1[i];
		j++;
		if((i%3==2)&&(i!=(len-1))){
			tmp2[j]=",";
			j++;
		}
	}
	tmp2=tmp2.reverse().join("")
	if(str.split(".")[1]){
		tmp3=ForDight(str-str.split(".")[0],2)*100;
		return (tmp2+"."+tmp3);
	}else{
		return (tmp2);
	}
}
//禁止輸入數字
function noNum(event){
	alert(typeof event);
	if(typeof event == 'undefined'){
		event=window.event;
	}
	if((event.keyCode>47)&&(event.keyCode<58)){
		event.preventDefault();
		event.returnValue=false;
	}
}
//只允許數字輸入
function onlyNum(event){
	if(typeof event == 'undefined'){
		event=window.event;
	}
	if((event.keyCode<47)||(event.keyCode>58)){
		event.preventDefault();
		event.returnValue=false;
	}
}
//add body load listener
function addLoadListener(fn){
	if(typeof window.addEventListener != 'undefined'){
		window.addEventListener('load',fn,false);
	}else if(typeof document.addEventListener != 'undefined'){
		document.addEventListener('load',fn,false);
	}else{
		var oldfn=window.onload;
		if(typeof window.onload != 'function'){
			window.onload=fn;
		}else{
			window.onload=function(){
				oldfn();
				fn();
			};
		}
	}
}
//依屬性質擷取元素
function getElementsByAttribute(attribute,attributeValue){
	var eleentArray=new Array();	//所有元素的陣列
	var matchedArray=new Array();
	if(document.all){
		elementArray=document.all;
	}else{
		elementArray=document.getElementsByTagName("*");
	}
	for(var i=0;i<elementArray.length;i++){
		//針對class做特別處理
		if(attribute=="class"){
			var pattern=new RegExp("(^| )"+attributeValue+"( |$)");
			if(pattern.test(elementArray[i].className)){
				matchedArray[matchedArray.length]=elementArray[i];
			}
		//針對label for屬性做處理
		}else if(attribute == "for"){
			if(elementArray[i].getAttribute("htmlFor")||elementArray[i].getAttribute("for")){
				if(elementArray[i].htmlfor==attributeValue){
					matcedArray[matchedArray.length]=elementArray[i]
				}
			}
		}else if(elementArray[i].getAttribute(attribute)==attributeValue){
			matchedArray[matchedArray.length]=elementArray[i];
		}
	}
	return matchedArray;
}
//add target event listener
function attachEventListener(target,eventType,functionRef,capture){
	if(typeof target.addEventListener != 'undefined'){
		target.addEventListener(eventType,functionRef,capture);
	}else if(typeof target.attachEvent != 'undefined'){
		var functionString=eventType+functionRef;
		target["e"+functionString]=functionRef;
		target[functionString]=function(event){
			if(typeof event == "undefined"){
				event=window.event;
			}
			target["e"+functionString](event);
		};
		target.attachEvent("on"+eventType,target[functionString]);
	}else{
		eventType="on"+eventType;
		if(typeof target[eventType]=='function'){
			var oldListener=target[eventType];
			target[eventType]=function(){
				oldListener();
				return functionRef();
			};
		}else{
			target[eventType]=functionRef;
		}
	}
}
function detachEventListener(target,eventType,functionRef,capture){
	if(typeof target.removeEventListener != 'undefined'){
		target.removeEventListener(eventType,functionRef,capture);
	}else if(typeof target.detachEvent != 'undefined'){
		var functionString=eventType+functionRef;
		target.detachEvent("on"+eventType,target[functionString]);
		target["e"+functionString]=null;
		target[functionString]=null;	
	}else{
		target['on'+eventType]=null;	
	}

}
function getEventTarget(event){
	var targetElement=null;
	if(typeof event.target != "undefined"){
		targetElement=event.target;
	}else{
		targetElement=event.srcElement;
	}
	//若指定為文字節點時
	while((targetElement.nodeType==3)&&(targetElement.parentNode != null)){
		targetElement=targetElement.parentNode;
	}
	return targetElement;
}
//
function getScrollingPosition(){
	var postion=[0,0];
	if(typeof window.pageYOffset != "undefined"){
		position=[window.pageXOffset,window.pageYOffset];
	}else if(typeof document.documentElement.scrollTop != "undefined" && document.documentElement.scrollTop>0){
		position=[document.documentElement.scrollLeft,document.documentElement.scrollTop];
	}else if(typeof document.body.scrollTop != "undefined"){
		position=[document.body.scrollLeft,document.body.scrollTop];
	}
	return position;
}
function getViewportSize(){
	var size=[0,0];
	if(typeof window.innerWidth != 'undefined'){
		size=[window.innerWidth,window.innerHeight];
	}else if(typeof document.documentElement != 'undefined' && document.documentElement.clinetWidth != 'undefined' && document.documentElement.clientWidth !=0){
		size=[document.documnetElement.clientWidth,document.documentElement.clientHeight];	
	}else{
		size=[document.getElementsByTagName('body')[0].clientWidth,document.getElementsByTagName('body')[0].clientHeight];	
	}
	return size;
}
//high light row color
function highlighRow(obj,row_color){
	obj=document.getElementById(obj);
	count=obj.rows.length;
	var i=0;
	while(i<count){
		obj.rows[i].className="highlightRow";
		obj.rows[i].style.background=row_color;
		i+=2;
	}
}
//short for document.getElementById()
function _id(){ 
	var elements = new Array(); 
	for(var i = 0; i < arguments.length; i++){ 
		var element=arguments[i]; 
		if(typeof element=='string'){
			element=document.getElementById(element);
		}
		if(arguments.length==1){
			return element;
		}
		elements.push(element); 
	}
	return elements;
}
//msg block functions
function msg_block(){
	this._=_id;
	this.show_err=function(msg){
		this._('msg_img').innerHTML='<img src=images/error.gif>';
		this._('msg_content').style.color='#FF0000';
		this._('msg_content').innerHTML=msg;
	};
	this.show_info=function(msg){
		this._('msg_img').innerHTML='<img src=images/info.gif>';
		this._('msg_content').style.color='#0000FF';
		this._('msg_content').innerHTML=msg;
	};
	this.clear=function(){
		this._('msg_img').innerHTML='';
		this._('msg_content').innerHTML='&nbsp;';
	};
}
//補0
function chknumtoten(){
	if(arguments[0]<10){
		return '0'+arguments[0];
	}else{
		return arguments[0];	
	}
}
//自動大寫
function UpperStr(obj){
	if (obj.value.length >0){
		var a = obj.value.toUpperCase();
		_id(obj).value=a;	
	}
}
function insertAfter(newer,obj){
	if(obj.parentNode.lastChild == obj){
		obj.parentNode.appendChild(newer);
	}else{
		obj.parentNode.insertBefore(newer,obj.nextSibling);
	}
}

//比對陣列資料是否重複
Array.prototype.indexOf = function (vItem) {
	var i=0;
	while(i<this.length){
		if (vItem == this[i]) {
			return i;
		}
		i++;
	}
	return -1;
}
