﻿
    
function trimAll(sString) {
   while (sString.substring(0,1) == ' ') {
       sString = sString.substring(1, sString.length);   }
   while (sString.substring(sString.length-1, sString.length) == ' ')   {
       sString = sString.substring(0,sString.length-1);   }
   return sString;
}

function isDate1(obj) {    
    inString = obj.value
    if (trimAll(inString) == '') {
        return true;
    }
    var a = new Date(inString);
    var y = a.getFullYear();
    var m = a.getMonth() + 1;
    var d = a.getDate();
    var myday2;
    var myday3;
    var myday4;
    var stry = y + '';
    var strm;
    var strd;
    if (m < 10)
        strm = '0' + m;
    else
        strm = '' + m;
    if (d < 10)
        strd = '0' + d;
    else
        strd = '' + d;    

    var myday1 = y + "/" + m + "/" + d
    if (m <= '9') {
        myday2 = y + "/0" + m + "/" + d
    }
    if (d <= '9') {
        myday3 = y + "/" + m + "/0" + d
    }
    if (m <= '9' && d <= '9') {
        myday4 = y + "/0" + m + "/0" + d
    }
    if (myday1 == inString || myday2 == inString || myday3 == inString || myday4 == inString) {
        obj.value = stry + "/" + strm + "/" + strd;
        return true;
    } else {
        alert('日期格式為yyyy/mm/dd', '格式錯誤', function() { SetFocus1(obj) });
        return false;
    }
    if (myday != inString) {
        alert('日期格式為yyyy/mm/dd', '格式錯誤', function() { SetFocus1(obj) });
        return false;
    }
    return true;
}

function ChkUsrPID(obj, err) {
    Id = document.getElementById(obj).value.toUpperCase();
    Id2 = "ABCD"
    if (Id.length != 0 && (Id2.indexOf(Id.substring(1,2)) == -1)) {        
        while (Id.indexOf(" ") != -1) {
            Id = Id.replace(" ", "")
        }        
        if (Id.length != 10) { alert('身份證字號長度必須為10!'); SetFocus(obj); return false }
        var Id1 = "ABCDEFGHJKLMNPQRSTUVXYWZIO"        
        if (Id1.indexOf(Id.substring(0, 1)) == -1) {
                SetFocus(obj);
                return false;
        }
        else { Id1 = Id1.indexOf(Id.substring(0, 1)) + 10 }        
        if (isNaN(Id.substring(1, 10))) {alert(err);  SetFocus(obj);return false;  }
        Id = Id.replace(Id.substring(0, 1), Id1)
        var Idsum = 0
        Idsum = Id.substring(0, 1) * 1 + Id.substring(10, 11) * 1
        for (i = 1; i < 10; i++) {
            Idsum = Idsum + Id.substring(i, i + 1) * (10 - i)
        }        
        if ((Idsum % 10) != 0) { alert(err); SetFocus(obj); return false; } 
    }
}


function isDate(obj, Chk_Today) {
    if (isDate1(obj) == true) {
        var a = new Date();
        var y = a.getFullYear();
        var m = a.getMonth() + 1;
        var d = a.getDate();
        var stry = y + '';
        var strm;
        var strd;
        if (m < 10)
            strm = '0' + m;
        else
            strm = '' + m;
        if (d < 10)
            strd = '0' + d;
        else
            strd = '' + d;
        var today = stry + "/" + strm + "/" + strd;
        if (Chk_Today == 1)
            if (obj.value > today) {
            alert('日期不能大於今天！', '錯誤', function() { SetFocus1(obj) });
            return false;
        }
    }
}


function NeedValue(obj,err) {   
   if (trimAll(document.getElementById(obj).value) == '') {
      SetFocus(obj);	
      //document.getElementById(obj).focus();
      alert(err);
      return false;
   }
}

//可以空白大於等於0整數
function isPositiveInt0(obj,err) {   
   obj.value = trimAll(obj.value);
   if (obj.value == '') {
      return true;
   }
   if (!((obj.value >= 0) && (parseInt(obj.value,10) == obj.value ))) {
      SetFocus1(obj);
      alert(err);
      return false;
  }
}

