﻿var $j = jQuery.noConflict();
var todayyear = null;//系统当前年
var tadaymonth = null;//系统当前月
var todaydate = null;//系统当前日

var year = null;//日历当前显示年份
var month = null;//日历当前显示月份（1-12月）
var date = null;//日历当前显示日
var monthdaysnumber = null;//日历当前显示月份天数

$j(document).ready(function() {
    GetCurrentTime();
    year = todayyear;
    month = tadaymonth;
    date = todaydate;
    $j("#yearem").html(todayyear);
    $j("#monthem").html(MonthChinese(month));
    window.setTimeout(function() { DrawCurrentMonth(); }, 100);
});

function g(t) { return document.getElementById(t); }
function ge(z) { return typeof (z) == "object" ? z : document.getElementById(z); }
function gE(o, z) { return typeof (o) == "string" ? ge(o).getElementsByTagName(z) : o.getElementsByTagName(z); }

//获得当前日期
function GetCurrentTime() {
    var nowtime = new Date();
    todayyear = nowtime.getFullYear();
    tadaymonth = nowtime.getMonth() + 1;
    todaydate = nowtime.getDate();
}

//初始化日历
function Draw() {
    var result = MonthBeginSpace(year, month, 1);
    monthdaysnumber = CheckYear(year, month);
    for (var i = 1; i <= monthdaysnumber; i++) {
        result += "<a href=\"javascript:void(0);\" onmouseover=\"GetActiveByTime(" + year + "," + month + "," + i + ",this)\">" + i + "</a>";
    }
    $j("#calendardiv").html(result);
}
//初始化系统当前月份的日历
function DrawCurrentMonth() {
    var result = MonthBeginSpace(todayyear, tadaymonth, 1);
    monthdaysnumber = CheckYear(todayyear, tadaymonth);
    for (var i = 1; i <= monthdaysnumber; i++) {
        if (i != todaydate) {

            result += "<a href=\"javascript:void(0);\" onmouseover=\"GetActiveByTime(" + todayyear + "," + tadaymonth + "," + i + ",this)\" >" + i + "</a>";
        }
        else {
            result += "<a class=\"current\" href=\"javascript:void(0);\" onmouseover=\"GetActiveByTime(" + todayyear + "," + tadaymonth + "," + i + ",this)\" >" + i + "</a>";
        }
    }
    $j("#calendardiv").html(result);
}

//获得该月1号星期几，空几格
function MonthBeginSpace(y, m, d) {
    var datetime = new Date(y, m - 1, d);
    var weekindex = datetime.getDay();
    if (weekindex == 0) {
        return "";
    }
    else {
        return "<span class=\"week" + weekindex + "\"></span>";
    }
}

//判断该月天数(y:年,m：月)
function CheckYear(y, m) {
    var days
    if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
        days = 31;
    } else if (m == 4 || m == 6 || m == 9 || m == 11) {
        days = 30;
    } else {
        days = (y % 4 == 0) ? 29 : 28;
    }
    return days;
}

//变化月
function ChangeMonth(monthvalue) {
    $j("#monthem").html(MonthChinese(monthvalue));
    month = parseInt(monthvalue);
    if (year == todayyear && month == tadaymonth) {
        DrawCurrentMonth();
    }
    else {
        Draw();
    }
    $j("#monthdivchange").hide();
    document.getElementById("selectmonth").openStatus = false;
}

