﻿var Purchase = {};

ConstData.Purchase = {};

//「红球样式」名称
ConstData.Purchase.RedBallStyleName = "r_b";
ConstData.Purchase.RedBallStyle2Name = "r_a";
//「篮球样式」名称
ConstData.Purchase.BlueBallStyleName = "b_b";
ConstData.Purchase.BlueBallStyle2Name = "b_a";
//「橙球样式」名称
ConstData.Purchase.OrangeBallStyleName = "r_b";
ConstData.Purchase.OrangeBallStyle2Name = "r_a";

ConstData.Purchase.LJGMButtonStyle1 = "LjbuyBtn";
ConstData.Purchase.LJGMButtonStyle2 = "unLjbuyBtn";
ConstData.Purchase.FQHMButtonStyle1 = "fqhm";
ConstData.Purchase.FQHMButtonStyle2 = "unfqhm";

//购买方式
ConstData.Purchase.PurchaseWay = {};
ConstData.Purchase.PurchaseWay.PersonalPurchase = "代购";
ConstData.Purchase.PurchaseWay.GroupPurchase = "合买";
ConstData.Purchase.PurchaseWay.ChasePurchase = "追号";

//主选号方式
ConstData.Purchase.MajorChoiceWay = {};
ConstData.Purchase.MajorChoiceWay.ZX = "直选";
ConstData.Purchase.MajorChoiceWay.ZS = "组三";
ConstData.Purchase.MajorChoiceWay.ZL = "组六";
ConstData.Purchase.MajorChoiceWay.QY = "前一";
ConstData.Purchase.MajorChoiceWay.QE = "前二";
ConstData.Purchase.MajorChoiceWay.HY = "后一";
ConstData.Purchase.MajorChoiceWay.HE = "后二";

//次选号方式
ConstData.Purchase.MinorChoiceWay = {};
ConstData.Purchase.MinorChoiceWay.PT = "普通";
ConstData.Purchase.MinorChoiceWay.DT = "胆拖";
ConstData.Purchase.MinorChoiceWay.HZ = "和值";
ConstData.Purchase.MinorChoiceWay.WB = "文本";

//文本投注方式
ConstData.Purchase.TextBetWay = {};
ConstData.Purchase.TextBetWay.Input = "输入";
ConstData.Purchase.TextBetWay.Upload = "上传";

//参数
ConstData.Purchase.Param = {};
ConstData.Purchase.Param.Number = "Number";
ConstData.Purchase.Param.NumberType = "NumberType";
ConstData.Purchase.Param.Quantity = "Quantity";
ConstData.Purchase.Param.NumberID = "NumberID";
ConstData.Purchase.Param.GroupNumberInfo = "gni";

//最大倍数
ConstData.Purchase.MaxMultiple = 99;
//最大注数
ConstData.Purchase.MaxQuantity = 2000000;
//最大金额
ConstData.Purchase.MaxMoney = 20000;

ConstData.Purchase.PrizeNumberPrefixID = "PrizeNumber";

//「当前期号」编号
ConstData.Purchase.IssueID = "lblIssue";
//「当前状态」编号
ConstData.Purchase.StateID = "lblState";
ConstData.Purchase.StateText1 = "离投注截止还有：";
ConstData.Purchase.StateText2 = "离下期开售还有：";
//「剩余天数」编号
ConstData.Purchase.LeftDaysID = "lblLeftDays";
//「剩余小时」编号
ConstData.Purchase.LeftHoursID = "lblLeftHours";
//「剩余分钟」编号
ConstData.Purchase.LeftMinutesID = "lblLeftMinutes";
//「剩余秒数」编号
ConstData.Purchase.LeftSecondsID = "lblLeftSeconds";

//「随机号码列表」编号
ConstData.Purchase.RandomNumberListID = "ulRandomNumberList";

//「号码」编号
ConstData.Purchase.NumberID = "liNumber";
//「移除号码」编号
ConstData.Purchase.RemoveNumberID = "btnRemoveNumber";
//「号码列表」编号
ConstData.Purchase.NumberListID = "divNumberList";
//「号码列表区域」编号
ConstData.Purchase.NumberListAreaID = "divNumberListArea";
//「号码」筛选器
ConstData.Purchase.NumberSelector = "#" + ConstData.Purchase.NumberListID + " tr";
//「清空列表」编号
ConstData.Purchase.ClearNumberListID = "btnClearBallNumberList";

//「倍数」编号
ConstData.Purchase.MultipleID = "txtMultiple";
//「总注数」编号
ConstData.Purchase.TotalQuantityID = "bTotalQuantity";
//「总金额」编号
ConstData.Purchase.TotalMoneyID = "bTotalMoney";

//「是否同意协议」编号
ConstData.Purchase.AgreeProtocolID = "chkAgreeProtocol";
//「合买代购协议」编号
ConstData.Purchase.ProtocolID = "aProtocol";
//「合买代购协议」
ConstData.Purchase.Protocol = "<table>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>1.</td><td>凡是参与彩票大富翁彩票合买代购服务的注册会员，均视为已认可本协议。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>2.</td><td>彩票大富翁立足于服务彩民，所有用户发起、认购彩票方案，网站均不收取任何手续费。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>3.</td><td>彩票大富翁用户须同意本网站代理购买、领取奖金和派发奖金的有关事宜。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>4.</td><td>合买方案发起人可自行设置税后奖金的1%-10%作为方案提成，网站保留提成比例调整的权利。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>5.</td><td>用户有权自由发起方案，代购方案不限制，合买方案每人每期限发300个合买方案，每期最多5个未满员方案同时存在。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>6.</td><td>为保证方案发起的严肃性，方案最低发起金额为2元，合买方案发起人须先购买至少5%。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>7.</td><td>合买方案进度（含保底）超过50%的发起人、认购人均不能撤单。当期彩票截止后，未合买成功方案系统将进行撤单返款处理。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>8.</td><td>奖金分配：代购方案所中取的奖金，均属于此方案发起人所有。合买方案中奖后，发起人按照事先约定的方式、比例进行提成，其余奖金按照此方案各用户认购比例进行分配，除不尽的部分归方案发起人所有。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>9.</td><td>彩票开奖后，网站将代为办理兑奖、派奖事宜，并在1-2个工作日打款到客户帐号。</td></tr>" +
                                                    "<tr style='vertical-align:top;'><td>10.</td><td>如因突然停电、网络中断等意外因素或其他不可抗力，导致未能出票完毕，本网站将在开奖前对未出票方案进行撤单返款处理。除此之外，网站不再承担其他责任。</td></tr>" +
                                                "</table>";
//「追号规则」编号
ConstData.Purchase.ChasePurchaseRuleID = "aChasePurchaseRuleID";
//「追号规则」
ConstData.Purchase.ChasePurchaseRule = "<table>" +
                                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>1.</td><td>彩票大富翁用户可以随时发起追号任务；用户进行追号的同时，不影响其他彩票的代购合买。</td></tr>" +
                                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>2.</td><td>用户发起追号任务订单，账户余额不满足追号期数所需金额的购买时，任务将不予发起。</td></tr>" +
                                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>3.</td><td>追号确认后需要一次性支付多期款项，一个追号中的期次款项必须全部支付成功才能发起追号，系统将于每期开售时自动执行该期的追号任务。</td></tr>" +
                                                                    "<tr style='vertical-align:top;'><td><label>&nbsp</label>4.</td><td>用户追号成功后不可以取消追号。</td></tr>" +
                                                                "</table>";

//「立即购买」编号
ConstData.Purchase.PurchaseID = "btnPurchase";

ConstData.Purchase.NumberTypeSign = ":";

/****************************************************合买****************************************************/

ConstData.Purchase.GroupPurchase = {};

//「合买区域」编号
ConstData.Purchase.GroupPurchase.AreaID = "divGroupPurchaseArea";
//「合买份数」编号
ConstData.Purchase.GroupPurchase.TotalCountID = "txtTotalCount";
//「每份金额」编号
ConstData.Purchase.GroupPurchase.EachMoneyID = "bEachMoney";
//「额外利润」编号
ConstData.Purchase.GroupPurchase.ExtraProfitID = "comExtraProfit";
//「购买份数」编号
ConstData.Purchase.GroupPurchase.PurchaseCountID = "txtPurchaseCount";
//「购买金额」编号
ConstData.Purchase.GroupPurchase.PurchaseMoneyID = "bPurchaseMoney";
//「购买比例」编号
ConstData.Purchase.GroupPurchase.PurchaseProportionID = "bPurchaseProportion";
//「保底份数」编号
ConstData.Purchase.GroupPurchase.PledgeCountID = "txtPledgeCount";
//「保底金额」编号
ConstData.Purchase.GroupPurchase.PledgeMoneyID = "bPledgeMoney";
//「保底比例」编号
ConstData.Purchase.GroupPurchase.PledgeProportionID = "bPledgeProportion";
//「完全公开」编号
ConstData.Purchase.GroupPurchase.PublicID = "public";
//「仅跟单人可看」编号
ConstData.Purchase.GroupPurchase.PrivateID = "private";
//「截止后公开」编号
ConstData.Purchase.GroupPurchase.ProtectID = "protect";
//「方案标题」编号
ConstData.Purchase.GroupPurchase.SolutionTitleID = "方案标题";
//「方案描述」编号
ConstData.Purchase.GroupPurchase.SolutionDescriptionID = "方案描述";

/****************************************************追号****************************************************/

ConstData.Purchase.ChasePurchase = {};

//「追号列表」编号
ConstData.Purchase.ChasePurchase.ListID = "divChasePurchaseList";
//「全选期号」编号
ConstData.Purchase.ChasePurchase.SelectAllIssueID = "chkSelectAllIssue";
//「期号数量」编号
ConstData.Purchase.ChasePurchase.IssueCountID = "comIssueCount";
//「当前金额」编号
ConstData.Purchase.ChasePurchase.CurrentMoneyID = "bCurrentMoney";
//「选择期数」编号
ConstData.Purchase.ChasePurchase.SelectedIssueCountID = "xzqs_zh";
//「总金额」编号
ConstData.Purchase.ChasePurchase.TotalMoneyID = "zje_zh";
//「余额不足提醒」编号
//ConstData.Purchase.ChasePurchase.BalanceLackRemindingID = "chkBalanceLackReminding";
//「停止追号」编号
//ConstData.Purchase.ChasePurchase.AutoStopChasePurchaseID = "chkMaxPriceMoney";
//「最大奖金」编号
//ConstData.Purchase.ChasePurchase.MaxPriceMoneyID = "txtMaxPriceMoney";

/**************************************************直选-普通**************************************************/

ConstData.Purchase.ZXPT = {};

