MediaSmart = new Object();
MediaSmart.Utilities = new Object();
MediaSmart.ads = new Array();



MediaSmart.site = "TEL.$1.SPORT";
MediaSmart.areaPattern = "SPORT.$1.$2";
MediaSmart.subSite = "AFL_HOME";
MediaSmart.subArea = "OTHER";



//Are ads polite loaded? Default is true
MediaSmart.Utilities.polite = true;
//Above and Below the fold targeting. Default is false
MediaSmart.Utilities.aboveBelowFold = true;
MediaSmart.Utilities.remarketing = true;


MediaSmart.Utilities.initialise = function(){
    if (arguments.length > 0) {
        var zmsJson = arguments[0];
        if (zmsJson.area != "" && typeof(zmsJson.area) == "string") {
            var zmsString = MediaSmart.Utilities.makeURLSafe(zmsJson.area);
if (zmsString.toUpperCase() == "MORE")
{zmsString = "CLUB_PLAYERS";}
           	MediaSmart.subArea = zmsString.toUpperCase();
        }
        if (zmsJson.site != ""&& typeof(zmsJson.site) == "string") {
            var zmsString = MediaSmart.Utilities.makeURLSafe(zmsJson.site);
if (zmsString.toUpperCase() == "POWER")
{zmsString = "PORTPOWER";}
            MediaSmart.subSite = zmsString.toUpperCase();
        }
		if(zmsJson.tags != null){
			MediaSmart.tags = zmsJson.tags;
		}
    }

    
    MediaSmart.full_subSite = "AFL_"+MediaSmart.subSite+"FC_HOME";
    
	//generate area
	MediaSmart.site = MediaSmart.site.replace(/\$1/g,MediaSmart.full_subSite);
	MediaSmart.area = MediaSmart.areaPattern.replace(/\$1/g,MediaSmart.full_subSite);
	MediaSmart.area = MediaSmart.area.replace(/\$2/g,MediaSmart.subArea);


    MediaSmart.pageId = MediaSmart.Utilities.random();
    if ((document.location + "").indexOf("https://") != -1){
        MediaSmart.domain = "https://media.sensis.com.au";
		MediaSmart.protocol = "https";
		MediaSmart.Utilities.remarketing = false;
	}else{
	    MediaSmart.domain = "http://media.sensis.com.au";
		MediaSmart.protocol = "http";
	}

    if ((document.location + "").indexOf("MSTOOTHPASTE") != -1) {
        MediaSmart.keyword = "MSTOOTHPASTE";
    }
    if ((document.location + "").indexOf("zmstestingenvironment375") != -1) {
		MediaSmart.site = "Z_ZORRO";
		MediaSmart.area = "MOB.TEST.DEMO";
    }
    
    MediaSmart.subSite = MediaSmart.subSite.toLowerCase();
    adv_decider = (Math.floor(Math.random() * 100));
    switch (MediaSmart.subSite){
		case "crows":
			MediaSmart.mask = "/AAMCM=4000e02";
            if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2953";
            }
			break;
		case "lions":
			MediaSmart.mask = "/AAMCM=244000004";
            if (adv_decider < 25) {
            	MediaSmart.mask = MediaSmart.mask + "/ADVID=1796";
            }
            else if (adv_decider < 50) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2553";
            }
            else if (adv_decider < 75) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2763";
            }
            else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=424";
            }
			break;
		case "blues":
			MediaSmart.mask = "/AAMCM=00000e004";
            if (adv_decider < 50) {
            	MediaSmart.mask = MediaSmart.mask + "/ADVID=1696";
            }
            else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=1811";
            }
			break;
		case "magpies":
			MediaSmart.mask = "/AAMCM=400000109";
            if (adv_decider <= 33) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2618";
            }
            else if (adv_decider <= 66) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=223";
            }
            else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2552";
            }
			break;
		case "dockers":
			MediaSmart.mask = "/AAMCM=00400010080";
            if (adv_decider <= 33) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2710";
            }
            else if (adv_decider <= 66) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2703";
            }
            else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2854";
            }
			break;
		case "cats":
			MediaSmart.mask = "/AAMCM=00000W10W";
            if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=1676";
            }
			break;
		case "hawks":
			MediaSmart.mask = "/AAMCM=00020W";
            if (adv_decider <= 33) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2961";
            }
            else if (adv_decider <= 66) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=1777";
            }
            else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2660";
            }
			break;
		case "kangaroos":
			MediaSmart.mask = "/AAMCM=00000W104";
            if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2703";
            }
			break;
		case "demons":
			MediaSmart.mask = "/AAMCM=00000W104";
            if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2687";
            }
			break;
		case "tigers":   
			MediaSmart.mask = "/AAMCM=G0000W0008";
			break;
		case "saints":
			MediaSmart.mask = "/AAMCM=0000G000K01";
            if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=1796";
            }
			break;
		case "swans":
			MediaSmart.mask = "/AAMCM=20000W104";
		    if (adv_decider <= 33) {
		        MediaSmart.mask = MediaSmart.mask + "/ADVID=1696";
		    }
		    else if (adv_decider <= 66) {
	            MediaSmart.mask = MediaSmart.mask + "/ADVID=1676";
	        }
	        else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2961";
            }
			break;
		case "portpower":
			MediaSmart.mask = "/AAMCM=0W000W004";
            if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=1796";
            }
			break;
		case "bulldogs":
			MediaSmart.mask = "/AAMCM=00040000m";
			break;
		case "eagles":
			MediaSmart.mask = "/AAMCM=20000W014";
            if (adv_decider <= 25) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=1796";
            }
            else if (adv_decider <= 50) {
	            MediaSmart.mask = MediaSmart.mask + "/ADVID=2961";
	        }
	        else if (adv_decider <= 75) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2013";
            }
            else if (adv_decider <= 100) {
                MediaSmart.mask = MediaSmart.mask + "/ADVID=2931";
            }
			break;
    }
    
    
}

