function openUrl(url, target, w, h, bCenter) {
    var nLeft, nTop, hWnd;
    nLeft = (screen.width - w) / 2;
    nTop = (screen.height - h) / 2;
	hWnd = window.open(url, target, "scrollbars=yes resizable=yes width=" + w + " height=" + h);
	if (bCenter) hWnd.moveTo(nLeft,nTop);
	hWnd.focus();
}

function openchildwin(url, target, w, h, bCenter) {
    	var nLeft, nTop, hWnd;
    	nLeft = (screen.width - w) / 2;
    	nTop = (screen.height - h) / 2;	
	var hWnd = window.open(url, target,"scrollbars=yes resizable=yes width=" + w + " height=" + h);
	if ((document.window != null) && (!hWnd.opener))
		 hWnd.opener = document.window;	
	if (bCenter) hWnd.moveTo(nLeft,nTop);
	hWnd.focus();		
}
	
function isValidFucMbr(fvar, msg) {
	len = fvar.length;
	if (len == 0) {
		alert(msg);
		fvar.focus();
		return false;
	}
	return true;
}

function validUpload(fvar) {

        if (fvar.value.length==0) {
                alert("請輸入檔名");
                return false;
        }
        if (fvar.value.indexOf("\"")>=0 || fvar.value.indexOf("'")>=0) {
                alert("檔名中不能有\"或'");
                return false;
        }
        if (fvar.value.indexOf(">")>=0 || fvar.value.indexOf("<")>=0) {
                alert("檔名中不能有>或<");
                return false;
        }

        return(true);
}

function img_show(imgname, newgif) {

        browser = navigator.userAgent;
        if ((browser.indexOf("Mozilla/3.0") != -1) || (browser.indexOf("Mozilla/4.0") != -1))
                imgname.src = newgif; 
}

function isValidEMail(femail, allowempty) {

        femailvalue = allTrim(femail.value);
        
        if (empty(femailvalue)) {
        	if (!allowempty) {
                alert("請輸入電子信箱");
                femail.focus();
                return false;
            }
        } else {

                n = femailvalue.indexOf(" ");
                if (n >= 0) {
                        alert("請輸入正確電子信箱Space" );
                        femail.focus();
                        return false;
                }

                n = femailvalue.indexOf("\"");
                if (n >= 0) {
                        alert("請輸入正確電子信箱\"" );
                        femail.focus();
                        return false;
                }
                n = femailvalue.indexOf("'");
                if (n >= 0) {
                        alert("請輸入正確電子信箱'" );
                        femail.focus();
                        return false;
                }
                n = femailvalue.indexOf(",");
                if (n >= 0) {
                        alert("請輸入正確電子信箱," );
                        femail.focus();
                        return false;
                }
                n = femailvalue.indexOf(";");
                if (n >= 0) {
                        alert("請輸入正確電子信箱;");
                        femail.focus();
                        return false;
                }

                n = femailvalue.indexOf(":");
                if (n >= 0) {
                        alert("請輸入正確電子信箱:");
                        femail.focus();
                        return false;
                }

                n = femailvalue.indexOf("\\");
                if (n >= 0) {
                        alert("請輸入正確電子信箱\\");
                        femail.focus();
                        return false;
                }
                n = femailvalue.indexOf("/");
                if (n >= 0) {
                        alert("請輸入正確電子信箱/");
                        femail.focus();
                        return false;
                }

                n = femailvalue.indexOf("@.");
                if (n >= 0) {
                        alert("請輸入正確電子信箱@.");
                        femail.focus();
                        return false;
                }

                n = femailvalue.indexOf(".@");
                if (n >= 0) {
                        alert("請輸入正確電子信箱.@");
                        femail.focus();
                        return false;
                }

                n = femailvalue.indexOf("@");
                n1 = femailvalue.lastIndexOf("@");
                if (n <= 0 || n1 == femailvalue.length - 1) {
                        alert("請輸入正確電子信箱@");
                        femail.focus();
                        return false;
                }
                n = femailvalue.indexOf(".");
                n1 = femailvalue.lastIndexOf(".");
                if (n <= 0 || n1 == femailvalue.length - 1) {
                        alert("請輸入正確電子信箱.");
                        femail.focus();
                        return false;
                }
        }
        return true;

}

function isNotANum(fvar, msg, allowempty) {
        if (isNotANum.arguments < 3) allowempty = true;
        if (!allowempty && allTrim(fvar.value) == '' ) {
                alert(msg);
                fvar.focus();
                return true;
        }
        if (isNaN(fvar.value)) {
                alert(msg);
                fvar.focus();
                return true;
        } 
        return false;
}

