/**
 * Created by fengqiang on 2015/7/14.
 */

/**
 * cookie存储
 * @param c_name
 * @param value
 * @param expiredays
 */
function setCookie(c_name, value) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+360000);
    document.cookie = c_name + "=" + escape(value) +";path=/;domain=.jd.com;max-age=360;expires="+exdate.toGMTString();
}

function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
}

var browser = {
    versions: function () {
        var u = navigator.userAgent;
        return {
            mobile: !!u.match(/AppleWebKit.*Mobile.*/)||u.indexOf('iPad')>-1||u.indexOf('iPhone')>-1, //是否为移动终端
            ios: u.indexOf('iPad')>-1||u.indexOf('iPhone')>-1, //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 //android终端或者uc浏览器
        };
    }()
};

var appInfo = {
    versions: function () {
        var u = navigator.userAgent;
        return {
            isApp: u.indexOf("jdapp") > -1 || u.indexOf("MicroMessenger") > -1 || u.indexOf("JDJR-App") > -1 || u.indexOf("WalletClient") > -1,
            isJDApp: u.indexOf("jdapp") > -1,
            isWebChat: u.indexOf("MicroMessenger") > -1,
            isJDJR: u.indexOf("JDJR-App") > -1,
            isWalletClient: u.indexOf("WalletClient") > -1
        };
    }(),
    devices: function () {
        if (this.versions.isJDApp) {
            return "jdapp";
        }
        if (this.versions.isWebChat) {
            return "weixin";
        }
        if (this.versions.isJDJR) {
            return "jrapp";
        }
        if (this.versions.isWalletClient) {
            return "wyapp";
        }
        return '';
    },
    codes: function () {
        var code;
        if (this.versions.isJDApp) {
            code = 24;
            if (browser.versions.ios) {
                code = 25;
            }
            if (browser.versions.android) {
                code = 26;
            }
        }
        if (this.versions.isWebChat) {
            code = 27;
            if (browser.versions.ios) {
                code = 28;
            }
            if (browser.versions.android) {
                code = 29;
            }
        }
        if (this.versions.isJDJR) {
            code = 36;
            if (browser.versions.ios) {
                code = 37;
            }
            if (browser.versions.android) {
                code = 38;
            }
        }
        if (this.versions.isWalletClient) {
            code = 39;
            if (browser.versions.ios) {
                code = 40;
            }
            if (browser.versions.android) {
                code = 41;
            }
        }
        return code;
    }
};

function initDeviceType() {
    var ordDeviceType = "ordDeviceType"; //来源信息字段
    var ordSystemType = "ordSystemType"; //系统类型
    var ordAppCode = "ordAppCode"; //系统ID 对应Order里面的System属性

    //初始化移动端设备信息
    if (browser.versions.mobile) {
        setCookie(ordDeviceType, "m");
        setCookie(ordAppCode, 6);
    } else {
        setCookie(ordDeviceType, "pc");
        setCookie(ordAppCode, 6);
    }


    //初始化app段设备信息
    if (appInfo.versions.isApp) {
        var appType = appInfo.devices();
        var apptypeCode = appInfo.codes();
        setCookie(ordDeviceType, appType);
        setCookie(ordAppCode, apptypeCode);
    }

    //获取URL中传递的from属性
    var fromInfo = getUrlParam("from");
    if (fromInfo != null && fromInfo != '') {
        if (fromInfo == 'jd') {
            if (browser.versions.mobile) {
                if (browser.versions.android) {
                    setCookie(ordAppCode, 21);
                } else if (browser.versions.ios) {
                    setCookie(ordAppCode, 22);
                } else {
                    setCookie(ordAppCode, 23);
                }
            } else {
                setCookie(ordAppCode, 19);
            }
        }
        if(browser.versions.mobile&&fromInfo=='wyapp'){
            setCookie(ordDeviceType, "wyapp");
            setCookie(ordAppCode, 39);
            if(browser.versions.ios){
                setCookie(ordAppCode, 40);
            }
            if(browser.versions.android){
                setCookie(ordAppCode, 41);
            }
        }
        if(browser.versions.mobile&&fromInfo=='jdapp'){
            setCookie(ordDeviceType, "jdapp");
            setCookie(ordAppCode, 24);
            if(browser.versions.ios){
                setCookie(ordAppCode, 25);
            }
            if(browser.versions.android){
                setCookie(ordAppCode, 26);
            }
        }
        if(fromInfo=="wyapp"&&browser.versions.mobile&&appInfo.versions.isJDApp){
            setCookie(ordDeviceType, "jdapp");
            setCookie(ordAppCode, 24);
            if(browser.versions.ios){
                setCookie(ordAppCode, 25);
            }
            if(browser.versions.android){
                setCookie(ordAppCode, 26);
            }
        }
        if(!appInfo.versions.isApp){
            setCookie(ordDeviceType, fromInfo);
        }
    }

    if (browser.versions.mobile) {
        if (browser.versions.android) {
            setCookie(ordSystemType, "android");
        } else if (browser.versions.ios) {
            setCookie(ordSystemType, "ios");
        } else {
            setCookie(ordSystemType, "other");
        }
    } else {
        setCookie(ordSystemType, "pc");
    }
}