﻿// JScript 檔

/////////////////////////////////////////////////////////////////////////////////////

/* 加入我的最愛javascript*/

var myelove;
var webtitle;
mylove="http://www.sgw.com.tw/";
webtitle="大禾資訊有限公司";

function loveweb() {
    if (navigator.appName!="Netscape")
    {
        window.external.AddFavorite(mylove, webtitle);
    }
    else
    {
        window.location = mylove;
    }
}

/////////////////////////////////////////////////////////////////////////////////////

/*  系統日期，顯示在網頁上時的javascript*/

    var SystemDay  =  new  Date();
    var cWeekDay = ["日", "一", "二", "三", "四", "五", "六"]
    
    function SetNow(yyyy,mm,dd,hh,nn,ss)
    {
        SystemDay.setYear(yyyy);      //SystemDay是一個全域日期變數
        SystemDay.setMonth(mm-1);
        SystemDay.setDate(dd);
        SystemDay.setHours(hh);
        SystemDay.setMinutes(nn);
        SystemDay.setSeconds(ss);
    }

    function  clock()  
    {
        var hour;   //用來顯示
        var min;    //用來顯示
        var secs;   //用來顯示

        var dateToday  =  new Date();
        dateToday = SystemDay;      //新增加的區段，直接抓取系統時間
        
        //var miNow  =  dateToday.getTime();        //此段已不需要

        var yeNow  = dateToday.getYear();
        var MoNow  = dateToday.getMonth()+1;
        var dayNow  = dateToday.getDate();

        var hrNow  =  dateToday.getHours();
        var mnNow  =  dateToday.getMinutes();	
        var scNow  =  dateToday.getSeconds();

        var Weekday = dateToday.getDay();

        if  (hrNow  <=  9)  
        {
            hour  =  "0"  +  hrNow;
        }
        else  
        {
            hour  =  hrNow;
        }
        
        if  (mnNow  <=  9)  
        {
            min  =  "0"  +  mnNow;
        }
        else  
        {
            min  =  mnNow;
        }
         
        if  (scNow  <=  9)  
        {
            secs  =  "0"  +  scNow;
        }  
        else  
        {
            secs  =  scNow;
        }

        var strDate = yeNow +  "/" +  MoNow+  "/" + dayNow ;
        //var strTime = hour  +  ":"  +  min ;
        //var strSec = ":"  +  secs;
        var strWeek = "星期" + cWeekDay[Weekday];
        
        
        SystemDay.setHours(hrNow);
        SystemDay.setMinutes(mnNow);
        SystemDay.setSeconds(scNow+1);  //每1秒+1，改變全域變數
        
        
        document.getElementById("ListDate").innerText  =  strDate;
        //document.getElementById("ListTime").innerText  =  strTime;
        //document.getElementById("ListSec").innerText  =  strSec;
        document.getElementById("ListWeek").innerText  =  strWeek;
        
        //setTimeout('clock();',  1000);
        //setTimeout('CalConv();clock();',  1000);
    }

    function CalConv()
    {
        var FIRSTYEAR = 1998;   //起始年
        var LASTYEAR = 2031;    //終止年

        var dateToday = new Date();     //
        dateToday = SystemDay;
        
        var SolarYear = dateToday.getFullYear();
        var SolarMonth = dateToday.getMonth() + 1;
        var SolarDate = dateToday.getDate();
        var Weekday = dateToday.getDay();
    
        var LunarCal;
        var SolarCal;
        var SolarDays;
        var AnimalIdx;
        var LocationIdx;
        var sm;
        var leap;
        var d;
        var y;
        var acc;
        var kc;
        var Kan;
        var Chih;
        var Location;
        var Age;
        var Animal;
        var LunarYear;
        var l1;
        var l2;
        var LunarMonth;
        var LunarDate;
        var i;
        var im;

        LunarCal = [
        new tagLunarCal( 27,  5, 3, 43, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ),
        new tagLunarCal( 46,  0, 4, 48, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ), /* 1999 */
        new tagLunarCal( 35,  0, 5, 53, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1 ), /* 2000 */
        new tagLunarCal( 23,  4, 0, 59, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 42,  0, 1,  4, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 31,  0, 2,  9, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0 ),
        new tagLunarCal( 21,  2, 3, 14, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 ), /* 2004 */
        new tagLunarCal( 39,  0, 5, 20, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 28,  7, 6, 25, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1 ),
        new tagLunarCal( 48,  0, 0, 30, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1 ),
        new tagLunarCal( 37,  0, 1, 35, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1 ), /* 2008 */
        new tagLunarCal( 25,  5, 3, 41, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),
        new tagLunarCal( 44,  0, 4, 46, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),
        new tagLunarCal( 33,  0, 5, 51, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 22,  4, 6, 56, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ), /* 2012 */
        new tagLunarCal( 40,  0, 1,  2, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),
        new tagLunarCal( 30,  9, 2,  7, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 49,  0, 3, 12, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 38,  0, 4, 17, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0 ), /* 2016 */
        new tagLunarCal( 27,  6, 6, 23, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1 ),
        new tagLunarCal( 46,  0, 0, 28, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0 ),
        new tagLunarCal( 35,  0, 1, 33, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),
        new tagLunarCal( 24,  4, 2, 38, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ), /* 2020 */
        new tagLunarCal( 42,  0, 4, 44, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 31,  0, 5, 49, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 ),
        new tagLunarCal( 21,  2, 6, 54, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),
        new tagLunarCal( 40,  0, 0, 59, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 ), /* 2024 */
        new tagLunarCal( 28,  6, 2,  5, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0 ),
        new tagLunarCal( 47,  0, 3, 10, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1 ),
        new tagLunarCal( 36,  0, 4, 15, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1 ),
        new tagLunarCal( 25,  5, 5, 20, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ), /* 2028 */
        new tagLunarCal( 43,  0, 0, 26, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ),
        new tagLunarCal( 32,  0, 1, 31, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0 ),
        new tagLunarCal( 22,  3, 2, 36, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0 ) ];


        /* 西曆年每月之日數 */
        SolarCal = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];

        /* 西曆年每月之累積日數, 平年與閏年 */
        SolarDays = [
        0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396,
        0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397 ];

        AnimalIdx = ["馬 ", "羊 ", "猴 ", "雞 ", "狗 ", "豬 ", "鼠 ", "牛 ", "虎 ", "兔 ", "龍 ", "蛇 " ];
        LocationIdx = [ "南", "東", "北", "西" ];

        if ( SolarYear <= FIRSTYEAR || SolarYear > LASTYEAR ) return 1; //超出已定義的農曆範圍

        sm = SolarMonth - 1;

        if ( sm < 0 || sm > 11 ) return 2;

        leap = GetLeap( SolarYear );

        if ( sm == 1 )
            d = leap + 28;
        else
            d = SolarCal[sm];

        if ( SolarDate < 1 || SolarDate > d ) return 3;

        y = SolarYear - FIRSTYEAR;
        acc = SolarDays[ leap*14 + sm ] + SolarDate;
        kc = acc + LunarCal[y].BaseKanChih;
        Kan = kc % 10;
        Chih = kc % 12;
        Location = LocationIdx[kc % 4];
        Age = kc % 60;
        if ( Age < 22 )
        Age = 22 - Age;
        else
        Age = 82 - Age;

        Age =Age + 3;

        if (Age < 10)
        Age=Age+60;

        Animal = AnimalIdx[ Chih ];
        if ( acc <= LunarCal[y].BaseDays ) 
        {
            y--;
            LunarYear = SolarYear - 1;
            leap = GetLeap( LunarYear );
            sm += 12;
            acc = SolarDays[leap*14 + sm] + SolarDate;
        }
        else
        {
            LunarYear = SolarYear;
        }
        

            l1 = LunarCal[y].BaseDays;
            for ( i=0; i<13; i++ ) 
            {
                l2 = l1 + LunarCal[y].MonthDays[i] + 29;
                if ( acc <= l2 ) break;
                l1 = l2;
            }
            
            LunarMonth = i + 1;
            LunarDate = acc - l1;
            im = LunarCal[y].Intercalation;

            if ( im != 0 && LunarMonth > im ) 
            {
                LunarMonth--;
                if ( LunarMonth == im ) LunarMonth = -im;
            }

            if ( LunarMonth > 12 ) LunarMonth -= 12;

            document.getElementById("ListLunar").innerText = "(農曆" + LunarMonth + "/" + LunarDate + ")";

            return 0;
    }

    /* 求此西曆年是否為閏年, 返回 0 為平年, 1 為閏年 */
    function GetLeap( year )
    {
        if ( year % 400 == 0 )
        return 1;
        else if ( year % 100 == 0 )
        return 0;
        else if ( year % 4 == 0 )
        return 1;
        else
        return 0;
    }

    function tagLunarCal( d, i, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13) 
    {
        this.BaseDays = d;         /* 到西曆 1 月 1 日到農曆正月初一的累積日數 */
        this.Intercalation = i;    /* 閏月月份. 0==此年沒有閏月 */
        this.BaseWeekday = w;      /* 此年西曆 1 月 1 日為星期幾再減 1 */
        this.BaseKanChih = k;      /* 此年西曆 1 月 1 日之干支序號減 1 */
        this.MonthDays = [ m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13 ]; /* 此農曆年每月之大小, 0==小月(29日), 1==大月(30日) */
    }

