var minimum_change_time = 20;
var maximum_change_time = 60;

function isIE()
{
    var browserName=navigator.appName;
    if (browserName=="Netscape")
    {
        return false;
    }
    else
    {
        if (browserName=="Microsoft Internet Explorer")
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

function ajaxRequest()
{

    var xmlHttp;
    if (window.XMLHttpRequest)
    {// code for Firefox, Mozilla, IE7, etc.
        xmlHttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {// code for IE6, IE5
        try {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
        }
    }
    return xmlHttp;
}

function getFlickrSquares()
{
    var images = [];
    if (isIE()) {
        /* Work around for getElementsByName() not working for <span> in IE */
        var tmp = document.getElementsByTagName('span');
        for(var i=0; i < tmp.length; i++) {
            if(tmp.item(i).getAttribute('class') == 'flickr-square' ) {
                images.push(tmp.item(i));
            } else if(tmp.item(i).getAttribute('name') == 'flickr-square' ) {
                images.push(tmp.item(i));
            }
        }
    } else {
        images = document.getElementsByName("flickr-square");
    }
    return images;
}


function getFlickrImage(square)
{
    var ajax = ajaxRequest();
    var images = getFlickrSquares();

    //images[square].innerHTML="Loading...";
    //images[square].innerHTML="<span><img src='/images/angela_small.jpg' alt='Angela Lansbury' border='0' width='75' height='75' class='mt-flickr-photo-image'/>&nbsp;</span>";


    ajax.open("GET","/random_flickr_image.php", true);
    ajax.send(null);


    ajax.onreadystatechange=function() {
        if(ajax.readyState == 4)
        {
            if (ajax.status == 200) {
                images[square].innerHTML=ajax.responseText;
            }
        }
    }
}

function getRandomNewImage() {
    var images = getFlickrSquares();
var random_number = Math.ceil(images.length * Math.random()) - 1;
    getFlickrImage(random_number);
    setTimeout("getRandomNewImage()",
               (1000 * Math.ceil((maximum_change_time -
                                  minimum_change_time) * Math.random())
                + minimum_change_time));
}

/* Iterate through the flickr-squares populating their images with one of the
 * random flickr images.
 */
function populate_tiles()
{
    for (i = 0; i < 18; i++) {
        getFlickrImage(i);
    }
}

/* Create a collection of span flickr square tiles from scratch. */
function create_tiles()
{
    for (i = 0; i < 18; i++)
    {
        document.write("<span name='flickr-square'>");
        document.write(getFlickrImage(i));
        document.write("</span>");
    }
}


