/*This file created to add site js functions */
var runOnce="I haven't run yet";
var check404 = /404\-[a-z]*?.aspx/i;

$(document).ready(function() {
	if(window.location.pathname.toLowerCase().search(check404) <= -1){
					repositionSearch();	
					repositionResizePrint();
				
					handleNavigation();
				    
					applyRollovers();
				
					ApplyGlossary(document);
					
					displayCorrectLeftSection();
					displayCorrectISI();
					
					//moveISIforIE6();
					
					highlightHome();
					
					addEAFtoResultsPage();
					
					
					
					pageLoaded = "yes";
					runOnce = "I've ran";
	}
});

function interstitialInline(){
	//puts the jqmWindow in the body to avoid z-index issues
	$("body").append($("#kwikpenPopup"));
	
}

function addEAFtoResultsPage(){
	if( String(window.location).indexOf("Results.aspx") != -1 ){
		$("#email > img").click(EAF);
		$("#email > img").css("cursor", "pointer");
	}
}

function highlightSelectedTextSize(title){
	resetSizeSelectors();
	  
  	var selectedSize = "text-small";
  	if(title == "Medium Text")selectedSize = "text-medium";
  	else if(title == "Large Text")selectedSize = "text-large";
  	
  	if( $("#"+selectedSize+" > img").attr("src").indexOf("_selected") == -1 ){
  		$("#"+selectedSize+" > img").attr("src", $("#"+selectedSize+" > img").attr("src").replace(".gif", "_selected.gif"));
  	}
}

function resetSizeSelectors(){
	$("#text-small > img").attr("src", $("#text-small > img").attr("src").replace("_selected.gif", ".gif"));
	$("#text-medium > img").attr("src", $("#text-medium > img").attr("src").replace("_selected.gif", ".gif"));
	$("#text-large > img").attr("src", $("#text-large > img").attr("src").replace("_selected.gif", ".gif"));
}


function repositionResizePrint(){
	//if ( BrowserDetect.browser == 'Explorer' && BrowserDetect.version < '7' ){
		$("#pageContent").prepend("<div style='clear:both'></div>");
		$("#pageContent").prepend($("#bpv3_toolbar"));
	//}
	$("#printer_friendly > a > img").attr("src", "../PublishingImages/print_friendly.gif");
	$("#bpv3_toolbar").fadeIn("slow");
}

function displayCorrectISI(){
	//array of ISI selections
	var ISIversion = new Array();
	ISIversion["index.aspx"]="versionK";
	ISIversion["null"]="versionK";
	ISIversion["Results.aspx"]="versionK";
	ISIversion["learning-about-mealtime-insulin.aspx"]="versionB";
	ISIversion["what-happens-when-you-eat.aspx"]="versionB";
	ISIversion["what-does-mealtime-insulin-do.aspx"]="versionB";
	ISIversion["keeping-track-blood-sugar-levels.aspx"]="versionB";
	ISIversion["about-humalog.aspx"]="versionC";
	ISIversion["about-humalog-premixed-insulin.aspx"]="versionD";
	ISIversion["learning-next-step.aspx"]="versionA";
	ISIversion["starting-mealtime-insulin.aspx"]="versionK";
	ISIversion["understanding-mealtime-insulin.aspx"]="versionK";
	ISIversion["track-blood-sugar-levels.aspx"]="versionK";
	ISIversion["how-to-take-humalog.aspx"]="versionA";
	ISIversion["humalog-kwikpen.aspx"]="versionA";
	ISIversion["storage-and-disposal-information.aspx"]="versionA";
	ISIversion["understanding-low-blood-sugar.aspx"]="versionK";
	ISIversion["managing-low-blood-sugar.aspx"]="versionK";
	ISIversion["side-effects.aspx"]="versionK";
	ISIversion["next-step.aspx"]="versionK";
	ISIversion["insulin-pens.aspx"]="versionE";
	ISIversion["humalog-kwikpen-insulin-pen.aspx"]="versionG";
	ISIversion["kwikpen-instructional-video.aspx"]="versionO"; //new from G to O
	ISIversion["humalog-prefilled-insulin-pen.aspx"]="versionE";
	ISIversion["humapen-memoir-insulin-pen.aspx"]="versionN"; //new from F to N
	ISIversion["memoir-tutorial.aspx"]="versionF";
	ISIversion["humapen-luxura-insulin-pen.aspx"]="versionF";
	ISIversion["luxura-tutorial.aspx"]="versionF";
	ISIversion["common-questions.aspx"]="versionE";
	ISIversion["humalog-questions.aspx"]="versionE";
	ISIversion["kwikpen-questions.aspx"]="versionP";
	ISIversion["prefilled-questions.aspx"]="versionE";
	ISIversion["memoir-questions.aspx"]="versionL";
	ISIversion["luxura-questions.aspx"]="versionL";
	ISIversion["resources.aspx"]="versionB";
	ISIversion["resources-educational-materials.aspx"]="versionH";
	ISIversion["resources-vial-instructions.aspx"]="versionI";
	ISIversion["resources-glucagon-tutorial.aspx"]="versionJ";
	ISIversion["contact-lilly.aspx"]="versionM";
	ISIversion["resources-glossary.aspx"]="versionB";
	ISIversion["resources-insurance-info.aspx"]="versionB";
	ISIversion["resources-links.aspx"]="versionB";
	ISIversion["site-map.aspx"]="versionE";
	
	var thisHref = window.location.href;
    var pattern = /[a-z_\-]*.aspx/i;
    var page = thisHref.match(pattern);

	if(page in ISIversion){
		$("#"+ISIversion[page]).css("display","block");
	}

}

