(function() {
	var MOVIE_PARAM_SELECTOR = "#movieParam";
	var MOVIE_EMBED_SELECTOR = "#landing-popup embed";
	var MOVIE_OBJECT_SELECTOR = "#landing-popup .youtube-video";
	var ORG_NAME_SELECTOR = "#landing-popup .organization-name";
	var PRICE_SELECTOR = "#landing-popup .price";
	var LOGO_SELECTOR = "#landing-popup .logo";
	var LANDING_POPUP_SELECTOR = '#landing-popup';
	var CLOSE_BUTTON_SELECTOR = '#landing-popup .close';
	
	var FORMAT_LARGE_LOGO = 'large-logo-format',
		FORMAT_LOGO_HEADER = 'logo-header-format',
		FORMAT_DEFAULT = 'default-format';
	
	var REFERRAL_REGEX = /referralCode=([\d\w]+)/;
	var YOUTUBE_REGEX = /v=([\d\w]+)/;
	var YOUTUBE_URL = "http://www.youtube.com/v/";
	var YOUTUBE_PARAMS = {
		color1: "0xe1600f",
		color2: "0xfebd01",
		hl: "en",
		fs: "1"		
	};
	
	var POPUPS = {};
	
	var collapseParams = function(p) {
		var out = "";
		for(paramName in p) {
			out += "&" + paramName + "=" + p[paramName];
		}
		
		return out;
	};
	
	var showPopup = function(p) {
		var youtubeCode = YOUTUBE_REGEX.exec(p.youtube)[1];
		youtubeCode = YOUTUBE_URL + youtubeCode + collapseParams(YOUTUBE_PARAMS);
		
		jQuery(MOVIE_PARAM_SELECTOR).attr("value", youtubeCode);
		jQuery(MOVIE_EMBED_SELECTOR).attr("src", youtubeCode);
		
		jQuery(ORG_NAME_SELECTOR).html(p.name);
		jQuery(PRICE_SELECTOR).html(p.price);

		var format = p.format || FORMAT_DEFAULT;

		if(jQuery.browser.msie) {
			var h = jQuery("#landing-popup .youtube-video").html();
			jQuery("#landing-popup .youtube-video").html("");
			jQuery("#landing-popup .youtube-video").html(h);			
		}
		
		if(p.logo) {
			jQuery(LOGO_SELECTOR).addClass('has-image');
			jQuery(LOGO_SELECTOR).css('background-image', 'url(./images/yd/' + p.logo + ')');
		} else {
			jQuery(LOGO_SELECTOR).removeClass('has-image');
		}
		
		if(p.logo && p.format !== FORMAT_DEFAULT) {
			jQuery(LANDING_POPUP_SELECTOR).addClass(p.format);
		} else {
			jQuery(LANDING_POPUP_SELECTOR).addClass(FORMAT_DEFAULT);
		}
		
		jQuery(document.body).addClass("popup-shown");
		jQuery(LANDING_POPUP_SELECTOR).show();
	};
	
	jQuery(document).ready(function() {
		if(REFERRAL_REGEX.test(document.location + "")) {
			var code = REFERRAL_REGEX.exec(document.location + "")[1];
			
			for(var p in POPUPS) {
				var popup = POPUPS[p];
				
				if(popup.code === code) {
					showPopup(popup);
				}
			}
		}
		
		jQuery(CLOSE_BUTTON_SELECTOR).click(function() {
			jQuery(document.body).removeClass("popup-shown");
			jQuery(LANDING_POPUP_SELECTOR).hide();
		});
	});
	
	/* EDIT NOTHING ABOVE THIS LINE! */
	
	
	POPUPS.FOTF = {
		code: "focusonthefamily", /* Incoming referral code */
		name: "Focus On The Family", /* Name of the organization */
		logo: "partner-logos/fotf.png", /* Location of logo file (optional) 75 pixels square */
		price: "$8.99", /* Pricing scheme */
		youtube: "http://www.youtube.com/watch?v=ySg8I6hnfvI" /* youtube video */
	};
	POPUPS.MMFGOLF = {
		code: "mmfgolf", /* Incoming referral code */
		name: "Megan Meier Foundation", /* Name of the organization */
		logo: "partner-logos/mmfgolf.png", /* Location of logo file (optional) 75 pixels square */
		price: "free for 3 months", /* Pricing scheme */
		youtube: "http://www.youtube.com/watch?v=tbCcgEEu5BA" /* youtube video */
	};
	POPUPS.SAFETYMOM = {
		code: "safetymom", /* Incoming referral code */
		name: "Safety Mom", /* Name of the organization */
		logo: "partner-logos/safetymom.png", /* Location of logo file (optional) 75 pixels square */
		price: "$8.99 per month", /* Pricing scheme */
		youtube: "http://www.youtube.com/watch?v=VVd3NqeGwxw", /* youtube video */
		format: FORMAT_LARGE_LOGO /* One of: FORMAT_DEFAULT, FORMAT_LARGE_LOGO, FORMAT_LOGO_HEADER */
	};
	POPUPS.SAFETYMOMALT = {
		code: "safetymomalt", /* Incoming referral code */
		name: "Safety Mom", /* Name of the organization */
		logo: "partner-logos/safetymom-alt.png", /* Location of logo file (optional) 75 pixels square */
		price: "$8.99 per month", /* Pricing scheme */
		youtube: "http://www.youtube.com/watch?v=VVd3NqeGwxw", /* youtube video */
		format: FORMAT_LOGO_HEADER
	};
	POPUPS.PROTECTORS = {
		code: "protectors", /* Incoming referral code */
		name: "The Protectors", /* Name of the organization */
		logo: "partner-logos/protectors.png", /* Location of logo file (optional) 75 pixels square */
		price: "$8.99 per month", /* Pricing scheme */
		youtube: "http://www.youtube.com/watch?v=J69laWZX0vM" /* youtube video */
	};
		POPUPS.FCA = {
		code: "fca", /* Incoming referral code */
		name: "Fellowship of Christian Athletes", /* Name of the organization */
		logo: "partner-logos/FCA_logo75.png", /* Location of logo file (optional) 75 pixels square */
		price: "$9.99 per month", /* Pricing scheme */
		youtube: "http://www.youtube.com/watch?v=XFDIVXG6GAE" /* youtube video */
	};
})();
