// JavaScript Document
wt.fn.preloader = function(options){

	var defaults = {
		             delay:100,
					 preload_parent:"a",
					 check_timer:300,
					 ondone:function(){ },
					 oneachload:function(image){  },
					 fadein:500
					};

	// variables declaration and precaching images and parent container
	 var options = wt.extend(defaults, options),
	 root = wt(this) , images = root.find("img").css({"visibility":"hidden",opacity:0}) ,  timer ,  counter = 0, i=0 , checkFlag = [] , delaySum = options.delay ,

	 init = function(){

		timer = setInterval(function(){

			if(counter>=checkFlag.length)
			{
			clearInterval(timer);
			options.ondone();
			return;
			}

			for(i=0;i<images.length;i++)
			{
				if(images[i].complete==true)
				{
					if(checkFlag[i]==false)
					{
						checkFlag[i] = true;
						options.oneachload(images[i]);
						counter++;

						delaySum = delaySum + options.delay;
					}

					wt(images[i]).css("visibility","visible").delay(delaySum).animate({opacity:1},options.fadein,
					function(){ wt(this).parent().removeClass("preloader");   });
				}
			}

			},options.check_timer)


		 } ;

	images.each(function(){

		if(wt(this).parent(options.preload_parent).length==0)
		wt(this).wrap("<a class='preloader' />");
		else
		wt(this).parent().addClass("preloader");

		checkFlag[i++] = false;


		});
	images = wt.makeArray(images);


	var icon = wt("<img />",{

		id : 'loadingicon' ,
		src : 'themes/electrostavr/images/img_load.gif'

		}).hide().appendTo("body");



	timer = setInterval(function(){

		if(icon[0].complete==true)
		{
			clearInterval(timer);
			init();
			 icon.remove();
			return;
		}

		},100);

	}


