// JavaScript Document

$(document).ready(function() {
  	debug('dom ready');
	setEventListeners();
	$('#Callouts li').biggerlink();
	$('.rollover').biggerlink();	
	noFlash();
	jQuery.preloadCssImages();
	init_pngFix();
});


/* png fix
/*-------------------------------------------------------------------------------*/
var init_pngFix = function()
{
	$('body').supersleight();
}  

var setEventListeners = function() {
    debug('setting listeners');	
		$('#MainNav li').hover(function(){addHover(this);}, function(){removeHover(this);});
		$('.BrandingList > li').hover(function(){addRolloverHover(this);}, function(){removeRolloverHover(this);});
    $('.orangeButton').hover(function(){addButtonHover(this);}, function(){removeButtonHover(this);});
	
	$('#shareLink .share').hover(function(){showShare();},null);
	$('#shareLink').hover(null, function(){hideShare();});
}

var noFlash = function(){
	if(swfobject.hasFlashPlayerVersion('8'))
	{
	  //debug('has flash');
	} else {
	  //debug('no flash');
	  $('#Craveable').css('left','520px').css('top','-90px');
	  $('#Craveable h3').css("background","transparent url('img/illustration-craveable.png') left top no-repeat");
	  $('#Naturals').css('left','300px').css('top','20px');
	  $('#Naturals h3').css("background","transparent url('img/illustration-naturals.png') left top no-repeat");
	  $('#Healthy').css('left','752px').css('top','-50px');
	  $('#Healthy h3').css("background","transparent url('img/illustration-helpers.png') left top no-repeat");
	}		
}

var addHover = function(elm, isRollover) {
	debug('addHover: ' + elm.id);
	if(isRollover)
	{
		$(elm).find('.rolloverContainer').addClass('hover');
	} else {
		$(elm).addClass('hover');
	}
}

var removeHover = function(elm, isRollover) {
	debug('removeHover: ' + elm.id);
	if(isRollover)
	{	
		$(elm).find('.rolloverContainer').removeClass('hover');
	} else {
		$(elm).removeClass('hover');
	}
}

var addButtonHover = function(elm) {
	debug('addButtonHover: ' + elm.id);
  $(elm).addClass('hover');
	$(elm).find('a').addClass('hover');
}

var removeButtonHover = function(elm) {
	debug('removeButtonHover: ' + elm.id);
	$(elm).removeClass('hover');
  $(elm).find('a').removeClass('hover');
}


var addRolloverHover = function(elm) {
	debug('addRolloverHover: ' + elm.id);
	  $(elm).find('h3').addClass('hover');
		$(elm).find('.rolloverContainer').addClass('hover');
}

var removeRolloverHover = function(elm) {
	debug('removeRolloverHover: ' + elm.id);
	  $(elm).find('h3').removeClass('hover');	
		$(elm).find('.rolloverContainer').removeClass('hover');
}





jQuery.preloadCssImages = function(){
        var allImgs = [];//new array for all the image urls  
        var k = 0; //iterator for adding images
        var sheets = document.styleSheets;//array of stylesheets
        for(var i = 0; i<sheets .length; i++){//loop through each stylesheet
                var cssPile = '';//create large string of all css rules in sheet
                var csshref = (sheets[i].href) ? sheets[i].href : 'window.location.href';
                var baseURLarr = csshref.split('/');//split href at / to make array
                baseURLarr.pop();//remove file path from baseURL array
                var baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
                if(baseURL!="") baseURL+='/'; //tack on a / if needed
                if(document.styleSheets[i].cssRules){//w3
                        var thisSheetRules = document.styleSheets[i].cssRules; //w3
                        for(var j = 0; j<thisSheetRules.length; j++){
                                cssPile+= thisSheetRules[j].cssText;
                        }
                }
                else {
                        cssPile+= document.styleSheets[i].cssText;
                }
                //parse cssPile for image urls and load them into the DOM
                var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename"
                if(imgUrls != null && imgUrls.length>0 && imgUrls != ''){//loop array
                        var arr = jQuery.makeArray(imgUrls);//create array from regex obj        
                        jQuery(arr).each(function(){
                                allImgs[k] = new Image(); //new img obj
                                allImgs[k].src = (this[0] == '/' || this.match('http://')) ? this : baseURL + this;     //set src either absolute or rel to css dir
                                k++;
                        });
                }
        }//loop
        return allImgs;
} 


var debug = function(what){
	if(window.console && window.console.firebug){
		//console.log(what);
	}	
	else{
		//alert(what);
	}
}

function showShare(){
    debug('showShare');
	$('#socialPopup').show();	
	$('.share').addClass('shareHover');
}

function hideShare(e){
    debug('hideShare');
	$('.share').removeClass('shareHover');
	$('#socialPopup').hide();
}











