$.fn.setIndex = function(options) { 

	var defaults = {  
		text: ""
	};  
	 
	var options = $.extend(defaults, options); 

	return this.each(function(i) {
		
		
		var obj = $(this);
		var index = "";
		index+='<ul id="icons" class="ui-widget ui-helper-clearfix indexes'+convertToAlias(options.text)+'">';
			index+='<li class="ui-state-default ui-corner-all" >'+(options.text)+'</li>';
		index+='</ul>';
	
		$("body").append(index);
		
		var position = obj.attr('coords').split(',');
		if(obj.attr('shape') == "circle"){
			position[0]-=position[2];
			position[1]-=position[2];
		}
		
		if(obj.attr('shape') == "poly"){
			for(var i = 0; i < position.length; i+=2){
				if(position[i] < position[0]){
					position[0] = position[i];
				}
				if(position[i+1] < position[1]){
					position[1] = position[i+1];
				}
			}
		}
		
		var imageMapPosition = $("#imageMap").position();
	
		var top = parseInt(position[1])+parseInt(imageMapPosition.top)-20;
		var left = parseInt(position[0])+parseInt(imageMapPosition.left)-parseInt($('.indexes'+convertToAlias(options.text)).children().width());
	
		$('.indexes'+convertToAlias(options.text)).css("position","absolute");
		$('.indexes'+convertToAlias(options.text)).css("top",top+"px");
		$('.indexes'+convertToAlias(options.text)).css("left",left+"px");

	});
}
$.fn.tooltip = function(options) { 
	var defaults = {  
		length: 300,  
		minTrail: 20,  
		moreText: "more",  
		lessText: "less",  
		MyTooltip: "#tooltip"  
	};  
	 
	var options = $.extend(defaults, options);  
	
	return this.each(function() {  
		var my_tooltip = $(options.MyTooltip);
		obj = $(this);  
		
		obj.mouseover(function(){
			my_tooltip.css({opacity:1.0, display:"block"});
		}).mousemove(function(kmouse){
			var border_top = $(window).scrollTop(); 
			var border_right = $(window).width();
			var left_pos;
			var top_pos;
			var offset = 20;
			if(border_right - (offset *2) >= my_tooltip.width() + kmouse.pageX){
				left_pos = kmouse.pageX+offset-10;
			} else{
				left_pos = border_right-my_tooltip.width()-offset-10;
			}
				
			//if(border_top + (offset *2)>= kmouse.pageY - my_tooltip.height()){
			//	top_pos = border_top +offset;
			//} else{
			//	top_pos = kmouse.pageY-my_tooltip.height()-offset;-14
				top_pos = kmouse.pageY-my_tooltip.height();
			//}	
			my_tooltip.css({left:left_pos, top:top_pos});
		}).mouseout(function(){
			my_tooltip.css({left:"-9999px"});	
		});
		
	});
}


function overlay(){

	var imageMap = $("#imageMap");
	var thisClone = imageMap.clone();
	
	
	var leftPos = parseFloat(imageMap.css('left'));
	var topPos = parseFloat(imageMap.css('top'));
	
	
	if ($.browser.webkit) {
	
		var position = imageMap.aPosition();
	}else{
		var position = imageMap.position();
	}
	var position = imageMap.position();
	thisClone.css("position","absolute");
	imageMap.css("top","541px");
	thisClone.css("top","541px");
	//thisClone.css("marginLeft",position.left);
//alert(position.left)
	
	$("#imageMap").css("position","absolute");
	thisClone.attr("id","imageMapHover");
	//imageMap.attr("src", "images/image_bike_box/copperhead_black.jpg");
	
	//thisClone.insertAfter(imageMap);

	
	
	thisClone.css("width",imageMap.css("width"));
	thisClone.css("height",imageMap.css("height"));	
	
	imageMap.parent().parent().css("width",imageMap.css("width"));
	imageMap.parent().parent().css("height",imageMap.css("height"));
	/*
	$("#imageMapArea area").each(function(i){
		$(this).mouseover(function(){
			var src = $("#imageMapHover").attr("src").split(".");
		 	src = src[0]+'_area'+i+'.png';
		 	$("#imageMapHover").attr("src", src);
		}).mouseout(function(){
			var src = $("#imageMapHover").attr("src").split("_area");
		 	src = src[0]+'.png';
		 	$("#imageMapHover").attr("src", src);
		});
	});
	*/
}