function isValidDate(fvar, allowempty, msg) {

        if (allowempty && nullEmpty(fvar.value)) return true;
        if (!chkDateStr(fvar.value)) {
                alert(msg);
                fvar.focus();
                return false;
        } 
        return true;
}

function isValidStr(fvar, msg, allowempty) {

        if (isValidStr.arguments < 3) allowempty = true;
        if (allowempty && nullEmpty(fvar.value)) return true;
        if (nullEmpty(fvar.value)) {
                alert(msg);
                fvar.focus();
                return false;
        } 
        return true;
}

function checkID(userID){

        userID = userID.toUpperCase();
        areaCode = userID.substring(0, 1);
        if (userID.length != 10) return "1";
        if (areaCode < "A" && areaCode > "Z") return "1";
        if (isNaN(userID.substring(2, 10))) return "1";
        
        ss = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
        areaNO = ss.indexOf(areaCode) + 10;
        userID = areaNO + userID.substring(1, 10);
        //取得CheckSum的值
        checkSum = parseInt(userID.substring(0,1),10) + parseInt(userID.substring(10, 11), 10);
        
        for (i = 1 ; i <= 9; i ++) {
            checkSum += parseInt(userID.substring(i, i+1), 10) * (11 - i - 1);
        }
        return (mod(checkSum, 10) == 0 ? "0" : "2");
}

function notEmpty(s) {
        
        return(!empty(s));
}
function nullEmpty(s) {
        
        return(empty(s));
}

function empty(s) {
        
        if (s == null)                  return(true);
        if (allTrim(s) == 'undefined')  return(true);
        if (allTrim(s) == "null")       return(true);
        if (allTrim(s) == "")           return(true);
        
        if (allTrim(s) == "0")          return(true);

        return(false);
}

function padLeft(s, n, c) {
        var ss;
        ss = "";
        for(i = 0; i < n - s.length; i++) {
                ss += c;
        }
        ss += s;
        return ss;
}
//**** return current time --> 12:01:01 *******
function getTimeStr() {

        var da = new Date();
        h = "0" + da.getHours();
        m = "0" + da.getMinutes();
        s = "0" + da.getSeconds();
        tstr = right(h, 2) +":"+ right(m, 2) + ":"+right(s, 2);
        return(tstr);
}

function getDateFormat(d) {
        
        if (empty(d)) d = getDateStr();
        yy = left(d, 3);
        mm = d.substring(3, 5);
        dd = d.substring(5, 7);
        return(yy+"/"+mm+"/"+dd);        
}

function getEDateFormat(d) {
        
        if (empty(d)) d = getDateStr();
        yy = 1911 + parseInt(left(d, 3));
        mm = d.substring(3, 5);
        dd = d.substring(5, 7);
        return(mm+"/"+dd+"/"+yy);
}

function getChinaYear(da) {
        var y = da.getYear();
        if (y < 2000)
                return (y - 11);
        else
                return (y - 1911);
        
}

function getDateStr() {
        var y, m, d;

        var da = new Date();
        y = "000" + getChinaYear(da);
        m = "00" + (da.getMonth() + 1);
        d = "00" + da.getDate();
        dstr = right(y, 3) + right(m, 2) + right(d, 2);
        return(dstr);
}

function right(s, n) {

        if (empty(s)) return("");
        s = rTrim(s);
        var len = s.length;
        len1 = len - n;
        str = s.substring(len1, len);
        return(str);
}

function left(s, n) {

        if (empty(s)) return("");
        var str = s.substring(0, n);
        return(str);
}

function chkDateStr(d) {
        var yy,mm,dd;
        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;


        d = allTrim(d);
        if (d.length == 6) d = "0" + d ;
        if (d.length < 7) return(false);

        yy = left(d, 3);
        yy++; yy--;
        if (isleap(yy)) da[1] = 29;
        mm = d.substring(3, 5);
        mm++; mm--;
        dd = d.substring(5, 7);
        dd++; dd--;
        if (isNaN(yy) || isNaN(mm) || isNaN(dd)) return(false);
        if (mm < 1 || mm > 12) return(false);
        if (dd < 1 || dd > da[mm-1]) return(false);

        return(true);
}

