
var $j;
var sliders= [];
var slideshow;
var startpositions = [];
var slideinterval = 7000; // must be longer than slideduration
var slideduration = 500;
var slidebacktime = 500;
var prefix = '';
$j = jQuery.noConflict();


jQuery(document).ready(
   function () {

      jQuery.ajax({
							url: prefix+'portal/homeContent?area=home1',
							complete: function(r) {
							
								var data = jQuery.parseJSON(r.responseText);
								var html = ['<div class="featured-slider" style="position:absolute; overflow:hidden; left:0px; width: ',data.count*(301+265),'px">'];
				
								for(i=0;i<data.count;i++) {

									var b = data.books[i];
									
									var slide = ['<a href="',b.link,'"><img src="',b.cover,'" alt="',b.title,'" class="cover-medium" /></a><h2><a href="',b.link,'">',b.title,'</a></h2><span id="featured-author"><b>',b.author,'</b></span><div id="featured-description" style="max-height:5em;overflow:hidden">',b.description,'</div><span class="book-price"></span><a href="',b.link,'"><img src="/images/store/details.png" alt="Details" /></a>'].join('');
									
									var readers = ['<ol id="featured-readers">'];
									for(ii=0; ii<b.readers.length;ii++) {
										var r = b.readers[ii];
										readers.push(['<li><a href="',r.link,'"><img class="wallphoto" title="',r.nickname,'" src="',r.img,'" alt="',r.nickname,'" /></li>'].join(''));
									}
									readers.push('</ol>');
									
									html.push(['<div class="featured-slide" style="height:100%; width:495px; padding:0px 0px 0px 36px; opacity:0; float:left;">',slide,readers.join(''),'</div>'].join(''));
									
								}
								html.push('</div>');
								var d = jQuery('.featured-book');
								if(jQuery.browser.msie
									&&
									(jQuery.browser.version.substring(0,1)=='7'||jQuery.browser.version.substring(0,1)=='8')
									) {
									var s = ie7fix();
								  d.append(s);
								} else {
									d.append(html.join(''));
																	activate_feature_slide("featured-slider");
                }

      				}
			});
			
/*
			jQuery.ajax({
							url: prefix+'portal/homeContent?area=home2',
							complete: function(r) {
								var data = jQuery.parseJSON(r.responseText);
		            jQuery('#recent-comments').html(data.html);
		  				}
		  });
*/
      
});

function ie7fix()
{
   return '<div style="position: absolute; overflow: hidden; left: 0; width: 5660px;" class="featured-slider"><div style="height: 100%; width: 495px; padding: 0px 0px 0px 36px; opacity: 0.52; float: left;" class="featured-slide"><img src="/images/iefix-bookglutton.png"/></div></div>';
}

function activate_feature_slide(slidername)
{
   sliders = $j('.'+slidername);
   //console.log(sliders);
   sliders.each(function(i) {
     // console.log('activating slider '+i);
      $j(this).find('.featured-slide').animate({opacity:1.0},2000);
      startpositions.push($j(this).css('left').split('p')[0]);
   });
   sliders.each(function(i) {
         setTimeout(function() {
            move_slidernum(i);
         }, slideinterval);
   });
}

function move_slidernum(i)
{ 
    var slidepanel = $j(sliders[i]);
    var slides = $j(slidepanel).find('.featured-slide');
   // console.log('found '+slides.length+' slides in this slidepanel');
    var ind = 0;
    var slideint = setInterval(
               function() {
                      if(ind < slides.length-1) {
                         
   
                         var slide = $j(slides[ind]);
                         var leftside_position = slidepanel.css('left').split('p')[0];
                        // console.log('at position '+leftside_position);
                        // console.log(slide);
                         
                         
                         /*
                         var distance_to_slide = slide.width()+
                         (slide.css('padding-left').split('p')[0] * 1)+
                         (slide.css('padding-right').split('p')[0] * 1)+
                         (slide.css('margin-left').split('p')[0] * 1)+
                         (slide.css('margin-right').split('p')[0] * 1)+
                         (slide.css('border-left').split('p')[0] * 1 )+
                         (slide.css('border-right').split('p')[0] * 1);
                         */
                         
                         //var distance_to_slide = slide.width();
                         var distance_to_slide = slide.outerWidth();
                         
                        // console.log('will slide by '+distance_to_slide+' pixels to hide current slide');
                         var new_position = leftside_position - distance_to_slide;
                         //console.log('new position will be '+new_position);
                         //var stop_position = -1 * (slides.length * distance_to_slide);
                         
                         slidepanel.animate( { left: new_position+'px' }, { queue: false, duration:slideduration });

                         
                         $j(slides[ind]).animate( { opacity: 0 }, 500, 'linear', function () {
                               //console.log('faded out slide at index '+ind);
                         });
                         ind++;
                         //                        $j(slides[slide_index+1]).animate( { opacity:1.0 }, 1500 );
                         
                      } else {
                            clearInterval(slideint);
                            $j(slides).css('opacity', '1.0');
                            setTimeout(function () {
                                  //console.log('setting timeout');
                                  slider_done(i);
                            },slideinterval);
                      }
                },slideinterval);
       
}        

function slider_done(num)
{
   //console.log('slider number '+num+' has finished sliding');
   $j(sliders[num]).animate({opacity:0},500);
   $j(sliders[num]).animate({left: startpositions[num]}, slidebacktime, 'linear', function () {   
      //console.log('will return to start position of '+startpositions[num]);
      $j(this).animate({opacity:'1.0'},500);
      //$j(sliders[num]).css('opacity', '1.0');      
      move_slidernum(num);   
   });

}