function content(){
	
	$("#imageMapArea area").each(function(i){
		$(this).mouseover(function(){
			$("#title").html(Headline);
			$("#dialog").html(Description);
		});
	});
	$(".borderdiv").each(function(i){
		$(this).mouseover(function(){
			$("#title").html(Headline);
			$("#dialog").html(Description);
		});
	});
}
var Headline;
var Description;

function getHeadlineAndDescription(){
	$("#imageMapArea area").each(function(i){
		$(this).mouseover(function(){
			Headline = $(this).attr("title");
			Description = $('#'+convertToAlias(Headline)).html();
			
			$(this).removeAttr("title");
			
		}).mouseout(function(){
			$(this).attr("title",Headline);	
		});
	});
	
	$(".borderdiv").each(function(i){
		$(this).mouseover(function(){
			Headline = $(this).attr("title");
			Description = $('#'+convertToAlias(Headline)).html();
			
			$(this).removeAttr("title");
			
		}).mouseout(function(){
			$(this).attr("title",Headline);	
		});
	});
}

function convertToAlias(text){
	return text.toLowerCase().split(" ").join("-");
}


function doIt(title){

	var area = $('map').find('[title='+title+']');
	area.mouseover();
	
	var position = area.attr('coords').split(',');
		
	var imageMapPosition = $("#imageMap").position();

	var top_pos = parseInt(position[1])+parseInt(imageMapPosition.top)-20;
	var left_pos = parseInt(position[0])+parseInt(imageMapPosition.left)-40;
	
	var my_tooltip = $("#tooltip");
	my_tooltip.css({left:left_pos, top:top_pos});
	setTimeout(function(){
		area.mouseout();
    },3000);
}

$(document).ready(function(){

	//$("#tooltip").css("opacity", 0.7);
 

	getHeadlineAndDescription();
	
	$("#imageMapArea area").each(function(i){
		$(this).tooltip();//.setIndex({text: (i+1)+""});
	});
	$(".borderdiv").each(function(i){
		$(this).tooltip();//.setIndex({text: (i+1)+""});
	});
	
	content();
	overlay();
	$("#imageMapHover").mouseover(function(){
		$(".borderdiv").show("slow");
	});
	$("#imageMap").mouseover(function(){
		$(".borderdiv").show("slow");
	});
		
	$('#magnify').magnify();
	setInterval( "slideSwitch()", 5000 );
	
	
	$('.bknav').imghover({suffix: '_hover'});
	
	$('.bknav').click(function(i){
		$(".borderdiv").hide("slow");
		var bigimage = $(this).attr("alt");
	
		$('.bknav').each(function(){
			$(this).removeClass('active');
		});

		$(this).addClass("active");
		
		$('.bknav').each(function(j){
		
			if($(this).hasClass('active') === false){
				var src = $(this).attr("src");
				src = src.split('_hover').join("");
				$(this).attr("src", src);
				$(this).imghover({suffix: '_hover'});
			}
		});
		
		$(this).imghover({suffix: ''});
		$('#magnify').attr("title", bigimage.split(".").join("_large."));
		
		$("#imageMap").attr("src",bigimage);
		$("#imageMapHover").attr("src",bigimage);
		$("#imageMap").css("position","absolute");
		$("#imageMap").css("top","541px");
		$("#imageMapHover").css("top","541px");	
		
		$("#imageMapHover").css("height",$("#imageMap").css("height"));	
			
		$('#magnify').magnify();
	
	});
	$('.active').imghover({suffix: ''});
	
});

function slideSwitch() {
    var $active = $('#slideshow IMG.active');

    if ( $active.length == 0 ) $active = $('#slideshow IMG:last');

    var $next =  $active.next().length ? $active.next()
        : $('#slideshow IMG:first');

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}






jQuery.fn.aPosition = function() {
	thisLeft = this.offset().left;
	thisTop = this.offset().top;
	thisParent = this.parent();
	parentLeft = thisParent.offset().left;
	parentTop = thisParent.offset().top;
	return {
		left: thisLeft-parentLeft,
		top: thisTop-parentTop
	}
}

