function readCookie(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;
}

function createVidListing(name,url,thumb,shortblurb) {
	vlist = new Element('li').addClassName('vidListing');
	vlink = new Element('a', { 'href': url }).addClassName().update(' ');
	vlink.insert(new Element('img', { 'src': thumb, 'alt': '[thumb]' }), 'top');
	vlink.insert(new Element('span').update(name), 'bottom');
	vlist.update(vlink);
	vlist.insert(new Element('span').addClassName('vidBlurb').update(' ' + shortblurb), 'bottom');
	return vlist;
}

function fetchRelated(id,limit) {
	new Ajax.Request('/videos/related/' + id + '/' + limit,
		{	method: 'get',
			onLoading:	function(transport) {
							var related = $('related');
							var rv_old = $('related_videos');
							if(related) {
								var loader = new Element('img',{ 'id': 'related_videos_loading', 'src': '/img/ajax-loader.gif' }).addClassName('loader');
								loader.setStyle({marginLeft: '93.5px', marginTop: '25px'})
								related.insert(loader);
								if(rv_old) rv_old.remove();
								var rv = new Element('ul',{ 'id': 'related_videos', 'style': 'display: none'}).addClassName('videos').addClassName('small');
								related.insert(rv);
							}
						},
			onSuccess: 	function(transport) {
							eval('var related = ' + transport.responseText);
							var rv = $('related_videos');
							related['clips'].each(
								function (item) {
									var vidListing = createVidListing(item['name'],item['linkUrl'],item['thumbnailUrl'],item['shortblurb']);
									rv.insert(vidListing);
								}
							);
							$('related_videos_loading').remove();
							rv.appear();
						}
		}
	);
}

function loadComments(video_id,thread_id, viewLink, postLink, profileLinkBase) {
	new Ajax.Request('/videos/thread/' + video_id + '?t=' + thread_id,
		{
			method: 'get',
			onSuccess: 	function(transport) {
							eval('var posts = ' + transport.responseText + '; ');
							$('comments').update('');
							posts.each(
								function(p) {
									var newPost = new Element('div',{ 'id': 'post_' + p.post_id });
									newPost.insert(new Element('span').addClassName('message').update(p.message));
									
									var poster = new Element('a',{ 'href': profileLinkBase + p.poster_id }).update(p.username);
									
									newPost.insert(new Element('span').addClassName('poster').update('posted by ').insert(poster));
									$('comments').insert(newPost);
								}
							);
							if(posts.length > 0) {
								$('commentActions').insert(new Element('a',{ href: viewLink }).update('View all comments'));
							}
							$('commentActions').insert(new Element('a',{ href: postLink }).update('Post a comment'));
						},
			onFailure:	function(transport) {
							$('comments').update('Failed to load comments');
							$('commentActions').update(new Element('a', { href: viewLink }).update('View comment thread on boards'));
						},
			onLoading:	function(transport) {
							var loader = new Element('img',{ 'id': 'comments_loading', 'src': '/img/ajax-loader.gif' }).addClassName('loading');
							loader.setStyle({marginLeft: '274px', marginTop: '25px'})
							$('comments').insert(loader);
						},
			onComplete: function(transport) {
							$('commentActions').appear();
						}
		}
	);
}
				
function checkAdulthood() {
	if(!readCookie('proclaimedAdult')) {
		contentWarning = new Element('div',{ id: 'contentWarning' });
		contentWarning.insert(new Element('h2').update('Mature Content (NSFW)'));
		contentWarning.insert(new Element('p').update(	'This video contains material not suitable for children or for ' +
														'the workplace, unless your workplace is cool.'
													)
												);
		paForm = new Element('form',{action: '/users/proclaimAdulthood', method: 'post'});
		paForm.insert(new Element('input',{ type: 'hidden', name: 'returnVideoURI', value: window.location }));
		paForm.insert(new Element('input',{ type: 'submit', value: 'I am over 18.' }));
		
		contentWarning.insert(paForm);
		$('center').update(contentWarning).addClassName('narrow');
	}
}

Event.observe(window,'beforeunload',function() { $f("*").each(function() { this.close(); }); });