ConstData.Purchase.ZXPT.FrontNumberAreaID = "divFrontNumberArea_zxpt";
ConstData.Purchase.ZXPT.BackNumberAreaID = "divBackNumberArea_zxpt";
ConstData.Purchase.ZXPT.TenThousandsNumberAreaID = "divTenThousandsNumberArea_zxpt";
ConstData.Purchase.ZXPT.ThousandsNumberAreaID = "divThousandsNumberArea_zxpt";
ConstData.Purchase.ZXPT.HundredsNumberAreaID = "divHundredsNumberArea_zxpt";
ConstData.Purchase.ZXPT.TensNumberAreaID = "divTensNumberArea_zxpt";
ConstData.Purchase.ZXPT.SingleNumberAreaID = "divSingleNumberArea_zxpt";
ConstData.Purchase.ZXPT.SixthNumberAreaID = "divSixthNumberArea_zxpt";
ConstData.Purchase.ZXPT.SeventhNumberAreaID = "divSeventhNumberArea_zxpt";

ConstData.Purchase.ZXPT.FrontNumberSelector = "#" + ConstData.Purchase.ZXPT.FrontNumberAreaID + " b";
ConstData.Purchase.ZXPT.BackNumberSelector = "#" + ConstData.Purchase.ZXPT.BackNumberAreaID + " b";
ConstData.Purchase.ZXPT.TenThousandsNumberSelector = "#" + ConstData.Purchase.ZXPT.TenThousandsNumberAreaID + " b";
ConstData.Purchase.ZXPT.ThousandsNumberSelector = "#" + ConstData.Purchase.ZXPT.ThousandsNumberAreaID + " b";
ConstData.Purchase.ZXPT.HundredsNumberSelector = "#" + ConstData.Purchase.ZXPT.HundredsNumberAreaID + " b";
ConstData.Purchase.ZXPT.TensNumberSelector = "#" + ConstData.Purchase.ZXPT.TensNumberAreaID + " b";
ConstData.Purchase.ZXPT.SingleNumberSelector = "#" + ConstData.Purchase.ZXPT.SingleNumberAreaID + " b";
ConstData.Purchase.ZXPT.SixthNumberSelector = "#" + ConstData.Purchase.ZXPT.SixthNumberAreaID + " b";
ConstData.Purchase.ZXPT.SeventhNumberSelector = "#" + ConstData.Purchase.ZXPT.SeventhNumberAreaID + " b";

ConstData.Purchase.ZXPT.SelectTenThousandsAllNumberID = "btnSelectTenThousandsAllNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTenThousandsBigNumberID = "btnSelectTenThousandsBigNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTenThousandsSmallNumberID = "btnSelectTenThousandsSmallNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTenThousandsOddNumberID = "btnSelectTenThousandsOddNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTenThousandsEvenNumberID = "btnSelectTenThousandsEvenNumber_zxpt";
ConstData.Purchase.ZXPT.ClearTenThousandsSelectedNumberID = "btnClearTenThousandsSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.SelectThousandsAllNumberID = "btnSelectThousandsAllNumber_zxpt";
ConstData.Purchase.ZXPT.SelectThousandsBigNumberID = "btnSelectThousandsBigNumber_zxpt";
ConstData.Purchase.ZXPT.SelectThousandsSmallNumberID = "btnSelectThousandsSmallNumber_zxpt";
ConstData.Purchase.ZXPT.SelectThousandsOddNumberID = "btnSelectThousandsOddNumber_zxpt";
ConstData.Purchase.ZXPT.SelectThousandsEvenNumberID = "btnSelectThousandsEvenNumber_zxpt";
ConstData.Purchase.ZXPT.ClearThousandsSelectedNumberID = "btnClearThousandsSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.SelectHundredsAllNumberID = "btnSelectHundredsAllNumber_zxpt";
ConstData.Purchase.ZXPT.SelectHundredsBigNumberID = "btnSelectHundredsBigNumber_zxpt";
ConstData.Purchase.ZXPT.SelectHundredsSmallNumberID = "btnSelectHundredsSmallNumber_zxpt";
ConstData.Purchase.ZXPT.SelectHundredsOddNumberID = "btnSelectHundredsOddNumber_zxpt";
ConstData.Purchase.ZXPT.SelectHundredsEvenNumberID = "btnSelectHundredsEvenNumber_zxpt";
ConstData.Purchase.ZXPT.ClearHundredsSelectedNumberID = "btnClearHundredsSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.SelectTensAllNumberID = "btnSelectTensAllNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTensBigNumberID = "btnSelectTensBigNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTensSmallNumberID = "btnSelectTensSmallNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTensOddNumberID = "btnSelectTensOddNumber_zxpt";
ConstData.Purchase.ZXPT.SelectTensEvenNumberID = "btnSelectTensEvenNumber_zxpt";
ConstData.Purchase.ZXPT.ClearTensSelectedNumberID = "btnClearTensSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.SelectSingleAllNumberID = "btnSelectSingleAllNumberI_zxpt";
ConstData.Purchase.ZXPT.SelectSingleBigNumberID = "btnSelectSingleBigNumberI_zxpt";
ConstData.Purchase.ZXPT.SelectSingleSmallNumberID = "btnSelectSingleSmallNumberI_zxpt";
ConstData.Purchase.ZXPT.SelectSingleOddNumberID = "btnSelectSingleOddNumberI_zxpt";
ConstData.Purchase.ZXPT.SelectSingleEvenNumberID = "btnSelectSingleEvenNumberI_zxpt";
ConstData.Purchase.ZXPT.ClearSingleSelectedNumberID = "btnClearSingleSelectedNumberI_zxpt";

ConstData.Purchase.ZXPT.SelectSixthAllNumberID = "btnSelectSixthAllNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSixthBigNumberID = "btnSelectSixthBigNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSixthSmallNumberID = "btnSelectSixthSmallNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSixthOddNumberID = "btnSelectSixthOddNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSixthEvenNumberID = "btnSelectSixthEvenNumber_zxpt";
ConstData.Purchase.ZXPT.ClearSixthSelectedNumberID = "btnClearSixthSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.SelectSeventhAllNumberID = "btnSelectSeventhAllNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSeventhBigNumberID = "btnSelectSeventhBigNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSeventhSmallNumberID = "btnSelectSeventhSmallNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSeventhOddNumberID = "btnSelectSeventhOddNumber_zxpt";
ConstData.Purchase.ZXPT.SelectSeventhEvenNumberID = "btnSelectSeventhEvenNumber_zxpt";
ConstData.Purchase.ZXPT.ClearSeventhSelectedNumberID = "btnClearSeventhSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.SelectedFrontNumberCountID = "SelectedFrontNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedBackNumberCountID = "SelectedBackNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedTenThousandsNumberCountID = "SelectedTenThousandsNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedThousandsNumberCountID = "SelectedThousandsNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedHundredsNumberCountID = "SelectedHundredsNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedTensNumberCountID = "SelectedTensNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedSingleNumberCountID = "SelectedSingleNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedSixthNumberCountID = "SelectedSixthNumberCount_zxpt";
ConstData.Purchase.ZXPT.SelectedSeventhNumberCountID = "SelectedSeventhNumberCount_zxpt";
ConstData.Purchase.ZXPT.CurrentQuantityID = "CurrentQuantity_zxpt";
ConstData.Purchase.ZXPT.CurrentMoneyID = "CurrentMoney_zxpt";

ConstData.Purchase.ZXPT.RandomBuildFrontNumberID = "btnRandomBuildFrontNumber_zxpt";
ConstData.Purchase.ZXPT.ClearSelectedFrontNumberID = "btnClearSelectedFrontNumber_zxpt";
ConstData.Purchase.ZXPT.RandomBuildFrontNumberCountID = "cmbRandomBuildFrontNumberCount_zxpt";
ConstData.Purchase.ZXPT.RandomBuildBackNumberID = "btnRandomBuildBackNumber_zxpt";
ConstData.Purchase.ZXPT.ClearSelectedBackNumberID = "btnClearSelectedBackNumber_zxpt";
ConstData.Purchase.ZXPT.RandomBuildBackNumberCountID = "cmbRandomBuildBackNumberCount_zxpt";
ConstData.Purchase.ZXPT.RandomBuildNumberID = "btnRandomBuildNumber_zxpt";
ConstData.Purchase.ZXPT.RandomBuildCountID = "cmbRandomBuildCount_zxpt";
ConstData.Purchase.ZXPT.ClearSelectedNumberID = "btnClearSelectedNumber_zxpt";

ConstData.Purchase.ZXPT.AddToNumberListID = "btnAddToNumberList_zxpt";

/**************************************************直选-胆拖**************************************************/

ConstData.Purchase.ZXDT = {};

ConstData.Purchase.ZXDT.FrontBraveryYardAreaID = "divFrontBraveryYardArea_zxdt";
ConstData.Purchase.ZXDT.FrontBraveryYardSelector = "#" + ConstData.Purchase.ZXDT.FrontBraveryYardAreaID + " b";

ConstData.Purchase.ZXDT.ClearSelectedFrontBraveryYardID = "btnClearSelectedFrontBraveryYard_zxdt";

ConstData.Purchase.ZXDT.FrontDragYardAreaID = "divFrontDragYardArea_zxdt";
ConstData.Purchase.ZXDT.FrontDragYardSelector = "#" + ConstData.Purchase.ZXDT.FrontDragYardAreaID + " b";

ConstData.Purchase.ZXDT.RandomBuildFrontDragYardID = "btnRandomBuildFrontDragYard_zxdt";
ConstData.Purchase.ZXDT.ClearSelectedFrontDragYardID = "btnClearSelectedFrontDragYard_zxdt";
ConstData.Purchase.ZXDT.RandomBuildFrontDragYardCountID = "cmbRandomBuildFrontDragYardCount_zxdt";

ConstData.Purchase.ZXDT.BackBraveryYardAreaID = "divBackBraveryYardArea_zxdt";
ConstData.Purchase.ZXDT.BackBraveryYardSelector = "#" + ConstData.Purchase.ZXDT.BackBraveryYardAreaID + " b";

ConstData.Purchase.ZXDT.ClearSelectedBackBraveryYardID = "btnClearSelectedBackBraveryYard_zxdt";

ConstData.Purchase.ZXDT.BackDragYardAreaID = "divBackDragYardArea_zxdt";
ConstData.Purchase.ZXDT.BackDragYardSelector = "#" + ConstData.Purchase.ZXDT.BackDragYardAreaID + " b";

ConstData.Purchase.ZXDT.RandomBuildBackDragYardID = "btnRandomBuildBackDragYard_zxdt";
ConstData.Purchase.ZXDT.ClearSelectedBackDragYardID = "btnClearSelectedBackDragYard_zxdt";
ConstData.Purchase.ZXDT.RandomBuildBackDragYardCountID = "cmbRandomBuildBackDragYardCount_zxdt";

