/* 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]=["images/office1.jpg", "</br>Our office at 5001 Brentwood Stair Rd", {background:"#FFFFFF", width:"400px", color:"black", border:"5px ridge darkblue"}]
                tooltips[1]=["duck2.gif", "Here is a duck on a light blue background.", {background:"#DDECFF", width:"200px"}]
                tooltips[2]=["../dynamicindex14/winter.jpg"]
                tooltips[3]=["../dynamicindex17/bridge.gif", "Bridge to somewhere.", {background:"white", font:"bold 12px Arial"}]

                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]")
