
if (document.all && document.styleSheets && document.styleSheets[0] &&
  	document.styleSheets[0].addRule) {
  		// Feel free to add rules for specific tags only, you just have to call it several times.
  		document.styleSheets[0].addRule('img', 'behavior: url(/themes/lifecast/scripts/iepngfix.htc)');
}


function playerReady(obj) { player.playerReady(); };
function playerStateListener(state) { playlist.stateListener(state); };

var playlist = {
	items: new Array(),
	current: new Object(),
	currentIndex: 0,
	types:  {
		possible: new Array('12secondes', 'blip', 'phreadz', 'qik'),
		impossible: new Array('bambuser', 'howcast', 'revver', 'seesmic', 'viddler', 'vimeo', 'youtube')
	},
	init: function() {
		this.load();
		$('.autoplayTrigger').click(function() {
			playlist.pick(playlist.currentIndex);
		});
		$('#playlistService').change(function() {
			playlist.load();
		});
	},
	load: function() {
		$.ajax({
	        type:   	'post',
	        url:    	'/index/playlist',
			dataType: 	'json',
			data: 		'serviceType=' + $('#playlistService').val(),
	        success: 	function(response) {
				if (!checkServerResponse(response)) { return; }
				playlist.items = response.result.items;
				playlist.build(response.result.items);
			}
		});
	},
	build: function(items) {
		$('#playlist').empty();
		$.each(items, function(i, v) {
			var li = $('<li />').appendTo('#playlist');
			if (jQuery.inArray(v.type, playlist.types.impossible) != -1) {
				li.addClass('impossible');
			}
			var img = $('<img alt="" />').attr({
				src: v.pData,
				title: v.title
			}).click(function() {
				playlist.pick(i);
			}).appendTo(li);
		});
	},
	pick: function(index) {
		$('ul.playlist li').removeClass('active');
		$($('ul.playlist li')[index]).addClass('active');
		
		item = this.items[index];
		this.current = this.items[index];
		this.currentIndex = index;
		if (jQuery.inArray(item.type, playlist.types.impossible) != -1) {
			if (item.type == 'howcast') {
				player.playHowcast(item.mData);
				
			} else if (item.type == 'bambuser') {
				player.playBambuser(item.guid);
			} else if (item.type == 'revver') {
				player.playRevver(item.mData);
			} else if (item.type == 'seesmic') {
				var tmp = item.link.split('/video/');
				player.playSeesmic(tmp[1]);
			} else if (item.type == 'viddler') {
				player.playViddler(item.mData);
			} else if (item.type == 'youtube') {
				player.playYoutube(item.mData);
			} else if (item.type == 'vimeo') {
				player.playVimeo(item.mData);	
			} 
		} else {
			player.play(item.mData);
		}
		
		if (item.type == '12secondes')
		{
			lightbox.initPcm(item.serviceId, item.id, 'twelveSecondes');
		}
		else
		{
			lightbox.initPcm(item.serviceId, item.id, item.type);
		}
		
	},
	stateListener: function(state) { 
		if (player.isPlaylist) return;
		// play next one
		if (state.newstate == 'COMPLETED') {
			if ($('#playlistRandom')[0].checked) {
				index = Math.floor(Math.random() * this.items.length);
				this.pick(index);
			} else {
				if (this.items[this.currentIndex + 1]) {
					this.currentIndex++;
					this.pick(this.currentIndex);
				} else {
					alert('Seems you have played all items in playlist');
					return;
				}
			}
		}
	},
}
var player = {
	playerWrapperId: 	 'video',
	playerPlaceholderId: 'videoPlaceholder',
	playerId: 			 'rezpondaPlayer',
	height: 			  342,
	width: 				  585,
	instance:   		  new Object(),
	isPlaylist: 		  false,
	init: function() {
		
		if (livestream && livestream != 'default') {
			this.remove();
	        var attributes = {
	            id: 				this.playerId,
	            name: 				this.playerId
	        };
	        swfobject.embedSWF(livestream.url, this.playerPlaceholderId, this.width, this.height, '9.0.115', false, livestream.flashvars, livestream.params, attributes);
		} else {
			this.play('');
		}
	},
	playerReady: function() {
		this.instance = document.getElementById(player.playerId);
		this.instance.addModelListener('STATE', 'playerStateListener');
	},
	// Common format
	play: function(theFile, optParams) {
		this.remove();
		
		var flashvars = {
        	file: 				theFile,
            autostart: 			'true',
			backcolor:			'0x37C5DD',
			frontcolor:			'0xDFF8FB',
			lightcolor:			'0xDFF8FB',
			screencolor:		'0xDFF8FB',
			stretching: 		'exactfit'
        };

		if (optParams) {
			if (optParams.image) flashvars.image = optParams.image;
			if (optParams.item) flashvars.item = optParams.item;
			if (optParams.playlist) {
				flashvars.playlist = optParams.playlist;
				flashvars.repeat = 'list';
				this.isPlaylist = true;
			}
            if (optParams.playlistsize) flashvars.playlistsize = optParams.playlistsize;
			if (optParams.skin) flashvars.skin = optParams.skin;
		}
		
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always'
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
        swfobject.embedSWF('/mediaplayer-4.1.60/player.swf', this.playerPlaceholderId, this.width, this.height, '9.0.115', false, flashvars, params, attributes);
	},
	// Youtube
	playYoutube: function(theFile) {
		this.remove();
		
		var flashvars = {
        	file: 				theFile,
            autostart: 			'true',
        };
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always',
			movie: 'http://s.ytimg.com/yt/swf/watch-vfl65425.swf'
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF(theFile, this.playerPlaceholderId, this.width, this.height -1, '9.0.115', false, flashvars, params, attributes);

	},
	// Vimeo
	playVimeo: function(theFile) {
		this.remove();
		
		var flashvars = {
        	file: 				theFile,
            autostart: 			'true',
        };
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always'
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF(theFile, this.playerPlaceholderId, this.width, this.height -1, '9.0.115', false, flashvars, params, attributes);

	},
	// Seesmic
	playSeesmic: function(videoId) {
		this.remove();
		
		var flashvars = {
        	video: 				videoId,
            version: 			'threadedplayer',
        };
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always',
			bgcolor:  			'#000000',
			movie: 				'http://seesmic.com/embeds/wrapper.swf'
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF('http://seesmic.com/embeds/wrapper.swf', this.playerPlaceholderId, this.width, this.height - 1, '9.0.115', false, flashvars, params, attributes);
	},
	//Viddler
	playViddler: function(playerUrl) {
		this.remove();

		var flashvars = {};
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always',
			movie: 				playerUrl
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF(playerUrl, this.playerPlaceholderId, this.width, this.height - 1, '9.0.115', false, flashvars, params, attributes);
	},
	// Revver
	playRevver: function(theFile) {
		this.remove();
		
		var flashvars = {
        	file: 				theFile,
            autostart: 			'true',
        };
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always'
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF(theFile, this.playerPlaceholderId, this.width, this.height -1, '9.0.115', false, flashvars, params, attributes);
	},
	// Howcast
	playHowcast: function(playerUrl) {
		this.remove();

		var flashvars = {};
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always',
			movie: 				playerUrl
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF(playerUrl, this.playerPlaceholderId, this.width, this.height - 1, '9.0.115', false, flashvars, params, attributes);
	},
	// Bambuser
	playBambuser: function(id) {
		this.remove();

		var flashvars = {
			vid: 				id,
			autostart:  		'yes'
		};
        var params = {
            allowfullscreen: 	'true',
            allowscriptaccess: 	'always',
			movie: 				'http://bambuser.com/r/player.swf'
        };
        var attributes = {
            id: 				this.playerId,
            name: 				this.playerId
        };
		swfobject.embedSWF('http://bambuser.com/r/player.swf', this.playerPlaceholderId, this.width, this.height - 1, '9.0.115', false, flashvars, params, attributes);
	},
	remove: function() {
		swfobject.removeSWF(this.playerId);
        var tmp = document.getElementById(this.playerWrapperId);
        if (tmp) { tmp.innerHTML = '<div id=' + this.playerPlaceholderId + '></div>'; }
		scroll(0, 0);
		
		
	},
};

