﻿
function mm_openbrwindow ( theurl, winname, features )
{
window.open( theurl, winname, features );
}


function check_uid ( uid )
{
if( uid.length <= 0 )
return( "您的帳號還沒填呢 !\n" );
if( uid.length <3 || uid.length> 16 )
return( "您的帳號長度只能 3 至 16 個字元 !\n" );
if ( !(uid.charAt(0)>= 'a' && uid.charAt(0) <= 'z') ) 
{
return( "您的帳號第一字元只能為小寫字母 !\n" );
}
for( idx = 0 ; idx <uid.length ; idx++ )
{
if( uid.charAt(idx)>= 'A' && uid.charAt(idx) <= 'Z' )
return( "帳號不可以含有大寫字元 !\n" );
if( !( ( uid.charAt(idx)>= 'a' && uid.charAt(idx) <= 'z' ) || ( uid.charAt(idx)>= '0' && uid.charAt(idx) <= '9' ) || ( uid.charAt(idx) == '_' ) ) )
return( "您的帳號只能是數字,英文字母及「_」等符號,其他的符號都不能使用 !\n" );
if( uid.charAt(idx) == '_' && uid.charAt(idx-1) == '_' )
return( "「_」符號不可相連 !\n" );
}
if( uid.indexOf( "kimo" )>= 0 || uid.indexOf( "yahoo" )>= 0 )
return( "您的帳號不能含有 'kimo' 與 'yahoo' 的字眼 !\n" );
if( uid.charAt( uid.length - 1 ) == '_' )
return( "「_」符號不可在最後 !\n" );
return "";
}


function check_oldID ( uid )
{
if( uid.length <= 0 )
return( "您的帳號還沒填呢 !\n" );
if( uid.length> 20 )
return( "您的帳號長度只能小於 16 個字元 !\n" );
for( idx = 0 ; idx <uid.length ; idx++ )
{
if( uid.charAt(idx)>= 'A' && uid.charAt(idx) <= 'Z' )
return( "帳號不可以含有大寫字元 !\n" );
if( !( ( uid.charAt(idx)>= 'a' && uid.charAt(idx) <= 'z' ) || ( uid.charAt(idx)>= '0' && uid.charAt(idx) <= '9' ) || ( uid.charAt(idx) == '_' ) || ( uid.charAt(idx) == '-' ) || ( uid.charAt(idx) == '.' ) ) )
return( "您的帳號只能是數字,英文字母及「_」「-」「.」等符號,其他的符號都不能使用 !\n" );
}
return "";
}


function check_passwd ( pw1, pw2 )
{
if( pw1 == '' ) {
return ("密碼不可以空白 !\n");
}
for( var idx = 0 ; idx <pw1.length ; idx++ )
if( pw1.charAt(idx) == ' ' || pw1.charAt(idx) == '\"' )
return ("密碼不可以含有空白或雙引號 !\n");
if( pw1.length <6 || pw1.length> 32 )
return( "密碼長度只能 6 到 32 個字母 !\n" );
if( pw1 != pw2 )
return("密碼二次輸入不一樣,請重新輸入 !\n");
return "";
}


function check_ht ( ht )
{
if( ht == '' )
return( "密碼提示不可以空白 !\n" );
return "";
}


function check_telephonenumber ( number )
{
var error = false;
if( number.length <= 0 )
return "您的通訊電話還沒填呢 !\n";
for( idx = 0 ; idx <number.length ; idx++ ) {
if( !( ( number.charAt(idx)>= '0' && number.charAt(idx) <= '9' ) || ( number.charAt(idx) == '-' ) ) ) {
error = true;
break;
}
}
if( error == true )
return "您的通訊電話只能是數字及'-'等符號, 其他的符號都不能使用 !\n";
return "";
}


function check_email ( email, emop )
{
var alt = check_radio( emop, "聯絡信箱" );
if( alt.length> 0 )
return alt;
var len = email.length;
if( emop[1].checked == true && len == 0 )
return "您的聯絡信箱選擇備用電子信箱, 所以備用電子信箱不可以空白 !\n";
var ck =0;
if(len==0)
return "";
for(var i=0;i<len;i++)
{ var c= email.charAt(i);
if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@")))
return "您的電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return "您的電子郵件地址不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return "您的電子郵件地址不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return "您的電子郵件地址不完全 !\n";
var idx = email.indexOf("@");
var name = email.substring( 0, idx );
var domain = email.substring( idx+1, email.length).toLowerCase();
email = name + "@" + domain;
if((email.indexOf("@kimo.com")>=0) || (email.indexOf("@yahoo.com")>=0))
return "您的備用電子信箱不能是Yahoo!奇摩電子信箱 !\n";
if( email == "tw-abuse@yahoo-inc.com" )
return "您的電子郵件地址不合法 !\n";
return "";
}


function check_amail ( email, emop )
{
var len = email.length;
if( emop.type == "checkbox" ) {
if( !emop.checked && len == 0 )
return "您的聯絡信箱選擇備用電子信箱, 所以備用電子信箱不可以空白 !\n";
}
if(len==0)
return "";
for(var i=0;i<len;i++)
{ var c= email.charAt(i);
if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@")))
return "您的電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@kimo.com")>=0) || (email.indexOf("@yahoo.com")>=0))
return "您的備用電子信箱不能是Yahoo!奇摩電子信箱 !\n";
if( email == "tw-abuse@yahoo-inc.com" )
return "您的電子郵件地址不合法 !\n";
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return "您的電子郵件地址不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return "您的電子郵件地址不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return "您的電子郵件地址不完全 !\n";
return "";
}


