﻿// JScript 文件

//确定什么内核的浏览器，1表示IE，2表示firefox，0表示其他
function getBrowser()
{
    if (window.navigator.userAgent.indexOf("MSIE") >= 1)
    {
        return 1;
    }
    else
    {
        if(window.navigator.userAgent.indexOf("Firefox") >= 1)
        {
            return 2;
        }
        else
        {
            return 0;
        }
    }
}

//去除字符串首尾的空格
String.prototype.trim   =   function()
{   
    return this.replace(/(^\s*)|(\s*$)/g,"");       
}  

//检查字符串的字节长度
var getStrActualLen = function(str)
{
　　return str.replace(/[^x00-xFF]/g,'**').length;
}

function getInterceptedStr(sSource, iLen)
{ 
    if(getStrActualLen(sSource) <= iLen)
    { 
        return sSource; 
    } 
    var ELIDED = "...";

    var str = ""; 
    var l = 0; 
    var schar, i; 
    for(i = 0; schar = sSource.charAt(i); i++)
    { 
        str += schar; 
        l += (schar.match(/[^\x00-\xff]/g) != null ? 2 : 1); 
        if(l >= iLen - ELIDED.length)
        { 
            break; 
        } 
    } 
    str += ELIDED; 
    return str; 
}

//关闭本窗口
function closeWin()
{ 
    var browser = getBrowser();
    if(browser == 1)
    {
        top.opener = "whocares";
        top.close();
    }
    else
    { 
        window.open('','_parent',''); 
        window.close(); 
    } 
}

//将页面信息传给后台处理
function transact(level,type,name,field,term,para,paravalue,order,disfield)
{
    var url = "GetData.aspx";
    for(var i = 0; i < level; i++)
    {
        url = "../" + url;
    }
    var filter = "";
    var number = "" + type;
    if(isNaN(parseInt(number)))
    {
        filter += "operate=" + type + "&name=" + encodeURIComponent(name) + (field != "" ? ("&field=" + encodeURIComponent(field)) : "") 
            + (term != "" ? ("&value=" + encodeURIComponent(term)) : "") + (para != "" ? ("&term=" + encodeURIComponent(para)) : "")
            + (paravalue != "" ? ("&key=" +encodeURIComponent(paravalue)) : "") + (order != "" ? ("&bc=" + order) : "") + (disfield != "" ? ("&disfield=" + disfield) : "");
    }
    else
    {
        filter += "type=" + type + "&name=" + encodeURIComponent(name) + (field != "" ? ("&field=" + encodeURIComponent(field)) : "") 
            + (term != "" ? ("&term=" + encodeURIComponent(term)) : "") + (para != "" ? ("&para=" + encodeURIComponent(para)) : "")
            + (paravalue != "" ? ("&paravalue=" + encodeURIComponent(paravalue)) : "") + (order != "" ? ("&order=" + encodeURIComponent(order)) : "");
    }
    var infor = $.ajax({
            type : "POST",
            url: url,
            data: filter,            
            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
            async: false
        }).responseXML;
    return infor.lastChild;
}

//将输入(用'-'分隔)的字符串转化为时间的标准格式字符串（yyyy-mm-dd hh:mm:ss）,如果为非法的时间，返回空字符串
function getdate(string)
{
    var times = string.split(' ');
    var dateparty = times[0];
    if(dateparty.trim() == "")
    {
        return "";
    }
    var timeparty = times.length > 1 ? times[1] : "";
    var values = dateparty.split('-');
    var year = isNaN(parseInt(values[0].trim(),10)) ? 0 : parseInt(values[0].trim(),10);
    var month = values.length > 1 ? (isNaN(parseInt(values[1].trim(),10)) ? 0 : parseInt(values[1].trim(),10)) : 1;
    var day = values.length > 2 ? (isNaN(parseInt(values[2].trim(),10)) ? 0 : parseInt(values[2].trim(),10)) : 1;
    if(year > 2200 || year < 1700 || month < 1 || month > 12 || day < 1 || day > 31)
    {
        return "";
    }
    else
    {
        if(day == 31 && (month == 2 || month == 4 || month == 6 || month == 9 || month == 11))
        {
            return "";
        }
        if(month == 2 && (day == 30 || (day == 29 && (year%4 > 0 || (year%100 == 0 && year%400 > 0)))))
        {
            return "";
        }
    }
    var timestring = year + "-" + (month > 9 ? month : "0" + month) + "-" + (day > 9 ? day : "0" + day);
    var hour = 0;
    var minute = 0;
    var second = 0;
    if(timeparty.trim() != "")
    {
        var time = timeparty.split(':');
        hour = isNaN(parseInt(time[0].trim(),10)) ? 0 : parseInt(time[0].trim(),10);
        minute = time.length > 1 && !isNaN(parseInt(time[1].trim(),10)) ? parseInt(time[1].trim(),10) : 0;
        second = time.length > 2 && !isNaN(parseInt(time[2].trim(),10)) ? parseInt(time[2].trim(),10) : 0;
        hour = hour > 23 ? 0 : hour;
        minute = minute > 59 ? 0 : minute;
        second = second > 59 ? 0 : second;
        timestring +=" " + (hour > 9 ? hour : "0" + hour) + ":" + (minute > 9 ? minute : "0" + minute) + ":" + (second > 9 ? second : "0" + second);
    }
    return timestring;
}