//可以空白大於等於0整數
function isPositiveInt(obj, err) {
    obj.value = trimAll(obj.value);
    if (obj.value == '') {
        return true;
    }
    if (!((obj.value > 0) && (parseInt(obj.value, 10) == obj.value))) {
        SetFocus1(obj);
        alert(err);
        return false;
    }
}


// 可以空白且大於0的浮點數
function ChkPosFloat1(obj,err) {
   obj.value = trimAll(obj.value)
   if (obj.value == '') {
   	return true;
   }
   if (isNaN(obj.value)) {  
      SetFocus1(obj);	             
      alert(err);
      return false;
   }
   if (obj.value < 0) {
      SetFocus1(obj);      
      alert(err);
      return false;      
   }
   var tmp = obj.value.toLowerCase();
   if (tmp.indexOf('e') != -1) {
      SetFocus1(obj);	      
      alert(err);
      return false;            
   }
}

// 可以空白且大於0的浮點數
function ChkFloat(obj,err) {
   obj.value = trimAll(obj.value)
   if (obj.value == '') {
   	return true;
   }
   if (isNaN(obj.value)) {  
      SetFocus1(obj);	             
      alert(err);
      return false;
   }
   var tmp = obj.value.toLowerCase();
   if (tmp.indexOf('e') != -1) {
      SetFocus1(obj);	      
      alert(err);
      return false;            
   }
}


function SetFocus1(obj)
{
	try
	{
		obj.focus();
	}
	catch(e)
	{}
}

function SetFocus(obj) 
{
    try {
       	document.getElementById(obj).focus();
    }
    catch(e)
    {}
}

function ChkUser(obj,tar,alluser,err) {
   if (obj.value == '') {
   		document.getElementById(tar).value = "";
      return; 
   }
   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
   if (alluser==true)
      tmpstr = "&AllUser=true";
   else
   	  tmpstr = "";
   xmlhttp.Open("GET", "ChkUser.aspx?Target=" + obj.value + tmpstr, false);    
   xmlhttp.Send();            
   var rval = xmlhttp.responseText
   if (rval == '0') {
      alert(err);      
      obj.value = '';
      obj.focus();
      return false;
   }
   if (rval == '-1') {
      alert("Check Error");      
      obj.value = '';
      obj.focus();
      return false;
   }
   document.getElementById(tar).value = rval;	
}

function SelAll(f) {
   obj = document.getElementsByTagName('input');   
   for (i=0;i<obj.length;i++) {		       		      
      if (obj[i].type == 'checkbox') {
        switch (f)
        { 
	case 0:	obj[i].checked = false;	break
	case 1:	obj[i].checked = true;	break
	default: obj[i].checked = ! obj[i].checked; break;
        }         
      }
   }		   
}

function SelAll1(cb) {
   obj = document.getElementsByTagName('input');   
   for (i=0;i<obj.length;i++) {		       		      
      if (obj[i].type == 'checkbox') {
      	obj[i].checked = cb.checked;
      }
   }		   
}

function jb() 
{ 	
var A=null; 
try 
{ 
A=new ActiveXObject("Msxml2.XMLHTTP") 
} catch(e) { 
try 
{ 
A=new ActiveXObject("Microsoft.XMLHTTP") 
} catch(oc) { 
A=null 
} 
} 
if ( !A && typeof XMLHttpRequest != "undefined" ) 
{ 
A=new XMLHttpRequest() 
} 
return A 
}

		function ShowTable(btn,Phase_ID)
		{
			table = document.getElementById("Phase" + Phase_ID)				
			if (table.style.display == "")
			{
				table.style.display = "none";
				btn.src = "images/+.gif";
			}
			else
			{
				table.style.display = "";
				btn.src = "images/-.gif";			
			}			
		}
		
		function ShowTable1(btn,Phase_ID)
		{
			table = document.getElementById("ET" + Phase_ID)				
			if (table.style.display == "")
			{
				table.style.display = "none";
				btn.src = "images/+.gif";
			}
			else
			{
				table.style.display = "";
				btn.src = "images/-.gif";			
			}			
		}
		
