﻿// JavaScript 文件

//通用方法

//获取对象
//function obj(id)
//{
//    return document.getElementById(id);
//}

//
function getValue(id)
{
    return escape(document.getElementById(id).value);
}

//获取下拉框选择项内容
function getSelectText(id)
{
    var objSelect = document.getElementById(id);
    if(objSelect)
    {
        if(objSelect.selectedIndex >= 0)
        {
            return objSelect.options[objSelect.selectedIndex].text;
        }
    }
    return '';
}

//设置下拉框选择项
function setSelectItemByText(id, text)
{
    var objSelect = document.getElementById(id);
    if(!objSelect)
    {
        return;
    }
    if(text == '')
    {
        objSelect.selectedIndex = -1;
        return;
    }
    var options = objSelect.options;
    for(var i=0; i<options.length; i++)
    {
        if(options[i].text == text)
        {
            objSelect.selectedIndex = i;
            return;
        }
    }
    options[options.length] = new Option(text, text);
    objSelect.selectedIndex = options.length - 1;
}

//设置下拉框选择项
function setSelectItemByValue(id, value)
{
    var objSelect = document.getElementById(id);
    if(!objSelect)
    {
        return;
    }
    var options = objSelect.options;
    for(var i=0; i<options.length; i++)
    {
        if(options[i].value == value)
        {
            objSelect.selectedIndex = i;
            return;
        }
    }
}

//设置单选按钮选择项
function setRadioChecked(name, value)
{
    var objRadio = document.getElementsByName(name);
    if(objRadio)
    {
        for(var i=0; i<objRadio.length; i++)
        {
            if(objRadio[i].value == value)
            {
                objRadio[i].checked = true;
                break;
            }
        }
    }
}

//获取单选按钮选择项
function getRadioCheckedValue(name)
{
    var objRadio = document.getElementsByName(name);
    if(objRadio)
    {
        for(var i=0; i<objRadio.length; i++)
        {
            if(objRadio[i].checked)
            {
                return objRadio[i].value;
            }
        }
    }
    return '';
}

//点击对象chk复选框，是所有名为name的复选框选择状态与chk相同
function checkAll(chk, name)
{
    var obj = document.getElementsByName(name);
    for (var i=0; i<obj.length; i++)
    {
        obj[i].checked = chk.checked;
    }
}

//获取名为name的复选框组中被选中的value序列，以逗号分隔
function getCheckBoxCheckedValue(name)
{
    var result = '';
    var objChks = document.getElementsByName(name);
    for(var i=0; i<objChks.length; i++)
    {
        if(objChks[i].checked)
        {
            result += objChks[i].value + ',';
        }
    }
    if(result.length > 0)
    {
        result = result.substring(0, result.length - 1);
    }
    return result;
}

//验证Input控件value值是否为空；为空给出提示
function checkInputEmpty(id, msg)
{
    var obj = document.getElementById(id);
    if(obj)
    {
        if(obj.value == '')
        {
            alert(msg);
            obj.focus();
            return false;
        }
        else
        {
            return true;
        }
    }
    return false;
}

//验证下拉框是否没有进行选择
function checkIsSelectDefaultOption(id, msg)
{
    var obj = document.getElementById(id);
    if(obj.selectedIndex == 0)
    {
        alert(msg);
        obj.focus();
        return false;
    }
    return true;
}
//验证Select控件是否没有选中任何选项；没有给出提示
function checkSelected(id, msg)
{
    var obj = document.getElementById(id);
    if(obj)
    {
        if(obj.selectedIndex < 0)
        {
            alert(msg);
            obj.focus();
            return false;
        }
        return true;
    }
    return false;
}

//验证一组Radio控件是否有选中的；没有给出提示
function checkRadioSelected(name, msg)
{
    var obj = document.getElementsByName(name);
    if(obj)
    {
        for(var i=0; i<obj.length; i++)
        {
            if(obj[i].checked == true)
            {
                return true;
            }
        }
    }
    alert(msg);
    return false;
}

//正则表达式验证
function checkByReg(id, msg, reg)
{
    var obj = document.getElementById(id);
    if(obj)
    {
        if(!reg.test(obj.value))
        {
            alert(msg);
            obj.focus();
            obj.select();
            return false;
        }
        return true;
    }
    return false;
}

//验证电子邮件格式
function checkEamil(email)
{
    var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 
    return emailReg.test(email);
}

//验证电子邮件格式
function checkEmailStyle(id, msg)
{
    var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 
    return checkByReg(id, msg, emailReg);
}

