(function($){
	$.fn.TopMenu =function(){
		var _options = $.extend({
			mouseover : null,
			mousemove : null,
			mouseout  : null
		},arguments[0]);
		var _this = this.find("ul");
		this.find("ul").css({position:'absolute',opacity:0.5,zIndex:500,margin:0,padding:0,listStyle:'none'}).hide();
		this.each(function(i){
			if($(this).children("ul").children("li").is(':first')){  
				$(this).bind('mousemove',function(e){
					if($.isFunction(_options.mousemove))
						_options.mousemove.apply(this,[_this,e]);				  
				});
				$(this).hover(
					function(e){
						if($.isFunction(_options.mouseover))
							_options.mouseover.apply(this,[_this,e]);
						$(this).find("ul").stop(true,true).slideDown("fast");
					},
					function(e){
						if($.isFunction(_options.mouseout))
							_options.mouseout.apply(this,[_this,e]);
						$(this).find("ul").stop(true,true).slideUp("fast");
					}
				)
			}
		})
	}
	$.fn.cover = function(){
		this.each(function(){
			var _this = $(this);
			$('<span />').html(_this.html()).addClass('cover').hide().prependTo(_this);
		});
		this.hover(function(){
			$('span',this).animate({'width':$(this).width()},{queue:false});
		},function(){
			var _this = $('span',this);
			_this.animate({'width':0},{queue:false},function(){
				_this.hide();
			});
		});
	}
	$.fn.TopMenuBG = function($options){
		var _options = $.extend({
			x : 100,
			y : 25,
			s : -1
		},$options);
		var _this = this;
		_this.each(function(i){
			$(this).css({backgroundPosition:'0px -'+(_options.y*i)+'px'})
				.hover(function(){
					$(this).css({backgroundPosition:'-'+_options.x+'px -'+(_options.y*i)+'px'});
				},function(){
					$(this).css({backgroundPosition:'0px -'+(_options.y*i)+'px'});
					_select(_options);
				});
		});
		_select(_options);
		function _select(_options){
			if(_options.s==-1) return;
			$(_this[_options.s]).css({backgroundPosition:'-'+_options.x+'px -'+(_options.y*_options.s)+'px'});
		}
	}
	$.fn.padding = function(){
		return 	parseFloat(this.css('padding'+(arguments[0]||'Top')))
	}
	$.fn.drawFrame = function(){
		var _tmp = [];
		this.each(function(){
			var _obj = $(this);
			_tmp.push(_obj.height()+_obj.padding('Top')+_obj.padding('Bottom'));
		});
		var _max = eval(_tmp.join('>'))?_tmp[0]:_tmp[1];
		if($.browser.msie && $.browser.version=="6.0"){
			this.height(_max);
		}else{
			this.css({minHeight:_max});
		}
	}
	$.fn.drawFrame1 = function(){
		var _options = $.extend({
			draw   : null,
			objs   : null,
			min    : 0,
			max    : document.documentElement.clientHeight
		},arguments[0]);
		var _tmp = [];
		$(_options.objs).each(function(){
			var _obj = $(this);
			_tmp.push(_obj.height()+_obj.padding('Top')+_obj.padding('Bottom'));
		});
		_options.min += eval(_tmp.join('+'));
		var _obj  = $(_options.draw);
		var _tmp1 = _obj.height();
		_options.max  = _options.max>(_options.min+_tmp1)?_options.max-_options.min:_tmp1;
		if($.browser.msie && $.browser.version=="6.0"){
			//_obj.css({height:_options.max});
			//this.height('100%');
			this.height(_options.max);
		}else{
			//this.css({minHeight:'100%'});
			this.css({minHeight:_options.max});
		}
	}
	$.fn.bg = function(){
		var _options = $.extend({
			index  : -1
		},arguments[0]);
		var _this= this;
		this.hover(function(){
			var _obj = $(this);
			_obj.css('background-image',_obj.css('background-image').replace(/\_\d/g,'_2'));
		},function(){
			var _obj = $(this);
			_obj.css('background-image',_obj.css('background-image').replace(/\_\d/g,'_1'));
			_select(_options.index);
		});
		_select(_options.index);
		function _select($idx){
			if($idx==-1) return;
			var _obj = $(_this[$idx]);
			_obj.css('background-image',_obj.css('background-image').replace(/\_\d/g,'_2'))
		}
	}
})(jQuery);