/* UFC Community */
/* Markup Manipulation Functions
----------------------------------------------------------------------------- */


	$(window).load(function() {


/* ADD CLASSES
----------------------------------------------------------------------------- */

	// First <dt> and <dd> elements

	$('dl dt:first-child').addClass('first');
	$('dl dd:nth-child(2)').addClass('first');


	// Last <td> in event table rows

	$('div.widget-event table tr td:last-child').addClass('last');
	$('div.widget-event table tr td[class*="action"]').removeClass('last');


/* ADD EVENT RELATIONSHIP TOOLS
----------------------------------------------------------------------------- */

	if (page == "analysis" || page == "prediction") {
	
		topicRelater('div.widget-blog.modify','p','Choose an Event');
		topicRelater('div.widget-media.modify','fieldset','Choose an Event');

		if ($('div.widget-blog').length > 0 && $('div.widget-blog input[type=text]').val().length == 0) {
			$('div.widget-blog a.delete').parent().remove();
		}

	} else if (page == "update") {

		topicRelater('div.widget-blog.modify','p','Is this about an Event?','collapsed');
	
	} else if (page == "upload-photo") {

		topicRelater('div.widget-photo.modify','fieldset','Is this from an Event?','collapsed');
	
	} else if (page == "upload-video") {

		topicRelater('div.widget-media.modify','fieldset','Is this from an Event?','collapsed');
	
	}

	if (page == "analysis" || page == "prediction") {

		addEventName('div.widget-blog','submit');

	}


/* CALENDAR FLIPBOOK STYLING (requires :date => :short setting on widget)
----------------------------------------------------------------------------- */


	if ($('div.widget-event ul.events').length > 0) {

		$('div.widget-event ul.events li > strong').each(function() {

			var date = $(this).text();
			var month = date.match(/[a-zA-Z]{3}/); 
			var day = date.match(/\d{1,2}/);
			var year = date.match(/\d{4}/);

			$(this).text('');
			$(this).prepend('<abbr>' + month + '</abbr> ');
			$(this).append('<span>' + day + '</span>').append('<abbr>' + year + '</abbr>');

		});

	}


/* ELEMENT HIDING
----------------------------------------------------------------------------- */


	// Hide comment prompt if logged in & commments disabled
	if ($("div.widget-comment.modify").length == 0 && logged_in == "true") {
		
		$('#panel-comments').hide();

	}


	// Check for/hide empty tab panes & hide custom content placeholders from non-authors
	if (page == "profile" && author == "false") {

		$('div.placeholder').hide();
	
		removeEmptyPane('#panel-videos');
		removeEmptyPane('#panel-blog');
		removeEmptyPane('#panel-events');
		removeEmptyPane('#panel-photos');
		$('#panel-comments').css('visibility','visible');

	} else if (page == "friends") {
	
		removeEmptyPane('#panel-friends');
	
	}


	// Hide empty blog archive actions
	$('#blog-archive a.add:hidden').parent().parent().hide();


/* ELEMENT MOVING
----------------------------------------------------------------------------- */


	// News comment tallies
	$('div.widget-editorial ul.leads li').each(function(){
		
		var insertion = $(this).children('ul.actions');
		$(this).children('a.comments').clone().prependTo(insertion).wrap('<li></li>');
		$(this).children('a.comments:first').remove();
		
	});


	// Video title on display page
	if (page == 'video') {

		// Get Video Title
		var videoTitle = $('div.widget-media.display h3').text();
		
		// Prepend to Video
		$('#main').prepend('<div class="widget-media display video"><h3 style="display: block">' + videoTitle + '</h3></div>');
		
	}


	// Swap next/back buttons
	$('ul.paging').each(function(){
		
		if ($(this).find('a.next').length > 0) {
			
			var insertion = $(this).find('a.next').parent();

			$(this).find('a.back').parent().addClass('original').clone().insertAfter(insertion).removeClass('original');
			$(this).find('li.original').remove();
			
		}
				
	});


	// Move blog headline above event information on Analysis/Prediction posts
	if (page == "blog") {
		
		var headline = $('#blog > h4').text();
		var dateline = $('#blog > strong').text();
		
		if ($('div.widget-event').length > 0) {

			$('div.widget-blog > strong').remove();
			$('#main').prepend('<div class="widget-blog related display post"><h4 class="related">' + headline + '</h4><strong class="related">' + dateline + '</strong></div>')

		} else {

			$('#main').prepend('<div class="widget-blog display post"><h4 class="related">' + headline + '</h4></div>')
		
		}

		$('#blog > h4').hide();
		
	}


/* LINK CHANGES / ADDITIONS
----------------------------------------------------------------------------- */


	// Add classes to first <dt> and <dd> elements
	$('dl dt:first-child').addClass('first');
	$('dl dd:nth-child(2)').addClass('first');


	// Add class to last <td> in event tables
	$('div.widget-event table tr td:last-child').addClass('last');
	$('div.widget-event table tr td[class*="action"]').removeClass('last');


	// Shorten tooltip labels
	$("dl dt.comments").text("Comments");


	// Video Analyis/Prediction Prompts
	$('#video_analysis a.upload').each(function() {
	
		var modify_page = '/analysis/member/' + alias + '?medium=video';
		$(this).attr('href', modify_page);
	
	});

	$('#video_predictions a.upload').each(function() {
	
		var modify_page = '/prediction/member/' + alias + '?medium=video';
		$(this).attr('href', modify_page);
	
	});
	
	// Comment prompt
	$('div.firstcomment').click(function() {

		$('#panel-comments > ul').tabsClick(2);
		return false;

	});
	
	// Add Comment - Cancel Button Functionality
	$('#add-comment a.cancel').click(function() {

		$('#add-comment textarea').val('');
		$('#panel-comments > ul').tabsClick(1);				
		return false;
		
	});


	if (page == "index") {


		// Make a Prediction link in Featured Predictions panel
		$('#predictions ul.paging').remove();

		if (alias.length > 0) {
			$('#predictions ul.actions').prepend('<li><a class="action add" href="/prediction/member/' + alias + '">Make a Prediction</a></li>');
		} else {
			$('#predictions ul.actions').prepend('<li><a class="action add" href="/login">Make a Prediction</a></li>');
		}


	} else if (page == "profile") {


		// Pagination link in Favorite Videos pane
		$('#favorite-video ul.paging a.action').each(function() {
		
			$(this).attr('href', $(this).attr('href') + "#favorite-video");
		
		});

		// Popup external links
		$('a[rel=external]').click(function(){
	
			link = $(this).attr('href');
			window.open(link);
			return false;
	
		});
		

	} else if (page == "your-videos") {


		// Temporarily disabling linked pending videos
		$('#pending ul.clips a').attr('href', '#');


	} else if (page == "your-photos") {


		$('a.browse').parent().remove();

	
	} else if (page == "blog" || page == "video") {


		// Remove member alias from Event widget's display_page link
		$('div.widget-event a.details').each(function() {

			var url = $(this).attr('href');

			if (url.match('member')) {

				var member = url.split('/');
				member.splice(2, 2);
	
				var url = member.join('/');
		
			}

			if (tag.match('prediction') || tag.match('Prediction')) {
			
				if (page == "blog") {
					var url = url + '#predictions';
				} else {
					var url = url + '#video_predictions';
				}
			
			} else if (tag.match('analysis') || tag.match('Analysis')) {

				if (page == "blog") {
					var url = url + '#analysis';
				} else {
					var url = url + '#video_analysis';
				}
			
			}

			$(this).attr('href', url)

		});


		// Toggle Flag dialog on if flag=show is present in URL
		if ($('div.widget-media.display').hasClass('flag')) {
			toggleFlag();
		}

	
	} else if (page == "new-analysis" && alias.length > 0) {


		$('#sidebar ul.events li a.details').each(function() {
		
			var modify_page = $(this).attr('href');
			var modify_page = modify_page.replace('/analysis','/analysis/member/' + alias);
			$(this).attr('href', modify_page);
		
		});


	} else if (page == "new-predictions" && alias.length > 0) {


		$('#sidebar ul.events li a.details').each(function() {
		
			var modify_page = $(this).attr('href');
			var modify_page = modify_page.replace('/prediction','/prediction/member/' + alias);
			$(this).attr('href', modify_page);
		
		});


	} else if (page == "event" && alias.length > 0) {


		$('#analysis a.add').each(function() {
		
			var modify_page = $(this).attr('href');
			var modify_page = modify_page.replace('/analysis','/analysis/member/' + alias);
			$(this).attr('href', modify_page);
		
		});

		$('#predictions a.add').each(function() {
		
			var modify_page = $(this).attr('href');
			var modify_page = modify_page.replace('/prediction','/prediction/member/' + alias);
			$(this).attr('href', modify_page);
		
		});

		$('#video_analysis a.share').each(function() {
		
			var modify_page = '/analysis/member/' + alias + '/' + tag + '/' + topic + '?medium=video';
			$(this).attr('href', modify_page);
		
		});

		$('#video_predictions a.share').each(function() {
		
			var modify_page = '/prediction/member/' + alias + '/' + tag + '/' + topic + '?medium=video';
			$(this).attr('href', modify_page);
		
		});
	
	} else if (page == "friends") {


		// Add anchor links to next/back links
		$('div.pane').each(function() { 

			if ($(this).find('ul.paging').length > 0) {

				var tab = $(this).attr('id');

				$(this).find('a.next, a.back').each(function() {

					var link = $(this).attr('href');
					$(this).attr('href', link + '#' + tab);
				
				});

			}

		});	

		// Select tab pane matching anchor in URL
		$('div.panel ul.tabs li').each(function() {

			var url = window.location.toString().split('#');
			var anchor = '#' + url[1];
			var panel = $(this).parent().parent().attr('id');
			var tab = $(this).children('a').attr('href');
			var index = $('#' + panel + ' ul.tabs li').index(this);

			if (tab == anchor) {
	
				$('ul.tabs').tabs('select', index);
			
			}
		
		});

	}


	// Add member alias to Event widget's display_page link
	$('div.widget-event a.details').each(function() {

		if (page == "new-analysis" || page == "new-predictions") {

			var url = $(this).attr('href').split('/');
			var page = url[1];
			var tag = url[2];
			var topic = url[3];
			var url = '/' + page + '/member/' + alias + '/' + tag + '/' + topic;
	
			$(this).attr('href', url);

		}

	});
	

	// Add Comment Links to Blog Post Listings
	
	$('div.widget-blog ul.leads a.display').parent().each(function() {

		$(this).clone().insertAfter(this).children('a').text('Post a Comment');

	});


/* NETWORK SETTINGS IN-PAGE EDITOR
----------------------------------------------------------------------------- */


	if (page == "skin" || page == "profile") {


		// Initialize/toggle editor
		if ($("#network div.widget-network").length == 0) {
			$("#edit-network div.widget-network").show();
			$("#edit-network a.edit").addClass("cancel");
		} else {
			$("#edit-network div.widget-network").hide();
		}

		$("#edit-network a.edit").toggle(function(){

			$(this).addClass("cancel");
			$("#edit-network div.widget-network").show();
			$("#network h3, #network p").hide();
			return false;

		}, function(){

			$(this).removeClass("cancel");
			$("#edit-network div.widget-network").hide();
			$("#network h3, #network p").show();
			return false;

		});


		// Set maximum length for Network site title/tagline (to avoid sIFR wrapping)
		$("div.widget-network.modify #title").attr("maxlength","30");
		$("div.widget-network.modify #description").attr("maxlength","110");


		// Setup site title/tagline prompt fields
		$('#edit-network #title').each(function() {
						
			if ($(this).val() == "") {
				$(this).val('Give Your Profile a Title');
			}

		});
		
		$('#edit-network #description').each(function() {
						
			if ($(this).val() == "") {
				$(this).val('Promote Your Profile with a Tagline');
			}

		});

		$('#edit-network input[type=text]').click(function() {

			var data = $(this).val();
			$(this).attr('title', data);

			if ($(this).val().match("Give Your Profile a Title") || $(this).val().match("Promote Your Profile with a Tagline")) {
				$(this).val('');
			}

		});

		$('#edit-network input[type=text]').blur(function() {

			if ($(this).val() == "") {
				var data = $(this).attr('title');
				$(this).val(data);
			}

		});


		// Validate fields
		$('#edit-network input.save').click(function() {
			
			$('#edit-network form').submit(function() {
				
				if ($("#edit-network #title").val().match("Give Your Profile a Title")) {
					
					$("#edit-network #title").val('Give Your Profile a Title (Required)').addClass("error");
					return false;
				
				} else if ($("#edit-network #title").val().match("Promote Your Profile with a Tagline")) {

					$("#edit-network #title").val('');

				}
			
			});
			
		});

		
	};


/* SEARCH BOX - TEXT HINT
----------------------------------------------------------------------------- */

	// Appending Text to Search Header
	$("#search h3").text("Search Members");


	// Add title to member alias search box
	$("#member_alias").attr({"title": "Member Alias"});


/* VIDEO SHARE PANEL
----------------------------------------------------------------------------- */

	// Close button
	$('#share-video a.close').click(function() {
		
		$('#video-player').show();
		$('#share-video').hide();
		return false;
		
	});	


	// Auto-select video URL field
	$('#share-video .header input[type=text]').focus(function() {
		
		$(this).select();
		
	});


	// AIM sharing
	$('form#share').submit(function() {
		
		var screenName = $(this).find('input[type=text]').val();
		var aimURL = 'aim:goim?screenname=' + screenName + '&message=Hey!+I+found+this+cool+video+on+the+UFC+Community.+Check+it+out:+' + pageURL;
		$(this).attr('action', aimURL)
		
		if ($(this).find('input[type=text]').val().length < 0) {
			$(this).find('input[type=text]').val(' Required');
			$(this).find('input[type=text]').parent('label').addClass('error');
			return false;
		}
		
	});


/* TOGGLE ON DYNAMIC ELEMENTS
----------------------------------------------------------------------------- */

	$('div#loading').hide();
	$('div#layout').removeClass('loading');
	$('div#content').show();
	$('div.widget-alert').show();


/* sIFR TEXT REPLACEMENTS
----------------------------------------------------------------------------- */


	if (page == "profile") {

		sIFR.replace(sofachrome, {
	
			selector: '#network h3',
			wmode: 'transparent',
			css: ['.sIFR-root { color: #ffffff; text-transform: uppercase; text-align: center; font-style: italic; }']
	
		});
	
		sIFR.replace(gothic, {
	
			selector: '#network p',
			wmode: 'transparent',
			css: ['.sIFR-root { color: #9d9fa3; text-transform: uppercase; text-align: center; leading: -10; }']
	
		});
		
		sIFR.replace(gothic, {
	
			selector: '#profile h3 strong',
			wmode: 'transparent',
			css: ['.sIFR-root { color: #ffffff; text-transform: uppercase; text-align: center; }']
	
		});
	
	}
	
	if (page == "blog") {
		
		sIFR.replace(gothic, {
	
			selector: '#profile h3 strong',
			wmode: 'transparent',
			css: ['.sIFR-root { color: #ffffff; text-transform: uppercase; text-align: center; }']
	
		});
	
	}


/* END MARKUP MANIPULATION FUNCTIONS
----------------------------------------------------------------------------- */


	});