/*
*************************************************
		
		Ombudsman JavaScript
		* Requires jQuery library
		
*************************************************
*/
	
/*----- Initialise ----------------------------*/
$(document).ready(function()
{
	clear_search();
	add_document_type_class();
	add_external_link_class();
	//filter_a_z_reports();
	//init_flag_cycle();
});

/*----- Clear search query on focus -----------*/
var clear_search = function()
{
	var default_value = "Search our website";
	var input = $("#quick-search input[name='query']");
	if(input.val() == "") input.val(default_value);
	var initial_value = input.val();
	
	input.focus(function()
	{
		if($(this).val() == initial_value) $(this).val("");
	}).blur(function()
	{
		if($(this).val() == "") $(this).val(initial_value);
	});
};

/*----- Flag cycling on home page ------------*/
var init_flag_cycle = function()
{
	$('#multilingual-brochure-flags').cycle({
			fx:			'fade',
			timeout:	4000,
			speed:		750
	});
};

/*----- Add .doc/.rtf/.etc class to links to documents ------------*/
var add_document_type_class = function()
{
	var document_types = new Array(
		'pdf',
		'doc',
		'zip',
		'rtf'
	);
	
	for (var i = document_types.length - 1; i >= 0; i--)
	{
		var doc = document_types[i];
		$("a[href$='"+doc+"']").addClass(doc);
	};
};

/*----- Add the :external selector to jQuery ------------*/
$.extend($.expr[':'],{
    external: function(a,i,m) {
        if(!a.href) {return false;}
        return a.hostname && a.hostname !== window.location.hostname;
    }
});

/*----- Add .ext to external text links (not image links) ------------*/
var add_external_link_class = function()
{
	$("a:external").each(function(index, extLink){
		var skip = false;
		
		$(extLink).parents().each(function(index, parent){
			if ((parent.id == 'section-nav' || parent.id == 'nav') || parent.id == 'footer')
			{
				skip = true
			}
		})
		
		if ($(this).children("img").length == 0 && skip == false)
		{
			$(this).addClass("ext");
		}
	});
}

/*----- filter A-Z reports page ------------*/
var filter_a_z_reports = function()
{
	$('#a-z_search').submit(function(){
		return false;
	});
	
	$('#a-z_search').keyup(function() {
		var searchString = $(this).children("input[type='text']").val();
		var listItems = $('#a-z > li');
		
		listItems.each(function(){
			if ($(this).text().search(new RegExp(searchString, 'i')) == -1)
			{
				$(this).hide();
			}
			else
			{
				$(this).show();
			}
		});
	});
}