//刪除字串前後空白字元
function trim(str)
{
    return str.replace(/^\s+|\s+$/g, "");
}

//判斷是否為數字
function cknum(value)
{
    var NumChr = "0123456789";
    for (var i = 0; i < value.length; i++)
    {
        if (NumChr.indexOf(value.charAt(i)) == -1)
        {
            return true;
        }
    }
    return false;
}

//判斷是否為數字或小數點
function ckfloat(value)
{
    var NumChr = "0123456789.";
    for (var i = 0; i < value.length; i++)
    {
        if (NumChr.indexOf(value.charAt(i)) == -1)
        {
            return true;
        }
    }
    return false;
}

//判斷字串是否符合規定
function ckstring(value, type)
{
    if ( type == 0 || type == '' )
    {
        var strchr = "0123456789-_";
    }else if ( type == 1 )
    {
        var strchr = "0123456789.";
    }else if ( type == 2 )
    {
        var strchr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";
    }

    for (var i = 0; i < value.length; i++)
    {
        if (strchr.indexOf(value.charAt(i)) == -1)
        {
            return true;
        }
    }
    return false;
}

//判斷是否 有不合法字元
function chk_fldV(p_id)
{
    var score_i=0,score_c=0;
    var l_str=unescape('%27')+unescape('%22')+unescape('%2A');
    if ((p_id.charAt(0)=='') && (p_id.length > 0))
    {
        return false;
    }
    for (var i = 0;  i < p_id.length;  i++)
    {
        if (l_str.indexOf(p_id.charAt(i),0) >= 0 )
        {
            score_c += 1;
        }
    }
    if (score_c == 0)
    {
        return true;
    }else{
        return false;
    }
}

//判斷是否 為數值
function chk_numV( p_str , p_value )
{
    var checkOK = p_value;
    var checkStr = p_str;
    var allValid = true;
    var decPoints = 0;
    for( i = 0 ; i < checkStr.length; i++ )
    {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
        {
            if (ch == checkOK.charAt(j)){ break; }
        }
        if (j == checkOK.length)
        {
            allValid = false;
            break;
        }
    }

    if (!allValid)
    {
        return false;
    }else{
        return true;
    }
}

//判斷是否為日期格式
function dateV(p_year, p_month, p_day)
{
    var l_LegalDay = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var Current_Date = new Date();
    var l_Month = Current_Date.getMonth();
    var l_Year = Current_Date.getYear();
    var l_Day = Current_Date.getDate();

    if (!chk_numV(p_year,"0123456789")) return false;
    if (!chk_numV(p_month,"0123456789")) return false;
    if (!chk_numV(p_day,"0123456789")) return false;

    if ((p_year % 400 == 0) || ((p_year % 4 == 0) && (p_year % 100 != 0))) l_LegalDay[1] = 29;
    if (p_month > 12 || p_month < 1 )  return false;
    if (p_day > l_LegalDay[p_month-1]  || p_day < 1 )  return false;
    return true;
}

//判斷日期大小是否有符合
function cktime(year1 , month1 , day1 , year2 , month2 , day2)
{
    var year1   = parseInt(year1);
    var month1  = parseInt(month1);
    var day1    = parseInt(day1);
    var year2   = parseInt(year2);
    var month2  = parseInt(month2);
    var day2    = parseInt(day2);
    if ( year1 < year2)
    {
        return true;

    }else if (year1 == year2)
    {
        if ( month1 < month2)
        {
            return true;

        }else if ( month1 == month2)
        {
            if ( day1 <= day2)
            {
                return true;
            }
        }else{
            return false;
        }
    }else{

        return false;
    }
}

//判斷E-Mail格式
function chk_mailV(p_str){
    var checkStr = p_str;
    for (i = 0;  i < checkStr.length;  i++)
    {
        if (checkStr.charAt(i)=="@") return true;
    }
    return false;
}

//判斷字數是否有超過
function chk_Total(p_str , p_value)
{
    var count = 0;
    for(i = 0; i < p_str.length; i++)
    {
        if (p_str.charCodeAt(i) > 128)
        {
            count += 2;

        }else if (p_str.charCodeAt(i) < 128 )
        {
            count ++;
        }
    }
    if ( count > p_value )
    {
        return false;
    }else{
        return true;
    }
}

//判斷日期是否正確
function checkDate(year , month , day)
{
    year = parseInt(year);
    month = parseInt(month);
    day = parseInt(day);
    if ( year % 4 == 0 && month == 2 && day > 29)
    {
        return false;

    }else if ( year % 4 != 0 && month == 2 && day > 28)
    {
        return false;

    }else if ( ( month == 4 || month == 6 || month == 9 || month == 11 ) && day > 30 )
    {
        return false;

    }else{
        return true;
    }
}

