MediaSmart = new Object();
MediaSmart.Utilities = new Object;
MediaSmart.ads = new Array();

MediaSmart.site = "TEL.BIGPOND.SPORT";//Insert site here
MediaSmart.areaPattern = "SPORT.BIGPOND.$.SPORT";//Insert area pattern here
MediaSmart.subArea = "OTHER"; //Default area
//Are ads polite loaded? Default is true
MediaSmart.Utilities.polite = true;
//Above and Below the fold targeting. Default is false
MediaSmart.Utilities.aboveBelowFold = true;

addedAd = false;
mstoothpastefix = false;

MediaSmart.Utilities.initialise = function(){
    if (arguments.length > 0) {
        var zmsJson = arguments[0];
        if (zmsJson.area != "" && typeof(zmsJson.area) == "string") {           
            var zmsString = zmsJson.area;
                MediaSmart.subArea = zmsString.toUpperCase();
                    
        }
        if (zmsJson.site != ""&& typeof(zmsJson.site) == "string") {
            var zmsString = zmsJson.site;
            MediaSmart.site = zmsString.toUpperCase();
        }
    }
        
        var tmpStringArray = new Array();
        tmpStringArray = MediaSmart.areaPattern.split("$");
        var zmsOutput = "";
        for(var i = 0; i < tmpStringArray.length - 1; i++) {
                zmsOutput += tmpStringArray[i] + MediaSmart.subArea;
        }
        zmsOutput += tmpStringArray[tmpStringArray.length - 1];
        MediaSmart.area = zmsOutput;
    
    
    MediaSmart.pageId = MediaSmart.Utilities.random();
    if ((document.location + "").indexOf("https://") != -1){
        MediaSmart.domain = "https://media.sensis.com.au";
                MediaSmart.protocol = "https";          
        }else{
            MediaSmart.domain = "http://media.sensis.com.au";
                MediaSmart.protocol = "http";   
        } 
        
        
        //Check if site is BP Horse Racing
        if ((document.location + "").indexOf("horseracing.bigpondsport.com") != -1 || (document.location + "").indexOf(".racingnetwork.com.au/") != -1){
                MediaSmart.site = "TEL.BIGPOND.SPORT.HORSERACING";
                
                if ((document.location + "").indexOf("atestnews/") != -1) {
                        MediaSmart.area = "SPORT.BIGPOND.HORSERACING.NEWS.SPORT";
                }
                if ((document.location + "").indexOf("odaysracing/") != -1) {
                        MediaSmart.area = "SPORT.BIGPOND.HORSERACING.TODAYSRACING.SPORT";
                }
                if ((document.location + "").indexOf("ivevideoreplays/") != -1) {
                        MediaSmart.area = "SPORT.BIGPOND.HORSERACING.VIDEO.SPORT";
                }
                if ( (document.location + "")=="http://horseracing.bigpondsport.com/" || (document.location + "")=="http://horseracing.bigpondsport.com/?ref=Net-Head-Sport-Horse") {
                        MediaSmart.area = "SPORT.BIGPOND.HORSERACING.HOME.SPORT";
                }
                if ((document.location + "").indexOf(".racingnetwork.com.au/") != -1) {
                        MediaSmart.area = "SPORT.BIGPOND.HORSERACING." +  MediaSmart.subArea;
                }
                
        }

		if (MediaSmart.area=="SPORT.BIGPOND.THE LOWDOWN.SPORT"||MediaSmart.area=="SPORT.BIGPOND.THE%20LOWDOWN.SPORT"){
		MediaSmart.area ="SPORT.BIGPOND.THE_LOWDOWN.SPORT"
		}
		
		
    

    if ((document.location + "").indexOf("MSTOOTHPASTE") != -1) {
        MediaSmart.keyword = "MSTOOTHPASTE";
    }
    if ((document.location + "").indexOf("zmstestingenvironment375") != -1) {
                MediaSmart.site = "Z_ZORRO";
                MediaSmart.area = "MOB.TEST.DEMO";
    }
        if ((document.location + "").indexOf("Motorsport/FormulaOne/") != -1) {
        MediaSmart.area = "SPORT.BIGPOND.FORMULAONE.SPORT";
    }

        if((document.location + "").indexOf("/newsid/") != -1){
                if(typeof(MediaSmart.keyword) != "undefined" && MediaSmart.keyword != ""){
                        MediaSmart.keyword += "+ARTICLE";
                }else{
                        MediaSmart.keyword = "ARTICLE";
                }
        }

        if((document.location + "").indexOf("Motorsport/tabid/80/Default.aspx") != -1){
                if(typeof(MediaSmart.keyword) != "undefined" && MediaSmart.keyword != ""){
                        MediaSmart.keyword += "+MOTORSPORT";
                }else{
                        MediaSmart.keyword = "MOTORSPORT";
                }
        }

}


