/* Image w/ description tooltip v2.0
* Created: April 23rd, 2010. This notice must stay intact for usage 
* Author: Dynamic Drive at http://www.dynamicdrive.com/
* Visit http://www.dynamicdrive.com/ for full source code
*/


var ddimgtooltip={

	tiparray:function(){
		var tooltips=[]
		//define each tooltip below: tooltip[inc]=['path_to_image', 'optional desc', optional_CSS_object]
		//For desc parameter, backslash any special characters inside your text such as apotrophes ('). Example: "I\'m the king of the world"
		//For CSS object, follow the syntax: {property1:"cssvalue1", property2:"cssvalue2", etc}

		tooltips[0]=["Book1Header.jpg", "Mark Daley is an ex-vigilante fed up with his life. His days as a sophomore at Woodvale High are spent helping his former commander, Lyle Banister, think up new ways to feed his ego. But all that changes when Mark meets the SG Crew, a group of five rambunctious juniors who teach him how to escape his past. There’s just one problem: Lyle doesn’t want to let Mark go, and he’ll do whatever it takes to hold his team together. Even if it means starting a schoolwide riot. Collects episode 1.", {background:"#FFFFFF", width:"200px"}]
		tooltips[1]=["Book2Header.jpg", "Buried fears and dark personal truths haunt the SG Crew as they collide with the most powerful force in the New York underworld. Equal parts gang and renegade church, the Incisors have killed or converted all who stood in their way, and now they have their sights set on the Prattcorn Valley. Only ex-vigilante Mark Daley can guide his friends through this crisis, but the chaos may be inside him, too...and there’s no telling what will happen when that energy breaks free. Collects episodes 2-3.", {background:"#FFFFFF", width:"200px"}]
		tooltips[2]=["Book3Header.jpg", "The teen angst hits the fan as Mark Daley slides to the brink of a nervous breakdown, pushed along by the troubled Tre Carmack. Weighed down by his vigilante past and feeling responsible for the awkwardness of his friends, Mark struggles to escape the idea that he may be the cause of all his own problems. But with a Third Great Hallway War brewing in the wings, Mark can’t run from his troubles forever. The time has come to decide who he wants to believe--but the wrong choice could doom Woodvale High and fracture the SG Crew forever. Collects episodes 4-6.", {background:"#FFFFFF", width:"200px"}]

		return tooltips //do not remove/change this line
	}(),

	tooltipoffsets: [20, -30], //additional x and y offset from mouse cursor for tooltips

	//***** NO NEED TO EDIT BEYOND HERE

	tipprefix: 'imgtip', //tooltip ID prefixes

	createtip:function($, tipid, tipinfo){
		if ($('#'+tipid).length==0){ //if this tooltip doesn't exist yet
			return $('<div id="' + tipid + '" class="ddimgtooltip" />').html(
				'<div style="text-align:center"><img src="' + tipinfo[0] + '" /></div>'
				+ ((tipinfo[1])? '<div style="text-align:left; margin-top:5px">'+tipinfo[1]+'</div>' : '')
				)
			.css(tipinfo[2] || {})
			.appendTo(document.body)
		}
		return null
	},

	positiontooltip:function($, $tooltip, e){
		var x=e.pageX+this.tooltipoffsets[0], y=e.pageY+this.tooltipoffsets[1]
		var tipw=$tooltip.outerWidth(), tiph=$tooltip.outerHeight(), 
		x=(x+tipw>$(document).scrollLeft()+$(window).width())? x-tipw-(ddimgtooltip.tooltipoffsets[0]*2) : x
		y=(y+tiph>$(document).scrollTop()+$(window).height())? $(document).scrollTop()+$(window).height()-tiph-10 : y
		$tooltip.css({left:x, top:y})
	},
	
	showbox:function($, $tooltip, e){
		$tooltip.show()
		this.positiontooltip($, $tooltip, e)
	},

	hidebox:function($, $tooltip){
		$tooltip.hide()
	},


	init:function(targetselector){
		jQuery(document).ready(function($){
			var tiparray=ddimgtooltip.tiparray
			var $targets=$(targetselector)
			if ($targets.length==0)
				return
			var tipids=[]
			$targets.each(function(){
				var $target=$(this)
				$target.attr('rel').match(/\[(\d+)\]/) //match d of attribute rel="imgtip[d]"
				var tipsuffix=parseInt(RegExp.$1) //get d as integer
				var tipid=this._tipid=ddimgtooltip.tipprefix+tipsuffix //construct this tip's ID value and remember it
				var $tooltip=ddimgtooltip.createtip($, tipid, tiparray[tipsuffix])
				$target.mouseenter(function(e){
					var $tooltip=$("#"+this._tipid)
					ddimgtooltip.showbox($, $tooltip, e)
				})
				$target.mouseleave(function(e){
					var $tooltip=$("#"+this._tipid)
					ddimgtooltip.hidebox($, $tooltip)
				})
				$target.mousemove(function(e){
					var $tooltip=$("#"+this._tipid)
					ddimgtooltip.positiontooltip($, $tooltip, e)
				})
				if ($tooltip){ //add mouseenter to this tooltip (only if event hasn't already been added)
					$tooltip.mouseenter(function(){
						ddimgtooltip.hidebox($, $(this))
					})
				}
			})

		}) //end dom ready
	}
}

//ddimgtooltip.init("targetElementSelector")
ddimgtooltip.init("*[rel^=imgtip]")
