/*
 *
 * OPSI-specific functions
 *
 */
jQuery(document).ready(function(){

	// Homepage carousel
	if( jQuery('#opsi-carousel').length > 0 ){
		var scroll = 3;
		var time = 15;
		jQuery.easing.easeInOutQuad = function (x, t, b, c, d) {
				if ((t/=d/2) < 1) return c/2*t*t + b;
				return -c/2 * ((--t)*(t-2) - 1) + b;
		};
		jQuery('#opsi-carousel').jcarousel({
			auto: time,
			wrap: 'both',
			easing: 'easeInOutQuad',
			scroll: scroll,
	        buttonNextHTML: null,
	        buttonPrevHTML: null,
			itemLoadCallback: {
				onAfterAnimation: function(){
					var current = Math.ceil((parseInt(jQuery('#opsi-carousel').css('left'))/-408)+1);
					jQuery('#opsi-carousel-controls li').removeClass('on');
					jQuery('#control-'+current).addClass('on');
				}
			},
			initCallback: function(carousel){
				var num = Math.ceil(jQuery('#opsi-carousel li').length/scroll);
				jQuery('#opsi-body').prepend('<ul id="opsi-carousel-controls"></ul>');
				for(i=1;i<=num;i++){
					jQuery('#opsi-carousel-controls').append('<li id="control-'+i+'"><a href="#">'+i+'</a>');
				}
				jQuery('#opsi-carousel-controls').css('width',18*num)
				jQuery('.jcarousel-clip').css('width',(126*scroll+10*(scroll-1)));
				jQuery('#opsi-carousel-controls li:first').addClass('on');
				jQuery('#opsi-carousel-controls a').click(function(event){
					event.preventDefault();
					carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()*scroll-2));
					carousel.stopAuto();
					carousel.startAuto();
				});
				carousel.clip.hover(function() {
					carousel.stopAuto();
				}, function() {
					carousel.startAuto();
				});
			}
		});
	}
	
	

	// Project Detail Page carousel
	if( jQuery('#project-carousel').length > 0 ){
		var scroll = 1;
		var time = 7;
		jQuery.easing.easeInOutQuad = function (x, t, b, c, d) {
				if ((t/=d/2) < 1) return c/2*t*t + b;
				return -c/2 * ((--t)*(t-2) - 1) + b;
		};
		jQuery('#project-carousel').jcarousel({
			auto: time,
			wrap: 'both',
			easing: 'easeInOutQuad',
			scroll: scroll,
	        buttonNextHTML: null,
	        buttonPrevHTML: null,
			itemLoadCallback: {
				onAfterAnimation: function(){
					var current = Math.ceil((parseInt(jQuery('#project-carousel').css('left'))/-408)+1);
					jQuery('#project-carousel-controls li').removeClass('on');
					jQuery('#control-'+current).addClass('on');
				}
			},
			initCallback: function(carousel){
				var num = Math.ceil(jQuery('#project-carousel li').length/scroll);		
				jQuery('#project_photos').append('<ul id="project-carousel-controls"></ul>');
				for(i=1;i<=num;i++){
					jQuery('#project-carousel-controls').append('<li id="control-'+i+'"><a href="#">'+i+'</a>');
				}
				jQuery('#project-carousel-controls').css('width',15*num)
				jQuery('.jcarousel-clip').css('width',252);
				jQuery('#project-carousel-controls li:first').addClass('on');
				jQuery('#project-carousel-controls a').click(function(event){
					event.preventDefault();
					carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()*scroll));
					carousel.stopAuto();
					carousel.startAuto();
				});
				carousel.clip.hover(function() {
					carousel.stopAuto();
				}, function() {
					carousel.startAuto();
				});
			}
		});
	}
});
