// MboxNVXOffer Include Script
document.write(unescape("%3Cscript src='/js/mboxNVX.js' type='text/javascript'%3E%3C/script%3E"));
var gm = {
		
	_openedWindows : {}, // List of opened windows
	_navigationHierarchy : [], // Hierarchy of current page and URLs
	_userParamGroup : ["config_id", "link_id", "affiliate_id"], // List of default user parameters
	_userParams : jQuery.deparam.querystring(), // URL parameters
	// Homepage rotating banner
	enableHomepageTabs : function(indexContainer) { 
		if(!!jQuery.ui) {
			indexContainer.tabs({
				event: 'mouseover',
				fx: {
					opacity: "toggle",
					duration: "fast"
				}
			}).tabs("rotate", 6000, false);
		}
	},
	// Add form parameters to the homepage
	addFormParameters : function() {
		jQuery.each(gm.getUserParams(), function(k, v){
			jQuery("[name='"+ k +"']").val(v);
		});
	},
	// Add breadcrumb navigation and text resizer
	addArticleControls: function() {
		var addBreadCrumbItem = function(url, title ) {
			var breadCrumbItem = jQuery(document.createElement("a"));
			breadCrumbItem.attr("href", url).text(title);
			return breadCrumbItem;
		};
		if(jQuery("#content").hasClass("content")) {
			var articleControls = [
				"<div id='article-controls'>",
					"<div id='article-breadcrumbs'>",
					"</div>",
					"<div id='article-textsize' class='textsize-small'>",
						"<p>Text Size</p>",
						"<a href='#' class='textsize-small'>Small</a>",
						"<a href='#' class='textsize-normal'>Normal</a>",
						"<a href='#' class='textsize-large'>Large</a>",
					"</div>",
				"</div>"                   
			].join("");
			jQuery("#article-top").after(articleControls);
			if(gm._navigationHierarchy.length > 0) {
				var breadCrumbContainer = jQuery("#article-breadcrumbs");
				var breadCrumbInst = addBreadCrumbItem("/", "Home");
				breadCrumbContainer.append(breadCrumbInst).append(" > ");
				for(var i=0, navLength = gm._navigationHierarchy.length; i< navLength; i++ ) {
					if(i!=navLength-1) {
						breadCrumbInst = addBreadCrumbItem(gm._navigationHierarchy[i]["url"], gm._navigationHierarchy[i]["title"]);
						breadCrumbContainer.append(breadCrumbInst).append(" > ");
					} else {
						breadCrumbContainer.append(gm._navigationHierarchy[i]["title"]);
					}	
				}
			}
		}
	},
	// Set left nav and content to equal heights
	setEqualHeights : function() {
		var contentArea = jQuery("#content.content"); 
		if(contentArea.length > 0)
			contentArea.equalHeights();
	},
	// Window opener
	openWindow : function() {
		var winTitle = (!(!arguments[1])) ? arguments[1] : "remoteWin";
		var winProps = (function(propPass) {
			if(!(!propPass)) {
				var result = [];
				for (var i in propPass) {
					result.push(i + "=" + propPass[i]);
				}
				return result.join(",");
			} else {
				return "width=800,height=600,menubar=0,toolbar=no,scrollbars=yes";
			}
		})(arguments[2]);
		function windowOpener(e) {
			e.preventDefault();
			gm._openedWindows[winTitle] = window.open(this.href, winTitle, winProps);
			gm._openedWindows[winTitle].focus();
		};
		jQuery(arguments[0]).delegate("a", "click", windowOpener);
	},
	setUserParams : function() {
		jQuery.each(gm._userParamGroup, function(i, v) {
			if(!!gm._userParams[v]) {
				jQuery.cookie(v, gm._userParams[v], {
					expires: 1825,
					path: "/",
					domain: (function(win) {
						var hostNameArr = win.location.hostname.split(".");
						return hostNameArr[hostNameArr.length-2]+"."+ hostNameArr[hostNameArr.length-1];
					})(window)
				});
			}
		});
	},
	getUserParams : function() {
		var userParamArray = {};
		jQuery.each(gm._userParamGroup, function(i, v) {
			if(!!gm._userParams[v]) {
				userParamArray[v] = gm._userParams[v]; 
			} else if (!!jQuery.cookie(v)) {
				userParamArray[v] = jQuery.cookie(v);
			}
		});
		return userParamArray;
	},
	showReferenceLinks : function() {
		var refSection = jQuery("#article-references"),
			refTitle;
		if (refSection.length > 0) {
			refSection
				.find("a")
				.bind("click", function(event) {
					event.preventDefault();
				})
				.tooltip({
					bodyHandler: function() {
						return jQuery(this).attr("rel");
					},
					showURL: false
				});
		}
	},
	
	// GoMedicare onReady
	onReady : function() {
		// Add article controls to content pages
		gm.addArticleControls();
		
		// Trigger the text size widget
		jQuery("#article").textSize();
		
		// Enable the homepage rotating tabs
		var indexContainer = jQuery("#index-container");
		if(indexContainer.length > 0) {
			gm.enableHomepageTabs(indexContainer);
			gm.addFormParameters();
		}
		// Set left menu and content section equal height
		gm.setEqualHeights();
		
		// Cache URL parameters in cookies
		gm.setUserParams();
		
		// Show Reference links
		gm.showReferenceLinks();
	}
};
jQuery(gm.onReady);
