﻿/*
*功能 注入CheckBox勾选事件 默认的 全选按扭 命名中含有All 选项中含有Single （FF下需要保证大小写）的 checkbox会自动生效 
*编写：冯岩
*时间:2010-04-12 23:04
*/
function injectorCheckBox(allName, singName) {
    //查到全选择
    var chkAll = $("input[type='checkbox'][name*='" + allName + "']");
    //查找到所有name中包含singName的CheckBox
    var chkSingle = $("input[type='checkbox'][name*='" + singName + "']");
    if (chkAll.length == 1 && chkSingle.length >= 1) {
        //注入全选择事件
        $(chkAll).click(function() {

            $(chkSingle).attr("checked", $(chkAll).attr("checked"));
        });
        //注入单选事件
        $(chkSingle).click(function() {
            var isAllChecked = true;
            $.each(chkSingle, function(i, o) {
                if (!$(o).attr("checked")) {
                    isAllChecked = false;
                    return false;
                }
            });
            $(chkAll).attr("checked", isAllChecked);
        });
    }
}
//检查是否全角字符
function IsNotChineseInput(str) {
    for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 128) {
            //window.alert("全角字符：" + strTmp.charAt(i));
            return true;
        }
    }
    return false;
}
//字符串转日期
function StringToDate(DateStr) {
    var converted = Date.parse(DateStr);
    var myDate = new Date(converted);
    if (isNaN(myDate)) {
        //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';   
        var arys = DateStr.split('-');
        myDate = new Date(arys[0], --arys[1], arys[2]);
    }
    return myDate;
}
//计算天数差的函数，通用   
function DateDiff(sDate1, sDate2) {     //sDate1和sDate2是2004-10-18格式

    return parseInt(Math.abs(StringToDate(sDate2) - StringToDate(sDate1)) / 1000 / 60 / 60 / 24);
    
}     


function EnterBinding(input,clickElement) {
    if (event.keyCode == 13) {
        alert("你按下了Enter");
    }
}
function ReplaceAll(str, content, replace) {
    while (str.indexOf(content) != -1) {
        str = str.replace(content, replace);
    }
    return str;
}
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {

    if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
        return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")), replaceWith);
    } else {
        return this.replace(reallyDo, replaceWith);
    }

}

function ReplaceAll(str, place,replace) {
    while (str.indexOf(place) != -1) {
        str = str.replace(place, replace);
    }
    return str;
}
//添加到收藏夹
function AddBookmark(title,url) {  
    if (window.sidebar) {   
        window.sidebar.addPanel(title, url,"");   
    } else if( document.all ) {  
        window.external.AddFavorite( url, title);  
    } else if( window.opera && window.print ) {  
        return true;  
    }  
}  

function HTMLEncode(html)
{
    var temp = document.createElement ("div");
    (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
    var output = temp.innerHTML;
    temp = null;
    return output;
}

function HTMLDecode(text)
{
    var temp = document.createElement("div");
    temp.innerHTML = text;
    var output = temp.innerText || temp.textContent;
    temp = null;
    return output;
}

//读取Cookie
function getCookie(cookieName) {
    var cookieString = document.cookie;
    var start = cookieString.indexOf(cookieName + '=');

    if (start == -1) //若不存在该名字的Cookie
        return null;

    start += cookieName.length + 1;

    var end = cookieString.indexOf(';', start);

    if (end == -1) //防止最后没有加“;”冒号的情况            
        return unescape(cookieString.substring(start));

    return unescape(cookieString.substring(start, end));
}

//刷新当前页面
    //可以接收二个参数 "id",4 会改变当前页面 该 id的 url query 值
    //如果传入一个参数 则为 删除该参数
    function RefreshPage()
    {
        if(arguments.length == 0)
        {
            window.location.href = requestUrl;
        }
        else if(arguments.length == 1)
        {
            window.location.href = ChangeUrl(arguments[0]);
        }
        else if(arguments.length>=2 && arguments.length%2 == 0)
        {
            var redirect = window.location.href;
            for(var i = 0 ; i < arguments.length; i=i+2)
            {
                redirect = ChangeUrlForString(redirect,arguments[i],arguments[i+1]);

            }
            window.location.href = redirect;
        }
        else if(arguments.length == 2)
        {
            window.location.href = ChangeUrl(arguments[0],arguments[1]);
        }
    }
    //添加或移除URL是指定的参数
    //可以接收二个参数 "id",4 会改变当前页面 该 id的 url query 值
    //如果传入一个参数 则为 删除该参数
    function ChangeUrl()
    {
        var url = "";
        var requestUrl = window.location.href;
        var requestPage = requestUrl;
        if(requestPage.indexOf("?")!=-1)
            requestPage = requestPage.substring(0,requestPage.indexOf("?"));
        
        if(arguments.length == 0)
        {
            url = requestUrl;
        }
        else if(arguments.length == 1)
        {
            var k = arguments[0];
            var query = "?1=1";
            $.each(queryJson, function(key, value){
                if(key!= k)
                {
                    query+="&"+key+"="+escape(value);
                }
            });
            url =requestPage + query;
        }        
        else if(arguments.length == 2)
        {
            var k = arguments[0];
            var v = arguments[1];
            var query = "?"+k+"="+escape(v);
            $.each(queryJson, function(key, value){
                if(key!= k)
                {
                    query+="&"+key+"="+escape(value);
                }
            });
            url =requestPage + query;
        }
        return url;
    }
    function ChangeUrlForString(locationHref,k,v)
    {
        var url = "";
        var paras = [];
        var requestUrl = locationHref;
        var requestPage = requestUrl;
        if(requestPage.indexOf("?")!=-1)
        {
            paras = requestPage.substring(requestPage.indexOf("?") + 1).split("&");
            requestPage = requestPage.substring(0,requestPage.indexOf("?"));
        }
        
       var query = "?"+k+"="+escape(v);
        
       $.each(paras, function(key, value){
            if(value!=undefined && value.indexOf("=")!=-1 && value.split("=")[0]!= k)
            {
                query+="&"+value.split("=")[0]+"="+value.split("=")[1];
            }
        });
        
        /*
        $.each(queryJson, function(key, value){
            if(key!= k)
            {
                query+="&"+key+"="+escape(value);
            }
        });*/
        url =requestPage + query;       
        return url;
    }
    //获取URL的参数
    $.request = (function () {   
        var apiMap = {};   
        function request(queryStr) {   
            var api = {};   
            if (apiMap[queryStr]) { return apiMap[queryStr]; }   
            api.queryString = (function () {   
                var urlParams = {};   
                var e,   
                d = function (s) { return decodeURIComponent(s.replace(/\+/g, " ")); },   
                q = queryStr.substring(queryStr.indexOf('?') + 1),   
                r = /([^&=]+)=?([^&]*)/g;   
                while (e = r.exec(q))   urlParams[d(e[1])] = d(e[2]);  
                return urlParams;   
            })();   
            api.getUrl = function () {   
                var url = queryStr.substring(0, queryStr.indexOf('?') + 1);   
                for (var p in api.queryString) { url += p + '=' + api.queryString[p] + "&";     }   
                if (url.lastIndexOf('&') == url.length - 1) { return url.substring(0, url.lastIndexOf('&')); }   
                return url;   
            }   
            apiMap[queryStr] = api;   
            return api;   
        }   
        $.extend(request, request(window.location.href));   
        return request;   
    })();   
