(function($) { 
  var cache = []; 
  // Arguments are image paths relative to the current page. 
  $.preLoadImages = function() { 
    var args_len = arguments.length; 
    for (var i = args_len; i >= 0; i--)  { 
      var cacheImage = document.createElement('img'); 
      cacheImage.src = arguments[i]; 
      cache.push(cacheImage); 
    } 
  } 
})(jQuery)
 
 jQuery.preLoadImages('http://appliedstaffing.com/../images/applied_staffing/drawer_arrow_up.png'); 

var PayDrawer = (function() {	
	var $pay_drawer, $pay_drawer_link, $arrow, $drawer_links;
	var drawer_open = false;

	var settings = {
		easing : 'easeInOutExpo',
		duration : 750, 
		arrow_down : {
			src : 'http://appliedstaffing.com/../images/applied_staffing/drawer_arrow_down.png'
		},
		
		arrow_up : {
			src : 'http://appliedstaffing.com/../images/applied_staffing/drawer_arrow_up.png'
		},
		
		drawer : {
			open_height: 143,
			closed_height: 41,
			closed_hover_height: 47,
			open_hover_height: 138
		}
	};
	
	domready();

	function domready() {
		$(document).ready(function() {
			$drawer_links = $('#drawer_links');
			$pay_drawer = $('#pay_drawer');
			$pay_drawer_link = $('#pay_drawer_link');
			$arrow = $('#pay_drawer_arrow');
			$pay_drawer_link
				.mouseenter(function(e) { hover.apply(this, [true]); })
				.mouseleave(function(e) { hover.apply(this, [false]); })
				.click(function(e) {toggleDrawer.apply(this, []); });
		});
	}
	
	function hover(on, side) {
		var height = 0;
		
		if (drawer_open) height = on ? settings.drawer.open_hover_height : settings.drawer.open_height;
		else height = on ? settings.drawer.closed_hover_height : settings.drawer.closed_height;
		
		$pay_drawer.stop().show().animate({'height' : height}, { queue : false, easing : settings.easing, duration : 150 });
	}
	
	function toggleDrawer() {
		var height = drawer_open ? settings.drawer.closed_height : settings.drawer.open_height;
		drawer_open = !drawer_open;
		
		$arrow.stop().fadeTo('slow', 0.0, function() {
										      $arrow.attr('src', drawer_open ? settings.arrow_up.src : settings.arrow_down.src);	
											  $arrow.fadeTo('slow', 1.0);
											  
											  if (drawer_open) {$drawer_links.show();}
											  else {$drawer_links.hide();}
									      });
		$pay_drawer.stop().animate({'height' : height}, settings.duration, settings.easing);
	}
	
})();
