var transitions = ['dissolve', 'flyleft', 'flytop']
var currentSlide;
var slidesHolder;
var currentPos = 0; //Default Slide
var blogEntries;
var maxSlides;
var intervalID = 0;

$(function() {
	
	homeSlideInit();
	blogSliderInit();

});

function blogSliderInit() {
	
	/* $('#blogentries_container').cycle({ 
			fx:     'uncover', 
			speed:  'fast',  
			timeout: 0, 
			next:   '#blog-right_arrow', 
			prev:   '#blog-left_arrow' 
		});
	*/
	$('div#blogpost-0').css('display', 'block');
	smallCaretReInit('div#blogpost-0');
	
	var homePageBlogSlider = $('div#blog_slider');
	var entriesContainer = $('div#blogentries_container');
	
	blogEntries = entriesContainer.find('div.blog_entry');
	var maxPosts = blogEntries.length;
	var currentBlogPost = 0;
	
	$('a#blog-left_arrow').click(function(e) {
		if (currentBlogPost > 0) {
			currentBlogPost--;
			changeBlogPost('prev', currentBlogPost);
		} else {
			currentBlogPost = maxPosts - 1;
			changeBlogPost('nochange', currentBlogPost);
		}
		
		////console.log('currentBlogPost: ' + currentBlogPost);
	});
	
	$('a#blog-right_arrow').click(function(f) {
		if (currentBlogPost < maxPosts - 1) {
			currentBlogPost++;
			changeBlogPost('next', currentBlogPost);
		} else {
			currentBlogPost = 0;
			changeBlogPost('nochange', currentBlogPost);
		}
		
	});
}

function changeBlogPost(movement, blogpostID) {
	////console.log('inside changeBlogPost');
	
	var blogID = 'div#blogpost-' + blogpostID;
	var displayPost = $(blogID);
	
	//console.log(blogEntries.not(blogID));
	//console.log(displayPost);
	if($.browser.msie) {
		blogEntries.not(blogID).css({'display': 'none'});
		displayPost.css({'display': 'block'});
	} else {
		blogEntries.not(blogID).animate({opacity: 0, left: -150}, 400, 'linear', function() { $(this).css({'display': 'none', left: 0}); });
		displayPost.css({'display': 'block', opacity: 0});
		displayPost.animate({opacity: 1}, 400, 'linear', function() {});
		smallCaretReInit(blogID);
	}
}



