ws_blinds = function(options){
	var $ = jQuery;
	var $IMGs;
	var parts=[];
	var prevIndex=0;
	var $partscont;

	this.init = function(aCont){
	   var cnt=3; // count if parts

	   var $container = $(aCont);
	   $IMGs = $('a', $container).find('img');
	   $IMGs.each(function(index){
			   if(index) $(this).hide()
	   });

	   $partscont = $('<div></div>'); // additional content for image with border,margin...
	   $partscont.css({
			   position: 'absolute',
			   width: options.width+'px',
			   height: options.height+'px',
			   left: (options.outWidth - options.width)/2 + 'px',
			   top: (options.outHeight - options.height)/2 + 'px'
	   });
	   $container.append($partscont);

	   for (var i=0;i<cnt;i++) parts[i] = $('<div></div>');
	   $(parts).each(function(index){
			   $(this).css({
					   position: 'absolute',
					   'background-repeat': 'no-repeat',
					   height: '100%',
					   border: 'none',
					   margin: 0,
					   top: 0,
					   left: Math.round(100/cnt)*index + '%',
					   width: ((index<cnt-1)? Math.round(100/cnt): 100-Math.round(100/cnt)*(cnt-1)) + '%'
			   });
			   $partscont.append(this);
			   $partscont.hide();
	   });
	};


	this.go = function(index){
		for (var i=0; i<parts.length; i++) parts[i].stop(true,true);

		var     dir = prevIndex>index? 1: 0; //1 or 0
		prevIndex = index;


		function startPart(part_i, func){
			   var $part = parts[part_i];
			   var w = $part.width();

			   var img = $IMGs.get(index);

			   $part.css({
					   'background-position': (!dir? (-$(img).width()): ($(img).width()-$part.position().left))+'px 0',
					   'background-image': 'url(' + img.src + ')'
			   });

			   $part.animate(
					   {'background-position': -$part.position().left + 'px 0'},
					   //var dDur = 2*options.duration / (parts.length*(parts.length + 1));
					   //var dur = dDur*(!dir? (part_i + 1): (parts.length - part_i));
					   //var dur = options.duration/ parts.length;
					   //var dur = options.duration;
					   (options.duration/(parts.length+1)) * (dir? (parts.length-part_i+1): (part_i+2)),
					   func
			   );
		};


		function applyImage(){
			   $IMGs.hide();
			   $($IMGs.get(index)).show();
			   $partscont.hide();
			   $(parts).each(function(){ $(this).css({'background-image':'none'}) });
		}
		$partscont.show();
		for (var i=0; i<parts.length; i++)
			   startPart(i, (!dir&& i==parts.length-1 || dir&&!i)? applyImage: null);
		
		
		return true;
	}
};

// backgroundPosition hooks
/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*/
(function($) {
    // backgroundPosition[X,Y] get hooks
    var $div = $('<div style="background-position: 3px 5px">');
    $.support.backgroundPosition = $div.css('backgroundPosition') === "3px 5px" ? true : false;
    $.support.backgroundPositionXY = $div.css('backgroundPositionX') === "3px" ? true : false;
    $div = null;

    var xy = ["X","Y"];

    // helper function to parse out the X and Y values from backgroundPosition
    function parseBgPos(bgPos) {
        var parts = bgPos.split(/\s/),
            values = {
                "X": parts[0],
                "Y": parts[1]
            };
        return values;
    }

    if (!$.support.backgroundPosition && $.support.backgroundPositionXY) {
        $.cssHooks.backgroundPosition = {
            get: function( elem, computed, extra ) {
                return $.map(xy, function( l, i ) {
                    return $.css(elem, "backgroundPosition" + l);
                }).join(" ");
            },
            set: function( elem, value ) {
                $.each(xy, function( i, l ) {
                    var values = parseBgPos(value);
                    elem.style[ "backgroundPosition" + l ] = values[ l ];
                });
            }
        };
    }

    if ($.support.backgroundPosition && !$.support.backgroundPositionXY) {
        $.each(xy, function( i, l ) {
            $.cssHooks[ "backgroundPosition" + l ] = {
                get: function( elem, computed, extra ) {
                    var values = parseBgPos( $.css(elem, "backgroundPosition") );
                    return values[ l ];
                },
                set: function( elem, value ) {
                    var values = parseBgPos( $.css(elem, "backgroundPosition") ),
                        isX = l === "X";
                    elem.style.backgroundPosition = (isX ? value : values[ "X" ]) + " " +
                                                    (isX ? values[ "Y" ] : value);
                }
            };
            $.fx.step[ "backgroundPosition" + l ] = function( fx ) {
                $.cssHooks[ "backgroundPosition" + l ].set( fx.elem, fx.now + fx.unit );
            };
        });
    }
})(jQuery);/** WowSlider version 1.1 
 * Created by WowSlider.com
 * Modified 15:20 15.03.2011
 * Using structure
 * <div id=wowslider-container>
 *	<div class=ws_images>
 *		<a id=wows0><img src="..."/></a>...
 *	</div>
 *	<div class=ws_bullets>
 *		<a href="#wows0"></a>...
 *	</div>
 *	<div class=ws_shadow></div>
 * </div>
 */
