﻿(function($) {

	$.play2bfit = $.play2bfit || {};
	$.play2bfit.page = {

		quoteSelector: ".testimonials p",

		quoteCount: 0,
		quoteIndex: -1,
		fadeTime: 1000,     // animation duration (ms)
		holdTime: 8000,     // time between animations (ms)

		onReady: function() {
			this.quoteCount = $(this.quoteSelector).hide().length;
			this.showNextQuote(this.getRandomQuoteIndex());

			this.initContactForm();

			this.initMoreInfo();

			/*  
			//
			// Wire up footnote links.
			//        
			$("a.footnote").each(function(){
			var $link = $(this);
			var $info = $($link.attr("href"));
            
			$info.css({
			position: "absolute",
			left: 0,
			top: 0,
			zIndex: 9999
			});
            
			$link.get(0).info = $info.get(0);
            
			$("body").append($info.hide());
            
			$link.wrapInner('<span class="text"/>').prepend('<span class="icon"/>');
            
			$link.hover(
			function(){
			var $link = $(this);
			var $info = $(this.info);
			$info.css({
			left: $link.offset().left + $link.width(),
			top: $link.offset().top - $info.height() + $link.height()/2
			});
			var f = $.browser.msie ? $info.show() : $info.fadeIn();
			},
			function(){
			var $link = $(this);
			var $info = $(this.info);
			var f = $.browser.msie ? $info.hide() : $info.fadeOut();
			}
			);
			});
			*/

			so.write('mediaspace');
		},

		getRandomQuoteIndex: function() {
			return Math.floor(Math.random() * this.quoteCount);
		},

		getNextQuoteIndex: function() {
			return (this.quoteIndex + 1) % this.quoteCount;
		},

		showNextQuote: function(i) {
			var page = this;
			var index = i || page.getNextQuoteIndex();

			if (page.quoteIndex >= 0) {
				$(page.quoteSelector).eq(page.quoteIndex).fadeOut(page.fadeTime, function() { page.revealQuote(index); });
			} else {
				page.revealQuote(index);
			}
		},

		revealQuote: function(i) {
			var page = this;
			page.quoteIndex = i;
			$(page.quoteSelector).eq(page.quoteIndex).fadeIn(page.fadeTime, function() {
				setTimeout(function() { page.showNextQuote(); }, page.holdTime);
			});
		},

		validateRequestForm: function() {
			var $form = $('.request-panel');
			var $button = $form.find(':button, :submit');
			var $inputs = $form.find(':text');

			if (!$inputs.eq(0).val()) {
				alert('Your name is required for this form!');
				$inputs.eq(0).focus();
				return false;
			}

			if (!$inputs.eq(1).val()) {
				alert('Your e-mail address is required for this form!');
				$inputs.eq(1).focus();
				return false;
			}

			if (!$inputs.eq(1).val().match(/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.[a-z][a-z]+|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i)) {
				alert('A valid e-mail address is required for this form!');
				$inputs.eq(1).focus();
				return false;
			}

			$button.val('Please Wait...').addClass('loading'); //.attr('disabled', 'disabled');

			return true;
		},

		initContactForm: function() {
			return;
			var $form = $('.request-panel');
			$form.find(':button, :submit').bind('click', function() {
				var $button = $(this);
				var $inputs = $form.find(':text');

				if (!$inputs.eq(0).val()) {
					alert('Your name is required for this form!');
					$inputs.eq(0).focus();
					return false;
				}

				if (!$inputs.eq(1).val()) {
					alert('Your e-mail address is required for this form!');
					$inputs.eq(1).focus();
					return false;
				}

				if (!$inputs.eq(1).val().match(/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.[a-z][a-z]+|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i)) {
					alert('A valid e-mail address is required for this form!');
					$inputs.eq(1).focus();
					return false;
				}

				$button.val('Please Wait...').attr('disabled', 'disabled');

				//__doPostBack($button.attr('id'), '');
			});
		},

		initMoreInfo: function() {

			var dx1 = 340;
			var dx2 = 400;

			var hasNews = $('.news').length ? true : false;

			if (hasNews) $('.details').hide();

			$('.details > ul').clone().appendTo('#row3');

			//var $p = $('<p/>').addClass('button').insertAfter($('.details'));
			var $p = $('<p/>').addClass('button').appendTo($('#row1'));

			$('<a/>').addClass('more button').text("Tell Me More").click(function() {
				var $a = $(this);
				var left = '+=' + dx2 + 'px';
				//$('ul:hidden').slideDown();
				$('#xrow1').animate({
					left: '-=' + dx1 + 'px'
				});

				$('.login-panel').animate({
					left: left,
					opacity: 0
				});

				if (hasNews) {
					$('.news').animate({
						left: left,
						opacity: 0
					});
				}

				$('.details').css({
					display: 'block',
					opacity: hasNews ? 0 : 1
				}).animate({
					left: left,
					opacity: 1
				});

				$('.request-panel').css({
					display: 'block',
					opacity: 0
				}).animate({
					left: left,
					opacity: 1
				}, function() {
					$('.request-panel :text:eq(0)').focus();
				});

				$('#row3').slideDown().fadeIn();

				$('.summary').add(this).fadeOut();
				$('.video').add($(this).siblings()).fadeIn();

			}).appendTo($p);

			$('<a/>').addClass('less button').text("Go Back").click(function() {
				var $a = $(this);
				var left = '-=' + dx2 + 'px';
				//$('ul:hidden').slideDown();

				$('#xrow1').animate({
					left: '+=' + dx1 + 'px'
				});

				$('.login-panel').animate({
					left: left,
					opacity: 1
				}, function() {
					$('.login-panel :text:eq(0)').focus();
				});

				$('.details').animate({
					left: left,
					opacity: hasNews ? 0 : 1
				});

				if (hasNews) {
					$('.news').animate({
						left: left,
						opacity: 1
					});
				}

				$('.request-panel').animate({
					left: left,
					opacity: 0
				});

				$('#row3').slideUp().fadeOut();

				$('.video').add(this).fadeOut();
				$('.summary').add($(this).siblings()).fadeIn();

			}).appendTo($p);
		}

	};

	$(document).ready(function() { $.play2bfit.page.onReady(); });

})(jQuery);
