var afns_video_ad = {};

/**
 * ad groups: "onn_homepage", "onn_embed", "onn_player", and "onn_mobile" (2010-11-04)
 */
function initialize_ads(callback, group) {
    var afns_video_user_id;
    afns_video_user_id = $.cookie("afns_video_user_id");
    if(afns_video_user_id == "null") {
	afns_video_user_id = 0;
    }
    if(!afns_video_user_id) {
	afns_video_user_id = Math.uuid();
	$.cookie("afns_video_user_id", afns_video_user_id, {path: '/', expires: 60*60*24*365});
    }
    var afns_override_ad = 0;
    var afns_override_regex = new RegExp("[\\?&]afns_ad_id=([^&#]*)");
    var afns_override_results = afns_override_regex.exec(window.location.href);
    if (afns_override_results != null) {
	afns_override_ad = afns_override_results[1];
    }
    var afns_post_data = {'user_id': afns_video_user_id};
    if (afns_override_ad) {
	afns_post_data['ad_id'] = afns_override_ad;
    }
    if(!group) {
	group = 'onn_player';
    }
    afns_post_data['group'] = group;

    function afns_handle_video_ad_error(){
	afns_video_ad = {
	    "name": "blank ad",
	    "gam_attribute": "theonion_videonosponsor",
	    "preroll_client_pixel": "",
	    "postroll_client_pixel": "",
	    "preroll_client_url": "",
	    "postroll_client_url": "",
	    "preroll": "",
	    "postroll": "",
	    "ad_id": ""
	};
    }

    $.ajax({type:"POST",
	    url: "/ads/video-ad/"+afns_video_id+"/",
	    data: afns_post_data,
	    async: false,
            dataType: "json",
            success: function(json) {
                afns_video_ad = json;
		        // don't need this is we fix video ad server to allow blank
		        if(afns_video_ad.postroll == "http://videos.theonion.com/ads/2009/07/video/blank.flv") {
		            afns_video_ad.postroll = "";
		        }
		        if(afns_video_ad.preroll == "http://videos.theonion.com/ads/2009/07/video/blank.flv") {
		            afns_video_ad.preroll = "";
		        }
		        if(callback) {
		            callback();
		        }
            },
            error: function(){
                afns_handle_video_ad_error();
		        if(callback) {
		            callback();
		        }
            }
    });
}

