// ==ClosureCompiler==
// @compilation_level SIMPLE_OPTIMIZATIONS
// @output_file_name offers.min.js
// ==/ClosureCompiler==

//Set up Cars namespace
//Replace this with dp.cars.offers for next quarter, inc. .min.

var cars = function(){};
    cars.offers = function(){};
    cars.offers.formFuncs = function(){};

var ssdifCampaignValues=new Array();
    ssdifCampaignValues['submit_destinationId']='2';
    ssdifCampaignValues['submit_campaignId']='105';
    ssdifCampaignValues['ContactWithHonda/CampaignDivision']='C';
    ssdifCampaignValues['ContactWithHonda/ActivityType']='M';
    ssdifCampaignValues['ContactWithHonda/SequenceNumber']='1005';
    ssdifCampaignValues['ContactWithHonda/CellRef']='00';
    ssdifCampaignValues['ContactWithHonda/OutboundMedium']='W';
    ssdifCampaignValues['SetDealerCodeByPostcode'] = true;
    ssdifCampaignValues['ContactWithHonda/CRCode']='AB04';
    ssdifCampaignValues['ContactWithHonda/DataSource']='01';
    ssdifCampaignValues['ContactWithHonda/OutboundExecution']='A';
    ssdifCampaignValues['ContactWithHonda/ResponseType']='Q';
    ssdifCampaignValues['ContactWithHonda/ResponseStatus']='V';
    ssdifCampaignValues['ContactWithHonda/InboundExecution']='X';
    ssdifCampaignValues['Telephone_Mandatory'] = true;
    ssdifCampaignValues['PlannedCar1'] = true;
    ssdifCampaignValues['ContactTime'] = true;
    ssdifCampaignValues['SetProspectInterestCarDetails']='';
    ssdifCampaignValues['SCustomComment']='';
    ssdifCampaignValues['RunAfterValidation'] = 'cars.offers.formFuncs.onSubmit()';
    ssdifCampaignValues['HiddenSubmit'] = true;
    

$(document).ready(function(){
    if (_panels.initialLoad === true) {
        panelCallback("ready");
    }
});


function panelCallback(status) {
    if(status == "ready") {

    (function(){
        
        var $activePanel = "#option1",
            opt = '.opt1';
    
        //Public functions
        cars.offers.execute = function () {
            $('#financeCalculator').removeClass('no-js');
            $('#financeCalculator select').each(function () {
                this.selectedIndex = 0;
            })
            tabHandler();
            quoteHandler();
            selectHandler();
        };
        
        //Private Functions
        function tabHandler() {
            
            $('.tab a').live('click', function (e) {
               doLogging($(this).attr('name'));
    
                var tab = $(this).parent();
                if($(tab).hasClass('hover')){         
                    $('.tab','.tabs').each(function(){
                        if($(this).hasClass('active')){
                          $(this).removeClass('active').addClass('inactive'); 
                        }
                    });
                    $(tab).removeClass('hover').addClass('active');
                    showPanel($(tab).attr("class"));
                }
                e.preventDefault();
            });
            
            $('.tab a').live('mouseenter', function() {
                tab = $(this).parent();
                if($(tab).hasClass('inactive')){
                    $(tab).removeClass('inactive').addClass('hover');  
                }  
                }).mouseleave(function(){
                    if($(tab).hasClass('hover')){
                    $(tab).removeClass('hover').addClass('inactive');
                }
            });       
        };
        
        function showPanel(id) {
            $activePanel ='#'+id.split(" ")[0];
            tabs = $('.tab','.tabs');
            for(i=0;i<tabs.length;i++) {
                opt = '#option'+(i+1);
                if($(opt).is(":visible")) {
                    $(opt).hide();
                }
            }
            if ($.browser.msie) {
                $($activePanel).show();
            } else {
                $($activePanel).fadeIn(500);
           }
        };
        
        function quoteHandler() {
             
            $('.requestQuote').live('click', function(e) {
               var selectedBadge = $(this).parents($activePanel).find('select option:selected').val();
               offerDetails(selectedBadge);
                var $financeContent = $('#financeContent'),
                panelHeight = $financeContent.height();
                $('#financeContent').height($financeContent.height());
                $('#financeCopy, #financeCalculator').fadeOut(500,function() {
                    $('#registerForAQuote').removeClass('hide').hide().fadeIn(500, function(){
                        $financeContent.css('height', 'auto');
                    });		
                });
    
                e.preventDefault();
                
            });     
        };
        
        function selectHandler() {
            $(".details select", ".calculatorContent").bind('change', function() {
                var showSpan = ".opt" + (this.selectedIndex + 1);
                var len = $('option', this).length;
                var calculatorContent = $(this).parents().find($activePanel);
                
                for(i=0; i<=len; i++){
                   var hideSpan = ".opt" + i;
                   if($(hideSpan).is(":visible")) {
                        $(hideSpan, calculatorContent).hide();
                   }
                }
                $(showSpan, calculatorContent).show();
            });
        };
        
        function offerDetails(offer) {
            
            var modelName = $('.' + offer + ' .ModelName', $activePanel).val(),
            bodyStyle = $('.' + offer + ' .bodyStyle', $activePanel).val(),
            doors = $('.' + offer + ' .doors', $activePanel).val(),
            transmission = $('.' + offer + ' .transmission', $activePanel).val(),
            fuelType = $('.' + offer + ' .fuelType', $activePanel).val(),
            offerName = $('.' + offer + ' .offerName', $activePanel).val();
           
            ssdifCampaignValues['SetProspectInterestCarDetails'] = [modelName, ',', bodyStyle, ',', doors, ',', transmission, ',', fuelType].join('');
            ssdifCampaignValues['CustomComment'] = [offerName, ' - ', modelName, ' ', doors, ' door'].join('');
            
            doLogging('/cars/' + productFolder + '/offers/requestaquote');
            
            $('#registerForAQuote p.contactDeclare span').html(['<span class="tense">I wish to be contacted</span>&nbsp;about the <strong>', offerName, '</strong> offer on the ', modelName, '.'].join(''));
    
        }
       
    })();
    
    
    
    (function(){
            
        //Public functions
        cars.offers.formFuncs.execute = function () {
            cancelQuote();
            
        };
        
        cars.offers.formFuncs.onSubmit = function () {
            $('#submittedSsdifForm').removeClass('hide').hide().fadeIn(500);	
            $('a.cancelQuote').text('Close');
            $('#registerForAQuote p.contactDeclare span.tense').html('You will be contacted');
            doLogging('/cars/' + productFolder + '/offers/requestaquote/thankyou');
            return true;
            
        };
        
        function cancelQuote() {
            
        $('a.cancelQuote').click(function(e){
            e.preventDefault();
            
            $('#registerForAQuote').fadeOut(500,function() {
                //determine if page has already been submitted
                if ($('#submittedSsdifForm').is(':visible')) {
                    //clear and reload so if needed, another offer request can be sent
                    $('#briefContent .window0').empty();
                    $('#briefContent .window0').load('/cars/'+productFolder+'/content/offers.shtml');
                } else {								 
                        $('#financeCopy, #financeCalculator').fadeIn(500);
                    }
                });
            
            });
        }
    
        
    })();
    
    cars.offers.execute();
    cars.offers.formFuncs.execute();
     }
}



