//NOTE: YOU MUST ADD 25px to the height of each 
//of these to account for the close banner
var aeoModals = {
	ae: {
		//FreeShipping 100 Popup
		'fs100PopupModal': {
			opts: {
				ajaxData: {'name': 'default'},
				id: 'fs100PopupModal',
				height: 330,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #fs100PopupModalOverlay'
			},
			jsLink: 'jsFS100Link'
		},
		//freeShipping Popup
		'freeShippingPopupModal': {
			opts: {
				ajaxData: {'name': 'freeShipping'},
				id: 'freeShippingPopupModal',
				height: 358,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #freeShippingPopupModalOverlay'
			},
			jsLink: 'jsFreeShippingLink'
		},
		//Youtube Popup
		'youtubePopupModal': {
			opts: {
				ajaxData: {'name': 'youtube'},
				id: 'youtubePopupModal',
				height: 369,
				width: 425,
				closeSelector: '#checkoutModalCloseLink, #youtubePopupModalModalOverlay'
			},
			jsLink: 'jsYoutubeLink'
		},
		//Lookbook Popup
		'lookbookPopupModal': {
			opts: {
				ajaxData: {'name': 'lookbook'},
				id: 'lookbookPopupModal',
				height: 639,
				width: 799,
				closeSelector: '#checkoutModalCloseLink, #lookbookPopupModalModalOverlay'
			},
			jsLink: 'jsLookBookLink'
		},			
		//Jewelry Popup
		'jewelryPopupModal': {
			opts: {
				ajaxData: {'name': 'jewelry'},
				id: 'jewelryPopupModal',
				height: 375,
				width: 486,
				closeSelector: '#checkoutModalCloseLink, #jewelryPopupModalOverlay'
			},
			jsLink: 'jsJewelryLink'
		},
		//Graphic Popup
		'graphicPopupModal': {
			opts: {
				ajaxData: {'name': 'graphic'},
				id: 'graphicPopupModal',
				height: 265,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #graphicPopupModalOverlay'
			},
			jsLink: 'jsGraphicLink'
		},
		//Denim Popup
		'denimPopupModal': {
			opts: {
				ajaxData: {'name': 'denim'},
				id: 'denimPopupModal',
				height: 445,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #denimPopupModalOverlay'
			},
			jsLink: 'jsDenimLink'
		},
		//AE jegging
		'jeggingPopupModal': {
			opts: {
				ajaxData: {'name': 'jegging'},
				id: 'jeggingPopupModal',
				height: 300,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #jeggingPopupModalOverlay'
			},
			jsLink: 'jsjeggingLink'
		},
		//AE tanks
		'bogoTanksPopupModal': {
			opts: {
				ajaxData: {'name': 'bogoTanks'},
				id: 'bogoTanksPopupModal',
				height: 300,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #bogoTanksPopupModalOverlay'
			},
			jsLink: 'jsTanksLink'
		},
		
		//Bogo Jeans
		'bogoJeansTsPopupModal': {
			opts: {
				ajaxData: {'name': 'bogoJeansTs'},
				id: 'bogoJeansTsPopupModal',
				height: 300,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #bogoJeansTsPopupModalOverlay'
			},
			jsLink: 'jsbogoJeansTsLink'
		},	
		//AE Labor Day
		'fs20PopupModal': {
			opts: {
				ajaxData: {'name': 'fs20'},
				id: 'fs20PopupModal',
				height: 460,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #fs20PopupModalOverlay'
			},
			jsLink: 'jsFS20Link'
		},	
		//AE sweeps Official Rules
		'sweepsOfficialRulesPopupModal': {
			opts: {
				ajaxData: {'name': 'sweepsOfficialRules'},
				id: 'sweepsOfficialRulesPopupModal',
				height: 400,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #sweepsOfficialRulesPopupModalOverlay'
			},
			jsLink: 'jssweepsOfficialRulesLink'
		},				
		// Bogo Ts Tanks
		'bogoAETsTanksPopupModal': {
			opts: {
				ajaxData: {'name': 'bogoAETsTanks'},
				id: 'bogoAETsTanksPopupModal',
				height: 315,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #bogoAETsTanksPopupModalOverlay'
			},
			jsLink: 'jsBogoAETsTanksLink'
		}
	},
	aerie: {
		//FreeShipping 100 Popup
		'fs100PopupModal': {
			opts: {
				ajaxData: {'name': 'default'},
				id: 'a_fs100PopupModal',
				height: 330,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_fs100PopupModalOverlay'
			},
			jsLink: 'a_jsFS100Link'
		},
		//Clearance Popup
		'clearancePopupModal': {
			opts: {
				ajaxData: {'name': 'clearance'},
				id: 'a_clearancePopupModal',
				height: 325,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_clearancePopupModalOverlay'
			},
			jsLink: 'a_jsClearanceLink'
		},
		//Aerie Bra Sweeps
		'braSweepsPopupModal': {
			opts: {
				ajaxData: {'name': 'braSweeps'},
				id: 'a_braSweepsPopupModal',
				height: 432,
				width: 431,
				closeSelector: '#checkoutModalCloseLink, #a_braSweepsPopupModalOverlay'
			},
			jsLink: 'a_jsBraSweepsLink'
		},
		//Aerie Labor Day
		'fs20PopupModal': {
			opts: {
				ajaxData: {'name': 'fs20'},
				id: 'fs20PopupModal',
				height: 460,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #fs20PopupModalOverlay'
			},
			jsLink: 'jsFS20Link'
		},	
		//Aerie Bogo
		'bogoPopupModal': {
			opts: {
				ajaxData: {'name': 'bogoFIT'},
				id: 'a_bogoPopupModal',
				height: 319,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_bogoPopupModalOverlay'
			},
			jsLink: 'a_jsBogoLink'
		},
		//Aerie Free Shipping on Bras
		'brasFSPopupModal': {
			opts: {
				ajaxData: {'name': 'brasFS'},
				id: 'a_brasFSPopupModal',
				height: 310,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_brasFSPopupModalOverlay'
			},
			jsLink: 'a_jsBrasFSLink'
		},
		//Aerie Bogo
		'doubleRewardsPopupModal': {
			opts: {
				ajaxData: {'name': 'doubleRewards'},
				id: 'a_doubleRewardsPopupModal',
				height: 300,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_doubleRewardsPopupModalOverlay'
			},
			jsLink: 'a_jsDoubleRewardsLink'
		},				
		//Aerie Bogo Ts Tanks
		'bogoTsTanksPopupModal': {
			opts: {
				ajaxData: {'name': 'bogoTsTanks'},
				id: 'a_bogoTsTanksPopupModal',
				height: 332,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_bogoTsTanksPopupModalOverlay'
			},
			jsLink: 'a_jsBogoTsTanksLink'
		},				
		//Aerie buy 2 bras get 25%
		'buy2brasPopupModal': {
			opts: {
				ajaxData: {'name': 'buy2bras'},
				id: 'a_buy2brasPopupModal',
				height: 375,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_buy2brasPopupModalOverlay'
			},
			jsLink: 'a_jsbuy2brasLink'
		},				
		//Aerie 30offbras
		'30offbrasPopupModal': {
			opts: {
				ajaxData: {'name': '30offbras'},
				id: 'a_30offbrasPopupModal',
				height: 390,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #a_30offbrasPopupModalOverlay'
			},
			jsLink: 'a_js30offbrasLink'
		}
	},	
	kids: {
		//FreeShipping 100 Popup
		'fs100PopupModal': {
			opts: {
				ajaxData: {'name': 'default'},
				id: 'k_fs100PopupModal',
				height: 350,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #k_fs100PopupModalOverlay'
			},
			jsLink: 'k_jsFS100Link'
		},	
		//FreeShipping Popup
		'fsPopupModal': {
			opts: {
				ajaxData: {'name': 'freeshipping'},
				id: 'k_fsPopupModal',
				height: 320,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #k_fsPopupModalOverlay'
			},
			jsLink: 'k_jsFSLink'
		},
		//Jewelry Popup
		'jewelryPopupModal': {
			opts: {
				ajaxData: {'name': 'jewelry'},
				id: 'jewelryPopupModal',
				height: 375,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #jewelryPopupModalOverlay'
			},
			jsLink: 'k_jsJewelryLink'
		},
		//yum mobile tops Popup
		'yummobilePopupModal': {
			opts: {
				ajaxData: {'name': 'yummobile'},
				id: 'yummobilePopupModal',
				height: 422,
				width: 403,
				closeSelector: '#checkoutModalCloseLink, #yummobilePopupModalOverlay'
			},
			jsLink: 'k_jsYumMobileLink'
		},
		//Kids Labor Day
		'fs20PopupModal': {
			opts: {
				ajaxData: {'name': 'fs20'},
				id: 'fs20PopupModal',
				height: 460,
				width: 460,
				closeSelector: '#checkoutModalCloseLink, #fs20PopupModalOverlay'
			},
			jsLink: 'jsFS20Link'
		},	
		//School Supply Popup
		'schoolSupplyPopupModal': {
			opts: {
				ajaxData: {'name': 'schoolSupply'},
				id: 'schoolSupplyPopupModal',
				height: 428,
				width: 403,
				closeSelector: '#checkoutModalCloseLink, #schoolSupplyPopupModalOverlay'
			},
			jsLink: 'k_jsSchoolSupplyLink'
		},
		//Free Shipping on Denim Popup
		'fsDenimPopupModal': {
			opts: {
				ajaxData: {'name': 'fsDenim'},
				id: 'fsDenimPopupModal',
				height: 350,
				width: 403,
				closeSelector: '#checkoutModalCloseLink, #fsDenimPopupModalOverlay'
			},
			jsLink: 'k_jsFSDenimLink'
		}				
	}
};

