//*********************************************************************
Array.prototype.indexOf=function(obj){
	var result=-1;
	for(var i=0;i<this.length;i++){
		if(this[i]==obj){
			result=i;
			break;
		}
	}
	return result;
};
Array.prototype.contains=function(obj){
	return (this.indexOf(obj)>=0);
};
Array.prototype.append=function(obj,nodup){
	if(!(nodup && this.contains(obj))){
		this[this.length]=obj;
	}
};
Array.prototype.remove=function(obj){
	var intc=-1;
	intc=this.indexOf(obj);
	if(intc>=0){
		this.splice(intc,1);
	}
};
//***********************************************************************
//测字符串实际长度
String.prototype.Tlength = function(){
	var arr=this.match(/[^\x00-\xff]/ig);
	return this.length+(arr==null?0:arr.length);
};

//字符串左取
String.prototype.left = function(num,mode){
	if(!/\d+/.test(num)){
		return(this);
	}
	var str = this.substr(0,num);
	if(!mode){
		return str;
	}
	var n = str.Tlength() - str.length;
	num = num - parseInt(n/2);
	return this.substr(0,num);
};

//字符串右取
String.prototype.right = function(num,mode){
	if(!/\d+/.test(num)){
		return(this);
	}
	var str = this.substr(this.length-num);
	if(!mode){
		return str;
	}
	var n = str.Tlength() - str.length;
	num = num - parseInt(n/2);
	return this.substr(this.length-num);
};

//字符串包含
String.prototype.GetCount = function(str,mode){return eval("this.match(/("+str+")/g"+(mode?"i":"")+").length");};

//字符串去除两端空字符
String.prototype.Trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");};
String.prototype.Ltrim = function(){return this.replace(/(^\s*)/g, "");};
String.prototype.Rtrim = function(){return this.replace(/(\s*$)/g, "");};

//全替换
String.prototype.replaceAll=function(fs,rs){
	return this.replace(new RegExp(fs, 'g'),rs);
};

//************************************************************************
getSys=function(){
	var Sys = {};
	var ua = navigator.userAgent.toLowerCase();
	window.ActiveXObject ? Sys.ie = ua.match(/msie ([\d.]+)/)[1] :
	document.getBoxObjectFor ? Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1] :
	window.MessageEvent && !document.getBoxObjectFor ? Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1] :
	window.opera ? Sys.opera = ua.match(/opera.([\d.]+)/)[1] :
	window.openDatabase ? Sys.safari = ua.match(/version\/([\d.]+)/)[1] : 0;
	
	if(Sys.ie) {return "ie";}
	if(Sys.firefox) {return "firefox";}
	if(Sys.chrome) {return "chrome";}
	if(Sys.opera) {return "opera";}
	if(Sys.safari) {return "safari";}
};

//*********************************************************************
function isMouseOut(event,o,t,r,b,l) { 
	t=t || 0;r=r || 0;b=b || 0;l=l || 0;
	var e=event || window.event;
	var x = e.clientX + document.documentElement.scrollLeft;
	var y = e.clientY + document.documentElement.scrollTop;
	var s=o.offset();
	if(y <= (s.top-t+1) || y >= (s.top+o.outerHeight()+b) || x >= (s.left + o.outerWidth()+r) || x<=(s.left-l+1) ) { return true;}
};

//检查输入值的正确性,v=>值 t=>参考检查的类型
function checkVal(v,t){
	switch(t){
		case 'email':
			var reg=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
			return reg.test(v);
			break;
	}
}

//将this显示在a的周围(上下左右由b决定,c为偏移值)
(function($){
	$.fn.showE=function(a,b,c) {
		var o=a.offset();
		var t=0;var l=0;
		b=b || 3;
		c=c || 0;
		if(b==1){t=-c-this.outerHeight();if(o.top+t<0){ t=c+a.outerHeight();}}
		if(b==2){l=c+a.outerWidth();}
		if(b==3){t=c+a.outerHeight();}
		if(b==4){l=-c-this.outerWidth();}
		this.css({top:o.top+t,left:o.left+l}).show();
		
  }
})(jQuery);

