﻿var ix = -1;
var curDiv = null;
function GetObj(objID) {
    return document.getElementById(objID);
}

function GetAttr(obj, name) {
    return obj.getAttribute(name);
}
function SetAttr(obj, name, val) {
    obj.setAttribute(name, val);
}

function GetGuideHtml(indexG) {
    ix = indexG;
    if (indexG == -1) {//-1时不作请求，显示PLMM
        openGuideBuy(indexG);
        return;
    }
    var divID = "guideBuy" + ix;
    if (document.getElementById(divID)) {//已有的div不作请求，直接显示
        openGuideBuy(indexG);
        return;
    }
    if (arguments.length > 1) {
        var needSelectedCount = arguments[1];
        var holderID = arguments[2];
        if (CheckNeedSelectedCount(holderID, needSelectedCount) != true) {
            ShowYesNoDialogBox(false, "您选择的功能不够全面，可能影响推荐产品<br/>是否继续？",
            function() {
                if (window.CurDialogResult == "Yes") {
                    GuidePageAjax.GetHtml(indexG, GetHtml_CallBack)
                }
            }, 80);
            return false;
        }
    }
    GuidePageAjax.GetHtml(indexG, GetHtml_CallBack);
}
function GetHtml_CallBack(res) {
    if (res) {
        if (res.error) {
            alert(res.error);
            return false;
        }
        if (curDiv)
            document.getElementById("divContentG").removeChild(curDiv);
        document.getElementById("divContentG").innerHTML += res.value[1];
        var divID = "guideBuy" + res.value[0];
        curDiv = document.getElementById(divID);
        GuideBuyAlert("产品导购", divID);
        openGuideBuy(res.value[0]);
    }
}
function CheckNeedSelectedCount(holderID, needCount) {
    var holder = document.getElementById(holderID);
    var chkList = holder.getElementsByTagName("input")
    var isValidate = false;
    var count = 0;
    for (var i = 0; i < chkList.length; i++) {
        if (chkList[i].type != "checkbox")
            continue;
        if (chkList[i].checked != true)
            continue;
        count++;
        if (count >= needCount) {
            isValidate = true;
            break;
        }
    }
    return isValidate;
}
////////////GetHtml byName////////////
function GetGuideHtml_byName(nameG) {
    GuidePageAjax.GetHtml_byName(nameG, GetHtmlbyName_CallBack)
}
function GetHtmlbyName_CallBack(res) {
    if (res) {
        if (res.error) {
            alert(res.error);
            return false;
        }
        if (curDiv)
            document.getElementById("divContentG").removeChild(curDiv);
        document.getElementById("divContentG").innerHTML += res.value[1];
        var divID = "guideBuy" + res.value[0];
        curDiv = document.getElementById(divID);
        GuideBuyAlert02("产品导购", divID);
        openGuideBuy(res.value[0]);
    }
}


////////////全选////////////
function CheckAll_SingleCategory(chk, holderID, singleCategory) {
    if (!GetObj(holderID)) {
        return;
    }
    var isChecked = chk.checked;
    var holder = GetObj(holderID);
    var inputs = holder.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type != "checkbox")
            continue;
        if (singleCategory != null) {
            if (GetAttr(inputs[i], "myCategory") != singleCategory)
                continue;
        }
        if (inputs[i].checked == isChecked)
            continue;
        inputs[i].checked = isChecked;
    }
    var sel = false; //0没选中 1选中
    if (chk.checked == true)
        sel = true;
    GuidePageAjax.CheckAllSet(sel, singleCategory, new Array(),new Array(), CheckAll_CallBack);
}
function CheckAll_CallBack(res) {
    if (res) {
        if (res.error) {
            alert(res.error);
            return false;
        }
    }
}


function GetValueArrayByName(name) {
    var nameList = document.getElementsByName(name);
    var codeArr = new Array();
    for (var i = 0; i < nameList.length; i++) {
        if (nameList[i].checked == false)
            continue;
        codeArr[i] = nameList[i].value;
    }
    return codeArr;
}
function GetTitleArrayByName(name) {
    var nameList = document.getElementsByName(name);
    var titleArr = new Array();
    for (var i = 0; i < nameList.length; i++) {
        if (nameList[i].checked == false)
            continue;
        titleArr[i] = GetAttr(nameList[i], "myTitle");
    }
    return titleArr;
}
////////////挨个选////////////
function UserSelected(chk) {
    var sel = false; //0没选中 1选中
    if (chk.checked == true)
        sel = true;
    else {//只要有一个不选中，大类也将处于此状态
        if (GetObj(chk.name + "_ID")) {
            GetObj(chk.name + "_ID").checked = chk.checked;
        }
    }
    var val = chk.value;
    var curSingleCategory = GetAttr(chk, "myCategory");
    var codeArray = new Array();
    var titleArray = new Array();
    if (sel == false) {
        var isCheckAll = GuidePageAjax.IsCategorySelectedAll(curSingleCategory);
        if (isCheckAll.value == "CheckAll")//若大类全选
        {
            codeArray = GetValueArrayByName(chk.name);
            titleArray = GetTitleArrayByName(chk.name);
        }
        else {
            codeArray[0] = chk.value;
            titleArray[0] = GetAttr(chk, "myTitle");
        }
            
        GuidePageAjax.CheckAllSet(sel, curSingleCategory, codeArray,titleArray, CheckAll_CallBack);
    }
    else {
        GuidePageAjax.SetSelect(sel, curSingleCategory, val, UserSelectedCallBack)
    }

}