function highlightHome(){
		
	//array home button highlight
	var showHomeHighlight = new Array();
	showHomeHighlight["index.aspx"]="display";
	showHomeHighlight["null"]="display";

	var thisHref = window.location.href;
    var pattern = /[a-z_\-]*.aspx/i;
    var page = thisHref.match(pattern);

	if(page in showHomeHighlight){
		var homeButton = $("#btnHome > a > img")
		$(homeButton).unbind();
		var imageOn = $(homeButton).attr("src").replace("-off", "-on");
		$(homeButton).attr("src", imageOn);
			//$("#btnHome > a > img").attr("src", $("#btnHome > a > img").replace("-off", "-on"));
		$(homeButton).removeClass("rollover");
	}

}

function displayCorrectLeftSection(){

	//array for left-managingDiabetes div display
	var showManagingDiabetes = new Array();
	showManagingDiabetes["starting-mealtime-insulin.aspx"]="display";
	showManagingDiabetes["understanding-mealtime-insulin.aspx"]="display";
	showManagingDiabetes["track-blood-sugar-levels.aspx"]="display";
	showManagingDiabetes["understanding-low-blood-sugar.aspx"]="display";
	showManagingDiabetes["managing-low-blood-sugar.aspx"]="display";
	showManagingDiabetes["side-effects.aspx"]="display";
	showManagingDiabetes["next-step.aspx"]="display";
	
	//array for left-impUpdate div display
	var showImpUpdate = new Array();
	showImpUpdate["index.aspx"]="display";
	showImpUpdate["null"]="display";
	showImpUpdate["Results.aspx"]="display";
	
	//array for the 4 mix links div display
	var showMixLinks = new Array();
	showMixLinks["about-humalog-premixed-insulin.aspx"]="display";
	showMixLinks["insulin-pens.aspx"]="display";
	showMixLinks["humalog-kwikpen-insulin-pen.aspx"]="display";
	showMixLinks["kwikpen-instructional-video.aspx"]="display";
	showMixLinks["humalog-prefilled-insulin-pen.aspx"]="display";
	showMixLinks["humalog-questions.aspx"]="display";
	showMixLinks["kwikpen-questions.aspx"]="display";
	showMixLinks["prefilled-questions.aspx"]="display";
	showMixLinks["resources-vial-instructions.aspx"]="display";
	showMixLinks["site-map.aspx"]="display";
	showMixLinks["contact-lilly.aspx"]="display";
	
	//array for 3 glucagon link div display
	var showGlucagon = new Array();
	showGlucagon["resources-glucagon-tutorial.aspx"]="display";

	//array for 3 topnav images, 50/50, 75/25, logo
	var showLeftNavAlts = new Array();
	showLeftNavAlts["contact-lilly.aspx"]="display";
	showLeftNavAlts["site-map.aspx"]="display";

	
	var thisHref = window.location.href;
    var pattern = /[a-z_\-]*.aspx/i;
    var page = thisHref.match(pattern);

	if(page in showManagingDiabetes){
		$("#left-managingDiabetes", "#leftTouts").css("display","block");
	}
	
	if(page in showImpUpdate){
		$("#left-impUpdate", "#leftTouts").css("display", "block");
	}
	
	if(page in showMixLinks){
		$("#left-ppi7525", "#leftTouts").css("display", "block");
		$("#left-pi7525", "#leftTouts").css("display", "block");
		$("#left-ppi5050", "#leftTouts").css("display", "block");
		$("#left-pi5050", "#leftTouts").css("display", "block");
		$("#sixLinkBlock").css("display", "block");
		$("#twoLinkBlock").css("display", "none");
		$("#left-ssi > img").attr("src", "../PublishingImages/ssi-combo.gif");
		$("#indicationText", "#right-indication").css("display", "none");
		$("#indicationTextMix", "#right-indication").css("display", "block");
		$("#comboISI").css("display", "block");
		$("#standardISI").css("display", "none");
	}
	
	if(page in showGlucagon){
		$("#left-gluIsi", "#leftTouts").css("display", "block");
		$("#left-gluUser", "#leftTouts").css("display", "block");
		$("#left-gluPhys", "#leftTouts").css("display", "block");

	}
	
	if(page in showLeftNavAlts){
		$("#altLeftNavImages").css("display", "block");
		$("#topLogo").css("display", "none");
	}
}

