// define debug
document.debug = 0;

// set usemetadataManager to 1 to use the metadataManager
document.usemetadataManager  = 1;

function initAdManager(am) {

	var ranNum = String(Math.round(Math.random()*10000000000));
	var now = new Date();
	var ad_ord = now.getTime()%10000000000;
	
	if ( document.usemetadataManager == 1 && "mdManager" in window ) {
			
		var amPageType = mdManager.getPageType() ;
		var amSponsorship = mdManager.getSponsorship();
		var amKeywords = mdManager.getKeywords();
		amPageType = amPageType.replace(/-/g , "_");
		
		var amSource = mdManager.getSource() ;
		
		var amUniqueId = mdManager.getUniqueId();
		amUniqueId = amUniqueId.replace(/-/g , "_");
		
		if (amSponsorship != "" && amSponsorship != undefined) {
			amSponsorship = amSponsorship.replace(/-/g , "_");
			amSponsorship = amSponsorship.replace(/ /g , "_");
		}

		if (amKeywords !="" && amKeywords != undefined) {
			amKeywords = amKeywords.replace(/,/g , "_");
		}
	
		amSctns = mdManager.getClassification();
		amSctns = amSctns.split(",");
		
		if (amSctns.length > 1) {
			for (var i=0; i < amSctns.length; i++) {
				if (i == (amSctns.length-1)) {
					am.addParameter("sitesection", amSctns[i]);
				} else if (i == (amSctns.length-2)) {
					am.addParameter("category", amSctns[i]);
				} else if (i == (amSctns.length-3)) {
					am.addParameter("vgncontent", amSctns[i]);
				} else {
					am.addParameter("SUBSECTION", amSctns[i]);
				}
			}
		} else {
			var c = mdManager.getClassification();
			am.addParameter("category", c );
		}
		
		if (amPageType == 'SECTION') {
			if (!am.getParameter("vgncontent", " ")) {
				am.addParameter("page", "MAIN");
			}
		}
		var s = mdManager.getSite();
		am.addParameter("site",s );		
		var gsId = mdManager.getSctnId();
		am.addParameter("tile", ranNum +  gsId );		
		am.addParameter("ord", ad_ord);
		am.addParameter("topic", amSponsorship);
		am.addParameter("keywords", amKeywords);
		am.addParameter("pagetype", amPageType);
		am.addParameter("uniqueid", amUniqueId);
		am.addParameter("source", amSource);
		var sId = mdManager.getSctnId();
		am.addParameter("SECTION_ID", sId);
		
	} else {
	
		var amPageType = document.globalPageType;
		var amSponsorship = document.globalPageSponsorship;
		
		amPageType = amPageType.replace(/-/g , "_");
	
		if (amSponsorship != "" && amSponsorship != undefined) {
			amSponsorship = amSponsorship.replace(/-/g , "_");
			amSponsorship = amSponsorship.replace(/ /g , "_");
		}
	
		amSctns = document.globalSctnLineage.split(",");
		if (amSctns.length > 1) {
			for (var i=0; i < amSctns.length; i++) {
				if (i == (amSctns.length-1)) {
					am.addParameter("sitesection", amSctns[i]);
				} else if (i == (amSctns.length-2)) {
					am.addParameter("category", amSctns[i]);
				} else if (i == (amSctns.length-3)) {
					am.addParameter("vgncontent", amSctns[i]);
				} else {
					am.addParameter("SUBSECTION", amSctns[i]);
				}
			}
		} else {
			am.addParameter("category", document.globalSctnLineage);
		}
		
		am.addParameter("site", document.globalPageSite);
		am.addParameter("tile", ranNum + document.globalPageSctnId);
		am.addParameter("ord", ad_ord);
		am.addParameter("topic", amSponsorship);
		am.addParameter("pagetype", amPageType);
		am.addParameter("SECTION_ID", document.PageSctnId);
	}
}

