﻿function decodeMyURI(strData) {

	var objReturn=strData;
	
	var objReg;
	objReg=/＼＆/g;
	objReturn=objReturn.replace(objReg, "&");
	
	var objReg1;
	objReg1=/＼＝/g;
	objReturn=objReturn.replace(objReg1, "=");
	
	
	objReg1=/＼”/g;
	objReturn=objReturn.replace(objReg1, "\"");
	
	
	objReturn=decodeURI(objReturn);

	return objReturn;
}


function DataGridAction(url, params ,name ,w ,h ) {
	/*
	var aryParams=params.split("&");
	
	var objDialog = new DialogObject(url, null ,500, 400);
	
	for (var i=0;i<aryParams.length;i++) {
		var aryParamItem=aryParams[i].split("=");
		
		var strName=decodeURI(aryParamItem[0]);
		var strValue=decodeURI(aryParamItem[1]);
		
		objDialog.addParam(strName, strValue);
		
	}
	objDialog.open(1);
	*/
	
	var sp=(url.indexOf("?")>=0?"&":"?");

	var objWin=self.open( url + (params!=""?sp+params:"") , name , "top="+ ((screen.height-h)/2-50) + ",left="+ ((screen.width-w)/2) + ",width="+ w +",height="+ h   );
	objWin.focus();
	return objWin;
}


function DataGridFrameAction(url, params ,name ) {
	var sp=(url.indexOf("?")>=0?"&":"?");
	location.href=url + (params!=""?sp+params:"");
}


function DataGridRowEffect (css) {
    var i=0;
    
    var obj=event.srcElement.parentElement.parentElement;
    
    while (obj.tagName!="TR") {
        obj=obj.parentElement;
        i++;
        if (i>10) break;
    }
    
	obj.className=css;
}

function DataGridCheck() {
/*
	var el=event.srcElement;
	alert(el.parentElement.all("DataRowPK").value);
*/	
}


var blnDataGrid_Select=false;
function DataGridSelectAll () {
	var objItems=document.all("DataRowSel");
	
	if (blnDataGrid_Select==false) {
		for (var i=0;i<objItems.length;i++) {
			objItems[i].checked=true;
		}
		blnDataGrid_Select=true;
	
	} else {
		for (var i=0;i<objItems.length;i++) {
			objItems[i].checked=false;
		}
		blnDataGrid_Select=false;
	}
	
}

function PostForm(url)
{
	var tmpForm = document.createElement("form");
	document.body.insertAdjacentElement("BeforeEnd" , tmpForm);
	tmpForm.style.display='none';
	tmpForm.method='post'; 
	tmpForm.action = url ;
	
	this.add = function(name , value)
	{
		/*
		if (tmpForm.action.indexOf("?")>0) {
			tmpForm.action+="&"+encodeURI(name)+"="+encodeURI(value);
		} else {
			tmpForm.action+="?"+encodeURI(name)+"="+encodeURI(value);
		}*/
	
		var obj = document.createElement("<INPUT type=hidden>");
		obj.id = name ;
		obj.name = name ;
		obj.value = value ;
		tmpForm.insertAdjacentElement('BeforeEnd' , obj );
	
	}

	this.submit = function()
	{
		tmpForm.submit();
		//tmpForm.removeNode(true);
	}

	this.getForm = function()
	{
		return tmpForm ;
	}
	
}

function PageBarChanged(url, params) {
	var intPageIndex=event.srcElement.value;
	
	var objTo=new PostForm(url+(url.indexOf("?")>=0?"&"+params:"?"+params));
	objTo.add("Page",intPageIndex);
	objTo.submit();
}

function PageBarChangePage(url, params,intPageIndex) {
	var objTo=new PostForm(url+(url.indexOf("?")>=0?"&"+params:"?"+params));
	objTo.add("Page",intPageIndex);
	objTo.submit();
}


function trim(comeinstr){
  var restr="",restr2=comeinstr;
  var intstart=-1,intend=-1,i=0;

  for (i=0;i<restr2.length;i++) {
    restr=restr2.substr(i,1);
    if (restr!=" ") {
      intstart=i;
      break;
    }
  }
  for (i=restr2.length-1;i>=0;i--) {
    restr=restr2.substr(i,1);
    if (restr!=" ") {
      intend=i;
      break;
    }
  }
  if (intstart!=-1&&intend!=-1) {
    comeinstr=restr2.substring(intstart,intend+1);
  } else {
    comeinstr="";
  }

  return comeinstr;
}