function calculateMinute(fdate, ftime, tdate, ttime) {

//write("<script>alert("+fdate+' '+ftime+' '+tdate+' '+ttime+")</script>;")
        nDay = calculateDays(fdate, tdate);
        nMin = nDay * 24 * 60;
        fm = parseInt(left(ftime,2) * 60) + parseInt(ftime.substring(3,5));
        tm = parseInt(left(ttime,2) * 60) + parseInt(ttime.substring(3,5));
//write("<script>alert("+nDay+' '+fm+' '+tm+")</script>;");
        return(parseInt(nMin)+parseInt(tm)-parseInt(fm));
}

function calculateDays(fdate, tdate) {
        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;
        var pdays = 0, fdays = 0, tdays = 0, i=0;

        if (fdate==tdate) return 0;
        
        yy = left(fdate, 3);    yy++;   yy--;
        mm = parseInt(fdate.substring(3, 5));   mm++; mm--;
        dd = parseInt(fdate.substring(5, 7));   dd++; dd--;
        da[1] = isleap(yy)?29:28;
        for (i = 1 ; i <= yy; i++)
                fdays += ((isleap(i))?366:365);
        for (i = 0 ; i < mm; i++)
                fdays += da[i];
        fdays += dd;
        
        yy = parseInt(left(tdate, 3), 10);
        mm = parseInt(tdate.substring(3, 5), 10);
        dd = parseInt(tdate.substring(5, 7), 10);
        
        da[1] = isleap(yy)?29:28;
        for (i = 1; i <= yy; i++)
                tdays += ((isleap(i))?366:365);

        for (i = 0; i < mm; i++) {
                tdays += da[i];
        }
        tdays += dd;

        pdays = tdays - fdays;
        return(pdays);
}


//***  return 月初 --> 0860101 *****
function getMonDayTop(d) {

        if (empty(d)) d = getDateStr();
        return(left(d, 5) + "01");
}

function goDate1(fvar, dir) {
        if (!chkDateStr(fvar.value)) {
                fvar.value = getDateStr();
                return true;
        }
        if (dir == -1)
                fvar.value = getLastDays(fvar.value, 1);
        else
                fvar.value = getNextDays(fvar.value, 1);
        return true;
}

//***  return 前 n 日 *****
function getLastDays(d, n) {
	var dd;

        for (var i=0 ; i < n; i++) {
                dd = d.substring(5, 7);
                if (dd == "01")
                        d = getMonDayBottom(getLastMonth(d));
                else {
                        dd--;
                        d = left(d, 5) + right("0"+dd, 2);
                }
        }
        return(d);
}

function getWeekStr(d) {
var yy, mm, dd
        aMon = new Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
        aWeek = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
        if (empty(d)) d = getDateStr();
        yy = left(d, 3);
        yy++; yy--; yy += 1911;
        mm = d.substring(3, 5);
        mm--;
        dd = d.substring(5, 7);
        dd++; dd--;
        var da = new Date(aMon[mm]+" "+dd+","+yy);
        var week = da.getDay();
        return(aWeek[week]);
}

function getWeek(d) {
	var yy, mm, dd;
        if (empty(d)) d = getDateStr();
        aMon = new Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
        if (empty(d)) d = getDateStr();
        yy = left(d, 3);
        yy++; yy--; yy += 1911;
        mm = d.substring(3, 5);
        mm--;
        dd = d.substring(5, 7);
        dd++; dd--;
        var da = new Date(aMon[mm]+" "+dd+","+yy);
        var week = da.getDay();
        return(week);
}

//***  return 後 n 日 *****
function getNextDays(d, n) {
	var dd, yy, mm;
        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;

        for (var i=0 ; i < n; i++) {
                yy = left(d, 3);
                if (isleap(yy)) da[1] = 29;
                dd = d.substring(5, 7);
                mm = d.substring(3, 5);
                if (dd == da[mm-1])
                        d = getMonDayTop(getNextMonth(d));
                else {
                        dd++;
                        d = left(d, 5) + right("0"+dd, 2);
                }
        }
        return(d);
}

//***  return 月底 --> 0860131 *****
function getMonDayBottom(d) {
        var y, m;

        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;

        if (empty(d)) d = getDateStr();
        y = left(d, 3);
        m = d.substring(3,5);
        if (isleap(y))  da[1] = 29;

        return(left(d, 5) + da[m-1]);
}

//***  return next month --> 0860131 *****
function getNextMonth(d) {

        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;

        if (empty(d)) d = getDateStr();

        y = left(d,3);
        m = d.substring(3,5);
        md = da[m-1];
        d = d.substring(5, 7);
        
        if (m == "12") {
                y++;
                m = "01";
        } else {
                m++;
        }       
        if (isleap(y))  da[1] = 29;
        if (d == md || d > da[m-1]) d = da[m-1];

        return(right("00"+y, 3) + right("0"+m, 2) + d);
}

