(function(){
	var overlayConfiguration = {
		'community-overlay' : {
			'position' : {
				'x' : 45,
				'y' : 20
			},
			'terminators' : {
				'close-community' : function () { return true; }
			}
		},
		
		'log-in-overlay' : {
			'position' : {
				'x' : 653,
				'y' : 30
			},
			'terminators' : {
				'close-log-in' : function () { return true; }
			}
		},
		
		'remember-id-overlay' : {
			'position' : {
				'x' : 590,
				'y' : 98
			},
			'terminators' : {
				'close-remember-id' : function () { return true; }
			}
		}
	}
	
	var redeemOverlays = ['community-overlay', 'log-in-overlay', 'remember-id-overlay'];			
	
	var triggers = mcd.dom.getElementsByAttribute('class', 'overlay-trigger', document.body, 'a', true);					
	
	for(var i=0; i<redeemOverlays.length; i++){
		var overlayName = redeemOverlays[i];
		
		// If overlay doesn't exist skip it and continue loop
		if(!document.getElementById(overlayName)) continue;
		
		mcd.Overlay.manager.overlays[overlayName] = new mcd.Overlay(overlayName);
		mcd.Overlay.manager.overlays[overlayName].configure(overlayConfiguration[overlayName]);
		
		mcd.util.each(triggers, function(trigger){
			var rel = trigger.rel;
			if(rel === overlayName){					
				mcd.event.add(trigger, 'click', function(event){		
					
					var target = mcd.event.getTarget(event);
					
					// Make sure we have an anchor for a target
					while(target.tagName !== 'A') {
						target = target.parentNode;
					}
					
					var overlayName = target.rel;																
									
					mcd.Overlay.manager.hideAll();
					mcd.event.preventDefault(event);							
					mcd.Overlay.manager.overlays[overlayName].setPosition(overlayName);
					mcd.Overlay.manager.overlays[overlayName].toggle();
					mcd.Overlay.manager.overlays[overlayName].resetOverlay();																
				});
			}
		});					
	}

	
})();
