jQuery.noConflict();

var Cursor = new Object();

jQuery(function()
{
	jQuery('.products-list .item').bind('mouseenter', function()
	{
		jQuery(this).addClass('hover');
	});
	
	jQuery('.products-list .item').bind('mouseleave', function()
	{
		jQuery(this).removeClass('hover');
		jQuery(this).css('background-position', '999px 999px');
	});
	
	jQuery(document).bind('mousemove', function( Event )
	{
		Cursor = {X: Event.pageX, Y: Event.pageY};
		
		jQuery('.products-list .item.hover').each(function()
		{
			var Offset = jQuery(this).offset();
			var OffsetLeft = Math.round((Cursor.X-Offset.left)/jQuery(this).width()*10000)/100;
			var OffsetTop = Math.round((Cursor.Y-Offset.top)/jQuery(this).height()*10000)/100;
			
			jQuery(this).css('background-position', OffsetLeft+'% '+OffsetTop+'%');
		});
	});
});

function b64dec(encStr) {
	
	var bits;
	var address;
	var decOut = '';
	var i = 0;
	var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

	for(; i<encStr.length; i += 4) {
		
		bits = (base64s.indexOf(encStr.charAt(i)) & 0xff) <<18 | (base64s.indexOf(encStr.charAt(i +1)) & 0xff) <<12 | (base64s.indexOf(encStr.charAt(i +2)) & 0xff) << 6 | base64s.indexOf(encStr.charAt(i +3)) & 0xff;
		
		decOut += String.fromCharCode((bits & 0xff0000) >>16, (bits & 0xff00) >>8, bits & 0xff);
		
	}

	if( encStr.charCodeAt(i-2) == 61 ) return decOut.substring(0, decOut.length -2);
	else if( encStr.charCodeAt(i-1) == 61 ) return decOut.substring(0, decOut.length -1);
	else return decOut;
	
}