//验证验证码格式（四位数字）
function checkValidateCode(id, msg)
{
    var reg = /^\d{4,4}$/;
    return checkByReg(id, msg, reg);
}
//验证数字
function checkNumber(id, msg)
{
    var numReg = /^\d+$/; 
    return checkByReg(id, msg, numReg);
}

//验证网址
function checkUrl(id, msg)
{
    var regUrl = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
    return checkByReg(id, msg, regUrl);
}

//验证用户名：由字母a～z(不区分大小写)、数字0～9、点、减号或下划线组成，长度为4～18个字符
function checkUserName(id, msg)
{
    var reg = /^[a-z0-9A-Z-_.]{4,18}$/;
    return checkByReg(id, msg, reg);
}

//验证密码：密码长度6～16位，字母区分大小写
function checkPassword(id, msg)
{
    var pwd = document.getElementById(id);
    if(pwd.value.length < 6 || pwd.value.length > 16)
    {
        alert(msg);
        pwd.select();
        return false;
    }
    return true;
}

//不包含如下特殊字符：|+)(*&^%$#@!~=\}{][:;?>
function checkNickName(id, msg)
{
    var reg = /^[^\|\+\)\(\*&\^\%\$#@!~=\\\}\{\]\[:;\?>]*$/;
    return checkByReg(id, msg, reg);
}

//
function checkFileStyle(file, style)
{

}

//比较两个input的value是否相同
function compareValue(id1, id2)
{
    return document.getElementById(id1).value == document.getElementById(id2).value;
}

//敏感字符串过滤
function checkDangerString(id, msg)
{
    var reg = /<|>|(script)|\t/;
    var obj = document.getElementById(id);
    if(obj)
    {
        if(reg.test(obj.value))
        {
            alert(msg + '含有非法字符(<,>,tab,script等)，请检查后再提交！');
            obj.focus();
            obj.select();
            return false;
        }
        return true;
    }
    return true;
}

//检查输入的字符串长度
function checkInputLength(id, len, msg)
{
    var str = document.getElementById(id);
    if(str && getLength(str.value) > len)
    {
        alert(msg + '不能超过' + len + '字');
        str.select();
        return false;
    }
    return true;
}

//计算字符串长度，汉字占两个字符
function getLength(str)
{
    str = '' + str;
    str = str.replace(/[\u0391-\uFFE5]/g, '00');
    return str.length;
}

//复制到剪贴板
function copyToClipboard(txt) 
{
    if(window.clipboardData) 
    {
        window.clipboardData.clearData();
        window.clipboardData.setData("Text", txt);
    } 
    else if(navigator.userAgent.indexOf("Opera") != -1) 
    {
        window.location = txt;
    } 
    else if (window.netscape) 
    {
        try 
        {
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        } catch (e) 
        {
            alert("您的firefox安全限制限制您进行剪贴板操作，请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试");
            return false;
        }
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
        if (!clip)
        return;
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
        if (!trans)
        return;
        trans.addDataFlavor('text/unicode');
        var str = new Object();
        var len = new Object();
        var str = Components.classes['@mozilla.org/supports-string;1'].createInstance(Components.interfaces.nsISupportsString);
        var copytext = txt;
        str.data = copytext;
        trans.setTransferData("text/unicode",str,copytext.length*2);
        var clipid = Components.interfaces.nsIClipboard;
        if (!clip)
        return false;
        clip.setData(trans,null,clipid.kGlobalClipboard);
    }
} 

//读取名为name的Cookie值
function GetCookie(name) 
{
	var arg = name.toLowerCase() + "="; 
	var alen = arg.length; 
	var clen = document.cookie.length; 
	var i = 0; 
	while (i < clen) 
	{ 
	    var j = i + alen; 
	    if (document.cookie.substring(i, j) == arg) 
	    {
	        return getcookieval(j); 
	    }
	    i = document.cookie.indexOf(" ", i) + 1; 
	    if (i == 0) 
	    {
	        break; 
	    }
	} 
	return null; 
} 
//取得项名称为offset的cookie值 
function getcookieval(offset)  
{
	var endstr = document.cookie.indexOf (";", offset); 
	if (endstr == -1) 
	endstr = document.cookie.length; 
	return unescape(document.cookie.substring(offset, endstr)); 
}

//获取保存的图像值
function getStorageValue(id)
{
    var photo = document.getElementById(id).src;
    return escape(photo.substring(photo.indexOf("UploadFile"), photo.length));
}
