// define debug
document.debug = 0;
document.deferAds = 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 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);
		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);
		}
		
		if (amPageType == 'SECTION') {
			if (!am.getParameter("vgncontent", " ")) {
				am.addParameter("page", "MAIN");
			}
		}
	
		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 HgtvAd(adtype, adsize, pos, defer, style) {
	var ad = new DartAdvanceAd();
	
	if (adtype != '')
	{
		  if(adtype== 'UNSIZED_AD' && pos == 1)
		   	 ad.addParameter("adtype", "TOWER");	
		  else if (adtype== 'UNSIZED_AD' && pos == 5)  
		      ad.addParameter("adtype", "BIGBOX");			
		  else 
		     ad.addParameter("adtype", adtype );			
	}		 
    
	if(pos != '')
		ad.addParameter("PagePos", pos);	   
	if (adsize != '')
		ad.addParameter("adsize", adsize);
	if (defer == 1)
		ad.deferrable = 1;
	if (style != '')
		ad.adClass = style;
	
	ad.useFeature("tile");

	if (typeof adRestrictionManager != 'undefined') {
		var size = adsize.split('x');
		ad.width = size[1];
		ad.height = size[0];
	}
	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 RichMediaAd(adtype, adsize, pos) {	
	var ad = new DartAdvanceAd();
	
	ad.addParameter("adtype", adtype);
	ad.addParameter("adsize", adsize);
	ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	ad.adClass = 'RichMediaAd'
	writeAd(ad);
}

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

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

	HgtvAd('GOOGLE', '', pos, 1, 'GoogleAd');	
}


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

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

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

	HgtvAd('', '240x400', pos, 1,'Ad120X90');
}

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

	HgtvAd('', '120x90', pos, 1, 'Ad120X90');
}

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

	HgtvAd('', '120x60', pos, 1,'Ad120X60');
}

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

	HgtvAd('', '120x240', pos, 1, 'Ad120X240');
}

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

	HgtvAd('', '468x60', pos, 1, 'Ad468X60');
}


function UnsizedAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
		
	var ad = new DartAdvanceAd();
	
	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");
	ad.adClass = 'UnsizedAd'
	writeAd(ad);
}

function Ad120X600(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
		
	var ad = new DartAdvanceAd();
	
	ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	ad.addParameter("adsize", "120x600");
	ad.addParameter("adtype", "TOWER");
	ad.width = 120;
	ad.height = 600;
	ad.adClass = 'Ad120x600'	
	writeAd(ad);
}

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

	HgtvAd('TOWER', '160x600', pos, '', 'Ad160X600');
}


function Ad300X250(pos) {
	var ad = new DartAdvanceAd();
	
	ad.addParameter("adtype", "BIGBOX");
	ad.addParameter("PagePos", "5");
	ad.useFeature("tile");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	ad.width = 300;
	ad.height = 250;
	ad.adClass = "Ad300x250";
	writeAd(ad);
}

// need to figure out vgncontent
function TopJobsAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	var ad = new DartAdvanceAd();
	ad.addParameter("Section","top_jobs");
	ad.addParameter("params.richmedia", "yes");
	ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	writeAd(ad);
}

// need to figure out vgncontent
function SearchAd(pos, keywords) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
	
	var ad = new DartAdvanceAd();
	ad.addParameter("Section","top_jobs");
	ad.addParameter("params.richmedia", "yes");
	ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	ad.adClass = 'SearchAd'
	writeAd(ad);
}


// need to figure out vgncontent
function WDSuperstitialAd(pos, keywords) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
			
	var ad = new DartAdvanceAd();
	
	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");
	ad.adClass = 'WDSuperstitialAds'
	writeAd(ad);
}

// need to figure out vgncontent
function WDSiteSearchAd(pos, keywords) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
			
	var ad = new DartAdvanceAd();
	

	ad.addParameter("adtype", "SITE_SEARCH");
	ad.addParameter("adsize", "");
	ad.addParameter("PagePos", pos);
	
	var words = keywords.split(" ");
	for(i = 0; i < words.length; i++) {
		ad.addParameter("keyword", words[i]);
	}
	ad.adClass = 'WDSiteSearchAd'
	ad.useFeature("tile");
	writeAd(ad);
}
// need to figure out vgncontent
function WDUnsizedAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
			
	var ad = new DartAdvanceAd();
	
	ad.addParameter("adtype", "UNSIZED_AD");
	ad.addParameter("adsize", "");
	ad.addParameter("PagePos", pos);	
	ad.useFeature("tile");
	ad.adClass = 'WDUnsizedAd'
	writeAd(ad);
}

// need to figure out vgncontent
function WDUnsizedAdWithParamsStyles(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
			
	var ad = new DartAdvanceAd();

	ad.addParameter("adtype", "UNSIZED_AD");
	ad.addParameter("adsize", "");
	ad.addParameter("Params.styles", "img_sponsor,html_sponsor");
	ad.addParameter("PagePos", pos);	
	ad.useFeature("tile");
	ad.adClass = 'WDUnsizedAdWithParamsStyles'
	writeAd(ad);
}
// need to figure out vgncontent
function WDUnsizedProductAd(pos) {
	if(pos < 0 || pos == undefined) 
		pos = 1;
			
	var ad = new DartAdvanceAd();
	
	ad.addParameter("adtype", "UNSIZED_AD_PRODUCT");
	ad.addParameter("adsize", "");
	ad.addParameter("PagePos", pos);	
	ad.useFeature("tile");
	ad.adClass = 'WDUnsizedProductAd'
	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();
	
	if(scrippsEnvironment == 'STAGING')
		ad.setUrl("http://devadsremote.scripps.com/html.ng/");	
	else
		ad.setUrl("http://adsremote.scripps.com/html.ng/");
	if (adtype != '')
		ad.addParameter("adtype", adtype);
	if (adsize != '')
		ad.addParameter("adsize", adsize);
	if (pos != '')
		ad.addParameter("PagePos", pos);
	ad.useFeature("tile");
	adManager.createAd(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;

	HgtvAd('PRESTITIAL', '', pos, 0,'PrestitialPreAd');
}

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

	HgtvAd('ADPAGE', '', pos, 0, 'PrestitialAd');
}


// prestitial global static vars
var adPagePath = "/hgtv/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 = "HGTV"
	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();
}

