// Copyright (c) 2005 trixiedev@gmail.com
// This script is licensed under the MIT license.  See
// http://opensource.org/licenses/mit-license.php for more details.
//
// ==UserScript==
// @name          MSN Spaces Statistics
// @namespace     http://www.bhelpuri.net/Trixie
// @description	  Displays MSN Spaces space statistics as an overlay when logged in to your MSN Space
// @include       http://spaces.msn.com/members/*/PersonalSpace.aspx*
// ==/UserScript==

//
// Discussion forum: http://groups.yahoo.com/group/trixieUsers/
//

(function()
{
	function InjectXmlHttp()
	{
	    var js = document.createElement("script");
	    js.setAttribute("language", "JavaScript");
	    js.setAttribute("type", "text/javascript");
	    js.text = "\
	    var xmlHttp;\
	    function MakeHttpRequest(url)\
	    {\
	        if (window.XMLHttpRequest)\
	        {\
	            xmlHttp = new XMLHttpRequest();\
	            xmlHttp.onreadystatechange = xmlHttpCallback;\
	            xmlHttp.open('GET', url, true);\
	            xmlHttp.send(null);\
	        }\
	        else if (window.ActiveXObject)\
	        {\
	            xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');\
	            if (xmlHttp)\
	            {\
	                xmlHttp.onreadystatechange = xmlHttpCallback;\
	                xmlHttp.open('GET', url, true);\
	                xmlHttp.send();\
	            }\
	        }\
	    }\
	    function xmlHttpCallback()\
	    {\
	        if (xmlHttp.readyState == 4)\
	        {\
	            if (xmlHttp.status == 200)\
	            {\
	                var resp = xmlHttp.responseText;\
	                var viewsTotal = '0';\
	                var viewsToday = '0';\
	                var viewsThisWeek = '0';\
	                var viewsLastHour = '0';\
	                \
	                var pos = resp.indexOf('Total page views:');\
	                if (pos <= 0)\
	                    return;\
	                pos = resp.indexOf('\"bold\">', pos);\
	                if (pos > 0)\
	                {\
	                    pos += 7;\
	                    var pos1 = resp.indexOf('</td>', pos);\
	                    viewsTotal = resp.substring(pos, pos1);\
	                }\
	                \
	                pos = resp.indexOf('\"bold\">', pos);\
	                if (pos > 0)\
	                {\
	                    pos += 7;\
	                    var pos1 = resp.indexOf('</td>', pos);\
	                    viewsToday = resp.substring(pos, pos1);\
	                }\
                    \
	                pos = resp.indexOf('\"bold\">', pos);\
	                if (pos > 0)\
	                {\
	                    pos += 7;\
	                    var pos1 = resp.indexOf('</td>', pos);\
	                    viewsThisWeek = resp.substring(pos, pos1);\
	                }\
                    \
	                pos = resp.indexOf('\"bold\">', pos);\
	                if (pos > 0)\
	                {\
	                    pos += 7;\
	                    var pos1 = resp.indexOf('</td>', pos);\
	                    viewsLastHour = resp.substring(pos, pos1);\
	                }\
	                document.getElementById('pageViewWnd').style.display = \"\";\
	                var o = document.getElementById('viewObject');\
	                o.innerHTML = '<table style=\"color:#000;\"><tr><td>Total:</td><td align=right style=\"font-weight:bold;\">' + viewsTotal + '</td><td>&nbsp;</td><td>Today: </td><td  align=right style=\"font-weight:bold;\">' + viewsToday + '</td><tr><td>Week: </td><td  align=right style=\"font-weight:bold;\">' + viewsThisWeek + '</td><td>&nbsp;</td><td>Hour: </td><td  align=right style=\"font-weight:bold;\">' + viewsLastHour + '</td></tr></table>';\
	            }\
	            else\
	            {\
	            }\
	        }\
	    }\
	    ";
	    
	    document.getElementsByTagName('head').item(0).appendChild(js);
	}
	
	//if (BlogJS_IsPassportAuthenticated == "true")
    {
        var loc = new String(location.href);
        var pos = loc.indexOf("/members/") + 9;
        var pos2 = loc.indexOf("/", pos);
        var memberName = loc.substring(pos, pos2);
        var url = "http://spaces.msn.com/members/" + memberName + "/SettingsContainer.aspx?part=stats";

	    InjectXmlHttp();
	    
	    var wnd = document.createElement("div");
	    wnd.setAttribute("id", "pageViewWnd");
	    wnd.style.zIndex = "100";
	    wnd.style.position = "absolute";
	    wnd.style.display = "none";
	    wnd.style.backgroundColor = "#ddd";
	    wnd.style.left = "330px";
	    wnd.style.top = "124px";
	    wnd.innerHTML = "<div id='statsContent' class='mainsel' align='center'><span style='font-size:10px; font-weight:bold;'><a style='color:#fff; text-decoration:none;' href=\"" + url + "\">Page Views</a></span></div>";
	    
	    var viewObj = document.createElement("div");
        viewObj.setAttribute("id", "viewObject");
        viewObj.style.borderLeft = "1px solid #000";
        viewObj.style.borderRight = "1px solid #000";
        viewObj.style.borderBottom = "1px solid #000";
        
        wnd.appendChild(viewObj); 
	    document.body.appendChild(wnd);

	    MakeHttpRequest(url);
	}
}
)();