ConstData.Purchase.ZXDT.ClearSelectedYardID = "btnClearSelectedYard_zxdt";

ConstData.Purchase.ZXDT.SelectedFrontBraveryYardCountID = "SelectedFrontBraveryYardCount_zxdt";
ConstData.Purchase.ZXDT.SelectedFrontDragYardCountID = "SelectedFrontDragYardCount_zxdt";
ConstData.Purchase.ZXDT.SelectedBackBraveryYardCountID = "SelectedBackBraveryYardCount_zxdt";
ConstData.Purchase.ZXDT.SelectedBackDragYardCountID = "SelectedBackDragYardCount_zxdt";
ConstData.Purchase.ZXDT.CurrentQuantityID = "CurrentQuantity_zxdt";
ConstData.Purchase.ZXDT.CurrentMoneyID = "CurrentMoney_zxdt";

ConstData.Purchase.ZXDT.AddToNumberListID = "btnAddToNumberList_zxdt";

/**************************************************直选-和值**************************************************/

ConstData.Purchase.ZXHZ = {};

ConstData.Purchase.ZXHZ.TotalValueAreaID = "divTotalValueArea_zxhz";

ConstData.Purchase.ZXHZ.TotalValueSelector = "#" + ConstData.Purchase.ZXHZ.TotalValueAreaID + " b";

ConstData.Purchase.ZXHZ.CurrentQuantityID = "CurrentQuantity_zxhz";
ConstData.Purchase.ZXHZ.CurrentMoneyID = "CurrentMoney_zxhz";

ConstData.Purchase.ZXHZ.ClearSelectedTotalValueID = "btnClearSelectedTotalValue_zxhz";

ConstData.Purchase.ZXHZ.AddToNumberListID = "btnAddToNumberList_zxhz";

/**************************************************直选-文本**************************************************/

ConstData.Purchase.ZXWB = {};

ConstData.Purchase.ZXWB.InputID = ConstData.Purchase.MajorChoiceWay.ZX + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.TextBetWay.Input;
ConstData.Purchase.ZXWB.UploadID = ConstData.Purchase.MajorChoiceWay.ZX + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.TextBetWay.Upload;

ConstData.Purchase.ZXWB.ViewTextSampleID = "ViewStandardTextFormat_zxwb";

ConstData.Purchase.ZXWB.NumberID = "txtNumber";
ConstData.Purchase.ZXWB.Number1ID = "txtNumber1_zxwb";
ConstData.Purchase.ZXWB.Number2ID = "txtNumber2_zxwb";
ConstData.Purchase.ZXWB.Number3ID = "txtNumber3_zxwb";
ConstData.Purchase.ZXWB.Number4ID = "txtNumber4_zxwb";
ConstData.Purchase.ZXWB.Number5ID = "txtNumber5_zxwb";
ConstData.Purchase.ZXWB.Number6ID = "txtNumber6_zxwb";
ConstData.Purchase.ZXWB.Number7ID = "txtNumber7_zxwb";

ConstData.Purchase.ZXWB.ClearInputedNumberID = "btnClearInputedNumber_zxwb";
ConstData.Purchase.ZXWB.AddToNumberListID = "btnAddToNumberList_zxwb";

ConstData.Purchase.ZXWB.Browse = "浏览";
ConstData.Purchase.ZXWB.BrowseID = ConstData.Purchase.MajorChoiceWay.ZX + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Browse;
ConstData.Purchase.ZXWB.BrowseName = "upload";

ConstData.Purchase.ZXWB.Multiple = "倍数";
ConstData.Purchase.ZXWB.MultipleID = ConstData.Purchase.MajorChoiceWay.ZX + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Multiple;
ConstData.Purchase.ZXWB.Quantity = "注数";
ConstData.Purchase.ZXWB.QuantityID = ConstData.Purchase.MajorChoiceWay.ZX + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Quantity;
ConstData.Purchase.ZXWB.MoneyID = "money_zxwb";

/**************************************************组三-普通**************************************************/

ConstData.Purchase.ZSPT = {};

ConstData.Purchase.ZSPT.NumberAreaID = "divNumberArea_zspt";

ConstData.Purchase.ZSPT.NumberSelector = "#" + ConstData.Purchase.ZSPT.NumberAreaID + " b";

ConstData.Purchase.ZSPT.CurrentQuantityID = "CurrentQuantity_zspt";
ConstData.Purchase.ZSPT.CurrentMoneyID = "CurrentMoney_zspt";

ConstData.Purchase.ZSPT.RandomBuildNumberID = "btnRandomBuildNumber_zspt";
ConstData.Purchase.ZSPT.RandomBuildCountID = "cmbRandomBuildCount_zspt";
ConstData.Purchase.ZSPT.ClearSelectedNumberID = "btnClearSelectedNumber_zspt";

ConstData.Purchase.ZSPT.AddToNumberListID = "btnAddToNumberList_zspt";

/**************************************************组三-和值**************************************************/

ConstData.Purchase.ZSHZ = {};

ConstData.Purchase.ZSHZ.TotalValueAreaID = "divTotalNumberArea_zshz";

ConstData.Purchase.ZSHZ.TotalValueSelector = "#" + ConstData.Purchase.ZSHZ.TotalValueAreaID + " b";

ConstData.Purchase.ZSHZ.CurrentQuantityID = "CurrentQuantity_zshz";
ConstData.Purchase.ZSHZ.CurrentMoneyID = "CurrentMoney_zshz";

ConstData.Purchase.ZSHZ.ClearSelectedTotalValueID = "btnClearSelectedTotalValue_zshz";

ConstData.Purchase.ZSHZ.AddToNumberListID = "btnAddToNumberList_zshz";

/**************************************************组三-文本**************************************************/

ConstData.Purchase.ZSWB = {};

ConstData.Purchase.ZSWB.InputID = ConstData.Purchase.MajorChoiceWay.ZS + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.TextBetWay.Input;
ConstData.Purchase.ZSWB.UploadID = ConstData.Purchase.MajorChoiceWay.ZS + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.TextBetWay.Upload;

ConstData.Purchase.ZSWB.ViewTextSampleID = "ViewStandardTextFormat_zswb";

ConstData.Purchase.ZSWB.Number1ID = "txtNumber1_zswb";
ConstData.Purchase.ZSWB.Number2ID = "txtNumber2_zswb";

ConstData.Purchase.ZSWB.ClearInputedNumberID = "btnClearInputedNumber_zswb";
ConstData.Purchase.ZSWB.AddToNumberListID = "btnAddToNumberList_zswb";

ConstData.Purchase.ZSWB.BrowseID = ConstData.Purchase.MajorChoiceWay.ZS + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Browse;

ConstData.Purchase.ZSWB.MultipleID = ConstData.Purchase.MajorChoiceWay.ZS + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Multiple;
ConstData.Purchase.ZSWB.QuantityID = ConstData.Purchase.MajorChoiceWay.ZS + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Quantity;
ConstData.Purchase.ZSWB.MoneyID = "money_zswb";

/**************************************************组六-普通**************************************************/

ConstData.Purchase.ZLPT = {};

ConstData.Purchase.ZLPT.NumberAreaID = "divNumberArea_zlpt";

ConstData.Purchase.ZLPT.NumberSelector = "#" + ConstData.Purchase.ZLPT.NumberAreaID + " b";

ConstData.Purchase.ZLPT.CurrentQuantityID = "CurrentQuantity_zlpt";
ConstData.Purchase.ZLPT.CurrentMoneyID = "CurrentMoney_zlpt";

ConstData.Purchase.ZLPT.RandomBuildNumberID = "btnRandomBuildNumber_zlpt";
ConstData.Purchase.ZLPT.RandomBuildCountID = "cmbRandomBuildCount_zlpt";
ConstData.Purchase.ZLPT.ClearSelectedNumberID = "btnClearSelectedNumber_zlpt";

ConstData.Purchase.ZLPT.AddToNumberListID = "btnAddToNumberList_zlpt";

/**************************************************组六-和值**************************************************/

ConstData.Purchase.ZLHZ = {};

ConstData.Purchase.ZLHZ.TotalValueAreaID = "divTotalNumberArea_zlhz";

ConstData.Purchase.ZLHZ.TotalValueSelector = "#" + ConstData.Purchase.ZLHZ.TotalValueAreaID + " b";

ConstData.Purchase.ZLHZ.CurrentQuantityID = "CurrentQuantity_zlhz";
ConstData.Purchase.ZLHZ.CurrentMoneyID = "CurrentMoney_zlhz";

ConstData.Purchase.ZLHZ.ClearSelectedTotalValueID = "btnClearSelectedTotalValue_zlhz";

ConstData.Purchase.ZLHZ.AddToNumberListID = "btnAddToNumberList_zlhz";

/**************************************************组六-文本**************************************************/

ConstData.Purchase.ZLWB = {};

ConstData.Purchase.ZLWB.InputID = ConstData.Purchase.MajorChoiceWay.ZL + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.TextBetWay.Input;
ConstData.Purchase.ZLWB.UploadID = ConstData.Purchase.MajorChoiceWay.ZL + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.TextBetWay.Upload;

ConstData.Purchase.ZLWB.ViewTextSampleID = "ViewStandardTextFormat_zlwb";

ConstData.Purchase.ZLWB.Number1ID = "txtNumber1_zlwb";
ConstData.Purchase.ZLWB.Number2ID = "txtNumber2_zlwb";
ConstData.Purchase.ZLWB.Number3ID = "txtNumber3_zlwb";

ConstData.Purchase.ZLWB.ClearInputedNumberID = "btnClearInputedNumber_zlwb";
ConstData.Purchase.ZLWB.AddToNumberListID = "btnAddToNumberList_zlwb";

ConstData.Purchase.ZLWB.BrowseID = ConstData.Purchase.MajorChoiceWay.ZL + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Browse;

ConstData.Purchase.ZLWB.MultipleID = ConstData.Purchase.MajorChoiceWay.ZL + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Multiple;
ConstData.Purchase.ZLWB.QuantityID = ConstData.Purchase.MajorChoiceWay.ZL + ConstData.Purchase.MinorChoiceWay.WB + ConstData.Purchase.ZXWB.Quantity;
ConstData.Purchase.ZLWB.MoneyID = "money_zlwb";

/************************************************************************************************************/

ConstData.Purchase.MajorChoiceWaySelector = "#zxhfs li";
ConstData.Purchase.MinorChoiceWaySelector = "#cxhfs li";
ConstData.Purchase.PurchaseWaySelector = "#gmfs input";

