﻿function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function setCookie(name, value, expires) {
    document.cookie= name + "=" + value +
    ((expires) ? "; expires=" + expires.toGMTString() : "");
}

function setCookie2(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

/////

function GetXOb()
{
    var x;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
    	x = new XMLHttpRequest();
    	if (x.overrideMimeType) {
		    x.overrideMimeType('text/xml');
	    }
    } else if (window.ActiveXObject) { // IE
    	try {
		    x = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (e) {
    		try {
			    x = new ActiveXObject("Microsoft.XMLHTTP");
		    } catch (e) {}
	    }
    }
    return x;
}


var cook = "xwordcounts";
   
function UpdateAbout()
{
    var stats = getCookie(cook);
    if (stats != null) {
        document.getElementById("about").innerHTML = unescape(stats);
    }

    var xob = GetXOb();
  	xob.open("GET","Scoop.aspx?v=home", true);
	xob.onreadystatechange = function() {
  		if (xob.readyState == 4) {
		    var np = document.getElementById("about");
		    var resp = xob.responseText;
		    setCookie(cook, escape(resp));
            np.innerHTML = resp;
		}
    }
    xob.send(null);
}

function UpdateBlogPosts()
{
    var xob = GetXOb();
    xob.open("GET", "Scoop.aspx?rss=http://wordplay.blogs.nytimes.com/feed/atom", true);
    xob.onreadystatechange = function() {
        if (xob.readyState == 4) {
            document.getElementById("blogposts").innerHTML = xob.responseText;
        }
    }
    xob.send(null);
}

// blogs.aspx

var blogs2 = new Array();
var posts = new Array();

function GoBlogs()
{
    document.body.style.cursor='wait';
    for (i in blogs)
    {
        var s = blogs[i];
        var start = s.indexOf("//");
        s = s.substring(start+2);
        var end = s.indexOf("/");
        blogs2[i] = "<div>" + s.substring(0, end) + "</div>";
        UpdateBlogs(i, blogs[i]);
    }
}

function UpdateBlogs(i, sUrl)
{
    var xob = GetXOb();
    xob.open("GET","Scoop.aspx?blog="+sUrl, true);
        xob.onreadystatechange = function() {
            if (xob.readyState == 4) {
                posts[i] = xob.responseText;
                var counter = document.getElementById("counter");
                if (--left == 0)
                {
                    document.getElementById("wait").innerHTML = "";
                    counter.innerHTML = "";
                    var post="";
                    for (var j = 0; j < blogs.length; j++)
                        post += posts[j];
                    document.getElementById("res").innerHTML = post;
                    document.body.style.cursor='default';
                }
                else
                {
                    counter.innerHTML = " &mdash; reading: " + left + " to go";
                    blogs2[i] = "<div style='font-weight:bold; color:green'>" + blogs2[i] + "</div>";
                    var s = "";
                    for (j in blogs2)
                        s += blogs2[j];
                    document.getElementById("res").innerHTML = "<div style='height:240px'><hr /><p style='color:darkred;font-weight:bold'>Reading...</p>" + s + "</div>";
                }
            }
        }
    xob.send(null);
}

// debug

function UnWrap(o)
{
    var s="";
    for (var i in o)
        s += (i+'='+o[i]+" -- ");
    alert(s);
}