var TV2 = TV2 || {};
TV2.getSiteUrlMap = TV2.getSiteUrlMap || {};

TV2.getSiteMapUrl = function(site, value) {
    TV2.getSiteUrlMap[site] = value;
    return value;
}

TV2.getSite = function(site, context) {
    if (TV2.getSiteUrlMap[site]) {
        return TV2.getSiteUrlMap[site];
    }
    return site + (context ? '.' + context : '') + '.tv2.dk';
}
TV2.getDynSite = function(site, context) {
    if (TV2.getSiteUrlMap[site]) {
        return TV2.getSiteUrlMap[site];
    }
	    return site + '-dyn' + (context ? '.' + context : '') + '.tv2.dk';
	}

function TV2_BrowserDetector() {
    this.name=navigator.appName+" "+navigator.appVersion;
    this.ver=navigator.appVersion.substring(0,1);
    this.ua=navigator.userAgent;
    this.isPhoe=(this.ua.indexOf('Phoenix')>-1);
    this.isNS=(!this.isPhoe&&(this.name.indexOf('Netscape')>-1));
    this.isNS4=!!document.layers;
    this.isGecko=(this.ua.indexOf('Gecko')>-1);
    this.isKHTML=(this.ua.indexOf('KHTML')>-1);
    this.isOpera=(this.ua.indexOf('Opera')>-1);
    this.isIE=(this.name.indexOf('MSIE')>-1 && !this.isOpera);
    this.IEVer=(this.isIE?parseFloat(this.ua.substr(this.ua.indexOf('MSIE')+5,3)):"na");
    this.isIE6=(this.isIE && this.IEVer>=6);
    if (this.isIE) this.ver=this.IEVer;
    this.isKonq=(this.ua.indexOf('Konqueror')>-1);    
    this.onWin=(this.ua.indexOf('Windows')>-1 ? true : (this.ua.indexOf('WinNT')>-1));
    this.onWinCE=(this.name.indexOf('Windows CE')>-1);
    this.onWinXP=(this.ua.indexOf('NT 5.1')>-1?true:(this.ua.indexOf('Windows XP')>-1));
    this.onMac=(this.name.indexOf('Mac')>-1);
    this.onLinux=(this.ua.indexOf('Linux')>-1);
    this.isIE6XP=(this.isIE6 && this.onWinXP);
    this.isSP2=(this.onWinXP && this.ua.indexOf('SV1')>-1);
    this.srSize=window.screen;
    if ((typeof(this.srSize)!="undefined")&&(this.srSize!=null)) {
        this.srW=this.srSize.width; 
        this.srH=this.srSize.height;
        this.srCD=this.srSize.colorDepth;
        if (this.isNS&&(this.ver>=4)) this.srCD=this.srSize.pixelDepth;
    } else {
        this.srW=this.srH=this.srCD="na";
    }   
    this.compat=document.compatMode=="CSS1Compat";
    this.dom=!!document.getElementById;
    this.java=navigator.javaEnabled();
    this.cookie=(!this.isPhoe&&(typeof(navigator.cookieEnabled)!='undefined'))?navigator.cookieEnabled:"na";
    var d=new Date();
    this.timezone=d.getTimezoneOffset()/-60;
    this.lang=(((this.isNS&&this.ver>=4)||this.isOpera)?navigator.language:((this.isIE&&this.ver>=4)?navigator.userLanguage:"na"));
    this.refURL=escape(document.referrer);
    this.refURL=(this.refURL.length>=252?this.refURL.substring(0,252)+"...":this.refURL);
    this.conn=this.home="na";
    this.getConn=BrowserDetector_getConn;
    this.isHome=BrowserDetector_isHome;
}
function BrowserDetector_getConn() {
    if (typeof(document.body)!="undefined") {
        if (this.isIE&&this.ver>=5&&!this.onMac&&!this.isOpera) {
            document.body.addBehavior("#default#clientCaps");
            this.conn=document.body.connectionType;
        }
    }
    return this.conn;
}
function BrowserDetector_isHome() {
    if (typeof(document.body)!="undefined") {
        if (this.isIE&&this.ver>=5&&!this.onMac&&!this.isOpera) {
            document.body.addBehavior("#default#homePage");
            this.home=document.body.isHomePage(location.href);
        }
    }
    return this.home;
}

var fd_reqVer = 8;
if (typeof(reqFlashVer)=="number") fd_reqVer = reqFlashVer;
var fd_minVer = 5;
var fd_maxVer = 11;
for (var i = fd_minVer; i<=fd_maxVer; i++) eval('var fd_flash' + i + 'Installed = false;');
var fd_ver = 0;
var fd_ok = false;
var fd_isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var fd_isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;
if (fd_isIE && fd_isWin) {
    for (var i = fd_maxVer; i>=fd_minVer; i--) {
        document.write('<SCR' + 'IPT LANGUAGE="VBScript"\> \n');
        document.write('on error resume next \n');
        document.write('fd_flash' + i + 'Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.' + i + '"))) \n');
        document.write('</SCR' + 'IPT\> \n');
        if (eval('fd_flash' + i + 'Installed')) i = 0;
    }
}
function fd_detect() {
    if (navigator.plugins) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var fd_ver2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var fd_desc = navigator.plugins["Shockwave Flash" + fd_ver2].description;
            var fd_verNum = parseInt(fd_desc.charAt(fd_desc.indexOf(".")-1));
            
            if(fd_verNum == 0){
                var fd_verNum2 = parseInt(fd_desc.charAt(fd_desc.indexOf(".")-2));
                fd_verNum = fd_verNum2.toString() + fd_verNum.toString();
            }
            for (var i = fd_minVer; i<=fd_maxVer; i++) eval('fd_flash' + i + 'Installed = (fd_verNum==i);');
            eval('fd_flash' + fd_maxVer + 'Installed = (fd_verNum >= fd_maxVer);');
        } 
    }
    for (var i = fd_minVer; i<=fd_maxVer; i++) if (eval('fd_flash' + i + 'Installed==true')) fd_ver = i;
    if (navigator.userAgent.indexOf("WebTV") != -1) fd_ver = 3;
    if (fd_ver >= fd_reqVer) fd_ok = true;
}

TV2_ObjectLoader = {
    print  : function(html) {
        document.write(html);
    },
    
    getFlashObject : function(id) {
        var useObj = (navigator.appName.indexOf("Microsoft") != -1 || navigator.userAgent.indexOf("Safari") != -1);
        return (useObj) ? document.getElementById(id) : document.getElementById(id+"_embed");
    }
}
function getCookie(name) {
    var index = document.cookie.indexOf(name + "=");
    if (index == -1) return null;
    index += name.length + 1;
    var endval = document.cookie.indexOf(";", index);
    if (endval == -1) return unescape(document.cookie.substring(index))
    else return unescape(document.cookie.substring(index, endval));
}
function getCookieExpire(duration){
    var expireDay = new Date();
    expireDay.setTime(expireDay.valueOf()+duration*24*60*60*1000);
    return expireDay.toUTCString();
}
function setCookie(name,value,duration,domain,path){
    if (typeof(domain)=='undefined') domain = '.tv2.dk';
    if (typeof(path)=='undefined') path = '/';
    var cookiestr = name+'='+escape(value)+';';
    if (duration!=null) cookiestr += 'expires='+getCookieExpire(duration)+';';
    cookiestr += 'path='+path+';domain='+domain+';';
    document.cookie = cookiestr;
}