var rez = {
	loggedIn: false,
	data: new Object(),
	tabList: new Object(),
	controlsSet: new Object(),
	init: function() {
		rez.checkState(true);
		rez.timer();
		rez.initControlTabs();
		$.each($('select[service]'), function(i, s) {
			$(this).change(function() {
				rez.loadService($(this).attr('service'), { type: 'customService', service: $(this).val() });
			});
		});
		playlist.init();
		
	},
	timer: function() {
		setTimeout(function() {
			rez.checkState(false);
			rez.timer();
		}, 10000);
	},
	initControlTabs: function() {
		$("#controls").idTabs(function(id, list, set) {
			
	    	$("a", set).parent().removeClass("active");
			$("a", set).filter("[@href='"+id+"']", set).parent().addClass("active");
	    	for(i in list) 
			{
	      		$(list[i]).hide();
			}
	    	$(id).fadeIn();
			
			//keep this list value for showControlTab function uses
			tabList = list; //list of tabs
			controlsSet = set; 
	    	return false;
	  	});
	},
	showControlTabs: function(serviceName) {
		//autoplay tab
		id = '#lcContent'; 
		//control of tabs - active or not active tab
		set =controlsSet;
		$("a", set).parent().removeClass("active");
		$("a", set).filter("[@href='"+id+"']", set).parent().addClass("active");
		
		//Hide all tabs' content
		for(i in tabList) 
		{
			$(tabList[i]).hide();
		}
		
		$('#postComment').add("")
		//Show content of current tab
		$(id).fadeIn();
		
		//set playlistService to new value
		var list = document.getElementById('playlistService');
		list.value = serviceName;
		
		//reload new playlist of service
		playlist.load();
	},
	showFav: function(item){
		var serviceName = item.type;
		var mData = item.url;
		var link = item.link;
		var serviceId = item.serviceId;
		var id = item.id;
		
		rez.showControlTabs(serviceName);
		
		switch(serviceName)
		{
			case 'flickr':
				break;
			default:
			if (jQuery.inArray(serviceName, playlist.types.impossible) != -1) {
				if (serviceName == 'howcast') {
					player.playHowcast(mData);
				} else if (serviceName == 'bambuser') {
					player.playBambuser(item.guid);
				} else if (serviceName == 'revver') {
					player.playRevver(mData);
				} else if (serviceName == 'seesmic') {
					var tmp = link.split('/video/');
					player.playSeesmic(tmp[1]);
				} else if (serviceName == 'viddler') {
					player.playViddler(mData);
				} else if (serviceName == 'youtube') {
					player.playYoutube(mData);
				} else if (serviceName == 'vimeo') {
					player.playVimeo(mData);	
				} 
			} else {
				player.play(mData);
			}	
			lightbox.initPcm(serviceId, id, serviceName);
			break;
		}
	},
	checkState: function(force) {
		var force = force == true ? 'force=true' : '';
		var params = '';
		for (var type in rez.services) {
			params += '&params[' + type + '][limit]=' + rez.services[type].rows;
			params += '&params[' + type + '][page]=' + rez.services[type].page;
			params += '&params[' + type + '][service]=' + rez.services[type].service;
		}
		
		$.ajax({
	        type:   	'get',
	        url:    	'/services/state?' + force,
			dataType: 	'json',
			data: 		params,
	        success: 	function(response) {
				if (!checkServerResponse(response)) { return; }
				for (var type in response.result.services) {
					if (response.result.services[type].items) {
						rez.customRowBuild(type, { type: 'init' }, response.result.services[type]);
						rez.data[type] = response.result.services[type].items;
					}
				}
				
				if (response.result.streamPlayer) {
					livestream = response.result.streamPlayer;
					player.init();
				}
			}
		});
	},
	loadService: function(type, argObj) {
		if (argObj.type == 'forward') {
			rez.services[type].page++;
		} else if (argObj.type == 'backward') {
			if (rez.services[type].page != 0) rez.services[type].page--;
			else return;
		} else if (argObj.rows == 'more') {
			rez.services[type].rows += 9;
		} else if (argObj.rows == 'less') {
			if (rez.services[type].rows != 9) rez.services[type].rows -= 9;
			else return;
		} else if (argObj.type == 'customService') {
			rez.services[type].page = 0;
			rez.services[type].service = argObj.service;
		} else return;

		var params = '&params[' + type + '][limit]=' + rez.services[type].rows;
		params += '&params[' + type + '][page]=' + rez.services[type].page;
		params += '&params[' + type + '][service]=' + rez.services[type].service;
		
		$.ajax({
	        type:   	'get',
	        url:    	'/services/load-items/type/' + type,
			dataType: 	'json',
			data:   	params,
	        success: 	function(response) {
				if (!checkServerResponse(response)) { return; }
				if (response.result[type] && response.result[type].items) {
					rez.customRowBuild(type, argObj, response.result[type]);
					rez.data[type] = response.result[type].items;
				}
			}
		});
	},
	customRowBuild: function(type, argObj, data) {
		if (!rez.services[type]) return;
		
		if (argObj.type == 'init')
			params = { opacity: 0 };
		else if (argObj.type == 'forward')
			params = { opacity: 0, left: "+=900px" };
		else if (argObj.type == 'backward')
			params = { opacity: 0, left: "-=900px" };
			
		var cId = '#' + type + 'Res';
		$(cId).animate(params, 500, null, function() {
			$(cId).empty();
			
			// Building selector
			$('select[service="' + type + '"]').empty();
			
			if (data.options.length != 1) {
				$('select[service="' + type + '"]').show();
				$('<option />').val('').html('Feed options').appendTo('select[service="' + type + '"]');
				$.each(data.options, function(i, o) {
					var opt = $('<option />').val(o.id).html(o.alias).appendTo('select[service="' + type + '"]');
					if (o.id == rez.services[type].service) opt.attr('selected', 'selected');
				});
			} else {
				$('select[service="' + type + '"]').hide();
			}
			
			// Build rss box
			fm = new FeedMenu();
			fm.write('#rssBox_' + type, data.options);
			
			
			// Building servive row
			rez.services[type].build(data.items);
			
			params.opacity = 1;
			if (argObj.type == 'forward') {
				$(cId).css('left', '-900px');
			} else if (argObj.type == 'backward') {
				$(cId).css('left', '900px');
			}
				
			$(cId).animate(params, 500, null, function() {});
			lightbox.initTt();
			picturePreview.init();
		});
	}
};
rez.services = {};

