var preloader			= false;
var preloaderId			= 'preloader';

var preloaderClass		= 'kit';

var preloaderZindex		= 1;

var preloaderTimer 		= false;
var preloaderInterval	= 100;

var preloaderAsset		= false;

var preloaderFrameWidth = 47;
var preloaderNoFrames 	= 11;
var preloaderCurrentFrame = 0;
var preloaderCurrentPosition = 0;
var preloaderHideFuncCalled = true;

function showPreloader(box)
{
	debug(preloaderDebug, 	"show preloader");
	checkPreloader(box);
	startPreloader();
	if(preloader)
	{
		//preloader.animate({"opacity":1}, 100, 'linear');
	}
}

function hidePreloader(box, onHideFunction)
{
	debug(preloaderDebug, 	"hide preloader");
	preloaderHideFuncCalled = false;
	checkPreloader(box);
	stopPreloader();
	if(preloader)
	{
		if(onHideFunction == null)
		{
			preloader.remove();
			//preloader.animate({"opacity":0}, 100, 'linear', function(){preloader.remove();});
		}
		else
		{
			preloader.remove(); onHideFunction(); preloaderHideFuncCalled = true;
			//preloader.animate({"opacity":0}, 100, 'linear', function(){preloader.remove(); onHideFunction(); preloaderHideFuncCalled = true;});
		}
	}
}

function getBox()
{
	if(!is_mobile)
	{
		var box = $('#content_layer');
		if(box.size()==0)
		{
			box = $('#content_layer_gallery');
		}
		preloaderZindex = $('#content_layer_wrap').css('z-index');
		return box;
	}
	return false;
}

function checkPreloader(box)
{
	var suppliedBox = true;
	if(box == null)
	{
		suppliedBox = false;
		box = getBox();
	}
	if(box && box != null)
	{
		if(preloader)
		{
			preloader.remove();
		}
		if(box.size() > 0)
		{
			var html = '<div id="'+preloaderId+'"><div class="holder"><div class="'+preloaderClass+'"></div></div></div>';
			box.append(html);
			preloader = $('#'+preloaderId+", #"+preloaderId+" .holder");
			if(preloader.size() > 0)
			{
				if(is_mobile)
				{
					preloader.height(box.height()).width(box.width()).css('z-index', preloaderZindex);
				}
				else
				{
					preloader.height('100%').width('100%').css('z-index', preloaderZindex);
				}
				preloaderAsset = $("#"+preloaderId+" .holder ."+preloaderClass);
			}
			else
			{
				preloader = false;
			}
		}
	}
}

function startPreloader()
{
	preloaderCurrentFrame 	= 0;
	preloaderTimer 			= setInterval("doPreloaderNextFrame()", preloaderInterval);
	//debug(preloaderDebug, 	"pfw: "+preloaderFrameWidth+",pf: "+preloaderNoFrames);
}

function stopPreloader()
{
	if(preloaderTimer)
	{
		clearTimeout(preloaderTimer);
		preloaderTimer = false;
	}
}

function doPreloaderNextFrame()
{
	preloaderCurrentFrame+= 1;
	if(preloaderCurrentFrame == preloaderNoFrames)
	{
		preloaderCurrentFrame = 0;
	}
	preloaderCurrentPosition = preloaderCurrentFrame*(-preloaderFrameWidth);
	preloaderAsset.css('background-position', preloaderCurrentPosition+'px 0px');
	//debug(preloaderDebug, "pcp: "+preloaderCurrentPosition);
	//preloaderAsset.css('position', 'absolute').css('left', preloaderCurrentPosition);
	//$("#"+preloaderId+" .holder ."+preloaderClass).html('<img src="'+base_url+preloaderSrc+'" style="position:absolute; left:'+preloaderCurrentPosition+'px;" />');
}









