$(document).ready(function() {

  var dualOneSelected = false;
  var dualPlusSelected = false;
  
  $('#find-button').bind('click', function( )
  {
    
    var club = 0;
    var society = 0;
    var membership = partnerMembershipMarketTier;
    var market = $("#selection-box select#market option:selected").attr( 'value' );
    var benefits = $("#selection-box select#benefits option:selected").attr( 'value' );
    if (market !== "NONE")
    {
      window.location = 'http://' + window.location.host + window.location.pathname + '?page=benefits_finder&club='+club+'&society='+society+'&membership='+membership+'&market='+market+'&benefits=' + benefits;
    }
    else 
    {
    	$("#selection-box select#market").focus().addClass('focused').change(function() {
    	 $(this).removeClass('focused');
		  });
    }
  });
  
  $('.displayContainer').bind('click', function( )
  {

    image = $('.displayContainer').css('background-image');
    image = image.replace(/"/g,'').replace(/url\(|\)$/ig, '');
    image = image.split('#').pop().split('/');    
    activeImage = image[11];

    galleryPosition = 1;
    
    $('.gallery-image').each(function(index) {
      
    	if ( $(this).hasClass('active') )
    	{
    	 activePosition = galleryPosition;
    	}
    	
    	galleryPosition++;
      
    });
    
    areaName = 'Corporate';

    if ( typeof clubName !== "undefined" && clubName )
    {
      areaName = clubName;
    } else if ( typeof societyName !== "undefined" && societyName )
    {
      areaName = societyName;
    }
    
    _gaq.push(['_setDomainName','.clubcorp.com']);
    _gaq.push(['_trackEvent', 'Benefits Finder Promo Click', areaName, activeImage, activePosition]);
    
    window.open( $('.gallery.active').attr( 'href' ) );

  });

  $('#logo', '#header-box').bind('click', function( )
  {
    
    window.location = 'http://' + window.location.host + window.location.pathname;
    
  });

  
  $('.bf-item-label').bind('click', function( )
  {
  
	  displayBenefits = function( divId )
	  {
	    // Allow for zebra striping on the expanded view
	    $('#'+divId+' .bf-item-details .bf-detail:nth-child(even)').addClass("altRow");
	    // Get fancy and slide down the expanded data
	    $('#'+divId+' .bf-item-details').slideDown(250);	
	  }
    
    var id = $(this).parent().parent().parent().attr('id');
    var provider = id.replace( 'provider', '' );
    
    var club = getUrlVars()['club'];
    var society = getUrlVars()['society'];
    var benefits = getUrlVars()['benefits'];
    var membership = getUrlVars()['membership'];
    var market = getUrlVars()['market'];
    var view = getUrlVars()['view'];

    if ( $('#'+id).hasClass( 'partner-offers' ) )
    {
      var market = 883;
    }

    if ( $('#'+id).hasClass( 'member-discounts' ) )
    {
      var market = 886;
    }

    if ( $('#'+id).hasClass( 'expanded' ) )
    {
	    $('#'+id).removeClass('expanded').addClass('collapsed');
	    $('#'+id+' .bf-item-details').hide();
    }
    else
    {
      // check to see if we already got the results for this provider
      if ( $(this).parent().children('.bf-item-details').size( ) == 0 )
      {        
        $.ez('xhr::bf_providers', $.extend({ club: club, society: society, benefits: benefits, membership: membership, market: market, provider: provider, view: view }, ''), function(data) {
          $('.bf-item-header', '#'+id).append( data.content );
                    
          $('.getMoreItems strong').click(function()
          {
          
            var id = $(this).parent().parent().parent().parent().attr('id');
            var provider = id.replace( 'provider', '' );
            
            $.ez('xhr::bf_providers', $.extend({ club: club, society: society, benefits: 0, membership: membership, market: market, provider: provider }, ''), function(data) {
              
                $('#'+id).find('.bf-item-details').slideUp(100, function(){
                $('#'+id).find('.getMoreItems, .bf-item-details').remove( );
               	$('#'+id).find('.bf-item-header').append( data.content );
                displayBenefits( id );

                $('.bf-cta-btn').unbind('click').click(function( ) {
 
                  var club = 0;
                  var society = 0;
                  var membership = partnerMembershipMarketTier;
                  var membership = getUrlVars()['membership'];
                  
                  var benefits = getUrlVars()['benefits'];
                  var market = getUrlVars()['market'];
 
                  var benefit = $(this).parent().parent().attr('id').replace( 'benefit', '' );            
                  var provider = $(this).parent().parent().parent().parent().parent().parent().attr('id').replace( 'provider', '' );
   
                  window.location = 'http://' + window.location.host + window.location.pathname + '?page=benefits_finder_contact&club='+club+'&society='+society+'&membership='+membership+'&market='+market+'&benefits=' + benefits + '&benefit=' + benefit + '&provider=' + provider;
                });
              
              });
              
            });

    
          });

          $('.bf-cta-btn').unbind('click').click(function( ) {
            
            
            // Track the Contact ClubLine clicks
            var _siteName = $("#membership-edit-box #club option:selected").text();
            if (_siteName == "" || _siteName == null)
            {
            	var _siteName = $("#membership-edit-box #society option:selected").text();
            }
            var _provider = $(this).parent().parent().parent().parent().find('.bf-item-label strong').text();
            var _benCat = $(this).parent().parent().find('.bf-detail-title span').text();
            
            var _market = $("#results-controls-area #market option:selected").text();
            var _clubBenefitsPartner = $("#clubBenefitsPartnerName").text();
            
            _gaq.push(['_setDomainName','.clubcorp.com']);
            _gaq.push(['_trackEvent', 'BF CB ' + _clubBenefitsPartner + ' CC Provider + Benefit', _provider, _benCat]);
            _gaq.push(['_trackPageLoadTime']);
            
            var club = 0;
            var society = 0;
            var membership = partnerMembershipMarketTier;
            var membership = getUrlVars()['membership'];
            
            var benefits = getUrlVars()['benefits'];
            var market = getUrlVars()['market'];

            var benefit = $(this).parent().parent().attr('id').replace( 'benefit', '' );            
            var provider = $(this).parent().parent().parent().parent().parent().parent().attr('id').replace( 'provider', '' );

            window.location = 'http://' + window.location.host + window.location.pathname + '?page=benefits_finder_contact&club='+club+'&society='+society+'&membership='+membership+'&market='+market+'&benefits=' + benefits + '&benefit=' + benefit + '&provider=' + provider;

          });
          
          displayBenefits( id );
          
        });
      }
      else if ( $(this).parent().children('.bf-item-details').size( ) > 0 )
      {
        $('#'+id+' .bf-item-details').slideDown(100);
      }
      $('#'+id).removeClass('collapsed').addClass('expanded');
    }
    
  });

	$('#selection-box.results #membership-box').click(function()
	{
		if ( $(this).parent().hasClass( 'collapsed' ) )
		{
			$(this).parent().removeClass('collapsed').addClass('expanded');
			$('#membership-box span').hide();
			$('#membership-edit-box').slideDown(200);
		}
		else if ( $(this).parent().hasClass( 'expanded' ) )
		{
			$(this).parent().removeClass('expanded').addClass('collapsed');
			$('#membership-edit-box').hide();
			$('#membership-box span').show();
		}
	});


  $( "#results-controls-area #market, #results-controls-area #benefit" ).change(function( ) {

    var club = getUrlVars()['club'];
    var society = getUrlVars()['society'];
    var membership = getUrlVars()['membership'];

    var benefits = $(".results-control #benefit option:selected").attr('value');
    var market = $(".results-control #market option:selected").attr('value');
    
    window.location = 'http://' + window.location.host + window.location.pathname + '?page=benefits_finder&club='+club+'&society='+society+'&membership='+membership+'&market='+market+'&benefits=' + benefits;

  });

  $( "#change-membership-value" ).click(function( ) {

    var club = $("#membership-edit-box #club").attr('value');
    var society = $("#membership-edit-box #society").attr('value');
    var membership = $("#membership-edit-box #membership").attr('value');
    var benefits = $(".results-control #benefit option:selected").attr('value');
    var market = $(".results-control #market option:selected").attr('value');
    
    window.location = 'http://' + window.location.host + window.location.pathname + '?page=benefits_finder&market='+market+'&benefits=' + benefits;

  });

  
	$("#selection-box select#market").change(function()
	{
	    var market = $(this).attr('value');
	    if (market !== "NONE")
	    {
	    	$('#find-button').addClass('active').attr('title','Click to find benefits');
	    }
	    else
	    {
	     if ($('#find-button').hasClass('active'))
	     {
	    	$('#find-button').removeClass('active').attr('title','Please choose a location above (Step 2)');
	     }
	    }

	});
 
	$('.mini-selection-header span[title]').qtip({
	   position: {
	      my: 'bottom left',
	      at: 'top right'
	   },
	   style: {
	      classes: 'ui-tooltip-dark'
	   }
	});

	$('#reserve_date').datepicker({
		showOn: "button",
		buttonImage: "/extension/clubcorp/design/clubcorp/images/calendar.gif",
		buttonImageOnly: true
	});
	
	$(".bf-item-header .bf-cat-icon:first-child").addClass("first");
	
	if ( $('#page').attr('class') == 'society' )
  {
    $('#find-button').addClass('active');
  }
  
  $( "select#society, select#membership" ).change(function() {
  
    var society = $('select#society option:selected').text( );
    var membership = $('select#membership option:selected').text( );

    if ( society == 'O.N.E.' || membership == 'O.N.E.' )
    {
      
      if ( ! dualOneSelected )
      {
        $('select#society').val( 701 );
        $('select#membership').val( 701 );
        dualOneSelected = true;
      }
      else
      {
      
        if ( society == 'O.N.E.' )
        {
          $('select#society').val( 0 );
        }
        
        if ( membership == 'O.N.E.' )
        {
          $('select#membership').val( 709 );
        }        
        
        dualOneSelected = false;

      }
      
    }

    if ( society == 'Plus - Dallas' || membership == 'PLUS Travel' )
    {
      
      if ( ! dualPlusSelected )
      {
        $('select#society').val( 731 );
        $('select#membership').val( 744 );
        dualPlusSelected = true;
      }
      else
      {
      
        if ( society == 'Plus - Dallas' )
        {
          $('select#society').val( 0 );
        }
        
        if ( membership == 'PLUS Travel' )
        {
          $('select#membership').val( 709 );
        }        
        
        dualPlusSelected = false;

      }
      
    }
    
  });  
 
  $('#requestForm').validate();
 
  $( "#membership-edit-box #club" ).change(function( ) {
    setBenefitsFinderUrl( );
  }); 
  
  setBenefitsFinderUrl( );
 
});

function setBenefitsFinderUrl( club )
{
  
  if ( $('#benefits-finder').attr('class') == 'corporate' )
  {

    var club = $("#selection-box select#club option:selected").attr( 'value' );
    
    $.ez('xhr::bf_corporate_club_url', $.extend({ club: club }, ''), function(data) {        
      $('#default-market-id').html( data.content );      
    });
  
  }
  
}

function getUrlVars( )
{
	var vars = {};
	var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
		vars[key] = value;
	});
	return vars;
}
