// JavaScript Document

$(document).ready(function() {
    debug('dom ready');
	setEventListeners();
	initMenus();
	$('#Callouts li').biggerlink();
    emailLink();
    facebookLink();
    twitterLink();
    myspaceLink();	
});

var setEventListeners = function() {
	 $('.orangeButton').hover(function(){addButtonHover(this);}, function(){removeButtonHover(this);});
	 $('.next-button-hover').hover(function(){$(this).attr("src","img/next-hover.gif");}, function(){$(this).attr("src","img/next.gif");});
     $('.submit-button-hover').hover(function(){$(this).attr("src","img/butnSubmit-hover.png");}, function(){$(this).attr("src","img/butnSubmit.png");});
     $('.submit-button-hover-coupon').hover(function() { $(this).attr("src", "img/butnSubmit-hover-coupon.png"); }, function() { $(this).attr("src", "img/butnSubmit-coupon.png"); });

     $('.download-button-hover').hover(function(){$(this).attr("src","img/funGames/game_origami_button-hover.png");}, function(){$(this).attr("src","img/funGames/game_origami_button.png");});
     $('.sub-download-button-hover').hover(function(){$(this).attr("src","../img/funGames/game_origami_button-hover.png");}, function(){$(this).attr("src","../img/funGames/game_origami_button.png");});

	 $('.shareLink .share').hover(function(){showShare();},null);
	 $('.shareLink').hover(null, function(){hideShare();});

     //OMNITURE ONLICK TAGS
	 $('#naturalSalmonDescription').click(function(){setOmniture(salmon);});
 	 $('#naturalSalmonNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";naturals salmon";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#naturalBeefDescription').click(function(){setOmniture(beef);});
	 $('#naturalBeefNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";naturals tenderloin";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#naturalChickenDescription').click(function(){setOmniture(chicken);});
	 $('#naturalChickenNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";naturals chicken";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#naturalTunaDescription').click(function(){setOmniture(tuna);});
	 $('#naturalTunaNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
								    s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;									
									s.events="event13";
									s.products=";naturals tuna";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularBeefDescription').click(function(){setOmniture(beef);});
	 $('#regularBeefNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics hearty beef";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularChickenDescription').click(function(){setOmniture(chicken);});
	 $('#regularChickenNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics tasty chicken";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularDairyDescription').click(function(){setOmniture(dairy);});
	 $('#regularDairyNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics creamy dairy";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularSalmonDescription').click(function(){setOmniture(salmon);});
	 $('#regularSalmonNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics savory salmon";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularSeafoodDescription').click(function(){setOmniture(seafood);});
     $('#regularSeafoodNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics seafood medley";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularTunaDescription').click(function(){setOmniture(tuna);});
	 $('#regularTunaNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics tempting tuna";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#regularTurkeyDescription').click(function(){setOmniture(turkey);});
	 $('#regularTurkeyNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";classics tantalizing turkey";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#healthyDentabitesDescription').click(function(){setOmniture(dentabites);});
 	 $('#healthyDentabitesNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";helpfuls dentabites";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   });
	 $('#healthyHairballDescription').click(function(){setOmniture(hairball);});
	 $('#healthyHairballNutrition').click(function(){
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.events="event13";
									s.products=";helpfuls hairball";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									showDetails();
									}
							   });
	 $('#healthyIndoorDescription').click(function(){setOmniture(indoor);});
	 $('#healthyIndoorNutrition').click(function(){
									s.templtv=s.linkTrackVars;
									s.templte=s.linkTrackEvents;
									s.linkTrackVars="products,events";
									s.linkTrackEvents="event13";
									s.events="event13";
									s.products=";helpfuls indoor";
									s.tl(true,'o','-click');
									
									if(s.templtv){
									s.linkTrackVars=s.templtv;
									}
									if(s.templte){
									s.linkTrackEvents=s.templte;
									}
									showDetails();
							   }); 
 
 	 $('#rooftop800').click(function(){s.events="event26";s.prop38=s.eVar38="wall rooftop800";s.tl(true,'o','-click');showDetails26();});
	 $('#rooftop1024').click(function(){s.events="event26";s.prop38=s.eVar38="wall rooftop1024";s.tl(true,'o','-click');showDetails26();});
	 $('#rooftop1280').click(function(){s.events="event26";s.prop38=s.eVar38="wall rooftop1280";s.tl(true,'o','-click');showDetails26();});	 

 	 $('#openwide800').click(function(){s.events="event26";s.prop38=s.eVar38="wall openwide800";s.tl(true,'o','-click');showDetails26();});
	 $('#openwide1024').click(function(){s.events="event26";s.prop38=s.eVar38="wall openwide1024";s.tl(true,'o','-click');showDetails26();});
	 $('#openwide1280').click(function(){s.events="event26";s.prop38=s.eVar38="wall openwide1280";s.tl(true,'o','-click');showDetails26();});
 
 	 $('#daydream800').click(function(){s.events="event26";s.prop38=s.eVar38="wall daydream800";s.tl(true,'o','-click');showDetails26();});
	 $('#daydream1024').click(function(){s.events="event26";s.prop38=s.eVar38="wall daydream1024";s.tl(true,'o','-click');showDetails26();});
	 $('#daydream1280').click(function(){s.events="event26";s.prop38=s.eVar38="wall daydream1280";s.tl(true,'o','-click');showDetails26();});	 

 	 $('#snack800').click(function(){s.events="event26";s.prop38=s.eVar38="wall snackattack800";s.tl(true,'o','-click');showDetails26();});
	 $('#snack1024').click(function(){s.events="event26";s.prop38=s.eVar38="wall snackattack1024";s.tl(true,'o','-click');showDetails26();});
	 $('#snack1280').click(function(){s.events="event26";s.prop38=s.eVar38="wall snackattack1280";s.tl(true,'o','-click');showDetails26();});	
	 
 	 $('#ssBalcony').click(function(){s.events="event26";s.prop38=s.eVar38="ss balcony";s.tl(true,'o','-click');showDetails26();});
	 $('#ssChaser').click(function(){s.events="event26";s.prop38=s.eVar38="ss treatchaser";s.tl(true,'o','-click');showDetails26();}); 
	 
	 $('#origami').click(function(){s.events="event26";s.prop38=s.eVar38="origami game";s.tl(true,'o','-click');showDetails26();}); 
	 
}

var showDetails = function(){
	debug('s.templtv : ' + s.templtv);
	debug('s.templte : ' + s.templte);
	debug('s.linkTrackVars : ' + s.linkTrackVars);
	debug('s.linkTrackEvents : ' + s.linkTrackEvents);
	debug('s.events : ' + s.events);
	debug('s.products : ' + s.products);
}

var showDetails26 = function(){
	debug('s.events : ' + s.events);
	debug('s.prop38 : ' + s.prop38);
	debug('s.eVar38 : ' + s.eVar38);
}



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 curCont=0;

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 initMenus() {

	
	$('.subOpen ul li a').click(
		function() {
				
			$('.subOpen ul li').removeClass('subSlctd');
			
			$(this.parentNode).addClass('subSlctd');
			
			var index = $(".subOpen ul li a").index(this);	
			var mainCont=$("#rightCol > li");

			if(curCont!=index){
				var leftNav=$('.menu li');
				//$(mainCont[curCont]).fadeOut("slow");
				$(mainCont[curCont]).hide();
				
				if($(leftNav[0]).hasClass('superNat'))
					$(mainCont[index]).fadeIn("slow");
				else
					$(mainCont[index]).show();
			

			}
			
			curCont=index;
		}
	);

	$('#rightCol li em big').click(
		function() {
			if($(this.parentNode.parentNode.parentNode).hasClass("p2nd"))
				$(this.parentNode.parentNode.parentNode).removeClass("p2nd");

	});
	
	$('#rightCol li em small').click(
		function() {
			if(!($(this.parentNode.parentNode.parentNode).hasClass("p2nd")))
			{
				$(this.parentNode.parentNode.parentNode).addClass("p2nd");
                $(this.parentNode.parentNode.parentNode).find('.scroll-pane').jScrollPane();
            }
	});

	var rightLi=$('#rightCol > li');
	debug('null = ' + $.query.get('id'));
	
	if($.query.get('id')){
	    for(i=0;i < rightLi.length; i++){
		    //debug ('query = ' + $.query.get('id') + ' / i = ' + i);
		    if($.query.get('id') == i){
    			//debug('inside if');
			    for(j=0;j < rightLi.length; j++){
		            if(rightLi[i].style.display=='block'){
			            rightLi[i].style.display='none';
			            break;
		            }
	            }		    
			    var leftLiString = '.subOpen ul li:eq(' + i + ') a' ;
			    $(leftLiString).click();
			    var mainCont=$("#rightCol > li");
			    if (!jQuery.support.cssFloat) {

			          $(mainCont[i]).find('*').css('border','0px solid #0ff');

			     }
			    curCont=i;
			    break;
		    }
	    }
	} else {
	    for(i=0;i < rightLi.length; i++){
		    if(rightLi[i].style.display=='block'){
			    curCont=i;
			    break;
		    }
	    }
	}
	
	
	$('#rightCol li dd img').click(
		function() {
            if(!($(this).hasClass('noClick'))) {
			    var index = $("#rightCol li dd img").index(this);	
			    var mainCont=$("#rightCol > li");

					if(curCont!=index){
				    var leftNav=$('.subOpen ul li');
				    $('.subOpen ul li').removeClass('subSlctd');
				    $(leftNav[index]).addClass('subSlctd');
    				
				    //$(mainCont[curCont]).fadeOut("slow");
				    $(mainCont[curCont]).hide();
				    $(mainCont[index]).show();
				    //$(mainCont[index]).fadeIn("slow");
			    }
    			
			    curCont=index;
            }
	});
	
	$('#rightCol li .catCare .moreAbout').click(
		function() {
			
			var index = $("#rightCol li .moreAbout").index(this);	
			var mainCont=$("#rightCol > li");

			if(curCont!=index){
				var leftNav=$('.subOpen ul li');
				$('.subOpen ul li').removeClass('subSlctd');
				$(leftNav[index]).addClass('subSlctd');
				
				//$(mainCont[curCont]).fadeOut("slow");
				$(mainCont[curCont]).hide();
				$(mainCont[index]).show();
				//$(mainCont[index]).fadeIn("slow");
			}
			
			curCont=index;

	});
	
	$('#rightCol li .catGamesPlay .moreAbout').click(
		function() {
			
			var index = $("#rightCol li .catGamesPlay .moreAbout").index(this);	
			var mainCont=$("#rightCol > li");

			if(curCont!=index){
				var leftNav=$('.subOpen ul li');
				$('.subOpen ul li').removeClass('subSlctd');
				$(leftNav[index]).addClass('subSlctd');
				
				//$(mainCont[curCont]).fadeOut("slow");
				$(mainCont[curCont]).hide();
				$(mainCont[index]).show();
				//$(mainCont[index]).fadeIn("slow");
			}
			
			curCont=index;

	});
	
	$('#rightCol li .catRandom .moreAbout').click(
		function() {
			
			var index = $("#rightCol li .catRandom .moreAbout").index(this);	
			var mainCont=$("#rightCol > li");
			
			
				if(curCont!=index){
					var leftNav=$('.subOpen ul li');
					$('.subOpen ul li').removeClass('subSlctd');
					$(leftNav[index]).addClass('subSlctd');
					
					//$(mainCont[curCont]).fadeOut("slow");
					$(mainCont[curCont]).hide();
					$(mainCont[index]).show();
				//$(mainCont[index]).fadeIn("slow");
				}
				
				curCont=index;

	});
	
	$('#SocialNav .share').hover(function(){showShare();});
	$('#SocialNav .fan').hover(function(){hideShare();});
	$('#SocialNav').hover(null, function(){hideShare();});
}

function wallpaperPopup(index) {
		var mainCont=$("#rightCol > li");
		
		
			if(curCont!=index){
				var leftNav=$('.subOpen ul li');
				$('.subOpen ul li').removeClass('subSlctd');
				$(leftNav[index]).addClass('subSlctd');
				
				//$(mainCont[curCont]).fadeOut("slow");
				$(mainCont[curCont]).hide();
				$(mainCont[index]).show();
			//$(mainCont[index]).fadeIn("slow");
			}
			
			curCont=index;
}

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

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


//SHARE LINK FUNCTIONS

var emailLink = function()
{
  pageInfo = shareLink();
  var linkFormat = ['mailto:?Subject=', 'This%20site%20is%20the%20cat%27s%20meow', '&Body=', pageInfo.linkURL];
  addLink('email', linkFormat); 
}

var facebookLink = function()
{
  pageInfo = shareLink();
  var linkFormat = ['http://www.facebook.com/sharer.php?u=', pageInfo.linkURL, '&t=', 'This+site+is+the+cat%27s+meow.'];
  addLink('fb', linkFormat); 
}

var twitterLink = function()
{
  pageInfo = shareLink();
  var linkFormat = ['http://twitter.com/home?status=', 'This%20site%20is%20the%20cat%27s%20meow.', '%20%20', pageInfo.linkURL];
  addLink('twitter', linkFormat);
}

var myspaceLink = function()
{
  pageInfo = shareLink();
  var linkFormat = ['http://www.myspace.com/Modules/PostTo/Pages/?l=3&u=', pageInfo.linkURL, '&t=', 'This+site+is+the+cat%27s+meow.'];
  addLink('myspace', linkFormat);
}

var shareLink = function()
{
  var linkURL = encodeURI(getURL());
  var linkTitle = encodeURI(getTitle());
  var linkDescription = encodeURI('This site is the cat\'s meow');
  
  return {'linkURL': linkURL, 'linkTitle':linkTitle, 'linkDescription':linkDescription}
}

var addLink = function(linkClass , linkArray)
{
    var linkString = linkArray.join('');
    debug('linkString : ' + linkString);
    var selectorString = '.' + linkClass + ' > a'; 
    $(selectorString).attr('href', linkString);
}

var getURL = function()
{
  return location.href;
}

var getTitle = function()
{
  return document.title;
}

var getDescription = function()
{
  return document.getElementsByName('meta')['description'].content;
}

var encodeURL = function(urlString)
{
          return escape(urlString);
        }
        


	// Facebook asyncronous load
	
	(function(d, s, id) {
  	var js, fjs = d.getElementsByTagName(s)[0];
	  if (d.getElementById(id)) return;
  	js = d.createElement(s); js.id = id;
	  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=112346652222150";
  	fjs.parentNode.insertBefore(js, fjs);
	}(document, 'script', 'facebook-jssdk'));

	// Facebook token retreival
	
	var appID = '112346652222150';
	var appSecret = '5d8a8244efad4869d503fe1c7ab13d05';
	var FBAccessToken;
	
	var getFBAccessToken = function(callback) {
		var accessTokenURI = 'https://graph.facebook.com/oauth/access_token?client_id='+appID+'&client_secret='+appSecret+'&grant_type=client_credentials';
		
		// If it's already been retreived, just call callback
		if (FBAccessToken) {
			if(callback) callback(FBAccessToken);
			return;
		}
		
		$.get(
			'/proxy.aspx?u='+escape(accessTokenURI),
			function(data){
				FBAccessToken = data.split('=')[1];
				if (callback) callback(FBAccessToken);
			}
		);
		
	};
