var lineupParser=/^.+?line\D+(\d+).+$/;
var titleParser=/^.+?title\D+(\d+).+$/;
var req = false;
var parms = new Array();
var bcConfig=new Array();
var staticAd=new Object();
var defaultLineup=null;
var defaultTitle=null;

function openBCWin(url)
{
var newWin=window.open(url,'video','scrollbars=no,resizable=no,status=no,width=988,height=550');
};

function qs()
{
    var query = window.location.search.substring(1);
    var pairs = query.split('&');
    for (var i=0; i<pairs.length; i++)
    {
        var keyVal=pairs[i].split('=');
	parms[keyVal[0]] = keyVal[1];
    }
}

function getDefaultLineup()
{
    var lup=null
    if (parms['l'] != null)
    {
	for(var i in lineups)
	{
	    if (parms['l']==i)
	    {
	  	lup=i;
	    }
	}
    }
    return lup;
}

function getDefaultTitle()
{
    var title=null;
    if (parms['t'] != null)
    {
        title = parms['t'];
    }
    return title;
}


function makeRequest(method,url,asynch)
{
    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        req = new ActiveXObject("MSXML2.XMLHTTP.3.0"); // For IE<7
    }
    req.open(method,url,false);

    if (method == "GET")
    {
        req.send(null);
    }
    return req;
} 

// BRIGHTCOVE CALLBACKS AND FUNCTIONS 
function onTemplateLoaded(msg)
{
    callFlash("addEventListener", "adComplete", "onAdComplete");
    if (msg != null)
    {
        alert(msg);
    }
}

function getTitleCampaign(lineupId,titleId)
{
    var str=lineups[lineupId].campaign + "/";
    str += lineups[lineupId].adTitleList[titleId];
    return str;
}

function playAd(adInfo,cb)
{
    var lineupId=adInfo.replace(lineupParser,"$1");
    var titleId=adInfo.replace(titleParser,"$1");
    var campaign;
    if (isNaN(lineupId))
    {
	callbackFlash(cb);
    }
    else if(lineups[lineupId].advertising!=true)
    {
	callbackFlash(cb);
    } 
    else
    {
    	if (lineups[lineupId].count==0)
    	{
            lineups[lineupId].count++;
            if (lineups[lineupId].count==lineups[lineupId].frequency)
            {
            	lineups[lineupId].count=0;
            }
	    if (lineups[lineupId].titleTarget==true)
	    {
		campaign=getTitleCampaign(lineupId,titleId);
	    }
	    else
 	    {
		campaign=lineups[lineupId].campaign;
	    }
            makeAdRequest(campaign);
     	}
    	else
    	{
            lineups[lineupId].count++;
            if (lineups[lineupId].count==lineups[lineupId].frequency)
            {
            	lineups[lineupId].count=0;
            }
	    callFlash("playAd",staticAd[lineups[lineupId].campaign]);
	    callbackFlash(cb);
	}
    }
}

function onAdComplete()
{
    callFlash("endExternalAd");
}

function makeAdRequest(camp)
{
    var url=window.location.protocol + "//" + window.location.host +  "/cgi-bin/bcOasProxy.pl?campaign=" + camp;
    var adObj=new Object();
    var adReq=makeRequest('GET',url,false);
    eval(adReq.responseText);
    var banner=new Object();
    banner["bannerURL"]=adObj["collapsedBannerURL"]
    banner["bannerClickURL"]=adObj["collapsedBannerClickURL"];
    banner["type"]="banner";
    banner["trackStartURLs"]=adObj["trackStartURLs"];
    staticAd[camp]=banner;
    callFlash("playAd",adObj);
}


