/*
 * 	Easy Slider 1.7 - jQuery plugin
 *	written by Alen Grakalic	
 *	http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding
 *
 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */
 
/*
 *	markup example for $("#slider").easySlider();
 *	
 * 	<div id="slider">
 *		<ul>
 *			<li><img src="images/01.jpg" alt="" /></li>
 *			<li><img src="images/02.jpg" alt="" /></li>
 *			<li><img src="images/03.jpg" alt="" /></li>
 *			<li><img src="images/04.jpg" alt="" /></li>
 *			<li><img src="images/05.jpg" alt="" /></li>
 *		</ul>
 *	</div>
 *
 */

(function($) {

$(document).ready(function() {

	$("#slider").easySlider({
				controlsBefore:	'<p id="controls">',
				controlsAfter:	'</p>'
	});
	$('#controls').css({
		"overflow" : "visible"
	});
});
	$.fn.easySlider = function(options){
	  
		// default configuration properties
		var defaults = {			
			prevId: 		'prevBtn',
			prevText: 		'',
			nextId: 		'nextBtn',	
			nextText: 		'',
			controlsShow:	true,
			controlsBefore:	'',
			controlsAfter:	'',	
			controlsFade:	true,
			firstId: 		'firstBtn',
			firstText: 		'First',
			firstShow:		false,
			lastId: 		'lastBtn',	
			lastText: 		'Last',
			lastShow:		false,				
			vertical:		false,
			speed: 			800,
			auto:			false,
			pause:			2000,
			continuous:		false, 
			numeric: 		false,
			numericId: 		'controls'
		}; 
		
		var options = $.extend(defaults, options);  
				
		this.each(function() {  
			var obj = $(this); 				
			var s = $("li", obj).length;
			var w = $("li", obj).width(); 
			var h = $("li", obj).height(); 
			var clickable = true;
			obj.width(w); 
			obj.height(h); 
			obj.css("overflow","hidden");
			var ts = s-1;
			var t = 0;
			$("ul", obj).css('width',s*w);			
			
			if(options.continuous){
				$("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));
				$("ul", obj).append($("ul li:nth-child(2)", obj).clone());
				$("ul", obj).css('width',(s+1)*w);
			};				
			
			if(!options.vertical) $("li", obj).css('float','left');
								
			if(options.controlsShow){
				var html = options.controlsBefore;				
				if(options.numeric){
					html += '<ol id="'+ options.numericId +'"></ol>';
				} else {
					if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
					html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
					html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
					if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';				
				};
				
				html += options.controlsAfter;						
				$(obj).after(html);										
			};
			
			if(options.numeric){									
				for(var i=0;i<s;i++){						
					$(document.createElement("li"))
						.attr('id',options.numericId + (i+1))
						.html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>')
						.appendTo($("#"+ options.numericId))
						.click(function(){							
							animate($("a",$(this)).attr('rel'),true);
						}); 												
				};							
			} else {
				$("a","#"+options.nextId).click(function(){		
					animate("next",true);
				});
				$("a","#"+options.prevId).click(function(){		
					animate("prev",true);				
				});	
				$("a","#"+options.firstId).click(function(){		
					animate("first",true);
				});				
				$("a","#"+options.lastId).click(function(){		
					animate("last",true);				
				});				
			};
			
			function setCurrent(i){
				i = parseInt(i)+1;
				$("li", "#" + options.numericId).removeClass("current");
				$("li#" + options.numericId + i).addClass("current");
			};
			
			function adjust(){
				if(t>ts) t=0;		
				if(t<0) t=ts;	
				if(!options.vertical) {
					$("ul",obj).css("margin-left",(t*w*-1));
				} else {
					$("ul",obj).css("margin-left",(t*h*-1));
				}
				clickable = true;
				if(options.numeric) setCurrent(t);
			};
			
			function animate(dir,clicked){
				if (clickable){
					clickable = false;
					var ot = t;				
					switch(dir){
						case "next":
							t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1;						
							break; 
						case "prev":
							t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1;
							break; 
						case "first":
							t = 0;
							break; 
						case "last":
							t = ts;
							break; 
						default:
							t = dir;
							break; 
					};	
					var diff = Math.abs(ot-t);
					var speed = diff*options.speed;						
					if(!options.vertical) {
						p = (t*w*-1);
						$("ul",obj).animate(
							{ marginLeft: p }, 
							{ queue:false, duration:speed, complete:adjust }
						);				
					} else {
						p = (t*h*-1);
						$("ul",obj).animate(
							{ marginTop: p }, 
							{ queue:false, duration:speed, complete:adjust }
						);					
					};
					
					if(!options.continuous && options.controlsFade){					
						if(t==ts){
							$("a","#"+options.nextId).hide();
							$("a","#"+options.lastId).hide();
						} else {
							$("a","#"+options.nextId).show();
							$("a","#"+options.lastId).show();					
						};
						if(t==0){
							$("a","#"+options.prevId).hide();
							$("a","#"+options.firstId).hide();
						} else {
							$("a","#"+options.prevId).show();
							$("a","#"+options.firstId).show();
						};					
					};				
					
					if(clicked) clearTimeout(timeout);
					if(options.auto && dir=="next" && !clicked){;
						timeout = setTimeout(function(){
							animate("next",false);
						},diff*options.speed+options.pause);
					};
			
				};
				
			};
			// init
			var timeout;
			if(options.auto){;
				timeout = setTimeout(function(){
					animate("next",false);
				},options.pause);
			};		
			
			if(options.numeric) setCurrent(0);
		
			if(!options.continuous && options.controlsFade){					
				$("a","#"+options.prevId).hide();
				$("a","#"+options.firstId).hide();				
			};				
			
		});
	  
	};

;(function($){$.fn.fixPNG=function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage': 'none','filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod="+($(this).css('backgroundRepeat')=='no-repeat'?'crop' : 'scale')+",src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative')$(this).css('position','relative');});}});};var elem,opts,busy=false,imagePreloader=new Image,loadingTimer,loadingFrame=1,imageRegExp=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i;var ieQuirks=null,IE6=$.browser.msie&&$.browser.version.substr(0,1)==6&&!window.XMLHttpRequest,oldIE=IE6||($.browser.msie&&$.browser.version.substr(0,1)==7);$.fn.fancybox=function(o){var settings=$.extend({},$.fn.fancybox.defaults,o);var matchedGroup=this;function _initialize(){elem=this;opts=$.extend({},settings);_start();return false;};function _start(){if(busy)return;if($.isFunction(opts.callbackOnStart)){opts.callbackOnStart();}opts.itemArray=[];opts.itemCurrent=0;if(settings.itemArray.length>0){opts.itemArray=settings.itemArray;}else{var item={};if(!elem.rel||elem.rel==''){var item={href: elem.href,title: elem.title};if($(elem).children("img:first").length){item.orig=$(elem).children("img:first");}else{item.orig=$(elem);}if(item.title==''||typeof item.title=='undefined'){item.title=item.orig.attr('alt');}opts.itemArray.push(item);}else{var subGroup=$(matchedGroup).filter("a[rel="+elem.rel+"]");var item={};for(var i=0;i<subGroup.length;i++){item={href: subGroup[i].href,title: subGroup[i].title};if($(subGroup[i]).children("img:first").length){item.orig=$(subGroup[i]).children("img:first");}else{item.orig=$(subGroup[i]);}if(item.title==''||typeof item.title=='undefined'){item.title=item.orig.attr('alt');}opts.itemArray.push(item);}}}while(opts.itemArray[opts.itemCurrent].href!=elem.href){opts.itemCurrent++;}if(opts.overlayShow){if(IE6){$('embed,object,select').css('visibility','hidden');$("#fancy_overlay").css('height',$(document).height());}$("#fancy_overlay").css({'background-color'	: opts.overlayColor,'opacity' : opts.overlayOpacity}).show();}$(window).bind("resize.fb scroll.fb",$.fn.fancybox.scrollBox);_change_item();};function _change_item(){$("#fancy_right,#fancy_left,#fancy_close,#fancy_title").hide();var href=opts.itemArray[opts.itemCurrent].href;if(href.match("iframe")||elem.className.indexOf("iframe")>=0){$.fn.fancybox.showLoading();_set_content('<iframe id="fancy_frame" onload="jQuery.fn.fancybox.showIframe()" name="fancy_iframe'+Math.round(Math.random()*1000)+'" frameborder="0" hspace="0" src="'+href+'"></iframe>',opts.frameWidth,opts.frameHeight);}else if(href.match(/#/)){var target=window.location.href.split('#')[0];target=href.replace(target,'');target=target.substr(target.indexOf('#'));_set_content('<div id="fancy_div">'+$(target).html()+'</div>',opts.frameWidth,opts.frameHeight);}else if(href.match(imageRegExp)){imagePreloader=new Image;imagePreloader.src=href;if(imagePreloader.complete){_proceed_image();}else{$.fn.fancybox.showLoading();$(imagePreloader).unbind().bind('load',function(){$("#fancy_loading").hide();_proceed_image();});}}else{$.fn.fancybox.showLoading();$.get(href,function(data){$("#fancy_loading").hide();_set_content('<div id="fancy_ajax">'+data+'</div>',opts.frameWidth,opts.frameHeight);});}};function _proceed_image(){var width=imagePreloader.width;var height=imagePreloader.height;var horizontal_space=(opts.padding*2)+40;var vertical_space=(opts.padding*2)+60;var w=$.fn.fancybox.getViewport();if(opts.imageScale&&(width>(w[0]-horizontal_space)||height>(w[1]-vertical_space))){var ratio=Math.min(Math.min(w[0]-horizontal_space,width)/width,Math.min(w[1]-vertical_space,height)/height);width=Math.round(ratio*width);height=Math.round(ratio*height);}_set_content('<img alt="" id="fancy_img" src="'+imagePreloader.src+'"/>',width,height);};function _preload_neighbor_images(){if((opts.itemArray.length-1)>opts.itemCurrent){var href=opts.itemArray[opts.itemCurrent+1].href||false;if(href&&href.match(imageRegExp)){objNext=new Image();objNext.src=href;}}if(opts.itemCurrent>0){var href=opts.itemArray[opts.itemCurrent-1].href||false;if(href&&href.match(imageRegExp)){objNext=new Image();objNext.src=href;}}};function _set_content(value,width,height){busy=true;var pad=opts.padding;if(oldIE||ieQuirks){$("#fancy_content")[0].style.removeExpression("height");$("#fancy_content")[0].style.removeExpression("width");}if(pad>0){width+=pad*2;height+=pad*2;$("#fancy_content").css({'top' : pad+'px','right' : pad+'px','bottom'	: pad+'px','left' : pad+'px','width' : 'auto','height'	: 'auto'});if(oldIE||ieQuirks){$("#fancy_content")[0].style.setExpression('height','(this.parentNode.clientHeight-'+pad*2+')');$("#fancy_content")[0].style.setExpression('width','(this.parentNode.clientWidth-'+pad*2+')');}}else{$("#fancy_content").css({'top' : 0,'right' : 0,'bottom'	: 0,'left' : 0,'width' : '100%','height'	: '100%'});}if($("#fancy_outer").is(":visible")&&width==$("#fancy_outer").width()&&height==$("#fancy_outer").height()){$("#fancy_content").fadeOut('fast',function(){$("#fancy_content").empty().append($(value)).fadeIn("normal",function(){_finish();});});return;}var w=$.fn.fancybox.getViewport();var itemTop=(height+60)>w[1]?w[3]:(w[3]+Math.round((w[1]-height-60)*0.5));var itemLeft=(width+40)>w[0]?w[2]:(w[2]+Math.round((w[0]-width-40)*0.5));var itemOpts={'left': itemLeft,'top': itemTop,'width':	width+'px','height':	height+'px'};if($("#fancy_outer").is(":visible")){$("#fancy_content").fadeOut("normal",function(){$("#fancy_content").empty();$("#fancy_outer").animate(itemOpts,opts.zoomSpeedChange,opts.easingChange,function(){$("#fancy_content").append($(value)).fadeIn("normal",function(){_finish();});});});}else{if(opts.zoomSpeedIn>0&&opts.itemArray[opts.itemCurrent].orig!==undefined){$("#fancy_content").empty().append($(value));var orig_item=opts.itemArray[opts.itemCurrent].orig;var orig_pos=$.fn.fancybox.getPosition(orig_item);$("#fancy_outer").css({'left':(orig_pos.left-20-opts.padding)+'px','top':(orig_pos.top-20-opts.padding)+'px','width':	$(orig_item).width()+(opts.padding*2),'height':	$(orig_item).height()+(opts.padding*2)});if(opts.zoomOpacity){itemOpts.opacity='show';}$("#fancy_outer").animate(itemOpts,opts.zoomSpeedIn,opts.easingIn,function(){_finish();});}else{$("#fancy_content").hide().empty().append($(value)).show();$("#fancy_outer").css(itemOpts).fadeIn("normal",function(){_finish();});}}};function _set_navigation(){if(opts.itemCurrent!==0){$("#fancy_left,#fancy_left_ico").unbind().bind("click",function(e){e.stopPropagation();opts.itemCurrent--;_change_item();return false;});$("#fancy_left").show();}if(opts.itemCurrent!=(opts.itemArray.length-1)){$("#fancy_right,#fancy_right_ico").unbind().bind("click",function(e){e.stopPropagation();opts.itemCurrent++;_change_item();return false;});$("#fancy_right").show();}};function _finish(){if($.browser.msie){$("#fancy_content")[0].style.removeAttribute('filter');$("#fancy_outer")[0].style.removeAttribute('filter');}_set_navigation();_preload_neighbor_images();$(document).bind("keydown.fb",function(e){if(e.keyCode==27&&opts.enableEscapeButton){$.fn.fancybox.close();}else if(e.keyCode==37&&opts.itemCurrent!==0){$(document).unbind("keydown.fb");opts.itemCurrent--;_change_item();}else if(e.keyCode==39&&opts.itemCurrent!=(opts.itemArray.length-1)){$(document).unbind("keydown.fb");opts.itemCurrent++;_change_item();}});if(opts.hideOnContentClick){$("#fancy_content").click($.fn.fancybox.close);}if(opts.overlayShow&&opts.hideOnOverlayClick){$("#fancy_overlay").bind("click",$.fn.fancybox.close);}if(opts.showCloseButton){$("#fancy_close").bind("click",$.fn.fancybox.close).show();}if(typeof opts.itemArray[opts.itemCurrent].title!=='undefined'&&opts.itemArray[opts.itemCurrent].title.length>0){var pos=$("#fancy_outer").position();$('#fancy_title div').text(opts.itemArray[opts.itemCurrent].title).html();$('#fancy_title').css({'top'	: pos.top+$("#fancy_outer").outerHeight()-32,'left'	: pos.left+(($("#fancy_outer").outerWidth()*0.5)-($('#fancy_title').width()*0.5))}).show();}if(opts.overlayShow&&IE6){$('embed,object,select',$('#fancy_content')).css('visibility','visible');}if($.isFunction(opts.callbackOnShow)){opts.callbackOnShow(opts.itemArray[opts.itemCurrent]);}if($.browser.msie){$("#fancy_outer")[0].style.removeAttribute('filter');$("#fancy_content")[0].style.removeAttribute('filter');}busy=false;};return this.unbind('click.fb').bind('click.fb',_initialize);};$.fn.fancybox.scrollBox=function(){var w=$.fn.fancybox.getViewport();if(opts.centerOnScroll&&$("#fancy_outer").is(':visible')){var ow=$("#fancy_outer").outerWidth();var oh=$("#fancy_outer").outerHeight();var pos={'top'	:(oh>w[1]?w[3]: w[3]+Math.round((w[1]-oh)*0.5)),'left'	:(ow>w[0]?w[2]: w[2]+Math.round((w[0]-ow)*0.5))};$("#fancy_outer").css(pos);$('#fancy_title').css({'top'	: pos.top+oh-32,'left'	: pos.left+((ow*0.5)-($('#fancy_title').width()*0.5))});}if(IE6&&$("#fancy_overlay").is(':visible')){$("#fancy_overlay").css({'height' : $(document).height()});}if($("#fancy_loading").is(':visible')){$("#fancy_loading").css({'left':((w[0]-40)*0.5+w[2]),'top':((w[1]-40)*0.5+w[3])});}};$.fn.fancybox.getNumeric=function(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};$.fn.fancybox.getPosition=function(el){var pos=el.offset();pos.top+=$.fn.fancybox.getNumeric(el,'paddingTop');pos.top+=$.fn.fancybox.getNumeric(el,'borderTopWidth');pos.left+=$.fn.fancybox.getNumeric(el,'paddingLeft');pos.left+=$.fn.fancybox.getNumeric(el,'borderLeftWidth');return pos;};$.fn.fancybox.showIframe=function(){$("#fancy_loading").hide();$("#fancy_frame").show();};$.fn.fancybox.getViewport=function(){return[$(window).width(),$(window).height(),$(document).scrollLeft(),$(document).scrollTop()];};$.fn.fancybox.animateLoading=function(){if(!$("#fancy_loading").is(':visible')){clearInterval(loadingTimer);return;}$("#fancy_loading>div").css('top',(loadingFrame*-40)+'px');loadingFrame=(loadingFrame+1)%12;};$.fn.fancybox.showLoading=function(){clearInterval(loadingTimer);var w=$.fn.fancybox.getViewport();$("#fancy_loading").css({'left':((w[0]-40)*0.5+w[2]),'top':((w[1]-40)*0.5+w[3])}).show();$("#fancy_loading").bind('click',$.fn.fancybox.close);loadingTimer=setInterval($.fn.fancybox.animateLoading,66);};$.fn.fancybox.close=function(){busy=true;$(imagePreloader).unbind();$(document).unbind("keydown.fb");$(window).unbind("resize.fb scroll.fb");$("#fancy_overlay,#fancy_content,#fancy_close").unbind();$("#fancy_close,#fancy_loading,#fancy_left,#fancy_right,#fancy_title").hide();__cleanup=function(){if($("#fancy_overlay").is(':visible')){$("#fancy_overlay").fadeOut("fast");}$("#fancy_content").empty();if(opts.centerOnScroll){$(window).unbind("resize.fb scroll.fb");}if(IE6){$('embed,object,select').css('visibility','visible');}if($.isFunction(opts.callbackOnClose)){opts.callbackOnClose();}busy=false;};if($("#fancy_outer").is(":visible")!==false){if(opts.zoomSpeedOut>0&&opts.itemArray[opts.itemCurrent].orig!==undefined){var orig_item=opts.itemArray[opts.itemCurrent].orig;var orig_pos=$.fn.fancybox.getPosition(orig_item);var itemOpts={'left':(orig_pos.left-20-opts.padding)+'px','top':(orig_pos.top-20-opts.padding)+'px','width':	$(orig_item).width()+(opts.padding*2),'height':	$(orig_item).height()+(opts.padding*2)};if(opts.zoomOpacity){itemOpts.opacity='hide';}$("#fancy_outer").stop(false,true).animate(itemOpts,opts.zoomSpeedOut,opts.easingOut,__cleanup);}else{$("#fancy_outer").stop(false,true).fadeOut('fast',__cleanup);}}else{__cleanup();}return false;};$.fn.fancybox.build=function(){var html='';html+='<div id="fancy_overlay"></div>';html+='<div id="fancy_loading"><div></div></div>';html+='<div id="fancy_outer">';html+='<div id="fancy_inner">';html+='<div id="fancy_close"></div>';html+='<div id="fancy_bg"><div class="fancy_bg" id="fancy_bg_n"></div><div class="fancy_bg" id="fancy_bg_ne"></div><div class="fancy_bg" id="fancy_bg_e"></div><div class="fancy_bg" id="fancy_bg_se"></div><div class="fancy_bg" id="fancy_bg_s"></div><div class="fancy_bg" id="fancy_bg_sw"></div><div class="fancy_bg" id="fancy_bg_w"></div><div class="fancy_bg" id="fancy_bg_nw"></div></div>';html+='<a href="javascript:;" id="fancy_left"><span class="fancy_ico" id="fancy_left_ico"></span></a><a href="javascript:;" id="fancy_right"><span class="fancy_ico" id="fancy_right_ico"></span></a>';html+='<div id="fancy_content"></div>';html+='</div>';html+='</div>';html+='<div id="fancy_title"></div>';$(html).appendTo("body");$('<table cellspacing="0" cellpadding="0" border="0"><tr><td class="fancy_title" id="fancy_title_left"></td><td class="fancy_title" id="fancy_title_main"><div></div></td><td class="fancy_title" id="fancy_title_right"></td></tr></table>').appendTo('#fancy_title');if($.browser.msie){$(".fancy_bg").fixPNG();}if(IE6){$("div#fancy_overlay").css("position","absolute");$("#fancy_loading div,#fancy_close,.fancy_title,.fancy_ico").fixPNG();$("#fancy_inner").prepend('<iframe id="fancy_bigIframe" src="javascript:false;" scrolling="no" frameborder="0"></iframe>');var frameDoc=$('#fancy_bigIframe')[0].contentWindow.document;frameDoc.open();frameDoc.close();}};$.fn.fancybox.defaults={padding :	10,imageScale :	true,zoomOpacity :	true,zoomSpeedIn :	0,zoomSpeedOut :	0,zoomSpeedChange :	300,easingIn :	'swing',easingOut :	'swing',easingChange :	'swing',frameWidth :	560,frameHeight :	340,overlayShow :	true,overlayOpacity :	0.3,overlayColor :	'#666',enableEscapeButton	:	true,showCloseButton :	true,hideOnOverlayClick	:	true,hideOnContentClick	:	true,centerOnScroll :	true,itemArray :[],callbackOnStart :	null,callbackOnShow :	null,callbackOnClose :	null};$(document).ready(function(){ieQuirks=$.browser.msie&&!$.boxModel;if($("#fancy_outer").length<1){$.fn.fancybox.build();}});})(jQuery);
})(jQuery);

 /*
 * TipTip
 * Copyright 2010 Drew Wilson
 * www.drewwilson.com
 * code.drewwilson.com/entry/tiptip-jquery-plugin
 *
 * Version 1.2   -   Updated: Jan. 13, 2010
 *
 * This Plug-In will create a custom tooltip to replace the default
 * browser tooltip. It is extremely lightweight and very smart in
 * that it detects the edges of the browser window and will make sure
 * the tooltip stays within the current window size. As a result the
 * tooltip will adjust itself to be displayed above, below, to the left 
 * or to the right depending on what is necessary to stay within the
 * browser window. It is completely customizable as well via CSS.
 *
 * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

(function($) {

	$(document).ready(function() {	
		$(".tooltip").tipTip();
	});
	
	$.fn.tipTip = function(options) {
		var defaults = { 
			maxWidth: "200px",
			edgeOffset: 3,
			delay: 400,
			fadeIn: 200,
			fadeOut: 200,
		  	enter: function(){},
		  	exit: function(){}
	  	};
	 	var opts = $.extend(defaults, options);
	 	
	 	// Setup tip tip elements and render them to the DOM
	 	if($("#tiptip_holder").length <= 0){
	 		var tiptip_holder = $('<div id="tiptip_holder" style="max-width:'+ opts.maxWidth +';"></div>');
			var tiptip_content = $('<div id="tiptip_content"></div>');
			var tiptip_arrow = $('<div id="tiptip_arrow"></div>');
			$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
		} else {
			var tiptip_holder = $("#tiptip_holder");
			var tiptip_content = $("#tiptip_content");
			var tiptip_arrow = $("#tiptip_arrow");
		}
		
		return this.each(function(){
			var org_elem = $(this);
			var org_title = org_elem.attr("title");
			if(org_title != ""){
				org_elem.removeAttr("title"); //remove original Title attribute
				var timeout = false;
				org_elem.hover(function(){
					opts.enter.call(this);
					tiptip_content.html(org_title);
					tiptip_holder.hide().removeAttr("class").css("margin","0");
					tiptip_arrow.removeAttr("style");
					
					var top = parseInt(org_elem.offset()['top']);
					var left = parseInt(org_elem.offset()['left']);
					var org_width = parseInt(org_elem.outerWidth());
					var org_height = parseInt(org_elem.outerHeight());
					var tip_w = tiptip_holder.outerWidth();
					var tip_h = tiptip_holder.outerHeight();
					var w_compare = Math.round((org_width - tip_w) / 2);
					var h_compare = Math.round((org_height - tip_h) / 2);
					var marg_left = Math.round(left + w_compare);
					var marg_top = Math.round(top + org_height + opts.edgeOffset);
					var t_class = "";
					var arrow_top = "";
					var arrow_left = Math.round(tip_w - 12) / 2;
					
					if(w_compare < 0){
						if((w_compare + left) < parseInt($(window).scrollLeft())){
							t_class = "_right";
							arrow_top = Math.round(tip_h - 13) / 2;
							arrow_left = -12;
							marg_left = Math.round(left + org_width + opts.edgeOffset);
							marg_top = Math.round(top + h_compare);
						} else if((tip_w + left) > parseInt($(window).width())){
							t_class = "_left";
							arrow_top = Math.round(tip_h - 13) / 2;
							arrow_left =  Math.round(tip_w);
							marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
							marg_top = Math.round(top + h_compare);
						}
					}
					if((top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop())){
						t_class = t_class+"_top";
						arrow_top = tip_h;
						marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
					} else if(((top + org_height) - (opts.edgeOffset + tip_h)) < 0 || t_class == ""){
						t_class = t_class+"_bottom";
						arrow_top = -12;						
						marg_top = Math.round(top + org_height + opts.edgeOffset);
					}
					if(t_class == "_right_top" || t_class == "_left_top"){
						marg_top = marg_top + 5;
					} else if(t_class == "_right_bottom" || t_class == "_left_bottom"){		
						marg_top = marg_top - 5;
					}
					if(t_class == "_left_top" || t_class == "_left_bottom"){	
						marg_left = marg_left + 5;
					}
					tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"});
					tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class);
					
					if (timeout){ clearTimeout(timeout); }
					timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay);			
				}, function(){
					opts.exit.call(this);
					if (timeout){ clearTimeout(timeout); }
					tiptip_holder.fadeOut(opts.fadeOut);
				});
			}				
		});
	}
})(jQuery);  

 /*
 * TipTip
 * Copyright 2010 Drew Wilson
 * www.drewwilson.com
 * code.drewwilson.com/entry/tiptip-jquery-plugin
 *
 * Version 1.2   -   Updated: Jan. 13, 2010
 *
 * This Plug-In will create a custom tooltip to replace the default
 * browser tooltip. It is extremely lightweight and very smart in
 * that it detects the edges of the browser window and will make sure
 * the tooltip stays within the current window size. As a result the
 * tooltip will adjust itself to be displayed above, below, to the left 
 * or to the right depending on what is necessary to stay within the
 * browser window. It is completely customizable as well via CSS.
 *
 * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
 
(function($){$.fn.tipTip=function(options){var defaults={maxWidth:"200px",edgeOffset:3,delay:400,fadeIn:200,fadeOut:200,enter:function(){},exit:function(){}};var opts=$.extend(defaults,options);if($("#tiptip_holder").length<=0){var tiptip_holder=$('<div id="tiptip_holder" style="max-width:'+opts.maxWidth+';"></div>');var tiptip_content=$('<div id="tiptip_content"></div>');var tiptip_arrow=$('<div id="tiptip_arrow"></div>');$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));}else{var tiptip_holder=$("#tiptip_holder");var tiptip_content=$("#tiptip_content");var tiptip_arrow=$("#tiptip_arrow");}
return this.each(function(){var org_elem=$(this);var org_title=org_elem.attr("title");if(org_title!=""){org_elem.removeAttr("title");var timeout=false;org_elem.hover(function(){opts.enter.call(this);tiptip_content.html(org_title);tiptip_holder.hide().removeAttr("class").css("margin","0");tiptip_arrow.removeAttr("style");var top=parseInt(org_elem.offset()['top']);var left=parseInt(org_elem.offset()['left']);var org_width=parseInt(org_elem.outerWidth());var org_height=parseInt(org_elem.outerHeight());var tip_w=tiptip_holder.outerWidth();var tip_h=tiptip_holder.outerHeight();var w_compare=Math.round((org_width-tip_w)/2);var h_compare=Math.round((org_height-tip_h)/2);var marg_left=Math.round(left+w_compare);var marg_top=Math.round(top+org_height+opts.edgeOffset);var t_class="";var arrow_top="";var arrow_left=Math.round(tip_w-12)/2;if(w_compare<0){if((w_compare+left)<parseInt($(window).scrollLeft())){t_class="_right";arrow_top=Math.round(tip_h-13)/2;arrow_left=-12;marg_left=Math.round(left+org_width+opts.edgeOffset);marg_top=Math.round(top+h_compare);}else if((tip_w+left)>parseInt($(window).width())){t_class="_left";arrow_top=Math.round(tip_h-13)/2;arrow_left=Math.round(tip_w);marg_left=Math.round(left-(tip_w+opts.edgeOffset+5));marg_top=Math.round(top+h_compare);}}
if((top+org_height+opts.edgeOffset+tip_h+8)>parseInt($(window).height()+$(window).scrollTop())){t_class=t_class+"_top";arrow_top=tip_h;marg_top=Math.round(top-(tip_h+5+opts.edgeOffset));}else if(((top+org_height)-(opts.edgeOffset+tip_h))<0||t_class==""){t_class=t_class+"_bottom";arrow_top=-12;marg_top=Math.round(top+org_height+opts.edgeOffset);}
if(t_class=="_right_top"||t_class=="_left_top"){marg_top=marg_top+5;}else if(t_class=="_right_bottom"||t_class=="_left_bottom"){marg_top=marg_top-5;}
if(t_class=="_left_top"||t_class=="_left_bottom"){marg_left=marg_left+5;}
tiptip_arrow.css({"margin-left":arrow_left+"px","margin-top":arrow_top+"px"});tiptip_holder.css({"margin-left":marg_left+"px","margin-top":marg_top+"px"}).attr("class","tip"+t_class);if(timeout){clearTimeout(timeout);}
timeout=setTimeout(function(){tiptip_holder.stop(true,true).fadeIn(opts.fadeIn);},opts.delay);},function(){opts.exit.call(this);if(timeout){clearTimeout(timeout);}tiptip_holder.fadeOut(opts.fadeOut);});}});}})(jQuery);	

