﻿function msgBox(msg) { alert(msg); }

function getInstallId()
{
    var hf = document.getElementById("ctl00_ContentPlaceHolder_Body_hfInstallID");
    if (hf == null)
    {
        return "";
    }
    try
    {
        if (typeof(yontooAPI) == "undefined")
        {
            try
            {
                if (window.ActiveXObject)
                {
                    yontooAPI=new ActiveXObject("YontooIEClient.Api");
                }
            }
            catch(ex)
            {
            }
        }

        if (typeof(yontooAPI) != "undefined")
        {
            var id = yontooAPI.getInstallId();
            hf.value = id;
            return id;
        }
        else
        {
            var idElement = document.getElementById("YontooInstallID");
            hf.value = idElement.textContent;
            return idElement.textContent;
        }
    }
    catch(ex)
    {
    }
    hf.nodeValue = "";
    return "";
}

function parseDisabledAppsList(strDisabledList)
{
    var disList = new Array();
    return strDisabledList.split('|');
}

function uncheckSanitySwitchForMySpace()
{
    var cb = document.getElementById("ctl00_ContentPlaceHolder_Body_cbSanitySwitchForMySpace");
    cb.checked = false;
}

function uncheckPageRageForFacebook()
{
    var cb = document.getElementById("ctl00_ContentPlaceHolder_Body_cbPageRageForFacebook");
    cb.checked = false;
}

function uncheckFullPageSearch()
{
    var cb = document.getElementById("ctl00_ContentPlaceHolder_Body_cbFullPageSearch");
    cb.checked = false;
}

function HandleReadyStateChange()
{
    try
    {
        if (xhrEnabledStates.readyState == 4)
        {
            if (xhrEnabledStates.status == 200)
            {
                loadSettings(xhrEnabledStates.responseText);
            }
            else
            {
                msgBox("An error occured while retrieving settings [" + xhrEnabledStates.status + "].");
                var div = document.getElementById("loadingDiv");
                div.style.display = "none";
            }
        }
    }
    catch(ex)
    {
        msgBox("An error occured while retrieving settings [2].");
        var div = document.getElementById("loadingDiv");
        div.style.display = "none";
    }
}

function AjaxLoadEnabledStates()
{
    var installID = getInstallId();
    if (window.ActiveXObject)
    {
        try
        {
            xhrEnabledStates = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(ex)
        {
            try
            {
                xhrEnabledStates = new ActiveXObject("Microsoft.XMLHTTP");    
            }
            catch(ex2)
            {
            }
        }
    }
    else
    {
        xhrEnabledStates = new XMLHttpRequest();
    }
    if (xhrEnabledStates != null)
    {
        var params = new Array();
        
        params.push("InstallID=");
        params.push(escape(encodeURI(installID)));
        
        var strParams = params.join('');

        xhrEnabledStates.onreadystatechange = HandleReadyStateChange;
        xhrEnabledStates.open("POST", "GetExtensionEnabledStates.ashx", true);
        xhrEnabledStates.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhrEnabledStates.setRequestHeader("Content-length", strParams.length);
        xhrEnabledStates.setRequestHeader("Connection", "close");
        xhrEnabledStates.send(strParams);
    }
}

function onloadHandler()
{
    var id = getInstallId();
    if (id == "")
    {
        setTimeout("onloadHandler()", 300);
    }
    else
    {
        AjaxLoadEnabledStates();
    }
}

function loadSettings(disabledExtensions)
{
    var disabledApps = parseDisabledAppsList(disabledExtensions);
    
    for (var n = 0; n < disabledApps.length; n++)
    {
        switch (disabledApps[n])
        {
            case "SanitySwitch":
                uncheckSanitySwitchForMySpace();
                break;
            case "PageRageForFacebook":
                uncheckPageRageForFacebook();
                break;
            case "FullPageSearch":
                uncheckFullPageSearch();
                break;
        }
    }
    
    var div = document.getElementById("loadingDiv");
    div.style.display = "none";
}

function getReferrer()
{
    try
    {
        var idElement = document.getElementById("ctl00_ContentPlaceHolder_Body_hfAcceptTermsReferrer");
        return idElement.value;
    }
    catch(ex)
    {
    }
    return null;
}

setTimeout("onloadHandler()", 300);
