var carousel = {
  imgWidth : 928,
  numImages : null,
  pos : null,
  $galXML : null,
  $rotater : null,
  $galList: null,
  galXmlURL : '/includes/carousel.xml',
 
 init: function() {
 
   	var $frameLeft = $('<div></div>')
	  .addClass('frame_left');

	var $frameRight = $('<div></div>')
	  .addClass('frame_right');

   carousel.$rotater = $('#rotater').empty()
                                .append($frameLeft)
                                .append($frameRight);
                                
   carousel.$galList = $('<ul></ul>');

   $.get(carousel.galXmlURL, function(data)
   {
     if($('gallery galImage', data).size() > 0)
     {     
       $('gallery galImage', data).each(function()
       {               
         var theSrc = $(this).text();

         var $newImg = $('<img />')
           .attr('alt', '')
           .attr('src', theSrc);
         var $newItem = $('<li></li>')
           .append($newImg)
           .appendTo(carousel.$galList);
       });
       
       carousel.numImages = (carousel.$galList.find('li').length);
       
       carousel.$galList.width(carousel.numImages * carousel.imgWidth)
       					.css('left', '0px')
                        .appendTo(carousel.$rotater);

       carousel.$galXML = $(data);
       
       carousel.pos = 1;
       
       $('#prev').fadeTo('fast', 0.2).bind('click', { dir : 'l' }, carousel.animateGallery);;
       $('#next').bind('click', { dir : 'r' },carousel.animateGallery);

     }
   });
 },
 
 animateGallery: function(e) {
	if((e.data.dir === 'r') && (carousel.pos < carousel.numImages)) {
	    if (carousel.pos === 1) {
	    	$('#prev').fadeTo('fast', 1.0);
	    }
	    carousel.pos++;
	    if (carousel.pos === carousel.numImages) {
	    	$('#next').fadeTo('fast', 0.2);
	    }
		//alert(e.data.dir + ' ' + carousel.pos);
		
		carousel.$galList.animate({'left': '-=' + carousel.imgWidth + 'px'}, 500);
		
	} else if ((e.data.dir === 'l') && (carousel.pos > 1)) {
	    if (carousel.pos === carousel.numImages) {
	    	$('#next').fadeTo('fast', 1.0);
	    }
	    carousel.pos--;
	    if (carousel.pos === 1) {
	    	$('#prev').fadeTo('fast', 0.2);
	    }
		//alert(e.data.dir + ' ' + carousel.pos);
		
		carousel.$galList.animate({'left': '+=' + carousel.imgWidth + 'px'}, 500);
		
	}
 }
 
}

function handleFocus(element) {
  if (element.value == element.defaultValue) {
    element.value = '';
  }
}

function handleBlur(element) {
  if (element.value == '') {
    element.value = element.defaultValue;
  }
}


//RUN jQUERY AND JS ON DOM LOAD
$(function() {
  
	var $cutTop = $('<div></div>')
	  .addClass('cutout_top');

	var $cutBot = $('<div></div>')
	  .addClass('cutout_bot');

	var $railBot = $('<div></div>')
	  .addClass('rail_bot');
		
	$('.cutout').before($cutTop).after($cutBot);
	$('.rail').after($railBot);
});

//RUN jQUERY AFTER ALL IMAGES ARE LOADED
$(window).load(function() {
  if ($('body.homepage').length > 0) {
    carousel.init();
  };
  $('#header #head_search .searchbox').focus(function() {
    handleFocus(this);
  });
  
  $('#header #head_search .searchbox').blur(function() {
    handleBlur(this);
  });
});