rez.services.flickr = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			if (!m.pData) return;
			var li = $('<li />').appendTo('#flickrRes');
			var a = $('<a class="picturePreview" />').appendTo(li).attr({
				//href: m.pData.substring(0, m.pData.length - 6) + m.pData.substring(m.pData.length - 4),
				//rel: m.pData.substring(0, m.pData.length - 6) + m.pData.substring(m.pData.length - 4),
				href: 'javascript:void(0)',
				title: m.title
			});
			var img = $('<img alt="thumbnail" class="rowThumbnail"/>').appendTo(a).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.flickr.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'flickr'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
		picturePreview.init();
	},
	play: function(index) {
		/*
		var item = rez.data.flickr[index];
		var url = item.mData;
		var part2 = url.substring(url.length - 4);
		var part1 = url.substring(0, url.length - 6);

		var url = part1 + part2;

		$('#lightboxTrigger').attr({
			href: url,
			title: item.title
		});
		$('#lightboxTrigger').click();
		*/
		
		if (this.service == 0) {
			var playlistUri = 'http://' + subdomainName + '.' + domainName + '/rss/2.0/service/flickr?page=' + this.page + '&limit=' + this.rows;
		} else {
			var playlistUri = 'http://' + subdomainName + '.' + domainName + '/rss/2.0/service/' + this.service;
		}
		
		//showPopup('flickr');
		player.play(playlistUri, {
        //    image: 			item.pData,
            item: 			index,
            playlist: 		'right',
            playlistsize:  100,
		});
	}
};
rez.services.seesmic = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#seesmicRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.seesmic.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'seesmic'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.seesmic[index];
		rez.showControlTabs('seesmic');
		player.playSeesmic(item.videoId);
		lightbox.initPcm(item.serviceId, item.id,'seesmic');
	}
};
rez.services.twitter = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, t) {
			var div = $('<div />').addClass('text').appendTo('#twitterRes');
			if (i == 0) { div.addClass('no_margin'); }
			
			var thumbnail = $('<div />').addClass('thumbnail').appendTo(div);
			if (t.pData != '') 
				var img = $('<img alt="" />').appendTo(thumbnail).attr('src', t.pData);
			else 
				var img = $('<img src="/themes/lifecast/images/guy.jpg" alt="" />').appendTo(thumbnail);

			var username = $('<div />').addClass('username').appendTo(div);
			var a = $('<a target="blank" />').appendTo(username).attr({
				href: 'http://twitter.com/' + t.author,
				title: 'Open twitter account page in new window'
			});	
			$('<h1 />').appendTo(a).html(t.author);
			
			var content = $('<div />').addClass('content').appendTo(div);
			$('<p />').appendTo(content).html(t.title).attr('title', t.pubDate);
		});
	}
};
rez.services.qik = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#qikRes');
			var a = $('<a href="#" />').appendTo(li);
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(a).attr({
				src: m.pData,
				title: 'qik.com/' + m.author
			}).click(function() {
				rez.services.qik.play(i);
			});
			
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'qik'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});	
	},
	play: function(index) {
		var item = rez.data.qik[index];
	
		rez.showControlTabs('qik');
		player.play(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'qik');
	}
};
rez.services.blip = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#blipRes');
			var a = $('<a href="#" />').appendTo(li);
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(a).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.blip.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a href="javascript:;" class="tt"/>').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'blip'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.blip[index];
		rez.showControlTabs('blip');
		player.play(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'blip');
	}
};
rez.services.youtube = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#youtubeRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.youtube.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'youtube'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.youtube[index];
		rez.showControlTabs('youtube');
        player.playYoutube(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'youtube');
	}
};
rez.services.vimeo = { 
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#vimeoRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.vimeo.play(i);
			});
			$('<br />').appendTo(li);

			// fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'vimeo'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.vimeo[index];
		rez.showControlTabs('vimeo');
		player.playVimeo(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'vimeo');
	}
};
rez.services.twelveSecondes = { 
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data,function(i, m) {
			var li = $('<li />').appendTo('#twelveSecondesRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.twelveSecondes.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'twelveSecondes'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.twelveSecondes[index];
		rez.showControlTabs('12secondes');
		player.play(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'twelveSecondes');
	}
};

rez.services.viddler = { 
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#viddlerRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.viddler.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'viddler'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.viddler[index];
		rez.showControlTabs('viddler');
		player.playViddler(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'viddler');
	}
};

