
var loadingmessage = "<span class=\"loading\"><img src=\"/pix/loading-anim.gif\" height=\"17\" width=\"18\"><em>Loading</em></span>";


var failures = 0;


function showAjax(){
    if(okForXMLHTTPREQUEST()){
        document.write("<style type=\"text/css\" media=\"all\">.ajax {display:block}</style>"); // Not ideal.
    }
}

showAjax();




function loadTagData(tag){
    if (tag){
        getPhotos(tag);
        getLinks(tag);
        getRelated(tag);
    }
}

function incrementLoadFailures(){
    failures += 1;
    if(failures == 2){
        expandBox();
    }
}

function loadBlogrollData(tag){
    getBlogroll(tag);
}

function ajaxTestSuite() {
    if(okForXMLHTTPREQUEST()){
        var url = '/ajax/testAjax.php';
        if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
            req.onreadystatechange = tagsPhotos;
            req.open("GET", url, true);
            req.send(null);
        } else if (window.ActiveXObject) {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {
                req.onreadystatechange = tagsPhotos;
                req.open("GET", url, true);
                req.send();
            }
        }
    }
}

function getPhotos(tag) {
    if(okForXMLHTTPREQUEST()){
        var url = '/ajax/tag.images.php?t=' + tag;
        if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
            req.onreadystatechange = tagsPhotos;
            req.open("GET", url, true);
            req.send(null);
        } else if (window.ActiveXObject) {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {
                req.onreadystatechange = tagsPhotos;
                req.open("GET", url, true);
                req.send();
            }
        }
    }
}


function getLinks(tag) {
    if(okForXMLHTTPREQUEST()){
        var url = '/ajax/tag.links.php?t=' + tag;
        if (window.XMLHttpRequest) {
            req2 = new XMLHttpRequest();
            req2.onreadystatechange = tagsLinks;
            req2.open("GET", url, true);
            req2.send(null);
        } else if (window.ActiveXObject) {
            req2 = new ActiveXObject("Microsoft.XMLHTTP");
            if (req2) {
                req2.onreadystatechange = tagsLinks;
                req2.open("GET", url, true);
                req2.send();
            }
        }
    }
}


function getRelated(tag) {
    if(okForXMLHTTPREQUEST()){
        var url = '/ajax/tag.related.php?t=' + tag;
        if (window.XMLHttpRequest) {

            req3 = new XMLHttpRequest();
            req3.onreadystatechange = tagsRelated;
            req3.open("GET", url, true);
            req3.send(null);
        } else if (window.ActiveXObject) {
            req3 = new ActiveXObject("Microsoft.XMLHTTP");
            if (req3) {
                req3.onreadystatechange = tagsRelated;
                req3.open("GET", url, true);
                req3.send();
            }
        }
    }
}

function getBlogroll(tag) {
    if(okForXMLHTTPREQUEST()){
        var url = '/ajax/search.blogroll.php?s=' + tag;
        if (window.XMLHttpRequest) {
            req2 = new XMLHttpRequest();
            req2.onreadystatechange = blogrollLinks;
            req2.open("GET", url, true);
            req2.send(null);
        } else if (window.ActiveXObject) {
            req2 = new ActiveXObject("Microsoft.XMLHTTP");
            if (req2) {
                req2.onreadystatechange = blogrollLinks;
                req2.open("GET", url, true);
                req2.send();
            }
        }
    }
}


function AjaxEnabledTest() {
    if (req.readyState == 4) {
        r = document.getElementById("results");
        if (req.status == 200) {
            results = req.responseText;
            if (r) r.innerHTML = results;
        }
    }
}

function tagsPhotos() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            p = document.getElementById("photos");
            if(req.responseText == "NULL"){
                incrementLoadFailures();
                if (p) p.innerHTML = " ";
            }else{
                if (p) p.innerHTML = req.responseText;
            }
        }
    }
}

function tagsLinks() {
    if (req2.readyState == 4) {
        if (req2.status == 200) {
            l = document.getElementById("links");
            if(req2.responseText == "NULL"){
                incrementLoadFailures();
                if (l) l.innerHTML = " ";
            }else{
                if (l) l.innerHTML = req2.responseText;
            }
        }
    }
}

function blogrollLinks() {
    if (req2.readyState == 4) {
        if (req2.status == 200) {
            l = document.getElementById("links");
            if(req2.responseText == "NULL"){
                incrementLoadFailures();
                if (l) l.innerHTML = " ";
                incrementLoadFailures();
                if (l) l.innerHTML = " ";
            }else{
                if (l) l.innerHTML = req2.responseText;
            }
        }
    }
}

function tagsRelated() {
    if (req3.readyState == 4) {
        if (req3.status == 200) {
            relatedresults = req3.responseText;
            r = document.getElementById("related-tags");
            if(req3.responseText == "NULL"){
                if (r) r.style.display = "none";
            }else{
                if (r) r.innerHTML = req3.responseText;
                }
        }
    }
}

function okForXMLHTTPREQUEST()
{
    var browserVer=parseInt(navigator.appVersion);

    if (navigator.appVersion.toLowerCase().indexOf("mac") > -1 && navigator.userAgent.indexOf('MSIE') > -1 && navigator.userAgent.indexOf('Opera') < 1)
        {
           return false;
        }
    else
        {
            if ((navigator.userAgent.indexOf('Opera 8') > -1))
            {
                return true;
            }
            else
            {
                if (!window.XMLHttpRequest && !window.ActiveXObject)
                    {
                        return false;
                    }
                    else
                    {
                        return true;
                    }
            }
        }
}

function expandBox() {
    var d = document.getElementById('recentposts');
    var r = document.getElementById('related-tags');
    if (r) r.style.display = "none";
    if (d) d.className = "fullwidth box";
}

function expandBoxNoAjax() {
    var d = document.getElementById('recentposts');
    var p = document.getElementById('photoslinks');
    var l = document.getElementById('links');
    var h = document.getElementById('photos');
    var r = document.getElementById('related-tags');
    if (p) p.style.display = "none";
    if (h) h.style.display = "none";
    if (l) l.style.display = "none";
    if (r) r.style.display = "none";
    if (d) d.className = "fullwidth box";

    }

