Date.prototype._getDate = Date.prototype.getDate ;
Date.prototype._getMonth = Date.prototype.getMonth ;

Object.extend (Date.prototype, 
    {
        preceed_zero:false,
        getDate:function()
        {
            return (this._getDate() < 10 && this.preceed_zero == true) ? '0'+this._getDate() : this._getDate() ;
        },
        getMonth:function()
        {
            return (this._getMonth() < 10 && this.preceed_zero == true) ? ''+this._getMonth() : this._getMonth() ;
        }
    }
)

function changeSETSHP(id)
{
	switch(id)
	{
		case 'SETSHP01':
		if($('SETSHP01'))
			Element.show($('SETSHP01'));
		if($('SETSHP02'))
			Element.hide($('SETSHP02'));
		if($('SETSHP03'))
			Element.hide($('SETSHP03'));
		break;
		case 'SETSHP02':
		if($('SETSHP02'))
			Element.show($('SETSHP02'));
		if($('SETSHP01'))
			Element.hide($('SETSHP01'));
		if($('SETSHP03'))
			Element.hide($('SETSHP03'));
			try
			{
			$('SETSHPDT').selectedIndex = '0';
			$('SETSHPTM').selectedIndex = '0';
			}
			catch (e)
			{
				try
				{
					document.form1.SETSHPDT.value = '' ;
					document.form1.SETSHPTM.value = '1' ;
				}
				catch (e)
				{
					return true;
				}
			}
		break;
		case 'SETSHP03':
		if($('SETSHP03'))
			Element.show($('SETSHP03'));
		if($('SETSHP01'))
			Element.hide($('SETSHP01'));
		if($('SETSHP02'))
			Element.hide($('SETSHP02'));
			try
			{
			if($('SETSHPDT').selectedIndex == 0)
			{	
				$('SETSHPDT').selectedIndex = '1';
				$('SETSHPTM').selectedIndex = '1';
			}
			}
			catch (e){}
		break;
	}

}

function checkSETSHP()
{
	try
	{
		var SETSHPDT = $('SETSHPDT').value ;
		var SETSHPTM = $('SETSHPTM').value ;
	}
	catch (e)
	{
		try
		{
			var SETSHPDT = document.form1.SETSHPDT.value ;
			var SETSHPTM = document.form1.SETSHPTM.value ;
		}
		catch (e)
	    {
		    return true;
	    }
	}

	//if(!$('SETSHPDT'))
	//{
	//	return true;
	//}
	SDT = new Date(startDate);
	EDT = new Date(startDate);
	TDT = new Date(startDate);
	ATDT = new Date(startDate);
	
	//Date.prototype.preceed_zero = true; //補零flag
	
	//D +1 的日期
	TDT.setDate(sysdate.getDate() + 1);
	SETSHPTDT = TDT.getFullYear()+"/"+appendZero(TDT.getMonth()+1)+"/"+appendZero(TDT.getDate());
	//D +2 的日期
	ATDT.setDate(sysdate.getDate() + 2);
	SETSHPATDT = ATDT.getFullYear()+"/"+appendZero(ATDT.getMonth()+1)+"/"+appendZero(ATDT.getDate());
	//目前時間
	NOWTM = appendZero(sysdate.getHours())+":"+appendZero(sysdate.getMinutes())+":"+appendZero(sysdate.getSeconds());
	//判斷為18:00前的時段
	if(NOWTM >= '00:00:00' && NOWTM <= '18:00:00')
	{
		SDT.setDate(sysdate.getDate() + 1);
		EDT.setDate(sysdate.getDate() + 7);
	}
	else
	{
		SDT.setDate(sysdate.getDate() + 2);
		EDT.setDate(sysdate.getDate() + 8);
	}

	//區間開始時間
	SETSHPSDT = SDT.getFullYear()+"/"+appendZero(SDT.getMonth()+1)+"/"+appendZero(SDT.getDate());
	//區間結束時間
	SETSHPEDT = EDT.getFullYear()+"/"+appendZero(EDT.getMonth()+1)+"/"+appendZero(EDT.getDate());

	//Date.prototype.preceed_zero = false; //補零flag
	
	//若有選擇指定送達日，需檢查下列資料
	if(SETSHPDT != '')
	{
		if((SETSHPDT < SETSHPSDT || SETSHPDT > SETSHPEDT))
		{
			alert("指定送達時段的日期錯誤");
			try
			{
				errName = 'SETSHP_ER01';
				errContent = "["+SETSHPDT+","+SETSHPTM+","+SETSHPSDT+","+SETSHPEDT+","+sysdate+","+NOWTM+"]";
				getErrorMsg2(errName,errContent) ;				
			}
			catch (e){}
			return false;
		}

		if(SETSHPDT == SETSHPTDT && !(NOWTM >= '00:00:00' && NOWTM <= '18:00:00'))
		{
			try
			{
				errName = 'SETSHP_ER02';
				errContent = "["+SETSHPDT+","+SETSHPTM+","+SETSHPSDT+","+SETSHPEDT+","+sysdate+","+NOWTM+"]";
				getErrorMsg2(errName,errContent) ;				
			}
			catch (e){}
			if(confirm("目前系統時間已超出18:00，我們將順延至"+SETSHPATDT+" 的同一時段到貨?"))
			{
				$('SETSHPDT').value = SETSHPATDT ;
				return true;
			}
			return false;
		}

		if(SETSHPTM == '1')
		{
			alert("請選擇指定送達的時段");	
			return false;
		}
	}
	
	//若選擇指定送達，則需判斷日期及時間
	if($('SETSHP02').style.display == 'none')
	{
		if(SETSHPDT == '')
		{
			alert("請選擇指定送達的日期");	
			return false;
		}

		if(SETSHPTM == '1')
		{
			alert("請選擇指定送達的時段");	
			return false;
		}
		
	}
	
	try
	{
		errName = 'SETSHP';
		errContent = "["+SETSHPDT+","+SETSHPTM+","+SETSHPSDT+","+SETSHPEDT+","+sysdate+","+NOWTM+"]";
		getErrorMsg2(errName,errContent) ;				
	}
	catch (e){}
	return true;
}

function appendZero(str)
{
	str = ''+str;
	str = (str.length == '2')?str:str.replace(/^(\d)$/g, "0$1");
	return str ;
}