function check_email1 ( email )
{
var len = email.length;
if(len==0)
return "電子信箱不可空白！\n";
for(var i=0;i<len;i++)
{ var c= email.charAt(i);
if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@")))
return "您的電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@kimo.com.tw")>=0) || (email.indexOf("@kimo.com")>=0))
return "您的備用電子信箱不能是奇摩電子信箱 !\n";
if( email == "tw-abuse@yahoo-inc.com" )
return "您的電子郵件地址不合法 !\n";
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return "您的電子郵件地址不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return "您的電子郵件地址不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return "您的電子郵件地址不完全 !\n";
return "";
}


function check_identity ( id, radio )
{
if( ! (radio[0].checked || radio[1].checked) )
return '您的身分證字號（護照號碼）還沒填呢 !\n';
if( radio[0].checked == true ) {
var myid = id;
myid = myid.toUpperCase();
id = myid;
if(myid.length>10)
return "您的身分證字號超過10個字 !\n";
if(myid.length<10)
return "您的身分證字號不滿10個字 !\n";
var c = myid.charAt(0);
if(c<"A" || c> "Z")
return "您的身分證字號第一碼必須是大寫的英文字母 !\n";
c = myid.charAt(1);
if(c!="1" && c!="2")
return "您的身分證字號第二碼有問題 !\n";
for(i=1;i<10;i++)
if(isNaN(parseFloat(myid.charAt(i))))
return "您的身分證字號第二到十碼有問題 !\n";
var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O");
var num = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
var n=0;
for(i=0;i<alph.length;i++)
if(myid.charAt(0)==alph[i])
n=i;
var tot1 = parseFloat(num[n].charAt(0)) + (parseFloat(num[n].charAt(1)) * 9);
var tot2 = 0;
for(i=1;i<myid.length-1;i++)
tot2 = tot2 + parseFloat(myid.charAt(i))*(9-i);
var tot3 = parseFloat(myid.charAt(9));
var tot4 = tot1 + tot2 + tot3;
if((tot4 % 10)!=0)
return "您的身分證字號有問題 !\n";
} else {
if ( id.length <= 0 ) return '您的身分證字號（護照號碼）還沒填呢 !\n';
}
return "";
}

function check_identity_2 ( id, radio )
{

if ( id.length <= 0 )
return '身分證字號（護照號碼）不可空白 !\n';
else
{
	
if( radio[0].checked == true ) 
{
var myid = id;
myid = myid.toUpperCase();
id = myid;
if(myid.length>10)
return "您的身分證字號超過10個字 !\n";
if(myid.length<10)
return "您的身分證字號不滿10個字 !\n";
var c = myid.charAt(0);
if(c<"A" || c> "Z")
return "您的身分證字號第一碼必須是大寫的英文字母 !\n";
c = myid.charAt(1);
if(c!="1" && c!="2")
return "您的身分證字號第二碼有問題 !\n";
for(i=1;i<10;i++)
if(isNaN(parseFloat(myid.charAt(i))))
return "您的身分證字號第二到十碼有問題 !\n";
var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O");
var num = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
var n=0;
for(i=0;i<alph.length;i++)
if(myid.charAt(0)==alph[i])
n=i;
var tot1 = parseFloat(num[n].charAt(0)) + (parseFloat(num[n].charAt(1)) * 9);
var tot2 = 0;
for(i=1;i<myid.length-1;i++)
tot2 = tot2 + parseFloat(myid.charAt(i))*(9-i);
var tot3 = parseFloat(myid.charAt(9));
var tot4 = tot1 + tot2 + tot3;
if((tot4 % 10)!=0)
return "您的身分證字號有問題 !\n";
}
else  
{
}}
return "";
}


function check_null ( column, name )
{
if( column.length == 0 )
return name + "不可以空白 !\n";
return "";
}


function check_select ( select, name )
{
if( select.options[0].selected == true )
return name + "必須選擇 !\n";
return "";
}


function check_select_2 ( select, name )
{
if( select.options[0].text == '' )
return name + "必須選擇 !\n";
return "";
}

function check_radio ( radio, name )
{
var error = true;
for( i=0; i <radio.length; i++ )
if( radio[i].checked == true ) {
error = false;
break;
}
if( error == true )
return name + "必須選擇 !\n";
return "";
}


