﻿
/* 为兼容 IE和firefox 的event对象，重写event Begin */
function __firefox() {
    HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
    window.constructor.prototype.__defineGetter__("event", __window_event);
    Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}

function __element_style() {
    return this.style;
}

function __window_event() {
    return __window_event_constructor();
}
function __event_srcElement() {
    return this.target;
}
function __window_event_constructor() {
    if (document.all) {
        return window.event;
    }
    var _caller = __window_event_constructor.caller;
    while (_caller != null) {
        var _argument = _caller.arguments[0];
        if (_argument) {
            var _temp = _argument.constructor;
            if (_temp.toString().indexOf("Event") != -1) {
                return _argument;
            }
        }
        _caller = _caller.caller;
    }
    return null;
}

if (window.addEventListener) {
    __firefox();
}
/* 为兼容 IE和firefox 的event对象，重写event End */


/*
实现TRIM功能
利用Javascript中每个对象(Object)的prototype属性为Javascript中的内置对象添加自己的方法和属性。
以下就用这个属性来为String对象添加三个方法：Trim,LTrim,RTrim
*/
String.prototype.Trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function() {
    return this.replace(/(^\s*)/g, "");
}
String.prototype.Rtrim = function() {
    return this.replace(/(\s*$)/g, "");
}

/* 窗口相关处理函数 Begin */

//删除前弹出确认窗口
function isConfirmDel(checkboxs) {
    if (isSelectedRecord(checkboxs)) {
        var errorMsg = "确认删除当前选中的记录？";
        return confirm(errorMsg, "确认提示");
    }
    else {
        alert("当前没有选中的记录，不允许进行此操作！");
        return false;
    }        
}

//彻底删除前弹出确认窗口
function isConfirmReDel(checkboxs) {
    if (isSelectedRecord(checkboxs)) {
        var errorMsg = "彻底删除后数据将无法恢复，确认删除？";
        return confirm(errorMsg, "确认提示");
    }
    else {
        alert("当前没有选中的记录，不允许进行此操作！");
        return false;
    }   
}

//检验是否有选择记录
function isSelected(checkboxs) {
    var isChecked = false;

    //当列表中没有记录时
    if (checkboxs == undefined) {
        alert("当前没有选中的记录，不允许进行此操作！");
        return false;
    }

    //当只有一行记录或者没有记录时，this.form.ID 等到的不是数组，而是一个按钮对象，IdCheckBox.length 为 undefind
    if (!checkboxs.length) {
        if (checkboxs.checked == true) {
            isChecked = true;
        }
    }
    else {
        for (var i = 0; i < checkboxs.length; i++) {
            if (checkboxs[i].checked == true) {
                isChecked = true;
                break;
            }
        }
    }

    if (!isChecked) {
        alert("当前没有选中的记录，不允许进行此操作！");
    }
    return isChecked;
}

//检验是否有选择记录(不直接弹出提示窗口)
function isSelectedRecord(checkboxs) {

    //当列表中没有记录时
    if (checkboxs == undefined) {        
        return false;
    }
    
    //当只有一行记录或者没有记录时，this.form.ID 等到的不是数组，而是一个按钮对象，IdCheckBox.length 为 undefind
    if (!checkboxs.length) {
        if (checkboxs.checked == true) {
            return true;
        }
    }
    else {
        for (var i = 0; i < checkboxs.length; i++) {
            if (checkboxs[i].checked == true) {
                return true;
            }
        }
    }

    return false;
}


//设置选项卡选中时的样式
function setSelectedTab(tabPartID, currSelected, openClass, closeClass) {
    for (i = 0; i < 100; i++) {
        var tab = document.getElementById("tab_" + tabPartID + "_" + i);
        if (tab != null && tab != undefined) {
            var div = document.getElementById("div_" + tabPartID + "_" + i);
            tab.className = i == currSelected ? openClass : closeClass;
            div.style.display = i == currSelected ? "block" : "none";
        }
        else {
            break;
        }
    }
}


//关闭Div弹出窗口
function closeDivDialog() {
    divDialog.close();
}


/*
改造window.open函数,保证所有窗口居中弹出,并指定固定的几种窗口大小.以统一系统中的操作风格.

sUrl        --   弹出窗口路径
sTiltle    --  窗口标题
sWinType     --  窗口型号
*/
var nwin;
function openWin(sUrl, sTitle, sWinType) {
    var sScroll = "yes";
    var sWidth = "";
    var sHeight = "";
    
    if (sUrl == '') {
        return false;
    }

    if (nwin && !nwin.closed) {
        nwin.close();
    }


    if (sWinType == undefined) {
        alert("请指定窗口型号!");
        return false;
    }
    else if (sWinType == "F") {
        sWidth = screen.availWidth;
        sHeight = screen.availHeight;
    }

    else if (sWinType == "S") {
        sWidth = 280;
        sHeight = 220;
    }
    else if (sWinType == "M") {
        sWidth = 500;
        sHeight = 350;
    }
    else if (sWinType == "B") {
        sWidth = 750;
        sHeight = 550;
    }

    var l = (screen.availWidth - sWidth) / 2;
    var t = (screen.availHeight - sHeight) / 2;


    nwin = window.open(sUrl, sTitle, 'left=' + l + ',top=' + t + ',width=' + sWidth + ',height=' + sHeight + ',scrollbars='+ sScroll +',resizable=no');
    nwin.focus();
}