//***  return last month --> 0860131 *****
function getLastMonth(d) {

        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;

        if (empty(d)) d = getDateStr();

        y = left(d,3);
        m = d.substring(3,5);
        md = da[m-1];
        d = d.substring(5, 7);
        
        if (m == "01") {
                y--;
                m = "12";
        } else {
                m--;
        }       
        if (isleap(y))  da[1] = 29;
        if (d == md || d > da[m-1]) d = da[m-1];

        return(right("00"+y, 3) + right("0"+m, 2) + d);
}


//** 閏年 ****
function isleap(y) {

        var m, d, k;
        y++;
        y--;
        y = parseInt(y) + 1911;
        k = y / 4;
        m = y - Math.floor(k) * 4;

        if (empty(m))   return(true);
        else            return(false);
}


function allTrim(s)
{
        var s1 = lTrim(s);
        return(rTrim(s1));
}

function lTrim(s)
{
        s = "" + s;
        var len = s.length;
        var pos = 0;
        var s1 = "";

        while (pos < len) {
                var chr = s.substring( pos, pos + 1 );
                if (chr == " " || chr == "") pos = pos + 1; 
                else return(s.substring(pos,len));
        }
        
        return s1;
}

function rTrim(s)
{
        s = "" + s;
        var len = s.length;
        var pos = len-1;
        var s1 = "";
        var i = 0
        while (pos >= 0) {
                var chr = s.substring( pos, s.length-i );
                if (chr == " " || chr == "") pos = pos - 1; 
                else return(s.substring(0,pos+1));
                i++;
        }
        
        return s1;
}

//********************

function mod(v, s) {
        
        var m, d, k;
        if (empty(s)) return(0);
        k = v / s;
        m = v - Math.floor(k) * s;
        return(m);
}

function getInt(v) {

        return(Math.floor(v));
}

function goMonth(f, dir) {
        var i;
        mm = f.mm[0].selectedIndex;
        yy = f.yy[0].selectedIndex;

        if (dir == '1') {
                if (mm == 11) {
                        mm = 0;
                        yy++;
                        f.yy[0].options[yy].selected = true;
                        f.yy[1].options[yy].selected = true;
                } else {
                        mm++;
                }       
                f.mm[0].options[mm].selected = true;
                f.dd[0].options[0].selected = true;
                f.mm[1].options[mm].selected = true;
                
        } else if (dir == '-1') {
                if (mm == 0) {
                        mm = 11;
                        yy--;
                        f.yy[0].options[yy].selected = true;
                        f.yy[1].options[yy].selected = true;
                } else {
                        mm--;
                }
        } else if (dir == '0') {
                var da = new Date();
                mm = da.getMonth();
                yy = getChinaYear(da);
                for (i=0; i<f.yy[0].length; i++)
                        if (f.yy[0].options[i].value == yy) break;
                yy = i;
                dd = da.getDate();
                f.yy[0].options[yy].selected = true;
                f.yy[1].options[yy].selected = true;
        }
        f.mm[0].options[mm].selected = true;
        f.mm[1].options[mm].selected = true;
        
        yvalue = right("000" + f.yy[0].options[yy].value, 3);
        mvalue = right("00" + f.mm[0].options[mm].value, 2);
        dvalue = yvalue + mvalue + "01";
        bvalue = parseInt(right(getMonDayBottom(dvalue), 2), 10);
        for (i=f.dd[1].length-1; i >= 0 ; i--)
                f.dd[1].options[i] = null;
        for (i=0; i < bvalue ; i++) {
                f.dd[1].options[i] = null;
                opt = new Option(i+1, i+1);
                f.dd[1].options[i] = opt;
        }
        if (dir == '1' || dir == '-1') {
                f.dd[0].options[0].selected = true;
                f.dd[1].options[bvalue-1].selected = true;
        } else {
                f.dd[0].options[dd-1].selected = true;
                f.dd[1].options[dd-1].selected = true;
        }
        
        
        return(true);
}

