var speedbb;// = 6000 // milisec timer2 interval
var speedFast = 5000;
var speedSlow = 15000;
var nav,  this_index, timer2, bbsLength, oldbb, bb; 
var i=0, currPic, currAlt;
var isIE7_8= (jQuery.browser.msie && (jQuery.browser.version == '7.0' || jQuery.browser.version == '8.0'))?true:false;
var isIE6= (jQuery.browser.msie && (jQuery.browser.version == '6.0'))?true:false;

var nextbbIndex = null;
var fadingOutProcess = false;


function setNextbb(index) {
	nav.find('li a.current-nav-item').removeClass('current-nav-item');
	nav.find('li a:eq('+index+')').addClass('current-nav-item');
	nextbbIndex = index;
	oldbb = $('#bb-main .current_bb');	
	if (oldbb.length){	
		if (fadingOutProcess==false) {
			hideOldbb(oldbb);				
		} 
	} else {
		showNewbb(nextbbIndex);
	}
}

function oldBbIsHidden(){
	clearInterval(timer3);
	if(oldbb.hasClass('current_bb')){
		oldbb.removeClass('current_bb'); 
		fadingOutProcess = false;  
		showNewbb(nextbbIndex);
	}
}	
function hideOldbb() {	
	fadingOutProcess = true;
	oldbb.stop().animate({opacity:0},400);
	oldbb.find('.bb-panel').css({display:'none'});
	timer3 = setInterval(oldBbIsHidden,400);
	if(oldbb.length && !oldbb.hasClass('loading')){
		hidebbImages(oldbb);
	}
}

function showNewbb(index) {	
    var newbb = $('#bb-main .bb:eq('+index+')');		
	newbb.addClass('current_bb').stop().animate({opacity:1}, 600, function(){timer2 = setInterval(timer2Func,speedbb);});
	newbb.find('.bb-panel').css({display:'block'});	
	if(!newbb.hasClass('loading')){
		redrawbbImages(newbb);
	}
}


function timer2Func(){
  clearInterval(timer2);
  this_index=nav.children().index(nav.find('a.current-nav-item').parent())+1;			
  if (this_index >(bbsLength-1)) {
    this_index = 0;
  }
  speedbb = speedFast;
  setNextbb(this_index);
}


function redrawbbImages(bb){	
	bb.find('.bg-img').stop().css({opacity:1, left:0});	
	bb.find('.icon-img').stop().css({opacity:1, left:bb.data().ico_start});	
	bb.find('.text-top').stop().css({opacity:1, left:bb.data().top_start}); 
	bb.find('.text-bot').stop().css({opacity:1, left:bb.data().bot_start});
}

function hidebbImages(bb){
	bb.find('.bg-img').stop().animate({left:bb.data().imgEnd},1000);
	bb.find('.icon-img').stop().animate({left:bb.data().ico_end},1000);
	bb.find('.text-top').stop().animate({left:bb.data().top_end},1000);
	bb.find('.text-bot').stop().animate({left:bb.data().bot_end},3000);
}

// load inner pictures
function bbLoaded(bb){
	bb.removeClass('loading');		
	bb.find('.bg-img').css({opacity:0, visibility:'visible'}).animate({opacity:1},500);
	bb.find('.icon-img').css({opacity:0, visibility:'visible'}).animate({opacity:1},500);
	bb.find('.text-top').css({opacity:0, visibility:'visible'}).animate({opacity:1},500);
	bb.find('.text-bot').css({opacity:0, visibility:'visible'}).animate({opacity:1},500);
}

function setPicToLoad(bb){			
	 if(bb.data().i < bb.children('img').length){
	  	bb.data().currPic = bb.children('img').eq(bb.data().i);
	 	bb.data().currAlt = bb.data().currPic.attr("alt");
	 	loadImg(bb);
	 } else {		
		bbLoaded(bb);
	 }
}	
	  
function loadImg(bb){
	  var img = new Image(); 
	  $(img)
		.load(function () {
		  bb.data().i =  bb.data().i+1;
		  $(this).attr("class",bb.data().currPic.attr("class"));
		  
		  bb.data().currPic.replaceWith($(this));			 
		  $(this).css("visibility","hidden");		
		  setPicToLoad(bb);
		}).attr('src', bb.data().currAlt);
 }	
//

jQuery(document).ready(function($) {		

		$('#bb-main #bb-cloud-solutions').data({ top_start:136, top_end:0,   bot_start:135,bot_end:-100, imgEnd:50});
		$('#bb-main #bb-mobile-solutions').data({top_start:614, top_end:800, bot_start:612,bot_end:1600, imgEnd:-50});
		$('#bb-main #bb-ssic').data({top_start:544, top_end:800, bot_start:542,bot_end:1600, imgEnd:-50});
		$('#bb-main #bb-sdlc-solutions').data({  top_start:277, top_end:400, bot_start:279,bot_end:700,  imgEnd:0, ico_start:29, ico_end:-30});
		$('#bb-main #bb-phd').data({  top_start:139, top_end:0, bot_start:298, bot_end:800, imgEnd:0});
		$('#bb-healthcare-solutions').data({top_start:498, top_end:700, bot_start:496,bot_end:1400, imgEnd:-50});
		
		bb = $('#bb-main');
		nav =  $('<ul class="nav" />');	
		bb.append(nav);
		bb.children('div.bb').each( function() {														
			 var navItem = $('<li />');
			 nav.append(navItem);
			 var button =  $('<a class="button" href=""/>');	
			 button.data({bb:$(this)});
			 navItem.append(button);
			 var tooltip =  $('<div class="tooltip"><span class="left"/>'+$(this).children(".bb-panel").attr("title")+'<span class="right"/></div>');	
			 navItem.append(tooltip);
			 $(this).children(".bb-panel").attr("title", $(this).children(".bb-button").text());
			 var tooltipLeftOffset = parseInt(-tooltip.width()/2-5);
			 tooltip.css({marginLeft:tooltipLeftOffset});
			 tooltip.hide();			 
			 $(this).addClass('loading').css({opacity:0});			 	
			 $(this).data().i = 0;	
			 setPicToLoad($(this));
		});
		var navLeftOffset = parseInt(-(nav.width()-15)/2);
		nav.css({marginLeft:navLeftOffset});	
		
		bbsLength= $('#bb-main .bb').length;		
		
		$('#bb-main .bb').eq(0).css({opacity:1});
		speedbb = speedFast;
		setNextbb(0);	
		
		nav.find("a").click( function(){
			if(!$(this).hasClass('current-nav-item')){								
				clearInterval(timer2);	
				speedbb = speedSlow;			
				if (!isIE7_8){
					$(this).parent().siblings().find('.tooltip').stop().fadeTo(100,0);
				} else {
					$(this).parent().siblings().find('.tooltip').hide();
				}
				this_index=	nav.children().index($(this).parent());
				setNextbb(this_index);		
			}
			return false;
	   });	 
	  
	   
	   nav.find("a").mouseenter(function(){
		  				if(!$(this).hasClass('current-nav-item')){	
							if (!isIE7_8){
							  $(this).siblings(".tooltip").stop().fadeTo(200,1);
							} else {
							  $(this).siblings(".tooltip").show();
							}
						}
					 }).mouseleave(function(){						 
							 if (!isIE7_8){
							  $(this).siblings(".tooltip").stop().fadeTo(100,0);
							 } else {
							  $(this).siblings(".tooltip").hide();
							 }						
					 });
	        
})