function UserSelectedCallBack(res) {
    if (res) {
        if (res.error) {
            alert(res.error);
            return false;
        }
    }
}

function UserSelectedWidthTitle(chk) {
    var singleCategory = GetAttr(chk, "myCategory");
    var myTitle = GetAttr(chk, "myTitle");
    var sel = false;
    if (chk.checked == true)
        sel = true;
    GuidePageAjax.SetSelect_WidthTitle(sel, singleCategory, chk.value, myTitle, SingleSelect_CallBack);
}
///复选框 限定数量
function UserSelectedLimit(chk, num) {
    var chkList = document.getElementsByName(chk.name);
    var isOverLimit = false;
    var count = 0;
    for (var i = 0; i < chkList.length; i++) {
        if (chkList[i].checked == true)
            count++;
        if (count > num) {
            isOverLimit = true; //超过限定了
            break;
        }
    }
    if (chk.checked == true && isOverLimit == true) {//超过限定了
        //chk.checked = false;
        //alert("所在行业请不要选择多于3个");
        ShowYesNoDialogBox(false, "您选择的行业数量已超过限制<br/>是否继续？",
         function() {
             if (window.CurDialogResult == "No") {
                 chk.checked = false;
             }
             if (window.CurDialogResult == "Yes") {
                 UserSelectedWidthTitle(chk);
             }
         });
        return;
    }
    else
        UserSelectedWidthTitle(chk); //传入true取消curSingleCategory
}


////////////单选////////////
function SingleSelect(rdo) {
    var singleCategory = GetAttr(rdo, "myCategory");
    var myTitle = GetAttr(rdo, "myTitle");
    var rdoNameList = document.getElementsByName(rdo.name);
    var codeArr = new Array();
    for (var i = 0; i < rdoNameList.length; i++) {
        codeArr[i] = rdoNameList[i].value;
    }
    GuidePageAjax.SingleSelect(singleCategory, codeArr, rdo.value,myTitle, SingleSelect_CallBack);
}

function SingleSelect_CallBack(res) {
    if (res) {
        if (res.error) {
            alert(res.error);
            return false;
        }
    }
}

////////////填空////////////
function UserInput(txtObj, subjectCode) {
    var curSingleCategory = GetAttr(txtObj, "myCategory");
    var title = GetAttr(txtObj, "myTitle");
    //GuidePageAjax.UserInputText(curSingleCategory, subjectCode, title+">"+txtObj.value, UserInputText_CallBack);
    GuidePageAjax.UserInputText(curSingleCategory, subjectCode, txtObj.value, UserInputText_CallBack);
}

function UserInputText_CallBack(res) {
    if (res) {
        if (res.error) {
            alert(res.error);
            return false;
        }
        //alert(res.value);
    }
}
function UserInputUserCount(txtObj, subjectID) {
    if (isNaN(txtObj.value)) {
        //alert("站点数请输入数字");
        //txtObj.select();
        ShowYesNoDialogBox(true, "站点数请输入数字！", function() { txtObj.value = "1"; txtObj.select(); });
        return false;
    }
    UserInput(txtObj, subjectID);
}

////////////检查所有单选////////////
function SingleCheckField(holderID) {//有一个不可以就不通过
    var curCheckName = null;
    var isSelected = true;
    var message = "Success";
    var holder = document.getElementById(holderID);
    var inputs = holder.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type != "radio" && inputs[i].getAttribute("radcheck") != "radcheck")
            continue;
        if (inputs[i].name == curCheckName)
            continue;
        curCheckName = inputs[i].name;
        isSelected = SingleCheck(curCheckName);
        if (isSelected != true) {
            message = inputs[i].getAttribute("msgVal");
            break;
        }
    }
    if (isSelected != true) {
        if (message != "Success") {
            //alert("您尚未选择【" + message + "】");
            ShowYesNoDialogBox(true, "您尚未选择【" + message + "】", null, 30);
            return false;
        }
    }
    return true;
}