function goDate(f, dir) {
        da = new Array(12);
        da[0] = 31;   da[1] = 28;   da[2] = 31;   da[3] = 30;   da[4] = 31;
        da[5] = 30;   da[6] = 31;   da[7] = 31;   da[8] = 30;   da[9] = 31;
        da[10] = 30;   da[11] = 31;

        var i;
        dd = f.dd.selectedIndex;
        mm = f.mm.selectedIndex;
        yy = f.yy.selectedIndex;
        if (isleap(yy)) da[1] = 29;

        if (dir == '1') {
                if (dd == da[mm]-1) {
                        dd = 0;
                        if (mm == 11) {
                                mm = 0;
                                yy++;
                        } else mm++;
                        f.yy.options[yy].selected = true;
                        f.mm.options[mm].selected = true;
                } else {
                        dd++;
                }       
                f.dd.options[dd].selected = true;
                
        } else if (dir == '-1') {
                if (dd == 0) {
                        if (mm == 0) {
                                mm = 11;
                                yy--;
                        } else mm--;                        
                        dd = da[mm]-1;
                        f.yy.options[yy].selected = true;
                        f.mm.options[mm].selected = true;
                } else {
                        dd--;
                }
                f.dd.options[dd].selected = true;
        } else if (dir == '0') {
                var da1 = new Date();
                mm = da1.getMonth();
                yy = getChinaYear(da1);
                for (i=0; i<f.yy.length; i++)
                        if (f.yy.options[i].value == yy) break;
                yy = i;
                f.yy.options[yy].selected = true;
                
                mm = da1.getMonth();
                f.mm.options[mm].selected = true;

                dd = da1.getDate();
                bvalue = da[mm];

                for (i=f.dd.length-1; i >= 0 ; i--)
                        f.dd.options[i] = null;
                for (i=0; i < bvalue ; i++) {
                        f.dd.options[i] = null;
                        opt = new Option(i+1, i+1);
                        f.dd.options[i] = opt;
                }
                f.dd.options[dd-1].selected = true;
                
        }
        
        return(true);
}

//檢查是否為數字(整數) 
//mstr:來源Object
function isNumber(input) {    
    mnum="0123456789";
    input.value = (input.value == null)?"" : allTrim(input.value); 
    for(var i=0; i<input.value.length; i++)  {
       if (mnum.indexOf(input.value.substring(i,i+1))==-1)
       {
         alert("輸入資料須為數字!!");
         input.value = "";
         input.focus();
         return false;
       }
    }
    return true;
}

//檢查是否為數字(含小數)
//input:來源Object
//fix:小數位數
function isNumber3(input,fix) {    
    mnum="0123456789.";
    fixflag = false;    
    input.value=(input.value==null)?"":trim(input.value);
    for(var i=0; i<input.value.length; i++)  {
       chkval = input.value.substring(i,i+1);
       
       if (mnum.indexOf(chkval)==-1)
       {
         alert("輸入資料須為數字!!");
         input.value = "";
         input.focus();
         return;
       }
       
       if(fixflag)
       {
          fixnum++;
          if(fixnum > fix)
          {
            alert("小數位部份限"+ fix +"位");   
            input.focus(); 
            return;              
          }
       }       
       
       if(chkval == ".")
       {
          fixflag = true;
          fixnum = 0;
       }

    }
}

//刪除左右空白（含全形空白）
function allTrim2(s) {
        var s1 = lTrim2(s);
        return(rTrim2(s1));
}

//刪除左空白（含全形空白）
function lTrim2(s) {
        s = "" + s;
        var len = s.length;
        var pos = 0;
        var s1 = "";

        while (pos < len) {
                var chr = s.substring( pos, pos + 1 );
                if (chr == " " || chr == "" || chr == "　") pos = pos + 1; 
                else return(s.substring(pos,len));
        }
        
        return s1;
}

//刪除右空白（含全形空白）
function rTrim2(s) {
        s = "" + s;
        var len = s.length;
        var pos = len-1;
        var s1 = "";
        var i = 0;
        while (pos >= 0) {
                var chr = s.substring( pos, s.length-i );
                if (chr == " " || chr == "" || chr == "　") pos = pos - 1; 
                else return(s.substring(0,pos+1));
                i++;
        }
        
        return s1;
}

function openfullwindow(url, target, type){
	if (type == 1) //含最上列(藍色列), 有關閉視窗及放大縮小鍵
		var hWnd = window.open(url,target,"scrollbars");
	else if (type == 2) //全螢幕, 無關閉視窗及放大縮小鍵
		var hWnd = window.open(url,target,"fullscreen,scrollbars");
	else if (type == 3) //含IE頻道列
		var hWnd = window.open(url,target,"channelmode,scrollbars");
	else if (type == 4) 
		var hWnd = window.open(url,target,"");
	else if (type == 5)
		var hWnd = window.open(url,target,"channelmode,resizable=yes,scrollbars=yes,width=1000,height=650,status=0");
	if ((document.window != null) && (!hWnd.opener))
		 hWnd.opener = document.window;	
}

