//##############################################################################
//##  DOM																	  ##
//##############################################################################
$(document).ready( externalLinks );
$(document).ready( shadowboxClassLinks );
/*###########################################
##  Dropdown Menus						   ##
###########################################*/
/* Options */
var __global_menuContainer = '#navOptions';
var __global_menuObject = '.dropdownNav';
var __global_showcaseObject = '.showcaseBrands';
var __global_sliderObject = '#homeSlider';
var __global_sliderObjectBrand = '#brandSlider';

/* Controls */
$(document).ready(function() {
	var lis = $(__global_menuContainer).children('li').get();
    $.each(lis, function(){
      $(this).hover(
	    function () { //on
	      $(this).addClass("sfhover")
	    }, 
	    function () { //off
	      $(this).removeClass("sfhover")
	    }
	  );
    });
});

/*###########################################
##  Legacy Transparency					   ##
###########################################*/
$(document).ready(function() {
  /* Navigation */
  var allNav = $(__global_menuObject);
  $.each(allNav,function(){
    $(this).addClass("transparent"); //fix legacy transparency
    var firsts = $(this).children('li:first').get();
    $.each(firsts, function(){ $(this).addClass("firstChild") }); //accomodate padding
    var lis = $(this).children('li').get();
    $.each(lis, function(){ $(this).addClass("transparent") }); //fix legacy transparency
  });

  /* Body */
  $("img").each(function(){ //fix legacy transparency
    var fileExtension = $(this).attr("src").substr($(this).attr("src").lastIndexOf(".png"));
    if (fileExtension == ".png") { $(this).addClass("transparent"); }
  });
});

/*###########################################
##  Paramater Edits						   ##
###########################################*/
/*
$(document).ready(function() { //Styles for Navigation Brands Showcase
  var allBrands = $(__global_showcaseObject);
  $.each(allBrands,function(){
    var links = $(this).find('a').get();
    $.each(links, function(){
      var fmt = $(this).attr("title").toLowerCase();
      var clean = fmt.replace(/[^a-zA-Z]+/g,'');
      $(this).addClass(clean);
      $(this).addClass("transparent");
    });
  });
});
*/
/*###########################################
##  Cuf—n Init							   ##
###########################################*/
Cufon.replace('#navOptions h2', { fontFamily: 'Futura Std', hover: true });
Cufon.replace('.heading, #insideBody h1, #insideBody h2, #insideBody h3, #insideBody h4, #bottomPromos h2', { fontFamily: 'MEgalopolis Extra', hover: true });

/*###########################################
##  Content Sliders						   ##
###########################################*/
$(function() {
  //main promotion slider
  $(__global_sliderObject)
    .after('<div id="sliderNav">')
    .cycle({ 
      fx:		'scrollHorz', 
      timeout:	6000, //how long to wait between slides
	  speed:	1000, //how long transition takes
	  pause:	1, //stop on mouseover
      pager:	'#sliderNav'
  });
  //brand logo fader
  $(__global_sliderObjectBrand)
    .cycle({ 
      fx:		'fade', 
      timeout:	6000, //how long to wait between slides
	  speed:	1500, //how long transition takes
	  delay:	2000, //wait for other slider
	  pause:	1 //stop on mouseover
  });
  //newsroom brand slider
  $('#newsroomBrandSlider')
    .cycle({ 
      fx:		'scrollHorz', 
      timeout:	0, //how long to wait between slides
	  speed:	1000, //how long transition takes
	  next: '#brandSliderNext',
	  prev: '#brandSliderPrev'
  }); 
  //newsroom photo slider
  $('#newsroomPhotoSlider')
    .cycle({ 
      fx:		'scrollHorz', 
      timeout:	0, //how long to wait between slides
	  speed:	1000, //how long transition takes
	  next: '#photoSliderNext',
	  prev: '#photoSliderPrev'
  }); 
  //newsroom video slider
  $('#newsroomVideoSlider')
    .cycle({ 
      fx:		'scrollHorz', 
      timeout:	0, //how long to wait between slides
	  speed:	1000, //how long transition takes
	  next: '#videoSliderNext',
	  prev: '#videoSliderPrev'
  });   
});

/*###########################################
##  Floating Feedback Box				   ##
###########################################*/
$(document).ready(function() {
  /* Setup */
  var name = "#floating_box";
  //menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")));
  var loc = window.location.pathname; loc = loc.toString();
  var depth = (loc.length >= 2)?350:450;
  $(window).scroll(function () { 		
	offset = depth+$(document).scrollTop()+"px";
	$(name).animate({top:offset},{duration:500,queue:false});
  });
  /* Start */ 
  $('#floating_box').addClass("transparent");
  if('#floating_box') { $('#floating_box').show(); }
});



//##############################################################################
//##############################################################################
//##  User Handler Functions												  ##
//##############################################################################
function externalLinks() {
  var exs = $('a[rel=external]');
  $.each(exs, function() {
    if ($(this).attr('href')) { $(this).attr('target','_blank'); }
  });
}

function shadowboxClassLinks() {
  var exs = $('a[class=shadowbox]');
  $.each(exs, function() {
    if ($(this).attr('href')) { $(this).attr('rel','shadowbox'); }
  });
}
//##############################################################################
//##############################################################################
//##  Form Handler Functions												  ##
//##############################################################################
if('#contactform'){
	document.write('<script type="text/javascript" src="/public/javascripts/jquery.validate.min.js"></script>');
	document.write('<script type="text/javascript" src="/public/javascripts/additional-methods.js"></script>');
	$().ready(function() {
		$("#contactform").validate();
	});
}
if('#recipe_search'){
	$().ready(function() {
		var options = { 
			target: '#search_results',
			url:    '<?= URL_PUBLIC ?>_ajax_recipe_search',
			type:	'post'
		}; 
		// bind to the form's submit event 
		$('#recipe_search').submit(function() { 
			$(this).ajaxSubmit(options);  
			return false; 
		}); 
	});	
}
//##############################################################################
//##############################################################################

jQuery(function($){
  $('.flickrbox').click(function(e){
    var lhref = $(this).attr('href');
    var title = $(this).attr('title');
    $(lhref+' a[thumb]:not(.loaded)').each(function(idx){
      $this = $(this);
      $this.attr('thumbidx', idx+1);
      $('<img src="'+$this.attr('thumb')+'" />').appendTo($this);
      $this.addClass('thumbidx');
    }).addClass('loaded')
    return false;
  });
});

/*###########################################
##  Shadowbox Init               ##
###########################################*/
Shadowbox.init({
  players: ["iframe", "html", "img"]
  ,slideshowDelay: 6
  ,continuous: true
  ,onOpen: function(p) {
    $('#sb-content a.thumbidx').live('click',function(e) {
      console.log($(this).attr('thumbidx'));
      e.preventDefault();
      Shadowbox.change($(this).attr('thumbidx'));
      return false;
    });
  }
  ,onClose: function(p) {
    $('#sb-content a.thumbidx').die('click');
  }
});