//变化年
function ChangeYear(index) {
    var emyear = parseInt($j("#yearem").html());
    emyear = emyear + index;
    $j("#yearem").html(emyear);
    year = emyear;
    if (year == todayyear && month == tadaymonth) {
        DrawCurrentMonth();
    }
    else {
        Draw();
    }
    
}
function MonthChinese(index) {
    var ChineseMonth = "一月";
    switch (index) {
        case 1: ChineseMonth = "一月"; break;
        case 2: ChineseMonth = "二月"; break;
        case 3: ChineseMonth = "三月"; break;
        case 4: ChineseMonth = "四月"; break;
        case 5: ChineseMonth = "五月"; break;
        case 6: ChineseMonth = "六月"; break;
        case 7: ChineseMonth = "七月"; break;
        case 8: ChineseMonth = "八月"; break;
        case 9: ChineseMonth = "九月"; break;
        case 10: ChineseMonth = "十月"; break;
        case 11: ChineseMonth = "十一月"; break;
        case 12: ChineseMonth = "十二月"; break;
    }
    return ChineseMonth;
}

function GetActiveByTime(yyyy,mm,dd,obj) {
    $j.ajax({
        type: "get",
        url: "/Ajax.aspx?no-cache=" + Math.random(),
        data: "action=activelistbytime&year=" + yyyy + "&month=" + mm + "&date=" + dd,
        dataType: "text",
        success: function(transport) {
            var returnvalue = transport;
            if (returnvalue.indexOf(" ?? ") > -1) { }
            else {
                if ($j.trim(returnvalue) != "") {
                    $j("#panel").html(returnvalue);
                    showDiv();
                    afreshPos(obj, 'panel', 0);
                }
                else {
                    displayDiv();
                }
            }
        }
    });
    obj.blur();
}

//function ge(z) { return typeof (z) == "object" ? z : document.getElementById(z); }
//function gE(o, z) { return typeof (o) == "string" ? $e(o).getElementsByTagName(z) : o.getElementsByTagName(z); }
function ac(z) { var a = 0, b = 0; while (z) { a += z.offsetLeft; b += z.offsetTop; z = z.offsetParent } return [a, b] }

//  获取文档信息
var Get = {
    winWidth: function() { return document.documentElement.clientWidth; },
    winHeight: function() { return document.documentElement.clientHeight; },
    docWidth: function() { return document.body.scrollWidth; },
    docHeight: function() { return document.body.scrollHeight; },
    scrollTop: function() { return document.documentElement.scrollTop },
    scrollLeft: function() { return document.documentElement.scrollLeft }
}
//定位显示层
function afreshPos(ts, tp, mode) {
    tp = ge(tp);
    var bcw = Get.winWidth(), bch = Get.winHeight(),
        tow = tp.offsetWidth, toh = tp.offsetHeight,
        bsl = Get.scrollLeft(), bst = Get.scrollTop();
    if (!mode) {
        var minx = 0, miny = 0,
	        left = ac(ts)[0], top = ac(ts)[1],
	        dw = ts.offsetWidth, dh = ts.offsetHeight;

        if (left + tow > bcw)
            left = Math.max(left - tow - 5, minx);

        if (left < minx)
            left = minx;
        else if (left + tow > bsl + bcw)
            left = bsl + bcw - tow;

        if (top + toh + dh > bst + bch)
            top -= toh + dh;
        else
            top += dh + 1;

        if (top < miny)
            top = miny;
        else if (top < bst)
            top = bst + miny;
        // 	
    } else {
        left = (bcw - tow) / 2;
        top = bst + (bch - toh) / 2;
    }

    tp.style.left = left + "px";
    tp.style.top = top < 0 ? 0 : top + "px";
    tp.style.visibility = "visible";
}
//隐藏层
function $hide() {
    for (var i = 0; i < arguments.length; i++) {
        var z = ge(arguments[i]);
        z.style.visibility = "hidden";
        z.style.left = "";
        z.style.top = "";
        onc = 0;
    }
}
function displayDiv() {
    document.getElementById("panel").style.display = "none";
}
function showDiv() {
    document.getElementById("panel").style.display = "";
}

function favorite(URL, title) {
    try {
        window.external.addFavorite(URL, title);
    }
    catch (e) {
        try {
            window.sidebar.addPanel(title, URL, "");
        }
        catch (e) {
            alert("加入收藏失败，请使用Ctrl+D进行添加");
        }
    }
}