var Event_name='click';//事件名
/************************************ 弹窗封装 start ***********************************/
/**
 * 弹窗
 * facebox_over_close 是否点击框外关闭弹窗 默认开启 传参true就表示不开启
 * facebox_over_opacity 是否点击框外遮层透明度 是否透明 默认半透明  传参true就表示透明
 * div 弹窗显示的内容
 * facebox_title 弹窗标题 默认 温馨提示
 * head 是否启用头 默认启用 传true关闭
 * width 弹窗宽度
 * height 弹窗高度
 * close_but 是否启用关闭按钮 默认启用 传true关闭 并且关闭标题
 * top left 对弹窗定位
 * center 对弹窗定位 优先级低于top、left 其默认为居中 值为center也表示居中
 * fun 弹窗创建完成后执行的方法
 * fun_show 动画执行前执行的方法
 * Single 默认单一弹窗 传参不为false 表示可使用多弹窗
 * facebox_name 定义弹窗名字 默认为空
 * close_time 自动关闭时间
 * animate_type 动画类型 show:直接显示 fade:淡入淡出 moveTop:底部向上移动 moveBottom:顶部向下移动 moveLeft:右侧向左移动
 * animate_fun 启用了就不使用animate_type 动画事件 默认 淡入淡出 其它按下面格式 array('show':function(){},'close':function(){})
 **/
