function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
//表格顯示隱藏
var ooo='',xxx=0,yyy=0,zzz=0;
function jarNavigator(s){
	switch(s){
		case 0:return "none";break;
		case 1:if(navigator.appName == "Netscape"){return "table-row";}else{return "inline";}break;
	}
}
//AJAX欄位編輯
function addData(va,id){
	reData(xxx,yyy,zzz);
	if(typeof(x_addData)=='undefined'){return;}
	else{
		xxx=0;
		yyy=0;
		zzz=0;
		ooo=id;
		x_addData(va, function (r){
			for(var i=0;i<10;i++){
				if (typeof(r[i])=='undefined'){break;}
				else{document.getElementById(id + i).innerHTML=r[i];}
			}
		});
	}
}
function loadData(s,va,id){
	if(xxx == s || yyy == va || zzz == id){reData(xxx,yyy,zzz);}
	addData(0,ooo);
	xxx=s;
	yyy=va;
	zzz=id;
	x_loadData(s,va,id, function (r){
		for(var i=1;i<10;i++){
			if (typeof(r[i])=='undefined'){break;}
			else{document.getElementById(id + r[0] + i).innerHTML=r[i];}
		}
	});
}
function reData(s,va,id){
	x_reData(s,va,id, function (r){
		for(var i=1;i<10;i++){
			if (typeof(r[i])=='undefined'){break;}
			else{document.getElementById(id + r[0] + i).innerHTML=r[i];}
		}
	});
}

