/************************************************************************
Filename:   homeFeaturedContent.js
Project:    Bassett Furniture Flash to jQuery
Purpose:    Homepage content delivery

Date:       Developer:  Description:
02/15/2012  tdb         Version 3.0
************************************************************************/

//Global Vars : CAN Edit
var resourcePath = '/global/js/featured-content/';
var wrap = '#featuredContentArea '; //Only change if the wrapping div tag ID changes.
var pageViewTime = 6500;
//Global Vars : DON'T Edit
var pageMax = 0;
var pageNo = 0;
var subNo = 0;
var initialized = false;
var interval = undefined;
//Debugger - Warning: Enabling will break older versions of IE and non-console browsers if placed into production
var dbg = false;
//onLoad statement
window.onload = function(){ featuredContentArea(); }
 
function featuredContentArea(){    
    //Initialization
    //Setup tabs representing pages - uses css/image resources to increase past 4.
    var tabCnt = 1;
    $(wrap+'#pageNumbers div.group').each(function(){
        $(this).css('cssText','background: url('+resourcePath+'homeOption'+(tabCnt)+'.jpg) top center no-repeat !important;');
        $(this).css('opacity','.4');
        tabCnt++;
    });
    //Set initial image src.
    $('#featuredContentArea #featuredImage img').attr('src',$(wrap+'#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('src'));
    //Remove preloader and fade in featured content area.
    $('#bassettLoader').fadeOut(500,function(){
        $(wrap).fadeIn(500);
        $(wrap+'#learnMore img').animate({left:'+=20px'},500);
        rotate();
    });
}
//Handle Rotation - Main loop: handles page and subpage rotation logic
function rotate(){
    if(dbg) console.log('Page: '+pageNo+'         Sub: '+subNo+'     ');
    var data = new Array();
    if(hasSubPages()==true){
        data = setData(true);
        subNo++;
        if($(wrap+'#pageNumbers div.group:eq('+pageNo+') p').size()==subNo){
            subNo = 0;
            pageNo++;
        }
    }else{      
        data = setData(false);
        pageNo++;
        subNo = 0;
        if($(wrap+'#pageNumbers div.group').size()==pageNo){
            pageNo = 0;
            initialized = false;
        }
    }
    //Initialized handles events that should not occur on inital
    //frame, such as overlay transitioning on the initial loop.
    initialized = true;
    //Set interval var to a handler for the timing of rotations,
    //This gets 'reset' whenever a click event starts to keep
    //the script in sync.
    interval = setTimeout('rotate()',pageViewTime);
}
//Determine if current page has nested subpages
function hasSubPages(){
    if($(wrap+'#pageNumbers div.group:eq('+pageNo+')'+' p').size()>1) return true;
    else return false;
}
//Sets data based on page containing subpages or not.  Also manages transition calls.
function setData(subs){
    if(subs==true){
        transitionSubpage();
        $(wrap+'#pageNumbers div.group').css('opacity','0.4');
        $(wrap+'#pageNumbers div.group:eq('+pageNo+')').css('opacity','1');
        $(wrap+'#pageText p').text($('#pageNumbers div.group:eq('+pageNo+') a:eq('+subNo+')').text());
        $(wrap+'#featuredImage img.temp').attr('src',$('#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('src'));
        $(wrap+'#featuredImage img').attr('title',$('#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('title'));
        $(wrap+'#featuredImage img').attr('alt',$('#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('alt'));
        $(wrap+'#featuredImage a').attr('href',$('#pageNumbers div.group:eq('+pageNo+') a:eq('+subNo+')').attr('href'));
        $(wrap+'#learnMore').attr('href',$('#pageNumbers div.group:eq('+pageNo+') a:eq('+subNo+')').attr('href'));
        $(wrap+'#underline').css('left',(pageNo*24)+'px');
        //Overlay
        if($(wrap+'#pageNumbers div.group:eq('+pageNo+') p span.title:eq('+(subNo+1)+')').text() == '' &&
           $(wrap+'#pageNumbers div.group:eq('+pageNo+') p span.title:eq('+(subNo)+')').text() != '') transitionSubpage2();
    }else{
        transitionPage();
        $(wrap+'#overlay').fadeOut(500);
        $(wrap+'#pageNumbers div.group').css('opacity','0.4');
        $(wrap+'#pageNumbers div.group:eq('+pageNo+')').css('opacity','1');
        $(wrap+'#pageText p').text($('#pageNumbers div.group:eq('+pageNo+') a:eq('+subNo+')').text());      
        $(wrap+'#featuredImage a').attr('href',$('#pageNumbers div.group:eq('+pageNo+') a:eq('+subNo+')').attr('href'));
        $(wrap+'#learnMore').attr('href',$('#pageNumbers div.group:eq('+pageNo+') a:eq('+subNo+')').attr('href'));
        $(wrap+'#underline').css('left',(pageNo*24)+'px');      
        $(wrap+'#featuredImage').fadeIn(500);
    }
}
//Fade out page, change images--data is set in parent calling function setData (links, text)
function transitionPage(){
    $(wrap+"#learnMore img").animate({opacity:'0'},500);
    $(wrap+'#featuredImage').fadeOut(500,function(){
        $(wrap+"#learnMore img").css('left','0');
        $(wrap+'#featuredImage img').attr('src',$(wrap+'#pageNumbers div.group:eq('+(pageNo+1)+') img:eq('+subNo+')').attr('src'));
        $(wrap+'#featuredImage img').attr('title',$(wrap+'#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('title'));
        $(wrap+'#featuredImage img').attr('alt',$(wrap+'#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('alt'));        
        $(wrap+'#learnMore img').animate({left:'+=20px',opacity:'1'},{ duration: 500});
    });
}
//Slide Transition by image width (-=900px) and fade/slide learn more link
function transitionSubpage(){
    if(initialized==true){
        $(wrap+'#featuredImage a').append('<img style="position:absolute;left:900px;" class="temp" src="'+$('#pageNumbers div.group:eq('+pageNo+') img:eq('+subNo+')').attr('src')+'" />');
        $(wrap+'#featuredImage img').animate({left:'-=900px'},500,function(){                       
            $(wrap+'#featuredImage a img.active').addClass('temp');         
            $(wrap+'#featuredImage a img.temp').removeClass('temp');
            $(wrap+'#featuredImage a img.temp').remove();
            $(wrap+'#featuredImage a img').css('left','0px');
        });
    }
}
//Overlay on pages with subpages
function transitionSubpage2(){
    $(wrap+'#overlay').css('display','block');
    $(wrap+'#overlay').animate({left:'300px'});
    $(wrap+'#overlay').html($('#pageNumbers div.group:eq('+pageNo+') p:eq('+subNo+') .title,#pageNumbers div.group:eq('+pageNo+') p:eq('+subNo+') .content,').clone());
    $(wrap+'#featuredImage').fadeIn(500,function(){ $(wrap+'#overlay').animate({left:'-=300px'}); });
}
//Click Events for Page Controls with Mouse
$(document).ready(function(){
    $(wrap+'#pageNumbers div').click(function(){
        pageNo = $(this).index();
        subNo = 0;
        clearInterval(interval);
        rotate();
    });
}); 
