Shadowbox.init();

$(function() {
	$('body').addClass('javascript');
	
	/********************* searchbox ****************************/
	
	var searchbox=$('#searchbox');
	
	if (searchbox.length) {
		$('.nojssubmit', searchbox).hide().after('<span class="jssubmit">'+
			$('.nojssubmit', searchbox).attr('value')+'</span>');
			
		$('.jssubmit', searchbox).bind('click', function() {
			$('#searchform', searchbox).submit();
		});
			
		$('#searchtext', searchbox).fieldlabelinside();
	}
	
	/*************** newsletter signup **************************/
	
	var newslettersignup=$('#newsletter-signup');
	
	if (newslettersignup.length) {
		$('.nojssubmit', newslettersignup).hide().after('<span class="jssubmit">'+
			$('.nojssubmit', newslettersignup).attr('value')+'</span>');
			
		$('.jssubmit', newslettersignup).bind('click', function() {
			$('form', newslettersignup).submit();
			return false;
		});
			
		$('#newslettersignupemail', newslettersignup).fieldlabelinside();
	}
	
	/*********************** videos *****************************/
	
	$('#featuredvideo .play').bind('click', function() {
		$(this).blur();
		return true;
	});
	
	$('#videogallery a').bind('click', function() {
		$(this).blur();
		return true;
	});
	
	/******************** dynamic forms **************************/
	
	var dynamicform=$('#dynamicform');
	
	if (dynamicform.length) {
		$('textarea', dynamicform).each( function() {
			if (' '==$(this).text())
				$(this).text('');
		});
		
		$('.textinputline input', dynamicform).each(function() {
			if ('placeline'!=$(this).parent().attr('id')) {
				$(this).fieldlabelinside();
				$('label', $(this).parent()).hide();
			}
		});
		
		$('textarea', dynamicform).each(function() {
			$(this).fieldlabelinside();
			$('label', $(this).parent()).hide();
		});
		
		$('#dynamicformnojavascriptsubmit', dynamicform).remove();
		dynamicform.append('<div id="dynamicformjavascriptsubmit" class="javascriptsubmit"><span>Submit</span></div>');
		
		$('#dynamicformjavascriptsubmit').bind('click', function() {
			$('.textinputline input', dynamicform).each(function() {
				if (!$(this).hasClass('changed')) {
					$(this).attr('value', '');
				}
			});
			
			$('textarea', dynamicform).each(function() {
				if (!$(this).hasClass('changed')) {
					$(this).attr('value', '');
				}
			});
			
			dynamicform.submit();
			
			return false;
		});
	}
	
	/******************** listing month filter **************************/
	
	var listingmonthfilter=$('#listingmonthfilter');
	
	if (listingmonthfilter.length) {
		$('li.l1', listingmonthfilter).each(function() {
			if (yeardisplayed != $('a.l1', $(this)).text()) {
				$(this).addClass('collapsed');
				$('ol.l2', $(this)).hide();
			}
		});

		$('a.l1', listingmonthfilter).bind('click', function() {
			$(this).blur();
			parentlistitem=$(this).parent().parent();
			if ($('a.l2', parentlistitem).is(':visible')) {
				$('ol.l2', parentlistitem).slideUp('fast');
				parentlistitem.addClass('collapsed');
			}
			else {
				$('ol.l2', parentlistitem).slideDown('fast');
				parentlistitem.removeClass('collapsed');
			}

			return false;
		});
	}
	
	$('#categoryfilter .nojssubmit').remove();
	$('#categoryfilter').bind('change', function() {
		$('#categoryfilter').submit();
	});	
});

function getID(strID) {
	return strID.replace(/[^0-9]/gi, '');
}

//ie6 hover functionality - add/remove over class on mouseover/out
$.fn.hoverfix = function() {
	this.each(function() {
		$(this).bind('mouseover', function () {
			$(this).addClass('over')
		});
		$(this).bind('mouseout', function () {
			$(this).removeClass('over')
		});
	});
}

//show associated label inside field then clear/reinstate it on focus/blur respectively
$.fn.fieldlabelinside = function() {
	var fieldlabel=$('label[for="'+$(this).attr('id')+'"]').text();
	
	if (''!=$(this).attr('value')) {
		$(this).addClass('changed');
	}
	else {
		$(this).attr('value', fieldlabel);
	}

	$(this).bind('focus', function() {
		$(this).addClass('focussed').addClass('changed');
		if (fieldlabel==$(this).attr('value')) {
			$(this).attr('value', '');
		}
	});

	$(this).bind('blur', function() {
		$(this).removeClass('focussed');
		if (''==$(this).attr('value')) {
			$(this).removeClass('changed');
			$(this).attr('value', fieldlabel);
		}

	});
}

//collapse list and display view more link
$.fn.collapsedList = function() {
	var id=$(this).attr('id');

	$(this).parent().append('<a href="" class="morelink" id="'+id+'_more">View more</a>');

	
	$('#'+id+'_more').bind('click', function () {
		$('li', $('#'+id)).slideDown('fast');
		$(this).slideUp('fast');
		return false;
	});
}