MediaSmart.newAd = function(json){
        if(MediaSmart.Utilities.aboveBelowFold == false){
                json.abf = false;
        }
	if (json.width == "215" && json.height== "34"){
		json.polite = false;
	} 

        if (json.width == "300" && json.height== "70"){
                json.polite = false;
                json.abf = false;
                if (json.position =="bppromo1"){
                        json.site = "TEL.BPPROMO.SPORT";
                        json.position = 1;
                }
                if (json.position =="bppromo2"){
                        json.site = "TEL.BPPROMO.SPORT";
                        json.position = 2;
                }
        }
        if((json.width == 300 && json.height == 250)){
                var politeDecider = (Math.floor(Math.random()*100));
                var expandPercent = 0;
                if(politeDecider < expandPercent){
                        json.polite = false;
                }
        }
/*
	if (json.height == 90 && json.width == 728 && json.position == 1 &&MediaSmart.area.indexOf("TENNIS")!=-1) {
		MediaSmart.newAd({
			width: 4,
			height: 1,
			iframeHeight: 0,
			iframeWidth: 0,
			id: "hidden"
		});
}*/

    if ((typeof(json.polite) != "undefined" && json.polite == false) || MediaSmart.Utilities.polite == false) {
        document.write(MediaSmart.Utilities.generateAdCall(json));
    }
    else {
        MediaSmart.ads[MediaSmart.ads.length] = json;
        document.write("<div id='zMSplacement" + MediaSmart.ads.length + "' style='width:" + json.width + "px; height:" + json.height + "px;'></div>");
    }
}


MediaSmart.Utilities.random = function(){
    return Math.round(Math.abs(Math.sin((new Date()).getTime())) * 1000000000000);
}

MediaSmart.setRefresh = function(time){
    if (time > 0) {
        setInterval("MediaSmart.Utilities.refreshAd()", (time * 1000));
    }
}

