ws_fade = function (options){
	var $ = jQuery;
	options.duration = options.duration || 1000;
	
	var Images = [];
	var curIdx = 0;
	
	this.init = function(aCont){
		Images = $('img', aCont).get();
		$(Images).each(function(Index){
			if (!Index) $(this).show()
			else $(this).hide();
		})
	}
	this.go = function(new_index){
		$(Images).each(function(Index){
			if (Index == new_index) $(this).fadeIn(options.duration);
			if (Index == curIdx) $(this).fadeOut(options.duration);
		});
		curIdx = new_index;
		
		return true;
	}
}
/** WowSlider version 1.0 
 * Created by WowSlider.com
 * Modified 8:58 07.12.2010
 * Using structure
 * <div id=wowslider-container>
 *	<div id=wowslider-images>
 *		<a id=wows0><img src="..."/></a>...
 *	</div>
 *	<div class=ws_bullets>
 *		<a href="#wows0"></a>...
 *	</div>
 * </div>
 */
function WowSlider(options){
	var $=jQuery;
	options = options || {};
	
	
	var $Elements = $('#wowslider-images A');

	// store text and remove from element to fix white gap in google chrome
	$Elements.each(function(index){
		var inner = $(this).html()||""; 
		var pos = inner.indexOf('>', inner);
		if (pos>=0){
			$(this).data('descr', inner.substr(pos+1));
			if (pos<inner.length-1) $(this).html(inner.substr(0,pos+1));
		};
		$(this).css({'font-size': 0});
	});
	
	
	var elementsCount = $Elements.length; // init first because effect may added self elements
	var $ws_container = $('#wowslider-container');
	var frame = $('A#wowslider-frame').get(0);
	
	
	// init engine function
	var curIdx = 0;
	function go(index){
		if (curIdx == index) return;
		
		// try run effect
		var current = effect.go(index);
		if (!current) return;
		if (typeof current != 'object') current = $Elements[index];
		
		curIdx = index;
		go2(index);
		if (options.caption) setTitle(current);
	};
	
	
	function go2(index){
		if (options.bullets) setBullet(index);
		if (frame) frame.setAttribute('href', $Elements.get(index).href);
	}
	
	// autoplay
	var autoPlayTimer;
	function restartPlay(){
		stopPlay();
		
		if (options.autoPlay)
			autoPlayTimer = setTimeout(function(){
					go(curIdx<elementsCount-1? curIdx+1: 0);
					restartPlay();
				}, 
				options.delay + options.duration
			);
	};
	function stopPlay(){
		if (autoPlayTimer) clearTimeout(autoPlayTimer);
		autoPlayTimer = null;
	};
	
	
	$Elements.find('IMG').css('position','absolute');
	
	// init effect
	var effect = new window["ws_" + options.effect](options);
	effect.init($('#wowslider-images'));
	$Elements.find('IMG').css('visibility','visible');

	
	// ---- reg
	// check and create overlay contaner
	var ic = c = $('#wowslider-images');
	var t="WOWSlider.com";
	c = t? $('<div></div>'):0;
	if (c) {
		c.css({
			display:'none',
			position:'absolute',
			right:'2px',
			bottom:'2px',
			padding:'0 0 0 0'
		});
		ic.append(c);
	};

	// for IE use iframe
	if (c && document.all){
		var f = $('<iframe src="javascript:false"></iframe>');
		f.css({
			position:'absolute',
			left:0,
			top:0,
			width:'100%',
			height:'100%',
			filter:'alpha(opacity=0)'
		});
		
		f.attr({
			scrolling:"no",
			framespacing:0,
			border:0,
			frameBorder:"no"
		});
		
		c.append(f);
	};
	
	var d = c? $(document.createElement("A")):c;
	if(d){
		d.css({
			position:'relative',
			display:'block',
			'background-color':'#E4EFEB',
			color:'#837F80',
			'font-family':'Lucida Grande,sans-serif',
			'font-size':'11px',
			'font-weight':'normal',
			'font-style':'normal',
			'-moz-border-radius':'5px',
			'border-radius':'5px',
			padding:'1px 5px',
			width:'auto',
			height:'auto',
			margin:'0 0 0 0',
			outline:'none'
		});
		d.attr({href:'ht'+'tp://' + t.toLowerCase()});
		d.html(t);
		d.bind('contextmenu', function(eventObject){
			return false;
		});
		
		c.append(d);
	}
	// ---- reg
	
	// add arrows
	if (options.controls){
		var $next_photo = $('<a href="#" class="ws_next">'+options.next+'</a>');
		var $prev_photo = $('<a href="#" class="ws_prev">'+options.prev+'</a>');
		$ws_container.append($next_photo);
		$ws_container.append($prev_photo);
	
		/**
		* when hovering each one of the images, 
		* we show the button to navigate through them
		*
		$ws_container.live('mouseenter',function(){
			$next_photo.show();
			$prev_photo.show();
		}).live('mouseleave',function(){
			$next_photo.hide();
			$prev_photo.hide();
		});*/
		
		$next_photo.bind('click', function (e){
			stopPlay();
			e.preventDefault();
			go(curIdx<elementsCount-1? curIdx+1: 0)
			restartPlay();
		});
		$prev_photo.bind('click', function (e){
			stopPlay();
			e.preventDefault();
			go(curIdx>0? curIdx-1: elementsCount - 1);
			restartPlay();
		});
	};
	
	
	// bullets
	function initBullets(){
		$bullets = $('.ws_bullets a', $ws_container);
		$bullets.each(function(index){
			$(this).bind('click', function(e){
				stopPlay();
				e.preventDefault();
				go(index);
				restartPlay();
			});
		});
	}

	function setBullet(new_index){
		$(".ws_bullets A", $ws_container).each(function(index){
			if (index == new_index)
				$(this).addClass("ws_selbull")
			else
				$(this).removeClass("ws_selbull");
		})
	}
	
	
	// create title bar
	if (options.caption){
		$caption = $("<div class='ws-title' style='display:none'></div>");
		$ws_container.append($caption);
		$caption.bind('mouseover', function(e){ stopPlay() });
		$caption.bind('mouseout', function(e){ restartPlay() });
	}
	
	function setTitle(A){
		var title = $('img', A).attr("title");
		var descr = $(A).data('descr');
		
		var $Title = $('.ws-title', $ws_container);
		$Title.hide();
		if (title||descr){
			$Title.html((title? '<span>'+title+'</span>': '') + (descr? '<div>'+descr+'</div>': ''));
			$Title.fadeIn(400,function(){if($.browser.msie) $(this).get(0).style.removeAttribute('filter') });//css({opacity: 0}).animate({opacity: 'show'}, 400);
		}
	}
	
	// init
	if (options.bullets) initBullets();
	go2(0);
	if (options.caption) setTitle($Elements[0]);
	restartPlay();
};

// init main object
// jQuery(document).ready - conflicted with some scripts
// Transition time = 2.4s = 50/10
// SlideShow delay = 6.5s = 10/10
var wowSlider = new WowSlider({
	effect:"fade", 
	prev:"", 
	next:"", 
	duration: 10*100, 
	delay:50*100, 
	outWidth:960,
	outHeight:391,
	width:960,
	height:391,
	caption: true, 
	controls:false,
	autoPlay:true,
	bullets:false
})


