/**
* Copyright (c) InOut TV 2008
* @file ajax.js
* @author Albert Daurell
* @brief Ajax HTTP request utils
* @date 16/01/08
*/

function Ajax()
{
    this.xmlhttp=false;
    try
    {
        this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e1)
    {
        try
        {
            this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e2)
        {
            this.xmlhttp = false;
        }
    }
    if(!this.xmlhttp && typeof XMLHttpRequest!='undefined')
    {
        this.xmlhttp = new XMLHttpRequest();
    }
    return this;

};

// Download HTML from myurl, and calls onready function 
Ajax.prototype.getURL=function (myurl,onready)
{
    try
    {
        var ajax=this.xmlhttp;
        ajax.open("GET", myurl ,true);
        var mobj=this;
        ajax.onreadystatechange=function()
        {
            if (ajax.readyState==4 && ajax.status==200)
            {
                mobj.setOnready(ajax.responseText,onready);
            }
            else if(ajax.readyState==4)
            {
                mobj.setOnready("",onready);
            }
        }
        ajax.send(null);
    }
    catch (ex)
    {
        alert("Ajax.getURL:"+ex);
    }
};
    
Ajax.prototype.setOnready=function (responseText,onready)
{
    if(typeof onready=="function")
    {
        onready(responseText);
    }
    else if(typeof onready=="string")
    {
        var el=document.getElementById(onready);
        if(el)
        {
            el.innerHTML="<div id='IE7FixProblem' style='display:none;' >.</div>"+responseText;
        }
        
        var elems=el.getElementsByTagName("script");
        for(var i=0;i<elems.length;i++)
        {
            if(elems[i].src)
            {
                var headID = document.getElementsByTagName("head")[0];  
                var newScript = document.createElement('script');
                newScript.type = 'text/javascript';
                newScript.src = elems[i].src;
                headID.appendChild(newScript);
            }
            else if(elems[i].text)
            {
                eval(elems[i].text);
            }
        }


    }
        
};