﻿//Bauer Media Limited
//Copyright 2009 Bauer Media Limited
//
//Created 11/06/2009 
//

var google_ad_type = 'text';
var google_feedback = 'on';
var google_ad_client = 'pub-0732974847509699';
var google_ad_output = 'js';
var google_afs_client = 'pub-0732974847509699';
var google_afs_gl = 'uk';


function populatePlacements(ads, feedbackurl)
{
    if (ads.length == 0 || pasContainerSizes == null || pasContainerSizes.length == 0 
        || pasContainerIdPrefix == null || pasContainerIdPrefix == '')
    {
        return;
    }

    var adsUsed = 0;
    var containerIndex = 0;
    var containers = findContainers(pasContainerSizes.length, pasContainerIdPrefix);
    var renderBuffer = '';
    var adBlockTitle = '<p><a class="pasGoogleRef" href="' + feedbackurl + '">Ads by Google</a></p>';
    
    if (containers == null || containers.length == 0)
    {
        return;
    }

    for (index = 0; index < ads.length; index++) 
    {
        if (ads[index].type.indexOf('text') != 0)
        {
            break;
        }
        
        if (pasContainerSizes[containerIndex] == 0)
        {
            if (renderBuffer != '')
            {
                containers[containerIndex].innerHTML += adBlockTitle + renderBuffer;
                renderBuffer = '';
                containers[containerIndex].style.display = '';
            }
            
            containerIndex++;
            if (containerIndex >= pasContainerSizes.length)
            {
                break;
            }
        }

        while (containers[containerIndex] == null)
        {
            containerIndex++;
            if (containerIndex >= pasContainerSizes.length)
            {
                break;
            }
        }

        renderBuffer += renderAd(ads[index]);
        
        pasContainerSizes[containerIndex]--;
    }

    if (renderBuffer != '' && containerIndex < pasContainerSizes.length && pasContainerSizes[containerIndex] != null)
    {
        containers[containerIndex].innerHTML += adBlockTitle + renderBuffer;
        renderBuffer = '';
        containers[containerIndex].style.display = '';
    }       
    
}

function google_ad_request_done(ads) 
{
    populatePlacements(ads, google_info.feedback_url);
}

function google_afs_request_done(ads) 
{
    populatePlacements(ads, 'https://www.google.com/adsense/support/bin/request.py?contact=afs_violation');
}

function checkContainers(placementArray, elementPrefix)
{
    var adTotal = 0;

    if (placementArray != null)
    {
        for (index = 0; index < placementArray.length; index++)
        {
            var elementName = elementPrefix + (index + 1);
            
            var containerElement = document.getElementById(elementName);

            if (containerElement != null)
            {
                adTotal += placementArray[index];
            }
        }
    }
    
    return adTotal;
}

function findContainers(containerCount, prefix)
{
    var containers = [];
    
    if (containerCount > 0)
    {
        for (instance = 1; instance <= containerCount; instance++)
        {
            var element = document.getElementById(prefix + instance);

            containers[instance - 1] = element;
        }
    }

    return containers;    
}

function renderAd(adObject)
{
    var snippet = '';
    
    if (adObject != null)
    {
        snippet += '<h5 class="pasAdTitle"><a href="' + adObject.url + '" onMouseOut="javascript:window.status=\'\';return true;" onMouseOver="javascript:window.status=\'go to ' + adObject.visible_url + '\';return true;">';
        snippet += adObject.line1 + '</a></h5>';
        snippet += '<span class="pasAdLines">';
       
        if (adObject.line2 != null) 
        {
            snippet += adObject.line2 + '&nbsp;';
        }
        
        if (adObject.line3 != null) 
        {
            snippet += adObject.line3;
        }
        
        snippet += '</span>';
        snippet += '<p class="pasAdUrl"><a href="' + adObject.url + '" onMouseOut="javascript:window.status=\'\';return true;" onMouseOver="javascript:window.status=\'go to ' + adObject.visible_url + '\';return true;">';
        snippet += stringSplit(adObject.visible_url) + '</a></p>';
    }

    return snippet;
}

function stringSplit(str) 
{
    var splitPoint = 20;

    if (str == null || str == '' || str.length <= splitPoint) 
    {
        return str;
    }
    
    var result = '';

    for (var charIndex = splitPoint; charIndex >= 15; charIndex--) 
    {
        var currentChar = str.charAt(charIndex);

        if (currentChar == '-' || currentChar == '.' || currentChar == '/') 
        {
            result = str.substring(0, charIndex) + ' ' + str.substring(charIndex);
            break;
        }
    }

    if (result == '') 
    {
        result = str.substring(0, splitPoint) + ' ' + str.substring(splitPoint);
    }

    return result;
}
