
// Project Vars  

//var mcmCurrentSlideShowIndex;

var mcmAdvanceInterval; 
var mcmCtaHoverInterval; 


var mcmSlideOutTimeout;  
var mcmOutProTipTimeout;
var initThumbsTimeout;


var mcmIE = getInternetExplorerVersion();  

var mcmSlideInProTipDistance; 

   
	
	// for caching mcm selectors 
var mcms = {}; 


	/* IE PNG fix multiple filters */   


function mcmRebootShow() {

	jQuery(document).stop();
	
	//clear timeouts
	clearTimeout(initThumbsTimeout);
	clearTimeout(mcmSlideOutTimeout);
	clearTimeout(mcmOutProTipTimeout);
	
	//clear intervals
	clearInterval(mcmAdvanceInterval);
	clearInterval(mcmCtaHoverInterval);

}
	


jQuery(document).ready(function() { 
	
	//do some regrettable accommodations for IE 6
	
	if (mcmIE == -1 || mcmIE != 6) {
		mcmSlideInProTipDistance = '0px';
	} else {
		mcmSlideInProTipDistance = '40px';
	}                                       
	
	   
	mcms.carousel = jQuery('#content #home-carousel'); 
	mcms.carousel_pic_list = jQuery('#content #home-carousel #carousel-pic-holder #carousel-pics');       
	mcms.carousel_pro_tip_list = jQuery('#content #home-carousel #carousel-slide-in-pro-tips');           
	mcms.carousel_thumb_list = jQuery('#content #home-carousel #carousel-thumbs-holder #carousel-thumbs');
	mcms.carousel_cta_a = jQuery('#home-carousel div.cta-lower-over a');

	

	// Want to make sure first slide image is ready, then slide CTA images rady, then go

	var objFirstSlideImage = new Image();

	var objCTAbottom_bg = new Image();
	
	var objCTAtop_bg = new Image();

	objFirstSlideImage.onload = function() {
		
	
		objCTAbottom_bg.onload = function () {
		
			objCTAtop_bg.onload = function () {

				jQuery('div#carousel-cta-holder').show();

        			mcmInitializeCarousel();

			}
		
			objCTAtop_bg.src = '/wp-content/uploads/2011/07/semi-trans-white.png';
       
		}	
	    objCTAbottom_bg.src = '/wp-content/uploads/2011/07/cta-bottom.png';   
		
	}
	objFirstSlideImage.src = firstSlideUrl; 
	 	
	
	
	
}); 

function mcmGetCurrentNth() {
	
   return jQuery('li.active', mcms.carousel_pic_list).first().index();
    
} 


function mcmInitializePics(context) {
	jQuery('li', context).first().addClass('active');
	jQuery('li', context).first().customFadeIn(2000, mcmSlideInProTip);
	jQuery('li', context).last().customFadeOut(2000);
}   

function mcmInitializeThumbs(context) { 
	
	var waitTime = 800; 
	
	jQuery('li', mcms.carousel_thumb_list).each(function() {  
		
		//var activeElement = jQuery(this);
		  
		//console.log(activeElement);
	   	//if (mcmIE != -1) { 
		
		//   	activeElement.delay(waitTime).css({opacity: 0.0 , display: 'block'}).animate({opacity: 1}); 
		  
		//} else {
			 
		//}                                    

		
		jQuery(this).delay(waitTime).customFadeIn(800);
		                            
		waitTime = waitTime + 800;                          
		
	});  
	        
	
 
	//alert(mcmIE);
	
 
		initThumbsTimeout = setTimeout( function() {
				jQuery('li a.active', context).first().customFadeIn(1000);
				//jQuery('li a.inactive', context).first().customFadeOut(1000); 
				}, 2400);

	 
} 