function moveISIforIE6(){
	if( $("link[href$=bpv3_ie6.css]").length != 0 ){
		var isiHolder = $("#isiContainer").parent().html();
		$("#isiContainer").remove();
		$(isiHolder).appendTo("#pageContent");
	}
}

function applyRollovers(){
    $(".rollover").each(function() {
        $(this).hover(
                function() { imgSwap($(this).get(0)); },
                function() { imgSwap($(this).get(0)); }
        );
    });
    $(".imgOn").unbind('mouseenter').unbind('mouseleave');
}

function handleNavigation(){
	var navID = "#nav" + $(".navName").attr("id");
    Navigation(navID);

    $("#topNav div.topNav > div").each(function() { $(this).hover(function() { $(this).find('.sideNav').show(); }, function() { $(this).find('.sideNav').hide(); }); });
    $("#topNav div.topNav > div").css("display", "block");
    
    
}

function Navigation(navID) {
    var navImg = $(navID + " a img:first");
    var navDiv = $(navID + " a span:first");
    if ($(navImg).length > 0 || $(navDiv).length > 0) {
        var activeNav = $(navID);
        var topNav = $(navID);
        while (!topNav.hasClass("topNav")) {
            if (!topNav.hasClass("sideNav")) {
                if (topNav.hasClass("subSideNav")) {
                    if (topNav.find("img:first").length > 0) {
                        topNav.find("img:first").attr("src", topNav.find("img:first").attr("src").replace("-off", "-on"));
                        topNav.find("img:first").addClass("imgOn");
                        topNav = topNav.parent();
                        topNav.css("display", "block");
                    }
                    else {
                        topNav.find("div").addClass("divOn");
                        topNav = topNav.parent();
                        topNav.css("display", "block");
                    }
                }
                else {
                    if (topNav.find("img:first").length > 0) {
                        topNav.find("img:first").attr("src", topNav.find("img:first").attr("src").replace("-off", "-on"));
                        topNav.find("img:first").addClass("imgOn");
                    }
                    else {
                        topNav.find("div").addClass("divOn");
                    }
                }
            }
            topNav.addClass("active");
            activeNav.find("a:first").addClass("active");
            topNav = topNav.parent();
        }

        var navHtml = $("#.active:first").parent().html();
        $("#sideNav").append(navHtml);
        $("#sideNav .subNav").css("display", "block");
        $("#sideNav .active").children().css("display", "block");
        if ($("#sideNav img:first").length > 0) {
            $("#sideNav img:first").attr("src", $("#sideNav img:first").attr("src").replace("topNav", "sideNav"));
            $("#sideNav img:first").attr("src", $("#sideNav img:first").attr("src").replace("-off", "-on"));
        }
        $("#sideNav .subNav div img").each(
            function() {
                $(this).attr("src", $(this).attr("src").replace("dropDown", "sideNav"));
            });
    }    
}


function imgSwap(oImg) {
    var strOver = "-on";
    var strOff = "-off";
    var strImg = oImg.src;
    if (strImg.indexOf(strOver) != -1)
        oImg.src = strImg.replace(strOver, strOff);
    else
        oImg.src = strImg.replace(strOff, strOver);
}

function repositionSearch(){
	//if ( BrowserDetect.browser == 'Explorer' && BrowserDetect.version < '7' ){
		$("#searchContainer").prependTo("#newSearchContainer");
	//}
	//find the input tag of the search field, resize it, give it a visual label
	var searchInput = $("input[title|='Enter search words']", "#searchContainer");
	$(searchInput).css("width", "100px");
	$(searchInput).css("font-size", "10pt");
	$(searchInput).parent().prepend("<span class='searchLabelText'>SEARCH&nbsp;</span>");
	$("#searchContainer").fadeIn('slow');
	
	//clears the old search image, replacing it with a new one
	var searchButton = $("img[title|='Go Search']", "#searchContainer").parent();
	searchButton.html("<img class='rollover searchBtn' src='../PublishingImages/btnSearch-off.jpg' />");
}

