let _api_tts = '/api/';

let site_name = window.location.host.split('.').splice(1).join('.');

if (!site_name) {
    site_name = 'c.com'
} else if (site_name == "chuangzuoniu.cn") {
    site_name = "zhipianbang.com";
}
let _api_pluto = '//pluto.' + site_name;
let _api_app = '//app.' + site_name + '/api/gateway';
let _api_sound = '/app/api/gateway';
let mp_code = 'k6aj423t2x3nhyn'; //'ykwbeih3hizg3jw';
let userRegTime = 0; //用户注册时间
let nav_class_status = false;

let Http = {
    //type  类型  ， 是否多选  ，是否获取预览    文件上传类型  avatar头像  pic 图片 video 视频 传undefined 默认为pic 回调
    selectFile: function (type, isMultiple, getPreview, uploadType, callback) {
        $("#_selectFile").remove();
        if (uploadType == "avatar" || uploadType == "pic") {
            // type = "image/*";
        } else if (uploadType == "video") {

        }
        $("body").append("<div style='width: 0px;height:0px;overflow: hidden'>\n" +
            "                   <input id=\"_selectFile\" type=\"file\" " + (isMultiple ? "multiple='multiple'" : "") + (type == undefined ? "" : "accept='" + type + "'") +
            "          </div>");
        uploadType = uploadType ? uploadType : "pic";
        $("#_selectFile").bind("change", function () {
            let files = $(this)[0].files;
            $("#_selectFile").remove();
            let obj = [];
            for (let i = 0; i < files.length; i++) {
                if (uploadType == "video") {
                    if (files[i].size / 1024 / 1024 / 1024 > 3) {
                        cocoMessage.error("视频不能超过3G!", 3000);
                        continue;
                    }
                } else {
                    if (files[i].size / 1024 / 1024 > 10) {
                        cocoMessage.error("图片不能超过10M!", 3000);
                        continue
                    }
                }
                obj.push({
                    file: files[i],
                    img: undefined,
                    uploadType: uploadType
                });
            }
            if (getPreview && window.FileReader) {
                let len = obj.length;
                for (let i = 0; i < len; i++) {
                    let n = new FileReader;
                    let index = i;
                    n.readAsDataURL(obj[i].file), n.onload = function () {
                        len--;
                        obj[index].img = this.result;
                        if (len == 0) {
                            callback(obj);
                        }
                    }
                }
            } else {
                callback(obj);
            }

        });
        $("#_selectFile").click();
    },
    getParams: function () {
        let url = window.document.location.href.toString();
        let u = url.split("?");
        if (typeof (u[1]) == "string") {
            u = u[1].split("&");
            let get = {};
            for (let i in u) {
                let j = u[i].split("=");
                get[j[0]] = j[1];
            }
            return get;
        } else {
            return {};
        }
    },
    sendPlutoHttp: function (params) {
        // url data methed success fail beforeSend complete
        let zpbutd = getCookie("zpbutd");

        if (zpbutd) {
            if (params.data instanceof FormData) {
                params.data.append("token", zpbutd);
            } else if (params.data instanceof Array) {
                params.data.push({
                    name: "token",
                    value: zpbutd
                });
            } else {
                if (params.data == undefined) {
                    params.data = {};
                }
                params.data["token"] = zpbutd;
            }
        }

        var httpsend = {
            url: _api_pluto + params.url,
            cache: false,
            data: params.data,
            type: params.methed ? params.methed : "POST",
            dataType: "json",
            success: function (data) {
                if (data.code == 999 && data.message == "错误的token") {
                    setCookie("zpbutd", "", -1);
                    setCookieDomainLocal("zpbutd", "", -1);
                    base_clear_user_info();
                    location.reload();
                    return;
                }
                if (data.code == -1) {
                    //未登录
                    params.success && params.success(data);
                } else if (data.code == 200) {
                    layer.closeAll("loading");
                    params.success && params.success(data);
                } else {
                    layer.closeAll("loading")
                    params.fail && params.fail(data.message, data);
                    if (params.failTost != false) {
                        layer.msg(data.message);
                    }
                }
            },
            error: function (data, error) {
                if (error == "error" && data.readyState != 0) {
                    layer.closeAll();
                    layer.msg("服务器连接错误!");
                }
                params.fail && params.fail(data);
            },
            beforeSend: params.beforeSend,
            complete: function () {
                layer.closeAll('loading');
                params.complete && params.complete();
            }
        };
        if (params.data instanceof FormData) {
            httpsend.processData = false;
            httpsend.contentType = false;
        }
        $.ajax(httpsend);
    },
    sendAppHttp: function (params) {
        let zpbutd = getCookie("zpbutd");
        let headers = {
            'Content-Type': 'application/json'
        };
        if (zpbutd) {
            headers["token"] = zpbutd;
        }

        let alone = !!params.url;


        let data;


        if (alone) {
            data = [{
                api: params.url,
                data: params.data
            }];
        } else {
            data = params.data;
        }

        var httpsend = {
            url: _api_app,
            headers: headers,
            cache: false,
            data: JSON.stringify({
                data: data
            }),
            type: params.methed ? params.methed : "POST",
            dataType: "json",
            success: function (data) {
                if (alone) {
                    data = data[params.url];
                    if (data.code == 1960 || data.message == "错误的token") {
                        setCookie("zpbutd", "", -1);
                        setCookieDomainLocal("zpbutd", "", -1);
                        base_clear_user_info();
                        location.reload();
                        return;
                    }
                }
                layer.closeAll("loading");
                params.success && params.success(data);
            },
            error: function (data, error) {
                if (error == "error" && data.readyState != 0) {
                    layer.closeAll();
                    layer.msg("服务器连接错误!");
                }
                params.fail && params.fail(data);
            },
            beforeSend: params.beforeSend,
            complete: function () {
                layer.closeAll('loading');
                params.complete && params.complete();
            }
        };
        if (params.data instanceof FormData) {
            httpsend.processData = false;
            httpsend.contentType = false;
        }
        $.ajax(httpsend);
    },
    sendTTSHttp: function (params) {
        let zpbutd = getCookie("zpbutd");

        let headers = {
            'Content-Type': 'application/json',
            ...params.headers
        };
        if (zpbutd) {
            headers["token"] = zpbutd;
        }

        let alone = !!params.url;


        let data;


        if (alone) {
            data = [{
                api: params.url,
                data: params.data
            }];
        } else {
            data = params.data;
        }

        var httpsend = {
            url: _api_tts,
            headers: headers,
            cache: false,
            data: JSON.stringify({
                data: data
            }),
            type: params.methed ? params.methed : "POST",
            // dataType: "json",
            success: function (data) {
                if (alone) {
                    data = data[params.url];
                    if (data.code == 1960 || data.message == "错误的token") {
                        setCookie("zpbutd", "", -1);
                        setCookieDomainLocal("zpbutd", "", -1);
                        base_clear_user_info();
                        location.reload();
                        return;
                    }
                }
                params.success && params.success(data);
            },
            error: function (data, error) {
                if (error == "error" && data.readyState != 0) {
                    layer.closeAll();
                    layer.msg("服务器连接错误!");
                }
                params.fail && params.fail(data);
            },
            beforeSend: params.beforeSend,
            complete: function () {
                params.complete && params.complete();
            }
        };
        $.ajax(httpsend);
    },
    uploadFileHttp: function (params) {
        let zpbutd = getCookie("zpbutd");


        let headers = {
            // 'Content-Type': 'application/json'
        };
        if (zpbutd) {
            headers["token"] = zpbutd;
        }

        let alone = !!params.url;


        let data;


        if (alone) {
            data = [{
                api: params.url,
                data: params.data
            }];
        } else {
            data = params.data;
        }

        let form_data = new FormData();
        form_data.append("data", JSON.stringify(data));
        form_data.append(params.file_key, params.file);


        var httpsend = {
            url: _api_tts,
            headers: headers,
            cache: false,
            data: form_data,
            processData: false,
            contentType: false,
            type: params.methed ? params.methed : "POST",
            // dataType: "json",
            xhr: function () {
                myXhr = $.ajaxSettings.xhr();
                if (myXhr.upload) { // check if upload property exists
                    myXhr.upload.addEventListener('progress', function (e) {
                        params.upload_progess && params.upload_progess(e);
                    }, false); // for handling the progress of the upload
                }
                return myXhr;
            },
            success: function (data) {
                if (alone) {
                    data = data[params.url];
                    if (data.code == 1960 || data.message == "错误的token") {
                        setCookie("zpbutd", "", -1);
                        setCookieDomainLocal("zpbutd", "", -1);
                        base_clear_user_info();
                        location.reload();
                        return;
                    }
                }
                layer.closeAll("loading");
                params.success && params.success(data);
            },
            error: function (data, error) {
                if (error == "error" && data.readyState != 0) {
                    // layer.closeAll();
                    layer.msg("服务器连接错误!");
                }
                params.fail && params.fail(data);
            },
            beforeSend: params.beforeSend,
            complete: function () {
                layer.closeAll('loading');
                params.complete && params.complete();
            }
        };
        $.ajax(httpsend);
    },
    sendSoundHttp: function (params) {
        let zpbutd = getCookie("zpbutd");

        let headers = {
            'Content-Type': 'application/json',
            ...params.headers
        };
        if (zpbutd) {
            headers["token"] = zpbutd;
        }

        let alone = !!params.url;


        let data;


        if (alone) {
            data = [{
                api: params.url,
                data: params.data
            }];
        } else {
            data = params.data;
        }

        var httpsend = {
            url: _api_sound,
            headers: headers,
            cache: false,
            data: JSON.stringify({
                data: data
            }),
            type: params.methed ? params.methed : "POST",
            // dataType: "json",
            success: function (data) {
                if (alone) {
                    data = data[params.url];
                    if (data.code == 1960 || data.message == "错误的token") {
                        setCookie("zpbutd", "", -1);
                        setCookieDomainLocal("zpbutd", "", -1);
                        base_clear_user_info();
                        location.reload();
                        return;
                    }
                }
                params.success && params.success(data);
            },
            error: function (data, error) {
                if (error == "error" && data.readyState != 0) {
                    layer.closeAll();
                    layer.msg("服务器连接错误!");
                }
                params.fail && params.fail(data);
            },
            beforeSend: params.beforeSend,
            complete: function () {
                params.complete && params.complete();
            }
        };
        $.ajax(httpsend);
    },
    sendDownNiHttp: function (params) {
        let zpbutd = getCookie("zpbutd");

        let headers = {
            'Content-Type': 'application/json',
            ...params.headers
        };
        if (zpbutd) {
            headers["token"] = zpbutd;
        }

        let alone = !!params.url;


        let data;


        if (alone) {
            data = [{
                api: params.url,
                data: params.data
            }];
        } else {
            data = params.data;
        }

        var httpsend = {
            url: _api_sound,
            headers: headers,
            cache: false,
            data: JSON.stringify({
                data: data
            }),
            type: params.methed ? params.methed : "POST",
            // dataType: "json",
            success: function (data) {
                if (alone) {
                    data = data[params.url];
                    if (data.code == 1960 || data.message == "错误的token") {
                        setCookie("zpbutd", "", -1);
                        setCookieDomainLocal("zpbutd", "", -1);
                        base_clear_user_info();
                        location.reload();
                        return;
                    }
                }
                params.success && params.success(data);
            },
            error: function (data, error) {
                if (error == "error" && data.readyState != 0) {
                    layer.closeAll();
                    layer.msg("服务器连接错误!");
                }
                params.fail && params.fail(data);
            },
            beforeSend: params.beforeSend,
            complete: function () {
                params.complete && params.complete();
            }
        };
        $.ajax(httpsend);
    },
}