function chkdata_OK(vi)
{
    vdate = new Date();
    vsdate=vdate.getYear()+'/'+ (vdate.getMonth() + 1) + '/' + vdate.getDate() +' '+ vdate.getHours() + ':' + vdate.getMinutes();
    opener.document.getElementById('setD' + vi).value =vsdate;
    self.opener.document.getElementById('ok' + vi).style.display = 'block';
    window.close();
}

function change_lottery_no(year,selectName)
{
    year = year - 1911;
    ae = document.getElementById(selectName);
    ae.length = 151;
    ae.options[0].text = 'NA';
    ae.options[0].value = 'NA';
    for (i = 1; i < ae.length; i++)
    {
        if ( i < 10)
        {
            var prefix = '00000';
        }else if ( i < 100 )
        {
            var prefix = '0000';
        }else{
            var prefix = '000';
        }
        var years = year;
        var no = i;
        var pre = years + prefix + no;
        ae.options[i].text = pre;
        ae.options[i].value = pre;
    }
    return true;
}

function show_div(divName, buttonName, changeValue, backValue)
{
    if ( document.getElementById(divName).style.display == 'none' )
    {
        document.getElementById(divName).style.display = 'block';
        change_value(buttonName, changeValue);
    }else{
        document.getElementById(divName).style.display = 'none';
        change_value(buttonName, backValue);
    }
}

function change_value(sid, newValue)
{
    document.getElementById(sid).value = newValue;
}

//判斷小數點取到第幾位num 小數, pos取到第幾位
function formatFloat(num, pos)
{
    var size = Math.pow(10, pos);
    return Math.round(num * size) / size;
}

function round1(value, rank)
{
    if( value >= 0 )
    {
        return parseInt(value * Math.pow(10,rank) + 0.5) / Math.pow(10,rank);
    }else{
        return parseInt(value * Math.pow(10,rank) - 0.4) / Math.pow(10,rank);
    }
}


//加入我的最愛
function addBookmarkForBrowser(url, title)
{
    if (document.all){
        window.external.AddFavorite(url, title);
    }else{
        window.sidebar.addPanel(title, url, "");
    }
}

//送出表單
function form_submit(form_name)
{
    document.getElementById(form_name).submit();
}

//產生亂數Min最小值 Max最大值
function get_random(Min, Max)
{
    return (Math.floor(Math.random() * (Max - Min + 1)) + Min);
}

function check_login()
{
    var Obj = document.loginform;
    if ( trim(Obj.username.value) == '' )
    {
        alert('請輸入帳號!!');
        Obj.username.focus();

    }else if ( trim(Obj.password.value) == '' )
    {
        alert('請輸入密碼!!');
        Obj.password.focus();

    }else{
        Obj.submit();
    }
}


function show_display(sid)
{
    if ( document.getElementById(sid).style.display == 'none')
    {
        document.getElementById(sid).style.display = 'block';
    }else{
        document.getElementById(sid).style.display = 'none';
    }
}

function cksearchplate()
{
    var obj = document.searchplateform;
    if ( !dateV(obj.year.value,obj.month.value,obj.day.value) )
    {
        alert('請選擇正確的時間!!');
        obj.day.focus();
    }else{
        obj.submit();
    }
}

function clear_value(inpnut_id)
{
    document.getElementById(inpnut_id).value = '';
}

//秀出正確的日期，包含空白值
function change_date(year, month, day)
{
    var y = document.getElementById(year).value;
    var m = document.getElementById(month).value;

    y = parseInt(y);
    m = parseInt(m);

    if ( y % 4 == 0 && m == 2)   //判定為閏年，2月有29天
    {
        dd = document.getElementById(day);
        dd.length = 30;
        for (i = 0; i < dd.length; i++)
        {
            if ( i == 0)
            {
                dd.options[i].text = '';
                dd.options[i].value = '';
            }else{
                dd.options[i].text = i;
                dd.options[i].value = i;
            }
        }

    }else if ( y % 4 != 0 && m == 2)   //判定非閏年，2月有28天
    {
        dd = document.getElementById(day);
        dd.length = 29;
        for (i = 0; i < dd.length; i++)
        {
            if ( i == 0)
            {
                dd.options[i].text = '';
                dd.options[i].value = '';
            }else{
                dd.options[i].text = i;
                dd.options[i].value = i;
            }
        }

    }else if ( m == 4 || m == 6 || m == 9 || m == 11 )  //判定為小月，日有30天
    {
        dd = document.getElementById(day);
        dd.length = 31;
        for (i = 0; i < dd.length; i++)
        {
            if ( i == 0)
            {
                dd.options[i].text = '';
                dd.options[i].value = '';
            }else{
                dd.options[i].text = i;
                dd.options[i].value = i;
            }
        }

    }else{   //判定為大月，日有31天

        dd = document.getElementById(day);
        dd.length = 32;
        for (i = 0; i < dd.length; i++)
        {
            if ( i == 0)
            {
                dd.options[i].text = '';
                dd.options[i].value = '';
            }else{
                dd.options[i].text = i;
                dd.options[i].value = i;
            }
        }
    }

}