var runtime1;
function runactive(m, mm, ly) {		
	clearTimeout(runtime1);
	if (ly == null || ly == "" || ly == "undefined") {
		//alert("ly1");
		ly = "";
		lyload = ly_load;
		lyrun  = ly_run;
	} else {
		//ly = ly.replace("parent.", "");
		//alert("ly2:"+ ly +","+ eval(ly) +",parent:"+ eval("parent."+ ly));				
		lyload = eval(ly +"_load");
		lyrun  = eval(ly +"_run");
	}	
	//alert("runactive:"+ ly +","+ lyload +";"+ lyrun);
	//alert("runactive:"+ lyload.id +","+ lyload +";"+ lyrun.id +","+ lyrun);
	var s = "";
	for (r = 0; r < m; r ++) {
		s += ".";
	}
	lyrun.innerHTML = s;
	if (m < mm) 
		m++;
	else
		m = 1;
	
	//alert("ly:"+ ly);
	runtime1 = setTimeout( "runactive("+ m +", "+ mm +", '"+ ly +"')" , 1000 );			
}

function startLoading(msg, ly, locly) {
	if (ly == null || ly == "" || ly == "undefined") {
		ly = "";
		lyload = "ly_load";
		lyrun  = "ly_run";
	} else {
		ly1 = ly.replace("parent.", "");
		lyload = ly1 +"_load";
		lyrun  = ly1 +"_run";		
	}
	if (msg == null || msg == "") msg = "讀取中, 請稍後!";
	if (locly == null || locly == "") {
		writeln("<div id='"+ lyload +"' align='center'><table width=125 style='font-size: 9pt; color: white; background-color: blue'><tr><td nowrap width=90>"+ msg +"</td><td id='"+ lyrun +"' nowrap>.....</td></tr></table></div>");
	} else {		
		locly = eval(locly);
		locly.innerHTML = "<div id='"+ lyload +"' align='center'><table width=125 style='font-size: 9pt; color: white; background-color: blue'><tr><td nowrap width=90>"+ msg +"</td><td id='"+ lyrun +"' nowrap>.....</td></tr></table></div>";		
		//alert(locly.outerHTML);
	}
	runtime1 = setTimeout("runactive(0, 7, '"+ ly +"')", 1000);
}
		 
function stopLoading(ly) {
	clearTimeout(runtime1);	
	if (ly == null || ly == "") 
		lyload = ly_load;
	else
		lyload = eval(ly +"_load");
	lyload.style.display="none";
}

/*
需配合qMenu
var qMenu = new Array();
qMenu = [{code:"prjbase",name:"基本資料"},{code:"prjadv",name:"詳細資料"},{code:"prjcom",name:"競爭廠商"},{code:"prjbgtitm",name:"預算"}];
*/
function showLY(m) {
	for (i = 0; i < qMenu.length; i++) {
		acode = qMenu[i].code;
		aname = qMenu[i].name;
		if (acode == m)
			eval(acode +".style.display = \"block\"");
		else   		
			eval(acode +".style.display = \"none\"");
	}
} 

function getqMenu() {
	var msg = "";
	for (i = 0; i < qMenu.length; i++) {
		acode = qMenu[i].code;
		aname = qMenu[i].name;
		msg += "[<a href='javascript: showLY(\""+ acode +"\")'>"+ aname +"</a>]";
	}
	document.write(msg);
} 

//TABLE[obj] 新增一列
function insertTRow(obj, idx) {
	if (insertTRow.arguments < 2) idx = obj.rows.length;
	ridx = obj.rows.length
	cidx = obj.rows(0).cells.length;
	obj.insertRow(idx);		
	for (i = 0; i < cidx; i++) {
		obj.rows(ridx).insertCell();	
	}
	
	//for (i in obj.rows) {
	//	alert("i="+ i);
	//}
}	

//TABLE[obj] 刪除一列
function deleteTRow(obj, idx) {
	obj.deleteRow(idx);		
}

//Text輸入達最大限後跳至tofd欄位
function moveTofd(f, input, tofd) {
	alert(Input.type);
	//if (Input.type != "text")
	maxlen = input.maxLength;
	if (input.value.length == maxlen) tofd.focus();
}
