function pageInit()
{
	//  Hide site actions
    var thisURL = window.location.host;
    if(thisURL!= null & thisURL.indexOf("lillyforbetterhealth-Public.lilly.com") > -1)
    {
        $("#site_actions").css("display", "none");
    }
    
    parseQueryString();

	//  Setup interstitial and webtrends links
	$("a[id^='popup_']").live("click", executePopup);
	$("a[id^='inline_']").live("click", function(e){
		e.preventDefault();
		var spa = $(this).hasClass('inline-spa');
		var intPage = (spa) ? 'inline-interstitial-spa.aspx' : 'inline-interstitial.aspx';
		var closeText = (spa) ? 'cerrar' : 'close';
		var ref = (this.href.indexOf(intPage) > 0 || this.href.indexOf('leaving-interstitial.aspx') > 0) ? this.href : '/Pages/' + intPage + '?URL=' + encodeURIComponent(this.href) + '&InterstitialType=inline&title=' + encodeURIComponent(this.href);
		$.fn.colorbox({href: ref, innerWidth: 500, innerHeight: 350, iframe: true, scrolling: false, opacity: 0.65, close: closeText});
	});
	$("a[id^='webtrends_']").live("click", executeWebtrends);
	$("a.zmags").live("click", function(event){
		event.preventDefault();
		var rand = Math.random();
		$.fn.colorbox({href: "/Pages/zmags-interstitial.aspx?rand="+rand+"&URL=" + encodeURIComponent(this.href), innerWidth: 500, innerHeight: 260, iframe: true, scrolling: false, opacity: 0.65});
	});
	
	$("a.zmags_spa").live("click", function(event){
		event.preventDefault();
		var rand = Math.random();
		$.fn.colorbox({href: "/Pages/zmags-interstitial-spa.aspx?rand="+rand+"&URL=" + encodeURIComponent(this.href), innerWidth: 500, innerHeight: 260, iframe: true, scrolling: false, opacity: 0.65, close: 'cerrar'});
	});
	
	// modal
	$('a.modal').live('click', function(e){
		e.preventDefault();
		var rand = Math.random();
		var spa = $(this).hasClass('modal-spa');
		var rel = ($(this).attr('rel')) ? $(this).attr('rel').split(',') : [640,480];
		var closeText = (spa) ? 'cerrar' : 'close';
		var href= $(this).attr('href');
		var opts = {
			href: href + ((href.indexOf('?') != -1) ? '&' : '?') + 'rand=' + rand,
			title:  $(this).attr('title'),
			w: rel[0],
			h: rel[1]
		};
		$.fn.colorbox({iframe: true, title: opts.title, href: opts.href, innerWidth: opts.w, innerHeight: opts.h, opacity: 0.65, close: closeText});
		return false;
	});
	
	if($.browser.msie && parseInt($.browser.version, 10) == 6) $('#text-size').css('z-index', 200);
	//  Setup text size picker actions
	$("#text-size #normal, #text-size #larger, #text-size #largest").click(textSizeChosen);
	
	//  Apply text size stored in cookie
	setTextSize(getTextSize());

	updateSearch();
	leftNavFullWidth();
}

//  Replace search icon
function updateSearch()
{
	if ($("#search").length < 1) return;

	$.ajax("/PublishingImages/go-button.gif")
		.success(function(data, textStatus, jqXHR){
			var img = $("img[title='Go Search']");
			img.attr("src", "/PublishingImages/go-button.gif");
			img.removeAttr("onmouseout");
			img.removeAttr("onmouseover");

			var txt = $("#search-controls input:text");
			txt.css("width", "auto");
			txt.addClass("search-box");
			
			var btn = $("#search-controls a[title='Go Search']");
			btn.addClass("search-button");
			
			$("#search").append('<span id="add-home-link"><a title="Home" href="/Pages/index.aspx">Home</a> | </span>');
			$("#search").append(txt);
			$("#search").append(btn);
		})
		.complete(function(jqXHR, textStatus){
			$("#search").css("display", "block");
			// ff fix
			if(!jQuery.browser.msie){
				jQuery('#search .search-box:first').bind('keydown', function(e){
					var code = (e.keyCode ? e.keyCode : e.which);
					if(code == 13){
						e.preventDefault();
						jQuery(this).next('.search-button').trigger('click');
					}
				});
			}
			
		});
}
	

function leftNavFullWidth()
{
	$("#snav ul").each(function(){
		var me = $(this);
		var parentWidth = me.width();
		me.children("li").each(function(){
			var li = $(this);
			li.children("a").andSelf().css("width", parentWidth);
		});
	});
}

function executePopup(event)
{
	event.preventDefault();
	var me = $(this);
	
	window.open(me.attr("href"), "interstitial", "width=500,height=400,location=0,menubar=0,resizable=1,scrollbars=0,status=0,toolbar=0");
}