function facebox(arr){
    var math_num='';
    arr['facebox_name']=arr['facebox_name']?arr['facebox_name']:'';
    arr['Single']=arr['Single']?arr['Single']:false;
    arr['facebox_over_opacity']=arr['facebox_over_opacity']?arr['facebox_over_opacity']:false;
    arr['fun_show']=arr['fun_show']?arr['fun_show']:'';
    arr['facebox_title']=arr['facebox_title']?arr['facebox_title']:'温馨提示';
    arr['width']=arr['width']?'width:'+arr['width']+';':'';
    arr['height']=arr['height']?'height:'+arr['height']+';':'';
    arr['animate_fun']=arr['animate_fun']?arr['animate_fun']:'';
    arr['head']=arr['head']?arr['head']:false;
    arr['close_but']=arr['close_but']?arr['close_but']:false;
    arr['animate_type']=arr['animate_type']?arr['animate_type']:'fade';
    arr['facebox_over_close']=arr['facebox_over_close']?arr['facebox_over_close']:false;
    if(arr['facebox_name']!=''){//如果指定了弹窗名
        math_num=arr['facebox_name'];
    }else if(arr['Single']){//判断是否支持多弹窗
        math_num=parseInt(Math.random()*1000000);
    }else{//单一弹窗时 先关闭所有弹窗
        facebox_close_all();
    }

    //设置遮层是否透明
    var facebox_over_opacity='';
    if(arr['facebox_over_opacity']){
        facebox_over_opacity='style="opacity:0.01"';
    }
    var facebox_over_obj=$('#facebox_over'+math_num);
    facebox_over_obj.remove();
    $('body').append('<div id="facebox_over'+math_num+'" class="facebox_over" '+facebox_over_opacity+'></div>');
    facebox_over_obj=$('#facebox_over'+math_num);

    var facebox_obj=$('#facebox'+math_num);
    facebox_obj.remove();

    //设置关闭按钮是否显示
    var close_but_class='';
    if(arr['close_but']){
        close_but_class=' style="display:none"';
    }
    $('body').append('<div id="facebox'+math_num+'" class="facebox" style="'+arr['width']+arr['height']+'"><div class="ld_tc_tips1"><div class="ld_title"'+close_but_class+'>'+arr['facebox_title']+'</div><div class="ld_close"'+close_but_class+'>X</div></div></div>');
    facebox_obj=$('#facebox'+math_num);
    //关闭按钮添加关闭事件
    facebox_obj.find('.ld_close').bind(Event_name,function(){
        if(strempty(arr['animate_fun']['close']) && typeof(arr['animate_fun']['close'])!='function'){
            if(arr['animate_type']=='show'){
                facebox_obj.remove();
                facebox_over_obj.remove();
            }else if(arr['animate_type']=='moveBottom'){
                //获取弹窗高度
                facebox_obj.stop().animate({height:0},1000,'easeOutQuint',function(){
                    $('.Category_fx_img').hide();
                    facebox_obj.remove();
                    facebox_over_obj.remove();
                });
            }else if(arr['animate_type']=='moveLeft'){
                //获取弹窗宽度
                var facebox_obj_wid=facebox_obj.width();
                var f_left=parseInt(facebox_obj.css('left'));
                facebox_obj.stop().animate({left:f_left+facebox_obj_wid},1000,'easeOutQuint',function(){
                    $('body').append(facebox_obj.find('.tc_detail').hide());
                    facebox_obj.remove();
                    facebox_over_obj.remove();
                    $("#current_clotheslist").find("li").attr("class","cls_border2");
                });
            }else{
                facebox_obj.fadeOut('slow',function(){
                    facebox_obj.remove();
                    facebox_over_obj.remove();
                });
            }
            facebox_over_obj.fadeOut('slow');
        }else{
            setblacktagimg();
            arr['animate_fun']['close'](facebox_obj);
        }
    });
    //启用遮层关闭
    if(!arr['facebox_over_close']){
        facebox_over_obj.bind(Event_name,function(){
            facebox_obj.find('.ld_close').trigger(Event_name);
        });
    }
    //启用自动关闭
    if(!strempty(arr['close_time'])){
        setTimeout(function(){
            facebox_obj.find('.ld_close').trigger(Event_name);
        },arr['close_time']);
    }

    //给弹窗添加内容
    if(!strempty(arr['div'])){
        facebox_obj.find('.ld_tc_tips1').append(arr['div']);
        facebox_obj.find('.ld_tc_tips1').append('<div style="clear: both;"></div>');
    }
    //指定定位
    if(!strempty(arr['top']) || !strempty(arr['left'])){
        arr['left']=arr['left']?arr['left']:0;
        arr['top']=arr['top']?arr['top']:0;
        facebox_obj.css({'top':arr['top']+'px','left':arr['left']+'px'});
    }else if(strempty(arr['center']) || arr['center']=='center'){//居中设置
        var win_hei=$(window).height();
        var win_wid=$(window).width();
        var body_wid=$('.bca_main').width();
        var facebox_hei=facebox_obj.height();
        var facebox_wid=facebox_obj.width();
        var top=0;
        var left=0;

        if(win_hei>facebox_hei){
            top=(win_hei-facebox_hei)/2;
        }
        if(win_wid<=body_wid){
            left=(body_wid-facebox_wid)/2;
        }else if(win_wid>body_wid){
            left=(win_wid-facebox_wid)/2;
        }
        facebox_obj.css({'top':top+'px','left':left+'px','position':'fixed'});
    }

    //执行回调函数
    if(!strempty(arr['fun'])){
        arr['fun'](facebox_obj);
    }
    //执行弹窗启用特效
    if(strempty(arr['animate_fun']['show']) && typeof(arr['animate_fun']['show'])!='function'){
        if(arr['animate_type']=='show'){
            facebox_obj.show('slow');
            facebox_over_obj.show('slow');
        }else if(arr['animate_type']=='moveBottom'){
            //获取弹窗高度
            var facebox_obj_hei=(facebox_obj.find('.ld_tc_tips1 .ld_close').next().height()+facebox_obj.find('.ld_tc_tips1 .ld_close').height());
            facebox_obj.css('height',0);
            facebox_obj.show();
            facebox_over_obj.show();
            facebox_obj.stop().animate({height:facebox_obj_hei},1000,'easeInQuint');
        }else if(arr['animate_type']=='moveLeft'){
            //获取弹窗高度
            var facebox_obj_wid=facebox_obj.width();
            var f_left=parseInt(facebox_obj.css('left'));
            facebox_obj.show();
            facebox_over_obj.show();
            facebox_obj.stop().animate({left:f_left-facebox_obj_wid},1000,'easeInQuint');
        }else{
            facebox_obj.fadeIn('slow');
            facebox_over_obj.fadeIn('slow');
        }
    }else{
        facebox_obj.show();
        facebox_over_obj.show();
        arr['animate_fun']['show'](facebox_obj);
    }
}

/**
 * 关闭所有弹窗
 **/
function facebox_close_all(){
    $('.facebox').map(function(){
        $(this).find('.ld_close').trigger(Event_name);
    });
}

/**
 * 去除字符串前后空格
 * @param str 字符串
 * @return 整理后的字符穿
 */