//时间相加
function addtime(datestring,party,number)
{
    var returntime = "";
    var thedate = new Date(datestring.replace(/-/g,"/"));
    switch(party)
    {
        case "year":
        {
            thedate.setYear(thedate.getYear() + number);
            break;
        }
        case "month":
        {
            thedate.setMonth(thedate.getMonth() + number);
            break;
        }
        case "day":
        {
            thedate.setDate(thedate.getDate() + number);
            break;
        }
        case "hour":
        {
            thedate.setHours(thedate.getHours() + number);
            break;
        }
        case "minute":
        {
            thedate.setMinutes(thedate.getMinutes() + number);
            break;
        }
        case "second":
        {
            thedate.setSeconds(thedate.getSeconds() + number);
            break;
        }
        default:break;
    }
    returntime = "" + thedate.getFullYear() + "-" + (thedate.getMonth() + 1) + "-" + thedate.getDate() + " " + thedate.toLocaleTimeString();
    return returntime;
}
//根据输入的时间确定时间查询条件
function settimefilter(datestring,field,oper)
{
    var time = getdate(datestring); 
    if(time == "")
    {
        return "";
    }  
    //确定输入的时间最小单位 
    var unit = "";
    var dateparty = datestring.split(' ')[0].trim();
    var timeparty = time.split(' ').length > 1 ? time.split(' ')[1].trim() : "";
    var values = dateparty.split('-');
    unit = values.length == 1 || isNaN(parseInt(values[1].trim(),10)) ? "year" :(values.length == 2 || isNaN(parseInt(values[2].trim(),10)) ? "month" : "day");
    if(unit == "day" && !isNaN(parseInt(values[2].trim(),10)) && timeparty != "")
    {
        var pos = timeparty.lastIndexOf("00");
        unit = pos > 4 ? "second" : (pos > 2 ? "minute" : (pos == 0 ? "hour" : unit));
    }
    
    switch(oper)
    {
        case ">":
        {
            return field + ">='" + addtime(time,unit,1) + "'";
        }
        case ">=":
        {
            return field + ">='" + time + "'";
        }
        case "<":
        {
            return field + "<'" + time + "'";
        }
        case "<=":
        {
            return field + "<'" + addtime(time,unit,1) + "'";
        }
        default:
        {
            return field + ">='" + time + "' and " + field + "<'" + addtime(time,unit,1) + "'";
        }
    }
}
//数据查询
function bindFilter(type, value)
{
    var obj = document.getElementById("type");
    if(obj == null)
    {
        return;
    }
    $(obj).empty();
    var xmlData = transact(0, 1, getName(), getField(), getSFilter(), "", "", "", "");
    if(xmlData != null && xmlData.childNodes.length > 0)
    {
        var idList = xmlData.getElementsByTagName("id");
        var nameList = xmlData.getElementsByTagName("name");
        var urlist = xmlData.getElementsByTagName("url");
        if(nameList.length > 0)
        {
            var i,optionElement;
            for(i = 0; i < idList.length; i++)
            {
                optionElement = document.createElement("option");
                optionElement.value = urlist[i].firstChild == null ? "" : urlist[i].firstChild.nodeValue;
                optionElement.appendChild(document.createTextNode(nameList[i].firstChild == null ? "" : nameList[i].firstChild.nodeValue));
                obj.appendChild(optionElement);
                if(type == idList[i].firstChild.nodeValue)
                {
                    obj.selectedIndex = i;
                    if(value != "")
                    {
                        document.getElementById("keyWord").value = value;
                    }
                }
            }
            obj.selectedIndex = obj.selectedIndex == -1 ? 0 : obj.selectedIndex;
        }
    }
}

function setValue(obj,type)
{
    if(type == 0 && obj.value == "--请输入关键字--")
    {
        obj.value = "";
    }
    if(type == 1 && obj.value.trim() == "")
    {
        obj.value = "--请输入关键字--";
    }
}

function inquirePage()
{
    obj = document.getElementById("keyWord");
    var term = "";
    if(obj.value.trim() != "" && obj.value.trim() != "--请输入关键字--")
    {
        term += "&term=" + obj.value.trim() + "&inquire=1";
    }
    obj = document.getElementById("type");
    location.href = obj.value + term;
}
//数组删除项
Array.prototype.remove = function(dx)
{
    if(isNaN(dx)||dx>this.length){return false;}
    for(var i=0,n=0;i<this.length;i++)
    {
　　    if(i!=dx)
　　    {
　　　　    this[n++]=this[i];
　　    }
    }
    this.length-=1;
}

//插入数组元素
Array.prototype.insert = function(item,dx)
{
    if(isNaN(dx) || dx>this.length){return false;} 
    var i = this.length, n = this.length + 1;
    this.push(item);
    for(; i >= dx; i--)
    {
        if(i != dx)
        {
            this[n--] = this[i];
        }
        else
        {
            this[n] = item;
        }
    }
}