function check_birthday_year( year )
{
var error = false;
if( year.length != 4 )
return ("您的生日年份必須是四個數字, 例如 1980 年 !\n");
for( idx = 0 ; idx <year.length ; idx++ ) {
if( !( year.charAt(idx)>= '0' && year.charAt(idx) <= '9' ) ) {
error = true;
break;
}
}
if( error == true )
return ("您的生日年份必須是四個數字, 例如 1980 年 !\n");
return "";
}


function check_mobilephone ( number, radio )
{
var alt = check_radio( radio, "行動電話" );
if( alt.length> 0 )
return alt;
var error = false;
if( radio[1].checked == true ) {
if( number.length <= 0 )
return "您的行動電話還沒填呢 !\n";
if( number.length >= 24 )
return "您的行動電話有問題 !\n";
for( idx = 0 ; idx <number.length ; idx++ ) {
if( !( number.charAt(idx)>= '0' && number.charAt(idx) <= '9' ) && number.charAt(idx)!='-' && number.charAt(idx)!='+' ) {
error = true;
break;
}
}
}
if( error == true )
return "您的行動電話只能是數字, 其他的符號都不能使用 !\n";
else
return "";
}


function delete_pid ( pid, done )
{
if( confirm( "您是否要刪除此網路身份?" ) )
location.href = 'ct?t=p&pid=' + pid + '&f=d&done=' + done;
}


function check_float ( column, name ,sign,zero)
{
 if(IsFloat(column,sign,zero)==false)
        return name+"輸入格式不正確 !\n";
 else
        return "";
}

/*
	名字︰Common.js
	功能︰通用JavaScript腳本函數庫
	包括︰
			1.Trim(str)－－去除字元串兩邊的空格
			2.XMLEncode(str)－－對字元串進行XML編碼
            3.ShowLabel(str,str)－－鼠標提示功能（顯示字符，提示字符）
			4.IsEmpty(obj)－－驗証輸入框是否為空
			5.IsInt(objStr,sign,zero)－－驗証是否為整數
			6.IsFloat(objStr,sign,zero)－－驗証是否為浮點數
			7.IsEnLetter(objStr,size)－－驗証是否為26個字母
 
    作者︰申旺
    日期︰2004/04/14
*/
 
/*
==================================================================
字元串操作
Trim(string):去除字元串兩邊的空格
==================================================================
*/
 
/*
==================================================================
LTrim(string):去除左邊的空格
==================================================================
*/
function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}
 
/*
==================================================================
RTrim(string):去除右邊的空格
==================================================================
*/
function RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
 
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
 
/*
==================================================================
Trim(string):去除前后空格
==================================================================
*/
function Trim(str)
{
    return RTrim(LTrim(str));
}
 
 
 
/*
================================================================================
XMLEncode(string):對字元串進行XML編碼
================================================================================
*/
function XMLEncode(str)
{
	str=Trim(str);
	str=str.replace("&","&amp;");
	str=str.replace("<","&lt;");
	str=str.replace(">","&gt;");
	str=str.replace("'","&apos;");
	str=str.replace("\"","&quot;");
	return str;
}
 
/*
================================================================================
驗証類函數
================================================================================
*/
 
function IsEmpty(obj)
{
    obj=document.getElementsByName(obj).item(0);
    if(Trim(obj.value)=="")
    {
        alert("字段不能為空。");        
        if(obj.disabled==false && obj.readOnly==false)
        {
            obj.focus();
        }
    }
}
 
/*
IsInt(string,string,int or string):(測試字元串,+ or - or empty,empty or 0)
功能︰判斷是否為整數、正整數、負整數、正整數+0、負整數+0
*/
function IsInt(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("檢查是否包含0參數，只可為(空、0)");
        }
    }
    
    switch(sign)
    {
        case "+-":
            //整數
            reg=/(^-?|^\+?)\d+$/;            
            break;
        case "+": 
            if(!bolzero)           
            {
                //正整數
                reg=/^\+?[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //正整數+0
                //reg=/^\+?\d+$/;
                reg=/^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //負整數
                reg=/^-[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //負整數+0
                //reg=/^-\d+$/;
                reg=/^-[0-9]*[0-9][0-9]*$/;
            }            
            break;
        default:
            alert("檢查符號參數，只可為(空、+、-)");
            return false;
            break;
    }
    
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}
 
/*
IsFloat(string,string,int or string):(測試字元串,+ or - or empty,empty or 0)
功能︰判斷是否為浮點數、正浮點數、負浮點數、正浮點數+0、負浮點數+0
*/
function IsFloat(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("檢查是否包含0參數，只可為(空、0)");
        }
    }
    
    switch(sign)
    {
        case "+-":
            //浮點數
            reg=/^((-?|\+?)\d+)(\.\d+)?$/;
            break;
        case "+": 
            if(!bolzero)           
            {
                //正浮點數
                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //正浮點數+0
                reg=/^\+?\d+(\.\d+)?$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //負浮點數
                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //負浮點數+0
                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }            
            break;
        default:
            alert("檢查符號參數，只可為(空、+、-)");
            return false;
            break;
    }
    
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}