/*
改造window.open函数,保证所有窗口居中弹出,并指定固定的几种窗口大小.以统一系统中的操作风格.

sUrl        --   弹出窗口路径
sTiltle    --  窗口标题
sWinType     --  窗口型号
*/
var nwin;
function openModalWin(sUrl, sTitle, sWinType,width,height) {
    var sScroll = "yes";
    var sWidth = "";
    var sHeight = "";
    
    if (sUrl == '') {
        return false;
    }

    if (nwin && !nwin.closed) {
        nwin.close();
    }

    if(width != null&&height!=null)
    {
        sWidth = width + "px";
        sHeight = height + "px";
        sScroll = "no";
    }
    else
    {
        if (sWinType == undefined) {
            alert("请指定窗口型号!");
            return false;
        }
        else if (sWinType == "F") {
            sWidth = screen.availWidth;
            sHeight = screen.availHeight;
        }

        else if (sWinType == "S") {
            sWidth = "280px";
            sHeight = "220px";
        }
        else if (sWinType == "M") {
            sWidth = "500px";
            sHeight = "350px";
        }
        else if (sWinType == "B") {
            sWidth = "750px";
            sHeight = "550px";
        }
    }

    var l = (screen.availWidth - sWidth) / 2;
    var t = (screen.availHeight - sHeight) / 2;

    var returnValue = window.showModalDialog(sUrl, window, 'dialogleft=' + l + ';dialogtop=' + t + ';dialogWidth=' + sWidth + ';dialogHeight=' + sHeight + ';scroll=' + sScroll + ';resizable=no');
//    nwin.focus();
    return returnValue;
}

/* 窗口相关处理函数 End */


function setKey(str) {
    document.getElementById("txtKeyWord").value = str;
}

function doSearch() {

    var trainType = document.getElementById("ctl00_PageContent_topSearch_hidTrainType").value;
    var searchType = "QuickSearch";
    var keyWord = document.getElementById("txtKeyWord").value;

    var type = document.getElementById("ctl00_PageContent_topSearch_sltSearchContentType").value;             //1: 培训课程  2: 培训讲师  3: 培训机构  4: 新闻资讯

    var url = "";
    switch (type) {
        case "0":
            url = "http://www.px33.com/Search/CourseResult.aspx";
            break;
        case "1":
            url = "http://www.px33.com/Search/DocentResult.aspx";
            break;
        case "2":
            url = "http://www.px33.com/Search/OrganResult.aspx";
            break;
        case "3":
            url = "http://www.px33.com/Search/CourseResult.aspx";
            break;
        default:
            break;
    }
    url += "?" + "searchType=" + searchType + "&trainType=" + trainType + "&keyWord=" + escape(keyWord);
    window.open(url);
}


function getObjById(id) {
    var obj;
    if (document.layers) {
        obj = document.layers[id];
    }
    else if (document.all) {
        obj = document.all[id];
    }
    else if (document.getElementById) {
        obj = document.getElementById(id);
    }
    return obj;
}


function getObjByName(name) {
    var obj;
    if (document.layers) {
        obj = document.layers[name];
    }
    else if (document.all) {
        obj = document.all[name];
    }
    else if (document.getElementsByName) {
        obj = document.getElementsByName(name);
    }
    return obj;
}

//生成随机数
function GetRandomNum(Min, Max) {
    var Range = Max - Min;
    var Rand = Math.random();
    return (Min + Math.round(Rand * Range));
}


/* 时间处理函数 Begin */

//获取当前格式化后的时间
function getNowFormatDate() {
    var day = new Date();

    var Year = 0;
    var Month = 0;
    var Day = 0;
    var CurrentDate = "";
    //初始化时间   
    Year = day.getFullYear();
    Month = day.getMonth() + 1;
    Day = day.getDate();

    CurrentDate += Year + "-";

    if (Month >= 10) {
        CurrentDate += Month + "-";
    }
    else {
        CurrentDate += "0" + Month + "-";
    }
    if (Day >= 10) {
        CurrentDate += Day;
    }
    else {
        CurrentDate += "0" + Day;
    }
    return CurrentDate;
}

/*
用途：检查输入结束日期是否在今天之后，结束如期格式：yy-MM-dd
结束如期>=起始日期
输入：
startDate：起始日期，字符串
compareDate：需要进行比较的日期，字符串
返回：
如果通过验证返回true,否则返回false 
*/
function isLargerThanNowDate(compareDate) {
    var today = getNowFormatDate();
    var startDate = new Date(compareDate.replace("-", ",")).getTime();
    var todayDate = new Date(today.replace("-", ",")).getTime();

    if (startDate < todayDate) {
        return false;
    }
    return true;
}
/* 时间处理函数 End */


