﻿var curleft = 0;
var curtop = 0;

function getPosXandY(elm) {
    if (elm.offsetParent) {
        curleft = elm.offsetLeft
        curtop = elm.offsetTop
        
        if (is_ie) {
            var Left4IE;
            var ieWindowWidth = document.documentElement.clientWidth;
            if (ieWindowWidth >= 765) {
                Left4IE = (ieWindowWidth - 750) / 2; 
                curleft = (event.clientX - Left4IE);
            } else {
                curleft = event.clientX - 10;
            }
            while (elm = elm.offsetParent) {
                curtop += elm.offsetTop;
            }
        } else {
            while (elm = elm.offsetParent) {
                curleft += elm.offsetLeft;
                curtop += elm.offsetTop;
            }
        }
    }
}
function DisplayTipsWindow(divId) {
    var l_elemThreatMeterLegend = document.getElementById(divId);

    if (l_elemThreatMeterLegend == null)
        return;
    
    if (l_elemThreatMeterLegend.style.display != "block")
        l_elemThreatMeterLegend.style.display = "block";

    if (divId == "threat-meter-legend") {
        var ToolTipW = 630;
        var WindowWidth = document.documentElement.clientWidth;
        curleft = parseInt((WindowWidth / 2) - (ToolTipW / 2));
        
        l_elemThreatMeterLegend.style.top = "230px";
        l_elemThreatMeterLegend.style.left = "50px";
    }
    if (divId == "threat-search-tips") {
        if (IsIE()) {
            l_elemThreatMeterLegend.style.top = 210 + "px";
        } else {
            l_elemThreatMeterLegend.style.top = 220 + "px";
        }
    }
}

// Call web service method to retrieve the requested password based on the email supplied.
function RetrieveGlossaryDefinition(elm, panelName, termId) {
    getPosXandY(elm);
    
    curleft += 130;
    curtop -= 20;
    
    McAfee.WebServices.VirusInfoWebSvc.GetGlossaryDefinition(panelName,
                                                         termId,
                                                         GetAffiliateId(),
                                                         RetrieveGlossaryDefinitionSuccess);
}

// Callback method for successful retrieval of forgotten password content.
function RetrieveGlossaryDefinitionSuccess(result) {
    var response = DeserializeJSON(result);
    
    // set the tooltip window's title and text
    var l_elemToolTipWindowTitle = document.getElementById("tt-click-title");
    if (l_elemToolTipWindowTitle != null)
        l_elemToolTipWindowTitle.innerHTML = response.Title;
    
    var l_elemToolTipWindowBody = document.getElementById("tt-click-body");
    if (l_elemToolTipWindowBody != null)
        l_elemToolTipWindowBody.innerHTML = response.Body;

    // display the tooltip window
    ShowClosableToolTip(curleft, curtop, "closable-tooltip");
}

function RetrieveRemovalToolTooltip(elm, removalTool) {
    getPosXandY(elm);
    
    var l_tooltipWindow = document.getElementById("tool-tip");

    if (l_tooltipWindow.style.display != "block") {
        l_tooltipWindow.style.display = "block";
        McAfee.WebServices.VirusInfoWebSvc.GetRemovalToolTooltip(removalTool, GetAffiliateId(), RetrieveRemovalToolTooltipSuccess);

        curtop += 16;
        curleft -= 246;
        
        l_tooltipWindow.style.top = curtop + "px";
        l_tooltipWindow.style.left = curleft + "px";
    }
}

function RetrieveRemovalToolTooltipSuccess(result) {
    var response = DeserializeJSON(result);

    var response = DeserializeJSON(result);
    var l_elemToolTipWindowTitle = document.getElementById("tt-toparrow-title");
    if (l_elemToolTipWindowTitle != null)
        l_elemToolTipWindowTitle.innerHTML = response.Title;

    var l_elemToolTipWindowBody = document.getElementById("tt-toparrow-body");
    if (l_elemToolTipWindowBody != null)
        l_elemToolTipWindowBody.innerHTML = response.Body;

    ShowAutoToolTip("freetoolInfo");
}