// 设置cookie
function setCookieDomainLocal(name, value, seconds) {
    seconds = seconds || 0; //seconds有值就直接赋值，没有为0，这个根php不一样。
    var expires = "";
    if (seconds != 0) { //设置cookie生存时间
        var date = new Date();
        date.setTime(date.getTime() + (seconds * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    document.cookie = name + "=" + escape(value) + expires + "; path=/;"; //转码并赋值
}

// 设置cookie
function setCookie(name, value, seconds) {
    seconds = seconds || 0; //seconds有值就直接赋值，没有为0，这个根php不一样。
    var expires = "";
    if (seconds != 0) { //设置cookie生存时间
        var date = new Date();
        date.setTime(date.getTime() + (seconds * 1000));
        expires = "; expires=" + date.toGMTString();
    }

    document.cookie = name + "=" + value + expires + "; path=/;domain=" + location.hostname.substring(location.hostname.indexOf(".")); //转码并赋值
}
// 取得cookie
function getCookie(name) {
    var nameEQ = name + '='
    var ca = document.cookie.split(';') // 把cookie分割成组
    for (let i = 0; i < ca.length; i++) {
        var c = ca[i] // 取得字符串
        while (c.charAt(0) == ' ') { // 判断一下字符串有没有前导空格
            c = c.substring(1, c.length) // 有的话，从第二位开始取
        }
        if (c.indexOf(nameEQ) == 0) { // 如果含有我们要的name
            return unescape(c.substring(nameEQ.length, c.length)) // 解码并截取我们要值
        }
    }
    return false
}

let min_width = 1200;


function setviewPort() {
    let width = $(window).width();

    let viewport = $("meta[name='viewport']");

    let scale = viewport.attr("content").substring(viewport.attr("content").length - 3);

    width = width * scale;

    if (width < min_width) {
        scale = (width / min_width).toFixed(1);
    }
    viewport.attr("content", "width=device-width,initial-scale=" + scale + ", maximum-scale=1.0, minimum-scale=" + scale);
}

$(window).resize(function () {
    setviewPort();
});
setviewPort();

/**
 * 控制顶部导航条吸顶显示
 * @param {string} dom 导航的div 
 * @param {string} className 控制吸顶的class 
 */
function setBanner(dom, className) {
    let winTop = $(window).scrollTop();
    let banner = $(dom);
    if (banner.length == 0) return
    $(".banner_content").css("left", (-$(window).scrollLeft()) + "px")

    if (winTop < 88) {
        if (banner.hasClass(className)) {
            banner.removeClass(className);
        }
        if (banner.hasClass("hidden")) {
            banner.removeClass("hidden")
        }
        return;
    } else {
        if (!banner.hasClass(className)) {
            banner.addClass(className);
        }
    }

    if (winTop > top) {} else {
        if (!banner.hasClass(className)) {
            banner.addClass(className);
        }
    }
    top = winTop;
}

$(".res").each(function (index, dom) {
    dom = $(dom);
    let res = base_getVideoWidthStr(dom.html());
    if (res) {
        dom.html(res);
    } else {
        dom.remove();
    }
});

function base_getVideoWidthStr(width){
    width = width*1;
    if(width>=3840 && width<=4096){
        return "4K";
    }else if(width>=2048 && width<=3000){
        return "2K";
    }else if(width>=5000 && width<=7000){
        return "6K";
    }else if(width>7000){
        return "8K";
    }else{
        return "2K";
    }
}


