//Sky function library preload v1.01//
//firstly, lets see if we have a scripts and css path defined
var preloadscript = document.getElementById("preloadscript");
if( preloadscript ){eval( preloadscript.innerHTML )};
if( !window.basescriptpath ){ window.basescriptpath = '/scripts/' }
if( !window.basestylepath ){ window.basestylepath = '/styles/' }


// Jquery extensions //
//image loader
$.fn.image = function(src, f){

   return this.each(function(){
	$("<img />").appendTo(this).each(function(){
		this.onload = f;
		this.src = src;

     });
   });
}

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);


//flash/js  communication function
function getFlashOb(movieName){return document.getElementById(movieName)}

//cookies
getCookie = function(name) {

	var nameEQ = name + "=";
	var ca = document.cookie.split(';');

	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}

	return null;
}

setCookie = function(name,value,days) {

	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}

	else expires = "";

	document.cookie = name+"="+value+expires+"; path=/";


}

//Javascript styles
document.write("<style type=text/css>.js-hdn {display:none} .swf-embed {display:none}</style>");


//banner alignment function//
base468 = function(){

	if($('#base-ad-leaderboard iframe,#base-ad-leaderboard img,#base-ad-leaderboard object,#base-ad-leaderboard embed')[0]){

		$('#base-ad-leaderboard iframe,#base-ad-leaderboard img,#base-ad-leaderboard object,#base-ad-leaderboard embed').each(function(){
			if($(this).width()=='468' || $(this).width() == '468px'){$(this).css({marginTop:14})}
			clearTimeout(window.base468Int);
		});

	}

	else{window.base468Int = setTimeout('base468()',100);}

}

// special dropdown ad code//
openSponsor = function(){$('#base-ad-leaderboard').animate({height: 308, opacity: 100}, 300);}
closeSponsor = function(){$('#base-ad-leaderboard').animate({height: 115, opacity: 100}, 300);}

function initSponsor(p,c){
	if(!c){c="dropDownSponsor"}
	if(!p){p=8000}
	else{p=p*1000}

	if(getCookie(c)!='false'){
			$('#base-ad-leaderboard').animate({height: 308, opacity: 100}, 300,function(){
			document.getElementById('connect-sponsorAd1').GotoFrame('2');

			setTimeout(function(){

				document.getElementById('connect-sponsorAd1').GotoFrame('3');
				$('#base-ad-leaderboard').animate({height: 115, opacity: 100}, 300)},p

			);

			setCookie(c,'false');});
		}

}

//styleswitcher//
baseStyleSwitch = {

	init:function(){

		if($('body')[0]){

			if(getCookie('basestyle')){

				if(getCookie('basestyle')!='default'){
					$('body').addClass(getCookie('basestyle'));
					clearTimeout(baseStyleSwitch.timeout);
				}

			}

		}

		else{baseStyleSwitch.timeout = setTimeout("baseStyleSwitch.init()",100)}
		baseStyleSwitch.bind();

	},

	bind:function(){

		$(function(){

			$('.base-styleswitch-enable a').click(function(){
				$('body').removeClass();
				var c = $(this).attr('rel');

				if(c!='default'){$('body').addClass($(this).attr('rel'));}

				setCookie('basestyle',c);

			})


		})


	}

}

/* some print functions*/
printpage = {

		format:function(){

			var html = "<a href='http://"+location.hostname+location.pathname+"' class='base-print-button' id='printversion'>Return to page</a>  <a class='base-print-button' href='javascript:window.print();void(0)'>Print Now</a>";

			$('head link').attr('href',window.basecsspath+'print.css');
			$('body').prepend(html);

		},

		bind:function(){

			$('.base-print').click(function(){

				location.replace(location.href+"#printversion");
				printpage.format();


			})

		}

}

if(location.hash.match('printversion')){

	$(function(){printpage.format();})

}

//base468();
baseStyleSwitch.init();


//initilize advert: p = the delay in seconds the dropdown ad remains expanded, c is a unique name for ther placement(ie nike-ad-promo')
initSponsor = function(p,c){
	if(!c){c="dropDownSponsor"}
	if(!p){p=8000}
	else{p=parseInt(p)*1000}

	if(getCookie(c)!='false'){
			$('#tt-sponsor-expand').animate({height: 308, opacity: 100}, 1,function(){
			document.getElementById('connect-sponsorAd1').GotoFrame('2');
			setTimeout("document.getElementById('connect-sponsorAd1').GotoFrame('3');$('#tt-sponsor-expand').animate({height: 115, opacity: 100}, 300);",p);
			setCookie(c,'false');});
		}

}

//open advert
openSponsor = function(){$('#tt-sponsor-expand').animate({height: 308, opacity: 100}, 300);}
//close advert
closeSponsor = function(){$('#tt-sponsor-expand').animate({height: 115, opacity: 100}, 300);}


//some utilities
util = {
    checkFunc: function (f, c) {

        if (f) {
            return c('done')
        } else {
            window.checkF = setInterval(function (f) {

                if (f) {
                    clearInterval(window.checkF);
                    return c('done');
                }

            }, 300);
        }

    },
    ordinal: function (n) {
        var sfx = ["th", "st", "nd", "rd"];
        var val = n % 100;
        return n + (sfx[(val - 20) % 10] || sfx[val] || sfx[0]);
    },
    //check for flash versions
    hasFlash: function () {
        var isInstalled = false;
        var version = null;
        if (window.ActiveXObject) {
            var control = null;
            try {
                control = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');

            } catch (e) {
                version = 0


            }

            if (control) {
                isInstalled = true;
                version = control.GetVariable('$version').substring(4);
                version = version.split(',');
                version = parseFloat(version[0] + '.' + version[1]);

            }


        } else {
            if (navigator.plugins['Shockwave Flash']) {
                version = navigator.plugins['Shockwave Flash'].description;
                version = version.split('.')[0];
                version = parseInt(version.split('Flash ')[1]);
            } else {
                version = 0
            }

        }

        return version;
    },

    getquery: function (p) {

        var q = window.location.search.substring(1);
        q = q.replace('&amp;', '&');

        var v = q.split("&");

        for (var i = 0; i < v.length; i++) {

            var pair = v[i].split("=");
            return (pair[0] == p) ? pair[1] : false

        }

    },

    getoptions: function (p) {

        var r = p.def || 'false';

        if (p.opts && p.opts.length > 1) {

            var o = p.opts.split("&");
            $(o).each(function (i) {
                o[i].split('=')[0] == p.val && (r = o[i].split('=')[1])
            })

        }

        return p.parse ? parseInt(r) : r;


    },

    getStyleProperty: function (propName, element) {

        var prefixes = ['Moz', 'Webkit', 'Khtml', 'O', 'Ms'];

        element = element || document.documentElement;

        var style = element.style,
            prefixed;

        if (typeof style[propName] == "string") {
            return propName;
        }

        propName = propName.charAt(0).toUpperCase() + propName.slice(1);

        for (var i = 0, l = prefixes.length; i < l; i++) {

            prefixed = prefixes[i] + propName;

            if (typeof style[prefixed] == "string") {

                return prefixed;

            }
        }
    },

    debug: function (p) {

        if (location.href.match('demodesign2')) {

            if (window.console) {

                console.log(p);
            } else {

                alert(p);
            }

        }
    }
};

//stuff borrowed from bskyb
bskyb = {};

//cookies
bskyb.cookie = {};
bskyb.cookie.get = window.getCookie;
bskyb.cookie.set = window.setCookie;

bskyb.util = util;