ConstData.Purchase.ZXPTID = "_zxpt";
ConstData.Purchase.ZXDTID = "_zxdt";
ConstData.Purchase.ZXHZID = "_zxhz";
ConstData.Purchase.ZXWBID = "_zxwb";
ConstData.Purchase.ZSPTID = "_zspt";
ConstData.Purchase.ZSHZID = "_zshz";
ConstData.Purchase.ZSWBID = "_zswb";
ConstData.Purchase.ZLPTID = "_zlpt";
ConstData.Purchase.ZLHZID = "_zlhz";
ConstData.Purchase.ZLWBID = "_zlwb";
ConstData.Purchase.QYPTID = "_qypt";
ConstData.Purchase.QEPTID = "_qept";
ConstData.Purchase.HYPTID = "_hypt";
ConstData.Purchase.HEPTID = "_hept";
ConstData.Purchase.RXPTID = "_rx";

//「号码区域」编号
ConstData.Purchase.NumberAreaID = "na";
//「全」编号
ConstData.Purchase.SelectAllNumberID = "san";
//「大」编号
ConstData.Purchase.SelectBigNumberID = "sbn";
//「小」编号
ConstData.Purchase.SelectSmallNumberID = "ssn";
//「奇」编号
ConstData.Purchase.SelectOddNumberID = "son";
//「偶」编号
ConstData.Purchase.SelectEvenNumberID = "sen";
//「清」编号
ConstData.Purchase.ClearSelectedNumberID = "csn";
//「已选号码数量」编号
ConstData.Purchase.SelectedNumberCountID = "snc";
//「当前注数」编号
ConstData.Purchase.CurrentQuantityID = "cq";
//「当前金额」编号
ConstData.Purchase.CurrentMoneyID = "cm";
//「机选」编号
ConstData.Purchase.RandomBuildNumberID = "rbn";
//「定胆机选」编号
ConstData.Purchase.RandomBuildNumber2ID = "rbn2";
//「机选数量」编号
ConstData.Purchase.RandomBuildCountID = "rbc";
//「添加到号码列表」
ConstData.Purchase.AddToNumberListID = "atnl";

//彩票类型
ConstData.Purchase.LotteryType = {};
ConstData.Purchase.LotteryType.SSQ = "0";
ConstData.Purchase.LotteryType.QLC = "1";
ConstData.Purchase.LotteryType.SD = "2";
ConstData.Purchase.LotteryType.PLS = "3";
ConstData.Purchase.LotteryType.PLW = "4";
ConstData.Purchase.LotteryType.DLT = "5";
ConstData.Purchase.LotteryType.QXC = "6";
ConstData.Purchase.LotteryType.SSL = "7";
ConstData.Purchase.LotteryType.JLC = "8";

//号码类型
ConstData.Purchase.NumberType = {};
ConstData.Purchase.NumberType.ZXDS = "0:1";
ConstData.Purchase.NumberType.ZXFS = "0:2";
ConstData.Purchase.NumberType.ZSDS = "1:1";
ConstData.Purchase.NumberType.ZLDS = "2:1";
ConstData.Purchase.NumberType.QYDS = "3:1";
ConstData.Purchase.NumberType.QYFS = "3:2";
ConstData.Purchase.NumberType.QEDS = "4:1";
ConstData.Purchase.NumberType.QEFS = "4:2";
ConstData.Purchase.NumberType.HYDS = "5:1";
ConstData.Purchase.NumberType.HYFS = "5:2";
ConstData.Purchase.NumberType.HEDS = "6:1";
ConstData.Purchase.NumberType.HEFS = "6:2";

ConstData.Purchase.NumberType.Single = 1;
ConstData.Purchase.NumberType.Double = 2;
ConstData.Purchase.MajorChoiceWay.RX1 = 7;
ConstData.Purchase.MajorChoiceWay.RX2 = 8;
ConstData.Purchase.MajorChoiceWay.RX3 = 9;
ConstData.Purchase.MajorChoiceWay.RX4 = 10;
ConstData.Purchase.MajorChoiceWay.RX5 = 11;
ConstData.Purchase.MajorChoiceWay.RX6 = 12;
ConstData.Purchase.MajorChoiceWay.RX7 = 13;
ConstData.Purchase.MajorChoiceWay.RX8 = 14;
ConstData.Purchase.MajorChoiceWay.RX9 = 15;
ConstData.Purchase.MajorChoiceWay.RX10 = 16;

//最大号码
ConstData.Purchase.MaxNumber = {};
ConstData.Purchase.MaxNumber.DLT1 = 35;
ConstData.Purchase.MaxNumber.DLT2 = 12;
ConstData.Purchase.MaxNumber.PLS = 9;
ConstData.Purchase.MaxNumber.PLW = 9;
ConstData.Purchase.MaxNumber.SSQ1 = 33;
ConstData.Purchase.MaxNumber.SSQ2 = 16;
ConstData.Purchase.MaxNumber.SD = 9;
ConstData.Purchase.MaxNumber.QLC = 30;
ConstData.Purchase.MaxNumber.QXC = 9;
ConstData.Purchase.MaxNumber.SSL = 9;

//最小号码
ConstData.Purchase.MinNumber = {};
ConstData.Purchase.MinNumber.SSQ = 1;
ConstData.Purchase.MinNumber.SD = 0;
ConstData.Purchase.MinNumber.QLC = 1;
ConstData.Purchase.MinNumber.DLT = 1;
ConstData.Purchase.MinNumber.PLS = 0;
ConstData.Purchase.MinNumber.PLW = 0;
ConstData.Purchase.MinNumber.QXC = 0;
ConstData.Purchase.MinNumber.SSL = 0;

/************************************************************************************************************/

$(document).ready(function ()
{
    //添加样式
    $("#" + ConstData.Purchase.ClearNumberListID).css("cursor", "pointer");
    $("#" + ConstData.Purchase.ChasePurchaseRuleID).css("cursor", "pointer");
    $("#" + ConstData.Purchase.ProtocolID).css("cursor", "pointer");
    $("#" + ConstData.Purchase.PurchaseID).css("cursor", "pointer");

    //屏蔽合买
    $("#" + ConstData.Purchase.PurchaseWay.GroupPurchase).hide()
    $("#" + ConstData.Purchase.PurchaseWay.GroupPurchase + " ~ span").eq(0).hide()
    if (window.account && (account.toUpperCase() == "YOU7347" || account.toUpperCase() == "SHANGHAIZONRONG1" ||
        account.toUpperCase() == "SHANGHAIZONRONG2" || account.toUpperCase() == "SHANGHAIZONRONG3"))
    {
        $("#参与合买").show();
        $("#" + ConstData.Purchase.PurchaseWay.GroupPurchase).show();
        $("#" + ConstData.Purchase.PurchaseWay.GroupPurchase + " ~ span").eq(0).show();
    }

    $("#" + ConstData.Purchase.PurchaseWay.PersonalPurchase).attr("checked", "checked");

    //注册「倍数」获得焦点事件
    $("#" + ConstData.Purchase.MultipleID).focus(function ()
    {
        $(this).select();
    });

    //注册「倍数」失去焦点事件
    $("#" + ConstData.Purchase.MultipleID).blur(function ()
    {
        var multiple = parseInt($(this).val(), 10);
        if (isNaN(multiple) || multiple < 1)
            multiple = 1;

        if (multiple > ConstData.Purchase.MaxMultiple)
            multiple = ConstData.Purchase.MaxMultiple;

        $(this).val(multiple);

        //为ie9特殊处理
        $("#" + ConstData.Purchase.PurchaseWay.PersonalPurchase).focus();
    });

    //注册「追号规则」点击事件
    $("#" + ConstData.Purchase.ChasePurchaseRuleID).click(function ()
    {
        Dialog.ShowProtocol("追号规则", ConstData.Purchase.ChasePurchaseRule);
    });

    //注册「合买代购协议」点击事件
    $("#" + ConstData.Purchase.ProtocolID).click(function ()
    {
        Dialog.ShowProtocol("用户合买代购协议", ConstData.Purchase.Protocol);
    });
});

/************************************************************************************************************/

//注册号码事件
Purchase.RegisterNumberEvent = function (paraSelector, paraStyleName,
    paraStyle2Name, paraNumbers, paraCallback)
{
    $(paraSelector).each(function ()
    {
        Purchase.RegisterNumberEvent2($(this), paraNumbers, paraStyleName, paraStyle2Name);

        $(this).click(function ()
        {
            var index = GetArrayIndex($(this).text(), paraNumbers);
            if (index < 0)
            {
                paraNumbers.push($(this).text());
                $(this).removeClass(paraStyle2Name).addClass(paraStyleName);
            }
            else
            {
                paraNumbers.splice(index, 1);
                $(this).removeClass(paraStyleName).addClass(paraStyle2Name);
            }

            paraCallback();
        });
    });
}
Purchase.RegisterNumberEvent2 = function (para$Number, paraNumbers,
    paraStyleName, paraStyle2Name)
{
    para$Number.mouseover(function ()
    {
        var index = GetArrayIndex($(this).text(), paraNumbers);
        if (index < 0)
            $(this).addClass(paraStyle2Name);
    });

    para$Number.mouseout(function ()
    {
        var index = GetArrayIndex($(this).text(), paraNumbers);
        if (index < 0)
            $(this).removeClass(paraStyle2Name);
        else
            $(this).removeClass(paraStyle2Name).addClass(paraStyleName);
    });
}

//注册机选按钮点击事件
Purchase.RegisterRandomSelectButtonClickEvent = function (paraButtonID, paraCountID, paraMinNumber,
    paraMaxNumber, paraRemoveNumbers, paraSelector, paraStyleName, paraNumbers, paraCallback)
{
    $("#" + paraButtonID).click(function ()
    {
        var count = $("#" + paraCountID).val();

        var numbers = new Array();

        if (paraRemoveNumbers == null || paraRemoveNumbers.length <= 0)
        {
            numbers = Purchase.RandomBuildNumber(count, paraMinNumber, paraMaxNumber, new Array());
        }
        else
        {
            if (paraMaxNumber - paraRemoveNumbers.length < count)
                count = paraMaxNumber - paraRemoveNumbers.length;
            numbers = Purchase.RandomBuildNumber(count, paraMinNumber, paraMaxNumber, paraRemoveNumbers);
        }

        if (numbers != null)
        {
            if (Purchase.SelectNumber(numbers, paraSelector, paraStyleName))
            {
                //改变了paraNumbers的引用，因此无效
                //paraNumbers = numbers;
                if (paraNumbers.length > 0)
                    paraNumbers.splice(0, paraNumbers.length);
                for (var i = 0; i < numbers.length; i++)
                    paraNumbers.push(numbers[i]);
            }
            else
            {
                if (paraNumbers.length > 0)
                    paraNumbers.splice(0, paraNumbers.length);
                Dialog.ShowErrorMessage(ConstData.Message.InvokeClientMethodError);
            }
            paraCallback();
        }
        else
        {
            Dialog.ShowErrorMessage(ConstData.Message.InvokeClientMethodError);
        }
    });
}

