/*!
*
*
* Arte Hover 1.0
* http://arte.dp.ua/blog/arte-hover
*
* Web Design Studio 'Arte'
* http://arte.dp.ua
* Copyright 2011, Ustimenko Sergei
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://www.opensource.org/licenses/mit-license.php
* http://www.opensource.org/licenses/gpl-2.0.php
*
* Date: 17 / 05 / 2011
* Depends on library: jQuery 
*
* 
*/
jQuery.fn.ArteHover = function(animSpeed, overCallback, outCallback) {
	if(animSpeed == undefined) { animSpeed = 250; }

	var checkFunc = function(hItem, overClass, animSpeed){
		if(jQuery(hItem).attr('locked') != 'true' ) {
			jQuery(hItem).attr('checked', 'false');
			if( (jQuery(hItem).attr('overed') == 'false') && (jQuery(hItem).attr('mouseover') == 'true') )	{
				jQuery(hItem).children(overClass).fadeIn(animSpeed, function(){ jQuery(hItem).attr('overed', 'true'); if(overCallback != undefined){ overCallback(); } checkFunc(hItem, overClass, animSpeed); });
			}
			else if( (jQuery(hItem).attr('overed') == 'true') && (jQuery(hItem).attr('mouseover') == 'false') )	{
				jQuery(hItem).children(overClass).fadeOut(animSpeed, function(){ jQuery(hItem).attr('overed', 'false'); if(outCallback != undefined){ outCallback(); } checkFunc(hItem, overClass, animSpeed); });
			}
			else{
				jQuery(hItem).attr('checked', 'true');
			}
		}
	}
	jQuery(this).each(function(){
		jQuery(this).prepend('<div class="thumb_bw" style="background:url('+jQuery(this).children('img').attr('src')+') no-repeat 0% 100%; position:absolute; height:'+jQuery(this).height()+'px; width:'+jQuery(this).width()+'px;"></div> <div class="thumb_norm" style="display:none; background:url('+jQuery(this).children('img').attr('src')+') no-repeat 0% 0%; position:absolute; height:'+jQuery(this).height()+'px; width:'+jQuery(this).width()+'px;"></div>');
		jQuery(this).mouseenter(function(){
			jQuery(this).attr('mouseover', 'true');
			if(jQuery(this).attr('overed') == undefined) {
				jQuery(this).attr('overed', 'false');
			}
			if(jQuery(this).attr('checked') == undefined) {
				jQuery(this).attr('checked', 'true');
			}	
			if(jQuery(this).attr('checked') == "true")	{
				checkFunc(this, '.thumb_norm', animSpeed);
			}
		});
		jQuery(this).mouseleave(function(){
			jQuery(this).attr('mouseover', 'false');
			if(jQuery(this).attr('checked') == "true")
			{
				checkFunc(this,'.thumb_norm', animSpeed);
			}	
		});
	});
	return this;
};