rez.services.reuters = { 
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data,function(i, m) {
			var li = $('<li />').appendTo('#reutersRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.reuters.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'reuters'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.reuters[index];
		player.play(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'reuters');
	}
};

rez.services.twitpic = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#twitpicRes');
			var a = $('<a class="picturePreview" />').appendTo(li).attr({
				href: 'http://twitpic.com/show/full/' + m.guid,
				rel: 'http://twitpic.com/show/full/' + m.guid,
				title: m.title
			});
			var img = $('<img alt="thumbnail" class="rowThumbnail"/>').appendTo(a).attr({
				src: 'http://twitpic.com/show/full/' + m.guid,
				title: m.title
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'twitpic'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {}
};

rez.services.phreadz = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#phreadzRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.phreadz.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'phreadz'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.phreadz[index];
		rez.showControlTabs('phreadz');
		player.play(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'phreadz');
	}
};

rez.services.blinkx = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#blinkxRes');
			var a = $('<a class="picturePreview" />').appendTo(li).attr({
				href: m.pData,
				rel: m.pData,
				title: m.title
			});
			var img = $('<img alt="thumbnail" class="rowThumbnail"/>').appendTo(a).attr({
				src: m.pData,
				title: m.title
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'blinkx'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {}
};

rez.services.revver = { 
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#revverRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.revver.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'revver'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.revver[index];
		rez.showControlTabs('revver');
		player.playRevver(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'revver');
	}
};

