/**
 * @author Steve Peart
 * Functionality for click map
 */

$(function(){
	var last_shown;
	var tid;
	if($('base').attr('href')==window.location){
		processClickMap();
	}

	$('#content div.imagemap map area').hover(function(){
		name = $(this).attr('name');
		if(!$('#content div.imagemap img.hover_images').hasClass('clicked')){
			$('#content div.imagemap img.hover_images[name='+name+']').show();
		}
	});

	$('div#used_icons img').hover(function(){
		var name = $(this).attr('name');
		$('#content div.imagemap img.hover_images[name='+name+']').show();
	});
	
	
	
	$('#content div.imagemap img.hover_images').hover(function(){
		$(this).show();
	},function(){
		if(!$(this).hasClass('clicked')){
			$(this).hide();
		}
	});
	
	$('#content div.imagemap img.hover_images').click(function(){
		showContent($(this).attr('name'));
	});
	$('div.clickmap_content').click(function(){
		hideContent($(this).attr('name'));
		window.clearTimeout(window.tid);
	});
	
});

function timeoutInterval(){
	tid = window.setTimeout(function(){
		processClickMap();
	}, 7000);
	window.tid = tid;
	return tid;
}

function showContent(name){
	var obj = $('#content div.imagemap img.hover_images[name='+name+']');
	obj.addClass('clicked');
	$('div.clickmap_content[name='+obj.attr('name')+']').fadeIn(200);
	obj.show();
	return true;
}

function hideContent(name){
	var obj = $('div.clickmap_content[name='+name+']');
	obj.fadeOut(200);
	var item = $('#content div.imagemap img.hover_images[name='+obj.attr('name')+']');
	item.removeClass('clicked');
	item.hide();
	return true;
}

function processClickMap(){
	if(typeof(window.last_shown)=='undefined'){
		window.last_shown = 0;
	}else{
		lastContent = $('div.clickmap_content').get(window.last_shown-1);
		hideContent(lastContent.id);
	}
	index = Number(window.last_shown);
	items = $('#content div.imagemap img.hover_images');
	for(i=0;i<items.length;i++){
		if(i==window.last_shown){
			var item = items[i];
		}
	}
	showContent(item.name)
	if(index < items.length - 1){
		window.last_shown = window.last_shown + 1;
	}else{
		window.last_shown = 0;
	}
	timeoutInterval();
}

