import httpUrl from './http.js';

let ekexiuUrl = httpUrl.kexiuUrl;

let util = {

};

util.ekexiuUrl = ekexiuUrl;

/**
 * default img
 */
util.defaultSet = {
  img: {
    expert: '/static/comimg/default-expert.jpg',
    org: '/static/comimg/default-org.jpg',
    article: '/static/comimg/default-article.jpg',
    resource: '/static/comimg/default-resource.jpg',
    service: '/static/comimg/default-service.jpg',
    plat: '/static/comimg/default-plat.jpg'
  },
  link: {
    expert: ekexiuUrl + '/userInforShow.html?professorId=',
    org: ekexiuUrl + '/cmpInforShow.html?orgId=',
    article: ekexiuUrl + '/articalShow.html?articleId=',
    resource: ekexiuUrl + '/resourceShow.html?resourceId=',
    service: ekexiuUrl + '/sevriceShow.html?sevriceId=',
    demand: ekexiuUrl + '/demandShow.html?demandId='
  }
};

/**
 * 跳转序列化页面
 */
util.pageUrl = function(type, item) {
  return (ekexiuUrl + '/shtml/' + type + '/' + item.createTime.substring(0, 8) + '/' + item.shareId + '.html');
};

/**
 * 正则匹配邮箱、手机
 * flag === 'mail' 是邮箱, flag === 'tel' 是手机
 */
util.regular = function(str, flag) {
  if (flag === 'mail') {
    var regMail = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
    return regMail.test(str);
  } else if (flag === 'tel') {
    var regTel = /^1[3|4|5|7|8][0-9]\d{8}$/;
    return regTel.test(str);
  };
};

/**
 * 邮箱mailHash
 */
util.mailHash = {
  'qq.com': 'http://mail.qq.com',
  'gmail.com': 'http://mail.google.com',
  'sina.com': 'http://mail.sina.com.cn',
  '163.com': 'http://mail.163.com',
  '126.com': 'http://mail.126.com',
  'yeah.net': 'http://www.yeah.net/',
  'sohu.com': 'http://mail.sohu.com/',
  'tom.com': 'http://mail.tom.com/',
  'sogou.com': 'http://mail.sogou.com/',
  '139.com': 'http://mail.10086.cn/',
  'hotmail.com': 'http://www.hotmail.com',
  'live.com': 'http://login.live.com/',
  'live.cn': 'http://login.live.cn/',
  'live.com.cn': 'http://login.live.com.cn',
  '189.com': 'http://webmail16.189.cn/webmail/',
  'yahoo.com.cn': 'http://mail.cn.yahoo.com/',
  'yahoo.cn': 'http://mail.cn.yahoo.com/',
  'eyou.com': 'http://www.eyou.com/',
  '21cn.com': 'http://mail.21cn.com/',
  '188.com': 'http://www.188.com/',
  'ustb.edu.cn': 'http://mail.ustb.edu.cn/',
  'foxmail.coom': 'http://www.foxmail.com'
};

/**
 * 数据字典
 */
util.Dictionary = {
  durationTime: [{
      value: '1',
      label: '1个月内'
    }, {
      value: '2',
      label: '1-3个月'
    }, {
      value: '3',
      label: '3-6个月'
    }, {
      value: '4',
      label: '6-12个月'
    }, {
      value: '5',
      label: '1年以上'
    }],
  costRange: [{
      value: '1',
      label: '1万元以内'
    }, {
      value: '2',
      label: '1-5万元'
    }, {
      value: '3',
      label: '5-10万元'
    }, {
      value: '4',
      label: '10-20万元'
    }, {
      value: '5',
      label: '20-50万元'
    }, {
      value: '6',
      label: '50万元以上'
    }]
};

/**
 * 数据字典
 */
util.workComm = {
  durationTime: [{ // 费用预算
      value: '',
      label: '全部'
    }, {
      value: '1',
      label: '1个月内'
    }, {
      value: '2',
      label: '1-3个月'
    }, {
      value: '3',
      label: '3-6个月'
    }, {
      value: '4',
      label: '6-12个月'
    }, {
      value: '5',
      label: '1年以上'
    }],
  costRange: [{ // 费用预算
      value: '',
      label: '全部'
    }, {
      value: '1',
      label: '1万元以内'
    }, {
      value: '2',
      label: '1-5万元'
    }, {
      value: '3',
      label: '5-10万元'
    }, {
      value: '4',
      label: '10-20万元'
    }, {
      value: '5',
      label: '20-50万元'
    }, {
      value: '6',
      label: '50万元以上'
    }]
};
/**
 * expert head symbol icon
 */
util.autho = function (a, b, c) {
  if (a === 1) {
    return 'icon-pro';
  } else {
    if (b === 1) {
      return 'icon-staff';
    } else {
      if (c === 3) {
        return 'icon-real';
      };
    };
  };
};

/**
 * 解析url参数
 * @example ?id=12345&a=b
 * @return Object {id:12345,a:b}
 */