rez.services.howcast = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#howcastRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.howcast.play(i);
			});
			$('<br />').appendTo(li);
			
			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'howcast'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.howcast[index];
		rez.showControlTabs('howcast');
		player.playHowcast(item.mData);
		lightbox.initPcm(item.serviceId, item.id,'howcast');
	}
};
rez.services.viralvideochart = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#viralvideochartRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.viralvideochart.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'viralvideochart'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.viralvideochart[index];
        player.play(escape(item.link));
	}
};

rez.services.bambuser = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#bambuserRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.bambuser.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'bambuser'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.bambuser[index];
		player.playBambuser(item.guid);
	}
};
rez.services.ted = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#tedRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.ted.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'ted'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});
	},
	play: function(index) {
		var item = rez.data.ted[index];
        player.play(escape(item.link));
		lightbox.initPcm(item.serviceId, item.id,'ted');
	}
};


rez.services.audioboo = {
	page: 0,
	rows: 9,
	service: 0,
	build: function(data) {
		$.each(data, function(i, m) {
			var li = $('<li />').appendTo('#audiobooRes');
			var img = $('<img alt="thumbnail" class="img rowThumbnail"/>').appendTo(li).attr({
				src: m.pData,
				title: m.title
			}).click(function() {
				rez.services.audioboo.play(i);
			});
			$('<br />').appendTo(li);

			// Fav button
			var a = $('<a class="tt" href="javascript:;" />').appendTo(li).attr({
				s: m.serviceId,
				i: m.id,
				t: 'audioboo'
			});
			var img = $('<img class="add" src="/themes/lifecast/images/add.png" alt="" />').appendTo(a);
			var span = $('<span />').appendTo(li).html(m.pubDate);
		});	
	},
	play: function(index) {
		var item = rez.data.audioboo[index];
		
		if (this.service == 0) {
			var playlistUri = 'http://' + subdomainName + '.' + domainName + '/rss/2.0/service/audioboo?page=' + this.page + '&limit=' + this.rows;
		} else {
			var playlistUri = 'http://' + subdomainName + '.' + domainName + '/rss/2.0/service/' + this.service;
		}
		
		player.play(playlistUri, {
            item: 			index,
            playlist: 		'right',
            playlistsize: 	(player.width - 320),
		});
	}
};
