﻿/*** 新增String 擴充型別 raychien  20090526 START */
// 去除前後空白
if (!String.prototype.trim){
    String.prototype.trim=function(){   
        return this.replace(/(^\s*)|(\s*$)/g, "");
    }
}

// 去除左邊空白
if (!String.prototype.ltrim){
    String.prototype.ltrim=function(){   
        return this.replace(/(^\s*)/g,"");   
    }   
}

// 去除右邊空白
if (!String.prototype.rtrim){
    String.prototype.rtrim=function(){   
        return this.replace(/(\s*$)/g,"");   
    }
}

// 從左邊擷取指定長度的字串
if (!String.prototype.left){
    String.prototype.left = function(n)
    {
        return this.slice(0,n);
    }
}

// 從右邊擷取指定長度的字串
if (!String.prototype.right){
    String.prototype.right = function(n)
    {
        return this.slice(this.length-n);
    }
}

// 保留數字
if (!String.prototype.getNum){
    String.prototype.getNum = function()
    {
        return this.replace(/\D*/g,"");
    }
}

/*** 新增String 擴充型別 raychien  20090526 END */


/*** 新增函式 raychien  20090526 START */

function VerifyOneEmailFormat(email)
// 描述:  驗證單一個EMAIL的格式
// Input: 要驗證的E-mail
// Ouput: true.格式正確  false.格式不正確
{
    var chk_reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (email == "" || (!chk_reg.test(email)) ){
        return false;
    }
    else{
        return true;
    }
}

function VerifyMoreEmailFormat(email, delimiter)
// 描述:  驗證多個EMAIL的格式
// Input: email:要驗證的E-mail, delimiter:區隔多個EMAIL的符號
// Ouput: true.格式正確  false.格式不正確
{
    var chk_reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    var chk_email = email;
    
    if (chk_email == "" || delimiter == ""){
        return false;
    }
    else{
        var str_arr = chk_email.split(delimiter);
        for (var i = 0; i < str_arr.length; i++)
        {
            if (str_arr[i] != ""){if (!chk_reg.test(str_arr[i])){return false;}}
        }
    }
    return true;
}

function VerifyIsOnlyNumber(svalue)
// 描述:  驗證是否是數字
// Input: 要驗證String
// Ouput: true.格式正確  false.格式不正確
{
	var chk_cphone_reg = /\D/; 
    if (chk_cphone_reg.test(svalue)){
        return false;
    }
    else{
        return true;
    }
}


function VerifyPhoneFormat(phone)
// 描述:  驗證電話號碼格式 (EX:(02)212345678 or 02-212345678 or 09123456789 or 02 2123456789 or 02 2123456789 ..)
// Input: phone:要驗證的電話號碼
// Ouput: true.格式正確  false.格式不正確
{
    var chk_reg = /(^((\d{10,20})([-(\s)*]?)([#]{0,1}\d{1,6}))$)|(^((\((\d{2,4})\))([-(\s)*]?)(\d{6,10})([-(\s)*]?)([#]{0,1}\d{1,6}))$)|(^((\d{2,4})([-(\s)*]?)(\d{4,10})([-(\s)*]?)([#]{0,1}\d{1,6}))$)|(^((([-(\s)*]?)(\d{2,4})){3,4}([-(\s)*]?)([#]{0,1}\d{1,6}))$)/;   
    if( (phone == "") || (chk_reg.test(phone) == false) || (phone.length < 9) ){   
        return false;
    }
    else{
        return true;
    }
}

function VerifyIsDateFormat(StrDate){
// 描述:  驗證是否符合日期格式 (YYYY/MM/DD or YYYY-MM-DD)
// Input: StrDate AS String
// Ouput: true.格式正確  false.格式不正確
    var r = StrDate.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
    if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
    return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

function CheckStartAndEndDate(StartDate, EndDate)
{
// 描述:  判斷起始時間正確
// Input: StartDate AS String, EndDate AS String
// Ouput: true.起迄日正確  false.不正確
    try{    
        if (StartDate.trim() != "" && EndDate.trim() != "")
        {
           var tmpdate1 = new Date();
           var tmpdate2 = new Date();
           
           tmpdate1 = StartDate.trim();
           tmpdate2 = EndDate.trim();
           
           if (tmpdate1 > tmpdate2)
           {
                return false;
           }
           return true;
        }
        else
        {
            return false;
        }
    }
    catch(e)
    {return false;}    
}
 
/*** 新增函式 raychien  20090526 END   */

/*E-mail帳號檢查*/
function checkmail(str){
	var j=0;
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);

	if (str.indexOf(at)==-1)j++;
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)j++;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)j++;
	if (str.indexOf(at,(lat+1))!=-1)j++;
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)j++;
	if (str.indexOf(dot,(lat+2))==-1)j++;
	if (str.indexOf(" ")!=-1)j++;
	if(j>0){return false;}else{return true;}
}

/*日期檢查*/
function validdate(Y,M,D){
	
	if(parseInt(Y)<=1900){return false;}
	var date1 = new Date(Y,M-1,D);
	return (date1.getMonth() != (M-1))?false:true;
	
}

/*去除前後空白*/
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

/*去除表單上所有文字欄位的前後空白*/
function tff(ss)
{
	var i,index,obj;
	obj = document.forms[ss];	
	index = obj.length;
	for(i=0;i<index;i++)
	{
		if(obj.elements(i).type=="text")
		{
			obj.elements(i).value = trim(obj.elements(i).value);
		}
	}
}


/*電話號碼檢查，限0-9, - ,# */
function chkphone(str){
	var k=0, result;
	if(str!=""){
		for(var i=0; i<str.length; i++){
			var co = str.charCodeAt(i);
			if((co>=48 && co<=57)|| co==35 || co==45){
				//T榡
				k++;
			}
		}
		return (k==str.length)?true:false;
	}return false;
}


/*密碼檢查限0~9,a~z,A~Z*/
function chkpw(str){
	var k=0, result;
	if(str!=""){
		for(var i=0; i<str.length; i++){
			var co = str.charCodeAt(i);
			if((co>=48 && co<=57)||(co>=65 && co<=90)||(co>=97 && co<=122)){
				//正確格式
				k++;
			}
		}
		return (k==str.length)?true:false;
	}return false;
}

function createAJAX()
{
	if(window.ActiveXObject)
	{
		try
		{
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(ee)
			{
				return null;
			}
		}
	}
	else if(window.XMLHttpRequest)
	{
		return new XMLHttpRequest();				
	}
	else
	{
		return null;
	}
}


//<!-- 製作java cookie 開始-->
function setCookie(name, value, path, domain)
{
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = 1;
	if(expires!=null)
	{
		var LargeExpDate = new Date ();
		LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24));
	}
	document.cookie = name + "= " + escape (value) + "; "+((expires == null) ? " " : ( "; expires= " +LargeExpDate.toGMTString())) + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "");
}

function getCookie(Name)
{
	var search = Name + "=";
	if(document.cookie.length > 0) 
	{
		//alert(document.cookie);
		offset = document.cookie.indexOf(search);
		//alert(offset);
		if(offset != -1) 
		{
			//alert(offset);
			offset += search.length;
			end = document.cookie.indexOf( "; ", offset);
			if(end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
			else return " ";
		}
	return " ";
}

function delCookie( name, path, domain ) 
{
	if ( getCookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
//<!-- 製作java cookie 結束-->