MediaSmart.Utilities.generateAdCall = function(ad){
    if (typeof(ad.cmd) == "function") 
        ad.cmd();
    if (typeof(ad.tags) == "undefined") 
        ad.tags = new Array();

    var polite = true;
    if ((typeof(ad.polite) != "undefined" && ad.polite == false) || MediaSmart.Utilities.polite == false) 
        polite = false;
    
    if (polite) {
        adCallString = "<iframe scrolling='no' allowtransparency='yes' frameborder='0' marginheight='0' marginwidth='0' vspace='0' ";
        
        if (ad.iframeHeight != "" && typeof(ad.iframeHeight) != "undefined") 
            adCallString += "height='" + ad.iframeHeight + "' ";
        else 
            adCallString += "height='" + ad.height + "' ";
        if (ad.iframeWidth != "" && typeof(ad.iframeWidth) != "undefined") 
            adCallString += "width='" + ad.iframeWidth + "' ";
        else 
            adCallString += "width='" + ad.width + "' ";
                        // redirect to cookiefix for islands leaderboard and skys
        if ((ad.width == 300 && ad.height == 250) || (ad.width == 728 && ad.height == 90) || ((ad.width == 160 || ad.width == 120)&& ad.height == 600))
                adCallString += "src='" + MediaSmart.protocol + "://medrx.sensis.com.au/images/sensis/cookieFix.html?acc_random=" + MediaSmart.Utilities.random();
                else
                adCallString += "src='" + MediaSmart.domain + "/hserver/acc_random=" + MediaSmart.Utilities.random();
    }
    else {
        adCallString = "<scr" + "ipt src='" + MediaSmart.domain + "/jserver/acc_random=" + MediaSmart.Utilities.random();
    }
    
    if (ad.site != "" && typeof(ad.site) != "undefined") 
        adCallString += "/SITE=" + ad.site;
    else 
        adCallString += "/SITE=" + MediaSmart.site;
    if (ad.area != "" && typeof(ad.area) != "undefined") 
        adCallString += "/AREA=" + ad.area;
    else 
        adCallString += "/AREA=" + MediaSmart.area;
    adCallString += "/AAMSZ=" + ad.width + "x" + ad.height;
    if (ad.position != "" && typeof(ad.position) != "undefined") {
        adCallString += "/POSITION=";
                if (ad.width == 300 && ad.height == 250) {
                if (ad.top == MediaSmart.firstIslandTop){
                        if ((document.location + "").indexOf("LiveStreaming") != -1)
                                ad.position = 3;
                        else
                        ad.position = 1;
                }else{
                        ad.position = 2;
                }
        }
        if (ad.abf != false && ad.polite != false) {
            if (window.innerHeight - ad.top - 90 > 0 || typeof(ad.top) == "undefined") {
                adCallString += "ABV";
            }
            else {
                adCallString += "BLW";
            }
        }
        adCallString += ad.position;
    }
    
    if (ad.keyword != "" && typeof(ad.keyword) != "undefined") 
        adCallString += "/KEYWORD=" + ad.keyword.toUpperCase().replace(/\s+|\//g, "_");
    else 
        if (MediaSmart.keyword != "" && typeof(MediaSmart.keyword) != "undefined") 
            adCallString += "/KEYWORD=" + MediaSmart.keyword.toUpperCase().replace(/\s+|\//g, "_");
    
        if(!polite){
                if(adCallString.indexOf("/KEYWORD=") != -1)
                        adCallString += "+EXPANDABLE";
                else
                        adCallString += "/KEYWORD=EXPANDABLE";
        }       
    for (key in MediaSmart.tags) {
        if (typeof(ad.tags[key]) == "undefined") {
            if (MediaSmart.tags[key] != "") 
                adCallString += "/" + key.toUpperCase().replace(/\s+|\//g, "_") + "=" + MediaSmart.tags[key].toUpperCase().replace(/\s+|\//g, "_");
        }
    }
        
        if((document.location + "").indexOf("MSTOOTHPASTE") != -1 ){
                adCallString += (document.location + "").slice((document.location + "").lastIndexOf("MSTOOTHPASTE")+12);
        }

    adCallString += "/pageid=" + MediaSmart.pageId;
    if (polite) 
        adCallString += "'></iframe>\n";
    else 
        adCallString += "'></script>\n";
    
/*
        // Add 1x1
        if( ad.width==4 && ad.height==1 && MediaSmart.site != "TEL.BIGPOND.SPORT.HORSERACING"){
                ad.width = 1;
                ad.height = 1;
                ad.iframeWidth = 1;
                ad.iframeHeight = 1;
                return adCallString + MediaSmart.Utilities.generateAdCall(ad);  
        } 
        else if( addedAd == false && ((document.location+"").indexOf("http://www.bigpondsport.com/AFL/tabid/72/Default.aspx")!=-1 || (document.location+"").indexOf("http://www.bigpondsport.com/NRL/tabid/73/Default.aspx")!=-1 )) {
                addedAd = true;
                ad.width = 4;
                ad.height = 1;
                ad.iframeWidth = 1;
                ad.iframeHeight = 1;
                return adCallString + MediaSmart.Utilities.generateAdCall(ad);  
        }
    else*/
                return adCallString;
}

MediaSmart.insertAd = function(ad, elementId){
    var element = "";
    if (typeof(ad) == "string") {
        ad = MediaSmart.getAdById(ad);
        if (ad) {
            if (elementId == "" || typeof(elementId) == "undefined") {
                if (document.getElementById("zMSplacement" + MediaSmart.Utilities.adIndex) != null) 
                    element = document.getElementById("zMSplacement" + MediaSmart.Utilities.adIndex);
                else 
                    element = document.getElementById(ad.containerId);
            }
            else {
                if (document.getElementById(elementId)) 
                    element = document.getElementById(elementId);
            }
            
            element.innerHTML = MediaSmart.Utilities.generateAdCall(ad);
        }
    }
    else {
        if (typeof(ad) == "object") {
            if (typeof(ad.length) === 'number' && !(ad.propertyIsEnumerable('length')) && typeof ad.splice === 'function') {
                for (i = 0; i < ad.length; i++) {
                    if (document.getElementById(ad[i].containerId)) 
                        document.getElementById(ad[i].containerId).innerHTML = MediaSmart.Utilities.generateAdCall(ad[i]);
                }
            }
            else 
                document.getElementById(ad.containerId).innerHTML = MediaSmart.Utilities.generateAdCall(ad);
        }
    }
}

MediaSmart.getAdById = function(id){
    for (i = 0; i < MediaSmart.ads.length; i++) {
        if (MediaSmart.ads[i].id == id) {
            MediaSmart.Utilities.adIndex = i;
            return MediaSmart.ads[i];
        }
    }
    return false;
}
MediaSmart.Utilities.refreshAd = function(){
    MediaSmart.insertAd(MediaSmart.ads);
}

MediaSmart.insertAllAds = function(){
        if (((document.location + "").indexOf("sdmtestid") != -1)) {var fileref=document.createElement('script');fileref.setAttribute("type","text/javascript");fileref.setAttribute("src", "https://media.sensis.com.au/images/houseads_sensis/sdm_testsite.js");document.getElementsByTagName("head")[0].appendChild(fileref);}else{

                //overflow fix test
        zmsBrowser = navigator.appName + "";
        if (document.getElementById("dnn_rightcontent") != null && zmsBrowser == "Netscape") {
            document.getElementById("dnn_rightcontent").style.overflow = "visible";
        }
                if (document.getElementById("dnn_RightColumn") != null && zmsBrowser == "Netscape") {
            document.getElementById("dnn_RightColumn").style.overflow = "visible";
        }
        
        
        
        
        
        zmsCount = 0;
        if(arguments.length > 0){
                zmsCount = arguments[0];
        }
        
        if(typeof(window.innerWidth) == 'number')
        {
                MediaSmart.innerHeight = window.innerHeight;
        }else if(document.documentElement && document.documentElement.clientHeight){
                MediaSmart.innerHeight = document.documentElement.clientHeight;
        }else if(document.body && document.body.clienvvtHeight){
                MediaSmart.innerHeight = document.body.clientHeight;
        }
        
        MediaSmart.firstIslandTop = 10000000;
        
    for (i = zmsCount; i < MediaSmart.ads.length; i++) {
        element = document.getElementById("zMSplacement" + (i + 1));
        MediaSmart.ads[i].top = element.offsetTop;
        while (element = element.offsetParent) {
            MediaSmart.ads[i].top += element.offsetTop;
        }
                 if(MediaSmart.ads[i].width == 300 && MediaSmart.ads[i].height == 250 && MediaSmart.ads[i].top < MediaSmart.firstIslandTop){
                MediaSmart.firstIslandTop = MediaSmart.ads[i].top;
        }
        }       
         for (i = zmsCount; i < MediaSmart.ads.length; i++) {

        document.getElementById("zMSplacement" + (i + 1)).innerHTML = MediaSmart.Utilities.generateAdCall(MediaSmart.ads[i]);
    }  
}
}

//Only add for Bigpond Sites
MediaSmart.bigpondPromotions = new Object();
MediaSmart.bigpondPromotions.newAd = function(json){
    json.site = MediaSmart.site.replace(/BIGPOND/i, "BPPROMO");
    json.abf = false;
        json.polite = false;
    if ((typeof(json.polite) != "undefined" && json.polite == false) || MediaSmart.Utilities.polite == false) {
        document.write(MediaSmart.Utilities.generateAdCall(json));
    }
    else {
        MediaSmart.ads[MediaSmart.ads.length] = json;
        document.write("<div id='zMSplacement" + MediaSmart.ads.length + "' style='width:" + json.width + "px; height:" + json.height + "px;'></div>");
    }
}



document.write('<scr'+'ipt type="text/javascript" src="http://media.sensis.com.au/jserver/acc_random='+MediaSmart.Utilities.random()+'/PAGEID='+MediaSmart.Utilities.random()+'/AAMSZ=IADVIDEO/SITE=Z_ZORRO/KEYWORD=SETGUID"></scr'+'ipt>');



