// Ad generation for carspace.
var ad_args_static = "";
var ad_tile_num = 0;
var ad_pos_num = 0;
var ad_debug = 0;

function generate_ad(adtype, make, model, themes, types) {
    ad_tile_num++;
    if (ad_args_static == "") {
            ad_args_static = replaceAdVariables("zip=!ZIP;st=!STATE;cty=!COUNTYFIP;dma=!DMA;!RSISEG;u=cty_!COUNTYFIP:dma_!DMA!USERDATA|!EDMUNDSID|!EDW|!TIMESTAMP|!PAGEURL|!ZIP;ord=!TIMESTAMP?", "www.carspace.com");
    }
    function gen_ad_frame(name, url, width, height) {
//	var adframe = '<IFRAME name="' + name + '" SRC="http://ad.doubleclick.net/adi' + url + '" width="' + width + '" height="' + height + '" frameborder="no" border="0" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no"><A target="_blank" HREF="http://ad.doubleclick.net/jump' + url + '"><IMG SRC="http://ad.doubleclick.net/ad' + url + '" width="' + width + '" height="' + height + '" border="0" /></A></IFRAME>'; 
	var adframe = '<iframe name="' + name + '" SRC="http://ad.doubleclick.net/adi' + url + '" width="' + width + '" height="' + height + '" frameborder="no" border="0" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" bordercolor="#000000"><script language="javascript" type="text/javascript" src="http://ad.doubleclick.net/adj' + url + '"></script></iframe>';
	if (ad_debug) { adframe = "ADSTR: ..." + url + "<br/>" + adframe; }
	return(adframe);
    }
    function gen_ad_leaderboard(ad_args) {
	var adstr = '/carspace.dart;rsu=community;ptile=1;sz=728x90;';
	return(gen_ad_frame("adframe-lb", adstr + ad_args, 728, 90));
    }
    function gen_ad_towerboard(ad_args) {
	var adstr = '/carspace.dart;rsu=community;sz=160x600;';
	return(gen_ad_frame("adframe-tb", adstr + ad_args, 160, 600));
    }
    function gen_ad_smbox(ad_args) {
	var adstr = '/carspace.dart;rsu=community;pos=1;tile=' + ad_tile_num + ';sz=180x150;';
	return(gen_ad_frame("adframe-smbt" + ad_tile_num, adstr + ad_args, 180, 150));
    }
    function gen_ad_box(ad_args) {
	ad_pos_num++;
	var adstr = '/carspace.dart;rsu=community;pos=' + ad_pos_num + ';tile=' + ad_tile_num + ';sz=300x250;';
	return(gen_ad_frame("adframe-bt" + ad_tile_num, adstr + ad_args, 300, 250));
    }

    var ad_args = "";
    if (make) { ad_args += 'make=' + make + ';'; }
    if (model) { ad_args += 'mdl=' + model + ';'; }
    for (var i = 0; themes && i < themes.length; i++) {
        ad_args += 'theme=' + themes[i] + ';';
    }
    for (var i = 0; types && i < types.length; i++) {
        ad_args += 'type=' + types[i] + ';';
    }
    ad_args += ad_args_static;

    // Extra args for the u value.
    var ad_args_user = "";
    if (make) { ad_args_user += ':make_' + make; }
    if (model) { ad_args_user += ':mdl_' + model; }
    for (var i = 0; themes && i < themes.length; i++) {
        ad_args_user += ':theme_' + themes[i];
    }
    for (var i = 0; types && i < types.length; i++) {
        ad_args_user += ':type_' + types[i];
    }
    ad_args = ad_args.replace(/!USERDATA/, ad_args_user);

    var ret = "";
    if (adtype == "leaderboard") {
        ret = gen_ad_leaderboard(ad_args);
    } else if (adtype == "towerboard") {
        ret = gen_ad_towerboard(ad_args);
    } else if (adtype == "smbox") {
        ret = gen_ad_smbox(ad_args);
    } else if (adtype == "box") {
        ret = gen_ad_box(ad_args);
    }
    return(ret);
}