////////////检查单选////////////
function SingleCheck(rdoName) {//有一个可以就通过
    var isSelected = false;
    var rdos = document.getElementsByName(rdoName)
    for (var i = 0; i < rdos.length; i++) {
        if (rdos[i].checked == true) {
            isSelected = true;
            break;
        }
    }
    return isSelected;
}
///////////弹出结果前检查  注：由于限定了每页必选8个 现作废//////
//function openGuideBuy_Result(posNum) {
//    (function checkUserSelectedCount() {
//        GuidePageAjax.CheckUserSelectedCount(checkUserSelectedCount_callBack);
//    })();
//    function checkUserSelectedCount_callBack(res) {
//        if (res) {
//            if (res.error) {
//                alert(res.error);
//                return false;
//            }
//            if (res.value == "Success") {
//                openGuideBuy(posNum);
//            }
//            else {
//                alert("您至少需要选择10个功能项");
//                return false;
//            }
//        }
//    }
//}
//结果前检查
function openGuideBuy_Result(posNum) {
//    if (arguments.length > 1) {
//        var needSelectedCount = arguments[1];
//        var holderID = arguments[2];
//        if (CheckNeedSelectedCount(holderID, needSelectedCount) != true) {
//            //alert("请您至少选择" + needSelectedCount + "个功能项！");
//            ShowYesNoDialogBox(false, "您选择的功能不够全面，可能影响推荐产品<br/>是否继续？",
//            function() {
//                if (window.CurDialogResult == "Yes") {
//                    openGuideBuy(posNum);
//                }
//            }, 80);
//            return false;
//        }
//    }
    openGuideBuy(posNum);
}
////////////添加订单////////////
function openGuideBuy_Buy(posNum, softWareName) {
    document.getElementById("spSoftWare").innerHTML = softWareName;
    openGuideBuy(posNum);
}

function AddOrderApply() {
    var SoftWareName = document.getElementById("spSoftWare").innerHTML;
    var CorpName = document.getElementById("txtCorpName");
    var Phone = document.getElementById("txtPhone");
    var Contact = document.getElementById("txtContact");
    var Email = document.getElementById("txtEmail");
    var Address = document.getElementById("txtAddress");
    var PostCode = document.getElementById("txtPostCode");

    function ClearInfo() {
        document.getElementById("spSoftWare").innerHTML = "";
        CorpName.value = "";
        Phone.value = "";
        Contact.value = "";
        Email.value = "";
        Address.value = "";
        PostCode.value = "";
    }

    //检查传过来的变量是否在字符串中
    function CheckString(numchar, sNumber) {
        if (sNumber == "")
            return false;
        var letter;
        for (var i = 0; i < sNumber.length; i++) {
            letter = sNumber.charAt(i);
            if (numchar.indexOf(letter) == -1)
                return false;
        }
        return true;
    }

    function CheckPhone(strPhone) {
        if (!CheckString("0123456789-", strPhone)) {
            return false;
        }
        return true;
    }


    function ValidateOrderInfo() {
        if (Phone.value == "") {
            //alert("请您填写联系电话");
            //Phone.focus();
            ShowYesNoDialogBox(true, "请您填写联系电话", function() {
                Phone.focus();
            }, -50);
            return false;
        }
        if (!CheckPhone(Phone.value)) {
            //alert("请输入正确的手机号码或电话号码\n\n例如:13888888888或021-8888888");
            //Phone.select();
            ShowYesNoDialogBox(true, "请输入正确的手机号码或电话号码<br/>例如:13888888888或021-8888888", function() {
                Phone.select();
            }, 30);
            return false;
        }
        if (Contact.value == "") {
            //alert("请您填写联系人");
            //Contact.select();
            ShowYesNoDialogBox(true, "请您填写联系人！", function() {
                Contact.select();
            }, -50);
            return false;

        }
        if (Email.value != "") {
            var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
            if (!emailReg.test(Email.value)) {
                //alert("Email格式不正确，请您认真填写");
                //Email.select();
                ShowYesNoDialogBox(true, "Email格式不正确，请您认真填写！", function() {
                    Email.select();
                });
                return false;
            }
        }
        return true;
    }

    function AddOrderApply_CallBack(res) {
        if (res) {
            if (res.error) {
                alert(res.error);
                return false;
            }
            if (res.value == "Success") {
                //alert("感谢您的购买申请，我们将尽快与您联系！");
                //closeGuideBuy_Name("OrderBuy");
                //ClearInfo();
                ShowYesNoDialogBox(true, "感谢您的购买申请，我们将尽快与您联系！", function() {
                    closeGuideBuy_Name("OrderBuy");
                    ClearInfo();
                }, 80);
            }
            else {
                ShowYesNoDialogBox(true, "对不起，当前页面无法正确提交申请<br/>请您刷新页面重试！", null, 30);
                //alert("对不起，当前页面无法正确提交申请，请您刷新页面重试！");
            }
        }
    }

    (function() {
        var isTrue = ValidateOrderInfo();
        if (isTrue == true) {
            var arr = new Array();
            arr[0] = SoftWareName;
            arr[1] = CorpName.value;
            arr[2] = Phone.value;
            arr[3] = Contact.value;
            arr[4] = Email.value;
            arr[5] = Address.value;
            arr[6] = PostCode.value;
            GuidePageAjax.AddOrderApply(arr, AddOrderApply_CallBack);
        }
        else
            return false;
    })();
}

function checkSingleSelect(name, iSel, iMax) {
    var i = 0;
    for (i = 0; i < iMax; i++) {
        var strChk = name + i;
        var chk = document.getElementById(strChk);
        if (chk)
            chk.checked = false;
    }
    var ctlSel = document.getElementById(name + iSel);
    ctlSel.checked = true;
}

//function OpenMMTalk() {
//    document.getElementById('OnlineQQLink').click();
//}