// $Id: bland.js,v 1.3 2008/03/05 16:17:33 asc Exp $

function link_tags () {

      posts = document.getElementsByTagName("ins");
      count = posts.length;

      glyph = document.createTextNode("∴");
      space = document.createTextNode(" ");

         for(i=0;i<count;i++) {

                if (posts[i].getAttribute("class")=="post") {
                      continue;
                }

                list = posts[i].getElementsByTagName("h1");

                head = list[0];

                if (! head) {
                       continue;
                }

                tags = head.getAttribute("class").split(" ");

                count_tags = tags.length;

                if (! count_tags) {
                       continue;
                }

                ul = document.createElement("ul");
		ul.setAttribute("id","deltags");

                for(j=0;j<count_tags;j++) {

                         str = document.createTextNode(tags[j]);

                         a = document.createElement("a");
                         a.setAttribute("href","http://del.icio.us/tag/"+tags[j]);
                         a.appendChild(str);

                         li = document.createElement("li");
                         li.appendChild(a);

                         ul.appendChild(li);
                }

		next   = head.nextSibling;
                parent = head.parentNode;
                fu_safari = parent.insertBefore(ul, next);
         }
}

var loadInbox = function (ua) { 

    if ((ua.readyState == 4) && (ua.status == 200)) {

	var res = ua.responseXML;

	if (! res) {
	    return false;
	}

	del   = res.getElementsByTagName("a");
	count = del.length;

	var inbox = document.getElementById("dellink");

	for (i=0;i<count;i++) {

	    link = del[i];
	    user  = link.getAttribute("id");
	    href  = link.getAttribute("href");

	    a = document.createElement("a");
	    a.setAttribute("href",href);

	    // You can't just pass link.firstChild
	    // to a.appendChild in safari even though
	    // it is, well you know, a 'Text' object

	    txt = link.firstChild.nodeValue;
	    a.appendChild(document.createTextNode(txt));

	    li = document.createElement("li");
	    li.setAttribute("title",user);
	    li.appendChild(a);

	    inbox.appendChild(li);
	}

	//var serializer = new XMLSerializer();
	//alert(serializer.serializeToString(wrapper));
	
	inbox.style.display = "block";
	
	content = document.getElementById("toc");
	misc	= document.getElementById("misc");

	if (content) {
	   content.style.paddingTop = "45px";
	   misc.style.paddingTop    = "25px";
	}

	else if (misc) {
	   misc.style.paddingTop = "45px";
	}

	else {}
    }
};


var loadFlickr = function (ua) {

    if ((ua.readyState == 4) && (ua.status == 200)) {

	var res = ua.responseXML;

	if (! res) {
	    return false;
	}

	// var serializer = new XMLSerializer();
	// alert(serializer.serializeToString(res));

        var photos = res.getElementsByTagName("photo");
	count = photos.length;

	var flickrimgs = document.getElementById("flickrimgs");
	var dim = 60;

	for (i=0;i<count;i++) {

           var n = photos[i];

            var link = document.createElement("a");
            // link.setAttribute("href",n.getAttribute("url"));

            link.setAttribute("href",n.getAttribute("medium"));
            link.setAttribute("rel","lightbox");
            link.setAttribute("target",n.getAttribute("url"));

            link.setAttribute("title","[flickr photo] " + n.getAttribute("title"));

	    var d = document.createElement("div");
            d.setAttribute("style","padding:3px;background-color:#fff;border:1px dotted #ccc;float:left;margin:3px;float:left;");	

	    d.style.margin     = "3px";
	    d.style.padding    = "3px";
	    d.style.paddingBottom = "9px";
	    d.style.styleFloat = "left";
	    d.style.border     = "1px solid #ccc";

            var img = document.createElement("img");
            img.setAttribute("height",60);
            img.setAttribute("width",60);
            img.setAttribute("alt",n.getAttribute("title"));
            img.setAttribute("src",n.getAttribute("source"));

            img.style.border = "none";

            link.appendChild(img);
            d.appendChild(link);

            flickrimgs.appendChild(d);
	}

	flickrimgs.style.display = "block";
    }

    initLightbox();
};

var loadFlickrFaves = function (ua) {

    if ((ua.readyState == 4) && (ua.status == 200)) {

	var res = ua.responseXML;

	if (! res) {
	    return false;
	}

	// var serializer = new XMLSerializer();
	// alert(serializer.serializeToString(res));

        var photos = res.getElementsByTagName("photo");
	count = photos.length;

	var flickrimgs = document.getElementById("flickrfaves");
	var dim = 60;

	for (i=0;i<count;i++) {

           var n = photos[i];

            var link = document.createElement("a");
            // link.setAttribute("href",n.getAttribute("url"));

            link.setAttribute("href",n.getAttribute("medium"));
            link.setAttribute("rel","lightbox");
            link.setAttribute("target",n.getAttribute("url"));

            link.setAttribute("title","[flickr favourite] " + n.getAttribute("title"));

	    var d = document.createElement("div");
            d.setAttribute("style","padding:3px;background-color:#fff;border:1px dotted #ccc;float:left;margin:3px;float:left;");	

	    d.style.margin     = "3px";
	    d.style.padding    = "3px";
	    d.style.paddingBottom = "9px";
	    d.style.styleFloat = "left";
	    d.style.border     = "1px solid #ccc";

            var img = document.createElement("img");
            img.setAttribute("height",60);
            img.setAttribute("width",60);
            img.setAttribute("alt",n.getAttribute("title"));
            img.setAttribute("src",n.getAttribute("source"));

            img.style.border = "none";

            link.appendChild(img);
            d.appendChild(link);

            flickrimgs.appendChild(d);
	}

	flickrimgs.style.display = "block";
    }

    initLightbox();
};

var delicious = new XHConn ();
var flickr    = new XHConn ();
var faves     = new XHConn ();

if (delicious) {
   delicious.connect("/weblog/inbox.xml","GET",null,loadInbox);
}

if (flickr) {
      flickr.connect("/weblog/flickr.xml","GET",null,loadFlickr);
}

if (faves) {
     faves.connect("/weblog/flickr-faves.xml","GET",null,loadFlickrFaves);
}