function FineAd(adtype, adsize, pos) {
	var ad = new DartAd();
	
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	if (adtype != '')
	{
		if(pos == 1 && adtype == 'UNSIZED_AD')
			ad.addParameter("adtype", "TOWER");
		else if(pos == 5 && adtype == 'UNSIZED_AD')
			ad.addParameter("adtype", "BIGBOX");		
		else	
			ad.addParameter("adtype", adtype);
	}
	if (adsize != '')
		ad.addParameter("adsize", adsize);
	if (pos != '')
		ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	
	writeAd(ad);
}

function writeAd(ad){
	if (typeof adRestrictionManager != 'undefined') {
		ad.useIframe = adRestrictionManager.isIframe(ad, mdManager);
		if( adRestrictionManager.isActive(ad, mdManager) != false)
			adManager.createAd(ad);
	} else {
		adManager.createAd(ad);
	}	
}

function UnsizedAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
		
	var ad = new DartAd();
	
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	if(pos == 1)
		ad.addParameter("adtype", "TOWER");
	else if(pos == 5)
		ad.addParameter("adtype", "BIGBOX");		
	else
		ad.addParameter("adtype", "UNSIZED_AD");
		
	ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	
	writeAd(ad);
}

function Ad160X600(pos) {
	var ad = new DartAd();
	
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	ad.addParameter("adtype", "TOWER");
	ad.addParameter("PagePos", "1");
	ad.addParameter("adsize", "120x600");
	ad.useFeature("tile");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	
	writeAd(ad);
}

function Ad300X250(pos) {
	var ad = new DartAd();
	
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	ad.addParameter("adtype", "BIGBOX");
	ad.addParameter("PagePos", "5");
	ad.useFeature("tile");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	
	writeAd(ad);
}

function RichMediaAd(adtype, adsize, pos) {	
	var ad = new DartAd();
	
	ad.addParameter("adtype", adtype);
	ad.addParameter("adsize", adsize);
	ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	
	writeAd(ad);
}

function LeaderboardAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	FineAd('LEADERBOARD', '468x60',  pos);
}

function GoogleAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('GOOGLE', '', pos);	
}


// need to figure out vgncontent
function SuperstitialAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	FineAd('SUPERSTITIAL', '', pos);
}

// need to figure out vgncontent
function Ad120X1600(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	FineAd('UNSIZED_AD', '120x600', pos);
}

// need to figure out vgncontent
function Ad120X600(pos) {
	var ad = new DartAd();
	
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	ad.addParameter("adtype", "TOWER");
	ad.addParameter("PagePos", "1");
	ad.addParameter("adsize", "120x600");
	ad.useFeature("tile");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	
	writeAd(ad);
}

// need to figure out vgncontent
function Ad240X400(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('', '240x400', pos);
}

function Ad120X90(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('', '120x90', pos);
}

function Ad120X60(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('', '120x60', pos);
}

function Ad120X240(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('', '120x240', pos);
}

function Ad468X60(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('', '468x60', pos);
}


// need to figure out vgncontent
function TopJobsAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	var ad = new DartAd();
	ad.addParameter("Section","top_jobs");
	ad.addParameter("params.richmedia", "yes");
	ad.addParameter("PagePos", pos);
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	ad.useFeature("tile");
	writeAd(ad);
}

// need to figure out vgncontent
function SearchAd(pos, keywords) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	var ad = new DartAd();
	ad.addParameter("Section","top_jobs");
	ad.addParameter("params.richmedia", "yes");
	ad.addParameter("PagePos", pos);
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	ad.useFeature("tile");
	writeAd(ad);
}


// need to figure out vgncontent
function WDSuperstitialAd(pos, keywords) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
			
	var ad = new DartAd();
	
	ad.setUrl("http://adsremote.scrippsnetworks.com/js.ng/");
	ad.addParameter("adtype", "SUPERSTITIAL");
	ad.addParameter("adsize", "");
	ad.addParameter("PagePos", pos);
	
	var words = keywords.split(" ");
	for(i = 0; i < words.length; i++) {
		ad.addParameter("keyword", words[i]);
	}
	ad.useFeature("tile");
	writeAd(ad);
}