function mcmSlideInProTip(refresh) {
	
	
	
	
	//console.log('nth: ' +  mcmGetCurrentNth());                                                           
	mcms.CurrentProTip = jQuery('li:nth-child(' + (mcmGetCurrentNth() + 1) + ')', mcms.carousel_pro_tip_list);
	jQuery('li', mcms.carousel_pro_tip_list).css('display', 'none');

	jQuery('img.pro-tip-arrow', mcms.CurrentProTip).css('left','0px');	
	jQuery('img.pro-tip-arrow', mcms.CurrentProTip).css('display','inline');
	  
	//mcms.CurrentProTip.animate({right: '460px'}, 1000, function () {mcmSlideOutTimeout = setTimeout(mcmSlideOutProTip, 5000)});  
    mcms.carousel_pro_tip_list.animate({left: mcmSlideInProTipDistance}, 1000, function () {
		
		mcms.CurrentProTip.customFadeIn(1000, mcmProTipArrowDance); 
		    
		//jQuery('img.pro-tip-arrow', mcms.CurrentProTip).customFadeIn(700, function () { this.animate({left: '40px'});});
		
		mcmSlideOutTimeout = setTimeout(mcmSlideOutProTip, 8000);
		
		});
}   

function mcmProTipArrowDance () {
	//jQuery('img.pro-tip-arrow', mcms.CurrentProTip).customFadeIn();
	
	if (mcmIE == -1 || mcmIE > 6) { 
		jQuery('img.pro-tip-arrow', mcms.CurrentProTip).fadeIn();
		jQuery('img.pro-tip-arrow', mcms.CurrentProTip).animate({left: '12px', duration: 800});

	} 

} 

function mcmRefreshTipDisplay () {
	jQuery('li',mcms.carousel_pro_tip_list).css('display', 'block');
}


function mcmSlideOutProTip() {  
	
    mcms.CurrentProTip.customFadeOut(1000);
    
	if (mcmIE == -1 || mcmIE > 8) { 
		jQuery('img.pro-tip-arrow', mcms.CurrentProTip).fadeOut( function () {
				jQuery('img.pro-tip-arrow', mcms.CurrentProTip).css({left: '0px'});
		});      
	}		
	

	mcmOutProTipTimeout = setTimeout(function() {mcms.carousel_pro_tip_list.animate({left: '464px'}, 1000);}, 1000);

}


function mcmInitializeCarousel() {  

	mcmRebootShow();
	
	mcmInitializePics(mcms.carousel_pic_list);  
	mcmInitializeThumbs(mcms.carousel_thumb_list); 
	
	mcmAdvanceInterval = setInterval(mcmRunCarousel, 13000); 
	
}                                                        
                     

function mcmAdvancePics(context) {

	jQuery('li.active', context).next('li').addClass('active'); 
	jQuery('li.active', context).first().removeClass('active'); 
	jQuery('li.active', context).customFadeIn(2000, mcmSlideInProTip);
    jQuery('li.active', context).prev('li').customFadeOut(2000);
		 
} 



function mcmAdvanceThumbs(context) {

	jQuery('li:nth-child('+mcmGetCurrentNth()+') a.active', context).customFadeOut(1000);
    
    jQuery('li:nth-child('+ (mcmGetCurrentNth() + 1) + ') a.active', context).customFadeIn(1000);

}

               
function mcmAdvanceCarousel() {
	mcmAdvancePics(mcms.carousel_pic_list);
	mcmAdvanceThumbs(mcms.carousel_thumb_list);
} 

function mcmRefreshCarousel() {
	
	mcmRebootShow();

	clearInterval(mcmAdvanceInterval);
	jQuery('li', mcms.carousel_pic_list).attr('class', '');
	//jQuery('li a.inactive', mcms.carousel_thumb_list).css('display', 'block');
	jQuery('li a.active', mcms.carousel_thumb_list).customFadeOut();
	mcmInitializeCarousel();
}

function mcmRunCarousel() {  
   
	//console.log(jQuery('li.active', mcms.carousel_pic_list).next('li').length);
                                                   
	if  (jQuery('li.active', mcms.carousel_pic_list).next('li').length != 0) {
    	mcmAdvanceCarousel();
	} else {
		mcmRefreshCarousel();
	}                   
	
}    