/*========================================
-- Code for Glossary Pop Over
==========================================*/


function ApplyGlossary(node)
{
	$("a[name^='glo']").each(function(){
		var nodeName = $(this).attr("name").substring(3);
		$(this).attr("id", nodeName);		
		$(this).hover(
			function(){ showtrail(nodeName); }, 
			function(){ hidetrail(); }
			);	
	});
	/*
	if((node.tagName == "A") || (node.tagName == "a"))
	{
	   if(node.name.indexOf("glo")>-1 )
	    {
	    	var nodename=node.name.substring(3);
	    	node.className="glossary";
	    	node.id= nodename;
	    	document.getElementById(nodename).onmouseover = function(){ showtrail(nodename); }
	    	document.getElementById(nodename).onmouseout = function(){ hidetrail(); }
	    }
	 }

	var children = node.childNodes;
    for ( var i = 0; i < children.length; i++ )
    {
        ApplyGlossary(children[i]);
    }
	*/
}

var offsetfrommouse=[20,-10]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0; //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 0;	// maximum image size.

if (document.getElementById || document.all){
	document.write('<div id="trailimageid">');
	document.write('</div>');
}

function gettrailobj(){
if (document.getElementById)
return document.getElementById("trailimageid").style
else if (document.all)
return document.all.trailimageid.style
}

function gettrailobjnostyle(){
if (document.getElementById)
return document.getElementById("trailimageid")
else if (document.all)
return document.all.trailimageid
}


function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}


function hEvnt(obj,evtName,fnCall){
	 evtName=evtName.toLowerCase();  doCapture=false;  
	 
	 if (obj.addEventListener){    
	 //obj.addEventListener(evtName.replace('on',''),fnCall,doCapture);   
	 obj.addEventListener(evtName.replace('on',''),  function(){eval(fnCall);},false);  
	 }  
	 else if(obj.attachEvent){   obj.attachEvent(evtName,function(){eval(fnCall);}); 
	 //also do detachEvent later 
	 }  
	 else{     eval(obj+"."+evtName +"="+ fnCall);  
	 }  
	 
}
	 
function uhEvt(obj,evtName,fnCall){
  evtName=evtName.toLowerCase();  doCapture=false;  
  if (obj.addEventListener){      obj.removeEventListener(evtName.replace('on',''),    function(){eval(fnCall);},doCapture);  }
  else if(obj.attachEvent){   obj.detachEvent(evtName,function(){eval(fnCall);});  }  else{     eval(obj+"."+evtName +"='';");  }  }



/* LOAD THE XML FILE */
var xmlHttp;
var xmlDoc;
var glossarykey = "";
var glossarytitle = "";
var glossarydef = "Sorry, your browser does not support the glossary feature on this website.";

/* Fix for Safari! */
if ((navigator.userAgent.indexOf('Safari') != -1))
{
	xmlHttp = new XMLHttpRequest();
	xmlHttp.open("GET", "/documents/include/glossary.xml", false);
	xmlHttp.send();
	xmlDoc = xmlHttp.responseXML;
}
else
{

	if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	}
	else if (document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("","",null);
	}

	if (xmlDoc != null)
	{
		xmlDoc.async = false;
		xmlDoc.load("/documents/include/glossary.xml");
	}
	else
	{
		glossarydef = "Sorry, your browser does not support the glossary feature on this website.";	
	}
	
}



/* PULL THE DEFINITION WHEN CALLED */
function pullDefinition() {
	
	var xmlLength = xmlDoc.getElementsByTagName("term").length;
	
	for (var g = 0; g < xmlLength; g++) {
		
		if (xmlDoc.childNodes[0].getElementsByTagName("term")[g].attributes[0].nodeValue.toLowerCase() == glossarykey)
		{
			glossarytitle = xmlDoc.childNodes[0].getElementsByTagName("term")[g].attributes[1].nodeValue;
			glossarydef = xmlDoc.childNodes[0].getElementsByTagName("term")[g].attributes[2].nodeValue;
			break;
		}
		else
		{
			glossarytitle = "N/A";
			glossarydef = "There is no definition for this term yet.";
		}
	
	}
	
}

