// Planed Plant Object
var pp = {
	lang: 'cy',
	username: null,
	background: {
		enabled: true,
		wallpaper: '/planedplant/static/themes/default.jpg'
	}
};

pp.flash = {
	version: '9',
	express_install_src: '/planedplant/static/swf/global/express_install.swf',
	profile: function() {
		flash({
			id: 'pp_profile',
			src: '/planedplant/static/swf/global/profile.swf',
			width: 178,
			height: 347,
			flash_vars: {
				api_url: '/api2/' + pp.lang + '/user/profile.xml'
			},
			transparent: true,
			upgrade_message: '<div><img src="/planedplant/static/img/flash_upgrade_small_' + pp.lang + '.gif" /></div>'
		});
	},
	log_in: function() {
		flash({
			id: 'pp_log_in',
			src: '/planedplant/static/swf/global/log_in.swf',
			width: 178,
			height: 347,
			flash_vars: {
				submit_url: '/planedplant/' + pp.lang + '/mewngofnodi',
				redirect: location.href
			},
			transparent: true,
			upgrade_message: '<div><img src="/planedplant/static/img/flash_upgrade_small_' + pp.lang + '.gif" /></div>'
		});
	},
	mini_promos: function() {
		flash({
			id: 'pp_mini_promos',
			src: '/planedplant/static/swf/global/mini_promos.swf',
			width: 178,
			height: 347,
			flash_vars: {
				api_url: '/api2/' + pp.lang + '/promos/mini_promos.xml'
			},
			transparent: true,
			upgrade_message: '<div><img src="/planedplant/static/img/flash_upgrade_small_' + pp.lang + '.gif" /></div>'
		});
	}
};

pp.miniplayer = function(id, obj) {
	obj = getValue(obj, {});
	onready(function() {
		var width = getValue(obj.width, 274);
		var height = getValue(obj.height, 156);
		flash({
			id: 'miniplayer_' + id,
			src: '/planedplant/static/swf/mini_player.swf',
			width: width,
			height: height,
			flash_vars: {
				width: width,
				height: height,
				video_id: id,
				api_url: '/api2/' + pp.lang + '/mini_video.xml',
				thumbnail: getValue(obj.thumbnail, '/planedplant/static/img/miniplayer_bg.png')
			},
			transparent: true,
			upgrade_message: getValue(obj.upgrade_message, '<div><img src="/planedplant/static/img/flash_upgrade_miniplayer_' + pp.lang + '.gif" width="' + width + '" height="' + height + '" alt="" /></div>')
		});
	});
};

pp.standalone_miniplayer = function(obj) {
	if (!obj['id'] || !obj['src']) {
		return;
	}
	onready(function() {
		var width = getValue(obj.width, 274);
		var height = getValue(obj.height, 156);
		var props = {
			id: obj.id,
			src: '/planedplant/static/swf/mini_player_standalone.swf',
			width: width,
			height: height,
			flash_vars: {
				width: width,
				height: height,
				src: obj.src,
				thumbnail: getValue(obj.thumbnail, '/planedplant/static/img/miniplayer_bg.png'),
				upgrade_message: getValue(obj.upgrade_message, '<div><img src="/planedplant/static/img/flash_upgrade_miniplayer_' + pp.lang + '.gif" width="' + width + '" height="' + height + '" alt="" /></div>')
			},
			transparent: true
		};
		flash(props);
	});
};



// Language iteration
var lit = function(cy, en) {
	if (pp.user.lang === 'en') {
		return en;
	}
	return cy;
};


// If we pass a jQuery test (selector exists), execute callback(s)
var assert = function() {
	var selector = arguments[0];
	if (jQuery(selector).length) {
		for (var i = 1; i < arguments.length; ++i) {
			arguments[i]();
		}
		return true;
	}
	return false;
};


// Execute when the DOM is ready.
var onready = function() {
	if (typeof(jQuery) == 'undefined') {
		return;
	}
	for (var i = 0; i < arguments.length; ++i) {
		jQuery(document).ready(arguments[i]);
	}
};


// Returns value if not undefined, otherwise default. if default not set, returns false
var getValue = function(value, def) {
	if (typeof(value) !== 'undefined') {
		return value;
	}
	if (typeof(def) !== 'undefined') {
		return def;
	}
	return null;
};


// Returns true if not undefined, otherwise false
var isset = function(value) {
	if (typeof(value) !== 'undefined') {
		return true;
	}
	return false;
};


// Wrapper for swfobject
var flash = function(settings) {
	if (!isset(swfobject)) {
		return;
	}
	var version = getValue(settings.version, pp.flash.version);
	var expressInstall = getValue(settings.express_install, null);
	if (!swfobject.hasFlashPlayerVersion(version)) {
		if (!swfobject.hasFlashPlayerVersion('6.0.65') || !expressInstall) {
			if (isset(settings.upgrade_message)) {
				jQuery(function() {
					jQuery('#' + settings.id).html(settings.upgrade_message);
				});
			}
			return;
		}
	}
	if (expressInstall === true) {
		expressInstall = pp.flash.express_install_src;
	}
	var flashVars = getValue(settings.flash_vars, {});
	flashVars.lang = pp.lang;
	var attributes = getValue(settings.attributes, {});
	attributes.id = getValue(settings.id_prefix, 'flash_') + settings.id;
	var parameters = getValue(settings.parameters, {});
	parameters.menu = getValue(parameters.menu, 'false');
	parameters.allowscriptaccess = getValue(parameters.allowscriptaccess, 'always');
	parameters.allowfullscreen = getValue(parameters.allowfullscreen, 'true');
	if (getValue(settings.transparent, false) === true) {
		parameters.wmode = 'transparent';
	}
	swfobject.embedSWF(settings.src, settings.id, settings.width, settings.height, version, expressInstall, flashVars, parameters, attributes);
};


// Track pages
var pageTracker = null;
var trackInit = function() {
	jQuery.getScript('http://secure-uk.imrworldwide.com/v60.js', function() {
		pageTracker = nol_t({
			cid:     's4c',
			content: '0',
			server:  'secure-uk'
		});
		pageTracker.record().post();
	});
};
var track = function(page) {
	if (pageTracker === null) {
		return;
	}
	pageTracker.sectionEvent('section_content-description_' + page);
};
/*	// OLD GA code
var pageTracker = null;
var trackInit = function() {
	jQuery.getScript('http://www.google-analytics.com/ga.js', function() {
		pageTracker = _gat._getTracker('UA-2847543-1');
		pageTracker._initData();
		pageTracker._trackPageview();
	});
};
var track = function(page) {
	if (pageTracker === null) {
		return;
	}
	pageTracker._trackPageview(page);
};
*/


onready(
	trackInit,
	function() {
		assert('#pp_profile', function() {
			pp.flash.profile();
		});
		assert('#pp_log_in', function() {
			pp.flash.log_in();
		});
		assert('#pp_mini_promos', function() {
			pp.flash.mini_promos();
		});
	}
);
window.onload = function() {
	if (pp.background.enabled) {
		jQuery('body').css('background-image', 'url(' + pp.background.wallpaper + ')').css('background-attachment', 'fixed');
	}
	jQuery('#pp_minisite_footer a.external').attr('target', '_blank');
};