jQuery.fn.wowSlider = function(options){
	var $this = this;
	var $=jQuery;
	options = $.extend({
		effect:function(options){ // ws_fade
			var images;
			
			this.init = function(aCont){
				images = aCont.find('img');
				images.each(function(Index){
					if (!Index) $(this).show()
					else $(this).hide();
				})
			}
			this.go = function(new_index,curIdx){
				$(images.get(new_index)).fadeIn(options.duration);
				$(images.get(curIdx)).fadeOut(options.duration);
				
				return true;
			}
		},
		prev:"", 
		next:"", 
		duration:1000, 
		delay:20*100, 
		outWidth:960,
		outHeight:360,
		width:960,
		height:360,
		caption: true, 
		controls:true,
		autoPlay:true,
		bullets:true,
		onStep: function(){},
		stopOnHover:0
	}, options);
	
	var $Elements = $this.find('.ws_images A');
	var images = $Elements.find('IMG');

	// 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 frame = $('A.ws_frame',$this).get(0);
	
	
	// init engine function
	var curIdx = 0;
	function go(index){
		if (curIdx == index) return;
		
		// try run effect
		var current = effect.go(index, curIdx);
		if (!current) return;
		if (typeof current != 'object') current = $Elements[index];
		
		curIdx = index;
		go2(index);
		if (options.caption) setTitle(current);
		
		options.onStep(curIdx);
	};
	
	
	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;
	};
	
	function forceGo(event, index){
		stopPlay();
		event.preventDefault();
		go(index)
		restartPlay();		
	}
	
	
	$Elements.find('IMG').css('position','absolute');
	
	// init effect
	if (typeof options.effect=='string') options.effect = window["ws_" + options.effect];
	
	var effect = new options.effect(options,$this);
	effect.init($('.ws_images',$this));
	$Elements.find('IMG').css('visibility','visible');

	
	// ---- reg
	// check and create overlay contaner
	var ic = c = $('.ws_images',$this);
	var t="";
	c = t? $('<div></div>'):0;
	if (c) {
		c.css({
			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>');
		$this.append($next_photo);
		$this.append($prev_photo);
	
		/**
		* when hovering each one of the images, 
		* we show the button to navigate through them
		*
		$this.live('mouseenter',function(){
			$next_photo.show();
			$prev_photo.show();
		}).live('mouseleave',function(){
			$next_photo.hide();
			$prev_photo.hide();
		});*/
		
		$next_photo.bind('click', function (e){ forceGo(e, curIdx<elementsCount-1? curIdx+1: 0) });
		$prev_photo.bind('click', function (e){ forceGo(e, curIdx>0? curIdx-1: elementsCount - 1) });
	};
	
	
	// bullets & tooltip
	function initBullets(){
		$bullets_cont = $this.find('.ws_bullets>div');
		$bullets = $('a', $bullets_cont);
		$bullets.click(function(e){ forceGo(e, $(e.target).index()) });

		
		// Tooltip's
		$thumbs = $bullets.find('IMG');
		if ($thumbs.length){
			// create tooltip frame
			var mainFrame = $('<div class="ws_bulframe"/>').appendTo($bullets_cont);	// main frame
			var imgContainer = $('<div/>').css({width: $thumbs.length + 1+'00%'}).appendTo($('<div/>').appendTo(mainFrame));	// images container
			$thumbs.appendTo(imgContainer);		// move image to new image container
			$('<span/>').appendTo(mainFrame);	// triangle
			
			// move to the bullet
			var curIndex=-1;
			function moveTooltip(index){
				if (index<0) index=0;
				
				$($bullets.get(curIndex)).removeClass('ws_overbull');
				$($bullets.get(index)).addClass('ws_overbull');
				
				mainFrame.show();
				var mainCSS = { left: $bullets.get(index).offsetLeft - mainFrame.width()/2 };
				var contCSS = { left:-$thumbs.get(index).offsetLeft };
				if (curIndex<0){
					mainFrame.css(mainCSS);
					imgContainer.css(contCSS);
				}
				else{
					if (!document.all) mainCSS.opacity = 1;
					mainFrame.stop().animate(mainCSS, 'fast');
					imgContainer.stop().animate(contCSS, 'fast');
				}
				
				curIndex = index;
			}
			
			$bullets.hover(function(){ moveTooltip($(this).index()) });

			// show/hide
			var hideTime;
			$bullets_cont.hover(
				function(){
					if (hideTime) { clearTimeout(hideTime); hideTime=0 };
					moveTooltip(curIndex) 
				},
				function(){
					$bullets.removeClass('ws_overbull');
					if (document.all){
						if (!hideTime) hideTime = setTimeout(function(){ 
							mainFrame.hide();
							hideTime=0; 
						},400);
					}
					else
						mainFrame.stop().animate(
							{ opacity: 0 }, 
							{ duration: 'fast', complete: function(){mainFrame.hide()} }
						);
				}
			);
			$bullets_cont.click(function(e){ forceGo(e, $(e.target).index()) });
		}
	}

	function setBullet(new_index){
		$(".ws_bullets A", $this).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>");
		$this.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', $this);
		$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]);
	if (options.stopOnHover){
		this.bind('mouseover', function(e){ stopPlay() });
		this.bind('mouseout', function(e){ restartPlay() });
	}
	restartPlay();
	
	return this;
};
// init main object
// jQuery(document).ready - conflicted with some scripts
// Transition time = 2.4s = 20/10
// SlideShow delay = 6.5s = 10/10
jQuery('#wowslider-container1').wowSlider({
	effect:"blinds", 
	prev:"prev", 
	next:"next", 
	duration: 20*100, 
	delay:20*100, 
	outWidth:860,
	outHeight:400,
	width:860,
	height:400,
	caption: false, 
	controls:true,
	autoPlay:true,
	bullets:true,
	stopOnHover:false
})


