var receiveReq;
var lastMessage = 0;
var lastMultimedia = 0;
var lastPersonal = 0;
var lastBanner = '';
var mTimer;

function startFeed() {
    receiveReq = getXmlHttpRequestObject();
    getFeed();
}

function getXmlHttpRequestObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        document.getElementById('div_chat').innerHTML = '<font color="yellow"><br><br><br><br><br><br><br><br><b>Unfortunately your browser is not supported.</b></font>';
    }
}

function getFeed() {
    if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
        receiveReq.open("GET", feedSource+'?last=' + lastMessage + '&ts=' + (new Date()).getTime(), true);
        receiveReq.onreadystatechange = handleReceiveFeed; 
        receiveReq.send(null);
    }			
}

function handleReceiveFeed() {
    if (receiveReq.readyState == 4) {
        var chat_div = document.getElementById('div_chat');
        var xmldoc = receiveReq.responseXML;
        var message_nodes = xmldoc.getElementsByTagName("Message"); 
        var n_messages = message_nodes.length

        // Photo
        var multimedia_nodes = xmldoc.getElementsByTagName("Multimedia"); 
        var marquee_div = document.getElementById('div_marquee');
        var box_div = document.getElementById('div_box');
        if (multimedia_nodes[0]) {
            var id_node = multimedia_nodes[0].getElementsByTagName("id");
            var newid = id_node[0].firstChild.nodeValue;
            if (lastMultimedia != newid) {
                var url_node = multimedia_nodes[0].getElementsByTagName("url");
                document.getElementById('img_multimedia').src = 
                    'Image'+url_node[0].firstChild.nodeValue;
                var marquee_node = multimedia_nodes[0].getElementsByTagName("text");
                var box_node = multimedia_nodes[0].getElementsByTagName("box");
                //marquee_div.innerHTML = '<marquee>'+marquee_node[0].firstChild.nodeValue+'</marquee>';
                marquee_div.innerHTML = marquee_node[0].firstChild.nodeValue;
                document.getElementById('img_multimedia').title = marquee_node[0].firstChild.nodeValue;
                box_div.innerHTML = box_node[0].firstChild.nodeValue;
                lastMultimedia = newid;
            }
        }

     // Banner   
            var banner_nodes = xmldoc.getElementsByTagName("Banner"); 
        if (banner_nodes[0]) {
            var filename_node =  banner_nodes[0].getElementsByTagName("filename");
            var filename = filename_node[0].firstChild.nodeValue;
	   
            filename=filename.replace(/.mpg/,".swf");

	        if (lastBanner != filename) {
           
   
	    if(filename.substring(filename.indexOf("."))==".swf")
	    {
		   document.getElementById('changeStuff').innerHTML = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="264" HEIGHT="170" id="Yourfilename" ALIGN=""><PARAM NAME=movie VALUE="banners/'+filename+'"><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#333399><EMBED src="banners/'+filename+'" quality=high bgcolor=#333399 WIDTH="264" HEIGHT="170" NAME="Yourfilename" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';


	    }
         else
        {
           document.getElementById('changeStuff').innerHTML = '<img id="img_banner" height="170" src="banners/'+filename+'" width="264"border="0">';
                        
        }
           lastBanner = filename;

                                         }  
                                   }


        // Personal
        var personal_nodes = xmldoc.getElementsByTagName("Personal"); 
        if (personal_nodes[0]) {
            var id_node = personal_nodes[0].getElementsByTagName("id");
            var newid = id_node[0].firstChild.nodeValue;
            if (lastPersonal != newid) {
                var text_node = 
                    personal_nodes[0].getElementsByTagName("personalText");
                var box_node = 
                    personal_nodes[0].getElementsByTagName("box");
                chat_div.innerHTML += '<hr size="1" noshade="true"/>';
                chat_div.scrollTop = chat_div.scrollHeight;
                var colour = '#66EEFF';
                chat_div.innerHTML += '<font face="verdana,arial,helvetica,sans-serif" size="2" color="'+colour+'"><b>PERSONALS - '
                     + text_node[0].firstChild.nodeValue 
                     + ' ('+box_node[0].firstChild.nodeValue+')</b></font><br />';
                chat_div.scrollTop = chat_div.scrollHeight;
                lastPersonal = newid;
            }
        }

        // Text
        for (i = 0; i < n_messages; i++) {
            var text_node = message_nodes[i].getElementsByTagName("text");
            var msgText = text_node[0].firstChild.nodeValue;
            var type_node = message_nodes[i].getElementsByTagName("type");
            var id_node = message_nodes[i].getElementsByTagName("id");
            var nick_node = message_nodes[i].getElementsByTagName("nickname");
            var box_node = message_nodes[i].getElementsByTagName("box");
            var msgType = type_node[0].firstChild.nodeValue;
            var box = -1;
            if(msgType != 1)
            {
                 if(box_node){
			try{
            		  	box = box_node[0].firstChild.nodeValue;
			}
			catch(err)
			{
				box = -1;
			}
		  }
            }
 
    try{
            if (nick_node[0].firstChild && (msgType == 1)) {
                msgText = nick_node[0].firstChild.nodeValue + '&gt; '+msgText;
            } else if (nick_node[0].firstChild) {
                msgText = nick_node[0].firstChild.nodeValue + ' - '+msgText;
            }

    }
    catch(err)
    {}



            if (box > 0) {
try{
                msgText = msgText + ' (' + box_node[0].firstChild.nodeValue + ')';
}
catch(err)
{}
            }

            chat_div.innerHTML += '<hr size="1" noshade="true"/>';
            chat_div.scrollTop = chat_div.scrollHeight;
            var colour = 'white';
            if (msgType == 1) {
                colour = 'yellow';
            }
            chat_div.innerHTML += '<font face="verdana,arial,helvetica,sans-serif" size="2" color="'+colour+'"><b>'
                + msgText + '</b></font><br />';
            chat_div.scrollTop = chat_div.scrollHeight;
            lastMessage = (id_node[0].firstChild.nodeValue);
        }

        mTimer = setTimeout('getFeed();',2000);
    }
}
