﻿$.fn.extend({
	maxlength:function(viewEl){
		if($("#maxlength-css").length==0)
		{
			var css="<style id='browser-css'>";	
			css+=".maxlength{color:#FF0000; font-size:16px; font-weight:bold;}";
			css+="</style>";
			$(css).appendTo("head");		
		}
		viewEl.addClass("maxlength");
		viewEl.html($(this).attr("maxlength"));
		this.get(0).view=viewEl;
		$(this).keyup($.maxlength).bind("paste",$.maxlength);
	}
	/**
	* 验证FORM的并提示
	**/
	,tipsform:function(items){
		var oForm=$(this).get(0);
		for(var i=0;i<oForm.length;i++ ) 
		{
		   var oItem = oForm[i];
		   if(!oItem)
				continue;
			if(!$(oItem).parent().find(".formtips").get(0)){
				$(oItem).parent().append("<span class='formtips'></span>");
			}
			oItem.oldTips=$(oItem).parent().find(".formtips").html();
			oItem.func=items[oItem.name];
			$(oItem).blur(
				function(){
					var formtips=$(this).parent().find(".formtips");
					var func=this.func;
					if(func){
						var strError=func(this);
						if(strError){
							formtips.addClass("error");
							formtips.html(strError);
						}
					}
				}
			);
			$(oItem).focus(
				function(){
					var formtips=$(this).parent().find(".formtips");
					formtips.removeClass("error");
					formtips.html($(this).get(0).oldTips);
				}
			);
		}
		$(this).submit(
			function(){
				var noError=true;
				for(var i=0;i<oForm.length;i++ ) 
				{
				    var oItem = oForm[i];
				    if(!oItem)
						continue;
					var parent=$(oItem).parent();
				    var formtips=parent.find(".formtips");
					var func=oItem.func;
					if(func){
						var strError=func(oItem);
						if(strError)
						{
							formtips.addClass("error");
							formtips.html(strError);
							noError=false;
						}
					}
					if(parent.find("b:contains('*')").length==1)
					{						
						if((/^text|hidden|textarea|file|password|select-one$/.test(oItem.type) && $.trim(oItem.value)=="")||(/^checkbox|radio$/.test(oItem.type) && parent.find("input:checked").length==0)){
							var strLabel=parent.find("label").html();
							if(!strLabel)
								strLabel="";							
							if(/^text|textarea|password$/.test(oItem.type))
								formtips.html("请输入"+strLabel.replace(/[\:|：]/g,""));
							else if(/^file|hidden$/.test(oItem.type))
								formtips.html(strLabel.replace(/[\:|：]/g,"")+"不能为空");
							else if(/^select-one|checkbox|radio$/.test(oItem.type))
								formtips.html("请选择"+strLabel.replace(/[\:|：]/g,""));							
							formtips.addClass("error");
							noError=false;
						}
					}
				}
				
				if(noError==false)
					$.tips("表单验证未通过，不能提交");
				
				return noError;
			}
		);
	}
	/*日期时间下拉框*/
	,datetime:function(params){	
		
		var parent=$(this).parent();
		
		var val=$(this).val()||"";
		var array=val.split(/[^\d]+/);
	
		var strHtml="<select class='year'></select>年"+
					"<select class='month'></select>月"+
					"<select class='day'></select>日";
		if(params && params.time)
		{
			strHtml+=" &nbsp;&nbsp;&nbsp; "+
					 "<select class='hour'></select>:"+
					 "<select class='minute'></select>:"+
					 "<select class='second'></select>";
		}
		
		$(strHtml).insertAfter($(this));
		
		var now=new Date();
		
		var y=parent.find(".year").get(0);
		for(var i=now.getFullYear();i<now.getFullYear()+2;i++)
			y.options[y.options.length]=new Option($.snap(i),$.snap(i));
		y.value=$.snap(array[0]);
			
		var M=parent.find(".month").get(0);
		for(var i=1;i<13;i++)
			M.options[M.options.length]=new Option($.snap(i),$.snap(i));
		M.value=$.snap(array[1]);
			
		var days=[0,31,28,31,30,31,30,31,31,30,31,30,31];
		var yv=Number(y.value);
		var mv=Number(M.value);
		var dv=Number(days[mv]);
		if(mv==2){
			dv=$.isEmbe(yv)?29:28;
		}
		var d=parent.find(".day").get(0);
		for(var i=1;i<=dv;i++)
			d.options[d.options.length]=new Option($.snap(i),$.snap(i));
		d.value=$.snap(array[2]);
			
		if(params && params.time)
		{			
			var h=parent.find(".hour").get(0);
			for(var i=0;i<24;i++)
				h.options[h.options.length]=new Option($.snap(i),$.snap(i));
			h.value=$.snap(array[3]);
				
			var m=parent.find(".minute").get(0);
			for(var i=0;i<60;i++)
				m.options[m.options.length]=new Option($.snap(i),$.snap(i));
			 m.value=$.snap(array[4]);
				
			var s=parent.find(".second").get(0);
			for(var i=0;i<60;i++)
				s.options[s.options.length]=new Option($.snap(i),$.snap(i));
			s.value=$.snap(array[5]);
		}
		
		var pThis=$(this);
		var pParent=parent;
		var pParams=params;
		parent.find("select").change(function(){
			var sTime = pParent.find(".year").val()+"-"+
						pParent.find(".month").val()+"-"+
						pParent.find(".day").val();
			if(pParams && pParams.time){
				sTime+= " "+
						pParent.find(".hour").val()+":"+
						pParent.find(".minute").val()+":"+
						pParent.find(".second").val()
			}
			pThis.val(sTime);
		})
		parent.find(".year,.month").change(function(){
			var days=[0,31,28,31,30,31,30,31,31,30,31,30,31];
			var y=parent.find(".year").get(0);
			var M=parent.find(".month").get(0);	
			var d=pParent.find(".day").get(0);
			var yv=Number(y.value);
			var mv=Number(M.value);
			var dv=Number(days[mv]);
			if(mv==2){
				dv=$.isEmbe(yv)?29:28;
			}
			var oldVal=d.value;
			d.length=0;
			for(var i=1;i<=dv;i++)
				d.options[d.options.length]=new Option($.snap(i),$.snap(i));
			if(Number(oldVal)<=dv)
				d.value=oldVal;
		})
	}
});
$.extend({
	maxlength:function(){
		var content=$.trim($(this).val());
		var maxlen=$(this).attr("maxlength");
		var remain=maxlen-content.length;
		if(remain<=0){			
			content=content.substr(0,maxlen);
			remain=0;
			$(this).val(content);
			this.view.html(remain);
			return false;
		}		
		this.view.html(remain);
	}
	,snap:function(i){
		i=Number(i);		
		return i>9?i:"0"+i;
	}
	,isEmbe:function(year){
		return ((year%4==0 && year%100!=0) || year%400==0)
	}
});

var InitMemberInfo=function(basePath){
	$.ajax({
		url: basePath+"ajax/login.htm",
		cache: false,
		dataType:"json",
		success:function(data){							
			if(data && data.isLogin==true){
				$("<a href='"+basePath+"member/index.htm' style='color:#FF0000;'>"+data.username+"</a>").prependTo($("#member-info"));
				$("<a href='"+basePath+"login_out.htm' style='color:#999999;'>退出登录</a>").appendTo($("#member-info"));
			}
			else{
				$("<a href='"+basePath+"login.htm'>请登录</a><a href='"+basePath+"member/register.htm'>免费注册</a>").appendTo($("#member-info"));
			}
		},
		error:function(){
			$("<a href='"+basePath+"login.htm'>请登录</a><a href='"+basePath+"member/register.htm'>免费注册</a>").appendTo($("#member-info"));
		}
	});	 
}

