﻿    //Disable right-click on the page.
    var message="Sorry, but right-click has been disabled here.";
    function clickIE()
    {
        if (document.all)
        {
            return false;
        }
    }
    function clickNS(e) 
    {
        if(document.layers||(document.getElementById&&!document.all))
        {
            if (e.which==2||e.which==3) 
            {
                alert([message]);
                return false;
            }
        }
    }
    if (document.layers)
    {
        document.captureEvents(Event.MOUSEDOWN);
        document.onmousedown=clickNS;
    }
    else
    {
        document.onmouseup=clickNS;
        document.oncontextmenu=clickIE;
    }
    document.oncontextmenu=new Function("return false");
    
    //Determine browser type and, if IE, version.
    function msieversion()
    {
        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");

        if ( msie > 0 )      // If Internet Explorer, return version number
            return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )));
        else if ( msie == 0 )                 // If another browser, return 0
            return 0;
        else
            return null;
    }
    
    //Get member full name from username using NameServer web service.
    function getName(user)
    {
        //var email = document.NameServer.user.value;
        document.NameServer.user.value = user;
        //document.NameServer.submit()
        var params = "user=" + user;
        var requestor;
        try
        {
            requestor = new XMLHttpRequest();
        }
        catch (error)
        {
            try
            {
                requestor = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (error)
            {
                requestor = null;
            }
        }
        requestor.open("POST", "/ACFEWebServices/Service.asmx/GetMemberFullName", false);
        requestor.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        requestor.setRequestHeader("Content-length", params.length);
        requestor.setRequestHeader("Connection", "close");
        requestor.send(params);
        var name;
        var member;
        if(requestor.readyState == 4 && requestor.status == 200) 
        {
            // so far so good
            if (requestor.responseXML != null)
            {
                name = requestor.responseXML.getElementsByTagName("string");
                member = name[0].firstChild.nodeValue;
                //document.NameServer.fullname.value = member;//Comment out in production
                return member
            }
            else
            {
                return null;
            }
        } 
        else if (this.readyState == 4 && this.status != 200) 
        {
            // fetched the wrong page or network error...
            return null;
        }

//        if (requestor.responseXML != null)
//        {
//            var name = requestor.responseXML.getElementsByTagName("string");
//            var member = name[0].firstChild.nodeValue;
//            //document.NameServer.fullname.value = member;//Comment out in production
//            return member
//        }
    }

    function getInterests(user)
    {
        //var email = document.NameServer.user.value;
        //document.NameServer.submit()
        var params = "user=" + user;
        var requestor;
        try
        {
            requestor = new XMLHttpRequest();
        }
        catch (error)
        {
            try
            {
                requestor = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (error)
            {
                requestor = null;
            }
        }
        requestor.open("POST", "/ACFEWebServices/Service.asmx/GetInterestsByMember", false);
        requestor.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        requestor.setRequestHeader("Content-length", params.length);
        requestor.setRequestHeader("Connection", "close");
        requestor.send(params);
//        if (requestor.responseXML != null)
//        {
//            var interests = requestor.responseXML.getElementsByTagName("anyType");
//            return interests
//        }
    }

    //Login to netForum.
    function passNFCredentials()// Login to NetForum
    {
        //alert(document.loginform.username.value);
        var name=document.loginform.username.value;
        var pwd=document.loginform.password.value;
        var today = new Date();
        today = today.toDateString();
        //var fullname = getName(document.loginform.username.value);
        setCookie("username", name, null);
        setCookie("pwd", pwd, null);
        setCookie("date", today, null);
        createWebWizCookie(name, today)
        //document.loginform.submit();
    }
    
    //Login to netForum using encrypted credentials from cookie.
    function passCookieCredentials()
    {
        var user = decrypt(getCookie("username"));
        var pwd = decrypt(getCookie("pwd"));
        document.cookieform.username.value = user;
        document.cookieform.password.value = pwd;
        document.cookieform.submit();
    }
    
    //Login to DNN using encrypted credentials from cookie.
    function getCookieCredentialsToDNN()
    {
        var user = decrypt(getCookie("username"));
        var pwd = decrypt(getCookie("pwd"));
        document.dnnlogin.dnn$ctr$Signin$txtUsername.value = user;
        document.dnnlogin.dnn$ctr$Signin$txtPassword.value = pwd;
    }
    
    //Login to WebWiz forum using credentials from cookie.  TODO -- modify to use encrypted credentials.
    function createWebWizCookie()
    {
        //var name=document.loginforum.username.value;
        //var pwd=document.loginforum.password.value;
        var today = new Date();
        today = today.toDateTimeString();
        setCookie("WWF9|Visit", "LV=" + today, null);
        setCookie("ASPSESSIONIDQQSTAABS", "BAKDMJPAKLDADNACJAKMFCNL", null);
        setCookie("WWF9sLID", "NS_0&UID=" + "TestMember" + "3EA93F8Z92", null);
        setCookie("WWF9sID", "SID=269bfbe76272ac87aaf9b42z84af92b6", null);
    }
    
    //Login to WebWiz forum using credentials from cookie.  TODO -- modify to use encrypted credentials.
    function createWebWizCookie(username, today)
    {
        setCookie("WWF9|Visit", "LV=" + today, null);
        setCookie("ASPSESSIONIDQQSTAABS", "BAKDMJPAKLDADNACJAKMFCNL", null);
        setCookie("WWF9sLID", "NS_0&UID=" + username + "3EA93F8Z92", null);
        setCookie("WWF9sID", "SID=269bfbe76272ac87aaf9b42z84af92b6", null);
    }
    
    //Get cookie name/value pair.
    function getCookie( name ) 
    {
        var start = document.cookie.indexOf( name + "=" );
        var len = start + name.length + 1;
        if ((!start) && (name != document.cookie.substring(0, name.length)))
        {
            return null;
        }
        if ( start == -1 ) return null;
        var end = document.cookie.indexOf( ";", len );
        if ( end == -1 ) end = document.cookie.length;
        return unescape( document.cookie.substring( len, end ) );
    }
    
    //Set cookie name/value pair.
    function setCookie(c_name,value,expiredays)// Expiredays of null yields session-only cookie, otherwise use non-zero integer.
    {
        var exdate=new Date();
        exdate.setDate(exdate.getDate()+expiredays);
        document.cookie=c_name+ "=" +escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
    }
    
    //Encrypt string using XOR.
    function encrypt(input)
    {
	    var to_enc=input;

	    var xor_key=9;
	    var result="";
	    for(i=0;i<to_enc.length;++i)
	    {
		    result+=String.fromCharCode(xor_key^to_enc.charCodeAt(i));
	    }
	    return result;
    }
    
    // Decrypt string from XOR.
    function decrypt(input)
    {
	    var to_dec=input;
	    var result="";

	    var xor_key=9;
	    for(i=0;i<to_dec.length;i++)
	    {
		    result+=String.fromCharCode(xor_key^to_dec.charCodeAt(i));
	    }
	    return result;
    }
