/**
 * jQBanner Plugin
 * @author Jeremy Proffitt <info@ezodesign.com>
 */

(function( $ ){
  $.fn.jQBanner = function(options) {
	  
	  
	  var $this = $(this);
	  
	  if ( options ) { 
	        var opts = $.extend({}, $.fn.jQBanner.settings, options );
	  }
	 
	  var srcArray;
	  $.ajax({
		    url: 'includes/jQBanner.php',
		    dataType: "json",
		    data: 'dir='+opts.directory,
		    async: false,
		    context: srcArray,
		    success: function(json) {
		        srcArray = json;
		    }
		});
	  
	  
	  //preload images
	  if (srcArray) {
		  $.each(srcArray, function(){
			  $('<img/>')[0].src = this; 
		  });
  	  }
	  
	  //get image groups
	  
	  
	  var img_ct = function countProperties(srcArray) {
		  var prop;
		  var propCount = 0;

		  for (prop in obj) {
		    propCount++;
		  }
		  return propCount;
	  };
	  
//	  var positions = new Object();
//	  for (i=1; i<=opts.num_photos; i++) {
//		  positions.i = new Object();
//	  }
//	  
//	  var extra_images = img_ct % opts.num_photos;
//	  if (extra_images > 0 && extra_images < 4) {
//		  img_interval = (img_ct - extra_images) / 4;
//		  for (i=1; i <= opts.num_photos; i++) {
//			  if (i == 1) {
//				  positions.i.lower = 1;
//				  positions.i.upper = img_interval;
//			  }
//			  positions.i.lower = positions.eval(i-1).upper + 1;
//			  if (i == opts.num_photos) {
//				  positions.i.upper = positions.i.lower + (img_interval - 1) + extra_images;
//			  } else {
//				  positions.i.upper = positions.i.lower + (img_interval - 1);  
//			  };
//		  };
//	  } else {
//		  img_interval = img_ct / 4;
//		  for (i=1; i <= opts.num_photos; i++) {
//			  if (i == 1) {
//				  positions.i.lower = 1;
//				  positions.i.upper = img_interval;
//			  }
//			  positions.i.lower = positions.i.upper + 1;
//			  positions.i.upper = positions.i.lower + (img_interval - 1);  
//		  };
//	  }
	  
	  var pos1 = {
		'lower' : 1,
		'upper' : 11
	  };
	  
	  var pos2 = {
		'lower' : 12,
		'upper' : 22
	  };
	  
	  var pos3 = {
		'lower' : 23,
		'upper' : 33
	  };
	  
	  var pos4 = {
		'lower': 34,
		'upper': 44
	  };
	  
	  
	  if(typeof counter != 'undefined' && counter) {
		  function switchPic(){
			  if (counter == 0) {counter++; return;}
			  
			  var currentdiv = opts.child_prefix+counter;
			  var range = {
				  'lower': eval(currentdiv).lower,
				  'upper': eval(currentdiv).upper
			  };
			  
			  var randomNum = Math.floor(Math.random() * (range.upper - range.lower) + 1) + range.lower;
			  imageurl = opts.directory+'/'+opts.prefix+randomNum+'.jpg';
			  
			  var currentselector = '#'+opts.child_prefix+counter
			  $(currentselector, opts.container)
			  		.stop()
			  		.fadeTo(opts.photo_fade, 0, function() {
			  			$(this).css('background-image','url('+imageurl+')');
			  			$(this).fadeTo(opts.photo_fade, 1);
			  		});
			  		
			  		
			  counter == opts.num_photos? counter = 1 : counter++;
			  
		  };
			  
		  
	  } else {
		  $('div', this).each(function() {
			  //var options = $(this).data('jQBanner');
			  imageurl = opts.directory+'/'+opts.prefix+eval($(this).attr('id')).lower+'.jpg';
			  $('#'+$(this).attr('id')).css('background-image','url('+imageurl+')');
		  });
		  $(opts.container).fadeIn('slow');
		  var timer = setInterval(switchPic, opts.photo_change);
		  var counter = 1;
	  }
	  
	  
	  

  };
  $.fn.jQBanner.settings = {
	  'container': 'div.pageheader div.right',
	  'child_prefix': 'pos',
	  'photo_change': 6000,
	  'photo_fade': 3000,
	  'num_photos': 4
  };
  
})( jQuery );

