jQuery(function ($) {
	// comments form validation - could extend this with a fancy function one day....	
	if ($('#commentform')) {
		// add submit event
		$('#commentform').submit(function () {
			var submitForm = true;
			if ($('#author').val() == '') {
				$('#author').after('<span class="error-msg">* Required field</span>');
				$('#author').addClass('error');
				submitForm = false;
			}
			// do a basic regEx on the email
			var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
			if ($('#email').val() == '' || !filter.test($('#email').val())) {					
				$('#email').after('<span class="error-msg">* Valid email required</span>');
				$('#email').addClass('error');		
				submitForm = false;
			}
			if ($('#comment').val() == '') {
				$('#comment').after('<span class="error-msg">* Required field</span>');
				$('#comment').addClass('error');
				submitForm = false;
			}
			return submitForm;		
		});
		// add blur events
		$('#author, #email, #comment').blur(function () {
			if ($(this).val() != '') {
				$(this).removeClass('error');
				$(this).next('.error-msg').remove();	
			}			
		});
	}	
	
	// contact form validation - could extend this with a fancy function one day....
	if ($('.wpcf7-form')) {
		$('.wpcf7-form').submit(function () {
			var submitForm = true;
			if ($('.wpcf7-form INPUT[name=your-name]').val() == '') {
				$('.wpcf7-form INPUT[name=your-name]').after('<span class="error-msg">* Required field</span>');
				$('.wpcf7-form INPUT[name=your-name]').addClass('error');
				submitForm = false;
			}
			if ($('.wpcf7-form INPUT[name=your-subject]').val() == '') {
				$('.wpcf7-form INPUT[name=your-subject]').after('<span class="error-msg">* Required field</span>');
				$('.wpcf7-form INPUT[name=your-subject]').addClass('error');
				submitForm = false;
			}
			// do a basic regEx on the email
			var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
			if ($('.wpcf7-form INPUT[name=your-email]').val() == '' || !filter.test($('.wpcf7-form INPUT[name=your-email]').val())) {					
				$('.wpcf7-form INPUT[name=your-email]').after('<span class="error-msg">* Valid email required</span>');
				$('.wpcf7-form INPUT[name=your-email]').addClass('error');		
				submitForm = false;
			}
			if ($('.wpcf7-form TEXTAREA').val() == '') {
				$('.wpcf7-form TEXTAREA').after('<span class="error-msg">* Required field</span>');
				$('.wpcf7-form TEXTAREA').addClass('error');
				submitForm = false;
			}
			return submitForm;	
		});
		// add blur events
		$('.wpcf7-form INPUT.wpcf7-text, .wpcf7-form TEXTAREA').blur(function () {
			if ($(this).val() != '') {
				$(this).removeClass('error');
				$(this).next('.error-msg').remove();	
			}			
		});
	}
	
	// search box functionality
	if ($('#search')) {
		$('#s').focusin(function () {
			if ($(this).val() == 'Search the blog') {
				$(this).val('');
			}			
		}).focusout(function () {
			if ($(this).val() == '') {
				$(this).val('Search the blog');
			}			
		});
	}
	
	// client page images preload
	if ($('BODY.our-clients')) {
		$('BODY').append('<div id="preload"></div>');		
		// get the images 
		$('.clients-list A IMG').each(function () {
			// add to preload div
			var src = $(this).attr('src');
			src = src.replace('large', 'rollover-large');
			$('#preload').append('<img src="' +  src + '" />');
		});
		// trigger rollover
		$('.clients-list A IMG').hover(function () {
			var src = $(this).attr('src');
			src = src.replace('large', 'rollover-large');
			$(this).attr('src', src);
		}, function () {
			var src = $(this).attr('src');
			src = src.replace('rollover-large', 'large');
			$(this).attr('src', src);			
		});
	}
	
	// homepage client images preload
	if ($('BODY.home')) {
		$('BODY').append('<div id="preload"></div>');		
		// get the images 
		$('.clients-list A IMG').each(function () {
			// add to preload div
			var src = $(this).attr('src');
			src = src.replace('small', 'small-rollover');
			$('#preload').append('<img src="' +  src + '" />');
		});
		// trigger rollover
		$('.clients-list A IMG').hover(function () {
			var src = $(this).attr('src');
			src = src.replace('small', 'small-rollover');
			$(this).attr('src', src);;
		}, function () {
			var src = $(this).attr('src');
			src = src.replace('small-rollover', 'small');
			$(this).attr('src', src);	
		});
	}
	
});

function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function pauseOtherPlayers(e, vID) {
	if (e !== true) {
		// get the current player number
		var current = e.currentTarget.id;
		current = current.substr(current.lastIndexOf('_'));
		jQuery('object').each(function () {
			var flash = getFlashMovieObject(jQuery(this).attr('id'));
			// try catch block to stop some stupid NPObject error
			try {
				flash.stopVideo();
			}
			catch (err) {
				// silent fail				
			}
			
		});
	}
	else {	
		// stop all audio
		jQuery('.jpClass').each(function () {	
			jQuery(this).jPlayer('pause');
		});
		// stop videos
		jQuery('object').each(function () {
			// get the player id
			if (jQuery(this).attr('id') != vID) {;
				// stop the video
				var flash = getFlashMovieObject(jQuery(this).attr('id'));
				// try catch block to stop some stupid NPObject error
				try {
					flash.stopVideo();
				}
				catch (err) {
					// silent fail				
				}
			}		
		});
		old = true;
		current = false;
	}
	jQuery('.jpClass').each(function () {	
		// get the player number
		var old = jQuery(this).attr('id');
		old = old.substr(old.lastIndexOf('_'));
		if (old != current) {
			jQuery(this).jPlayer('pause');
		}
	});
}