function mcmHoverThumbsIn () {  
	
		jQuery('a.active', this).customFadeIn(250);

}


function mcmHoverThumbsOut () {                      
	
	if (mcmGetCurrentNth() != jQuery(this).index()) {  
        //jQuery('a.inactive', this).css('display', 'block'); 
		jQuery('a.active', this).customFadeOut(100); 

	} 
		
}    

function mcmSlideCtaArrows () { 

	if (jQuery.data(mcms.carousel_cta_a.mouseover, 'hover')) {
		jQuery.data(mcms.carousel_cta_a.mouseover, 'hover', true);  
		jQuery('img', mcms.carousel_cta_a).animate({left:'4px', duration: 100}, function () {jQuery('img', mcms.carousel_cta_a).animate({left:'0px', duration: 100}); mcmSlideCtaArrows();})		
	} 
	   
}

function mcmHoverCta () {
	jQuery.data(mcms.carousel_cta_a.mouseover, 'hover', true);
	mcmSlideCtaArrows (); 
	   
	//mcmCtaHoverInterval = setInterval(mcmSlideCtaArrows, 200);
}

function mcmHoverCtaOut () {              
	jQuery('img', mcms.carousel_cta_a).stop();     
	jQuery.data(mcms.carousel_cta_a.mouseover, 'hover', false);   
	jQuery('img', mcms.carousel_cta_a).animate({left: '0px'});	
}
                    

//doc ready stuff

jQuery(document).ready(function() {
 	jQuery('li', mcms.carousel_thumb_list).click(function() {  
	    // clear all variables, timeouts, and intervals 
		
		
		mcmRebootShow();
		
		
	    jQuery('li', mcms.carousel_pic_list).attr('class', '');
		jQuery('li:nth-child('+ (jQuery(this).index() + 1) + ')', mcms.carousel_pic_list).addClass('active'); 		
		jQuery('li a.active', mcms.carousel_thumb_list).css('display','none'); 
		jQuery('a.active', this).css('display','block');     
		jQuery('li', mcms.carousel_pic_list).css('display', 'none'); 
		mcms.CurrentProTip.stop();
		mcms.carousel_pro_tip_list.stop();
		jQuery('img.pro-tip-arrow', mcms.CurrentProTip).css({left: '0px'});
		jQuery('img.pro-tip-arrow', mcms.CurrentProTip).fadeOut();
		jQuery(mcms.carousel_pro_tip_list).css({display: 'none', left: '464px'});    
		jQuery(mcms.carousel_pro_tip_list).css('display', 'block');
		jQuery('li:nth-child('+ (jQuery(this).index() + 1) + ')', mcms.carousel_pic_list).customFadeIn(1000, function () {mcmSlideInProTip(true);});
        mcmAdvanceInterval = setInterval(mcmRunCarousel, 13000); 
  
		                                        
	});   
	
	
	jQuery('li', mcms.carousel_thumb_list).hover(mcmHoverThumbsIn, mcmHoverThumbsOut); 
	
	mcms.carousel_cta_a.hover(mcmHoverCta, mcmHoverCtaOut);
	
});

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    if ( ver >= 8.0 ) 
      msg = "You're using a recent copy of Internet Explorer."
    else
      msg = "You should upgrade your copy of Internet Explorer.";
  }
  alert( msg );
} 

(function($) {
	$.fn.customFadeIn = function(speed, callback) {
		$(this).fadeIn(speed, function() {
			if(jQuery.browser.msie)
				$(this).get(0).style.removeAttribute('filter');
			if(callback != undefined)
				callback();
		});
	};
	$.fn.customFadeOut = function(speed, callback) {
		$(this).fadeOut(speed, function() {
			if(jQuery.browser.msie)
				$(this).get(0).style.removeAttribute('filter');
			if(callback != undefined)
				callback();
		});
	};
})(jQuery);