function RetrieveVirusInfoTooltip(elm, virusKey) {
    getPosXandY(elm);

    var l_tooltipWindow = document.getElementById("tool-tip");

    if (l_tooltipWindow.style.display != "block") {
        l_tooltipWindow.style.display = "block";
        McAfee.WebServices.VirusInfoWebSvc.GetVirusInfoTooltip(virusKey, GetAffiliateId(), RetrieveVirusInfoTooltipSuccess);
        
        curtop -= 40;
        curleft += 130;

        l_tooltipWindow.style.top = curtop + "px";
        l_tooltipWindow.style.left = curleft + "px";
    }
}

function RetrieveVirusInfoTooltipSuccess(result) {
    var response = DeserializeJSON(result);
    var infectionIndications = response.IndicationsOfInfection;
    var riskAssessment = response.HomeUserRiskAssessment;
    var discoveryDate = response.DiscoveryDate;
    var virusType = response.VirusType;
    var virusSubType = response.VirusSubType;

    var l_elemToolTipWindowTitle = document.getElementById("infection-indication");
    if (l_elemToolTipWindowTitle != null)
    {
        if (infectionIndications.length > 200)
            infectionIndications = infectionIndications.substr(0, 199) + "...";
        l_elemToolTipWindowTitle.innerHTML = infectionIndications;
    }

    var l_elemToolTipWindowBody = document.getElementById("risk-assessment");
    if (l_elemToolTipWindowBody != null)
        l_elemToolTipWindowBody.innerHTML = riskAssessment;

    var l_elemToolTipWindowBody = document.getElementById("discovery-date");
    if (l_elemToolTipWindowBody != null) {
        var formatDiscoveryDate = new Date(discoveryDate);
        var tempMonth = formatDiscoveryDate.getMonth() + 1;
        l_elemToolTipWindowBody.innerHTML = tempMonth + "/" + formatDiscoveryDate.getDate() + "/" + formatDiscoveryDate.getFullYear();
    }

    var l_elemToolTipWindowBody = document.getElementById("type-subtype");
    if (l_elemToolTipWindowBody != null) {
        l_elemToolTipWindowBody.innerHTML = virusType;

        if (virusSubType != null)
            l_elemToolTipWindowBody.innerHTML += "/" + virusSubType;
    }

    ShowAutoToolTip("linkInfo");
}

function RetrieveNewsletterTooltip(elm) {
    getPosXandY(elm);

    var l_tooltipWindow = document.getElementById("tool-tip");
    
    if (l_tooltipWindow.style.display != "block") {
        l_tooltipWindow.style.display = "block";
        McAfee.WebServices.VirusInfoWebSvc.GetNewsletterTooltip(GetAffiliateId(), RetrieveNewsletterTooltipSuccess);

        //var TooltipHgt = l_tooltipWindow.offsetHeight;
        
        curtop -= 134;
        curleft -= 36;
        
        l_tooltipWindow.style.top = curtop + "px";
        l_tooltipWindow.style.left = curleft + "px";
    }
}

function RetrieveNewsletterTooltipSuccess(result) {
    var response = DeserializeJSON(result);
    var l_elemToolTipWindowTitle = document.getElementById("tt-bttmarrow-title");
    if (l_elemToolTipWindowTitle != null)
        l_elemToolTipWindowTitle.innerHTML = response.Title;

    var l_elemToolTipWindowBody = document.getElementById("tt-bttmarrow-body");
    if (l_elemToolTipWindowBody != null)
        l_elemToolTipWindowBody.innerHTML = response.Body;

    ShowAutoToolTip("nlInfo");
}


//function toolTip(evt, windowId) {
function ShowClosableToolTip(locX, locY, windowId) {
    ttObj = document.getElementById(windowId);
    
    if (ttObj == null) return;
    objStyle = ttObj.style;

    ttObj.style.display = "block";

    ttObj.style.top = locY + 4 + "px";
    ttObj.style.left = locX - 36 + "px";
}

function CloseTooltip(windowId) {
    curleft = 0;
    curtop = 0;
    
    var l_elemToolTipWindow = document.getElementById(windowId);

    if (l_elemToolTipWindow != null)
        if (l_elemToolTipWindow.style.display == "block")
            l_elemToolTipWindow.style.display = "none";
}

