﻿/*
=====================================================================
//样式名称：学习卡充值页面的相关操作                                                
//创建时间：2010.3.30                                                
//版权所有：深圳方直科技有限公司                                      
//创 建 者：by                                                        
//说    明：
//　　本脚本针对学习卡充值的相关js操作
=====================================================================         
*/
function GforId(item)
{
   return document.getElementById(item);
}
//登录按钮logintable//errinfo
function showinfo(){
    if(GforId('txtUserName').value==""){
        GforId('errinfo').style.display="block";
        GforId('errinfo').innerHTML="请输入用户名";
    }
    else{
        if(GforId('txtPass').value==""){
            GforId('errinfo').style.display="block";
            GforId('errinfo').innerHTML="请输入密码！";        
        }
        else{            
            GforId('errinfo').style.display="none";
            GforId('regpanel').style.display="none";
            GforId('disable').style.display="none";
            GforId('flowid2').className="cur";
            GforId('flowid1').className="";
            GforId('showico').className=" ";
            GforId('disable').style.display="none";
            GforId('Span1').style.display="block";
        }
    }
}
//登录验证
function valid(){
    if(GforId('txtCardNo').value==""){
      GforId('errpanel').style.display="block";
      GforId('errpanel').innerHTML="请输入学习卡卡号！";
    }
    else{
        if(GforId('txtPass').value==""){
          GforId('errpanel').style.display="block";
          GforId('errpanel').innerHTML="请输入学习卡卡号！";        
        }
        else{
            if(GforId('txtValidCode').value==""){
                GforId('errpanel').style.display="block";
                GforId('errpanel').innerHTML="请输入验证码！";        
            }
            else{
                GforId('errpanel').style.display="none";
                alert('开始跳转');
            }
        }
    }
}
//下一步按钮事件,进入选择课程页面
function selectclass(){
    GforId('c_panel').style.display="none";
    GforId('c_panel1').style.display="block";  
    GforId('flowid3').className="cur";
    GforId('flowid2').className="";  
    GforId('Span1').style.display="block";
}

//下一步按钮事件
function nextclick(){
    GforId('c_panel1').style.display="none";
    GforId('c_panel2').style.display="block"; 
    GforId('flowid3').className="cur";
    GforId('flowid2').className="";   
}
//充值按钮事件
function chongzhi(){
    GforId('c_panel2').style.display="none";
    GforId('c_panel3').style.display="block"; 
    GforId('flowid4').className="cur";
    GforId('flowid3').className="";         
}
//上一步按钮事件
function goback(){
    GforId('c_panel1').style.display="block"; 
    GforId('c_panel2').style.display="none";
    GforId('flowid3').className="cur";
    GforId('flowid2').className="";   
}