//注册选择按钮点击事件
Purchase.RegisterSelectButtonClickEvent = function (paraButtonID, paraSelector,
    paraFilterRule, paraStyleName, paraNumbers, paraCallback)
{
    $("#" + paraButtonID).click(function ()
    {
        if (Purchase.ClearSelectedNumber(paraSelector, paraStyleName))
        {
            if (paraNumbers.length > 0)
                paraNumbers.splice(0, paraNumbers.length);
        }
        else
        {
            Dialog.ShowErrorMessage(ConstData.Message.InvokeClientMethodError, null);
            return;
        }

        $(paraSelector + paraFilterRule).each(function ()
        {
            paraNumbers.push($(this).text());
            $(this).addClass(paraStyleName);
        });

        paraCallback();
    });
}

//注册清除按钮点击事件
Purchase.RegisterClearButtonClickEvent = function (paraButtonID, paraSelector,
    paraStyleName, paraNumbers, paraCallback)
{
    $("#" + paraButtonID).click(function ()
    {
        if (Purchase.ClearSelectedNumber(paraSelector, paraStyleName))
        {
            if (paraNumbers.length > 0)
                paraNumbers.splice(0, paraNumbers.length);
            paraCallback();
        }
        else
        {
            Dialog.ShowErrorMessage(ConstData.Message.InvokeClientMethodError, null);
        }
    });
}

//注册文本事件
Purchase.RegisterTextEvent = function (paraInputID, paraUploadID, paraViewTextSampleID, paraSpecialNumberID, paraClearInputedNumberID,
    paraQuantityID, paraMultipleID, paraMoneyID, paraLotteryType, paraBrowseID)
{
    //注册「浏览」按键事件
    $("#" + paraBrowseID).keydown(function ()
    {
        return false;
    });

    //注册「文本投注方式」点击事件
    $("#" + paraInputID + ",#" + paraUploadID).click(function ()
    {
        $("#" + paraInputID).removeClass("hover");
        $("#" + paraUploadID).removeClass("hover");
        $(this).addClass("hover");

        $("#div" + paraInputID).css("display", "none");
        $("#div" + paraUploadID).css("display", "none");
        $("#div" + $(this).attr("id")).css("display", "block");
    });

    var $number = $("input[id^=" + ConstData.Purchase.ZXWB.NumberID + "]");
    var max_number1 = -1;
    var max_number2 = -1;
    var min_number = -1;
    var is_format = true;

    switch (paraLotteryType)
    {
        case ConstData.Purchase.LotteryType.DLT:
            max_number1 = ConstData.Purchase.MaxNumber.DLT1;
            max_number2 = ConstData.Purchase.MaxNumber.DLT2;
            min_number = ConstData.Purchase.MinNumber.DLT;
            break;
        case ConstData.Purchase.LotteryType.PLS:
            max_number1 = ConstData.Purchase.MaxNumber.PLS;
            min_number = ConstData.Purchase.MinNumber.PLS;
            is_format = false;
            break;
        case ConstData.Purchase.LotteryType.PLW:
            max_number1 = ConstData.Purchase.MaxNumber.PLW;
            min_number = ConstData.Purchase.MinNumber.PLW;
            is_format = false;
            break;
        case ConstData.Purchase.LotteryType.SSQ:
            max_number1 = ConstData.Purchase.MaxNumber.SSQ1;
            max_number2 = ConstData.Purchase.MaxNumber.SSQ2;
            min_number = ConstData.Purchase.MinNumber.SSQ;
            break;
        case ConstData.Purchase.LotteryType.SD:
            max_number1 = ConstData.Purchase.MaxNumber.SD;
            min_number = ConstData.Purchase.MinNumber.SD;
            is_format = false;
            break;
        case ConstData.Purchase.LotteryType.QLC:
            max_number1 = ConstData.Purchase.MaxNumber.QLC;
            min_number = ConstData.Purchase.MinNumber.QLC;
            break;
        case ConstData.Purchase.LotteryType.QXC:
            max_number1 = ConstData.Purchase.MaxNumber.QXC;
            min_number = ConstData.Purchase.MinNumber.QXC;
            is_format = false;
        default:
            break;
    }

    //注册「查看标准格式样本」点击事件
    $("#" + paraViewTextSampleID).click(function ()
    {
        Purchase.ShowSampleDialog(paraLotteryType);
    });

    //注册「号码」获得焦点事件
    $number.focus(function ()
    {
        $(this).select();
    });

    //注册「号码」失去焦点事件
    $number.blur(function ()
    {
        var max_number = max_number1;
        if (paraSpecialNumberID != null)
        {
            for (var i = 0; i < paraSpecialNumberID.length; i++)
            {
                if (paraSpecialNumberID[i] == $(this).attr("id"))
                    max_number = max_number2;
            }
        }

        var number = parseInt($.trim($(this).val()), 10);
        if (isNaN(number))
            $(this).val("");
        else if (number < min_number)
            $(this).val("");
        else if (number > max_number)
            $(this).val("");
        else
            $(this).val(is_format ? Purchase.FormatNumber(number) : number);
    });

    //注册「清除已输入号码」点击事件
    $("#" + paraClearInputedNumberID).click(function ()
    {
        $("input[id^=" + ConstData.Purchase.ZXWB.NumberID + "]").each(function ()
        {
            $(this).val("");
        });
    });

    //注册「注数、倍数」获得焦点事件
    $("#" + paraQuantityID + ",#" + paraMultipleID).focus(function ()
    {
        $(this).select();
    });

    //注册「注数」失去焦点事件
    $("#" + paraQuantityID).blur(function ()
    {
        var quantity = parseInt($(this).val(), 10);
        if (isNaN(quantity) || quantity < 1)
            quantity = 0;

        if (quantity > ConstData.Purchase.MaxQuantity)
            quantity = ConstData.Purchase.MaxQuantity;

        $(this).val(quantity);

        Purchase.ShowTextMoney(paraMoneyID, $(this).val(), $("#" + paraMultipleID).val());

        //为ie9特殊处理
    });

    //注册「倍数」失去焦点事件
    $("#" + paraMultipleID).blur(function ()
    {
        var multiple = parseInt($(this).val(), 10);
        if (isNaN(multiple) || multiple < 1)
            multiple = 1;

        if (multiple > ConstData.Purchase.MaxMultiple)
            multiple = ConstData.Purchase.MaxMultiple;

        $(this).val(multiple);

        Purchase.ShowTextMoney(paraMoneyID, $("#" + paraQuantityID).val(), $(this).val());

        //为ie9特殊处理
    });
}

//是否为文本上传模式
Purchase.IsTextUploadMode = function (paraCurrentMajorChoiceWay, paraCurrentMinorChoiceWay)
{
    if (paraCurrentMinorChoiceWay == ConstData.Purchase.MinorChoiceWay.WB)
        return $("#" + paraCurrentMajorChoiceWay + paraCurrentMinorChoiceWay + ConstData.Purchase.TextBetWay.Upload).hasClass("hover")
    else
        return false;
}

//切换为文本上传模式
Purchase.CutoverAsTextUploadMode = function (paraCurrentMajorChoiceWay, paraCurrentMinorChoiceWay)
{
    if (Purchase.IsTextUploadMode(paraCurrentMajorChoiceWay, paraCurrentMinorChoiceWay))
    {
        $("#" + ConstData.Purchase.NumberListAreaID).css("display", "none");
        $("#" + ConstData.Purchase.PurchaseWay.ChasePurchase).css("display", "none").removeAttr("checked");
        $("#" + ConstData.Purchase.PurchaseWay.ChasePurchase + " ~ span").eq(0).css("display", "none");
        $("#div" + ConstData.Purchase.PurchaseWay.ChasePurchase).css("display", "none");
        if ($("#" + ConstData.Purchase.PurchaseWay.GroupPurchase).attr("checked") == undefined)
            $("#" + ConstData.Purchase.PurchaseWay.PersonalPurchase).attr("checked", "checked");
        return true;
    }
    else
    {
        $("#" + ConstData.Purchase.NumberListAreaID).css("display", "block");
        $("#" + ConstData.Purchase.PurchaseWay.ChasePurchase).show();
        $("#" + ConstData.Purchase.PurchaseWay.ChasePurchase + " ~ span").eq(0).show();
        //document.getElementById(ConstData.Purchase.PurchaseWay.ChasePurchase).disabled = false;
        return false;
    }
}

//检查文本号码
Purchase.CheckTextNumber = function (paraNumbers, paraRepeat)
{
    if (paraNumbers == null)
        return false;

    for (var i = 0; i < paraNumbers.length; i++)
    {
        if (paraNumbers[i].length < 1)
            return false;

        if (!paraRepeat)
        {
            for (var j = 0; j < paraNumbers.length; j++)
            {
                if (paraNumbers[i] == paraNumbers[j] && i != j)
                    return false;
            }
        }
    }

    return true;
}

//显示文本金额
Purchase.ShowTextMoney = function (paraMoneyID, paraQuantity, paraMultiple)
{
    $("#" + paraMoneyID).text(FormatMoney(paraQuantity * 2 * paraMultiple));
}

