var browseComponentManager;
/**

browseComponentManager:
   Manages all components for browse section

author: dedmondson
date:   16/01/2009
*/

// Object Def
function  browseComponentManager(){
 

   // Private functions 
    var subscriptionRequestSuccessCallback = function() {
   	 $('#QS_SubscriptionBoxWrapper').fadeOut('normal', function(){ $('#QS_SubscriptionBoxThankyouWrapper').fadeIn('normal') } );
   	 window.setTimeout(function() {
   		$('#QS_subscriptionBoxForm').validate().resetForm();
   		$('#QS_SubscriptionBoxThankyouWrapper').fadeOut('normal', function(){ $('#QS_SubscriptionBoxWrapper').fadeIn('normal') } ); 
   	  }, 10000); 
    }
	
    var subscriptionRequestErrorCallback = function(errorMessages) {
    	sessionController.showErrorOverlay(errorMessages);
    }
	 
   
	 
  // xxxManager: Public functions
  return{
  
    submitSubscriptionRequest:function() {
  	  var form = $('#QS_subscriptionBoxForm');
  	  if( form.validate().form()) {
  		basketController.subscribe( form.find('input[name=listName]').val(),
  				                    '',
  				                    form.find('input[name=subscribeFirstName]').val(),
  				                    form.find('input[name=subscribeLastName]').val(),
  				                    form.find('input[name=subscribeEmailAddress]').val(),
  				                    form.find('input[name=setting]').val(),
  				                    subscriptionRequestSuccessCallback,
  				                    subscriptionRequestErrorCallback)
  	  }
    },
    
    initValidation:function(){

        $("#QS_subscriptionBoxForm").validate({errorClass: "errorHighlight",
    		errorContainer: "#QS_subscriptionBoxErrorSection",
    		errorLabelContainer: "#QS_subscriptionBoxErrors",
    		onfocusout: false,
    		onclick: false,
    		onkeyup: false,
    		wrapper: "li",
    		highlight: function(element, errorClass) {
    			$(element).addClass(errorClass);
    		},
    		rules: {
    			subscribeFirstName: {required:true, maxlength:30},
    			subscribeLastName: {required:true, maxlength:30},
    			subscribeEmailAddress: {required:true, email:true, maxlength:100}
    		},
    		messages: {
    			subscribeFirstName: 'First name is required',
    			subscribeLastName: 'Last name is required',
    			subscribeEmailAddress: {required:'Email address is required', 
    			                        email:'Invalid email address' }
    		}
    	});
    }

	  
  }
}


// On page load
$(function(){
 browseComponentManager = new browseComponentManager();
 browseComponentManager.initValidation();
 $('#QS_SubscriptionBoxThankyouWrapper').hide()
});
$(function() {
$('.toggleBookSets').hide();

$('.bookSets .actionBookSets').click(function(event) {
	var booksets = $(event.target).parents("div.bookSets");
	if ( booksets.find('.toggleBookSets').is(":hidden"))
    {
         booksets.find('.toggleBookSets').slideDown("slow");
         booksets.find('.actionBookSets').html('Hide included titles');
    } else {
    	booksets.find('.toggleBookSets').slideUp("slow");
    	booksets.find('.actionBookSets').html('Show included titles');
    }

		}); 
});

