//GLOBALS HERE
var carousel = {
  imgWidth : 1021,
  numImages : null,
  pos : null,
  $galXML : null,
  $rotator : null,
  $galList: null,
  galXmlURL: '/includes/carousel.xml.aspx',
 
 init: function() {
 
   carousel.$rotator = $('#rotator').empty();
                                
   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 link = $(this).attr('link');
		 
         var $newImg = $('<img />')
           .attr('alt', '')
           .attr('src', theSrc);
         if(link){
           var $newLink = $('<a />')
		   	.attr('href', link)
		   	.append($newImg);
           var $newItem = $('<li></li>')
           	.append($newLink)
           	.appendTo(carousel.$galList);
         } else {
	       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.$rotator);

       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);
		
	}
 }
 
}

//RUN jQUERY AND JS ON DOM LOAD
$(function() {
  carousel.init();
});