//显示样本对话框
Purchase.ShowSampleDialog = function (paraLotteryType)
{
    var close_id = "btnCloseSample";

    var is_format = false;
    var count1 = 0;
    var count2 = 0;
    var color1 = "rgb(255,124,0)";
    var color2 = "blue";
    var min_number = "";
    var max_number = "";
    switch (paraLotteryType)
    {
        case ConstData.Purchase.LotteryType.DLT:
            count1 = 5;
            count2 = 2;
            color1 = "red";
            is_format = true;
            min_number = ConstData.Purchase.MinNumber.DLT;
            max_number = ConstData.Purchase.MaxNumber.DLT;
            break;
        case ConstData.Purchase.LotteryType.PLS:
            count1 = 3;
            min_number = ConstData.Purchase.MinNumber.PLS;
            max_number = ConstData.Purchase.MaxNumber.PLS;
            break;
        case ConstData.Purchase.LotteryType.PLW:
            count1 = 5;
            min_number = ConstData.Purchase.MinNumber.PLW;
            max_number = ConstData.Purchase.MaxNumber.PLW;
            break;
        case ConstData.Purchase.LotteryType.SSQ:
            count1 = 6;
            count2 = 1;
            color1 = "red";
            is_format = true;
            min_number = ConstData.Purchase.MinNumber.SSQ;
            max_number = ConstData.Purchase.MaxNumber.SSQ;
            break;
        case ConstData.Purchase.LotteryType.SD:
            count1 = 3;
            min_number = ConstData.Purchase.MinNumber.SD;
            max_number = ConstData.Purchase.MaxNumber.SD;
            break;
        case ConstData.Purchase.LotteryType.QLC:
            count1 = 7;
            is_format = true;
            min_number = ConstData.Purchase.MinNumber.QLC;
            max_number = ConstData.Purchase.MaxNumber.QLC;
            break;
        case ConstData.Purchase.LotteryType.QXC:
            count1 = 7;
            min_number = ConstData.Purchase.MinNumber.QXC;
            max_number = ConstData.Purchase.MaxNumber.QXC;
        default:
            break;
    }

    var sign1 = "|+";
    var sign2 = ", ";
    var temp_span = "";
    var back_spans = new Array();
    var uls = new Array();

    for (var i = 0; i < sign2.length; i++)
    {
        for (var j = 0; j < count2 * 3; j++)
        {
            if (j % count2 == 0)
                temp_span = "<span style='color:" + color2 + ";'>";
            else
                temp_span += sign2.charAt(i);
            temp_span += is_format ? Purchase.FormatNumber(j + 1) : j + 1;
            if ((j + 1) % count2 == 0)
                back_spans.push(temp_span + "</span>");
        }
    }

    for (var i = 0; i < sign1.length; i++)
    {
        var cnt = 0;
        for (var j = 0; j < sign2.length; j++)
        {
            var span = "";
            var number = min_number;
            for (var k = 0; k < count1 * 3; k++)
            {
                if (k % count1 == 0)
                    temp_span = "<li><span style='color:" + color1 + ";'>";
                else
                    temp_span += sign2.charAt(j);

                temp_span += is_format ? Purchase.FormatNumber(number++) : number++;
                if ((k + 1) % count1 == 0)
                {
                    if (count2 > 0)
                        span += temp_span + "</span>" + sign1.charAt(i) + back_spans[(k + 1) / count1 - 1 + cnt] + "</li>";
                    else
                        span += temp_span + "</span></li>";
                    if (number - 1 + count1 > max_number)
                        number = min_number;
                }
            }
            uls.push("<ul>" + span + "</ul>");
            cnt += 3;
        }

        if (count2 <= 0)
            break;
    }

    var tr = "";
    for (var i = 0; i < uls.length; i++)
    {
        if (tr.length > 0)
            tr += "<tr class='text_sample_separate_tr'><td colspan='3'>&nbsp;</td></tr>"
        tr += "<tr><td class='text_sample_id_td'>第" + (i + 1) + "种</td><td class='text_sample_number_td'>" + uls[i] + "</td></tr>";
    }

    $.dialog(
    {
        closeFn: function ()
        {
            $("#" + close_id).unbind("click");
        },
        content: "<div class = 'text_sample_content_div'>"
                  + "<table class='text_sample_content_table'>"
                  + "<tr style='line-height: 33px;'><td colspan='3'>目前支持以下" + uls.length + "种文本格式：</td></tr>" + tr
                  + "</table>"
                  + "</div>"
                  + "<div class='text_sample_bottom_div'>"
                  + "<button id='" + close_id + "'>我知道了</button>"
                  + "</div>",
        initFn: function ()
        {
            var $dialog = this;
            $("#" + close_id).bind("click", function () { $dialog.close(); });
        },
        lock: true,
        padding: 0,
        title: '标准格式样本'
    });
}

//显示追号注数与金额
Purchase.ShowChasePurchaseQuantityAndMoney = function (paraTotalQuantity)
{
    $("#" + ConstData.Purchase.ChasePurchase.ListID + " input[id^=" + ConstData.Purchase.ChasePurchase.SelectAllIssueID + "][id!=" + ConstData.Purchase.ChasePurchase.SelectAllIssueID + "]").each(function ()
    {
        if ($(this).attr("checked") == "checked")
        {
            var multiple = $(this).parent().parent().children().eq(3).children().first().val();
            var total_money = FormatMoney(paraTotalQuantity * 2 * multiple);
            $(this).parent().parent().children().eq(4).children().first().children().first().text(paraTotalQuantity);
            $(this).parent().parent().children().eq(5).children().first().children().first().text(total_money);
        }
    });
}

//代购
Purchase.PersonalPurchase = function (paraPInfo)
{
    $.ajax(
    {
        url: "/Purchase/PurchaseProcessAction.ashx",
        type: "POST",
        data:
        {
            Issue: paraPInfo.issue,
            IsUploadMode: paraPInfo.isUploadMode,
            LotteryType: paraPInfo.lotteryType,
            Multiple: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.multiple : paraPInfo.multiple,
            Number: paraPInfo.isUploadMode ? null : paraPInfo.numbers,
            NumberMoney: paraPInfo.isUploadMode ? null : paraPInfo.numberMoneys,
            NumberQuantity: paraPInfo.isUploadMode ? null : paraPInfo.numberQuantities,
            NumberType: paraPInfo.isUploadMode ? null : paraPInfo.numberTypes,
            PurchaseWay: ConstData.Purchase.PurchaseWay.PersonalPurchase,
            TotalMoney: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.money : paraPInfo.totalMoney,
            TotalQuantity: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.quantity : paraPInfo.totalQuantity
        },
        success: Purchase.InvokeSuccess,
        error: Purchase.InvokeError
    });
}

//合买
Purchase.GroupPurchase = function (paraPInfo, paraGPInfo)
{
    $.ajax(
    {
        url: "/Purchase/PurchaseProcessAction.ashx",
        type: "POST",
        data:
        {
            Issue: paraPInfo.issue,
            IsUploadMode: paraPInfo.isUploadMode,
            LotteryType: paraPInfo.lotteryType,
            Multiple: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.multiple : paraPInfo.multiple,
            Number: paraPInfo.isUploadMode ? null : paraPInfo.numbers,
            NumberMoney: paraPInfo.isUploadMode ? null : paraPInfo.numberMoneys,
            NumberQuantity: paraPInfo.isUploadMode ? null : paraPInfo.numberQuantities,
            NumberType: paraPInfo.isUploadMode ? null : paraPInfo.numberTypes,
            PurchaseWay: ConstData.Purchase.PurchaseWay.GroupPurchase,
            TotalMoney: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.money : paraPInfo.totalMoney,
            TotalQuantity: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.quantity : paraPInfo.totalQuantity,
            BottomCount: paraGPInfo.isBottom ? paraGPInfo.bottomCount : 0,
            IsJoinGroupPurchase: paraGPInfo.isJoin,
            IsUploadNumber: paraGPInfo.isUploadNumber,
            PerMoney: paraGPInfo.perMoney,
            ProfitShare: paraGPInfo.profitShare,
            PurchaseCount: paraGPInfo.purchaseCount,
            PurchaseMoney: paraGPInfo.purchaseMoney,
            SolutionDescription: paraGPInfo.solutionDescription,
            SolutionID: paraGPInfo.solutionID,
            SolutionTitle: paraGPInfo.solutionTitle,
            TotalCount: paraGPInfo.totalCount,
            ViewPermission: paraGPInfo.viewPermission
        },
        success: Purchase.InvokeSuccess,
        error: Purchase.InvokeError
    });
}

//追买
Purchase.ChasePurchase = function (paraPInfo, paraCPInfo)
{
    var total_money = 0;
    var count = 0;
    var chase_issues = new Array();
    var chase_multiples = new Array();
    var chase_moneys = new Array();
    $("#" + ConstData.Purchase.ChasePurchase.ListID + " input[id^=" + ConstData.Purchase.ChasePurchase.SelectAllIssueID + "][id!=" + ConstData.Purchase.ChasePurchase.SelectAllIssueID + "]").each(function ()
    {
        if ($(this).attr("checked") == "checked")
        {
            count++;

            var multiple = $(this).parent().parent().children().eq(3).children().first().val();
            var money = paraPInfo.totalQuantity * 2 * multiple;

            total_money += money;

            chase_issues.push($(this).parent().parent().children().eq(2).children().first().children().first().text());
            chase_multiples.push(multiple);
            chase_moneys.push(money);
        }
    });

    if (count < 1)
    {
        Dialog.ShowWarnMessage("至少选择1期才能购买", function ()
        {
            Dialog.CloseProcessMessage();
        });
        return;
    }

    for (var i = 0; i < chase_moneys.length; i++)
    {
        if (chase_moneys[i] > ConstData.Purchase.MaxMoney)
        {
            Dialog.ShowWarnMessage("每期投注总金额不能超过<label class='money'>￥" + FormatMoney(ConstData.Purchase.MaxMoney) + "</label>&nbsp;元", function ()
            {
                Dialog.CloseProcessMessage();
            });
            return;
        }
    }
    
    var total_quantity = count * paraPInfo.totalQuantity;

    $.ajax(
    {
        url: "/Purchase/PurchaseProcessAction.ashx",
        type: "POST",
        data:
        {
            Issue: paraPInfo.issue,
            IsUploadMode: paraPInfo.isUploadMode,
            LotteryType: paraPInfo.lotteryType,
            Multiple: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.multiple : paraPInfo.multiple,
            Number: paraPInfo.isUploadMode ? null : paraPInfo.numbers,
            NumberMoney: paraPInfo.isUploadMode ? null : paraPInfo.numberMoneys,
            NumberQuantity: paraPInfo.isUploadMode ? null : paraPInfo.numberQuantities,
            NumberType: paraPInfo.isUploadMode ? null : paraPInfo.numberTypes,
            PurchaseWay: ConstData.Purchase.PurchaseWay.ChasePurchase,
            TotalMoney: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.money : total_money,
            TotalQuantity: paraPInfo.isUploadMode ? paraPInfo.uploadInfo.quantity : total_quantity,
            ChaseIssue: chase_issues,
            ChaseMoney: chase_moneys,
            ChaseMultiple: chase_multiples
        },
        success: Purchase.InvokeSuccess,
        error: Purchase.InvokeError
    });
}

