/*
 * jQuery HOVER Effect plug-in
 * By poppo http://Silvermover.com
 * E-Mail: pop.silvermover@gmail.com
 * 
 */
(function($) {
	$.fn.hoverEffect = function(settings) {
			settings = jQuery.extend({
					over: .5,
					out: 1 ,
					first:0 ,
					flag:'fade' // fade , changeColor , background
				},settings);
				var obj=this;
				
				function _fade(){
					var OverVal=_setValue(settings.over);
					var OutVal=_setValue(settings.out);
					obj.hover(function(){$(this).animate({'opacity':OverVal['opa']});},function(){$(this).animate({'opacity':OutVal['opa']});});
					
				}
				
				function _changeColor(){
					obj.hover(function(){$(this).css({'color':settings.over});},function(){$(this).css({'color':settings.out});});
				}
				
				function _background(){
					obj.hover(function(){$(this).css({'background':settings.over});},function(){$(this).css({'background':settings.out});});
				}
				
				function _firstStat(){
					var FirstVal=_setValue(settings.first);
					if( parseFloat(settings.first)!=0){
						obj.css({'opacity':FirstVal['opa'],'filter':'alpha(opacity=' +FirstVal['alpha']+')'});
					}
				}
				
				function _setValue(v){
					var returns=Array();
					if( parseFloat(v)!=0){
						returns['opa']=parseFloat(v);
						returns['opa']=(returns['opa']>0)?returns['opa']:returns['opa']/100;
						returns['alpha']=parseFloat(v);
						returns['alpha']=(returns['alpha']<0)?returns['alpha']:returns['alpha']*100;
						return returns;
					}else{return false;}
				}
				
				switch (settings.flag){
					case 'changeColor':
						_changeColor();
						break;
					case 'background':
						_background();
						break;
					default:
						_fade();
				}_firstStat();
			}
})(jQuery);