/////////////////////////////////////////////////////////////////////////////

/* 改變首頁頁面顏色的小選單(水彩小選單)Javascript程式*/

   var nowLeft;
   var nowTop;
   var addSubLeft;
   var addSubTop;
   var chColor;

 function getPosition(oThis)
    {
        var e = oThis;
        var t=e.offsetTop; 
        var l=e.offsetLeft; 
        while(e=e.offsetParent)
        { 
            t+=e.offsetTop; 
            l+=e.offsetLeft; 
        }
        
        nowLeft = l;
        nowTop = t;

        return true;
    }
    
    function setColorMenu(oThis,fixSubLeft,fixSubTop)
    {
        getPosition(oThis);     //抓主選單的位置，改變全域變數
        
        addSubLeft = fixSubLeft;
        addSubTop = fixSubTop;
        
        showColorMenu();
    }
    
     function showColorMenu()
    {
        
        if (!chColor) { chColor = document.getElementById("changecolor"); };
        chColor.style.left = nowLeft + addSubLeft;
        chColor.style.top = nowTop + addSubTop;
        
        chColor.style.display = 'block';
    }
    function closedX()
    {
     chColor.style.display= 'none';
     }
     
////////////////////////////////////////////////////////////////////////////////////////

/* 首頁會員登入區，不能被登入，用圖檔住的javascript程式*/

   var addSubTop;
   var swArea;
   
//   function coverLoginArea()
//{
//  window.status = "Image " + event.srcElement.src + " is loaded";
//}
   
   
   function getPosition(oThis)
   {
       var e = oThis;
       var t=e.offsetTop;
       var l=e.offsetLeft;
       while(e=e.offsetParent)
       {
           t+=e.offsetTop;
           l+=e.offsetLeft;
       }
   
       nowLeft = l;
       nowTop=t;
       
       return true;
   }
   
//   function coverLoginArea(oThis, fixSubLeft, fixSubTop)
//   {
//        getPosition(oThis);
//        
//        addSubLeft = fixSubLeft;
//        addSubTop = fixSubTop;
//        
//        memberLoginArea();
//   }
//   
//   function memberLoginArea()
//   {
//       if(!swArea) { swArea = document.getElementById("memberLoginArea");};
//       swArea.style.left = nowLeft + addSubLeft;
//       swArea.style.top = nowTop + addSubTop;
//       
//       swArea.style.display='block';
//   }