//开始验证
Purchase.BeginCheck = function (paraPurchaseWay, paraPInfo, paraConfiger, paraPrefixID)
{
    if (paraPurchaseWay == ConstData.Purchase.PurchaseWay.GroupPurchase && !paraConfiger.gpInfo.isJoin)
    {
        if (paraConfiger.gpInfo.totalCount < 1)
        {
            Dialog.ShowWarnMessage("总份数必须大于等于1份", function ()
            {
                if (paraConfiger.$TotalCount.length > 0)
                    paraConfiger.$TotalCount.focus();
            });
            return false;
        }
        if (paraConfiger.gpInfo.perMoney < 1)
        {
            Dialog.ShowWarnMessage("每份金额必须大于等于<label class='money'>￥1.00</label>&nbsp;元", function ()
            {
                if (paraConfiger.$TotalCount.length > 0)
                    paraConfiger.$TotalCount.focus();
            });
            return false;
        }
        var total_money = paraPInfo.isUploadMode ? paraPInfo.uploadInfo.money : paraPInfo.totalMoney;
        if (total_money % paraConfiger.gpInfo.totalCount != 0)
        {
            Dialog.ShowWarnMessage("总金额必须被总份数整除", function ()
            {
                if (paraConfiger.$TotalCount.length > 0)
                    paraConfiger.$TotalCount.focus();
            });
            return false;
        }
        if (paraConfiger.gpInfo.purchaseCount < 1)
        {
            Dialog.ShowWarnMessage("认购份数必须大于等于1份", function ()
            {
                if (paraConfiger.$PurchaseCount.length > 0)
                    paraConfiger.$PurchaseCount.focus();
            });
            return false;
        }
        if (paraConfiger.gpInfo.purchaseCount > paraConfiger.gpInfo.totalCount)
        {
            Dialog.ShowWarnMessage("认购份数不能大于总份数", function ()
            {
                if (paraConfiger.$PurchaseCount.length > 0)
                    paraConfiger.$PurchaseCount.focus();
            });
            return false;
        }
        if (paraConfiger.gpInfo.isBottom && (paraConfiger.gpInfo.bottomCount < 1 ||
            paraConfiger.gpInfo.bottomCount / paraConfiger.gpInfo.totalCount * 100 < 10))
        {
            Dialog.ShowWarnMessage("保底份数至少占总份数的<label style='font-family: 微软雅黑;'>10%</label>", function ()
            {
                if (paraConfiger.$BottomCount.length > 0)
                    paraConfiger.$BottomCount.focus();
            });
            return false;
        }
        if (paraConfiger.gpInfo.solutionDescription.length > 200)
        {
            Dialog.ShowWarnMessage("方案描述不能超过200个字符", function ()
            {
                paraConfiger.$SolutionDescription.focus();
                paraConfiger.$SolutionDescription.select();
            });
            return false;
        }
    }

    if ($("#" + ConstData.Purchase.AgreeProtocolID).length > 0)
    {
        if ($("#" + ConstData.Purchase.AgreeProtocolID).attr("checked") != "checked")
        {
            Dialog.ShowConfirmMessage("您是否同意<a id='" + ConstData.Purchase.ProtocolID + "2' style='color:blue;cursor:pointer;'>《用户合买代购协议》</a>?", "同意并购买", "取消", function ()
            {
                $("#" + ConstData.Purchase.AgreeProtocolID).attr("checked", true);
                if (paraPInfo.isUploadMode)
                    Purchase.BeginUpload(paraPurchaseWay, paraPInfo, paraConfiger, paraPrefixID);
                else
                    Purchase.BeginPurchase(paraPurchaseWay, paraPInfo, paraConfiger);
            }, null);
            $("#" + ConstData.Purchase.ProtocolID + "2").click(function () { $("#" + ConstData.Purchase.ProtocolID).trigger("click"); });
            return false;
        }
    }

    return true;
}

//开始购买
Purchase.BeginPurchase = function (paraPurchaseWay, paraPInfo, paraConfiger)
{
    if ($("#" + ConstData.Purchase.PurchaseID).attr("class") != undefined && $("#" + ConstData.Purchase.PurchaseID).attr("class").indexOf("un") == 0)
    {
        Dialog.ShowWarnMessage("第" + paraPInfo.issue + "期投注已截止，请待下期开售", null);
        return;
    }

    if (paraPurchaseWay != ConstData.Purchase.PurchaseWay.GroupPurchase || (paraConfiger.gpInfo.isUploadNumber && !paraConfiger.gpInfo.isJoin))
    {
        if (paraPInfo.totalQuantity <= 0)
        {
            Dialog.ShowWarnMessage("至少选择1注号码才能购买", null);
            return;
        }

        if (paraPInfo.totalMoney > ConstData.Purchase.MaxMoney)
        {
            Dialog.ShowWarnMessage("投注总金额不能超过<label class='money'>￥" + FormatMoney(ConstData.Purchase.MaxMoney) + "</label>&nbsp;元", null);
            return;
        }
    }

    if (!Purchase.BeginCheck(paraPurchaseWay, paraPInfo, paraConfiger))
        return;

    Dialog.ShowProcessMessage("系统正在处理您的订单，请稍候...");

    $.ajax(
    {
        url: "/ValidateIdentityAction.ashx",
        type: "POST",
        success: function (paraReturnCode)
        {
            if (paraReturnCode == "0")
            {
                switch (paraPurchaseWay)
                {
                    case ConstData.Purchase.PurchaseWay.PersonalPurchase:
                        Purchase.PersonalPurchase(paraPInfo);
                        return;
                    case ConstData.Purchase.PurchaseWay.GroupPurchase:
                        Purchase.GroupPurchase(paraPInfo, paraConfiger.gpInfo);
                        return;
                    case ConstData.Purchase.PurchaseWay.ChasePurchase:
                        Purchase.ChasePurchase(paraPInfo, null);
                        return;
                    default:
                        Dialog.ShowWarnMessage(ConstData.Message.GetErrorMessage("-108"),
                            function () { Dialog.CloseProcessMessage(); });
                        return;
                }
            }
            else
            {
                setTimeout(function ()
                {
                    Dialog.Login(function ()
                    {
                        Purchase.BeginPurchase(paraPurchaseWay, paraPInfo, paraConfiger);
                    },
                    function ()
                    {
                        Dialog.CloseProcessMessage();
                    });
                }, 300);
            }
        },
        error: Purchase.InvokeError
    });
}

//开始上传
Purchase.BeginUpload = function (paraPurchaseWay, paraPInfo, paraConfiger, paraPrefixID)
{
    if ($("#" + ConstData.Purchase.PurchaseID).attr("class") != undefined && $("#" + ConstData.Purchase.PurchaseID).attr("class").indexOf("un") == 0)
    {
        Dialog.ShowWarnMessage("第" + paraPInfo.issue + "期投注已截止，请待下期开售", null);
        return;
    }

    if (paraPurchaseWay == ConstData.Purchase.PurchaseWay.GroupPurchase && !paraConfiger.gpInfo.isUploadNumber)
    {
        Purchase.BeginPurchase(paraPurchaseWay, paraPInfo, paraConfiger);
        return;
    }

    if (paraPInfo.uploadInfo.quantity <= 0)
    {
        Dialog.ShowWarnMessage("至少上传1注号码才能购买", function ()
        {
            $("#" + paraPrefixID + ConstData.Purchase.ZXWB.Quantity).focus();
        });
        return;
    }

    if (paraPInfo.uploadInfo.filePath.length < 1)
    {
        Dialog.ShowWarnMessage("未选择要上传的文本文件", null);
        return;
    }

    if (paraPInfo.uploadInfo.GetFileExtension() != "txt")
    {
        Dialog.ShowWarnMessage("只能上传txt格式的文件", null);
        return;
    }

    if (!Purchase.BeginCheck(paraPurchaseWay, paraPInfo, paraConfiger, paraPrefixID))
        return;

    Dialog.ShowProcessMessage("系统正在上传您的文本，请稍候..." +
        "<table style='color:red; line-height: 20px; margin-top: 16px; border-top: 1px solid silver'>" +
        "<tr><td style='padding: 10px 0 0 2px;'>提示：</td></tr>" +
        "<tr><td style='padding: 0 0 0 2px;'>1.如果您上传的文本过大，会在当前页停留一段时间，请耐心等候。</td></tr>" +
        "<tr><td style='padding: 0 0 0 2px;'>2.上传完成后，系统会自动跳转至付款页面，请务手动关闭当前页。</td></tr>" +
        "</table>");

    $.ajax(
    {
        url: "/ValidateIdentityAction.ashx",
        type: "POST",
        success: function (paraReturnCode)
        {
            if (paraReturnCode == "0")
            {
                $.ajaxFileUpload(
                {
                    url: "/Purchase/PurchaseUploadAction.ashx",
                    secureuri: false,
                    fileElementId: (paraPrefixID + ConstData.Purchase.ZXWB.Browse),
                    dataType: 'text',
                    data: { LotteryType: paraPInfo.lotteryType, TotalQuantity: paraPInfo.uploadInfo.quantity },
                    success: function (paraReturnCode)
                    {
                        //兼容Opera
                        //=============================//
                        var index = paraReturnCode.indexOf("</pre>");
                        if (index == -1)
                            paraReturnCode += "</pre>";
                        //=============================//
                        paraReturnCode = $(paraReturnCode).text();
                        if (paraReturnCode == "0")
                        {
                            switch (paraPurchaseWay)
                            {
                                case ConstData.Purchase.PurchaseWay.PersonalPurchase:
                                    Purchase.PersonalPurchase(paraPInfo);
                                    return;
                                case ConstData.Purchase.PurchaseWay.GroupPurchase:
                                    Purchase.GroupPurchase(paraPInfo, paraConfiger.gpInfo);
                                    return;
                                default:
                                    Dialog.ShowWarnMessage(ConstData.Message.GetErrorMessage("-108"),
                            function () { Dialog.CloseProcessMessage(); });
                                    return;
                            }
                        }
                        else
                        {
                            Dialog.ShowWarnMessage(ConstData.Message.GetErrorMessage(paraReturnCode), function ()
                            {
                                Dialog.CloseProcessMessage();
                            });
                        }
                    },
                    error: Purchase.InvokeError
                });
            }
            else
            {
                setTimeout(function ()
                {
                    Dialog.Login(function ()
                    {
                        Purchase.BeginUpload(paraPurchaseWay, paraPInfo, paraConfiger, paraPrefixID);
                    },
                    function ()
                    {
                        Dialog.CloseProcessMessage();
                    });
                }, 300);
            }
        },
        error: Purchase.InvokeError
    });
}

//调用成功
Purchase.InvokeSuccess = function (paraReturnCode)
{
    if (paraReturnCode == "0")
    {
        window.location.href = "/Purchase/Payment.aspx";
    }
    else
    {
        Dialog.ShowWarnMessage(ConstData.Message.GetErrorMessage(paraReturnCode), function ()
        {
            Dialog.CloseProcessMessage();
        });
    }
}

//调用失败
Purchase.InvokeError = function ()
{
    Dialog.ShowErrorMessage(ConstData.Message.InvokeServerMethodError, function ()
    {
        Dialog.CloseProcessMessage();
    });
}

function IsBreak(paraValue, paraMaxValue)
{
    return paraValue > paraMaxValue;
}