//秀出正確的日期，不包含空白值
function change_date2(year, month, day)
{
    var y = document.getElementById(year).value;
    var m = document.getElementById(month).value;

    y = parseInt(y);
    m = parseInt(m);

    if ( y % 4 == 0 && m == 2)   //判定為閏年，2月有29天
    {
        dd = document.getElementById(day);
        dd.length = 29;
        for (i = 0; i < dd.length; i++)
        {
            dd.options[i].text = (i + 1);
            dd.options[i].value = (i + 1);
        }

    }else if ( y % 4 != 0 && m == 2)   //判定非閏年，2月有28天
    {
        dd = document.getElementById(day);
        dd.length = 28;
        for (i = 0; i < dd.length; i++)
        {
            dd.options[i].text = (i + 1);
            dd.options[i].value = (i + 1);
        }

    }else if ( m == 4 || m == 6 || m == 9 || m == 11 )  //判定為小月，日有30天
    {
        dd = document.getElementById(day);
        dd.length = 30;
        for (i = 0; i < dd.length; i++)
        {
            dd.options[i].text = (i + 1);
            dd.options[i].value = (i + 1);
        }

    }else{   //判定為大月，日有31天

        dd = document.getElementById(day);
        dd.length = 31;
        for (i = 0; i < dd.length; i++)
        {
            dd.options[i].text = (i + 1);
            dd.options[i].value = (i + 1);
        }
    }

}

//自動填補字串到指定長度patch 填補字串, str_lenght = 填補長度, aspect = 填補位置  name = input name
function patch_zero(patch, str_length, aspect, name)
{
    var new_str = '';
    in_value  = document.getElementById(name).value;
    in_length = in_value.length;

    if ( in_length >= str_length )    //判斷是否不需填補字元
    {
        return false;
    }else{
        for (i = 0; i < (str_length - in_length); i++)
        {
            new_str = new_str + patch;
        }
        if ( aspect == 'left' )       //填補字元於字串左邊
        {
            new_str = new_str + in_value;
        }else{                        //填補字元於字串右邊
            new_str = in_value + new_str;
        }
        document.getElementById(name).value = new_str;
    }
}

//重新整理父視窗
function parents_reflash()
{
    parent.location.reload();
}

//查詢狀紙內容
function view_state_paper(c_id)
{
    window.open('check_state_paper.php?case_schedule_id=' + c_id,'','height=700,width=700,toolbar=no,scrollbars=yes,resizable=no,top=100,left=100');
}

//回傳encodeURI編碼
function setEncodeURI(reqs)
{
    return encodeURI(reqs);
}

// 身分證字號檢查器
function Check_pid(id)
{
    tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
    A1  = new Array (1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3 );
    A2  = new Array (0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5 );
    Mx  = new Array (9,8,7,6,5,4,3,2,1,1);
    if ( id.length != 10 ) return false;
    i = tab.indexOf( id.charAt(0) );
    if ( i == -1 ) return false;
    sum = A1[i] + A2[i] * 9;

    for ( i = 1; i < 10; i++ )
    {
        v = parseInt( id.charAt(i) );
        if ( isNaN(v) ) return false;
        sum = sum + v * Mx[i];
    }
    if ( sum % 10 != 0 ) return false;
    return true;

}

//數字加上逗號
function formatNumber(str)
{
    if(str.length <= 3)
    {
        return str;
    } else {
        return formatNumber(str.substr(0,str.length-3))+','+str.substr(str.length-3);
    }
}

//格式化數字，加上逗號
function f_number(id)
{
    //先將逗號移除
    var str = trim(document.getElementById(id).value);
    var regex = /,+/g;
    var new_str = formatNumber(str.replace(regex,""));
    document.getElementById(id).value = new_str;
}

function show_input_length(input, total)
{
    var no = parseInt(total)/2;
    alert(input + '輸入長度超過限制，限制長度' + no + '個中文字');
}

function opener_reload()
{
    window.opener.location.reload();
    window.close();
}

//判斷search是否有輸入keyword
function check_search_form()
{
    obj = document.search;
    if ( trim(obj.keyword.value) == '' )
    {
        alert('請輸入關鍵字查詢!!');
        obj.keyword.focus();
        return false;
    }
}

//判斷E-Mail格式
function ckEmail(email)
{
    var pattern = /^([a-zA-Z0-9\._-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
    return pattern.test(email);
}

//清空表單
function reset_form(form)
{
    document.getElementById(form).reset();
}