function executeWebtrends(event)
{
	var me = $(this);
	var text = $.trim(me.text());
	
	//  Attempt to find title or alt text if link contains no rendered text
	if (text == null || text == "")
	{
		text = $.trim(me.attr("title"));
		var img;
		if ((text == null || text == "") && (null != (img = $("img", me))))
		{
			text = $.trim(img.attr("alt"));
		}
	}
	
	trackPage(me.attr("href"), text);
}

function trackPage(url, text)
{
	var segments = getUrlSegments(url);
	if (segments == null || dcsMultiTrack == null) return;
	dcsMultiTrack("DCS.dcssip", segments[3], "DCS.dcsuri", ((segments[6] == null || segments[6] == "") ? "/" : segments[6]) + (segments[7] == null ? "" : segments[7]) + (segments[8] == null ? "" : segments[8]), "WT.ti", text == null ? "" : text);
}

function getUrlSegments(url)
{
	var regex = new RegExp("^((\\w+:)//(([^:/]+):?(\\d+)?)(/[^?#]*)?(\\?[^#]*)?(#.*)?)$", "i");
	var current = regex.exec(location.href);
	
	if (url.indexOf("://") > -1)
	{
		//  Contains protocol divider. Assume url is absolute.
		return regex.exec(url);
	}
	else if (url.charAt(0) == "/")
	{
		//  Starts with a slash. Assume url is relative to server root.
		return regex.exec(current[2] + "//" + current[3] + url);
	}
	else
	{
		//  Attempt to build full url from provided url
		var arr = url.split("/");
		var curr = current[6].split("/");
		curr.shift();  //  Remove empty string at beginning
		if (curr.length > 0 && curr[curr.length-1].indexOf(".") > -1) curr.pop();  //  Assume directories don't contain periods. Remove page name
		var segment;
		while (null != (segment = arr.shift()))
		{
			switch(segment)
			{
				case ".":
					break;
				case "..":
					curr.pop();
					break;
				default:
					curr.push(segment);
					break;
			}
		}
		return regex.exec(current[2] + "//" + current[3] + "/" + curr.join("/"));
	}
	return null;
}

function getTextSize()
{
	return $.cookie("textSize");
}

function setTextSize(size)
{
	function flagLink(link, enabled)
	{
		if (link != null && link.length > 0)
			link[0].disabled = !enabled;
	}
	
	size = (size == null || size == "") ? "small" : size.toLowerCase();
	
	flagLink($("link[title='Small Text']"), size == "small");
	flagLink($("link[title='Medium Text']"), size == "medium");
	flagLink($("link[title='Large Text']"), size == "large");
	
	$.cookie("textSize", size);
}

function textSizeChosen(event)
{
	event.preventDefault();
	switch ($(this).attr("id"))
	{
		case "normal":
			setTextSize("small");
			break;
		case "larger":
			setTextSize("medium");
			break;
		case "largest":
			setTextSize("large");
			break;
	}
}

bpv3OnLoad = readUserTextPreference = setActiveStyleSheet = storeUserTextPreference = bpv3OnUnload = function (){};

var queryStringParams = {};

function parseQueryString(querystring)
{
	var qs = querystring || location.search;
	var params = {};
	if (qs == null || qs == "") return;
	qs = qs.substring(qs.indexOf("?") + 1);
	var pair;
	var regPairs = /([^&=]+)=?([^&]*)/g;
	var regPlus = /\+/g;
	
	while (pair = regPairs.exec(qs))
	{
		var decoded = decodeURIComponent(pair[2].replace(regPlus, " "));
		params[decodeURIComponent(pair[1].replace(regPlus, " ")).toLowerCase()] = ((isNaN(decoded)) ? decoded : parseInt(decoded));
	}

	if (querystring == null) queryStringParams = params;
	return params;
}

/******* Content-driven JS *******/
function resourcesFixes()
{
	//  Add greater-than between applied filters
	$(".resources-filter-list li").not(":last").after("<li class='separator'>&gt;</li>");

	//  Make the filter/results border full height
	$("#column-results").height(Math.max($("#column-results").height(), $("#column-filter").height()));
}

function buildResourceQuery(searchResultsPage)
{
	var languageControl = $("#res-filter-language");
	var topicControl = $("#res-filter-topic");
	var filters = {};
	var filterString = "";
	var i = 0;
	
	if (languageControl.length > 0 && languageControl.val() != "") $.extend(filters, {language: languageControl.val()});
	if (topicControl.length > 0 && topicControl.val() != "") $.extend(filters, {topic: topicControl.val()});
	
	for (key in filters)
	{
		filterString += (i > 0 ? "&" : "?") + key + "=" + filters[key];
		i++;
	}
	
	location.href = "/Pages/SearchResults.aspx" + filterString;
}