function ShowAutoToolTip(info) {
    var toolTip1, toolTip2, toolTip3;
    ttObj = document.getElementById("tool-tip");
    divObjs = ttObj.getElementsByTagName('div');
    
    for (i = 0; i < divObjs.length; i++) {
        var objClassName = divObjs[i].className;

        if (objClassName == 'lft-arrw-tt') {
            toolTip1 = divObjs[i];
        }
        if (objClassName == 'bttm-arrw-tt') {
            toolTip2 = divObjs[i];
        }
        if (objClassName == 'top-arrw-tt') {
            toolTip3 = divObjs[i];
        }
    }

    if (info == 'linkInfo') {
        toolTip2.style.display = "none";
        toolTip3.style.display = "none";
        ttObj.style.width = "388px";
        toolTip1.style.display = "block";
    }
    if (info == 'nlInfo') {
        toolTip1.style.display = "none";
        toolTip3.style.display = "none";
        ttObj.style.width = "329px";
        toolTip2.style.display = "block";
    }
    if (info == 'freetoolInfo') {
        toolTip1.style.display = "none";
        toolTip2.style.display = "none";
        ttObj.style.width = "329px";
        toolTip3.style.display = "block";
    }
    
    
}
function CloseAutoToolTip(info) {
    ttObj = document.getElementById("tool-tip");
    divObjs = ttObj.getElementsByTagName('div');

    for (i = 0; i < divObjs.length; i++) {
        var objClassName = divObjs[i].className;

        if (objClassName == 'lft-arrw-tt' || objClassName == 'bttm-arrw-tt')
            divObjs[i].style.display = "none";
    }

    ttObj.style.display = "none";
    curleft = 0; 
    curtop = 0;
}

function pageWidth() {
    return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
}
function mouseX(x) {
    if (IsIE())
        return x + (document.documentElement.scrollLeft || document.body.scrollLeft);
    else
        return x;
}

function mouseY(y) {
    if (IsIE())
        return y + (document.documentElement.scrollTop || document.body.scrollTop);
    else
        return y;
}

function captureMousePositionX(x, info) {
    var xMousePos;
    if (IsIE()) {
        if (info == 'iconInfo') {
            xMousePos = x + document.body.scrollLeft - 36;
        } else {
            xMousePos = x + document.body.scrollLeft + 20;
        }
    } else {
        if (info == 'iconInfo') {
            xMousePos = x - 280;
        } else {
            xMousePos = x.pageX / window.innerWidth + 130;
        }
    }
    return xMousePos;
}

function captureMousePositionY(y, info) {
    var yMousePos;
    if (IsIE()) {
        if (info == 'iconInfo') {
            yMousePos = y + document.body.scrollTop + 10;
        } else {
            yMousePos = y + document.body.scrollTop + 106;
        }
    } else {
        if (info == 'iconInfo') {
            yMousePos = y + 6;
        } else {
            yMousePos = y - 84;
        }
    }
    return yMousePos;
}

/************************************************************************************************/
function CarouselNavigationClick(nextClicked) {
    var l_elemTermLists = document.getElementById("term_carousel").getElementsByTagName("ul");

    if (l_elemTermLists == null)
        return;

    for (var i = 0; i < l_elemTermLists.length; i++) {
        if (l_elemTermLists[i].className == 'd-block') {
            var l_currentPanelNumber = i;

            var l_nextPanelNumber;
            if (l_currentPanelNumber == l_elemTermLists.length - 1)
                l_nextPanelNumber = 0;
            else
                l_nextPanelNumber = l_currentPanelNumber + 1;

            var l_prevPanelNumber;
            if (l_currentPanelNumber == 0)
                l_prevPanelNumber = l_elemTermLists.length - 1;
            else
                l_prevPanelNumber = l_currentPanelNumber - 1;

            if (nextClicked) {
                l_elemTermLists[l_currentPanelNumber].className = 'd-none';
                l_elemTermLists[l_prevPanelNumber].className = 'd-none';
                l_elemTermLists[l_nextPanelNumber].className = 'd-block';
            }
            else {
                l_elemTermLists[l_currentPanelNumber].className = 'd-none';
                l_elemTermLists[l_nextPanelNumber].className = 'd-none';
                l_elemTermLists[l_prevPanelNumber].className = 'd-block';
            }

            break;
        }
    }
}

