//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(){
	  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)){
				resetErr();
				_id('boss_id').style.background="#FFDDDD";
				_id('boss_id').style.borderColor="#BF6060";
				msg_block.show_err();
				id_err_msg='身份證長度需為10碼或統一編號為8碼 ';
				_id("msg_content").innerHTML='身份證長度需為10碼或統一編號為8碼';
				//alert("身份證長度需為10碼或統一編號為8碼");
				obj.value="";
				obj.focus();  
			}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]<35)){
						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;
					}else if(str[0]==35){
						str[0]=33;
					}
					str1tmp=str[0].toString();
					strtmp[0]=str1tmp.charAt(0);
					strtmp[1]=str1tmp.charAt(1);
					str.shift();
					str.unshift(strtmp[0],strtmp[1]);
					//alert(str.toString());
					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){
						resetErr();
						_id('boss_id').style.background="#FFDDDD";
						_id('boss_id').style.borderColor="#BF6060";
						msg_block.show_err();
						id_err_msg='請輸入正確的身份證字號 ';
						_id("msg_content").innerHTML='請輸入正確的身份證字號';
						//alert("請輸入正確的身份證字號，謝謝!!");  
						//obj.value="";
						//obj.focus();
					}else{
						id_err_msg='';
						chk_bossid();
					}
				}else{
					resetErr();
					_id('boss_id').style.background="#FFDDDD";
					_id('boss_id').style.borderColor="#BF6060";
					msg_block.show_err();
					id_err_msg='身份證第一碼請輸入英文 ';
					_id("msg_content").innerHTML='身份證第一碼請輸入英文';
					//alert("身份證第一碼請輸入英文"); 
					//obj.value="";
					//obj.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;
	}
	key=window.event?event.keyCode:event.which;
	if(((key<47)||(key>58))&&(key != 8)){
		if(window.event){
			event.returnValue=false;
		}else{
			event.preventDefault();
		}
	}
}

function onlyAlfaNum(event){
	if(typeof event=='undefined'){
		event=window.event;
	}
	key=window.event?event.keyCode:event.which;

	if(((key<48)||((key>57)&&(key<65))||((key>90)&&(key<97))||(key>122))&&(key != 8)&&(key !=45)){
		if(window.event){
			event.returnValue=false;
		}else{
			event.preventDefault();
		}
	}
}

//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.clientWidth != '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;
}
function getPageDimensions(){
	var body=document.getElementsByTagName('body')[0];
	var bodyOffsetWidth=0;
	var bodyOffsetHeight=0;
	var bodyScrollWidth=0;
	var bodyScrollHeight=0;
	var pageDimensions=[0,0];
	if(typeof document.documentElement != 'undefined' && typeof document.documentElement.scrollWidth != 'undefined'){
		pageDimensions[0]=document.documentElement.scrollWidth;
		pageDimensions[1]=document.documentElement.scrollHeight;
	}
	bodyOffsetWidth=body.offsetWidth;
	bodyOffsetHeight=body.offsetHeight;
	bodyScrollWidth=body.scrollWidth;
	bodyScrollHeight=body.scrollHeight;
	if(bodyOffsetWidth>pageDimensions[0]){
		pageDimensions[0]=bodyOffsetWidth;
	}
	if(bodyOffsetHeight>pageDimensions[1]){
		pageDimensions[1]=bodyOffsetHeight;
	}
	if(bodyScrollWidth>pageDimensions[0]){
		pageDimensions[0]=bodyScrollWidth;
	}
	if(bodyScrollHeight>pageDimensions[1]){
		pageDimensions[1]=bodyScrollHeight;
	}
	return pageDimensions;
}
//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];	
	}
}
Array.prototype.indexOf = function (vItem) {
	for (var i=0; i < this.length; i++) {
		if (vItem == this[i]) {
			return i;
		}
	}
	return -1;
}
function callalert(str,type){
	if(typeof YttJsonAlert != 'undefined'){
		tmp_ar=str.split("\n");
		if(tmp_ar.length==1){
			if(YttJsonAlert['tw'].indexOf(tmp_ar[0]) != -1){
				if(type=='confirm'){
					return confirm(YttJsonAlert[_id('lang_cb').value][YttJsonAlert['tw'].indexOf(tmp_ar[0])]);
				}else{
					alert(YttJsonAlert[_id('lang_cb').value][YttJsonAlert['tw'].indexOf(tmp_ar[0])]);
				}
			}else{
				if(type=='confirm'){
					return confirm(tmp_ar[0]);
				}else{
					alert(tmp_ar[0]);
				}
			}
		}else{
			a=0;
			new_str='';
			while(a<tmp_ar.length){
				if(YttJsonAlert['tw'].indexOf(tmp_ar[a]) != -1){
					new_str+=YttJsonAlert[_id('lang_cb').value][YttJsonAlert['tw'].indexOf(tmp_ar[a])]+"\n";
				}else{
					new_str+=tmp_ar[a]+"\n";
				}
				a++;
			}
			if(type=='confirm'){
				return confirm(new_str);
			}else{
				alert(new_str);
			}
		}
	}else{
		if(type=='confirm'){
			return confirm(str);
		}else{
			alert(str);
		}
	}
}
/*
function round2(data,leng){
	a=Math.pow(10,leng);
	data=(Math.round(data*a)/a);
	tdata=data.toString();
	tmpdata=tdata.split(".");
	if(tmpdata.length==1){
		ans=tmpdata+'.00';
	}else if(tmpdata[1].length==1){
		ans=tmpdata[0]+"."+tmpdata[1]+"0";
	}else{
		ans=data;
	}
//	alert(ans);
	return ans;
}*/


function round2(data,leng){
	
	if (data > 8191 && data < 10485) {
		data = data-5000;
		var newnumber = Math.round(data*Math.pow(10,leng))/Math.pow(10,leng);
		newnumber = newnumber+5000;
	} else {
		var newnumber = Math.round(data*Math.pow(10,leng))/Math.pow(10,leng);
	}
	return newnumber;
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