//------------------------------------------------------------------------------------------------------------------------------------
//隱藏、顯示div
function showMULTIimg(s,t){
	if (t){
		document.getElementById('submenu'+ s).style.backgroundImage='url(images/pagetag_bg.gif)';
		document.getElementById('menul'+ s).src='images/pagetag_left.gif';
		document.getElementById('menur'+ s).src='images/pagetag_right.gif';
	}else{if (imgs != s){
		document.getElementById('submenu'+ s).style.backgroundImage='';
		document.getElementById('menul'+ s).src='images/transbg.gif';
		document.getElementById('menur'+ s).src='images/transbg.gif';
	}}
}
function showMULTIdiv(s){
	imgs=s;
	var bodystr='';
	for (var i=1;i<submenulist.length;i++){
		if (s==i){
			if(typeof(submenufunc) != 'undefined'){eval(submenufunc[s]);}
			bodystr+='<table border="0" cellspacing="0" cellpadding="0" class="pagetag"><tr><td id="submenu'+ i +'" onClick="showMULTIdiv('+ i +');" onmouseout="showMULTIimg('+ i +',0)" onmouseover="showMULTIimg('+ i +',1)" background="images/pagetag_bg.gif"><img src="images/pagetag_left.gif" id="menul'+ i +'" onClick="showMULTIdiv('+ i +')" onmouseout="showMULTIimg('+ i +',0)" onmouseover="showMULTIimg('+ i +',1)" style="float:left;" /><div style="float:left;">'+ submenulist[i] +'</div><img src="images/pagetag_right.gif" id="menur'+ i +'" onClick="showMULTIdiv('+ i +')" onmouseout="showMULTIimg('+ i +',0)" onmouseover="showMULTIimg('+ i +',1)" style="float:right;" /></td></tr></table>';
			document.getElementById("div"+ i).style.display="inline";
		}else{
			bodystr+='<table border="0" cellspacing="0" cellpadding="0" class="pagetag"><tr><td id="submenu'+ i +'" onClick="showMULTIdiv('+ i +');" onmouseout="showMULTIimg('+ i +',0)" onmouseover="showMULTIimg('+ i +',1)"><img src="images/transbg.gif" id="menul'+ i +'" onClick="showMULTIdiv('+ i +')" onmouseout="showMULTIimg('+ i +',0)" onmouseover="showMULTIimg('+ i +',1)" style="float:left;" /><div style="float:left;">'+ submenulist[i] +'</div><img src="images/transbg.gif" id="menur'+ i +'" onClick="showMULTIdiv('+ i +')" onmouseout="showMULTIimg('+ i +',0)" onmouseover="showMULTIimg('+ i +',1)" style="float:right;" /></td></tr></table>';
			document.getElementById("div"+ i).style.display="none";
		}
	}
	document.getElementById('SUBMENU').innerHTML=bodystr;
}
//------------------------------------------------------------------------------------------------------------------------------------
//下拉式選單第一階段
function initOption(op,id,ls,va,insText,insValue){
	va=va.split(",");
	for(i=0;i<ls;i++){
		thObj=document.getElementById(id + i);
		thObj.options[0] = new Option(insText,insValue);
		for(j=1;j<op.n.length;j++){
			thObj.options[j]=new Option(op.n[j].des,op.n[j].no);
			if(op.n[j].no == va[i]){thObj.options[j].selected=true;}
		}
	}
}
//下拉式選單第二階段
function chgOptions(op,sva,id,va,insText,insValue){
	thObj=document.getElementById(id);
	if(sva>0){
		thObj.options.length=0;
		thObj.options[0] = new Option(insText,insValue);
		for(j=1;j<op.n.length;j++){if(sva==op.n[j].no){sva=j;break;}}
		RootObj=op.n[sva];
		thObj.style.display='inline';
		for(j=1;j<RootObj.n.length;j++){
			thObj.options[j]=new Option(RootObj.n[j].des,RootObj.n[j].no);
			if(RootObj.n[j].no == va){thObj.options[j].selected=true;}
		}
	}else{
		thObj.options.length=0;
		thObj.style.display='none';
	}
		
}
function SLOption(obj,id,va){
	var i=0,j=0;
	thObj=document.getElementById(id);
	for(i=1;i<obj.n.length;i++){
		thObj.options[j]=new Option(obj.n[i].des,obj.n[i].no);
		if(obj.n[i].no == va){thObj.options[j].selected=true;}
		j++;
	}
}
//字串串連
function str_mod(str1,str2,symbol){
    str1=str1.length==0?str2+symbol:str1+symbol+str2+symbol;
    str1=str1.substring(0,str1.length-1);
    return str1;
}
//多選單項目增加
function MultiSelectMove(so,de,tmp){
	var objOption;
	var exist_str='';
	for(i=0;i<so.length;i++){
		if(so.options[i].selected){
			if (jsSelectIsExitItem(de, so.options[i].text)) {
				exist_str+=so.options[i].text+'\n';
			}else{
				objOption=new Option(so.options[i].text,so.options[i].text);
				de.options[de.options.length]=objOption;
				tmp.value=str_mod(tmp.value,so.options[i].text,",");
			}
		}
	}
	if(exist_str){alert("Option：\n"+exist_str+"already existed");}
}
//多選單項目移除
function MultiSelectReMove(so,tmp){
	var so_tmp=new Array;
	var de_tmp="";
	so_tmp=tmp.value.split(",");
	for(i=0;i<so.length;i++){
		if(so.options[i].selected){
			so.options[i]=null;
			so_tmp[i]='';
		}
	}
	for(i=0;i<so_tmp.length;i++){
		if(so_tmp[i] != ""){de_tmp=str_mod(de_tmp,so_tmp[i],",");}
	}
	tmp.value=de_tmp;
}
//判斷多選單選項中是否存在
function jsSelectIsExitItem(objSelect, objItemValue) {
	var isExit = false;
	for (var i=0; i < objSelect.options.length; i++) {
		if (objSelect.options[i].text == objItemValue) {
			isExit = true;
			break;
		}
	}
	return isExit;
}
//選項增加減少功能
function OptionSL(s,sva,str){
	var flagAdd,flagDel;
	switch(s){
		case 0:sva--;sva=(sva>-1)?sva:0;break;
		case 1:sva++;sva=(sva<smax)?sva:smax;break;
		case 2:break;
	}
	if(sva==0){flagAdd=false;flagDel=true;}
	else if(sva==smax){flagAdd=true;flagDel=false;}
	else{flagAdd=false;flagDel=false;}
	document.getElementById('bt'+ str +'Add').disabled=flagAdd;
	document.getElementById('bt'+ str +'Del').disabled=flagDel;
	for(i=0;i<sva;i++){document.getElementById(str +'Search'+i).style.display=jarNavigator(1);}
	for(j=sva;j<smax;j++){document.getElementById(str +'Search'+j).style.display=jarNavigator(0);}
	return sva;
}
//------------------------------------------------------------------------------------------------------------------------------------
//重新縮放頁面寬度
function resizeTableHeight(id, hg){
	hg=(hg)?hg:340;
	var ss=screen.height - hg;
	document.getElementById(id).height=ss;
}
//自動調整iFrame大小 by 瀏覽器
function chgIframeHG(ifObj,nb){
	if(navigator.appName != "Netscape"){
		ifObj.height = Number(ifObj.height) + nb;
	}
}
//--------ToolTips Set Begin----------------------------------------------------------------------------
JavaScriptTooltips_fadeInSpeed	= 500;
JavaScriptTooltips_fadeOutSpeed	= 500;
JavaScriptTooltips_fadeOutDelay	= 500;
JavaScriptTooltips_fadeInDelay	= 500;
JavaScriptTooltips_maximumOpacity = 100;
JavaScriptTooltips_offsetX = 5;
JavaScriptTooltips_offsetY = 5;
//--------ToolTips Set End----------------------------------------------------------------------------
//--------Input Check Function Begin----------------------------------------------------------------------------
//檢查是否為BIG5碼
function is_big5(word){
	var cn=0;
	var en=0;
	if (word!=''){
		var num=word.length;
		for(var i=0;i<num;i++){
			if(word.substr(i,1).charCodeAt(0)>127){cn++;}
			else{en++;}
		}
		if (cn<num){
			if(en==num){return 1;}//英文字
			else{return 2;}//中英混雜
		}else{return 0;}//中文字
	}
}
//清除左右空白字元
function trim(i){return i.replace(/^[\s]*$/gi,"");}
//檢查是否未輸入
function noKeyIn(i, ErrorMsg){
	if (trim(i.value)==''){
		i.value='';
     	i.focus();
     	alert(ErrorMsg);
     	return true;
    }
	return false;
}
//檢查是否為數字
function chkNumber(f){
	if(isNaN(f.value)){
		f.focus();
		alert("This column must input Number !");
		f.value='';
		return false;
 	}
 	if(f.value<0){
		f.focus();
		alert("This column must be bigger than 0 !");
		f.value='';
		return false;
 	}
}
//檢查是否為中文
function chkChinese(f,w){
	if(is_big5(w)>0){
		f.focus();
		alert("This column must input Chinese !");
		f.value='';
		return false;
 	}
}
//檢查是否為英文
function chkEnglish(f,w){
	if(is_big5(w)!=1){
		f.focus();
		alert("This column must input English !");
		f.value='';
		return false;
 	}
}
//檢查郵件格式
function chkEmail(i, ErrorMsg){
	if (noKeyIn(i, ErrorMsg+" Please input Email !")){return true;}
	else if(!CheckEmail(i)){i.focus();i.value='';alert(ErrorMsg+" The email format error, please confirm !!");return true;}
	else{return false;}
}
function CheckEmail(f){
	var email = f.value;
	var rege = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	if (email.length == 0 || rege.exec(email) == null){return false;}
	return true;
}
//檢查CHECKBOX是否有選擇
function chkCheckON(f,msg){
	var sss=0;
	for(var i=0;i<f.length;i++){if(f[i].value != ""){sss++;}}
	if(sss==0){alert(msg);return false;}
	else{return true;}
}
function chkPICfileType(f,fd){
	var reg = /.(jpg|JPG|gif|GIF)$/;
	if (!fd.value.match(reg)){
		alert('You input the file must be JPG or GIF format !!!');
		fd.focus();
	}
}
function chkDOCfileType(f,fd){
	var reg = /.(doc|DOC|xls|XLS|pdf|PDF)$/;
	if (!fd.value.match(reg)){
		alert('You input the file must be DOC, XLS or PDF format !!!');
		fd.focus();
	}
}
//網頁連結
function goURL(url){location.href=url;}
//開新視窗有捲軸可縮放
function openpop(popurl,na,wd,hg){
	wd=(wd)?wd:800;
	hg=(hg)?hg:500;
	na=(na)?na:"stmp";
	var str="width="+ wd +",height="+ hg +",status,scrollbars,resizable";
    var winpops=window.open(popurl,na,str);
}
//開新視窗無捲軸不可縮放
function openpopLite(popurl,na,wd,hg){
	wd=(wd)?wd:800;
	hg=(hg)?hg:500;
	na=(na)?na:"stmp";
	var str="width="+ wd +",height="+ hg +",status=no,scrollbars=no,menubar=no,location=no";
    var winpops=window.open(popurl,na,str);
}
//複選項目全選或清除功能
function setCheckboxes(id,ts){
	for(var j=0;j<ts;j++){document.getElementById(id+j).checked=stchk;}
	stchk=!stchk;
}
//複選項目檢測，如所有項目已全選，全選框打勾，如所有項目未全選，全選框取消
function chkCheckboxes(id,org,ts){
	var x=0;
	for(var j=0;j<ts;j++){if(!document.getElementById(id+j).checked){x++;}}
	if(x){document.getElementById(org).checked=false;stchk=true;}
	else{document.getElementById(org).checked=true;stchk=false;}
}
//再次詢問是否刪除
function ChkDel(va) {if(confirm("Are you sure ? After the deletion, is unable to recover !")){goURL("?d="+va);}else{return false;}}
//刪除圖片
function delFiles(id,tb,va,ph,fd){
	if(confirm("Are you sure ? After the deletion, is unable to recover !")){
		document.getElementById(id).innerHTML='Waiting...';
		x_delFiles(tb,va,ph,fd, function(rs){document.getElementById(id).innerHTML=rs;});
	}else{return false;}
}
function delPDF(id,tb,va,ph,fd){
	if(confirm("Are you sure ? After the deletion, is unable to recover !")){
		document.getElementById(id).innerHTML='Waiting...';
		x_delPDF(tb,va,ph,fd, function(rs){document.getElementById(id).innerHTML=rs;});
	}else{return false;}
}
//----------------------------------------------------------------------------
//--------Print Function Begin----------------------------------------------------------------------------
function printPage(Control){
	var gAutoPrint = true;
	if (document.getElementById != null){
		var html = '<HTML>\n<Title>\n';
		if (document.getElementsByTagName != null){
			var titleTags = document.getElementsByTagName("title");
			if (titleTags.length > 0){html += titleTags[0].innerHTML;}
		}
		html += '</Title>\n<HEAD>\n';
		if (document.getElementsByTagName != null){
			var headTags = document.getElementsByTagName("head");
			if (headTags.length > 0){html += headTags[0].innerHTML;}
		}
		html += '\n</HEAD>\n<BODY>\n';
		var printReadyElem = document.getElementById(Control);
		if (printReadyElem != null){html += printReadyElem.innerHTML;}
		else{alert("HTML format failed! Please confirm !!");return;}
		html += '\n</BODY>\n</HTML>';
		var printWin = window.open("","printPage");
		printWin.document.open();
		printWin.document.write(html);
		printWin.document.close();
		if (gAutoPrint){printWin.print();}
	}else{alert("Print failed! Please confirm the state of the printer !!");}
}
//--------Print Function End----------------------------------------------------------------------------
//加入我的最愛
function addBookmarkForBrowser() {
	var HomepageURL="http://my.proqc.com";
	var HomepageName="MyPROQC - Website System";
	if (document.all){window.external.AddFavorite(HomepageURL, HomepageName);}
	else{window.sidebar.addPanel(HomepageName, HomepageURL, "");}
}
//-------------------------------------------------------------------------------------------------------