function GetAffiliateId() {
    var elemAffId = document.getElementById("AffId");

    if (elemAffId != null)
        return elemAffId.value;
    else
        return "0";
}

function DeserializeJSON(result) {
    if (result != null)
        return Sys.Serialization.JavaScriptSerializer.deserialize(result);
}

function IsIE() {
    return document.all ? true : false;
}

function navOn (elm) {
	if (elm.className=="tab-link")
		elm.className="tab-link on";

	if (elm.className=="nav-off")
		elm.className="nav-on";
}
function navOff (elm) {
	if (elm.className=="tab-link on")
		elm.className="tab-link";

	if (elm.className=="nav-on")
		elm.className="nav-off";
}

function navSelected (elm) {
	if (elm.className!=="tab-link on") {
		var obj = document.getElementById('vilNav');
			obj = obj.getElementsByTagName('LI');
	} else {
		var obj = document.getElementById('tabmenu');
			obj = obj.getElementsByTagName('LI');
	}
	for (i=0;i<obj.length;i++) {
		if (elm.className=="tab-link on" || elm.className=="tab-link")
			obj[i].className="tab-link";

		if (elm.className=="nav-on" || elm.className=="nav-off")
			obj[i].className="nav-off";
	}

	var aElem = elm.getElementsByTagName('A');
	for (a=0;a<aElem.length;a++) {
		aElem[a].blur();
	}

	if (elm.className=="tab-link on" || elm.className=="tab-link") {
		elm.className="tab-link selected";}

	if (elm.className=="nav-on" || elm.className=="nav-off"){
		elm.className="nav-on selected";}
}


function tabOn (elm) {
	if (elm.className=="tab-link")
		elm.className="tab-link on";
}
function tabOff (elm) {
	if (elm.className=="tab-link on")
		elm.className="tab-link";
}

function tabSelected (elm, tabid) {
	var obj = document.getElementById('tabmenu');
	obj = obj.getElementsByTagName('LI');
	
	for (i=0;i<obj.length;i++) {
		if (elm.className=="tab-link on" || elm.className=="tab-link")
			obj[i].className="tab-link";
	}

	var aElem = elm.getElementsByTagName('A');
	for (a=0;a<aElem.length;a++) {
		aElem[a].blur();
	}

	if (elm.className=="tab-link on" || elm.className=="tab-link") {
		elm.className="tab-link selected";}

    //show and hide tab content
	var objtc = document.getElementById('tab-control');
	objtc = objtc.getElementsByTagName('DIV');	
	for (i=0;i<objtc.length;i++) {
		if (objtc[i].id=="tc1" || objtc[i].id=="tc2" || objtc[i].id=="tc3")
			objtc[i].style.display = 'none';
	}	
	document.getElementById(tabid).style.display = 'block';
}

function OnLinkClick(whichTab) {
    var obj = document.getElementById('tabmenu');
    obj = obj.getElementsByTagName('LI');
    if (whichTab == 2) {
        obj[2].className = "tab-link selected";
        obj[1].className = "tab-link";
        obj[0].className = "tab-link";
    }
    else if (whichTab == 1) {
        obj[2].className = "tab-link";
        obj[1].className = "tab-link selected";
        obj[0].className = "tab-link";
    }
    else {
        obj[2].className = "tab-link";
        obj[1].className = "tab-link";
        obj[0].className = "tab-link selected";
    }
}

// Toggle the "How To Use" and EULA jump links' style
function ToggleHowToUseLinks(toggleOff) {
    var l_howToUseLink = document.getElementById("howToUseJumpLink");
    var l_eulaLink = document.getElementById("eulaLink");
    if ((l_howToUseLink != null) && (l_eulaLink != null))
    {
        if (toggleOff)
        {
            l_howToUseLink.className = 'lnk-disable';
            l_eulaLink.className = 'lnk-disable-noarrow';
        }
        else
        {
            l_howToUseLink.className = 'lnkarwblue-r';
            l_eulaLink.className = '';
        }
     }
}