var xmlHttp = false;
//验证码
var codes = "";
try 
    {
        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e) 
    {
        try 
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        catch (e2) 
        {
            xmlHttp = false;
        }
    }
    
    if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }

    function GetRand() {
        return parseInt(Math.random() * (9999 - 1000 + 1) + 1000) ; 
    }
 

    //刷新验证码
    function ChangeCodes() {
        var aCode = GforId("codeimg");
        codes = GetRand();
        aCode.src = "../Inc/Codeimg.aspx?code=" + codes;
        
    }
    


    //验证学习卡卡号
    var cardNumValue = "";
    function obCardNum() {
        var cardNumMsg = GforId("divStudyCarNum");
        cardNumValue = GforId("txtStudyCardNum").value;
        if (cardNumValue == "") {
            cardNumMsg.innerHTML = "请输入学习卡卡号";
            return false;
        } if (cardNumValue.length > 20) {
            cardNumMsg.innerHTML = "学习卡卡号长度必须小于20位";
            return false;
        }
        else {
            cardNumMsg.innerHTML = "";
            return true;
        }
    }


    //验证学习卡密码
    var cardPwdValue = "";
    function obCardPwd() {
        var cardPwdMsg = GforId("divStudyCardPwd");
        cardPwdValue = GforId("txtStudyCardPwd").value;
        if (cardPwdValue == "") {
            cardPwdMsg.innerHTML = "请输入学习卡密码";
            return false;
        } if (cardPwdValue.length > 20) {
        cardPwdMsg.innerHTML = "学习卡密码长度必须小于10位";
            return false;
        }
        else {
            cardPwdMsg.innerHTML = "";
            return true;
        }
    }

    //验证验证码
    var codeValue = "";
    function obCode() {
        var codeMsg = GforId("divCode");
        codeValue = GforId("txtCode").value;
        if (codeValue == "") {
            codeMsg.innerHTML = "请输入验证码";
            return false;
        }
        else {
            codeMsg.innerHTML = "";
            return true;
        }
    }
    

    //检查信息
    function checkInfo() {
        //验证学习卡卡号
        if (obCardNum()) 
        {
            //验证学习卡密码
            if (obCardPwd())
             {
                //验证验证码
                if (obCode()) {
                    var nowTxtCode = GforId("txtCode").value;
                    if (nowTxtCode == codes) {
                        return true;
                    }
                    else 
                    {
                        var codeMsg = GforId("divCode");
                        codeMsg.innerHTML = "验证码不正确！";
                        return false; 
                    }
                }
            }
        }
        return false;
    }


    //学习卡充值第一步确定按钮事件
    function SaveStudyCard() {
        if(GforId("txtStudyCardNum").disabled)
        {
           return;
        }
        
        if (checkInfo()) {
            SetTxtReadonlyRead();
            //去确认卡号的正确性。
            cardNumValue = GforId("txtStudyCardNum").value;
            cardPwdValue = GforId("txtStudyCardPwd").value;
            CheckThisCard(cardNumValue, cardPwdValue);
            ChangeCodes();//刷新一次验证码
        }
       
    }
    
    //设置文本框状态为可读
    function SetTxtReadonlyRead() {
        GforId("divSave").style.display = "none";
        GforId("divLoad").style.display = "";
        setinputReadonly();
    }
    function setinputReadonly()
    {
        GforId("txtStudyCardNum").readOnly = true;
        GforId("txtStudyCardPwd").readOnly = true;
        GforId("txtCode").readOnly = true;
    }
    function setinputWrite()
    {
        GforId("txtStudyCardNum").readOnly = false;
        GforId("txtStudyCardPwd").readOnly = false;
        GforId("txtCode").readOnly = false;
    }    

    //设置文本框状态为可写
    function SetTxtReadonlyWrite() {

        GforId("divSave").style.display = "";
        GforId("divLoad").style.display = "none";
        setinputWrite();
    }
    

    //验证学习卡信息正确性
    function CheckThisCard(cardsn, pwd) {
        if (cardsn == "" || pwd == "")
            return;
        thiscardsn = cardsn;
        var now = new Date();
        var clientValiUrl="http://" + window.location.host+ "/StudyCard/AjaxCheckCard.aspx";
        var url = clientValiUrl + "?cardsn=" + decodeURIComponent(cardsn) + "&pwd=" + decodeURIComponent(pwd) + "&type=" + now.toLocaleString();
        xmlHttp.open("GET", url, true);

        xmlHttp.onreadystatechange = cardcallBack_Reluse;

        xmlHttp.send(null);

    }

    //验证学习卡信息正确性返回函数
    function cardcallBack_Reluse() {
        if (xmlHttp.readyState == 4)
         {
             var cardResult = xmlHttp.responseText;
             if (cardResult != "")
              {
                 var cardMesg = GforId("divStudyCarNum");
                 if (cardResult == "0") {
                     SetTxtReadonlyWrite();
                     cardMesg.innerHTML = "学习卡已经使用过！"
                     return;
                 }
                 if (cardResult == "1") {
                     SetTxtReadonlyWrite();
                     cardMesg.innerHTML = "学习卡卡号或学习卡密码错误！"
                     return;
                 }
                 if (cardResult == "2") {
                     SetTxtReadonlyWrite();
                     cardMesg.innerHTML = "学习卡已过期！"
                     return;
                 }
                 if (cardResult.indexOf("*") > 0) {
                     var resus = new Array();
                     resus = cardResult.split("*");
                    
                     //2009-1-17 谢路修改
                     GforId('txtprice').value = resus[0];
                     GforId('txtcityid').value = resus[1];
                     GforId('txtcardNum').value = cardNumValue;
                     GforId('txtcardPwd').value = cardPwdValue;
                     if(document.location.pathname.toLowerCase().indexOf("paycard")>0)
                     {
                         //---第2种方式。
                         if(Number(GforId('txtprice').value)==Number(GforId('clsprice').value))
                         {
                            //相等的情况,clientClassID
                            ClassId = GforId('clientClassID').value;
                            AfterChooseBuyClass(ClassId,2);
                         }else
                         {
                             SetTxtReadonlyWrite();
                             cardMesg.innerHTML = "学习卡的价格和课程价格不符！"
                             return;
                         }
                     }
                     else
                     {
                        //第一种方式。
                         GforId('btnRedirct').click();
                     }
                    
                     //修改结束
                     return;
                 }
                 else {
                     GforId('txtprice').value = cardResult;
                     GforId('txtcityid').value = "0";
                     GforId('txtcardNum').value = cardNumValue;
                     GforId('txtcardPwd').value = cardPwdValue;
                     if(document.location.pathname.toLowerCase().indexOf("paycard")>0)
                     {
                         //---第2种方式。
                         if(Number(GforId('txtprice').value)==Number(GforId('clsprice').value))
                         {
                            //相等的情况,clientClassID
                            ClassId = GforId('clientClassID').value;
                            AfterChooseBuyClass(ClassId,2);
                         }else
                         {
                             SetTxtReadonlyWrite();
                             cardMesg.innerHTML = "学习卡的价格和课程价格不符！"
                             return;
                         }
                     }
                     else
                     {
                        //第一种方式。
                         GforId('btnRedirct').click();
                     }
                     return;
                 }
               //--------------end
             }
             
        }
    }