fd_detect();
var browser=new TV2_BrowserDetector();
if (!browser.onMac && !browser.compat) {
        if (browser.isIE && browser.IEVer<6) {
        document.write('<link rel="stylesheet" type="text/css" media="screen" href="http://common-dyn.tv2.dk/css/fix.ie5.css" />');
    }
}
var TV2banner = {
    url: 'http://e2.emediate.se/eas?cu_key=',

    getScript: function(cu_key) {
        "use strict";
        // Pick up the first folder as keyword
        var section = encodeURIComponent(location.pathname.match(/^\/([^\/]+)\//));
        return '<script type="text/javascript" src="' + this.url + cu_key + ';kw1=' + section[1] + ';cre=mu;js=y;target=_blank"></script>';
    },

    insert: function(cu_key) {
        "use strict";
        document.writeln(this.getScript(cu_key));
    },

    /**
     * Returns a no argument function that inserts the banner in the id
     * @param elementid should be in form '#id' or some other input that jquery accepts.
     */
    lateload: function(cu_key, elementid) {
        "use strict";
        return function() {
            $(elementid).writeCapture().html(TV2banner.getScript(cu_key));
        }
    },

    /**
     * @param elementid should be in form '#id' or some other input that jquery accepts.
     */
    loadonready: function(cu_key, elementid) {
        "use strict";
        $(document).ready(TV2banner.lateload(cu_key, elementid));
    }
};

(function() {

window.TV2Helios = new function() {

    this.TV2_HeliosID   = 655;
    this.IqGroup        = Math.round(Math.random() * 1000);
    this.Excluding      = new Array();
    this.Helios_listpos = new Array();

    this.keywords = (function(){

        var k = new Array();

        var _add = function(keywords) {
            if ( typeof keywords == 'object' && keywords.push) {
                k = k.concat(keywords);
            } else if ( typeof keywords == 'string' ) {
                k.push(keywords);
            }
            _unique();
            return k.length;
        };
        var _remove = function(keyword) {
            var r = new Array();
            for(var i = 0, n = k.length; i < n; i++) {
                if(!(k[i]==keyword)) {
                    r[r.length] = k[i];
                }
            }
            k = r;
            return k.length;
        };
        var _unique = function() {
            var r = new Array();
            o:for(var i = 0, n = k.length; i < n; i++) {
                for(var x = 0, y = r.length; x < y; x++) {
                    if(r[x]==k[i]) {
                        continue o;
                    }
                }
                r[r.length] = k[i];
            }
            k = r;
        };

        var _magic = function(url) {

            var magic       = [];
            var domain      = url.match(/http[s]?:\/\/([^\/]+)/)[1];
            var script_uri  = url.match(/http[s]?:\/\/[^\/]+(\/?.*)/)[1];

            /*
             * We'll strip bits out as we encounter them
             */
            var remainder = script_uri;

            /*
             * Get rid of SEO non-significant part
             * Anything from a colon to a question mark
             * (where query params begin)
             * and anything after a hash mark (anchors)
             */
            remainder = remainder.replace(/(:[^\?]+)|(#.*)/g,'');

            /*
             * Basically, a front page is something not showing an article
             *
             * Articles look like /id-123456789/:man-bites-dog
             *                 or /article/123456789/:man-bites-dog
             */
            if(!remainder.match(/\/[^\/-]+[\/-][0-9]+/)) {
                magic.push('frontpage', 'megaboard_frontpage');
            }

            /*
             * Add the query parameter
             * Except if it's a known 'utility' parameter
             * Note that ?fb and ?rss for example aren't filtered,
             * as they signify something potentially useful
             */
            var query_parameter = remainder.match(/\?([a-z0-9_]+)$/);
            if (query_parameter && query_parameter.length > 0) {
                if(!query_parameter[1].match(/menu|ss|portal|forside/)) {
                    magic.push(query_parameter[1]);
                }
                remainder = remainder.replace(query_parameter[0],'');
            }

            /*
             * Checks to see if we are a true frontpage.
             *
             * Frontpage looks like /
             */

            if(remainder == "/"){
                magic.push('frontroot');
            }

            /*
             * The rest of what's here should be key-value or /key/value/
             * bits, and subdirs. We can't really distinguish the latter
             * two, so often they're treated like subdirs.
             *
             * We try to get rid of obvious utility parameters, file
             * extensions and other debris first
             */
            remainder = remainder.replace(/\.[a-z]{2,4}/g, '');

            /*
             * Transform obvious id type /key/value parts into key-value,
             * so they maintain meaning tag-wise (transforming
             * /article/12345678/ into /article-1234578/)
             */
            remainder = remainder.replace(/(\/[a-z]+)\/([0-9]+)/,'$1-$2');

            var parts = remainder.split('/');
            for(var p=0;p<parts.length;p++) {
                if(!parts[p].match(/((limit)|(offset)|(page))/g) && parts[p].length > 0) {
                    magic.push(parts[p]);
                }
            }

            // .. and add the 'domain' (minus the '.tv2.dk' bit)
            domain = domain.replace(/(\.[a-z]+\.php[45]\.test|\.php[45]\.(snapshot|stage))?\.tv2.dk/, '');
            domain = domain.replace(/-dyn$/,'');
            magic.push(domain);

            // Site/domain specific keywords
            switch(domain) {
                case 'ttv':
                    // Extract TTV page number from url
                    var regexp = /.*side=([0-9]{3}).*/;
                    var pageno = url.match(regexp);
                    if(pageno != null) {
                        magic.push(pageno[1]);
                    } else {
                        '100';
                    }
                    break;
                case 'spil':
                case 'debat':
                    // Extract game name from url if game page or game category
                    var regexp = /http:\/\/[a-z0-9\.]*\/[a-z0-9]*\/([a-z0-9]*)[\/]{0,1}/;
                    var key = url.match(regexp);
                    if(key && key.length > 1 && key[1].length > 0) {
                        magic.push(key[1]);
                    }
                    break;
                case 'nflpicks':
                    magic.push('nfl');
                    break;
            }
            return (magic);
        };

        // Pre-fill with magic
        _add(_magic(location.href));

        return {
            add     : function(keywords) {
                return _add(keywords);
            },
            remove  : function(keywords) {
                if ( typeof keywords == 'string' ) {
                    var a = new Array();
                    a.push(keywords);
                    keywords = a;
                } else if ( typeof keywords == 'object' && keywords.push) {
                    for(var i=0;i<keywords.length;i++) {
                        _remove(keywords[i]);
                    }
                }
                return k.length;
            },
            clear   : function() {
                k = [];
            },
            toString    : function() {
                return k.join('+');
            },
            magic       : function(url) {
                return _magic(url);
            },
            list        : function() {
                return k;
            }
        };
    }());

    /*
     * Lookup banner position in our Helios banner id mapper table
     */
    this.Lookup = function(pos) {
        var site = document.location.hostname.replace(/-(dyn|static)/, "").replace(/([^.]*\.php[45]\.test|php[45]\.(snapshot|stage))\./, "").replace(/^www\./,'');
        var section = this.getSection();

        switch(site) {
            case 'comedyfestival.tv2.dk':
            case 'zulu3.tv2.dk':
                site = 'zulu.tv2.dk';
                break;
            case 'scope.dk':
                site = 'tv2film.tv2.dk';
                break;
            case 'gallery.tv2.dk':
                site = 'galleri.tv2.dk';
                break;
            case 'brushup.tv2.dk':
                site = 'tv2.dk';
                break;
            case 'emkh2010resultater.tv2.dk':
                site = 'emkh2010.tv2.dk';
                break;
            case 'vmkh2011resultater.tv2.dk':
                site = 'vmkh2011.tv2.dk';
                break;
            case 'go2.tv2.dk':
                site = 'go.tv2.dk';
                break;
            case 'skyrama.tv2.dk':
            case 'worldofants.tv2.dk':
            case 'mystical-land.tv2.dk':
            case 'seafight.tv2.dk':
            case 'zoomumba.tv2.dk':
            case 'farmerama.tv2.dk':
            case 'darkorbit.tv2.dk':
            case 'battlestar-galactica.tv2.dk':
            case 'deepolis.tv2.dk':
            case 'gangsofcrime.tv2.dk':
            case 'mafia1930.tv2.dk':
            case 'waroftitans.tv2.dk':
            case 'xblaster.tv2.dk':
                site = 'spil.tv2.dk';
                break;
            case 'finans2.tv2.dk':
                site = 'finans.tv2.dk';
                break;
            case 'jul.ludvig.tv2.dk':
                site = 'jul.tv2.dk';
                break;
        }

        var data = new Array();
        types = {'Sky':[1,82,140,350],
		'cross1':[2,969,140,175],
		'Rektangel_Forsid':[3,170,300,250],
		'Rektangel_Artike':[4,170,300,250],
		'cross2':[5,969,140,175],
		'Leaderboard':[6,225,728,90],
		'ContentAd':[7,125,200,300],
		'x01':[8,803,173,48],
		'x02':[9,803,173,48],
		'x03':[10,803,173,48],
		'x04':[11,803,173,48],
		'x05':[12,803,173,48],
		'Left':[13,933,170,180],
		'Bottom':[14,1010,280,75],
		'forside_fullleaderboard':[17,698,950,50],
		'forside_vinkeltop':[18,1336,986,140],
		'VinkelRight':[20,276,140,500],
		'Small_left':[21,508,130,140],
		'Site_fullleaderboard':[22,1328,970,110],
		'forside_vinkelsky':[24,1337,60,725],
		'Vinkelright':[26,276,140,500],
		'Vinkeltop':[27,1300,738,110],
		'Megaboard 950*200':[28,800,950,200],
		'Questionnaire':[29,16,1,1],
		'Pakkeleg_Right':[32,1482,90,500],
		'Partnerplace_News':[33,55,150,60],
		'Mega_Rektangel':[34,1720,355,355],
		'Partnerplace_News1':[35,55,150,60],
		'Partnerplace_News2':[36,55,150,60],
		'Partnerplace_News3':[37,55,150,60],
		'Partnerplace_News4':[38,55,150,60],
		'Partnerplace_News5':[39,55,150,60],
		'Partnerplace_News6':[40,55,150,60],
		'teddy-megaboard':[41,1336,986,140],
		'TVtid-megaboard-bottom':[42,1336,986,140],
		'TVtid-Megaboard-top':[43,1336,986,140],
		'Frontpage_bottom':[44,1336,986,140],
		'Test1234':[45,1336,986,140],
		'Frontpage_middle':[49,1336,986,140],
		'Forside_megaboard_middle':[47,959,930,180],
		'Forside_megaboard_bottom':[48,959,930,180],
		'left 130*240':[50,2060,130,240],
		'xpromo-rektangel':[51,2097,314,110],
		'Forside_boks':[54,2126,315,50],
		'Rektangel_Artikel_Bund':[55,170,300,250],
		'Rektangel_Artikel_Top':[56,170,300,250],
		'Rektangel_Forside_Top':[57,170,300,250],
		'Rektangel_Forside_Midt':[58,170,300,250],
		'Rektangel_Forside_Bund':[59,170,300,250],
		'Rektangel_Forside_A':[60,170,300,250],
		'Rektangel_Forside_B':[61,170,300,250],
		'Rektangel_Forside_Sponsorat':[62,170,300,250],
		'Ident_Sponsorate_200x100 ':[63,769,200,100],
		'Ident_Sponsorate_200x46':[64,2432,200,46],
		'Rektangel_Forside_Hojre':[65,170,300,250],
		'Rektangel_Forside_Venstre':[66,170,300,250],
		'Rektangel_Artikel_Hojre':[67,170,300,250],
		'Rektangel_Artikel_Venstre':[68,170,300,250],
		'Spil 160x600':[71,154,160,600],
		'Sponsorat_venstremenu_120x240':[72,30,240,120],
		'Sponsorat_sektion_334x80':[73,2704,334,80],
		'Sponsorate_venstremenu_125x125':[74,6,125,125],
		'Sponsorat_venstremenu_125x240':[75,1539,125,240],
		'Sponsorat_sektion_315x80':[76,2845,315,80],
		'Sponsorat_sektion_398x80':[77,2846,398,80],
		'Menu_Left_150x20':[78,4179,149,310],
		'Sponsorat_315x110_1':[79,3002,315,110],
		'Sponsorat_315x110_2':[80,3002,315,110],
		'Sponsorat_315x177_1':[81,3004,315,177],
		'Sponsorat_315x177_2':[82,3004,315,177],
		'Sponsorat_315x177_3':[83,3004,315,177],
		'Sponsorat_315x177_4':[84,3004,315,177],
		'300x120_BUND':[86,556,300,120],
		'940x40 sponsorat':[87,2356,940,40],
		'980x40_sponsorat':[88,3140,980,40],
		'Sponsorat_315x247':[89,3112,315,247],
		'300x120_TOP_V3':[92,556,300,120],
		'Ident_Sponsorate_160x40':[93,212,160,40],
		'Sponsorate_venstremenu_130x130':[94,166,130,130],
		'Sponsorat_480x60':[95,48,480,60],
		'Sponsorate_venstremenu_150x250':[96,214,150,250],
		'Sponsorat_315x135_1':[97,3596,315,135],
		'Sponsorat_300x150':[98,186,300,150],
		'Sponsorat_150x210':[99,3709,150,210],
		'Sponsorat_160x160':[100,401,160,160],
		'Sponsorat_300x120':[101,556,300,120],
		'Sponsorat_300x320':[102,2438,300,320],
		'Vinkeltop_Forside':[103,3955,999,180],
		'Sky_Left':[104,3956,130,1024],
		'Sky_Right':[105,3956,130,1024],
		'Vinkeltop_Artikel':[106,3955,999,180],
		'VinkelBund_Forside':[107,3955,999,180],
		'VinkelBund_Artikel':[108,3955,999,180],
		'Partner_630x130':[109,4052,630,130],
		'VIP_Sponsorat_menu_left':[110,4159,130,157],
		'VIP Sponsorat Menu left':[111,4159,130,157],
		'Frontpage_300x250_forside_sponsorat':[112,170,300,250],
		'Megaboard_Forside_930x600':[113,2527,930,600],
		'Megaboard_Forside_930x600_midt':[114,2527,930,600],
		'Sponsorat_300x75_Forsiden':[115,2018,300,75],
		'Megaboard_Forside_930x600_top':[116,2527,930,600],
		'Partner_Sektion_149x250':[117,4384,149,250],
		'Sponsorat_Travelmarket':[118,4420,315,725],
		'Sponsorat_940x30':[119,4072,940,30],
		'Partner_630x130_2':[120,4052,630,130],
		'Sponsorat_Go_Forside':[121,3252,480,270],
		'Sponsorat_Breaking_1':[122,3347,930,40],
		'Sponsorat_Breaking_2':[123,3347,930,40],
		'Sponsorat_Breaking':[124,3347,930,40],
		'Sponsorat_320x110':[125,4702,320,110],
		'GO_sponsorat_300x600':[126,529,300,600],
		'Sponsorat_Forside_Bund':[127,170,300,250],
		'Sponsorat_Artikel_Bund':[128,170,300,250],
		toString:function(){var o=[];for(var p in this)if(typeof this[p]!="function")o[o.length]=p+":"+this[p];return "{"+o.join(",")+"}"},
		__serializeType: "__hash"};
map = {'damehaandboldmanager.tv2.dk':[[1,1240503],[2,1240504],[3,1240505],[4,1240506],[5,1240507],[6,1240508],[7,1240509]],
		'news.tv2.dk':[[4,1240510],[6,1240511],[7,1240512],[5,1240513],[2,1240514],[3,1240515],[1,1240516],[34,1579169],[35,1579170],[36,1579188],[37,1579191],[38,1579189],[39,1579187],[40,1579190],[18,2375387],[106,3052204],[103,3052205]],
		'jul.tv2.dk':[[3,1240524],[7,1240525],[2,1240526],[1,1240527],[6,1240528],[5,1240529],[4,1240530],[32,1475396],[18,1709717],[24,1747358],[75,2230371],[42,1709719],[100,2888344],[106,3464716],[108,3464714],[107,3464717],[103,3464715]],
		'n.tv2.dk':[[2,1240531],[6,1240532],[3,1240533],[1,1240534],[4,1240535],[7,1240536],[5,1240537]],
		'piszulu.tv2.dk':[[4,1240538],[1,1240539],[3,1240540],[2,1240541],[6,1240542],[7,1240543],[5,1240544],[3,1241078],[7,1241079],[5,1241080],[4,1241081],[1,1241082],[2,1241083],[6,1241084]],
		'vmmanager.tv2.dk':[[6,1240545],[3,1240546],[2,1240547],[7,1240548],[1,1240549],[5,1240550],[4,1240551],[64,2319240],[24,2319235],[18,2319236],[56,2319233],[59,2319234],[103,3154092]],
		'nyhederne.tv2.dk':[[3,1240552],[1,1240553],[7,1240555],[5,1240556],[4,1240557],[2,1240558],[56,1976959],[58,2029357],[59,2017221],[63,2058359],[64,2145658],[73,2176288],[77,2219908],[76,2219909],[60,2361380],[61,2361379],[89,2387072],[106,3011879],[103,3011881],[104,3011882],[105,3011880]],
		'vueltamanager.tv2.dk':[[1,1240559],[7,1240560],[4,1240561],[3,1240562],[6,1240563],[2,1240564],[5,1240565]],
		'annapihl.tv2.dk':[[6,1240566],[1,1240567],[7,1240568],[2,1240569],[5,1240570],[3,1240571],[4,1240572]],
		'aktiespil.tv2.dk':[[4,1240573],[7,1240574],[2,1240575],[5,1240576],[1,1240577],[3,1240578],[6,1240579],[18,1730574]],
		'folkeborsen.tv2.dk':[[1,1240587],[6,1240588],[7,1240589],[4,1240590],[5,1240591],[3,1240592],[2,1240593]],
		'producent.tv2.dk':[[7,1240594],[4,1240595],[5,1240596],[1,1240597],[2,1240598],[3,1240599],[6,1240600]],
		'blog.tv2.dk':[[5,1240601],[2,1240602],[7,1240603],[3,1240604],[1,1240605],[6,1240606],[4,1240607],[18,1701813],[24,1701815],[106,3015095],[103,3015094]],
		'galleri.tv2.dk':[[6,1240608],[3,2564531],[18,2564530],[106,3015110],[103,3015109]],
		'boligspil.tv2.dk':[[5,1240616],[2,1240617],[3,1240618],[7,1240619],[6,1240620],[4,1240621],[1,1240622]],
		'mobil3.tv2.dk':[[5,1240623],[1,1240624],[4,1240625],[7,1240626],[3,1240627],[2,1240628],[6,1240629]],
		'lasergame.tv2.dk':[[4,1240630],[5,1240631],[2,1240632],[7,1240633],[1,1240634],[3,1240635],[6,1240636]],
		'pyrus.tv2.dk':[[6,1240637],[2,1240638],[5,1240639],[4,1240640],[7,1240641],[3,1240642],[1,1240643]],
		'roomservice.tv2.dk':[[4,1240644],[2,1240645],[1,1240646],[7,1240647],[3,1240648],[6,1240649],[5,1240650]],
		'renthjem.tv2.dk':[[3,1240651],[6,1240652],[1,1240653],[4,1240654],[7,1240655],[5,1240656],[2,1240657]],
		'fengshui.tv2.dk':[[6,1240658],[1,1240659],[4,1240660],[5,1240661],[2,1240662],[7,1240663],[3,1240664]],
		'godtbegyndt.tv2.dk':[[2,1240665],[5,1240666],[6,1240667],[4,1240668],[3,1240669],[7,1240670],[1,1240671]],
		'heltsolgt.tv2.dk':[[5,1240672],[4,1240673],[1,1240674],[3,1240675],[7,1240676],[6,1240677],[2,1240678]],
		'huset.tv2.dk':[[7,1240693],[1,1240694],[6,1240695],[2,1240696],[3,1240697],[4,1240698],[5,1240699]],
		'vip.tv2.dk':[[5,1240708],[1,1240709],[3,1240710],[4,1240711],[7,1240712],[2,1240713],[18,1436569],[24,1915983],[56,2016473],[59,2016472],[74,2197398],[64,2221858],[94,2486642],[95,2486647],[99,2873195],[101,2911229],[104,3012304],[105,3012305],[103,3012302],[106,3012303],[118,3223891]],
		'ishockeymanager.tv2.dk':[[2,1240714],[1,1240715],[4,1240716],[6,1240717],[7,1240718],[5,1240719],[3,1240720]],
		'sites.tv2.dk':[[3,1240721],[7,1240722],[5,1240723],[1,1240724],[4,1240725],[6,1240726],[2,1240727]],
		'filmklub.tv2.dk':[[6,1240728],[3,1240729],[5,1240730],[7,1240731],[4,1240732],[1,1240733],[2,1240734]],
		'javaspil.tv2.dk':[[6,1240742],[5,1240743],[3,1240744],[2,1240745],[7,1240746],[1,1240747],[4,1240748]],
		'herrehaandboldmanager.tv2.dk':[[7,1240749],[6,1240750],[1,1240751],[3,1240752],[5,1240753],[4,1240754],[2,1240755]],
		'ttv.tv2.dk':[[7,1240756],[5,1240757],[1,1240758],[4,1240759],[6,1240760],[3,1240761],[2,1240762],[18,1909207],[106,3015159],[103,3015158]],
		'dev.nosco.test.tv2.dk':[[3,1240770],[7,1240771],[5,1240772],[2,1240773],[6,1240774],[4,1240775],[1,1240776]],
		'nyhedsspil.tv2.dk':[[7,1240777],[1,1240778],[4,1240779],[5,1240780],[2,1240781],[3,1240782],[6,1240783]],
		'million.tv2.dk':[[6,1240784],[5,1240785],[4,1240786],[1,1240787],[7,1240788],[3,1240789],[2,1240790],[21,1407514],[18,1915050],[106,3015128],[103,3015127]],
		'vmkh2009.tv2.dk':[[5,1240791],[3,1240792],[2,1240793],[7,1240794],[4,1240795],[6,1240796],[1,1240797],[18,1835266],[64,2317152],[56,2317149],[59,2317150]],
		'rygestop.tv2.dk':[[5,1240798],[7,1240799],[4,1240800],[6,1240801],[2,1240802],[3,1240803],[1,1240804]],
		'em.tv2.dk':[[6,1240805],[2,1240806],[7,1240808],[5,1240809],[3,21474],[4,1240],[18,174462422]],
		'vejret.tv2.dk':[[4,1240812],[7,1240813],[2,1240814],[3,1240815],[5,1240817],[1,1240818],[18,1492767],[56,2016471],[59,2016470],[64,2123893],[74,2188216],[75,2196011],[24,1701816],[106,3015169],[103,3015170],[127,3548741]],
		'newsagent.tv2.dk':[[2,1240819],[1,1240820],[6,1240821],[5,1240822],[3,1240823],[4,1240824],[7,1240825]],
		'diverse.tv2.dk':[[6,1240826],[7,1240827],[5,1240828],[1,1240829],[3,1240830],[2,1240831],[4,1240832],[18,1678341],[103,3218668]],
		'slankedoktoren.tv2.dk':[[4,1240833],[6,1240834],[2,1240835],[5,1240836],[1,1240837],[7,1240838],[3,1240839]],
		'station2.tv2.dk':[[1,1240840],[2,1240841],[7,1240842],[4,1240843],[3,1240844],[5,1240845],[6,1240846],[18,1925131],[64,2085254]],
		'test.tv2.dk':[[5,1240847],[6,1240848],[7,1240849],[4,1240850],[3,1240851],[1,1240852],[2,1240853]],
		'download.spil.tv2.dk':[[5,1240854],[1,1240855],[7,1240856],[2,1240857],[3,1240858],[4,1240859],[6,1240860]],
		'nyhedsbrev.tv2.dk':[[4,1240861],[7,1240862],[3,1240863],[6,1240864],[1,1240865],[5,1240866],[2,1240867]],
		'haabet.tv2.dk':[[4,1240868],[7,1240869],[5,1240870],[1,1240871],[2,1240872],[3,1240873],[6,1240874]],
		'films.tv2.dk':[[4,1240875],[3,1240876],[5,1240877],[1,1240878],[2,1240879],[6,1240880],[7,1240881]],
		'kongelig.tv2.dk':[[3,1240882],[4,1240883],[5,1240884],[1,1240885],[7,1240886],[6,1240887],[2,1240888]],
		'shop.zulu.dk':[[2,1240889],[5,1240890],[4,1240891],[6,1240892],[7,1240893],[3,1240894],[1,1240895]],
		'rundfunk.tv2.dk':[[1,1240896],[2,1240897],[7,1240898],[4,1240899],[5,1240900],[3,1240901],[6,1240902]],
		'clmanager.tv2.dk':[[7,1240903],[6,1240904],[5,1240905],[2,1240906],[4,1240907],[3,1240908],[1,1240909],[18,1689294]],
		'dok.tv2.dk':[[6,1240910],[3,1240911],[1,1240912],[7,1240913],[4,1240914],[2,1240915],[5,1240916]],
		'skattejagt.tv2.dk':[[6,1240917],[4,1240918],[5,1240919],[1,1240920],[3,1240921],[2,1240922],[7,1240923]],
		'spilshoppen.tv2.dk':[[6,1240924],[1,1240925],[2,1240926],[5,1240927],[3,1240928],[4,1240929],[7,1240930]],
		'tour2008.tv2.dk':[[4,1240931],[7,1240932],[3,1240933],[2,1240934],[1,1240935],[6,1240936],[5,1240937]],
		'opskrifter.tv2.dk':[[3,1240938],[1,1240939],[2,1240940],[7,1240942],[5,1240943],[4,1240944],[18,1737684],[21,1933470],[56,2031746],[64,2185487],[106,3015131],[103,3015132]],
		'netradio.tv2.dk':[[4,1240945],[1,1240946],[2,1240947],[6,1240948],[3,1240949],[5,1240950],[7,1240951]],
		'zulu.tv2.dk':[[3,1240952],[4,1240955],[2,1240956],[7,1240957],[5,1240958],[24,1701830],[18,1701829],[56,2016479],[59,2016478],[64,2364263],[106,3015175],[103,3015176]],
		'debat.tv2.dk':[[7,1240959],[1,1240960],[4,1240961],[3,1240962],[2,1240963],[5,1240964],[18,1721245]],
		'charlie.tv2.dk':[[3,1240966],[1,1240968],[2,1240969],[5,1240970],[4,1240971],[7,1240972],[18,1909199],[56,2016481],[59,2016480],[106,3015107],[103,3015108]],
		'danskespil.tv2.dk':[[4,1240973],[2,1240974],[3,1240975],[7,1240976],[6,1240977],[1,1240978],[5,1240979],[103,3154170]],
		'sporten.tv2.dk':[[5,1240980],[7,1240981],[3,1240982],[4,1240983],[2,1240985],[27,1427487],[18,1436584],[24,1611643],[56,2017301],[58,1977160],[59,2017288],[64,2170177],[94,2486643],[95,2486648],[104,3012298],[105,3012300],[106,3012299],[103,3012297]],
		'arkivsalg.tv2.dk':[[2,1240987],[4,1240988],[7,1240989],[6,1240990],[3,1240991],[5,1240992],[1,1240993]],
		'manager.tv2.dk':[[4,1240994],[7,1240995],[2,1240997],[3,1240998],[1,1240999],[5,1241000],[103,1240996]],
		'support.tv2.dk':[[2,1241001],[4,1241002],[7,1241003],[1,1241004],[3,1241005],[5,1241006],[6,1241007]],
		'login.tv2.dk':[[2,1241008],[1,1241009],[3,1241010],[7,1241011],[6,1241012],[5,1241013],[4,1241014],[106,3015125],[103,3015124]],
		'teddy.tv2.dk':[[5,1241015],[2,1241017],[3,1241018],[4,1241019],[1,1241020],[7,1241021],[18,1492777],[41,1617114]],
		'livsstil.tv2.dk':[[5,1241022],[6,1241023],[4,1241024],[7,1241025],[3,1241026],[1,1241027],[2,1241028],[24,2812471],[18,2812467],[59,2812468],[86,4567123],[101,2911230],[106,3015121],[103,3015122]],
		'finans.tv2.dk':[[7,1241029],[5,1241030],[3,1241031],[2,1241033],[4,1241034],[1,2345678],[18,1436583],[56,2016469],[59,2016468],[58,2029353],[64,2068812],[24,1701768],[75,1241035],[87,2393265],[88,2416891],[104,3012311],[105,3012310],[106,3012309],[103,3012308]],
		'tv2.enetpulse.com':[[2,1241036],[7,1241037],[3,1241038],[4,1241039],[5,1241040],[1,1241041]],
		'sputnik.tv2.dk':[[2,1241043],[1,1241044],[3,1241045],[7,1241046],[5,1241048],[4,1241049]],
		'go.tv2.dk':[[7,1241050],[2,1241051],[3,1241053],[1,1241054],[5,1241055],[4,1241056],[56,2123167],[59,2123169],[58,2123168],[64,2123170],[74,2197397],[78,2318693],[79,2345372],[80,2345368],[81,2345373],[82,2345371],[83,2345369],[84,2345370],[88,2562503],[96,2562590],[101,2913128],[104,3012323],[105,3012322],[106,3012321],[103,3012324],[117,3219764]],
		'nflpicks.tv2.dk':[[3,1241057],[6,1241058],[1,1241059],[7,1241060],[2,1241061],[4,1241062],[5,1241063]],
		'fredo.dk':[[6,1241064],[3,1241065],[1,1241066],[7,1241067],[2,1241068],[4,1241069],[5,1241070]],
		'programmer.tv2.dk':[[4,1241071],[3,1241073],[1,1241074],[7,1241075],[2,1241076],[5,1241077],[18,1436581],[24,1701825],[56,2016465],[59,2016466],[94,2486644],[88,2486649],[64,2620532],[106,3015136],[103,3015137]],
		'as.photoprintit.de':[[7,1241085],[1,1241086],[6,1241087],[3,1241088],[5,1241089],[4,1241090],[2,1241091]],
		'omtv2.tv2.dk':[[6,1241092],[3,1241093],[4,1241094],[5,1241095],[2,1241096],[1,1241097],[7,1241098]],
		'f1manager.tv2.dk':[[2,1241099],[5,1241100],[1,1241101],[7,1241102],[3,1241103],[6,1241104],[4,1241105]],
		'sportsresultater.tv2.dk':[[5,1241108],[1,1241109],[3,1241111],[4,1241112],[18,1744212],[64,2330504],[106,3015142],[103,3015141]],
		'jeopardy.tv2.dk':[[6,1241113],[5,1241114],[3,1241115],[4,1241116],[1,1241117],[2,1241118],[7,1241119]],
		'emmanager.tv2.dk':[[1,1241120],[6,1241121],[3,1241122],[4,1241123],[2,1241124],[5,1241125],[7,1241126],[18,2368853],[103,3154094]],
		'tv2film.tv2.dk':[[2,1241127],[5,1241129],[3,1241130],[4,1241131],[1,1241132],[7,1241133],[18,1909195],[56,2016483],[59,2016482],[106,3015161],[103,3015160]],
		'mobil.tv2.dk':[[7,1241134],[1,1241137],[5,1241139],[2,1241140]],
		'ol.tv2.dk':[[4,1241141],[1,1241142],[6,1241143],[2,1241144],[7,1241145],[5,1241146],[3,1241147],[18,1663349]],
		'bryllup.tv2.dk':[[7,1241148],[2,1241149],[3,1241150],[6,1241151],[1,1241152],[5,1241153],[4,1241154]],
		'scenen.tv2.dk':[[3,1241155],[2,1241156],[5,1241157],[6,1241158],[7,1241159],[1,1241160],[4,1241161]],
		'restaurant.tv2.dk':[[5,1241162],[2,1241163],[7,1241164],[4,1241165],[6,1241166],[3,1241167],[1,1241168]],
		'goaften.tv2.dk':[[5,1241169],[6,1241170],[4,1241171],[2,1241172],[3,1241173],[1,1241174],[7,1241175],[18,2048297]],
		'empola.tv2.dk':[[1,1241176],[7,1241177],[4,1241178],[5,1241179],[6,1241180],[3,1241181],[2,1241182]],
		'shop.tv2.dk':[[1,1241183],[3,1241184],[4,1241185],[7,1241186],[2,1241187],[6,1241188],[5,1241189]],
		'reklame.tv2.dk':[[2,1241190],[5,1241191],[3,1241192],[4,1241193],[1,1241194],[6,1241195],[7,1241196]],
		'bolig.tv2.dk':[[4,1241197],[2,1241198],[1,1241199],[6,1241200],[7,1241201],[5,1241202],[3,1241203]],
		'rss.tv2.dk':[[14,1250294]],
		'tv2live.tv2.dk':[[2,1252808],[5,1252809],[6,1252810],[3,1252811]],
		'vimedhund.tv2.dk':[[2,1255479],[5,1255477],[6,1255480],[4,1255478],[3,1255476],[18,1452959]],
		'racerzulu.tv2.dk':[[6,1271212]],
		'forlag.tv2.dk':[[2,1279312],[5,1279310],[6,1279311],[4,1279308],[3,1279309]],
		'videoblog.tv2.dk':[[6,1283079]],
		'momondo.tv2.dk':[[2,1394569],[5,1364579],[6,1394980],[4,1364578],[3,1364581]],
		'tourmanager.tv2.dk':[[6,1367161],[4,1367162],[3,1367163],[18,2114695],[103,3226018]],
		'zulumunity.tv2.dk':[[6,1376909],[4,1376908],[3,1376910],[7,1376913],[2,1376911],[5,1376912]],
		'momondorejser.tv2.dk':[[2,1394593],[5,1394591],[6,1394594],[4,1394595],[3,1394592]],
		'plmanager.tv2.dk':[[3,1397074],[18,1666740],[103,3154095]],
		'vejenfrem.tv2.dk':[[7,1403956],[2,1403950],[5,1403947],[6,1403951],[4,1403948],[3,1403949],[1,1403957]],
		'flipperpanser.tv2.dk':[[6,1405537]],
		'dansetips.tv2.dk':[[2,1407848],[5,1407845],[6,1407849],[4,1407847],[3,1407846]],
		'pix.tv2.dk':[[6,1446450],[3,1446452]],
		'1234.tv2.dk':[[6,1447598],[4,1447596],[2,1447599],[18,1744216],[56,2173153],[59,2173152],[121,12345678]],
		'krimi.tv2.dk':[[2,1447603],[5,1447605],[6,1673023],[4,1655251],[3,1655415],[18,1934266],[56,2029250],[59,2029251],[24,2140842]],
		'nyhederne.tv2.dk/politik/':[[6,1447609],[4,1447612],[3,1447610],[2,1447608]],
		'altinget.dk':[[2,1448557],[6,1448556],[7,1458685]],
		'cm-online.tv2.dk':[[4,1463038],[3,1463037]],
		'spil.tv2.dk':[[3,1501065],[18,1616759],[24,1645118],[56,2016475],[59,2016474],[71,2113113],[32,2312648],[104,3012336],[105,3012337],[106,3012334],[103,3012335]],
		'hockeypicks.tv2.dk':[[3,1511517]],
		'gimig5.tv2.dk':[[3,1508559],[4,1520025],[18,1933478]],
		'superligamanager.tv2.dk':[[3,1524198],[107,3096],[103,3154096]],
		'gaming.tv2.dk':[[3,1576530]],
		'tvtid.tv2.dk':[[42,1614090],[43,1614091],[93,2453137],[106,3012292],[103,3012294],[104,3012293],[105,3012295],[108,3015679],[107,3015680],[56,3546776]],
		'olpicks.tv2.dk':[[3,1657930],[18,1669951]],
		'tv2.dk':[[18,1410782],[24,1413481],[3,1240736],[54,1735797],[60,2016462],[61,2016463],[62,2016464],[58,2017220],[86,2387631],[92,2418291],[101,2911228],[102,2957644],[105,3000792],[104,3000793],[103,3000794],[109,3057977],[120,3414978]],
		'nflmanager.tv2.dk':[[18,1685460],[103,3154097]],
		'20.tv2.dk':[[6,1698076],[4,1698075],[3,1698074]],
		'bannertest.tv2.dk':[[18,1417561],[24,1417560],[55,2015421],[57,2015416]],
		'common.tv2.dk':[[51,1741581]],
		'beep.tv2.dk':[[18,1788528],[3,1788529],[4,1835554],[56,2016476],[59,2016477],[64,2190110],[97,2822136],[104,3012327],[105,3012328],[106,3012325],[103,3012326],[125,3538388]],
		'spigo.tv2.dk':[[1,1696676],[71,2113316]],
		'frokost.tv2.dk':[[18,1875607],[4,1875609],[3,1875608]],
		'bavian.tv2.dk':[[18,1916686],[44,1235678],[42,1916688],[67,2085814],[68,2085816],[65,2085815],[66,2085813],[106,3015093],[103,3015092],[108,3015681],[107,3015682]],
		'zulu.dk/hongkongfu':[[18,1935575],[4,1935577],[3,1935576]],
		'oldzulu.tv2.dk':[[18,2015991],[4,2015992],[3,2015993],[56,2017223],[59,2017224]],
		'rejser.tv2.dk':[[24,2109979],[18,2109980],[4,2109978],[56,2109982],[3,2109981],[59,2109977]],
		'tour2009.tv2.dk':[[18,2114010],[64,2114011],[4,2114013],[56,2114009],[3,2114012],[59,2114008]],
		'vmd.tv2.dk':[[24,2162337],[18,2162339],[4,2162340],[56,2162343],[3,2162342],[59,2162338],[98,2863647],[103,3371077],[106,3371078]],
		'bubber.tv2.dk':[[24,2186729],[18,2186730],[64,2186731],[4,2186726],[56,2186732],[3,2186727],[59,2186728],[106,3015104],[103,3015105]],
		'bingobanko.tv2.dk':[[18,2310658],[64,2394794],[4,2394792],[56,2394795],[3,2394791],[59,2394793],[106,3015177],[103,3015178]],
		'legoworld.tv2.dk':[[42,2329287],[43,2329286]],
		'emhh2010.tv2.dk':[[24,2337354],[18,2337349],[64,2337355],[4,2337353],[56,2337351],[3,2337352],[59,2337350]],
		'10ting.tv2.dk':[[24,2352132],[18,2352130],[4,2352128],[56,2352127],[3,2352131],[59,2352129]],
		'helvedeskoekken.tv2.dk':[[18,2429593],[64,2429597],[4,2429594],[56,2429595],[3,2429598],[59,2429596]],
		'stage.tv2.dk':[[59,2440823],[3,2441300],[18,2441299]],
		'tv2.pricerunner.dk':[[18,2491295],[3,2491293],[42,2491294]],
		'vmhf2010.tv2.dk':[[56,2561811],[4,2561808],[59,2561807],[3,2561810],[65,2745373]],
		'fodboldfest.tv2.dk':[[35,2581554],[36,2581559],[37,2581555],[38,2581562],[39,2581557],[56,2581560],[3,2581558],[42,2581556],[43,3456789],[18,2581561]],
		'www.jubel.tv2.dk':[[64,2619692],[18,2619691]],
		'tour.tv2.dk':[[64,2666096],[4,2666099],[56,2666098],[59,2666100],[3,2666095],[65,2789094],[103,3199284],[106,3199304]],
		'festival.tv2.dk':[[64,2725842],[4,2725846],[56,2725845],[59,2725841],[3,2725844],[18,2725843]],
		'telepristjek.tv2.dk':[[18,2817719]],
		'bs.tv2.dk':[[64,2890543],[4,2890544],[56,2890547],[59,2890548],[3,2890542],[103,2890545]],
		'emhh2012.tv2.dk':[[18,2937669],[64,2937671],[4,2937668],[56,2937670],[3,2937665],[24,2937666],[64,3540536],[4,3540540],[56,3540541],[59,3540545],[3,3540539],[59,2937667],[106,3540538],[103,3540544]],
		'zuluawards.tv2.dk':[[103,3076295],[3,3076339],[107,3081239]],
		'valget.tv2.dk':[[4,3131541],[56,3131546],[3,3131544],[59,3131540],[108,3131543],[107,3131547],[106,3131545],[103,3131542],[104,3324289],[105,3324290]],
		'resultattest.tv2.dk':[[3,1240810],[59,1240811],[18,1722],[107,1744624222],[103,1744624]],
		'v-audition.tv2.dk':[[56,3241224],[3,3241217],[59,3241215],[106,3241216],[103,3241214],[55,3241225]],
		'dma.tv2.dk':[[106,3453893],[103,3453892]],
		'beep-drupal.tv2.dk':[[64,3466266],[55,3466257],[56,3466260],[59,3466261],[57,3466264],[106,3466259],[103,3466258],[125,3480863]],
		'v.tv2.dk':[[103,3532618],[106,3532615],[57,3532613],[55,3532614],[56,3532617],[59,3532616],[108,3532691],[107,3532690]],
		'soccerstar.tv2.dk':[[103,3539627]],
		'fliplife.tv2.dk':[[103,3539783]],
		'spilskyen.tv2.dk':[[103,3573430]],
		'sfgame.tv2.dk':[[103,3573428]],
		'bloodmoon.tv2.dk':[[103,3573429]],
		toString:function(){var o=[];for(var p in this)if(typeof this[p]!="function")o[o.length]=p+":"+this[p];return "{"+o.join(",")+"}"},
		__serializeType: "__hash"};
useIframe = [1240608,
		2176288,
		2219909,
		2387631,
		2387072,
		2911228,
		3223891];
useIframe.inArray = this.inArray;
        if(typeof(types[pos]) != 'undefined' && typeof(map[site]) != 'undefined') {
            var x = types[pos];
            data['sizeid']      = x[1];
            data['width']       = x[2];
            data['height']      = x[3];
            data['placementid'] = 0;
            for(i = 0, j = map[site].length; i < j; i++) {
                if(map[site][i][0] == x[0]) {
                    data['placementid'] = map[site][i][1];
                    break;
                }
            }
            data['iframe'] = useIframe.inArray(data['placementid']);
        }
        return data;
    }

    this.getSection = function() {
        var url = location.href;
        /* Regexp for matching section
         * Example: http://sporten.tv2.dk/(fodbold)/
         */
        var regexp   = /http[s]?:\/\/[^\/]+[\/]?(.*)/;
        var result   = url.match(regexp);
        var section  = '';
        if (result != null) {
            // Extract section (folder) if in section
            section = (result[1].indexOf('/') == -1) ? '' : result[1].split('/').shift();
            // Removes /article.php/ `folders“
            if (section.indexOf('.') > -1) {
                section = '';
            }
        }
        return section;
    }

    /*
     * Prints the Helios banner code
     * private method
     * param val array containing banner info
     * param iframe boolean, use iframe or javascript solution
     */
    	this.AD = function(old) {
         // Mapping tabel
         var x = {
			"980x40_sponsorat":"forside_sponsorat_midt",
			"forside_vinkelsky":"forside_leaderboard_top",
			"Ident_Sponsorate_200x46":"forside_ident_top",
			"Mega_Rektangel":"forside_megarektangel_top",
			"Megaboard_Forside_930x600_top":"forside_brandingbanner_top",
			"Menu_Left_150x20":"forside_menu_top",
			"Partner_630x130":"forside_partnerskab_top",
			"Partner_630x130_2":"forside_partnerskab_bund",
			"Partnerplace_News1":"forside_partnerskab1_bund",
			"Partnerplace_News2":"forside_partnerskab2_bund",
			"Partnerplace_News3":"forside_partnerskab3_bund",
			"Partnerplace_News4":"forside_partnerskab4_bund",
			"Partnerplace_News5":"forside_partnerskab5_bund",
			"Partnerplace_News6":"forside_partnerskab6_bund",
			"Rektangel_Artikel_Top":"underside_rektangel_top",
			"Rektangel_Artike":"underside_rektangel_bund",
			"Rektangel_Artikel_Hojre":"underside_rektangel_hoejre",
			"Rektangel_Artikel_Top":"underside_rektangel_top",
			"Rektangel_Artikel_Venstre":"underside_rektangel_venstre",
			"Rektangel_Forsid":"forside_rektangel_top",
			"Rektangel_Forside_Bund":"forside_rektangel_bund",
			"Rektangel_Forside_Hojre":"forside_rektangel_hoejre",
			"Rektangel_Forside_Hojre":"underside_rektangel_hoejre",
			"Rektangel_Forside_Midt":"forside_rektangel_midt",
			"Rektangel_Forside_Sponsorat":"forside_sponsorat_bund",
			"Rektangel_Forside_Venstre":"forside_rektangel_venstre",
			"Sky_Left":"forside_sky_venstre",
			"Sky_Right":"forside_sky_hoejre",
			"Sponsorat_300x120":"forside_sponsorat_midt",
			"Sponsorat_320x110":"forside_sponsorat_midt",
			"Sponsorat_300x320":"forside_sponsorat_midt",
			"Sponsorat_300x75_Forsiden":"forside_sponsorat_top",
			"Sponsorat_480x60":"forside_sponsorat_top",
			"Sponsorat_Go_Forside":"forside_sponsorat_top",
			"Sponsorat_sektion_398x80":"forside_sponsorat_top",
			"Sponsorat_venstremenu_125x240":"forside_menu_top",
			"Sponsorate_venstremenu_130x130":"underside_sponsorat_bund",
			"Sponsorate_venstremenu_130x130":"underside_sponsorat_midt",
			"Sponsorat_sektion_315x80":"underside_sponsorat_top",
			"VinkelBund_Artikel":"underside_leaderboard_bund",
			"VinkelBund_Forside":"forside_leaderboard_bund",
			"Vinkeltop_Artikel":"underside_leaderboard_top",
			"Vinkeltop_Forside":"forside_leaderboard_top"
			}
			
         var name = x[old];
         if(name != undefined) {
             var domain      = location.hostname;
             // .. and add the 'domain' (minus the '.tv2.dk' biti and dev sites extras)
             domain = domain.replace(/(\.[a-z]+\.php[45]\.test|\.php[45]\.(snapshot|stage))?\.tv2.dk/, '');
             domain = domain.replace(/-dyn$/, '');
             // the frontpage on live will appear as tv2.dk instead of www - taking care of this here:
             domain = domain.replace(/tv2.dk/, 'www');
             var cu_key = domain + '_' + name
             // Kald nyt banner system med parameteren
			 TV2banner.insert(cu_key);

         }
     }

    /* Returns true if the passed value is found in the
     * array.  Returns false if it is not.
     */
    this.inArray = function(value) {
        var i;
        for (i = 0; i < this.length; i++) {
            // Matches identical (===), not just similar (==).
            if (this[i] === value) {
                return true;
            }
        }
        return false;
    }

    /* Argument: list of positions to exclude
     * function Exclude(pos...)
     */
    this.Exclude = function() {
        for(i = 0; i < arguments.length; i++) {
            this.Excluding.push(arguments[i]);
        }
    }

    this.AdText = function() {
        window.document.write('<div class="tv2adtext">Annoncer:<div class="hr"></div></div>');
    }

    this.InternAdText = function() {
        window.document.write('<div class="tv2adtext">TV 2 tjenester:<div class="hr"></div></div>');
    }

    this.debug = function(pos) {
        var data = this.Lookup(pos);
        var retStr = 'Added: [' + this.Helios_listpos + "]\n" +
            'Excluded: [' + this.Excluding + "]\n\n";
        if(typeof(data['width']) != 'undefined') {
            var w   = data['width'];
            var h   = data['height'];
            var k   = this.keywords.toString();
            var s   = data['sizeid'];
            var p   = data['placementid'];
            var i   = data['iframe'];
            retStr += 'Position: ' + pos +"\n" +
                'Width: ' + w + "\n" +
                'Height: ' + h + "\n" +
                      'Keys: ' + k + "\n" +
                      'Size: ' + s + "\n" +
                      'Placement: ' + p + "\n" +
                      'Iframe: ' + i + "\n" +
                      'Group: ' + this.IqGroup;
        } else {
            retStr += 'Positionen "' + pos + '" blev ikke fundet';
        }
        alert(retStr);
    }

    this.ExpandContentSquare = function(expand) {
        this.expand('contentsquare', expand);
        this.expand('tv2contentsquare', expand);
    }

    this.ExpandLeaderboard = function(expand) {
        this.expand('Leaderboard', expand);
        this.expand('tv2leaderboard', expand);
    }

    this.expand = function(id, expand) {
        elm = document.getElementById(id);
        if(elm != null) {
            if (expand) {
                elm.style.overflow = 'visible';
            } else {
                elm.style.overflow = 'hidden';
            }
        }
    }

    this.megaboardIsSet = function() {
        this.Helios_listpos.inArray = this.inArray;
        return (this.Helios_listpos.inArray('Vinkeltop_Forside') || this.Helios_listpos.inArray('forside_vinkeltop') || this.Helios_listpos.inArray('forside_vinkelsky'));
    }

}


})();

var tv2navigation=new function() {
    this.prepareTopOnly = false;
    this.channels=this.bottomElements=this.portals=this.breadcrumb=this.section=new Array();
    this.curUrl=document.location.href.replace(/-(dyn|static)/, "");
    this.channelUrl='http://tv2.dk/';
    this.tabs=false;
    this.excludeSearch=false;
    this.writeTopBegin=function() {
        this.writeTopChannel();
        this.writeTopContent();
    }
    this.writeTopChannel=function() {
        var html;
        html = '<div id="tv2'+this.channel+'">';
        document.write(html);
    }
    
    this.getChannelListHTML = function() {
        var html = '<li class="tv2logo"><a href="http://tv2.dk/?top"><span class="tv2alt">TV&nbsp;2</span></a></li>';
        for (var i=0;i<this.channels.length;i+=3) {
            html +='<li class="tv2'+this.channels[i]+'"><a href="'+this.channels[i+1].formatStatstag('channel')+'"><span class="tv2alt">'+this.channels[i+2]+'</span></a></li>';
        }
        return html;
    }
    
    this.writeTopContent=function() {
        var html;
        html = '<div id="tv2top"><ul class="tv2channel">';
        html += this.getChannelListHTML();
        if (this.excludeSearch) {
            html+='<li class="tv2search"></li></ul>';
        } else {
                        html+='                <li class="tv2search">                    <form action="http://google.tv2.dk/soeg.php" method="get" target="_top" name="tv2search" id="cse-search-box">                        <input type="hidden" name="omraade" value="tv2.dk" />                        <table border="0" cellspacing="0" cellpadding="0">                            <tr>                                <td>                                    <input type="text" name="q" size="20" class="tv2query google-logo" />                                </td>                                <td width="5">&nbsp;</td>                                <td>                                    <input type="submit" value="S&oslash;g" class="tv2submit" />                                </td>                            </tr>                        </table>                    </form>                </li>            ';
        }
        html += '</ul>';
        document.write(html);
        (function() {
           var f = document.getElementById('cse-search-box');
           if (f && f.q) {
               var q = f.q;
               var n = navigator;
               var l = location;
               var b = function() {
                   if (q.value == '') {
                       q.className = q.className + ' google-logo';
                   }
               };
               var f = function() {
                   q.className = q.className.replace(/google-logo/g, '');
               };
               q.onfocus = f;
               q.onblur = b;
               if (!/[&?]q=[^&]/.test(l.search)) {
                   b();
               }
           }
       })();
    }
    this.writeTopEnd=function() { document.write('</div>'); }
    this.writeBottom=function() {
        this.renderBreadcrumb(this.breadcrumb);
        this.renderSection(this.section);
        if (this.tabs) this.tabs=new TV2_Tabs();
        var html='<div id="tv2bottom"><ul>';
        for (var i=0;i<this.bottomElements.length;i+=2) {
            html+='<li><a href="'+this.bottomElements[i].formatStatstag('bottom')+'"><span class="tv2alt">'+this.bottomElements[i+1]+'</span></a></li>';
        }
        html+='<li class="tv2valus"><a href="http://www.valus.dk/" target="_blank"><span class="tv2alt">Valus</span></a></li></ul></div></div>';
        html+='<div id="tv2bottombg"></div>';
        document.write(html);
    }
    this.writeBottomWithNoClosingDIV = function() {
        this.renderBreadcrumb(this.breadcrumb);
        this.renderSection(this.section);
        if (this.tabs) this.tabs=new TV2_Tabs();
        var html='<div id="tv2bottom"><ul>';
        for (var i=0;i<this.bottomElements.length;i+=2) {
            html+='<li><a href="'+this.bottomElements[i].formatStatstag('bottom')+'"><span class="tv2alt">'+this.bottomElements[i+1]+'</span></a></li>';
        }
        html+='<li class="tv2valus"><a href="http://www.valus.dk/" target="_blank"><span class="tv2alt">Valus</span></a></li></ul></div>';
        document.write(html);
    }


    this.writePortal=function() {
        if (this.selectedPortal=='') this.selectedPortal=this.curUrl;
        var bestMatch=0;
        var selectedItem='';
        for (var i=0;i<this.portal.length;i+=2) {
            if ((this.portal[i].length>=bestMatch) && (this.selectedPortal.indexOf(this.portal[i])!=-1)) {
                bestMatch=this.portal[i].length;
                selectedItem=this.portal[i];
            }
        }
        var html='<ul class="tv2portal"><li class="tv2first"><a href="'+this.channelUrl.formatStatstag('portal')+'"><span class="tv2alt">Forsiden</span></a></li>';
        for (var i=0;i<this.portal.length;i+=2) {
            if (this.portal[i]) {
                var classstr='p'+(i/2);
                if (this.portal[i]==selectedItem) classstr+=' tv2selected';
                html+='<li><a href="'+this.portal[i].formatStatstag('portal')+'" class="'+classstr+'"><span class="tv2alt">'+this.portal[i+1]+'</span></a></li>';
            }
        }
        html+='</ul>';
        document.write(html);
    }
    this.writeBreadcrumbBox=function() { document.write('<div id="tv2breadcrumbbox"><ul class="tv2breadcrumb" id="tv2crumbs"></ul><ul class="tv2section" id="tv2sections"></ul></div>'); }
    this.renderSection=function(section) {
        var contentObj=this.$('tv2sections');
        if (section.length>0 && section[0]!='' && contentObj) {
            var items=new Array();
            for (var i=0;i<section.length;i+=2) items[items.length]='<li><a href="'+section[i].formatStatstag('section')+'">'+section[i+1]+'</a></li>';
            contentObj.innerHTML+=items.join('<li>|</li>')+'<li class="tv2first">Aktuelt:</li>';
        }
    }
    this.addToBreadcrumb=function(crumb) {
        if (crumb[0].charAt(0)=='/') this.breadcrumb=this.breadcrumb.concat(new Array(document.location.hostname+crumb[0],crumb[1]));
        else this.breadcrumb=this.breadcrumb.concat(crumb);
    }
    this.renderBreadcrumb=function(crumbs) {
        crumbs=new Array(this.channelUrl,this.channelUrl.substring(0,this.channelUrl.indexOf('.dk')+3)).concat(crumbs);
        var contentObj=this.$('tv2crumbs');
        if (contentObj) {
            contentObj.innerHTML = '';
            var items=new Array();
            for (var i=0;i<crumbs.length;i+=2) items=items.concat('<li><a href="'+crumbs[i].formatStatstag('breadcrumb')+'">'+crumbs[i+1]+'</a></li>');
            contentObj.innerHTML+='<li class="tv2first">Her er du:</li>'+items.join('<li>&#187;</li>');
        }
    }
    this.writeCrossPromo=function() {
        document.writeln('<h1 class="tv2header">Se&nbsp;ogs&aring;</h1>');
TV2Helios.AD('cross1');
TV2Helios.AD('cross2');
document.writeln('<scr'+'ipt type="text/javascript" src="http://common.tv2.dk/js/contentbox.js"></scr'+'ipt>');
    }
    this.writeLeaderBoard=function() { this.writeBanner('Leaderboard'); }
    this.writeContentSquare=function() { this.writeBanner('Rektangel_Forsid'); }
    this.writeBanner=function(pos) { TV2Helios.AD(pos); }
    this.hideBanner=function() {}
    String.prototype.formatStatstag=function(tag) {
        if (this.indexOf('javascript:')==-1) {
            var url=(this.indexOf('://')!=-1)?this.substring(this.indexOf('://')+3):this;
            var exclude=new Array('folkeborsen.tv2.dk','tv2.bilzonen.dk');
            for (var i=0;i<exclude.length;i++) if (url.indexOf(exclude[i])!=-1) return ('http://'+url);
            return ('http://'+url+((url.indexOf('?')!=-1)? '&amp;' : '?')+tag);
        }
        return this;
    }
    this.$=function(id) {
        if (document.getElementById) return document.getElementById(id);
        else if (document.all) return document.all[id];
        else return false;
    }
    this.writeTopSimple = function() {
        this.excludeSearch = true;
        this.writePortal = function() { };
        this.prepareTopOnly = true;
    }
    this.writeBottomSimple = function() {
        this.writeTopContent();
        this.writePortal();
        this.writeTopEnd();
    }



}

function TV2_Tabs() {
    var tabContainers = document.getElementsByTagName('UL');
    for (var i=0; i<tabContainers.length; i++) { 
        if (tabContainers[i].className=='tv2tabs') { 
            var tab = tabContainers[i];
            var links=tab.getElementsByTagName('A');
            for (var j=0;j<links.length;j++) {
                if (links[j].className=='selected') {
                    var content = document.getElementById(links[j].hash.substring(1));
                    content.style.display='block';
                }
                links[j].onclick=function() {
                    this.blur();
                    var alltabs=this.parentNode.parentNode.getElementsByTagName('LI');
                    for (var k=0;k<alltabs.length;k++) {
                        var link = alltabs[k].getElementsByTagName('A').item(0);
                        if (link.hash!=this.hash) {
                            var content = document.getElementById(link.hash.substring(1));
                            content.style.display='none';
                            alltabs[k].className = '';
                        } else {
                            alltabs[k].className = link.className = 'selected';
                        }
                    }
                    var content = document.getElementById(this.hash.substring(1));
                    if (content.style.display!='block') content.style.display='block';
                    return false; 
                }
            }
        }
    }
    this.changeTab=function(container, tab) {
        var container=document.getElementById(container);
        var tabContainers = container.getElementsByTagName('UL');
        for(var i = 0; i < tabContainers.length; i++){
            if(tabContainers[i].className == 'tv2tabs'){
                var tabs = container.getElementsByTagName('LI');
                for(var x = 0; x < tabs.length; x++){
                    var a = tabs[x].getElementsByTagName('A');
                    if(a[0].innerHTML == tab){
                        tabs[x].className = 'selected';
                        a[0].className = 'selected';
                        var content = document.getElementById(a[0].hash.substring(1));
                        content.style.display='block';
                    }else{
                        tabs[x].className = '';
                        a[0].className = '';
                        var content = document.getElementById(a[0].hash.substring(1));
                        content.style.display='none';
                    }
                }
            }
            break;
        }
        return;
    }
}

/*
# filename: bmflStreamVS11.js
# tag version: VS11, revision 1183
*/

( function() { //begin of BM namespace

// LOCAL VARIABLES
var bmsLoc = 'statistik-gallup.net';

var bmsVer = 'VS11a';
var bmsHeader = window.location.protocol + '//' + bmsLoc + '/' + bmsVer + '/';

var bmsData = new Array();
var CLIENT_ACCOUNT = 0;
var CLIENT_COUNTRY = 1;
var CLIENT_ENCTYPE = 2;
var MEDIA_URL = 3;
var MEDIA_TITLE = 4;
var MEDIA_AGENT = 5;
var MEDIA_EVENT = 6;
var MEDIA_DURATION = 7;
var MEDIA_SMSEC = 8;
var USER_SCREEN = 9;

var bmsClientFlag = false;

var bmsUpdateFrequency = 10;
var bmsTimerStart = null;
var bmsTimer = 0;
var bmsImg = new Image();


// LOCAL FUNCTIONS
function bmsClientInit(bm_smac, bm_smcc, bm_smenc, bm_smsec, bm_smtitle, bm_duration) {
   if (!bmsClientFlag) {
      bmsData[CLIENT_ACCOUNT] = bm_smac;
      bmsData[CLIENT_COUNTRY] = bm_smcc;
      bmsData[CLIENT_ENCTYPE] = bm_smenc;
      
      if (window.screen) {
         bmsData[USER_SCREEN] = screen.width + screen.height + screen.colorDepth;
      }
      
      bmsData[MEDIA_URL] = document.location.href;
      bmsData[MEDIA_TITLE] = bm_smtitle;
      bmsData[MEDIA_AGENT] = "FLASH:" +  GetSwfVer();
      bmsData[MEDIA_DURATION] = bm_duration;
      bmsData[MEDIA_SMSEC] = bm_smsec.join('&');
      
      bmsClientFlag = true;
   }
}

function bmsStartTimer() {
   if(!bmsTimer)
      bmsTimer = setTimeout("bmsUpdateTimer()", 1000);
}

function bmsStopTimer() {
   if (bmsTimer) {
      clearTimeout(bmsTimer);
      bmsTimer = 0;
   }
   
   bmsTimerStart = null;
}

function bmsPrepField(encodedHtml) {
   if (encodedHtml.length > 256) {
      encodedHtml = encodedHtml.substring(0,253) + '...';
   }
   
   encodedHtml = encodedHtml.replace(/%/g, '');
   encodedHtml = encodedHtml.replace(/\?/g, '%3F');
   encodedHtml = encodedHtml.replace(/=/g,  '%3D');
   encodedHtml = encodedHtml.replace(/&/g,  '%26');
   encodedHtml = encodedHtml.replace(/@/g,  '%40');
   encodedHtml = encodedHtml.replace(/#/g,  '%23');
   encodedHtml = encodedHtml.replace(/\*/g,  '%2a');
   
   return(encodedHtml);
}

function bmsGetUpdateFreq(dur) {
   if(dur > 0) {
      if (dur > 120 ) {
         bmsUpdateFrequency = 60;
      } else if (dur <= 40 ) {
         bmsUpdateFrequency = 10;
      } else {
         bmsUpdateFrequency = 20;
      }
   }
}

function bmsSendEvent(event) {

   bmsData[MEDIA_EVENT] = event;
   
   var d = new Date();
   var smQueryString = bmsHeader + bmsData.join('*') + '*' + d.getTime() + '/';
   
   bmsImg.setAttribute('src', smQueryString);
}

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
   var version;
   var axo;
   var e;

   try {
      axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
      version = axo.GetVariable("$version");
   } catch (e) {}

   if (!version) {
      try {
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
         version = "WIN 6,0,21,0";
         axo.AllowScriptAccess = "always";
         version = axo.GetVariable("$version");
      } catch (e) {}
   }

   if (!version) {
      try {
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
         version = axo.GetVariable("$version");
      } catch (e) {}
   }

   if (!version) {
      try {
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
         version = "WIN 3,0,18,0";
      } catch (e) {}
   }

   if (!version) {
      try {
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
         version = "WIN 2,0,0,11";
      } catch (e) {
         version = -1;
      }
   }

   return version;
}

function GetSwfVer() {
   var flashVer = -1;

   if (navigator.plugins != null && navigator.plugins.length > 0) {
      if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
         var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
         var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
         var descArray = flashDescription.split(" ");
         var tempArrayMajor = descArray[2].split(".");
         var versionMajor = tempArrayMajor[0];
         var versionMinor = tempArrayMajor[1];
         
         if ( descArray[3] != "" ) {
            tempArrayMinor = descArray[3].split("r");
         } else {
            tempArrayMinor = descArray[4].split("r");
         }
         
         var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
         var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      }
   }
   else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
   else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
   else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
   else if ( isIE && isWin && !isOpera ) {
      flashVer = ControlVersion();
   }	
   return flashVer;
}

function getQueryVariable(variable) {
   var query = window.location.search.substring(1);
   var vars = query.split("&");
   
   for (var i=0;i<vars.length;i++) {
      var pair = vars[i].split("=");
      
      if (pair[0] == variable)
         return pair[1];
   } 
}


// GLOBAL FUNCTIONS
bmsUpdateTimer = function () {
   if (!bmsTimerStart)
      bmsTimerStart = new Date();
   
   if (bmsTimer)
   {
      clearTimeout(bmsTimer);
      bmsTimer = setTimeout("bmsUpdateTimer()", 1000);
   }
   
   var bmsTimerNow  = new Date();
   var bmsTimerDiff = bmsTimerNow.getTime() - bmsTimerStart.getTime();
   bmsTimerNow.setTime(bmsTimerDiff);
   
   var bmsSeconds = ( bmsTimerNow.getMinutes() * 60 ) + bmsTimerNow.getSeconds();
   if ( bmsSeconds % bmsUpdateFrequency == 0 && bmsSeconds != 0 )
      bmsSendEvent('update');
   
   bmsGetUpdateFreq(bmsSeconds + 1);
};

bmflCaptureState = function (bm_smac, bm_smcc, bm_smenc, bm_smsec, bm_smtitle, NewState, streamDuration) {

      bmsClientInit(bm_smac, bm_smcc, bm_smenc, bm_smsec, bm_smtitle, streamDuration);
      
      switch(NewState) {
         case 1:   //Stopped
            bmsStopTimer();
            bmsSendEvent('stop');
            break;
      
         case 2:   //Paused
            bmsSendEvent('pause');
            break;

         case 3:   //Playing
            bmsClientInit(bm_smac, bm_smcc, bm_smenc, bm_smsec, bm_smtitle, streamDuration);
            bmsStartTimer();
            bmsSendEvent('play');
            break;
            
         case 4:   //ScanForward
            bmsSendEvent('fwd');
            break;

         case 5:   //ScanReverse
            bmsSendEvent('rew');
            break;

         case 8:   //MediaEnded
            bmsStopTimer();
            bmsSendEvent('end');
            break;
      }
};

} ) (); //end of BM namespace
if (typeof TV2 === 'undefined') var TV2 = {};
TV2.StreamMetrix = {
	smac: 'tv2_st_dk',
	smcc: 'dk',
	smenc: 'utf-8',

	clipResources: {},

	addClipResource: function(playerId, clipTitle, clipTags, clipTime) {
		this.clipResources[playerId] = {
			'clipTitle': clipTitle,
			'clipTags'	: clipTags,
			'clipTime'	: clipTime
		};
	},

	getClipResource: function(playerId) {
		if (this.clipResources[playerId] && typeof this.clipResources[playerId] !== 'undefined') {
			return this.clipResources[playerId];
		} else {
			var d = new Date();
			var now = '' + d.getHours() + d.getMinutes() + d.getDate() + (d.getMonth()+1) + d.getYear();
			return {
				'clipTitle'	: "Unknown clip",
				'clipTags'	: new Array("clipError"),
				'clipTime'	: now
			};
		};
	},

	capture: function(playerId, captureState, clipDuration) {
		var clipResource = this.getClipResource(playerId);
		var smsec = new Array("smsec=" + clipResource.clipTime);
		for (var i=0; i < clipResource.clipTags.length;i++) {
			smsec.push("smsec=" + clipResource.clipTags[i]);
		}

		bmflCaptureState(
			this.smac,
			this.smcc,
			this.smenc,
			smsec,
			clipResource.clipTitle,
			captureState,
			clipDuration
		);
		return void(0);
	}
};
/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

if(typeof deconcept !== "undefined") {

    deconcept.SWFObject.prototype.useStreamMetrix = false;

    deconcept.SWFObject.prototype.doWrite = function (elementId, title, tags, date) {
        this.write(elementId);
        if(this.useStreamMetrix)
            this.createStreamMetrix(elementId, title, tags, date);
    }

    deconcept.SWFObject.prototype.setUseStreamMetrix = function (value) {
        this.useStreamMetrix = value;
    }

    deconcept.SWFObject.prototype.createStreamMetrix = function (elementId, title, tags, date) {
        TV2.StreamMetrix.addClipResource(elementId, title, tags, date);
    }

}
function TV2_Sputnik_open(url) {
    if (typeof(url)=='undefined') url = 'http://tv.sputnik.dk/';
    var w=window.screen.width;
    var h=window.screen.height;
    var param = 'height='+h+', width='+w+', location=no, menubar=no, resizable=no, titlebar=yes, toolbar=no, status=yes, directories=no, channelmode=no, scrollbars=no';
    if (browser.isIE && (window.navigator.userAgent.indexOf('SV1') == -1)) param += ', left=0, top=0'; // normal ie's must use left=0, top=0
    window.open(url, 'SputnikWindow', param).focus();
}

function openSputnikPopup(clipId, channelId){
    if (!channelId) channelId = 0;
    if (!clipId) clipId = 0;
    window.open('http://sputnik-dyn.tv2.dk/popup.php?nodeId=' + clipId + '&channelId=' + channelId, 'Sputnik', 'width=1000,height=495,resizable=no,scrollbars=no');
}
function TV2_Galleri_open(url) {
    if (typeof(url) == 'undefined') {
        url = 'http://galleri.tv2.dk/';
    }
    document.location.href = url;
}

function tv2_vipchat_popup(room) {
    if (typeof(room) == 'undefined') {
        var w=700; var h=550;
        var url = "http://irc.tv2.dk/livechat/index.php";
    } else {
        var w=800; var h=600;
        var url = "http://titanchat1.tv2.dk/index_user.php?channel="+escape(room);
    }
    var l=Math.floor(window.screen.width/2 - w/2);
    var t=Math.floor(window.screen.height/2 - h/2);
    window.open(url,"tv2vipchat","resizable=no,toolbar=no,scrollbars=no,menubar=no,status=yes,directories=no,width="+w+",height="+h+",left="+l+",top="+t).focus();
}

function TV2_Radio_open(url) {
    if (typeof(url)=='undefined') url = 'http://netradio.tv2.dk/';
    var w=330;
    var h=490;
    var param = 'height='+h+', width='+w+', location=no, menubar=no, resizable=no, titlebar=yes, toolbar=no, status=yes, directories=no, channelmode=no, scrollbars=no';
    window.open(url, 'RadioWindow', param).focus();
}

function TV2_Konsol_Open() { TV2_Sputnik_open(); }
function TV2_Konsol_PlayClip(clipNodeId, channelNodeId) { TV2_Konsol_Open(); }
function TV2_Konsol_OpenChannel(channelNodeId) { TV2_Konsol_Open(); }
function TV2_Konsol_PlayLive() {
    if (typeof(browser)=="undefined" || browser.isIE) TV2_Konsol_Open();
    else document.location.href = 'http://video.tv2.dk/files/wmv/tv2live.asx';
}
var OAS_kagenavn = '';
function OAS_getCookie() {}
function OAS_setCookie() {}
function OAS_annoy() {}
function OAS_annoyed() {}
var OAS_timeout_sky = null;
var OAS_timeout_steps = 0;
var OAS_timeout_offset = 0;
function OAS_updateSkyskaber() {}
function OAS_delayedSkyUpdate() {}
function OAS_initSkyskaber() {}

function OAS_CheckPos(pos) { 
    if (typeof(OAS_listpos)!='undefined') {
        if (OAS_listpos.indexOf(pos)==-1) return false;
    }
    return true; 
}
function OAS_AD(pos) { TV2Helios.AD(pos); }
function OAS_AdText() { TV2Helios.AdText(); }
function OAS_InternAdText() { TV2Helios.InternAdText(); }
function OAS_Submit() {}
function OAS_Link() {}

/**
 * Initialization of TV2SOUND module.
 *
 * @author Bojan Popadic <bopo@tv2.dk>
 * @module TV2SOUND
 */
if (typeof TV2SOUND == "undefined") {
    TV2SOUND = {};
}

/* Initialize TV2SOUND modules. */
TV2SOUND.Player     = {};
TV2SOUND.List       = {};

/**
 * MP3 flash player is controled by this module. The player itself
 * is a flash object that is embeded in the HTME code an is invissible
 * for the user.
 *
 * @author Bojan Popadic <bopo@tv2.dk>
 * @module Player
 */
TV2SOUND.Player = function() {
    /**
     * Id of playing element, null if none is playing.
     *
     * @property playingId
     * @private
     * @type Int
     */
    var playingId = null;

    /**
     * Indicates whether the player is generated or not.
     *
     * @property isGen
     * @private
     * @type Boolean
     */
    var isGen = false;
    
    /**
     * HTML code for flash player.
     *
     * @property html
     * @private
     * @type String
     */
    var playerHTML =
        '<div style="width: 0px; height: 0px;">' + "\n" +
        '  <object type="application/x-shockwave-flash" data="' + 'http://common.tv2.dk/flash/knaplyd.swf' + '" width="0" height="0" id="tv2SoundFlashPlayer" name="tv2SoundFlashPlayer">' + "\n" +
        '    <param name="movie" value="' + 'http://common.tv2.dk/flash/knaplyd.swf' + '">' + "\n" +
        '    <param name="bgcolor" value="#FFFFFF">' + "\n" +
        '    <param name="AllowScriptAccess" value="always">' + "\n" +
        '    <param name="flashvars" value="null">' + "\n" +
        '  </object>' + "\n" +
        '</div>' + "\n";


    
    /**
     * Checks if mp3 flash player is generated.
     *
     * @method isGenerated
     * @return {Boolean} True if player is generated, false otherwise.
     */
    var isGenerated = function() {
        return isGen;
    };

    /**
     * Gets the mp3 flash player.
     *
     * @method getPlayer
     * @return {String} Flash player HTML code.
     */
    var getPlayer = function() {
        return document.getElementById('tv2SoundFlashPlayer');
    };

    /**
     * Set the style for the list.
     *
     * @method setStyle
     * @param id {Int} Element id.
     */
    var setStyle = function(id) {
        if (id == null) return; // Nothing to do, return...
        div = document.getElementById('node'+id);
        if (!div) return;
        
        if (div.className == 'mp3TeaserFull') { // Long list
            var childs = div.getElementsByTagName('div');
            for (var i = 0; i < childs.length; i++) {
                if (childs[i].className == 'playIcon') { childs[i].className = 'playIcon pause'; }
                else if (childs[i].className == 'playIcon pause') { childs[i].className = 'playIcon'; }
            }
        } else if (div.className == 'mp3TeaserShort') { // Short list
            var childs = div.getElementsByTagName('a');
            for (var i = 0; i < childs.length; i++) {
                if (childs[i].className == 'tv2MP3PlayLink') { childs[i].className = 'tv2MP3PlayLink pause'; }
                else if (childs[i].className == 'tv2MP3PlayLink pause') { childs[i].className = 'tv2MP3PlayLink'; }
            }
        }
    };
    
    /* Public fields and methods. */
    return {
        /**
         * Generate mp3 flash player HTML code.
         * This is generated within <body> tag element.
         *
         * @method generatePlayer
         */
        generatePlayer: function() {
            if (!isGenerated()) {
                document.write(playerHTML);
                isGen = true;
            }
        },

        /**
         * Sets the style according to current playing element.
         * This method is provided as a callback function for flash player.
         *
         * @method resetStyle
         */
        resetStyle: function() {
            setStyle(playingId);
            playingId = null;
        },
        
        /**
         * Play mp3 file via flash object.
         *
         * @method togglePlay
         * @param url {String} URL to MP3 file.
         * @param id {Int} Element id for which to set the style.
         * @return {boolean} False(onclick only) if player was able to play the file, true otherwise(href tag used instead).
         */
        togglePlay: function(url, id) {
            var player = getPlayer();
            
            if (player) { // We have a generated player, toggle URL specified MP3 file and set styles.
                player.toggleMP3(url);
                setStyle(id);
                if (id == playingId) { // Stop current play
                    playingId = null;
                } else { // Start new play
                    setStyle(playingId);
                    playingId = id;
                }
            }
        }
    }
}();

//<script>
/**
 * Sound Box lists are controled by this module.
 *
 * @author Bojan Popadic <bopo@tv2.dk>
 * @module List
 */
TV2SOUND.List = function() {
    /**
     * Constant representing the vertical slider speed.
     * 
     * @property VERTICAL_SPEED
     * @private
     * @final
     * @type {Float}
     */
    this.VERTICAL_SPEED = 0.30;
    
    /**
     * Constant representing the horizontal slider speed.
     *
     * @property HORIZONTAL_SPEED
     * @private
     * @final
     * @type {Float}
     */
    this.HORIZONTAL_SPEED = 0.25;

    /**
     * List which contains info about sound boxes.
     *
     * @property list
     * @type Object
     * @private
     */
    var list = {};

    /**
     * Adds information about a box to the list.
     *
     * @method addList
     * @param id {Int} Id of the box.
     * @param nrNodes {Int} Number of elements in the list.
     * @param pageLimit {Int} Max number of elements that can be on one page.
     * @param type {Int} Type of the list, that is layout type.
     */
    var addList = function(id, nrNodes, pageLimit, type) {
        list[id] = {'nrNodes' : nrNodes, 'nrPages' : Math.ceil(nrNodes/pageLimit), 'currPage' : 0, 'pageLimit' : pageLimit,  'type' : type};
    },

    /**
     * Gets a sound box given id.
     *
     * @method getBox
     * @param id {Int} Id of the box to get.
     * @return {HTMLElement} Sound box element.
     */
    getBox = function(id) {
        return document.getElementById('soundContent'+id);
    },

    /**
     * Sets the page counter.
     * 
     * @method setPages
     * @param id {Int} Id of the list element.
     */
    setPages = function(id) {
        var pagesDiv = document.getElementById('soundPages'+id);
        pagesDiv.innerHTML = 'side '+(list[id]['currPage']+1)+' / '+list[id]['nrPages'];
    },

    /**
     * Sets the links acording to current page.
     *
     * @method setLinks
     * @param id {Int} Id of the sound links element.
     * @param flag {Boolean} Enable or disable links.
     */
    setLinks = function(id, flag) {
        var linksDiv = document.getElementById('soundLinks'+id);
        var html = '';
        html += (list[id]['currPage'] <= 0 || !flag)
            ? '<div class="naviLinkDisabled left">'+(TV2SOUND.List.NAVI_TEXT ? 'forrige' : '')+'</div>'+"\n"
            : '<a class="prevPage" style="float: left;" href="javascript: TV2SOUND.List.slide('+id+', TV2SOUND.List.PAGE_BACKWARD);">'+(TV2SOUND.List.NAVI_TEXT ? 'forrige' : '')+'</a>'+"\n";
        html += '<div class="naviSeparator"> | </div>'+"\n";
        html += (list[id]['currPage'] >= list[id]['nrPages']-1 || !flag)
            ? '<div class="naviLinkDisabled right">'+(TV2SOUND.List.NAVI_TEXT ? 'nęste' : '')+'</div>'+"\n"
            : '<a class="nextPage" style="float: left;" href="javascript: TV2SOUND.List.slide('+id+', TV2SOUND.List.PAGE_FORWARD);">'+(TV2SOUND.List.NAVI_TEXT ? 'nęste' : '')+'</a>'+"\n";
        linksDiv.innerHTML = html;
    },

    /**
     * Slide a page forward or backward.
     *
     * @method slidePage
     * @param id {Int} Id of the list element.
     * @param offset {Int} Width offset to slide.
     * @param dir {Int} Direction of sliding.
     */
    slidePage = function(id, offset, dir) {
        var div = getBox(id);
        switch (dir) {
            case TV2SOUND.List.PAGE_FORWARD:
                if (list[id]['currPage'] >= list[id]['nrPages']-1) {
                    return;
                } else {
                    list[id]['currPage']++;
                }
                rolePage(id, div, -offset*list[id]['currPage'], dir);
                break;
            case TV2SOUND.List.PAGE_BACKWARD:
                if (list[id]['currPage'] <= 0) {
                    return;
                } else {
                    list[id]['currPage']--;
                }
                
                if (list[id]['currPage'] == list[id]['nrPages']-2) {
                    slideHeight(id, div, TV2SOUND.List.PAGE_BACKWARD);
                } else {
                    rolePage(id, div, -offset*list[id]['currPage'], dir);
                }
                break;
            default: /* User Error */
                break;
        }
    },

    /**
     * This method uses YAHOO library to do the actual sliding animation of pages (horizontal/width).
     *
     * @method rolePage
     * @param id {Int} Id of the list element.
     * @param div {HTMLElement} Sound box element.
     * @param offset {Int} Amount of pixels.
     * @param dir {Int} Direction type.
     */
    rolePage = function(id, div, offset, dir) {
        setPages(id);
        setLinks(id, false);
        var anim = new YAHOO.util.Anim(div, {left:{ to: offset }}, HORIZONTAL_SPEED, YAHOO.util.Easing.easeInStrong);
        if (dir == TV2SOUND.List.PAGE_FORWARD) {
            anim.onComplete.subscribe(
                function() {
                    if (list[id]['currPage'] >= list[id]['nrPages']-1) {
                        slideHeight(id, div, dir);
                    } else {
                        setLinks(id, true);
                    }
                }
            );
        } else {
            anim.onComplete.subscribe( function() { setLinks(id, true); } );
        }
        anim.animate();
    },

    /**
     * This method uses YAHOO library to do sliding animation of page height (vertical/height).
     *
     * @method slideHeight
     * @param id {Int} Id of the list element.
     * @param div {HTMLElement} Sound box element.
     * @param dir {Int} Direction type.
     */
    slideHeight = function(id, div, dir) {
        setLinks(id, false);
        var h = (list[id]['type'] == TV2SOUND.List.TYPE_SHORT) ? TV2SOUND.List.SHORT_HEIGHT : TV2SOUND.List.LONG_HEIGHT;
        switch (dir) {
            case TV2SOUND.List.PAGE_FORWARD:
                var c = list[id]['nrNodes'] - (list[id]['nrPages']-1)*list[id]['pageLimit'];
                var anim = new YAHOO.util.Anim(div, {height : { to: c*h }}, VERTICAL_SPEED, YAHOO.util.Easing.easeBoth);
                anim.onComplete.subscribe(
                    function () {
                        setLinks(id, true);
                    }
                );
                anim.animate();
                break;
            case TV2SOUND.List.PAGE_BACKWARD:
                var anim = new YAHOO.util.Anim(div, {height : { to: list[id]['pageLimit']*h }}, VERTICAL_SPEED, YAHOO.util.Easing.easeBoth);
                var offset = (list[id]['type'] == TV2SOUND.List.TYPE_SHORT) ? TV2SOUND.List.SHORT_WIDTH : TV2SOUND.List.LONG_WIDTH;
                anim.onComplete.subscribe(
                    function() {
                        rolePage(id, div, -offset*list[id]['currPage'], dir);
                        setLinks(id, true);
                    }
                );
                anim.animate();
                break;
            default: /* User Error */
                break;
        }
    };
    
    /*** Public fields and methods ***/
    return {
        /**
         * Constant representing the forward sliding direction of pages.
         * 
         * @property PAGE_FORWARD
         * @public
         * @final
         * @type {Int}
         */
        PAGE_FORWARD    : 1,

        /**
         * Constant representing the backward sliding direction of pages.
         *
         * @property PAGE_BACKWARD
         * @public
         * @final
         * @type {Int}
         */
        PAGE_BACKWARD   : 2,

        /**
         * Constant representing the short list type.
         *
         * @property TYPE_SHORT
         * @public
         * @final
         * @type {Int}
         */
        TYPE_SHORT      : 1,

        /**
         * Constant representing the long list type.
         *
         * @property TYPE_LONG
         * @public
         * @final
         * @type {Int}
         */
        TYPE_LONG       : 2,

        /**
         * Constant representing the short list width.
         *
         * @property SHORT_WIDTH
         * @public
         * @final
         * @type {Int}
         */
        SHORT_WIDTH     : 470,
        
        /**
         * Constant representing the short list height.
         *
         * @property SHORT_HEIGHT
         * @public
         * @final
         * @type {Int}
         */
        SHORT_HEIGHT    : 20,

        /**
         * Constant representing the long list width.
         *
         * @property LONG_WIDTH
         * @public
         * @final
         * @type {Int}
         */
        LONG_WIDTH      : 470,

        /**
         * Constant representing the long list height.
         *
         * @property LONG_HEIGHT
         * @public
         * @final
         * @type {Int}
         */
        LONG_HEIGHT     : 65,

        NAVI_TEXT : true,
        
        /**
         * Adds sound box relevant fields to the list.
         *
         * @method register
         * @param id {Int} Id of sound box element - used as list index.
         * @param nrNodes {Int} Number of elements in the list.
         * @param pageLimit {Int} Maximum number of elements that can be on one page.
         * @param type {Int} List type.
         */
        register : function(id, nrNodes, pageLimit, type) {
            addList(id, nrNodes, pageLimit, type);
        },
        
        /**
         * Switch a page using animation given id and direction.
         *
         * @method slide
         * @param id {Int} Id of sound element.
         * @param dir {Int} Direction type.
         */
        slide : function(id, dir) {
            switch (list[id]['type']) {
                case this.TYPE_SHORT:   slidePage(id, this.SHORT_WIDTH, dir); break;
                case this.TYPE_LONG:    slidePage(id, this.LONG_WIDTH, dir); break;
                default: /* User Error */
                    break;
            }
        }
    }
}();


var flv_gemius_identifier = 'Apfg8i_0m8DskLQMN3c_BZaFDmZFqRtM.4T86Lp2XRb.f7';
var flv_gemius_host = 'sdk.hit.gemius.pl';
var flv_gemius_proto = 'http://';
if (document.location && document.location.protocol && document.location.protocol=='https:') {
	flv_gemius_proto = 'https://';
}

function flv_gemius_parameters_fn() {
	var d=document;
	var href=new String(d.location.href);
	var ref;
	var f=0;
	var fv='-';
	if (d.referrer) { ref=new String(d.referrer); } else { ref=''; }
	if (typeof Error!='undefined') {
		var fo;
		eval('try { f=(d==top.document)?1:2; if (typeof top.document.referrer=="string") { ref=top.document.referrer } } catch(e) {f=3;}');
		eval('try { fv=navigator.plugins["Shockwave Flash"].description; } catch (e) {}');
		eval('if (typeof ActiveXObject!="undefined") { try { fo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); } catch(e) { try { fo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); fv="X"; fo.AllowScriptAccess="always"; } catch(e) { if (fv=="X") { fv="WIN 6,0,20,0"; }} try { fo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch(e) {} } if ((fv=="-" || fv=="X") && fo) { fv=fo.GetVariable("$version"); }}');
	}
	var url='&fr='+f+'&fv='+escape(fv)+'&tz='+(new Date()).getTimezoneOffset()+'&href='+escape(href.substring(0,499))+'&ref='+escape(ref.substring(0,499));
	if (screen) {
		var s=screen;
		if (s.width) url+='&screen='+s.width+'x'+s.height;
		if (s.colorDepth) url+='&col='+s.colorDepth;
	}
	return url;
}

var flv_gemius_parameters = flv_gemius_parameters_fn();

function flv_gemius_escape(str,limit) {
	function Hex(n) {
		var hexMap = "0123456789ABCDEF";
		return hexMap.charAt(n>>4)+hexMap.charAt(n&0xF);
	}
	var c,s,uc,ul;
	var dst = "";
	for (var i=0 ; i<str.length ; i++) {
		c = str.charCodeAt(i);
		if ((c>=0xDC00)&&(c<0xE000)) continue;
		if ((c>=0xD800)&&(c<0xDC00)) {
			i++;
			if (i>=str.length) continue;
			s = str.charCodeAt(i);
			if ((s<0xDC00)||(s>=0xE000)) continue;
			c = ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
		}
		if (c<0x80) {
			uc = escape(String.fromCharCode(c)).replace(/\+/g,"%2B").replace(/\//g,"%2F");
			if (c<=0x20) {
				ul=3;
			} else {
				ul=1;
			}
		} else if (c<0x800) {
			uc = "%u"+Hex(c>>8)+Hex(c&0xFF);
			ul = 2;
		} else if (c<0x10000) {
			uc = "%u"+Hex(c>>8)+Hex(c&0xFF);
			ul = 3;
		} else {
			uc = "%U"+Hex((c>>24)&0xFF)+Hex((c>>16)&0xFF)+Hex((c>>8)&0xFF)+Hex(c&0xFF);
			ul = 4;
		}
		limit -= ul;
		if (limit<0) {
			return dst;
		}
		dst+=uc;
	}
	return dst;
}

/*
*
* Events
*
*/

var FLV_eventListener = {
	init : function() {

		me = FLV_eventListener;

		me.flashObjectsArray = new Array();
		me.moviesArray = new Array();

		me.FLVTimeArray = new Object();
		me.FLVTimeArrayJS = new Object();

		me.lineNumber = 0;
		me.timeout = 300000;
		me.maxLength = 200;
		me.output=null;
		me.lastMovie=null;
		if (window.addEventListener) {
			window.addEventListener('unload',me.myOnUnload,true);
		} else if (window.attachEvent) {
			window.attachEvent('onunload',me.myOnUnload);
		}

		me.session_player = (new Date()).getTime().toString(36)+Math.round(Math.random()*100000000).toString(36)+Math.round(Math.random()*100000000).toString(36);
		
		setInterval('me.timeCheck();',me.timeout);
	},

	movieData : function(content_id, content_name, totalTime, userTime, customPackage) {
		if (me.lastMovie!=null) {
			me.sendMovieData(me.lastMovie);
		}

		totalTime = Math.round(totalTime/1000);
		var curr = me.moviesArray.length;
		me.lastMovie = curr;

		me.moviesArray[curr] = new Array();

		var customPackageStr="";
		if (customPackage!=undefined) {
			for (var i=0 ; i<customPackage.length ; i++) {
				if (i<customPackage.length-1) {
					customPackageStr+=customPackage[i]+";";
				} else {
					customPackageStr+=customPackage[i];
				}
			}
		}

		me.moviesArray[curr]["content_name"] = content_name;
		me.moviesArray[curr]["content_id"] = content_id;
		me.moviesArray[curr]["lastPlayTime"]="";
		me.moviesArray[curr]["currentTime"]="";
		me.moviesArray[curr]["totalTime"]=totalTime;
		me.moviesArray[curr]["lastTimeStamp"]="";
		me.moviesArray[curr]["firstTimeStamp"]=Math.round((new Date()).getTime()/1000);
		me.moviesArray[curr]["movieInfo"]=me.session_player+";"+Math.round(totalTime)+";"+me.moviesArray[curr]["firstTimeStamp"]+"|"+content_id+";"+content_name+";"+customPackageStr;
		me.moviesArray[curr]["data"]="";
	},

	closeMovieData : function(content_id, movieTime) {
		movieTime = Math.round(movieTime/1000);
		var curr = me.findElement(content_id);

		var tempTime = movieTime;

		if (me.FLVTimeArrayJS[content_id]!==undefined && me.moviesArray[curr]["lastPlayTime"]<me.FLVTimeArrayJS[content_id]) {
			var playLength = Math.round(movieTime - me.moviesArray[curr]["lastPlayTime"]);
			if (playLength>0 && playLength!=NaN) {
				me.moviesArray[curr]["data"]+="|"+me.moviesArray[curr]["lastTimeStamp"]+";"+Math.round(me.moviesArray[curr]["lastPlayTime"])+";"+playLength;
			}
			me.moviesArray[curr]["lastPlayTime"]="";
		} else if (me.moviesArray[curr]["lastPlayTime"]!=="" && me.FLVTimeArrayJS[content_id]===undefined) {
			var playLength = Math.round(movieTime - me.moviesArray[curr]["lastPlayTime"]);
			if (playLength>0 && playLength!==NaN) {
				me.moviesArray[curr]["data"]+="|"+me.moviesArray[curr]["lastTimeStamp"]+";"+Math.round(me.moviesArray[curr]["lastPlayTime"])+";"+playLength;
			}
			me.moviesArray[curr]["lastPlayTime"]="";
		}
	},

	findElement : function(content_id) {
		var i=me.moviesArray.length - 1;

		for (i=me.moviesArray.length - 1 ; i>-1 ; i--) {
			if (me.moviesArray[i]["content_id"]==content_id) {
				return i;
			}
		}

		return -1;
	},

	eventListener : function(content_id, movieTime, userTime, eventType) {
		movieTime = Math.round(movieTime/1000);
		userTime = Math.round(userTime/1000);
		var curr = me.findElement(content_id);

		var playLength = Math.round(movieTime - me.moviesArray[curr]["lastPlayTime"]);
		var lastString = "|"+me.moviesArray[curr]["lastTimeStamp"]+";"+Math.round(me.moviesArray[curr]["lastPlayTime"])+";"+playLength;
		if (playLength<=0) {
			playLength=0;
			lastString = "";
		}

		if (eventType === "playing") {
			me.moviesArray[curr]["lastTimeStamp"]= Math.round((new Date()).getTime()/1000) - me.moviesArray[curr]["firstTimeStamp"];
			me.moviesArray[curr]["lastPlayTime"]=movieTime;
		} else if (eventType === "complete") {
			if (window.opera) {
				me.sendMovieData(curr);
				me.moviesArray[curr]["data"]="";
				me.moviesArray[curr]["lastPlayTime"]="";
			}
		} else if (eventType !== "playing" && me.moviesArray[curr]["lastPlayTime"]!=="") {
			if (me.checkLength(curr,lastString)>me.maxLength) {
				me.sendMovieData(curr);
				me.moviesArray[curr]["data"]="";
				me.moviesArray[curr]["lastPlayTime"]="";
			} else {
				me.moviesArray[curr]["data"] += lastString;
				me.moviesArray[curr]["lastPlayTime"]="";
			}
		}
		if (eventType === "complete") {
			me.sendMovieData(curr);
		}
	},

	setTime : function(content_id,movieTime) {
		movieTime = Math.round(movieTime/1000);
		var curr = me.findElement(content_id);
		me.moviesArray[curr]["currentTime"]=movieTime;
	},

	traceData : function(id) {
		var outputData = "v=1|"+me.moviesArray[id]["movieInfo"]+me.moviesArray[id]["data"];

		if (typeof window.flv_gemius_images == 'undefined') {
			window.flv_gemius_images = new Array();
		}

		var gemius_l = window.flv_gemius_images.length;
		window.flv_gemius_images[gemius_l] = new Image();
		window.flv_gemius_images[gemius_l].src = flv_gemius_proto+flv_gemius_host+'/_'+(new Date()).getTime()+'/redot.gif?id='+flv_gemius_identifier+'&sarg='+flv_gemius_escape(outputData,240)+flv_gemius_parameters;
	},

	sendMovieData : function(id) {
		me.completeMovieData(id);

		if (me.moviesArray[id]["data"]!="") {
			me.traceData(id);
		}
		me.moviesArray[id]["data"]="";
	},

	sendAllMovieData : function() {
		for (var i=0 ; i<me.moviesArray.length ; i++) {
			me.completeMovieData(i);
			if (me.moviesArray[i]["data"]!="") {
				me.traceData(i);
				me.moviesArray[i]["data"]="";
			}
		}
	},

	completeMovieData : function(id) {
		var tempTime;
		if (window.opera) {
			for (var i=0 ; i<me.flashObjectsArray.length ; i++) {
				var element;
				element = document.getElementsByName(me.flashObjectsArray[i])[me.flashObjectsArray[i]];
				var tmpArr = element.getMovieTime();
				if (tmpArr[0] == me.moviesArray[id]["content_id"]) {
					tempTime = Math.round(tmpArr[1]/1000);
					break;
				}
			}
		} else {
			tempTime = me.moviesArray[id]["currentTime"];
		}
		if (me.moviesArray[id]["lastPlayTime"]!=="") {
			var playLength = Math.round(tempTime - me.moviesArray[id]["lastPlayTime"]);
			var lastPlayTimeTemp = Math.round(me.moviesArray[id]["lastPlayTime"]);
			if (playLength<0) {
				playLength=0;
			}
			me.moviesArray[id]["lastPlayTime"]=tempTime;
			if (playLength>0) {
				if (me.FLVTimeArrayJS[me.moviesArray[id]["content_id"]]!=undefined) {
					if (lastPlayTimeTemp<me.FLVTimeArrayJS[me.moviesArray[id]["content_id"]]) {
						me.moviesArray[id]["data"]+="|"+me.moviesArray[id]["lastTimeStamp"]+";"+lastPlayTimeTemp+";"+playLength;
					}
				} else {
					me.moviesArray[id]["data"]+="|"+me.moviesArray[id]["lastTimeStamp"]+";"+lastPlayTimeTemp+";"+playLength;
				}
			}
		}
	},

	checkLength : function(id,newData) {
		if (me.moviesArray[id]["data"] !== undefined) {
			var data = me.moviesArray[id]["data"];
			var info = me.moviesArray[id]["movieInfo"];
			var mylength = data.length + newData.length + info.length;
			return mylength;
		} else {
			return 0;
		}
	},

	timeCheck : function() {
		me.sendAllMovieData();
	},

	registerFLVTime : function(content_id,time) {
		me.FLVTimeArray[content_id]=Math.round(time);
		me.FLVTimeArrayJS[content_id]=Math.round(time);
	},

	registerFlashObject : function(name) {
		me.flashObjectsArray.push(name);
	},

	getFLVTimeArray : function() {
		return me.FLVTimeArray;
	},

	myOnUnload : function() {
		me.sendAllMovieData();
		var start = (new Date()).getTime();
		while (start+200>(new Date()).getTime());
	},

	checkBrowser : function() {
		if (window.opera) {
			return "Opera";
		} else {
			return "Other";
		}
	}
};
FLV_eventListener.init();


