var WeeValidate = {
   //版本号
    version : "1.0",
    //返回字符串是否电子邮件
    isEmail :  function(str){
        return (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/).test(str);
    },
    //返回字符串是否合法URL地址
    isUrl : function(str){
        return (/^(http|https|ftp):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/).test(str);
    },
    //返回字符串是否http地址
    isHttp : function(str){
        return (/^(http|https|ftp):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/).test(str);
    },
    //返回字符串是否整数,包含正整数和负整数
    isIntegral : function(str){
        return (/^(-|\+)?(\d)*$/).test(str);
    },
    //返回字符串是否浮点数
    isFloat : function(str){
        return (/^(-)?(\d)*(\.)?(\d)*$/).test(str);
    },
    //返回字符串是否汉字
    isChinese : function(str){
        return (/^[u4e00-u9fa5],{0,}$/).test(str);
    },
    //返回字符串是否普通电话、传真号码
    isTelephone : function(str){
        return (/^((d{3,4})|d{3,4}-)?d{7,8}$/).test(str);
    },
    //返回字符串是否手机号
    isMobile : function(str){
        return (/^1(3|5)\d{9}$/).test(str);
    },
    //返回字符串是否匹配腾讯QQ号
    isQQ : function(str){
        return (/^[1-9][0-9]{4,10}$/).test(str);
    },
    //返回字符串是否匹配中国邮政编码
    isPostCode : function(str){
        return (/^(\d){6}$/).test(str);
    },
    //返回字符串是否匹配身份证
    isIdenCardID : function(str){
        return (/^(\d{15}|\d{17}[x0-9])$/).test(str);
    },
    //返回字符串是否匹配时间格式
    isTime : function(str){
        return (/^(\d+):(\d{1,2}):(\d{1,2})$/).test(str);
    },
    //返回字符串是否匹配日期验证
    isDatetime : function(str){
            if(Date.parse(str)||Date.parseDate(str)){
            return true;
        }else{
            return false;
        }
    },
    //返回字符串是否合法文件名
    isFileName : function(str){
        return (/[\\\/\*\?\|:"<>]/).test(str);
    },
    // 判断是否是ip
    isIp : function(str){
        return (/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/).test(str);
    },

    //判断输入是否是一个整数
     isValidPositiveInteger : function(str){
        var result=str.match(/^(-|\+)?\d+$/);
        if(result==null) return false;
        return true;
    },
    //判断输入是否是一个正整数
     isValidPositiveInteger : function(str){
        var result=str.match(/^\d+$/);
        if(result==null) return false;
        if(parseInt(str)>0) return true;
        return false;
    },
    //判断输入是否是一个负整数
     isValidNegativeInteger : function(str){
        var result=str.match(/^-\d+$/);
        if(result==null) return false;
        return true;
    },
     //判断输入是否是一个数字
     isValidNumber : function(str){
        return !isNaN(str);
    },
    //判断输入是否是一个由 A-Z / a-z 组成的字符串
     isValidLetters : function(str){
        var result=str.match(/^[a-zA-Z]+$/);
        if(result==null) return false;
        return true;
     },
     //判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
     isValidAlphanumeric : function(str){
        var result = str.match(/^[a-zA-Z0-9]+$/);
        if(result==null) return false;
        return true;
     },
     //判断输入是否是一个由 0-9 组成的数字
    isValidDigits : function(str){
        var result = str.match(/^[1-9][0-9]+$/);
        if(result==null) return false;
        return true;
    },
    //判断输入是否是一个由 0-9 / A-Z / a-z / . / _ 组成的字符串
    isValidString : function(str){
        var result=str.match(/^[a-zA-Z0-9\s.\-_]+$/);
        if(result==null) return false;
        return true;
    },
    //判断输入是否是有效的短日期格式 - "YYYY-MM-DD"
    isValidDate : function(str){
        var result=str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
        if(result==null) return false;
        var d=new Date(result[1], result[3]-1, result[4]);
        return (d.getFullYear()==result[1]&&d.getMonth()+1==result[3]&&d.getDate()==result[4]);
    },
    //判断输入是否是有效的时间格式 - "HH:MM:SS"
    isValidTime : function(str){
        var resule=str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
        if (result==null) return false;
        if (result[1]>24 || result[3]>60 || result[4]>60) return false;
        return true;
    },
    //判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS"
    isValidDatetime : function(str){
        var result=str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
        if(result==null) return false;
        var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
        return (d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
    }
}
//复制到粘贴板
function copy_to_clipboard(txt) {   
    if (window.clipboardData) {   
        window.clipboardData.clearData();   
        window.clipboardData.setData("Text", txt);   
    } else if (navigator.userAgent.indexOf("Opera") != -1) {   
        window.location = txt;   
    } else if (window.netscape) {   
        try {   
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
        } catch (e) {   
            alert("你使用的FireFox浏览器,复制功能被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车。\n然后将“signed.applets.codebase_principal_support”双击，设置为“true”");   
            return;   
        }   
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);   
        if (!clip)   
            return;   
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);   
        if (!trans)   
            return;   
        trans.addDataFlavor('text/unicode');   
        var str = new Object();   
        var len = new Object();   
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);   
        var copytext = txt;   
        str.data = copytext;   
        trans.setTransferData("text/unicode", str, copytext.length * 2);   
        var clipid = Components.interfaces.nsIClipboard;   
        if (!clip)   
            return false;   
        clip.setData(trans, null, clipid.kGlobalClipboard);   
    }
	$.weeboxs.open("复制成功，你可以利用快捷方式Ctrl+V键粘贴到QQ或MSN中发送给你的好友。",{width:260,title:"提示",showCancel:false});  
}
//修改用户密码
function change_passwd() {
	$.weeboxs.open('#chgpwd_form', {
		title:'修改密码',
		width:260,
		onok:function(box) {
			var old_pwd = $.trim(box.find('#old_pwd').val());
			var new_pwd = $.trim(box.find('#new_pwd').val());
			if (old_pwd.length<6) {
				$.weeboxs.open('旧密码不确正，请重新输入!', {title:'提示',showCancel:false,width:260,blur:'#old_pwd'});
				return false;
			}
			if (new_pwd.length<6) {
				$.weeboxs.open('请至少输入6位密码!', {title:'提示',showCancel:false,width:260,blur:'#new_pwd'});
				return false;
			}			
			$.post('/user/chgpwd',{old_pwd:old_pwd, new_pwd:new_pwd},function(res){
				if (res.error) {
					$.weeboxs.open(res.msg, {title:'提示',showCancel:false,width:260,blur:'#old_pwd'});
					return false;
				} else {
					box.next({title:'提示',content:'密码修改成功!'});
				}
			},'json');
		}
	});
}
//提问
function ask_question() {
	$.weeboxs.open('#asks_form', {
		title:'提问',
		width:380,
		onok:function(box) {
			var title = $.trim(box.find('#title').val());
			var content = $.trim(box.find('#content').val());
			if (title.length<6) {
				$.weeboxs.open('请确认标题是否正确!', {title:'提示',showCancel:false,width:260,blur:'#title'});
				return false;
			}
			if (content.length<6) {
				$.weeboxs.open('请检查问题描述，不能为空!', {title:'提示',showCancel:false,width:260,blur:'#content'});
				return false;
			}			
			$.post('/ask/add',{title:title, content:content},function(res){
				if (res.error) {
					$.weeboxs.open(res.msg, {title:'提示',showCancel:false,width:260,blur:'#title'});
					return false;
				} else {
					box.next({title:'提示',content:'问题已提交，请多关注餐友提供的答复!'});
				}
			},'json');
		}
	});
}
//添加到收藏夹中
function add_to_favorite(ele, type, obj_id) {
	if (curr_user_id =='') {
		$.weeboxs.open('请先登录，点击这里<a href="/"><b>登录</b></a>！', {title:'提示',width:200,showCancel:false});
		return false;
	}
	$.weeboxs.open('<div class="wee_msg">请稍后...</div>',{boxid:'add_to_favorite_box',type:'custom',modal:false,position:{refele:$(ele),reftop:3}});
	$.post('/addfavorite',{type:type,obj_id:obj_id},function(res){
		if (res.error==false) {
			$.weeboxs.open('<div class="wee_msg">成功加入收藏夹！</div>',{boxid:'add_to_favorite_box',type:'custom',timeout:3,modal:false,position:{refele:$(ele),reftop:3}});
		}
	},'json');
}
$(document).ready(function() {
	//more channels
	$("#morechannels").css("top",$("#navmorebut").offset().top+68+"px");
	$("#morechannels").css("left",$("#navmorebut").offset().left+5+"px");	
	$("#navmorebut").click(function () {
	    $("#morechannels").slideToggle("slow");
	});
	$("#navmorebut").mouseover(function () {
		$("#morechannels").slideDown("slow");
	});
	$("#morechannels").hover(function(){},function(){$("#morechannels").slideUp("hide");});
	
	//好友共享
	$(".shareurl").click(function(){
		var otype = $(this).attr('otype');
		var oid = $(this).attr('oid');
		var html = ' \
			<form method="post"> \
				请输入他/她的邮箱(多人以逗号隔开):<br> \
				<textarea name="friendMail" id="friendMail" style="width:330px" rows="5"></textarea><br> \
			</form> \
		';
		$.weeboxs.open(html, {title:'好友分享',width:360,onok:function(box){
			var emails = box.find('#friendMail').val(); 
			if (emails=='') {
				$.weeboxs.open('请至少输入一个好友的邮箱!', {title:'提示',width:260,showCancel:false,blur:'#friendMail'});
				return false;
			}
			emails = emails.replace(/\n/igm, ",");
			emails = emails.replace(/\r/igm, ",");
			emails = emails.replace(/,,/igm, ",");
			var aemail = emails.split(",");
			var eemail = [];
			for(i in aemail) {
				aemail[i] = $.trim(aemail[i]);
				if (aemail[i]=="") continue;
				if(!WeeValidate.isEmail(aemail[i])) {
					eemail.push(aemail[i]);
				}
			}
			if (eemail.length>0) {
				$.weeboxs.open("你输入的邮箱："+eemail.join(",")+"有误，请确认！",{title:'提示',width:260,showCancel:false,blur:'#friendMail'});
				return false;
			}
			emails = aemail.join(",");
			box.setLoading();
			$.post('/share',{emails:emails, type:otype, id:oid},function(res){
				box.next({title:'提示',width:260,content:res.msg});
			},'json');			
		}});
		return false;
	});
	
	//tbk outgoing log
	$(".tbko").click(function(){
   		$.post("/t/go",{u:$(this).attr("href"),b:$(this).attr("name"),p:"top"});
   		return true;
   });
});