(function($) { 
	$.fn.easySlider = function(options,dt){
		// default configuration properties
		var defaults = {
			orientation:	'', //  'vertical' is optional;
			speed: 			1300,
			interval:		5000
			
		}; 
		
		var options = $.extend(defaults, options);  
		var s;
		var w;
		var h;
		var ts;
		var t = 0;
		var dir = "next";
		var vertical;
		var loadedI = new Array();
		var tmr;		

    function loadNI(obj,i){
			 var oi= new Image();
			 
			 oi.onload = function() {
				loadedI[i] = true;
			 	 $(obj).html("<a href='"+dt[i].href+"'><img width='310' height='110' src='"+dt[i].nm+"' /></a>");
			 };
			 oi.src=dt[i].nm;
		}	

	
	function next (ob){
					var tmr;
					if (dir == "next"){
						if ((t+1) > ts){
							dir = "prev";
						}else{
							t++;
							if(((t+1)<=ts) && (!loadedI[t+1])){loadNI($(ob).children().children().eq(t+1),t+1);}
						}
					}
					if (dir == "prev"){
						if((t-1) < 0){ dir = "next"}
						else{t--;}
					}

					if(!vertical) {
						p = (t*w*-1);
						$(".parent",ob).animate(
							{ marginLeft: p }, 
							options.speed
						);				
					} else {
						p = (t*h*-1);
						$(".parent",ob).animate(
							{ marginTop: p }, 
							options.speed
						);					
					}
			if(tmr) clearInterval(tmr);
			tmr = setTimeout(function(){next(ob)},options.interval);	

	};

		return this.each(function(ctr) {
		var obj;
						  
			obj = $(this);
			s = $(".parent div", obj).length;
			w = obj.width(); 
			h = obj.height(); 
			ts = s-1;
			
			var i = 0;
			vertical = (options.orientation == 'vertical');
			for (i=0; i<s; i++)
				loadedI[i] = false;

			$(".parent", obj).css('width',s*w);			
			//if(!vertical) $("li", obj).css('float','left');
			loadNI($(obj).children().children().eq(0),0); if(1<s) loadNI($(obj).children().children().eq(1),1);
			if(this.tmr) clearTimeout(this.tmr);
			
			   this.tmr = setTimeout(function(){next(obj)},options.interval);	
			

		});
	  
	};

})(jQuery);