function homeSlideInit() {
	currentSlide = 0;
	$('div#slide-0').css('display', 'block');
	
	slidesHolder = $('div#slider div.slides');
	theslides = slidesHolder.find('div[id|=slide]');
	maxSlides = theslides.length;
	
	// Store Original Position and Styling Information in '.data'
	$(theslides).each(function(e) {
		var slideBG = $(this);
		var slideTitle = $(this).find('div.slide-title');
		var slideText = $(this).find('div.slide-text');
		
		slideBG.data('left', slideBG.css('left'));
		slideBG.data('top', slideBG.css('top'));
		slideBG.data('backgroundPosition', slideBG.css('background-position'));
		slideBG.data('marginLeft', slideBG.css('margin-left'));
		slideBG.data('marginTop', slideBG.css('margin-top'));
		
		slideTitle.data('left', slideTitle.css('left'));
		slideTitle.data('top', slideTitle.css('top'));
		slideTitle.data('backgroundPosition', slideTitle.css('background-position'));
		slideTitle.data('marginLeft', slideTitle.css('margin-left'));
		slideTitle.data('marginTop', slideTitle.css('margin-top'));
		
		slideText.data('left', slideText.css('left'));
		slideText.data('top', slideText.css('top'));
		slideText.data('backgroundPosition', slideText.css('background-position'));
		slideText.data('marginLeft', slideText.css('margin-left'));
		slideText.data('marginTop', slideText.css('margin-top'));
	});
	
	$('#slide-previous').click(function(e) {
		if (currentSlide > 0) {
			currentSlide--;
			changeSlide('prev', currentSlide);
		} else {
			currentSlide = maxSlides - 1;
			changeSlide('golast', currentSlide);
		}
	});
	
	$('#slide-next').click(function(f) {
		if (currentSlide < maxSlides - 1) {
			currentSlide++;
			changeSlide('next', currentSlide);
		} else {
			currentSlide = 0;
			changeSlide('reset', currentSlide);
		}
	});
	
	//Commit the original left position values for the slide nav buttons
	var mainSliderPrev = $('#slide-previous');
	var mainSliderNext = $('#slide-next');
	mainSliderPrev.data('left', mainSliderPrev.css('left'));
	mainSliderNext.data('left', mainSliderNext.css('left'));
	
	if($.browser.msie) {
		
	} else if($.browser.webkit) {
		
		intervalID = setInterval ( "changeSlideByTimer()", 10000 );
		
	} else {
		
		$('#slide-previous').hover(
			function(e) {
				$(this).css('opacity', 0);
				$(this).css('left', '15px');
				$(this).animate({left: $(this).data('left'), opacity: 1}, 350,'easeOutQuad', function() {})
			},
			
			function(e) {
				$(this).stop(true, false);
				$(this).css('left', $(this).data('left'));
				$(this).css('opacity', 1);
			}
		);
		
		$('#slide-next').hover(
			function(e) {
				$(this).css('opacity', 0);
				$(this).css('left', '-15px');
				$(this).animate({left: $(this).data('left'), opacity: 1}, 350,'easeOutQuad', function() {})
			},
			
			function(e) {
				$(this).stop(true, false);
				$(this).css('left', $(this).data('left'));
				$(this).css('opacity', 1);
			}
		);
		
		intervalID = setInterval ( "changeSlideByTimer()", 10000 );
		
	}
}

function changeSlide(movement, slideID) {
	clearInterval(intervalID);
	var prevSlide;
	var newSlide;
	
	if (movement == 'prev') {
		prevSlide = slideID + 1;
		
	} else if (movement == 'next' || movement == 'timer') {
		prevSlide = slideID - 1;
		
	} else if (movement == 'reset') {
		prevSlide = maxSlides - 1;
		
	} else if (movement == 'golast') {
		prevSlide = 0;
	}
	
	prevSlide = 'div#slide-' + prevSlide;
	newSlide = 'div#slide-' + slideID;
	$(prevSlide).css('display', 'none');
	$(newSlide).css('display', 'block');

	var slideTitle = $(newSlide).find('div.slide-title');
	var slideText = $(newSlide).find('div.slide-text');
	var slideBG = $(newSlide);
	
	var titleTrans = slideTitle.attr('rel');
	var textTrans = slideText.attr('rel');
	var bgTrans = slideText.attr('rel');
	
	var newTitlePosX = parseFloat(slideTitle.css('margin-left')) - 1000;
	var newTextPosX = parseFloat(slideText.css('margin-left')) + 1000;
	slideTitle.css('margin-left', newTitlePosX + 'px');
	slideText.css('margin-left', newTextPosX + 'px');
	
	if($.browser.msie) {
		
	} else {
		slideBG.css('backgroundPosition', '-1000px 500px')
		//slideBG.css('backgroundPosition', '0px 0px')
		slideBG.css('opacity', 0)
		slideBG.animate({backgroundPosition: slideBG.data('backgroundPosition'), opacity: 1}, 500, 'easeOutQuad', function() {});
	}
	
	
	slideTitle.delay(100).animate({marginLeft: slideTitle.data('marginLeft')}, 500, 'easeOutQuad', function() {});
	slideText.delay(200).animate({marginLeft: slideText.data('marginLeft')}, 500, 'easeOutQuad', function() {});
	
	intervalID = setInterval ( "changeSlideByTimer()", 10000 );
}

function changeSlideByTimer() {
	//console.log('timer triggered');
	//console.log(currentSlide);
	if (currentSlide < maxSlides - 1) {
			currentSlide++;
			changeSlide('next', currentSlide);
		} else {
			currentSlide = 0;
			changeSlide('reset', currentSlide);
		}
	//changeSlide('timer', currentSlide);
}