//更新彩票信息
Purchase.UpdateLotteryInfo = function (paraLotteryType, paraCountDowner, paraPurchaseInfo)
{
    $.ajax(
    {
        url: "/Purchase/QueryLotteryInfo.ashx",
        type: "POST",
        dataType: "json",
        data: { LotteryType: paraLotteryType },
        success: function (json)
        {
            if (json.ReturnCode == 0)
            {
                if (paraPurchaseInfo != null)
                    paraPurchaseInfo.issue = json.Issue;
                paraCountDowner.Init(json.LeftDays, json.LeftHours, json.LeftMinutes, json.LeftSeconds);
                paraCountDowner.Start();
                Purchase.UpdatePrizeNumber(json.Number);
                $("#" + ConstData.Purchase.IssueID).text(json.Issue);
                $("#" + ConstData.Purchase.StateID).text(json.IsEnd ? ConstData.Purchase.StateText2 : ConstData.Purchase.StateText1);
                if (paraPurchaseInfo.purchaseWay == ConstData.Purchase.PurchaseWay.GroupPurchase)
                    $("#" + ConstData.Purchase.PurchaseID).removeClass().addClass(json.IsEnd ? ConstData.Purchase.LJGMButtonStyle2 : ConstData.Purchase.LJGMButtonStyle1);
                else
                    $("#" + ConstData.Purchase.PurchaseID).removeClass().addClass(json.IsEnd ? ConstData.Purchase.FQHMButtonStyle2 : ConstData.Purchase.FQHMButtonStyle1);
            }
        }
    });
}

//更新中奖号码
Purchase.UpdatePrizeNumber = function (paraNumber)
{
    var numbers1 = paraNumber.split(ConstData.Sign.Multiple);
    var numbers2 = new Array();
    var temp_numbers;
    var index = 1;
    for (var i = 0; i < numbers1.length; i++)
    {
        temp_numbers = numbers1[i].split(ConstData.Sign.Single);
        for (var j = 0; j < temp_numbers.length; j++)
            $("#" + ConstData.Purchase.PrizeNumberPrefixID + index++).text(temp_numbers[j]);
    }
}

//更新按钮样式
Purchase.UpdateButtonStyle = function (paraPurchaseWay)
{
    var $purchase = $("#" + ConstData.Purchase.PurchaseID);
    var index = $purchase.attr("class").indexOf("un");
    if (paraPurchaseWay == ConstData.Purchase.PurchaseWay.GroupPurchase)
        $purchase.removeClass().addClass(index == 0 ? ConstData.Purchase.FQHMButtonStyle2 : ConstData.Purchase.FQHMButtonStyle1);
    else
        $purchase.removeClass().addClass(index == 0 ? ConstData.Purchase.LJGMButtonStyle2 : ConstData.Purchase.LJGMButtonStyle1);
}

//倒计时器
function CountDowner(paraDayID, paraHourID, paraMinuteID, paraSecondID)
{
    this.$day = $("#" + paraDayID);
    this.$hour = $("#" + paraHourID);
    this.$minute = $("#" + paraMinuteID);
    this.$second = $("#" + paraSecondID);
    this.day = parseInt(this.$day.text(), 10);
    this.hour = parseInt(this.$hour.text(), 10);
    this.minute = parseInt(this.$minute.text(), 10);
    this.second = parseInt(this.$second.text(), 10);
    this.interval = 1000;
    this.stopEvent;
    this.timer;
    if (typeof CountDowner._initialized == "undefined")
    {
        CountDowner.prototype.Start = function ()
        {
            if (this.second > 0)
                this.second--;
            else
            {
                this.second = 59;
                if (this.minute > 0)
                    this.minute--;
                else
                {
                    this.minute = 59;
                    if (this.hour > 0)
                        this.hour--;
                    else
                    {
                        this.hour = 23;
                        if (this.day > 0)
                            this.day--;
                        else
                        {
                            if (this.timer != null)
                                clearInterval(this.timer);
                            if (this.stopEvent != null)
                                this.stopEvent();
                            return;
                        }
                    }
                }
            }
            this.$day.text(Purchase.FormatNumber(this.day));
            this.$hour.text(Purchase.FormatNumber(this.hour));
            this.$minute.text(Purchase.FormatNumber(this.minute));
            this.$second.text(Purchase.FormatNumber(this.second));
            var $this = this;
            this.timer = setTimeout(function () { $this.Start(); }, this.interval);
        }

        CountDowner.prototype.Init = function (paraDay, paraHour, paraMinute, paraSecond)
        {
            this.day = paraDay;
            this.hour = paraHour;
            this.minute = paraMinute;
            this.second = paraSecond;
            this.$day.text(Purchase.FormatNumber(this.day));
            this.$hour.text(Purchase.FormatNumber(this.hour));
            this.$minute.text(Purchase.FormatNumber(this.minute));
            this.$second.text(Purchase.FormatNumber(this.second));
        }

        CountDowner._initialized = true;
    }
}

/************************************************************************************************************/

//随机生成号码
Purchase.RandomBuildNumber = function (paraCount, paraMinNumber,
    paraMaxNumber, paraExcludedNumbers)
{
    if (paraCount == null || paraMinNumber == null || paraMaxNumber == null || paraExcludedNumbers == null)
        return null;

    if (paraMaxNumber - paraMinNumber + 1 - paraExcludedNumbers.length < paraCount)
        return null;

    if (paraMinNumber > paraMaxNumber)
        return null;

    var numbers = new Array();
    var number;

    while (numbers.length < paraCount)
    {
        number = Math.floor(Math.random() * paraMaxNumber + paraMinNumber);
        if (number > paraMaxNumber)
            number = paraMaxNumber;
        else if (number < paraMinNumber)
            number = paraMinNumber;

        if (GetArrayIndex(number, numbers) < 0 && GetArrayIndex(number, paraExcludedNumbers) < 0)
            numbers.push(number);
    }

    return numbers;
}

//合并号码
Purchase.CombineNumber = function (paraNumbers, paraSign, paraFormat)
{
    if (paraNumbers == null || paraFormat == null)
        return null;

    var number = "";

    for (var i = 0; i < paraNumbers.length; i++)
    {
        var temp_number = parseInt($.trim(paraNumbers[i]), 10);
        if (isNaN(temp_number))
            return null;

        if (number.length > 0 && paraSign != null && $.trim(paraSign).length > 0)
            number += paraSign;

        number += paraFormat ? Purchase.FormatNumber(paraNumbers[i]) : temp_number;
    }

    return number;
}

//格式化号码
Purchase.FormatNumber = function (paraNumber)
{
    if (paraNumber == null)
        return null;

    var number = parseInt($.trim(paraNumber), 10);
    if (isNaN(number))
        return null;

    return number < 10 ? "0" + number : number;
}

//选择号码
Purchase.SelectNumber = function (paraNumbers, paraNumberSelector, paraBallStyleName)
{
    if (paraNumbers == null || paraNumberSelector == null || paraBallStyleName == null)
        return false;

    if ($(paraNumberSelector).length <= 0)
        return false;

    var cnt = 0;

    $(paraNumberSelector).each(function ()
    {
        $(this).removeClass(paraBallStyleName);

        if (GetArrayIndex($(this).text(), paraNumbers) >= 0)
        {
            cnt++;
            $(this).addClass(paraBallStyleName);
        }
    });

    if (cnt != paraNumbers.length)
    {
        $(paraNumberSelector).each(function ()
        {
            $(this).removeClass(paraBallStyleName);
        });
        return false;
    }

    return true;
}

//清除已选号码
Purchase.ClearSelectedNumber = function (paraNumberSelector, paraBallStyleName)
{
    if (paraNumberSelector == null || paraBallStyleName == null)
        return false;

    if ($(paraNumberSelector).length <= 0)
        return false;

    $(paraNumberSelector).each(function ()
    {
        $(this).removeClass(paraBallStyleName);
    });

    return true;
}

//号码列表
function NumberList()
{
    this.itemClickEvent;
    this.itemRemovedEvent;
    this.itemCount = 0;
    this.totalQuantity = 0;
    this.$NumberList = $("#divNumberList");

    if (typeof NumberList._initialized == "undefined")
    {
        NumberList.prototype.Append = function (paraGroupNumberInfos)
        {
            if (paraGroupNumberInfos == null)
                return false;

            if (this.$NumberList.length < 1)
                return false;

            var filter = this.itemCount == 0 ? ":gt(0),:eq(0)" : ":gt(" + (this.itemCount - 1) + ")";

            var appended_number_count = this.itemCount;
            var need_appended_number = "";
            var total_quantity = 0;
            for (var i = 0; i < paraGroupNumberInfos.length; i++)
            {
                need_appended_number += "<tr>" +
                                                                "<th class='number_list_id_th'>" + ++appended_number_count + ".</th>" +
                                                                "<td class='number_list_choiceway_td'>" + paraGroupNumberInfos[i].descriptionText + "</td>" +
                                                                "<td class='number_list_number_td'><div><label style='color: red;'>" + paraGroupNumberInfos[i].numberText + "</label></div></td>" +
                                                                "<td class='number_list_operation_td'><img src='/Images/Purchase/remove_number.jpg' /></td>" +
                                                            "</tr>";
                for (var j = 0; j < paraGroupNumberInfos[i].numberInfos.length; j++)
                    total_quantity += paraGroupNumberInfos[i].numberInfos[j].quantity;
            }
            this.$NumberList.append(need_appended_number);
            this.itemCount = appended_number_count;
            this.totalQuantity += total_quantity;

            var index = 0;
            var $this = this;
            this.$NumberList.find("tr").filter(filter).each(function ()
            {
                var groupNumberInfo = paraGroupNumberInfos[index++];
                $(this).data(ConstData.Purchase.Param.GroupNumberInfo, groupNumberInfo);

                $(this).bind("click", { numberList: $this }, function (param)
                {
                    if (param.data.numberList.itemClickEvent != null)
                        param.data.numberList.itemClickEvent($(this), groupNumberInfo);
                });

                $(this).children().last().children().last().bind("click", { numberList: $this }, function (param)
                {
                    var $tr = $(this).parent().parent();
                    var count = $tr.prevAll().length;
                    $tr.nextAll().each(function () { $(this).children().first().text(++count + "."); });
                    $tr.remove();

                    param.data.numberList.itemCount--;
                    param.data.numberList.totalQuantity--;

                    if (param.data.numberList.itemRemovedEvent != null)
                        param.data.numberList.itemRemovedEvent($(this));
                });
            });

            return true;
        }

        NumberList.prototype.Clear = function ()
        {
            if (this.$NumberList.length < 1)
                return false;

            if (this.$NumberList.find("tr").length < 1)
                return false;

            this.$NumberList.find("tr").detach();
            this.itemCount = 0;
            this.totalQuantity = 0;

            return true;
        }

        NumberList.prototype.GetBindingData = function ()
        {
            if (this.$NumberList.length < 1 || this.$NumberList.find("tr").length < 1)
                return null;

            var number_group_infos = new Array();
            this.$NumberList.find("tr").each(function ()
            {
                number_group_infos.push($(this).data(ConstData.Purchase.Param.GroupNumberInfo));
            });

            return number_group_infos;
        }

        NumberList._initialized = true;
    }
}