//--------第一步，实现登录。------
/*******登录输入项目检查**************/
var CheckInputInCardPage = function(username, password, codes) {
    if (username.trim() == "") {
        alert("请输入用户名!");
        return false;
    }
    else if (checkLen(username.trim()) > 20) {
        alert("用户名已超过最大长度！");
        return false;
    }
    if (password.trim() == "") {
        alert("请输入密码！");
        return false;
    }
    else if (checkLen(password.trim()) > 20) {
        alert("密码已超过最大长度！");
        return false;
    }
    if (codes.trim() == "") {
        alert("请输入验证码！");
        return false;
    }
    else if (checkLen(codes.trim()) > 4) {
        alert("验证码已超过最大长度！");
        return false;
    }
    return true;
}
/******登录输入项目检查结束*************/

var SubjectListenerLogin = function(type) {
    if (type == "login");
    {
//        var loginpanel = GforId("login");
//        var userinfo = GforId("logined");
//        loginpanel.style.display = "none";
//        userinfo.style.display = "block";
//        var username = GforId("username");
//        if (username != null) {
//            username.innerHTML = username.innerHTML + GetUserName() + "！";
//        }
    }
}

/*********检查输入的字符的长度***********/
function checkLen(str) {
    var x = 0;
    for (i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 128) {
            x = x + 2;
        } else {
            x = x + 1;
        }
    }
    return x;
}
/****************/

/****去空格函数*********/
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
/*****替换字符串在所有相同的字符*********/
String.prototype.ReplaceAll = function(stringToFind, stringToReplace) {
    var result = this;
    var index = result.indexOf(stringToFind);
    while (index != -1) {
        result = result.replace(stringToFind, stringToReplace);
        index = result.indexOf(stringToFind);
    }
    return result;
}
/*******获取Cookies用户名**********/
var GetUserName = function() {
    var userName = new String();
    var strCookie = new String();
    strCookie = decodeURIComponent(document.cookie);
    strTT = "FZSyncValidate=";
    //根据cookies来判断用户是否登录
    if (strCookie.indexOf(strTT) >= 0) {
        var strT1 = new String();
        var strS = new String();
        var arrStr = new Array()
        strT1 = strCookie.substring(strCookie.indexOf(strTT) + strTT.length)
        arrStr = strT1.split("&");
        for (var i = 0; i < arrStr.length; i++) {
            strS = arrStr[i];
            switch (strS.substring(0, strS.indexOf("="))) {
                case "UserName":
                    userName = strS.substring(strS.indexOf("=") + 1);
                    break;
            }
        }
    }
    return userName;
}

//logintable//

