	// Edited 1/2011
	//setup timers hash map
	var timers = {};

	//default cookie options
	var cookieOptions = {domain: ".playboy.com", path: "/"};  // 365 days from now 		
	$.isExistingMember = function(){
	
		var u_profile = $.cookie("u_profile");
		return ( u_profile  != null && u_profile != undefined );
							
	}
	
	$.createCockBlock = function(	cockBlockName, //name of the cock block  
									cockBlockUnregisteredDelaySeconds, //unregistered users will see the cock block after 10 seconds  
									cockBlockRegisteredDelaySeconds, //registered users will see the cock block after 30 seconds
									timerIntervalSeconds, //check every 5 seconds for a cock block
									callbackFunction, //function to call when the cock block is activated 
									overrideExisting //override any existing cock block settings when the cock block is created
								) {	
		
		if ($.isExistingMember()){
			
			return;
		}
	
		var unregisteredCockBlockCookieName = cockBlockName + "UnregisteredCockBlock"; 
		var registeredCockBlockCookieName = cockBlockName + "RegisteredCockBlock"; 
		var isUserRegisteredCookieName = cockBlockName + "IsUserRegistered"; 

		var cockBlockUnregisteredDate = parseInt( $.cookie(unregisteredCockBlockCookieName) ); 
		var cockBlockRegisteredDate = parseInt( $.cookie(registeredCockBlockCookieName) );
		var isUserRegistered = $.cookie(isUserRegisteredCookieName);
		
		
		//only update the values if they haven't been set previously
		if ( overrideExisting ||
		  	 cockBlockUnregisteredDate == null || cockBlockUnregisteredDate == "" ||
		  	 cockBlockRegisteredDate == null || cockBlockRegisteredDate == "" ||
		  	 isUserRegistered == null || isUserRegistered == "" 
		) {
			//determine when the cock block should kick in for both unregistered and registered users 
			var currentDate = Date.parse(new Date()); 
				
			//set unregistered cock block time cookie
			cockBlockUnregisteredDate = Date.parse(new Date(currentDate + cockBlockUnregisteredDelaySeconds * 1000 ));  		 				
			$.cookie(unregisteredCockBlockCookieName, cockBlockUnregisteredDate, cookieOptions);
	
			//set registered cock block time cookie
			cockBlockRegisteredDate = Date.parse(new Date(currentDate + cockBlockRegisteredDelaySeconds * 1000 ));		
			$.cookie(registeredCockBlockCookieName, cockBlockRegisteredDate, cookieOptions);
	
			//set isUserRegistered cookie
			$.cookie(isUserRegisteredCookieName, false, { domain: ".playboy.com", path: "/", expires:365});
		}
		
		//setup timer (clearing out old timer if one exists)
		if ( timers[cockBlockName] ){
			clearInterval( timers[cockBlockName] );
		}			
		
		var timer = setInterval( 
				function(){
					var isBlocked = $.isBlocked(cockBlockName);
					if ( isBlocked ){
						var isUserRegistered = $.isUserRegistered(cockBlockName);
						callbackFunction(cockBlockName, cockBlockUnregisteredDelaySeconds, cockBlockRegisteredDelaySeconds, cockBlockUnregisteredDate, cockBlockRegisteredDate, isUserRegistered, isBlocked);
					}
				}
				, timerIntervalSeconds * 1000);

		timers[cockBlockName] = timer;					
	};

	$.setIsUserRegistered = function(cockBlockName, isUserRegistered, cookieOptions ){
		var isUserRegisteredCookieName = cockBlockName + "IsUserRegistered"; 

		// Nick Edit
		// cookie options (session or length of time) can be set when setting the isUserRegistered to true (or false)
		$.cookie(isUserRegisteredCookieName, isUserRegistered, cookieOptions);
	}
	
	$.removeCockBlock = function(cockBlockName) {	
		var unregisteredCockBlockCookieName = cockBlockName + "UnregisteredCockBlock"; 
		var registeredCockBlockCookieName = cockBlockName + "RegisteredCockBlock"; 
		var isUserRegisteredCookieName = cockBlockName + "IsUserRegistered"; 

		//unregistered cock block time
		$.cookie(unregisteredCockBlockCookieName, null);

		//registered cock block time
		$.cookie(registeredCockBlockCookieName, null);

		//is registered
		$.cookie(isUserRegisteredCookieName, null, { domain: ".playboy.com", path: "/", expires:365});

		clearInterval( timers[cockBlockName] );						
	};
	
	$.isBlocked = function(cockBlockName) {
		var unregisteredCockBlockCookieName = cockBlockName + "UnregisteredCockBlock"; 
		var registeredCockBlockCookieName = cockBlockName + "RegisteredCockBlock"; 

		var isUserRegistered = $.isUserRegistered(cockBlockName);
		var cockBlockUnregisteredDate = parseInt( $.cookie(unregisteredCockBlockCookieName) ); 
		var cockBlockRegisteredDate = parseInt( $.cookie(registeredCockBlockCookieName) );

		var currentDate = Date.parse(new Date());
		 		
		if ( isUserRegistered ){
			if ( currentDate > cockBlockRegisteredDate ){
				return true;
			}
			else{
				return false;
			}
		}
		else
		if ( currentDate > cockBlockUnregisteredDate ){
			return true;
		}

		return false;				
	}

	$.isUserRegistered = function(cockBlockName) {
		var isUserRegisteredCookieName = cockBlockName + "IsUserRegistered"; 

		var isUserRegistered = $.cookie(isUserRegisteredCookieName);

		//if ( isUserRegistered == "true" || isUserRegistered == null || isUserRegistered == "" ){
		if ( isUserRegistered == "true"){
		
			return true;
		}
		else{
			return false;
		}
	}

