
function SlideShow(){
	//this.slides = new Array();
	this.isAnimating = false;	
	this.index = 0;
	
	if($(".slideShowduplicate").length > 0){
		//alert("removeing clones");
		$(".slideShowduplicate").removeClass("slideShowImage");
		$(".slideShowduplicate").remove();
	}
	
	this.slides = $(".slideShowImage");
	
	if(this.slides.length == 1){
		$(".prev-next").hide();
	}else{
		$(".prev-next").show();
	}
	
	
	//alert("slindes length"+this.slides.length);
	
	if(this.slides.length == 2){
		//alert("adding clones");
		var firstClone = $(".slideShowImage").first().clone();
		var secondClone = $(".slideShowImage").first().next().clone();
		firstClone.addClass("slideShowduplicate");
		secondClone.addClass("slideShowduplicate")
		
	    $(".slideShowImage").last().after(firstClone);
	    $(".slideShowImage").last().after(secondClone);
	
	   // headlineBoxData.push(headlineBoxData[0]);
	   // headlineBoxData.push(headlineBoxData[1]);
	}
	
	this.slides = $(".slideShowImage");
	
	if(this.slides.length > 2){
	    $(".slideShowImage").first().before($(".slideShowImage").last());
	    $(".slideShowImage").last().hide();
		//var tmp = headlineBoxData[headlineBoxData.length-1];
		//headlineBoxData[headlineBoxData.length-1] = headlineBoxData[0];
		//headlineBoxData[0] = tmp;
	}
	
	this.slides = $(".slideShowImage");
	this.slides.css("position","absolute");
	this.slides.hide();
	//this.firstLayout();
	//onResize();
	this.quickLayout();
	
}

SlideShow.prototype.getCurrentSlide = function(){
	//alert(this.slides.length + ":" + this.index);
	//alert(this.index);
	this.slides = $(".slideShowImage");
	
	//var str = this.index + "/r/n";
	//for(var i=0;i<this.slides.length;i++){
	//	str += this.slides[i].getAttribute("src") + "/r/n";	
	//}
	//alert(str);
	
	return this.slides[1];
}

SlideShow.prototype.getHeadlineForSlide = function(slide){
	return {title:$(slide).attr("title"),body:$(slide).attr("body")};
}

SlideShow.prototype.getHeadline = function(){
	return this.getHeadlineForSlide(this.getCurrentSlide());
}

SlideShow.prototype.randomize = function(){
	var seed = Math.round(Math.random()*(this.slides.length-1));
	this.setCurrent(seed);	
}

SlideShow.prototype.setCurrent = function(index){
	this.quickLayout();
	while(this.index < index){
		$(".slideShowImage").last().after($(".slideShowImage").first());	
		this.index++;
	}
	
	$(".slideShowImage").last().hide();
	this.slides = $(".slideShowImage");
	this.quickLayout();
	
}

SlideShow.prototype.firstLayout = function(){
    //alert("second"+this.slides.length);
    if(this.slides.length == 1){
        $(".slideShowImage").css("left",0);
        $(".slideShowImage").show();
        return;
    }
	this.slides.each(
		function(index){
			var width = $(this).width();
			$(this).css("left",(index*width)-width);
			$(this).show();
		}
	)
}

SlideShow.prototype.quickLayout = function(){
    //alert("second"+this.slides.length);
    if(this.slides.length == 1){
        this.slides.css("left",0);
        this.slides.show();
        return;
    }
	this.slides.each(
		function(index){
			var width = $(this).width();
			if(index == 1){
				$(this).css("left",(index*width)-width);
				$(this).css("z-index", 1000);
			}else{
				$(this).css("left",(index*width)-width-(10*index));
				$(this).css("z-index", 100);
			}
			$(this).show();
		}
	)
}

SlideShow.prototype.layout = function(){
	this.isAnimating = true;
	this.slides.each(
		function(index){
			var width = $(this).width();
			if(index == 1){
			    $(this).find(".slide_video").show();
				$(this).css("z-index", 1000);
			}else{
			    $(this).find(".slide_video").hide();
				$(this).css("z-index", 100);
			}
			$(this).animate({
				left: (index*width)-width
			  }, 1000, function() {
				$(this).show();
				slideShow.isAnimating = false;
			  });
		}
	)
}

SlideShow.prototype.next = function(){
	if(this.isAnimating){
		return;	
	}
	this.quickLayout();
	$(".slideShowImage").last().after($(".slideShowImage").first());
	$(".slideShowImage").last().hide();
	this.index++;
	this.index = (this.index==$(".slideShowImage").length)? 0 : this.index;
	this.slides = $(".slideShowImage");
	this.layout();
	
}

SlideShow.prototype.previous = function(){
	if(this.isAnimating){
		return;	
	}
	this.quickLayout();
	$(".slideShowImage").first().before($(".slideShowImage").last());
	this.index--;
	this.index = (this.index==-1)? $(".slideShowImage").length-1 : this.index; 
	this.slides = $(".slideShowImage");
	this.layout();
}