$.each(aeoModals, function( brand, val ) {
	$.each(aeoModals[brand], function( popupData, val ) {
		aeoModals[brand][popupData].open = (function( popupDataObj, brand ) {
			return function() {
				if (!popupDataObj.modal) {
					popupDataObj.opts.id = popupDataObj.opts.id; // add brand prepend
					popupDataObj.modal = new Modal($.extend({
						useAjax: true,
						url: '/'+((brand == 'ae') ? 'web' : (brand == 'kids') ? '77kids' : brand)+'/popups/popup_modal.jsp?cr='+jsContextRoot
					}, popupDataObj.opts));
				}
				popupDataObj.modal.open();
			};
		})(aeoModals[brand][popupData], brand);
		if (!aeoModals.initHandlers) {
			aeoModals.initHandlers = [];
		}
		aeoModals.initHandlers.push((function( popupDataObj ) {
			return function() {
					$('a.'+ popupDataObj.jsLink).unbind('click.'+popupDataObj.jsLink).bind('click.'+popupDataObj.jsLink, function ( evt ) {
						evt.preventDefault();
						popupDataObj.open();
					});
				};
		})(aeoModals[brand][popupData]));
	});
});

$(document).ready(function() {
	$.each(aeoModals.initHandlers, function( index, val ) {
		val();
	});
		
	var urlParams = $.parseQueryString(),
	currentBrand;

	if (urlParams != null) {
		if (jsContextRoot == 'web') {
			currentBrand = 'ae';
		} else if (jsContextRoot == '77kids') {
			currentBrand = 'kids';
		} else {
			currentBrand = jsContextRoot;
		}
		
		if (urlParams.popup != null && urlParams.popup.length > 0) {
			if (aeoModals[currentBrand][urlParams.popup] != null && typeof aeoModals[currentBrand][urlParams.popup].open == 'function') {
				aeoModals[currentBrand][urlParams.popup].open();
			}
		}
	}
});


// AE E-mail Promotion Popup
$(document).ready(function(){
	var url = window.location.search;
	if (url.indexOf("popup=freeshipping")>-1) {
		aeoModals["ae"]["fs100PopupModal"].open();
	}
	if (url.indexOf("popup=youtube")>-1) {
		aeoModals["ae"]["youtubePopupModal"].open();
	}
});