/**
 * 业务数据签名类。通过调用签名控件的签名方法，对业务数据进行签名
 */
var CASigner = Class.create({
    /**
     * 签名方法，完成签名并保存签名信息
     * @param {String}busiType---业务类型
     * @param {String}busiID---业务ID号
     * @param {String}remark---备注
     * @param {Boolean}ajax---是否为ajax请求方式签名
     */
    sign:function(busiType, busiID, remark, ajax) {
        //需要被签名的业务数据
        var signData = ajax ? document.body.innerHTML : top.caData;
        //签名控件对象
        var certSign = $("CertSign");
        //ajax方式请求，保存业务签名数据
        new Ajax.Request("/casigndata/signData.pfv", {
            //同步请求
            asynchronous:false,
            parameters:{
                busiType:busiType,
                busiID:busiID,
                remark:remark,
                signData:signData,
                //对业务数据签名，并作为参数发送到服务器
                signature:certSign.SignData(signData, "0", certSign.GetSubjectName(caIndex)),
                //获取证书序列号
                caxlh:certSign.GetSerialNumber(caIndex)
            }
        });
    },
    /**
     * 存储当前页面文档文本信息
     */
    storeData:function() {
        //需要被签名的业务数据
        top.caData = document.body.innerHTML;
    }
});
