(function($){
$.logoSlider = function(selector,settings){
	var config = {//default parameters that are used if you dont specify anything in html
		'transitionTimeIn': 2,//transition time in
		'transitionTimeOut': 2,//transition time out
		'interval': 3,//time each logo is shown
		'transitionType': 'y',//transition type
		'transitionIE':'x',//transition type for IE (only when 3D transition is used as default)
		'bannerHeight': 125,//size of logo
		'bannerWidth': 125,
		'easingIn': 'easeOutCirc',//easing for animation that shows the logo
		'easingOut': 'easeOutBounce'//easing for animation that hides the logo
	};
	if ( settings ){
		$.extend(config, settings);
	}

	var obj = $(selector);
	var img = obj.children('img');//getting the image
	var i = 0;   
	var count = img.length;//counting images in each slideshow div

	img.eq(0).show();
	if(!$.browser.msie){
		if (config.transitionType == "3D"){
			for (j = 1 ;j < count;j++){
				img.eq(j).show();
				img.eq(j).rotate3Di(-90, 0);
			}
		}
	}

	if (config.transitionType == "alpha"){//alpha transition
  		setInterval(function(){
            img.eq(i).fadeOut(config.transitionTimeIn*1000);
            i = ( i+1 == count ) ? 0 : i+1;
            img.eq(i).fadeIn(config.transitionTimeOut*1000);
			}, config.interval*1000);
		
	}	
	if (config.transitionType == "3D"){//3D transition
  		if(!$.browser.msie){
			setInterval(function(){
				img.eq(i).rotate3Di(90, config.transitionTimeOut*1000,   {
					complete: myComplete
				});
				if (i == count - 1){
					for (j = 0 ;j < count;j++){
						img.eq(j).show();
						img.eq(j).rotate3Di(-90, 0);
					}
				}
				
				i = ( i+1 == count ) ? 0 : i+1;
				function myComplete() {
					img.eq(i).rotate3Di(0, config.transitionTimeIn*1000);
				}
			}, config.interval*1000);
		}
		if($.browser.msie){//alternative transitions for IE when 3D transition is used
			if (config.transitionIE == "x"){
				setInterval(function(){
				img.eq(i).animate({ height:config.bannerHeight , width:0, opacity:0},config.transitionTimeIn*1000, config.easingIn).css({zIndex:-1});
				i = ( i+1 == count ) ? 0 : i+1;
				img.eq(i).css({height:config.bannerHeight, width:0, opacity:1}).animate({width:config.bannerWidth},config.transitionTimeOut*1000, config.easingOut).css({zIndex:9999});
				}, config.interval*1000);
			}
			if (config.transitionIE == "y"){
				setInterval(function(){
				img.eq(i).animate({ height:0 , width:config.bannerWidth, opacity:0},config.transitionTimeIn * 1000, config.easingIn).css({zIndex:-1});
				i = ( i+1 == count ) ? 0 : i+1;
				img.eq(i).css({width:config.bannerWidth, height:0, opacity:1}).animate({ height:config.bannerHeight, opacity:1},config.transitionTimeOut * 1000, config.easingOut).css({zIndex:9999});
				}, config.interval*1000);
			}
			if (config.transitionIE == "xy"){
				setInterval(function(){
				img.eq(i).animate({ height:0, opacity:0},config.transitionTimeIn * 1000, config.easingIn).css({zIndex:-1});
				i = ( i+1 == count ) ? 0 : i+1;
				img.eq(i).css({height:0, opacity:1}).animate({ height:config.bannerHeight},config.transitionTimeOut * 1000, config.easingOut).css({zIndex:9999});
				}, config.interval*1000);
			}
			if (config.transitionIE == "alpha"){
				setInterval(function(){
				img.eq(i).fadeOut(config.transitionTimeIn*1000);
				i = ( i+1 == count ) ? 0 : i+1;
				img.eq(i).fadeIn(config.transitionTimeOut*1000);
				}, config.interval*1000);
			}
		
		}
	}	
	if (config.transitionType == "x"){// x transition
  		setInterval(function(){

   		   img.eq(i).animate({ height:config.bannerHeight , width:0, opacity:0},config.transitionTimeIn*1000, config.easingIn).css({zIndex:-1});
            i = ( i+1 == count ) ? 0 : i+1;
            img.eq(i).css({height:config.bannerHeight, width:0, opacity:1}).animate({width:config.bannerWidth},config.transitionTimeOut*1000, config.easingOut).css({position:'absolute', zIndex:9999});
		}, config.interval*1000);
		
	}	
	if (config.transitionType == "y"){//y transition
  		setInterval(function(){
         
			img.eq(i).animate({ height:0 , width:config.bannerWidth, opacity:0},config.transitionTimeIn * 1000, config.easingIn).css({zIndex:-1});
            i = ( i+1 == count ) ? 0 : i+1;
            img.eq(i).css({width:config.bannerWidth, height:0, opacity:1}).animate({ height:config.bannerHeight, opacity:1},config.transitionTimeOut * 1000, config.easingOut).css({zIndex:9999});
		}, config.interval*1000);
		
	}	
	if (config.transitionType == "xy"){//xy transition
  		setInterval(function(){

			img.eq(i).animate({ height:0, opacity:0},config.transitionTimeIn * 1000, config.easingIn).css({zIndex:-1});
            i = ( i+1 == count ) ? 0 : i+1;
            img.eq(i).css({height:0, opacity:1}).animate({ height:config.bannerHeight},config.transitionTimeOut * 1000, config.easingOut).css({zIndex:9999});
		}, config.interval*1000);
		
	}	
return this;
    };
})(jQuery);


