var req = false;

function makeRequest(url,useFunction) 
{
	req = false;
	
	if (initRequest())
	{
		req.onreadystatechange = eval(useFunction);
        req.open('GET', url, true);
        req.send(null);
	}
	else
	{
		alert('Fel, kunde inte initiera ett objekt för den här funktionen\nVar god maila oss på admin@omFilm.net och beskriv problemet.');
		return false;
	}
}

function initRequest() 
{
    if (window.XMLHttpRequest) 
    {
        req = new XMLHttpRequest();
        return true;
        if (req.overrideMimeType) 
        {
            req.overrideMimeType('text/xml');
            return true;
        }
    } 
    else if (window.ActiveXObject) 
    {
        try 
        {
            req = new ActiveXObject("Msxml2.XMLHTTP");
            return true;
        } 
        catch (e) 
        {
            try 
            {
            	req = new ActiveXObject("Microsoft.XMLHTTP");
            	return true;
            } 
            catch (e) 
            {
            
            } 
        }
    }

    if (!req) 
    {
        return false;
    }
}

function fetchPossibleActors() 
{
    if (req.readyState == 4) 
    {
        if (req.status == 200) 
        {
            var xmldoc = req.responseXML;
            var nodes = xmldoc.getElementsByTagName('item');
            var data = new Array(nodes.length);
            
            for (var i = 0; i < nodes.length; i++)
            {
            	data[i] = nodes[i].firstChild.data;
            }
            
            setPossibleActors(data);
        } 
    }
}

function posterDeleted()
{
    if (req.readyState == 4) 
    {
        if (req.status == 200) 
        {	
        	var status = req.responseXML.getElementsByTagName('status').item(0).firstChild.data;
        	if (status == 'done')
        	{
        		reloadImagePreview('img/icons/ingenbild.gif');
        		alert('Bild borttagen');
        		
        	}
        	else
        	{
        		alert('Kunde inte ta bort bilden');
        	}
        }
    }
}

function chatUpdateReturned()
{
	var scroll = getElement('chatboard').scrollTop == 0;
	var msglen = getElement('msg').value.length == 0;
	
	if (scroll && !msgFocus && msglen && req.readyState == 4 && req.status == 200)
	{
		var status = req.responseXML.getElementsByTagName('status').item(0).firstChild.data;
		if (status == 'update')
    	{	
    		document.location.reload();
    	}
	}
}

function BBDynamicReturned()
{
    if (req.readyState == 4) 
    {
        if (req.status == 200) 
        {	
        	var idXML = req.responseXML.getElementsByTagName('id');
        	var titleXML = req.responseXML.getElementsByTagName('title');
        	var typeXML = req.responseXML.getElementsByTagName('type');
        	var movies = req.responseXML.getElementsByTagName('movies').item(0).firstChild.data;
         	var actors = req.responseXML.getElementsByTagName('actors').item(0).firstChild.data;
        	var start = req.responseXML.getElementsByTagName('start').item(0).firstChild.data;
         	var end = req.responseXML.getElementsByTagName('end').item(0).firstChild.data;        	
        	
        	var id = Array(idXML.length);
        	var title = Array(idXML.length);
        	var type = Array(idXML.length);
        	
        	for (var i = 0; i < idXML.length; i++)
        	{	
        		id[i] = idXML[i].firstChild.data;
        		title[i] = titleXML[i].firstChild.data;
        		type[i] = typeXML[i].firstChild.data;	
        	}
        	
        	var index = -1;
        	
        	for (var i = 0; i < id.length; i++)
        	{
        		if (confirm("Visar träff " + (i + 1) + " av " + id.length + " totalt. Tryck på nej för nästa.\n[" + type[i] + "ID=" + id[i] + "] " + title[i] + "\n"))
        		{
        			index = i;
        			break;
        		}
        	}
         	var msg = getElement('msg');
         	msg.disabled = false;
         	       	
        	if (index == -1)
        	{
        		alert("Totalt matchade sökningen:\nFilmer/Serier: " + movies + "\nProfiler: " + actors);
        		return;
        	}
        	
        	var first = msg.value.substring(0,start);
        	var second = msg.value.substring(parseInt(end) + 1);
        	msg.value = first + "[" + type[index] + "ID=" + id[index] + "]" + second;
        	msg.focus();
        }
    }
}

function report404Sent()
{
    if (req.readyState == 4) 
    {
        if (req.status == 200) 
        {
        	var status = req.responseXML.getElementsByTagName('status').item(0).firstChild.data;
			if (status == 'sent')
	    	{	
				getElement("msg").innerHTML = "Meddelande skickat.\nTack för att du hjälper till att förbättra sidan";
	    	}	
	    	else
	    	{
	    		getElement("msg").innerHTML = "Kunde inte skicka ett meddelande.";
	    	}
        }
    }
}
