//WEBCOMpro CMS © Patrick Heyer, www.webcompro-cms.com

var asr_callback = new Array();

function asr_send(url) //arguments: 1 => callback
{
        //frame
        var frame = document.createElement("iframe");

        //name
        var name    = "asr_";
        var _string = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        for (var i = 0; i < 8; i++)
                name += _string.charAt(Math.floor(Math.random() * 62));

        frame.name = name;

        //callback
        if (asr_send.arguments.length > 1) asr_callback[name] = asr_send.arguments[1];
        frame.onload = asr_onload;

        //style
        with (frame.style)
        {
                border = "0px none";
                height = "0px";
                width  = "0px";
        };

        //source
        frame.src = url;

        //activate
        document.getElementsByTagName("body")[0].appendChild(frame);
};
//................................
function asr_create_frame() //arguments: 0 => callback
{
        //frame
        var frame = document.createElement("iframe");

        //name
        var name    = "asr_";
        var _string = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        for (var i = 0; i < 8; i++)
                name += _string.charAt(Math.floor(Math.random() * 62));

        frame.name = name;

        //style
        with (frame.style)
        {
                border = "0px none";
                height = "0px";
                width  = "0px";
        };

        //callback
        if (asr_create_frame.arguments.length > 0) asr_callback[name] = asr_create_frame.arguments[0];
        frame.onload = function() { this.onload = asr_onload; return true; };

        //activate
        document.getElementsByTagName("body")[0].appendChild(frame);

        return name;
};
//................................
function asr_onload()
{
        var name = this.name;

        if (typeof asr_callback[name] == "function")
        {
                var object = document.createElement("div");
                object.appendChild(this.contentWindow.document.documentElement.cloneNode(true));
                var value  = object.innerHTML;
                asr_callback[name](value);
                asr_callback[name] = null;
        };

        document.getElementsByTagName("body")[0].removeChild(this);
        return true;
};
