/* Load advertisements asynchronously -- json callback */

dojo.require("dojo.io.*");
dojo.require("dojo.io.ScriptSrcIO");

function phpads_deliverActiveX(content){document.write(content);}

function parseAdScript(s){
    var dw = document.write, t = "";
    document.write = function(str) { t += str; };
    eval(s);
    document.write = dw;
    return t;
}

function loadScript(id,url, options){
    dojo.io.bind({
        url: url,
        mimetype: "text/json",
        transport: "ScriptSrcTransport",
        jsonParamName: "callback",
        load: function(type, data, event, kwArgs) {
            var content = parseAdScript(data);
	    if(content.length >0) {
		var e = document.getElementById(id);
		var ce = $(content);
		var is_js_ad = false;
		if (content.match(/<script/i)) {
		  is_js_ad = true;
		}
		if(is_js_ad){
		    var width = options.width;
		    var height = options.height;
		    var frame_id = "googlead_" + id;
		    // javascript ads have to be placed on a single iframes
		    // or there may be conflict between js ads and jquery
		    var frameHTML = '<iframe id="' + frame_id + '" name="' + frame_id +'" width="' + width + '" height="' + height + '" scrolling="no" frameborder="0" noresize="noresize" style="border:0;" ></iframe>';
		    e.innerHTML = frameHTML;
		    var frame = window.frames[frame_id];
		    $(frame).load(function(){
			    frame.document.write(content);
			});
		} else {
		    e.innerHTML = content;
		}
		$(e).addClass(options.zone);
		e.style.display = "";
	    }
        },
        error: function(type, data, event, kwArgs) {
            /* ignore */
        }
    });
}

function loadScriptAfterPageLoad(id,url, options){
    var code = 'loadScript("'+id+'","'+url+'")';
    setTimeout(function() {
	    loadScript(id, url, options);
	}, 500);
}