/**********系统登录开始*******/
var CheckLoginInCard = function() {
    var nologin = GforId("errinfo");
    var logingnow = GforId("logintable");
    var uumsroot = GforId("uumsRoot").value;
    var _username = GforId("txtUserName").value;
    var _password = GforId("txtPass").value;
    //var _inputCode = GforId("login1_txtCode").value;
    var _inputCode = "1234";
    //输入性判断
    var flag = CheckInputInCardPage(_username, _password, _inputCode);
    var codes = false;
    if (flag) {
            //验证码判断
            //        codes = validate(_inputCode);
            //        if (codes) {
            logingnow.style.display = 'none';
            var nologinHtml = nologin.innerHTML;
            nologin.innerHTML = "<div style=\" background:url(/../themes/image/ajaximage/loading.gif) no-repeat;padding-left:30px;padding-top:10px;\">正在登录</div>";
            var _style = "login";
            var loginstate;
            _cookiesid="FZSyncValidate";
            var _appid ="KS0201";
            var loginstr = document.createElement("script");
            loginstr.setAttribute('type', 'text/javascript');
            
            var logurl = uumsroot + "/SSO/logininterface.aspx?username=" + _username + "&password=" + _password + "&style=" + _style + "&cookieID=" + _cookiesid + "&appID=" + _appid;
            logurl = logurl + "&random=" + Math.random();
            loginstr.setAttribute('src', logurl);
            document.getElementsByTagName("head")[0].appendChild(loginstr);
            if (document.getElementsByTagName("html")) {
                loginstr.onload = loginstr.onreadystatechange = function() {
                    var state = "";
                    if (document.all != undefined) {
                        state = loginstr.readyState;  // firefox里不兼容readyState
                    }
                    if (state == "" || state == "loaded" || state == "interactive" || state == "complete") {
                        if (loginresult.toLowerCase() == "false") {
                            alert("登录失败原因可能是：\n\n" + message.ReplaceAll("<br>", "\n"));
                            //loin.style.display = 'none';
                            logingnow.style.display = '';
                            nologin.style.display = '';
                            nologin.innerHTML = nologinHtml;
                            // window.location.reload();
                        }
                        else if (loginresult.toLowerCase() == "securitykeyerr") {
                            alert("安全检验码出错，请重新登录！");
                            //loin.style.display = 'none';
                            logingnow.style.display = '';
                            nologin.style.display = '';
                            nologin.innerHTML = nologinHtml;
                            //window.location.reload();
                        }
                        else if (loginresult.toLowerCase() == "success") {
                            //loin.style.display = 'block';
                            nologin.style.display = 'none';
                            logingnow.style.display = 'none';
                            //已登录
                            
                            SubjectListenerLogin("login");
                            window.location.reload();
                        }
                    }

                }
//            }

        }
    }
}
Date.prototype.format = function(format) //author: meizz 
{ 
  var o = { 
    "M+" : this.getMonth()+1, //month 
    "d+" : this.getDate(),    //day 
    "h+" : this.getHours(),   //hour 
    "m+" : this.getMinutes(), //minute 
    "s+" : this.getSeconds(), //second 
    "q+" : Math.floor((this.getMonth()+3)/3),  //quarter 
    "S" : this.getMilliseconds() //millisecond 
  } 
  if(/(y+)/.test(format)) format=format.replace(RegExp.$1, 
    (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
  for(var k in o)if(new RegExp("("+ k +")").test(format)) 
    format = format.replace(RegExp.$1, 
      RegExp.$1.length==1 ? o[k] : 
        ("00"+ o[k]).substr((""+ o[k]).length)); 
  return format; 
} 
//验证登陆。
function CheckLoginTimeCard() 
{
    var now = new Date();
    now=now.format("yyyy-MM-dd hh:mm:ss");
    var syncSystem = "http://" + window.location.host;
    var url = syncSystem + "/SynCourse/ajaxendtime.aspx?check=11&start="+ now.toLocaleString();
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = callbacktimeInCard;
    xmlHttp.send(null);
}

function callbacktimeInCard()
{
    if (xmlHttp.readyState == 4) 
    {
        var result = xmlHttp.responseText;    
        if(result=="true")
        {
            CheckLoginInCard();
        }
        else
        {
            alert("登录失败原因可能是：\n\n您的电脑的时间和服务器时间不一致！建议您修改为：" + result + " \n" );
        }
    }
}

function switchuser(id){
	var loginpanel= GforId("login");
	var userinfo=GforId("logined");
	if(id=="1"){
		loginpanel.style.display="none";
		userinfo.style.display = "block";
		var username = GforId("username");
		if (username != null) {
		    username.innerHTML = username.innerHTML + GetUserName() + " !";
		}
	}
	if(id=="2"){
		loginpanel.style.display="block";
		userinfo.style.display="none";
	}
	if(id=="3")
	{
	    var logingnow = GforId("logingnow");
	    logingnow.style.display="none";
	    loginpanel.style.display="none";
		userinfo.style.display = "block";
		var username = GforId("username");
		if (username != null) {
		    username.innerHTML = username.innerHTML + GetUserName() + " !";
		}
	}
	if(id=="4")
	{
	    var logingnow = GforId("logingnow");
	    logingnow.style.display="none";
	    loginpanel.style.display="block";
		userinfo.style.display="none";
	}
}
//-----------------第三步，选择课程


var validity;
var ClassId;

//充值课程
function BuySyncClass(cid, vali) {
    if (cid == "") 
    {
        return;
    }
    setBtnDisPlay(0);
    //SucceedInfo('正在验证，请稍等。', 350, null, null, 0, 0);
    validity = vali;
    ClassId = cid;
    var now = new Date();
    var syncSystem = "http://" + window.location.host;
    var url = syncSystem +"/StudyCard/AjaxAddUserInof.aspx?cid=" + ClassId + "&cnum=" + CardNum + "&cityid=" + jsCityid +"&cpwd="+CardPwd+ "&d=" + now.toLocaleString();
    xmlHttp.open("GET", url, true);

    xmlHttp.onreadystatechange = callBack_Reluse;

    xmlHttp.send(null);
}
function AfterChooseBuyClass(cid,vali)
{
    if (cid == "") 
    {
        return;
    }
    SetTxtReadonlyRead()
    validity = vali;
    ClassId = cid;
    var now = new Date();
    var syncSystem = "http://" + window.location.host;
    CardNum = GforId('txtcardNum').value;
    CardPwd = GforId('txtcardPwd').value; 
    jsCityid = GforId('txtcityid').value;  
    var url = syncSystem +"/StudyCard/AjaxAddUserInof.aspx?cid=" + ClassId + "&cnum=" + CardNum + "&cityid=" + jsCityid +"&cpwd="+CardPwd+ "&d=" + now.toLocaleString();
    xmlHttp.open("GET", url, true);

    xmlHttp.onreadystatechange = AfterChooseCallBack_Reluse;

    xmlHttp.send(null);
}
function AfterChooseCallBack_Reluse() {
    if (xmlHttp.readyState == 2) {
        SetTxtReadonlyRead();
    }
    if (xmlHttp.readyState == 4) 
    {
        var result = xmlHttp.responseText;
        switch (result) {
            case "none":
                SetTxtReadonlyWrite();
                alert('学习卡无效');
                break;
            case "nobuy":
                SetTxtReadonlyWrite();
                alert('您已经购买过该课程，课程过期前不能重复购买！');
                break;
            case "nologin":
                 SetTxtReadonlyWrite();
                 alert('你还没有登录，请先登录！');
                 break;
            case "noclass":
                SetTxtReadonlyWrite();
                alert('没有该课程，请重新选择充值课程！');
                break;
            case "error":
                SetTxtReadonlyWrite();
                alert('课程充值失败，请联系客服人员。');
                break;
            default:
                window.location.href = "CardStep_End-" + ClassId + "-" + result + ".html";
                break;
        }
    }
}


function setBtnDisPlay(v)
{
   //
   GforId("ajaxloading").style.display = "block";
   GforId("c_panel2").style.display = "none";
}
function doCancel()
{
  GforId("ajaxloading").style.display = "none";
   GforId("c_panel2").style.display = "block";
}

function callBack_Reluse() {
    if (xmlHttp.readyState == 2) {
        setBtnDisPlay(0);
        //SucceedInfo('正在为你充值课程，请稍等。', 350, null, null, 0, 0);
    }
    if (xmlHttp.readyState == 4) 
    {
        var result = xmlHttp.responseText;
        switch (result) {
            case "none":
                doCancel(); 
                alert('学习卡无效');
                break;
            case "nobuy":
                doCancel();
                alert('您已经购买过该课程，课程过期前不能重复购买！');
                break;
            case "nologin":
                 doCancel();
                 alert('你还没有登录，请先登录！');
                 break;
            case "noclass":
                doCancel();
                alert('没有该课程，请重新选择充值课程！');
                break;
            case "error":
                doCancel();
                alert('课程充值失败，请联系客服人员。');
                break;
            default:
                window.location.href = "CardStep_End-" + ClassId + "-" + result + ".html";
                break;
        }
    }
}


