/**
 * @author Ben.Allen
 */

$(document).ready(function(){
   initMap();
   
   $(".wineLink").colorbox({
            iframe: true,
            width: '685px',
            height: '480px'
        });
});

function initMap(){
        $('area').bind('click', function(){
        var region = $(this).attr('rel');

        pageTracker._trackPageview('Map/'+region);
            getRegionInfo(region, true);
            
            return false;
        });
    }
    
    function getRegionInfo(region, callShowRegion, closeLightbox){
       $('#pageLoader').removeClass('hidden');
       $.ajax({
            url: '/process.ashx?scn=region&rpun=' + region,
            success: function(data){
            $('#pageLoader').addClass('hidden');
               if (callShowRegion == true){
                  showRegionInfo(data);
                  if(closeLightbox == true){
                     $.fn.colorbox.close();
                  }
               }else{
                   $('#contentArea').html(data);
               }
            }
        }); 
    }
    
    function showRegionInfo(data){
        //check to see if the intro page is showing
        if ($('#introCopy').css('display') == 'block') {
	        $('#contentArea').append(data);
	        $('#introCopy').animate({
                height: '195px'
            }, 500, 'swing').fadeOut(500, function(){
                $('#mainContent').fadeIn(500);
            });
            $('#presentsText').delay(500).fadeIn(500);
            
            initWineScroller('.regionWines', '.regionNavigator');
            initProducerScroller();
         }
         else {
         	$('#contentArea').fadeOut(500, function(){
            	$('#contentArea').html(data);
            	$('#mainContent').css('display', 'block');
                $('#contentArea').fadeIn(500);
                $('#subContent').delay(100).animate({
                	height: '255px'
                }, 500, 'swing');
                initWineScroller('.regionWines', '.regionNavigator'); 
                initProducerScroller(); 
                $('#producerContent').remove();      
            });
         }
    }
    
    function switchRegion(region){
        getRegionInfo(region, false);
    }
    
    function getProducerInfo(producer, regionBase, switchProducers){
        //console.log('Producer: '+ producer +' - Region: '+regionBase);
        $('#pageLoader').removeClass('hidden');
	    $.ajax({
	        url: '/process.ashx?scn=producer&ppun=' + producer + '&crpun=' + regionBase ,
	        success: function(data){
	        $('#pageLoader').addClass('hidden');
            	if (switchProducers == false){
                  showProducerInfo(data); 
                }else{
                  $('#producerContent').remove();
                  showProducerInfo(data);
                   $.fn.colorbox.close();
                }
                                       
                $('a.region').bind('click', function(){
                	hideProducerInfo(regionBase);
                    return false;
                });
            }
        });
    }
    
    function showProducerInfo(data){
        $('#content').append(data);
        $('#contentArea').slideUp(700);         
        initWineScroller('.producerWines', '.producerNavigator');
    }
        
    function hideProducerInfo(showRegion){
        $('#contentArea').slideDown(700, function(){
        	$('#producerContent').remove(); 
        });
        if ($('.' + showRegion).length == 0) {
                getRegionInfo(showRegion, true);
        }  
    }
    
    function initProducerScroller(){
        $('a.producer').bind('click', function(){
            var producer = $(this).attr('producer');
            var region = $(this).attr('region');
            pageTracker._trackPageview('Producer/' + region + '/' + producer);
            getProducerInfo(producer, region, false);
            return false;
        });
        
        $("#producers").scrollable({
            size: 2,
            speed: 600,
            clickable: false,
            item: 'a.producer',
            vertical: true
        });
        
        if($('#producers .items a').length < 3){
            $('#regionProducers a.nextPage').addClass('disabled');
        }
    }
    
    function initWineScroller(wineScroller, wineNavigation){
         $("a.wineRegion").bind('click', function(){
             var region = $(this).attr('alt');
            getRegionInfo(region, true);
            return false;
         });   
    
        $(".wineLink").colorbox({
            iframe: true,
            width: '685px',
            height: '480px'
        });

        $('.purchaseBtn').bind('click', function() {
            var tracking = $(this).attr('tracking');
            pageTracker._trackPageview(tracking);
            newwindow = window.open($(this).parent('a').attr('href'), 'buyMe');
            if (window.focus) {
                newwindow.focus()
            }
            return false;
        });
    
        $(wineScroller).scrollable({
            size: 2,
            speed: 600,
            clickable: false
        }).navigator({
            navi: wineNavigation,
            naviItem: 'a.page',
            activeClass: 'selected'
        });
        
        queryString = wineNavigation + " ul li";
        if ($(queryString).length == 1){
            $(wineNavigation).addClass('disabled');
        }
        
    }