function DupString(comeinstr,num) {
	var strTemp="";
	var i=0;
	
	if (num>0) {
		for (i=0;i<num;i++) {
			strTemp=strTemp+comeinstr;
		}
	}
	
	return strTemp;
}

//時間函式

function CheckDateTime(strType) {
	var ID=event.srcElement.id;
	
	sysCheckDateTime(ID,strType);
}

function sysCheckDateTime(comeinstr,strType){
	var strTemp="",strTime="";
	var dt;
	var k1,k2,k3;
	var t1,t2,t3,t4,t5,t6;
	var s1,s2,s3,s4,s5,s6;
	
	strTime=trim(document.all(comeinstr).value);
	var aryTemp=strTime.split("/");
	
	if (aryTemp.length>=3) {
		k1=aryTemp[0];
		k2=aryTemp[1];
		k3=aryTemp[2];
		k3=trim(k3);
		if (k3.indexOf(" ")>0) {
			k3=k3.substring(0,k3.indexOf(" "));
		}
		
		k1=DupString("0",2-k1.length)+k1;
		k2=DupString("0",2-k2.length)+k2;
		k3=DupString("0",2-k3.length)+k3;
		
		if (k1.length<=4) {
			dt= new Date(Date.parse(strTime));
			t1=dt.getYear();
			if (k1>="1900"&&k1<"2000") {
				t1=t1+1900;
			}
			t2=dt.getMonth()+1;
			t3=dt.getDate();
			
			if (strType=="datetime") {
				t4=dt.getHours();
				t5=dt.getMinutes();
				t6=dt.getSeconds();
			}
			
			s1=DupString("0",4-t1.toString(10).length)+t1.toString(10);
			s2=DupString("0",2-t2.toString(10).length)+t2.toString(10);
			s3=DupString("0",2-t3.toString(10).length)+t3.toString(10);
				
			
			//alert(k1+"--"+s1+"&"+k2+"--"+s2+"&"+k3+"--"+s3);
			//移除k1, 會有問題
			if (k2==s2&&k3==s3) {
				
				if (strType=="datetime") {
					s4=DupString("0",2-t4.toString(10).length)+t4.toString(10);
					s5=DupString("0",2-t5.toString(10).length)+t5.toString(10);
					s6=DupString("0",2-t6.toString(10).length)+t6.toString(10);
				}
				
				if ((!isNaN(s1))&&(!isNaN(s2))&&(!isNaN(s3))) {
					strTemp=s1+"/"+s2+"/"+s3;
				
					if ((!isNaN(s4))&&(!isNaN(s5))&&(!isNaN(s6))&&strType=="datetime") {
						strTemp=strTemp+" "+s4+":"+s5+":"+s6;
					}
				}
				
			}
		}
	}
	
	document.all(comeinstr).value=strTemp;
	
}


function DialogDateTime(strType){
	var ID=event.srcElement.id;
	
	return sysDialogDateTime(ID,strType);
}

function sysDialogDateTime(comeinstr,strType){
	var strTemp="";
	
	document.all(comeinstr).value=window.showModalDialog("/mmc/common/dlgTimePicker.aspx?strType="+strType,document.all(comeinstr).value,"dialogWidth:350px;dialogHeight:286px;center:yes;status:no");
	sysCheckDateTime(comeinstr,strType);
	
	return strTemp;
}


//-------------------------------------------------------------------------------

function TrimField(strFieldName) {
	try {
		document.all(strFieldName).value=trim(document.all(strFieldName).value);
		
		return document.all(strFieldName).value;
	}
	catch (e) {
		alert("錯誤:["+strFieldName+"]"+e);
		return "";
	}
}

function CheckEmpty(strFieldName, strTitle) {
	try {
		if (document.all(strFieldName).value=="") {
			alert("請填寫 ["+strTitle+"]! ");
			
			try {
			document.all(strFieldName).focus();
			}
			catch(e) {}
			
			return false;
		}
		return true;
	}
	catch (e) {
		alert("錯誤:["+strFieldName+"]["+strTitle+"]"+e);
		return false;
	}
}

function CheckNumeric(strFieldName, strTitle) {
	try {
		var AA=parseFloat(document.all(strFieldName).value);
		if (isNaN(AA) || AA=="") {
			throw(AA);
		}
		return true;
	}
	catch (e) {
		alert("["+strTitle+"] 請填數值 ! ");
		document.all(strFieldName).focus();
		return false;
	}
}