// need to figure out vgncontent
function WDSuperstitialAdAds(keywords) {
	WDSuperstitialAd(1, keywords)
	WDSuperstitialAd(2, keywords)
}

//Video PreRoll & Overlay Ad functions for Maven, Pickle

function MavenAd(adtype, adsize, pos) {
	var ad = new AdUrl();

	ad.setUrl("http://adsremote.scrippsnetworks.com/html.ng/");
	if (adtype != '')
		ad.addParameter("adtype", adtype);
	if (adsize != '')
		ad.addParameter("adsize", adsize);
	if (pos != '')
		ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	writeAd(ad);

   return ad.buildExpandedUrl();
}

// Maven video player Ad Integration
// The video player will make calls to the following javascript functions to 
//    1. Get a Dart ad tag url for PRE_ROLL and OVERLAY ads.
//--Wrapper function which the video player calls to get a preroll ad tag url -->
function getDartEnterpriseUrl(adtype,pos){
   		adtype = adtype.toUpperCase();
   		var strUrl = MavenAd(adtype,'', 1);
   		return strUrl;
}

function setDartEnterpriseBanner(adType, sync_banner) {
			if(document.getElementById("lcBannerDiv") != null){
				var BIGBOX = document.getElementById("lcBannerDiv");
				BIGBOX.innerHTML = "<iframe src='" + sync_banner + "' width='300' height='250' frameborder='0' scrolling='No' marginheight='0' marginwidth='0'>" + "</iframe>";        //write string to lcBannerDiv div
			}
			else if(document.getElementById("BIGBOX") != null){
				var BIGBOX = document.getElementById("BIGBOX");
				BIGBOX.innerHTML = "<iframe src='" + sync_banner + "' width='300' height='250' frameborder='0' scrolling='no' marginheight='0' marginwidth='0'>" + "</iframe>";           //write string to BIGBOX div
			}
			else{
				return;
			}
}

// add ad proc for prestitial ad here
function PrestitialPreAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('PRESTITIAL', '', pos);
}

// add ad proc for prestitial ad here
function PrestitialAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;

	FineAd('ADPAGE', '', pos);
}

// prestitial global static vars
var adPagePath = "/fine/cda/javascript/ad/adpage/0,2806,,00.html";
var preintCookieName = "preinterstitial";
var cookielife = 1;

/* --------------------------------
 *	 Utility Functions
 * --------------------------------*/
function packQS() {
	var qs= "ai='"+ document.globalPageSite +"!"+ document.globalPageSctnName +"!"+ document.globalPageSctnId +"!"+ document.globalPageType +"!"+ document.globalPageSponsorship +"!"+ document.globalSctnLineage +"'";
	
	return qs;
}

function unpackQS() {
	qsArray = window.location.search.split("!");
	
	document.globalPageSite = "FINE"
	document.globalPageSctnName = qsArray[1];
	document.globalPageSctnId = qsArray[2];
	document.globalPageType = qsArray[3];
	document.globalPageSponsorship = qsArray[4];
	document.globalSctnLineage = qsArray[5];
}

function invokePrestitialAd() {
	pa_SetupAd("preinterstitial");
}

//--Cookie expires days function
function pa_expTime(noDays){
    var today = new Date();
    var expr = new Date(today.getTime() + noDays * 24 * 60 * 60 *1000);
	expr.setHours(0);
	expr.setMinutes(0);

    return  expr.toString();
}

//-- Cookie enabled check
function pa_validateAd (){
	var idxresult = document.cookie.indexOf(preintCookieName);
	if (idxresult == -1){
		return 0;
	} else{
		return 1;
	}  
}

//--Checking for existing cookie, setting cookie, calling Cookie enabled check function, 
function pa_SetupAd(pa_cookieName){
    var tko = document.cookie.indexOf(pa_cookieName);
    if (tko == -1){ 
		document.cookie = preintCookieName +"=yes; expires=" + pa_expTime(cookielife);

		if (pa_validateAd())
			window.location=pa_getAdPageURL();
	} 
}	

function pa_getAdPageURL() {
	return adPagePath +"?"+ packQS();
}