/* CONTROL THE GLOSSARY BOX */
// document.onmousemove=followmouse;
function showtrail(term) {
	
	glossarykey = term.toLowerCase();
	if (xmlDoc != null) {
		pullDefinition();
	}
	document.onmousemove=followmouse;
	
	newHTML = '<div id="glossaryDef">';
	
	newHTML += '<div class="glossaryHeader">Glossary</div>';
	
	newHTML += '<div class="glossaryContent"><b>';
	newHTML += glossarytitle;
	newHTML += '</b><br>';
	
	newHTML += glossarydef;
	
	newHTML += '</div></div>';

	gettrailobjnostyle().innerHTML = newHTML;
	gettrailobj().visibility="visible";

}


function hidetrail(){
	gettrailobj().visibility="hidden"
	document.onmousemove=""
	gettrailobj().left="-500px"

}

function followmouse(e){

	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

	/*
	if (document.all){
		gettrailobjnostyle().innerHTML = 'A = ' + truebody().scrollHeight + '<br>B = ' + truebody().clientHeight;
	} else {
		gettrailobjnostyle().innerHTML = 'C = ' + document.body.offsetHeight + '<br>D = ' + window.innerHeight;
	}
	*/

	if (typeof e != "undefined"){
		if (docwidth - e.pageX < 380){
			xcoord = e.pageX - xcoord - 300; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < (currentimageheight + 110)){
			ycoord += e.pageY - Math.max(0,(110 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < 380){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - 300; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (currentimageheight + 110)){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(110 + currentimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
		}
	}

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)
		if(ycoord < 0) { ycoord = ycoord*-1; }
	gettrailobj().left=xcoord+"px"
	gettrailobj().top=ycoord+"px"

}


/*========================================
-- END Code for Glossary Pop Over
==========================================*/


/*========================================
-- Code for Video popup
==========================================*/

//Video Popup
var modalWindow;

function popPage(source, width, height)
{
				if (width == null)
					width = 600;
				if (height == null)
					height = 400;
				modalWindow.windowId = "Modal";
				
				modalWindow.width = width;
				modalWindow.height = height;
				modalWindow.content = "<iframe allowTransparency='true' width='" + width + "' height='" + height + "' frameborder='0' scrolling='no' src='" + source + "'></iframe>";
				modalWindow.open();
};

modalWindow = {
parent: "body",
windowId: null,
content: null,
width: null,
height: null,
close: function()
{
	$(".modal-window").remove();
	$(".modal-overlay").remove();
},
open: function()
{
	//margin-top:-" + (this.height / 2) + "px;
	var modal = "";
	modal += "<div id=\"modalBack\" class=\"modal-overlay\" onmousewheel=\"return false;\"></div>";
	modal += "<div id=\"" + this.windowId + "\" class=\"modal-window\" style=\"position:absolute;width:" + this.width + "px; height:" + this.height + "px; margin-top:0px;  margin-left:-" + (this.width / 2) + "px;\">";
	modal += this.content;
	modal += "</div>";

	$(this.parent).append(modal);
	
	/* adds a button to the html, button is now in flash, so HTML button is unnecessary
	var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
			if(isIE6)
			{
	        	$(".modal-window").append("<div style=\"position:absolute;bottom:357px;left:437px;\"><a class=\"close-window\" href=\"#\"><img src=\"/PublishingImages/btn_close.gif\" /></a></div>");
	        }
	        else
	        {
	        	$(".modal-window").append("<div style=\"position:absolute;bottom:361px;left:428px;\"><a class=\"close-window\" href=\"#\"><img src=\"/PublishingImages/btn_close.gif\" /></a></div>");	        	
	        }
	 */

	
	$(".close-window").click(function() { modalWindow.close(); });
	$(".modal-overlay").click(function() { modalWindow.close(); });
}
};

function closeMe() 
{
var called;
	//if(parent.modalWindow){
	//	alert("I exist!");
	//	parent.modalWindow.close();
	//}
	//else alert("I do NOT exist!");
	//if( $(".modal-window").attr("id") != undefined ){
		parent.modalWindow.close();
	//}
	//else{
	//	alert($(".modal-window").attr("id"));
	//	}
}

/*========================================
-- END Code for Video popup
==========================================*/


function dlPDF(selectID){
	var pdfLink = document.getElementById(selectID).value;
	var language = "English";
	if(pdfLink.indexOf("span.pdf") != -1)language = "Spanish";

	dcsMultiTrack('DCS.dcsuri',pdfLink.substring(3),'WT.ti','Download - Daily Meal Planning Guide - '+language);
	window.open(pdfLink, "pdfWindow");
}
