<?php
define('EmpireCMSAdmin','1');
require("../e/class/connect.php");
require("../e/class/db_sql.php");
require("../e/class/functions.php");
$link=db_connect();
$empire=new mysqlquery();

//验证用户
//$lur=is_login();
$typeid=$_GET['typeid'];//获取项目编号

//慈善项目下拉框
$csxmlist="";
$xmlistsql=$empire->query("select id,title,pub_time from {$dbtbpre}ecms_csxm where is_delete=0 and is_pub=1 and is_enable=1 order by pub_time desc");//获取栏目下拉框的sql语句
while($ztr=$empire->fetch($xmlistsql))
{
    if( $typeid==$ztr['id'])
    {
        $csxmlist.="<option value='".$ztr['id']."' selected='selected'>".$ztr['title']."</option>";

    }
    else
    {

        $csxmlist.="<option value='".$ztr['id']."'>".$ztr['title']."</option>";
    }
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>在线捐款</title>
    <link rel="stylesheet" type="text/css" href="../../skin/link/css/swiper.css" />
	<link rel="stylesheet" type="text/css" href="../../skin/link/layui/css/layui.css">
	<link rel="stylesheet" type="text/css" href="../../skin/link/css/iconfont.css" />
	<link rel="stylesheet" type="text/css" href="../../skin/link/css/comm.css" />
	<link rel="stylesheet" type="text/css" href="../../skin/link/css/style.css" />
	<link rel="stylesheet" type="text/css" href="../../skin/link/css/main.css" />
	<script src="../../skin/link/js/jquery.min.js"></script>
	<script src="../../skin/link/layui/layui.js"></script>
	<script src="../../skin/link/js/swiper.min.js"></script>
	<script src="../../skin/link/js/qrcode.min.js"></script>
	<script src="../../skin/link/js/index.js"></script>
</head>

<body style="height: 100%">
<div class="container">
	<!-- head -->
	<?php include("public/head.php"); ?>
	<input type="hidden" class="min-money" value="<?=$public_r['add_0nlineInvoiceMinMoney']?>">
	<input type="hidden" class="configure-mailbox" value="<?=$public_r['add_orgEmail']?>">
	<div class="main">
		<div class="wrapper">
			<div class="main-right-cont contribution-main">
				<!-- logo部分 -->
				<img class="online-donation-logo" src="../../skin/link/images/banner.png">
				<!-- 表单部分 -->
			  	<div class="public-form-content">
				 <ul class="public-form-item form-input-item">
					 <li class="public-form-block"></li>
					 <li class="public-form-title">捐赠项目 (<span>*</span>)：</li>
					 <li class="public-form-input">
					 	<select name="csxm"  id="select2" class="project-contribution">
							<option value=''>--选择--</option>
						    <?=$csxmlist?>
						 </select>
					 </li>
				 </ul>
				 <ul class="public-form-item form-middle-item">
				 	<input type="hidden" class="donated-amount">
					 <li class="public-form-block"></li>
					 <li class="public-form-title">捐赠金额 (<span>*</span>)：</li>
					 <li>
						 <ul class="public-form-tab contribution-money-box">
							 <li class="publi-tab li" data-money="20">20元<i class="iconfont icon-jiaobiaoxuanzhong"></i></li>
							 <li class="publi-tab li" data-money="50">50元<i class="iconfont icon-jiaobiaoxuanzhong"></i></li>
							 <li class="publi-tab li" data-money="100">100元<i class="iconfont icon-jiaobiaoxuanzhong"></i></li>
							 <li class="publi-other-tab li">
								 <ul>
									 <li>其他</li> 
									 <li><input class="other-money" type="text"></li>
									 <li class="other-tab-money">元</li>
								 </ul>
							 </li>
						 </ul>
					 </li>
				 </ul>
				 <ul class="public-form-item form-input-item">
					 <li class="public-form-block"></li>
					 <li class="public-form-title">捐赠个人/团体/企业 (<span>*</span>)：</li>
					 <li class="public-form-input">
						 <input type="text" maxlength="50" class="contribution-people" placeholder="请输如捐赠个人/团体/企业">
					 </li>
				 </ul>
				 <ul class="public-form-item form-input-item">
					 <li class="public-form-block"></li>
					 <li class="public-form-title">联系方式：</li>
					 <li class="public-form-input">
						 <input type="text" class="contribution-tel" placeholder="请输入联系方式">
					 </li>
				 </ul>
				 <ul class="public-form-item form-middle-item anonymous-box">
				 	<input type="hidden" class="anonymous-text" value="0">
					 <li class="public-form-block"></li>
					 <li class="public-form-title">是否匿名 (<span>*</span>)：</li>
					 <li class="public-form-radio anonymous-box">
						 <ul>
							 <li data-anonymous="0" class="current">不匿名</li>
							 <li data-anonymous="1">匿名</li>
						 </ul>
					 </li>
				 </ul>
				 <ul class="public-form-item form-middle-item">
				 	<input type="hidden" class="ticketing-text" value="0">
					 <li class="public-form-block"></li>
					 <li class="public-form-title">是否需要票务 (<span>*</span>)：</li>
					 <li class="ticketing-box">
						 <ul>
							 <li data-ticketing="0" class="current">不需要</li>
							 <li data-ticketing="1">需要票务</li>
						 </ul>
					 </li>
				 </ul>
				 <ul class="public-form-box ticketing-info-box">
					 <li class="form-box-margin">
						 <div>发票抬头<span>*</span>：</div>
						 <input type="text" maxlength="50" class="invoice-rise">
					 </li>
					 <li class="form-box-margin">
						 <div>纳税人识别号（企业请填写此项）</div>
						 <input type="text" maxlength="20" onKeyUp="value=value.replace(/[\W]/g,'')" class="identification-number">
					 </li>
					 <li class="form-box-margin">
						 <div>收件人邮箱 (<span>*</span>)：</div>
						 <input type="text" class="addr-email" placeholder="为确保电子票务正确送达，请准确填写邮箱地址">
					 </li>     
					 <li>
						 <div>收件人电话 (<span>*</span>)：</div>
						 <input type="text" class="addr-tel">
					 </li>
				 </ul>
				 <ul class="public-form-item form-middle-item">
				 	<input type="hidden" class="pay-text" value="">
					 <li class="public-form-block"></li>
					 <li class="public-form-title custom">付款方式 (<span>*</span>)：</li>
					 <li class="public-form-pay">
						 <ul class="form-pay-ul">
							 <li class="pay-item" data-pay="1">
								 <ul class="form-pay-item contribution-set-item">
									 <li class="iconfont icon-weixinzhifu"></li>
									 <li>微信支付</li>
									 <i class="iconfont icon-jiaobiaoxuanzhong"></i>
								 </ul>
							 </li>
							 <li class="pay-item" data-pay="2">
								 <ul class="form-pay-item  contribution-set-item">
									 <li class="iconfont icon-zhifubaoicon"></li>
									 <li>支付宝支付</li>
									 <i class="iconfont icon-jiaobiaoxuanzhong"></i>
								 </ul>
							 </li>
						 </ul>
					 </li>
				 </ul>
				 <ul class="public-form-item form-input-item">
					 <li class="public-form-block"></li>
					 <li class="public-form-title custom">捐赠留言</li>
					 <li class="public-form-textarea">
						 <textarea cols="45" maxlength="50" class="donation-message" rows="3"></textarea>
					 </li>
				 </ul>
				 <ul class="public-form-agreement">
				 	<label for="isAgreement">
				 		<input id="isAgreement" type="checkbox">我已仔细阅读
				 	</label>
					<span class="agree-file">《<?=$public_r['add_orgName']?>捐赠协议》</span>
				 </ul>
				 <div class="online-donation-btn custom">确定捐款</div>
				</div>
			</div>
		</span>
	</div>
	
	<!-- foot -->
	<?php include("public/foot.php"); ?>
</div>
<div class="scroll-top">
	<i class="iconfont icon-jiantoushang"></i>
</div>

<div id="qrcode" class="qrcode" style="display: none;">
	<div class="qrcode-title">捐款中，请勿关闭二维码窗口</div>
</div>

<div class="open-bill-know" style="display: none;">感谢您对慈善事业的支持！<?=$public_r['add_orgName']?>可为捐赠本项目的爱心人士开具国家统一的公益事业捐赠电子票据，具体操作如下：
    1.如需开票，捐款人在<?=$public_r['add_orgName']?>网站（公众号）捐款，选择“需要票据”并填写开票抬头、邮箱、联系方式等相关资料；
    2.如需改票，根据电子票据开票日期要求，请爱心人士于捐赠日起 <span class="color-red"><?=$public_r['add_InvoiceExpireDays']?>个工作日内按需申请；</span> 逾期，捐款将按照捐赠项目统一合并开票且不作相关改票，如特殊情况请直接联系我们开票， <span class="color-red">将捐赠证书的截图或有日期、捐赠金额及捐赠人截图并备注需开票抬头、收票邮箱、联系方式等相关信息</span> 发送至邮箱:<?=$public_r['add_orgEmail']?>；待电子捐赠票据开具完成后，捐赠人可从所填邮箱下载。3.电子发票将在 <span class="color-red">1-5个工作日</span> 开具完成，请耐心等待，如有疑问可联系<?=$public_r['add_orgName']?>办公室：<?=$public_r['add_orgTel']?>
</div>
<div class="agree-file-content" style="display: none;">
    <p>网站捐赠协议</p>
    <p>声明：捐赠人对所捐赠的善款（物）持有所有权，属自愿行为。</p>
    <p>承诺：您所捐赠的每一份善款（物），将全额用于系统开展的公益慈善项目，无需承担网站的任何管理成本。</p>
    <p>1、捐赠来源：</p>
    <p>捐赠人捐赠的财产，是其有权处分的合法财产，且权属关系无争议。</p>
    <p>2、捐赠用途：</p>
    <p>本网站所收到的所有捐赠财产将按捐赠人要求（明确使用方向、实施项目和受益人、捐助地区）用于本机构指定项目，未经捐赠人同意，不会改变捐赠财产的用途；捐赠人未作指定要求的捐赠财产，将作为非限定捐赠用于任何需要项目。
        捐赠7日之内可根据情况酌情调整捐赠用途，7日之后则不再变更。</p>
    <p>3、权利义务：</p>
    <p>1）、捐赠人有权向本网站查询捐赠财产的使用及管理情况，并提出意见和建议。对于捐赠人的查询，本网站会如实答复。如出现违反捐赠要求使用捐赠财产的情况，捐赠人有权要求履行捐赠要求或者撤销捐赠行为。</p>
    <p>2）、捐赠人对捐赠行为、捐赠财产和其他有关事项要求保密的，本网站将予以保密。</p>
    <p>3）、捐赠行为发生之后，捐赠人可向本机构索取合法、有效的捐赠凭证。</p>
    <p>4）、捐赠行为发生之后，本系统将按要求与捐赠人补签捐赠协议。</p>
    <p>4、其他约定</p>
    <p>对捐赠人已捐出的捐赠财产，都视为本机构的捐赠收入，任何情况下本网站不作任何退还或返还补偿。</p>
    <p>5、法律的适用和管辖：</p>
    <p>基本声明的生效、履行、解释及争议的解决均适用中华人民共和国法律。如果本声明的任何条款因与中华人民共和国现行法律相抵触而无效，该等无效不影响其他条款的效力。</p>
</div>

<div class="donation-certificate" style="display: none;"></div>
<script>
	
	$(function() {
		var getResult;
		var qrcode = new QRCode(document.getElementById("qrcode"), {
			width : 200,
			height : 200
		});
		$('.other-money').on({
			change: function() {
				$('.donated-amount').val($(this).val() || 0);
				if(parseFloat($('.donated-amount').val()) < parseFloat($('.min-money').val())){
					$('.ticketing-info-box').hide();
					$('.ticketing-text').val('0');
					$('.ticketing-box ul li').eq(0).addClass('current');
					$('.ticketing-box ul li').eq(0).siblings().removeClass('current');
				}
			},
			focus: function() {
				$(this).parents('.publi-other-tab').addClass('active');
				if(parseFloat($('.donated-amount').val()) < parseFloat($('.min-money').val())){
					$('.ticketing-info-box').hide();
					$('.ticketing-text').val('0');
					$('.ticketing-box ul li').eq(0).addClass('current');
					$('.ticketing-box ul li').eq(0).siblings().removeClass('current');
					$('.contribution-money-box').find('.publi-tab').removeClass('active');
					$('.donated-amount').val($(this).val());
				};
			}
		});

		$('.agree-file').click(function () {
            layui.use('layer', function () {
                layui.use('layer', function () {
                    layer.open({
                        type: 1,
                        title: '网站捐赠协议',
                        btn: ['确定'],
                        area: ['696px', '800px'],
                        content: $('.agree-file-content'),
                        yes: function () {
                            layer.closeAll();
                            $('.agree-file-content').hide();
                        }
                    });
                });
            })
        })

		$('.publi-tab').on({
			click: function() {
				$('.other-money').val('');
				$(this).addClass('active').siblings().removeClass('active');
				$('.donated-amount').val($(this).attr('data-money'));
				$('.other-money').parents('.publi-other-tab').removeClass('active');
			}
		});
		 
		$('.anonymous-box ul li').click(function(){
			$('.anonymous-text').val($(this).attr('data-anonymous'));
	        $(this).addClass('current').siblings().removeClass('current');
	    })

	    $('.ticketing-box ul li').click(function () {
            if(parseFloat($('.min-money').val()) <= parseFloat($('.donated-amount').val())){
                $('.ticketing-text').val($(this).attr('data-ticketing'))
                $(this).addClass('current').siblings().removeClass('current');
                if ($(this).attr('data-ticketing') == '0') {
                    $('.ticketing-info-box').hide()
                } else {
                    layui.use('layer', function () {
                        layer.open({
                            type: 1,
                            title: '开票须知',
                            btn: ['确定'],
                            area: ['423px', '525px'],
                            content: $('.open-bill-know'),
                            yes: function () {
                                $('.ticketing-info-box').show()
                                $('.open-bill-know').hide()
                                layer.closeAll()
                            },
                            cancel: function(index, layero){ 
                                $('.ticketing-info-box').hide()
                                $('.open-bill-know').hide()
                                $('.ticketing-text').val(0);
                                $('.ticketing-box').find('ul li').eq(0).addClass('current').siblings().removeClass('current');
                                layer.closeAll(); 
                            }
                        });
                    });

                };
            } else {
            	if($(this).index() == '1'){
					layui.use('layer', function () {
                        layer.open({
                            type: 1,
                            title: '不可开票须知',
                            area: ['420px', '260px'],
                            content: '<div class="invoice-prompt">抱歉，由于您的单笔捐款在'+ $('.min-money').val() +'元以下，为保证有效成本控制，暂不支持在线申请开具电子捐赠票据。如您需要开具企业抬头发票等其它诉求，请将“捐款交易单号+姓名+电子邮箱+手机号+开票抬头”发送到邮箱<em>'+ $('.configure-mailbox').val() +'</em>经审核无误后，我会将为您在1-5个工作日内开具电子捐赠票据。</div>',
                            yes: function () {
                                layer.closeAll()
                            }
                        });
                    });
				}
			}
        })

	    $('.form-pay-ul').on({
	    	click: function() {
	    		$(this).addClass('on').siblings().removeClass('on');
	    		$('.pay-text').val($(this).attr('data-pay'));
	    	}
	    }, '.pay-item');

	   $('.online-donation-btn').on({
	    	click: function() {
				
	    		layui.use('layer', function(){
				var layer = layui.layer;
	    		var dataJson = {},
					regex = /^(\d+\.?)?\d{0,2}$/, // 校验金额
					phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$|^0\d{2,3}-?\d{7,8}$/, // 校验手机号固话
					emailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/, // 邮箱
					taxpayerReg = /^([159Y]{1})([1239]{1})([0-9ABCDEFGHJKLMNPQRTUWXY]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-90-9ABCDEFGHJKLMNPQRTUWXY])$/, // 纳税人识别号
	    			timeInfo = 25;
	    		dataJson.projectId = $('.project-contribution').val();// 项目id
	    		dataJson.projectName = $('.project-contribution').find('option:selected').text();
	    		dataJson.amount = $('.donated-amount').val(); // 金额
	    		dataJson.donors = $('.contribution-people').val(); // 捐款人
	    		dataJson.anonymousFlag = $('.anonymous-text').val(); // 是否匿名	
	    		dataJson.tel = $('.contribution-tel').val(); // 联系方式	
	    		dataJson.payType = $('.pay-text').val(); // 付款方式	
	    		dataJson.message = $('.donation-message').val(); // 留言
	    		dataJson.receiptFlag = $('.ticketing-text').val(); // 是否需要收据
	    		dataJson.invoiceTitle = $('.invoice-rise').val(); // 发票抬头
	    		dataJson.taxpayerNum = $('.identification-number').val(); // 	纳税人识别号
	    		dataJson.invoiceEmail = $('.addr-email').val(); // 收件人邮箱	
	    		dataJson.invoiceTel = $('.addr-tel').val(); // 收件人电话
	    		if (!dataJson['projectId'] || !dataJson['amount'] || !dataJson['donors'] || !dataJson['anonymousFlag'] || !dataJson['payType']) {
	    			if (!dataJson['projectId']) {
	    				layer.msg('请选择捐款项目！');
	    				return false;
	    			};
	    			if (!dataJson['amount']) {
	    				layer.msg('请填写捐款金额！');
	    				return false;
	    			};
	    			if (!dataJson['donors']) {
	    				layer.msg('请填写捐款人！');
	    				return false;
	    			};
	    			if (!dataJson['anonymousFlag']) {
	    				layer.msg('请选择是否匿名！');
	    				return false;
	    			};
	    			if (!dataJson['payType']) {
	    				layer.msg('请选择支付方式！');
	    				return false;
	    			};
	    		}else {
					
	    			if (!regex.test(dataJson['amount'])) {
						layer.msg('捐款金额有误，请输入大于0的金额进行提交，最小单位请精确到分，例如：0.01！');
			    		return false;
	    			};
					
					if(dataJson['tel']) {
						if (!phoneReg.test(dataJson['tel'])) {
							layer.msg('联系方式有误，请检查后提交！');
							return false;
						};
					}
	    			if (dataJson.receiptFlag == '1') {
	    				if (!dataJson['invoiceTitle'] || !dataJson['invoiceEmail'] || !dataJson['invoiceTel']) {
	    					layer.msg('请检查发票数据必填项');
			    			return false;
			    		}else {
							if(dataJson['taxpayerNum']) {
								if (dataJson['taxpayerNum'].length != 15 || dataJson['taxpayerNum'].length != 18 || dataJson['taxpayerNum'].length != 20) {
									layer.msg('纳税人识别号有误，请检查后提交！');
									return false;
								};
							}
							
							if (!emailReg.test(dataJson['invoiceEmail'])) {
								layer.msg('发票收件人邮箱有误，请检查后提交！');
								return false;
							};
							
							if (!phoneReg.test(dataJson['invoiceTel'])) {
								layer.msg('发票收件人电话有误，请检查后提交！');
								return false;
							};
						}
	    			};
                    if($('#isAgreement').is(':checked')) {
					    
					}else {
						layer.msg('请阅读并勾选捐款协议条款');
						return false;
					}
				var index = layer.load(2);
	    			$.ajax({
						url: '/csapi/business/home/pc_online_save',
						data: dataJson,
						dataType: 'json',
						type: 'post',
					}).done(function(dataRes) {
						layer.close(index);
						if (dataRes && dataRes.success) {
							qrcode.makeCode(dataRes.data.paymentCode);
							var titlePayTxt = '';
							if (dataJson.payType == '1') {
								titlePayTxt = '微信扫码支付';
							}else {
								titlePayTxt = '支付宝扫码支付';
							};
							layui.use('layer', function () {
								layer.open({
									type: 1,
									title: titlePayTxt,
									area: ['360px', '380px'],
									content: $('#qrcode'),
									yes: function () {
										$('#qrcode').hide();
										layer.closeAll(function(){ //关闭所有层并执行回调
											clearInterval(getResult);
										}); 
									},
									cancel: function(index, layero){ 
										$('#qrcode').hide();
										layer.closeAll(function(){ //关闭所有层并执行回调
											clearInterval(getResult);
										}); 
									}
								});
							});
								
								getResult = setInterval(function(){
									$.ajax({
										url: '/csapi/business/home/queryOrder',
										data: {
											orderId: dataRes.data.orderId,
										},
										dataType: 'json',
										type: 'get',
									}).done(function(res) {
										if(res.success){
											if (res.data && res.data.payStatus == '1') {
												clearInterval(getResult);
												window.location.href = '/j/certificate.php?number=' + res.data.certificateNumber;
												//$('.code-content-fexid').hide();
												//layer.msg('支付成功');
												//var img = `<img width="100%" src="${'data:image/png;base64,'+res.data.certBase64}">`
												//$('.donation-certificate').html(img)
											}else {
												// if (timeInfo == 0) {
													//clearTimeout(getResult);
													//$('.code-content-fexid').hide();
													//layer.msg('支付失败');
													//$('html').css({'overflow-y': 'auto'})
												//}else {
													//timeInfo --
												//};
											};
										
										}else {
											//timeInfo --
										}
									})
								},2000);
						}else {
							layer.msg(dataRes.msg);
						};
					}).fail(function(data){
						layer.msg('请求失败！');
					});
	    		};
	    		});
	    	}
	    });
	})
	</script>
</body>
</html>
<?
db_close();
$empire=null;
?>