util.urlParse = function (name) {
  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || ['', ''])[1].replace(/\+/g, '%20')) || null;
};

/**
 * 拼接图片链接地址
 */
util.ImageUrl = function (str, bol) {
    return bol ? (ekexiuUrl + '/images/' + str) : (ekexiuUrl + '/data/' + str);
};

// util.cutOutUrl = function (str) {
//     var index = str.lastIndexOf(/\//);
//     str = str.substring(index + 1, str.length);
//     return str;
// };

/**
 * String与Array之间的转换
 */
// util.strToArr = function (str) {
//     if (str) {
//         var subs = new Array();
//         if (subs.indexOf(',')) {
//             subs = str.split(',');
//         } else {
//             subs[0] = str;
//         }
//         return subs;
//     }
// };
// util.arrToStr = function (arr) {
//     var newStr = arr.join(',');
//     return newStr;
// };

/*
 * 根据Value格式化为带有换行、空格格式的HTML代码
 * @param strValue {String} 需要转换的值
 * @return  {String}转换后的HTML代码
 * @example
 * getFormatCode("测\r\n\s试")  =>  “测<br/> 试”
 */
util.getFormatCode = function(strValue) {
  return strValue.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
};

/**
 * 时间显示规则
 */
util.commenTime = function(startTime, flag) {
  var nowTimg = new Date();
  var startdate = new Date();
  startdate.setFullYear(parseInt(startTime.substring(0, 4)));
  startdate.setMonth(parseInt(startTime.substring(4, 6)) - 1);
  startdate.setDate(parseInt(startTime.substring(6, 8)));
  startdate.setHours(parseInt(startTime.substring(8, 10)));
  startdate.setMinutes(parseInt(startTime.substring(10, 12)));
  startdate.setSeconds(parseInt(startTime.substring(12, 14)));
  var date3 = nowTimg.getTime() - startdate.getTime(); // 时间差的毫秒数
  var hours = parseInt((date3 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = parseInt((date3 % (1000 * 60 * 60)) / (1000 * 60));
  if (date3 < 60000) {
    return '刚刚';
  } else if (date3 >= 60000 && date3 < 3600000) {
    return minutes + '分钟前';
  } else if (date3 >= 3600000 && date3 < 86400000) {
    return hours + '小时前';
  } else if (date3 >= 86400000) {
    if (nowTimg.getFullYear() === startTime.substring(0, 4)) {
      if (!flag) {
        return startTime.substring(4, 6).replace(/\b(0+)/gi, '') + '月' + startTime.substring(6, 8).replace(/\b(0+)/gi, '') + '日 ' + startTime.substring(8, 10) + ':' + startTime.substring(10, 12);
      } else {
        return startTime.substring(4, 6).replace(/\b(0+)/gi, '') + '/' + startTime.substring(6, 8).replace(/\b(0+)/gi, '');
      }
    } else {
      if (!flag) {
        return startTime.substring(0, 4) + '年' + startTime.substring(4, 6).replace(/\b(0+)/gi, '') + '月' + startTime.substring(6, 8).replace(/\b(0+)/gi, '') + '日 ' + startTime.substring(8, 10) + ':' + startTime.substring(10, 12);
      } else {
        return startTime.substring(0, 4) + '/' + startTime.substring(4, 6).replace(/\b(0+)/gi, '') + '/' + startTime.substring(6, 8).replace(/\b(0+)/gi, '');
      }
    }
  };
};

/**
 * 时间格式转换
 */
util.dateFormatter = function(str, fl, bol) { // 默认返回yyyy-MM-dd HH-mm-ss
    var hasTime = fl !== false; // 可传第二个参数false，返回yyyy-MM-dd
    var d = new Date(str);
    var year = d.getFullYear();
    var month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1);
    var day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
    var hour = d.getHours() < 10 ? '0' + d.getHours() : d.getHours();
    var minute = d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes();
    var second = d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds();
    if (hasTime) {
      if (bol) {
        return year + month + day + hour + minute + second;
      } else {
        return [year, month, day].join('-') + ' ' + [hour, minute, second].join(':');
      }
    } else {
      if (bol) {
        return year + month + day;
      } else {
        return [year, month, day].join('-');
      }
    }
};

util.dateChange = function(startTime) { // 默认返回yyyy月MM日dd HH:mm
    var nowTimg = new Date();
    if (nowTimg.getFullYear() !== startTime.substring(0, 4)) {
        return startTime.substring(4, 6).replace(/\b(0+)/gi, '') + '月' + startTime.substring(6, 8).replace(/\b(0+)/gi, '') + '日 ' + startTime.substring(8, 10) + ':' + startTime.substring(10, 12);
    } else {
        return startTime.substring(0, 4) + '年' + startTime.substring(4, 6).replace(/\b(0+)/gi, '') + '月' + startTime.substring(6, 8).replace(/\b(0+)/gi, '') + '日 ' + startTime.substring(8, 10) + ':' + startTime.substring(10, 12);
    }
};

export default util;