function strtrim(str)
{
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
/**
 * 判断字符串不为空
 * @param str 字符串
 * @return 为空返回true 否则返回false
 */
function strempty(str){
    try{
        str=str.toLowerCase();
    }catch(e){}
    if(str+''=='null' || str=='' || str+''=='undefined')
    {
        return true;
    }
    return false;
}

/**
 * 判断字符串是否为数字（整数，浮点）
 * @param str
 * @return 是返回true 否则返回false
 */
function strnumber(str){
    var reg = /^\d+(\.\d+)?$/;
    return reg.test(str);
}
/**
 * 判断字符串首字符是否为字母
 * @param str
 * @return 是返回true 否则返回false
 */
function strFirstChar(str){
    var reg = /^[A-Za-z].*?/;
    return reg.test(str);
}

/**
 * 判断字符串是否为纯字母
 * @param str
 * @return 是返回true 否则返回false
 */
function strLetter(str){
    var reg = /^[A-Za-z]+$/;
    return reg.test(str);
}
/**
 * 判断是否为uri完整地址
 * @param str 输入的字符串
 * @return 如果通过验证返回true,否则返回false
 */
function strURL (str) {
    var strRegex = '^((https|http|ftp|rtsp|mms)?://)'
        + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)?' //ftp的user@
        + '(([0-9]{1,3}.){3}[0-9]{1,3}' // IP形式的URL- 199.194.52.184
        + '|' // 允许IP和DOMAIN（域名）
        + '([0-9a-z_!~*\'()-]+.)*' // 域名- www.
        + '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].' // 二级域名
        + '[a-z]{2,6})' // first level domain- .com or .museum
        + '(:[0-9]{1,4})?' // 端口- :80
        + '((/?)|' // a slash isn't required if there is no file name
        + '(/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+/?)$';
    var re=new RegExp(strRegex);
    //re.test()
    return re.test(str);
}
/**
 * 检查输入对象的值是否符合E-Mail格式
 * @param str 输入的字符串
 * @return 如果通过验证返回true,否则返回false
 */
function strEmail( str ){
    var myReg = /^[\w-_]+(\.[\w-_]+)*@[\w-_]+(\.[\w-_]+)+$/;
    if(myReg.test(str)) return true;
    return false;
}
/**
 * 检查输入的手机号码格式是否正确
 * @param str 字符串
 * @return 成功返回true 否则返回false
 */
function strPhone(str)
{
    //	验证电话号码手机号码，包含153，159号段
    var p1 = /^[1][0-9]{10}$/;
    return p1.test(str);
}
/**
 * 检查输入的手机号码格式是否正确
 * @param str 字符串
 * @return 成功返回true 否则返回false
 */
function strTel(str)
{
    //"兼容格式: 国家代码111cn.net(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
    //return (/^(([0+]d{2,3}-)?(0d{2,3})-)?(d{7,8})(-(d{3,}))?$/.test(this.Trim()));
    return (/^(([0+]d{2,3}-)?(0d{2,3})-)(d{7,8})(-(d{3,}))?$/.test(str));
}
/**
 * 判断值是否存在已数组中
 * @parm val 需要查找的值
 * @parm arr 值存在的数组
 * @return 成功返回key 否则返回false
 **/
function array_search(val,arr){
    var ret=false;
    for(var i in arr){
        if(arr[i]==val){
            ret=i;
            break;
        }
    }
    return ret;
}
/**
 * 获取数组的长度
 * @parm o 数组
 * @return 成功返回数组的长度 否则返回false
 **/
function arr_count(o){
    var t = typeof o;
    if(t == 'string'){
        return o.length;
    }else if(t == 'object'){
        var n = 0;
        for(var i in o){n++;}
        return n;
    }
    return false;
}
/**
 * 将form中的值转换为键值对。
 * 形如：{name:'aaa',password:'tttt'}
 * ps:注意将同名的放在一个数组里
 **/
function getFormJson(frm) {
    var o = {};
    var a = $(frm).serializeArray();
    $.each(a, function () {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
}
/**
 * 关闭facebox弹窗
 * @return
 */
function faceboxclose()
{
    $(document).trigger('close.facebox');
}

/**
 * 控制文本框只能输入数字
 * @param obj
 * @return
 */
function inputkeyUpint(obj)
{
    $(obj).val($(obj).val().replace(/\D/g,''));
}