MediaSmart.newAd = function(json){
    if(json.width === 176 && json.height === 76)
	{
		    json.polite = false; 
		    json.abf = false;
	}
	if(MediaSmart.Utilities.aboveBelowFold == false){
		json.abf = 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>");
    }
}


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 (MediaSmart.Utilities.remarketing == true && ((ad.width == 300 && ad.height == 250) || (ad.width == 728 && ad.height == 90) || ((ad.width == 160 || ad.width == 120)&& ad.height == 600)))
         	adCallString += "src='http://ad.sensismediasmart.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();
    }

    // Club Sponsorship	---------------------------------------------------------------------------------
			
	if (MediaSmart.subSite.indexOf("crows") != -1 || MediaSmart.subSite.indexOf("blues") != -1 || MediaSmart.subSite.indexOf("magpies") != -1 || MediaSmart.subSite.indexOf("dockers") != -1 || MediaSmart.subSite.indexOf("cats") != -1 || MediaSmart.subSite.indexOf("hawks") != -1 || MediaSmart.subSite.indexOf("kangaroos") != -1 || MediaSmart.subSite.indexOf("tigers") != -1 || MediaSmart.subSite.indexOf("saints") != -1 || MediaSmart.subSite.indexOf("swans") != -1 || MediaSmart.subSite.indexOf("eagles") != -1 || MediaSmart.subSite.indexOf("bulldogs") != -1) {
		MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPONSORSHIP";
		//if (MediaSmart.area.indexOf("HOME.HOME") != -1 && (ad.width == 728 && ad.height == 90) && ad.position == 1){
		//	MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPORT";
		//}
	} 
	else if(MediaSmart.subSite.indexOf("lions") != -1 || MediaSmart.subSite.indexOf("demons") != -1 || MediaSmart.subSite.indexOf("portpower") != -1){
		MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPONSORSHIP";
		//if (MediaSmart.area.indexOf("HOME.HOME") != -1 && (ad.width == 728 && ad.height == 90) && ad.position == 1){
		//	MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPORT";
		//}
		if (ad.width == 300 && ad.height == 250 && ad.position == 1){
			if (Math.floor(Math.random() * 100) < 50)
				MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPORT";
			else
				MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPONSORSHIP";
		}
	}
    
	//Extra xatch all to make sure top leader is always .SPONSORSHIP
	
	if (ad.width == 728 && ad.height == 90 && ad.position == 2){
		MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPONSORSHIP";
	}
	
	// END Club Sponsorship
	// --------------------------------------------------------------------------------------------------
	
	if (ad.width == 176 && ad.height == 76)
				MediaSmart.site = "TEL." + MediaSmart.full_subSite + ".SPORT";

	
    if (MediaSmart.site.indexOf("SPONSORSHIP") == -1 && typeof(MediaSmart.mask) != "undefined" && MediaSmart.area.indexOf("AAMCM") == -1) 
    	MediaSmart.area = MediaSmart.area + MediaSmart.mask;   
    	
    if (ad.site != "" && typeof(ad.site) != "undefined")
        adCallString += "/SITE=" + ad.site;
    else
        adCallString += "/SITE=" + MediaSmart.site;
    adCallString += "/AAMSZ=" + ad.width + "x" + ad.height;

    if (ad.area != "" && typeof(ad.area) != "undefined")
        adCallString += "/AREA=" + ad.area;
    else
        adCallString += "/AREA=" + MediaSmart.area;
    if (ad.position != "" && typeof(ad.position) != "undefined") {
        adCallString += "/POSITION=";
        if (ad.abf != false) {
            if (MediaSmart.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, "_");

    for (key in MediaSmart.tags) {
        if (typeof(ad.tags[key]) == "undefined") {
            if (MediaSmart.tags[key] != "")
                adCallString += "/" + MediaSmart.Utilities.makeURLSafe(key.toUpperCase()) + "=" + MediaSmart.Utilities.makeURLSafe(MediaSmart.tags[key].toUpperCase());
        }
    }

    adCallString += "/pageid=" + MediaSmart.pageId;
    if (polite)
        adCallString += "'></iframe>\n";
    else
        adCallString += "'></script>\n";

    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(){
	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.clientHeight){
		MediaSmart.innerHeight = document.body.clientHeight;
	}

    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;
        }
        document.getElementById("zMSplacement" + (i + 1)).innerHTML = MediaSmart.Utilities.generateAdCall(MediaSmart.ads[i]);
    }
}


MediaSmart.Utilities.makeURLSafe = function(text){
    text = text.replace(/ |-|<|>|\/|\?|\+/g, "_");
	text = text.replace(/\&AMP\;/g, "AND");
    text = text.replace(/&/g, "AND");
    text = text.replace(/_+/g, "_");
    text = text.replace(/^_|_$/g, "");
    return text;
}