function CountNoTax(tax,notax)
{
	document.getElementById(notax).value = Math.round(document.getElementById(tax).value / 1.05);
}



    function GetPPNo(MKey,tar)
    {
	    var xmlDom = jb();	
	    var strData = "?MKey=" + document.getElementById(MKey).value;	 
	    var nurl = "getPPNo.aspx";	
	    xmlDom.open("GET",nurl + strData,false);					
	    xmlDom.send(strData);		    
	    var rval = xmlDom.responseText;			
	    SetSelect(tar,rval);
    }

    
    function SetSelect(tar,rval)
    {
	    temp = document.getElementById(tar);
	    for (m=temp.options.length-1;m>0;m--)
          temp.options[m]=null;
	    myString = new String(rval)	
      var opts = myString.split(",")      
      for (i=0;i<opts.length / 2 - 1;i++)
          temp.options[i]=new Option(opts[i*2 + 3],opts[i*2 + 2]);         
    }    
    
    function GoPage(tar,obj)
    {
    	if (event.keyCode == 13)
    	{
    		event.keyCode = 9;
    		str = new String(tar);
    		p = TrnPage(obj.value);
    		str = str.replace('$ctl0-9999','$ctl' + p);    		   		
    		__doPostBack(str,'')    		
    	}    	
    }
    
    function TrnPage(p)
    {    	
    	if (isNaN(p))
    		return '00';
   	  if ((p*0 > 0) && (parseInt(p,10) == p ))
   			return '00';
   		else
   		{
   			if (p < 10)
   				return '0' + (p - 1);
   			else
   				return p - 1;
   		}
   			
		}
		
		function OpenCal(btn)
		{
			  var tar = new String(btn.id);
        tar = tar.replace("_ibtnSel","_tbValue");
        window.open("calendar.aspx?Tar=" + tar + "&DVal=" + document.getElementById(tar).value,"_blank","width=200,height=180,left=280,top=200,status=0,scrollbars=0,resizable=0,menubar=0,toolbar=0,location=0");
        return false;
	}
	
    function ChkPercent(obj,err) {
       obj.value = trimAll(obj.value)
       if (obj.value == '') {
   	    return true;
       }
       if (isNaN(obj.value)) {  
          SetFocus1(obj);	             
          alert(err);
          return false;
       }
       if (obj.value < 0) {
          SetFocus1(obj);      
          alert(err);
          return false;      
       }
       var tmp = obj.value.toLowerCase();
       if (tmp.indexOf('e') != -1) {
          SetFocus1(obj);	      
          alert(err);
          return false;            
       }
       if ((obj.value * 1) > 100)
       {
           SetFocus1(obj);
           alert(err);
           return false;
       }
    }
    
    
function formatCurrency(src_strValue)
{
	var strValue = src_strValue + '';	
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '' + dblValue );
}


    function CloseDLG()
    {       
        showDiv('ctl00_CPH1_SearchDLG',false);
    }
    function OpenDLG()
    {        
        showDiv('ctl00_CPH1_SearchDLG',true);
    }    
    
    
    function showDiv(sDivID, bState) {
    var oDiv = document.getElementById(sDivID);
    /*@cc_on
    @if (@_jscript_version >= 5)
    try {
        var oIframe = document.getElementById('HelpFrame');
        oIframe.scrolling = 'no';
    }
    catch (e) {
        var oIframe = document.createElement('iframe');
        var oParent = oDiv.parentNode;
        oIframe.id = 'HelpFrame';
        oParent.appendChild(oIframe);
    }
    oIframe.frameborder = 0;
    oIframe.style.position = 'absolute';
    oIframe.style.top = 0;
    oIframe.style.left = 0;
    oIframe.style.display = 'none';
    @end @*/
    if (bState) {
        oDiv.style.display = 'block';
        /*@cc_on
        @if (@_jscript_version >= 5)
        oIframe.style.top = oDiv.style.top;
        oIframe.style.left = oDiv.style.left;
        oIframe.style.zIndex = oDiv.style.zIndex - 1;
        oIframe.style.width = parseInt(oDiv.offsetWidth);
        oIframe.style.height = parseInt(oDiv.offsetHeight);
        oIframe.style.display = 'block';
        @end @*/
    }
    else {
        /*@cc_on
        @if (@_jscript_version >= 5)
        oIframe.style.display = 'none';
        @end @*/
        oDiv.style.display = 'none';
    }
}