//将this以动画形式显示在old的位置
(function($){
	$.fn.showF=function(old,lr,fun){
		if(old.queue('fx').length>0 || this[0].id==old[0].id){return false;}
		var off=old.position();
		var cl;
		if(lr==1 || lr==-1){
			cl=lr;
		}else{
			cl=(this.parent().children().index(this)>this.parent().children().index(old))?1:-1;
		}
		this.show().css({left:off.left+old.outerWidth()*cl}).animate({left:off.left},500);
		old.animate({left:off.left-old.outerWidth()*cl},500,'linear',function(){old.hide();fun.call(this);});
		return true;
	};
})(jQuery);


//取得表单中元素的内容
(function($){
	$.fn.w_getInputs=function(){
		var value={};
		this.find('input[name]').each(function(){										 
			var el=$(this);
			var atype=el.attr('type');
			var aname=el.attr('name');
			switch(atype){
			case "hidden":
			case "password":
			case "text":
				value[aname]=el.val();
				break;
			case "checkbox":
				value[aname]=(el.attr('checked'))?el.val():0;
				break;
			case "radio":
				if(el.attr('checked')){ value[aname]=el.val();}
				break;
			}
		});
		this.find('select[name]').each(function(){
			var el=$(this);
			var aname=el.attr('name');
			value[aname]=el.val();
		});
		this.find('textarea[name]').each(function(){
			var el=$(this);
			var aname=el.attr('name');
			value[aname]=el.val();
		});
		return value;
	}
})(jQuery);

/*
将this下的div轮番显示
dname指定需要执行此动作的元素，如果没有指定dname，将默认全部子元素;
tname指定与dname对应的激活元素;
speed显示切换速度;
effe显示的效果;
effespeed效果切换的速度
*/
(function($){
	$.fn.w_picSwap=function(dname,tname,speed,effe,effespeed){
		speed=speed || 2000;
		dname=dname || "";
		tname=tname || "";
		effe=effe || 1;
		effespeed=effespeed || 500;
		return this.each(function(){
			var myTime;
			var obj=$(this).css({'position':'relative','overflow':'hidden'});
			var objs=$(this).find(dname).css({'position':'absolute'});
			var objnl=$(this).find(tname).not(dname);
			var len2=objnl.length;
			var len=objs.length;
			if(len<2){ return;}
			var si=0;
			var old=0;
			switch(effe){
				case 1:objs.not(':first').css('display','none');break;
				default:objs.not(':first').css('opacity',0);objs.eq(0).css("z-index","20");//防止第一次加载时，链为最后一条信息的链接的问题
			}
			
			function showImg(){
				old=si;si=(si==(len-1))?0:si+1;
				effect(objs.eq(old),objs.eq(si));
				objs.eq(si).css("z-index","99"); //防止第一次加载时，链为最后一条信息的链接的问题
				if(len2){
					objnl.eq(old).removeClass("on");
					objnl.eq(si).addClass("on");
				}
			};
			function effect(o,n){
				switch(effe){
				case 1:
					o.stop().animate({opacity:0},effespeed,function(){o.css('display','none');});
					n.stop().animate({opacity:1},effespeed,function(){n.css('display','block');});
					break;
				case 2:
					var toff=o.position();
					n.stop().css("top",toff.top+o.outerHeight()).animate({top:toff.top,opacity:1},effespeed);
					o.stop().animate({top:toff.top-o.outerHeight(),opacity:0},effespeed);
					break;
				case 3:
					var toff=o.position();
					n.stop().css("left",toff.left+o.outerWidth()).animate({left:toff.left,opacity:1},effespeed);
					o.stop().animate({left:toff.left-o.outerWidth(),opacity:0},effespeed);
					break;
				}
				
			}
			function begin(){
				myTime = setInterval(showImg,speed);
			};
			
			objnl.mouseover(function(){
				si=objnl.index(this);
				showImg();
			});	
			//滑入 停止动画，滑出开始动画.
			obj.hover(function(){
				if(myTime){clearInterval(myTime);}
			},function(){
				begin();
			});
			begin();
		});
	};
})(jQuery);

/*显示验证码*/
function showck(id,ky){
	ky=ky || '';
	$('#'+id).attr('src','/code.php?aaa='+Math.random()*(200)+'&ky='+ky);
}

